Zum Inhalt springen →

Kategorie: Allgemein

Frohe Weihnachten!

Jeden Tag einen Post und dann war es plötzlich still hier. Was soll ich sagen, es ist log4shell / log4j passiert. Das war/ist ja in aller Munde, deswegen werde ich auch hier nicht weiter technisch eingehen. Ich zitiere jedoch mal eine Schlagzeile: „Das Internet brennt„. Und nicht nur das Internet, auch bei mir im Job ging es deswegen heiß her. Und so wurden die Tage vor meinem Urlaub echt stressig, die anderen Aufgaben haben ja auch nicht pausiert. Dafür habe ich eine Menge gelernt, kann jetzt auch den Angriff nachstellen und werde wohl mal mehr meine Fühler Richtung DevSecOps ausstrecken.
Meine Advent of Code Teilnahme hat auch darunter gelitten. Auch weil an ein paar Tagen Pathfinding, Recursion und 3D Vektor / Cubicles Berechnungen erforderlich waren. Dieses Wissen mir anzueignen konnte ich jedoch nicht, denn mein Kopf war mit dem oben genannten Thema ausgelastet. Und so habe ich an ein paar Tagen keine oder nur silberne Sterne. Heute zum Beispiel habe ich Teil 1 sogar nur „auf Papier“ gelöst, aber dazu mehr im dazugehörigen Post. Diese werde ich vermutlich jetzt nicht mehr in der „richtigen“ Reihenfolge veröffentlichen.
Und #Projekt55? Das ist komplett unter die Räder gekommen. Ich habe nach dem letzten Training weder die Zeit noch die Lust gehabt in den Kimono zu steigen. Und so hatte ich beschlossen, als das oben genannte Thema aufgetaucht ist, bis Januar zu pausieren um mir auch mental Freiraum zu schaffen und nicht immer ein schlechtes Gewissen zu haben.

Auch wenn ich gerade nicht so in Stimmung für Weihnachten bin, ich freue mich auf diese kommenden ruhigen Tage.

Euch wünsche ich ein frohes Fest und geniest die Ruhe in den kommenden Tagen.

Schreibe einen Kommentar

Advent of Code 2021 – Tag 8

„Wie Tag 8?“ werdet ihr euch fragen. Wir haben doch heute den 10. Dezember. Ja ich hänge mit den Blogposts hinterher. Die Woche hat es dann doch geschafft mich zeittechnisch in die Knie zu zwingen. Dazu kamen noch die Rätsel von Tag 8 und 9 die mich gefordert haben so dass ich keine Zeit mehr für die Posts hatte. Heute (Tag 10) war das Rätsel nicht allzu schwer. Während die Pasta auf dem Herd kocht, konnte ich das Rätsel lösen und jetzt noch zusätzlich den Post.

Tag 8 ging es um 7 Segment Anzeigen, die Geisel meiner Elektroniker Ausbildung. Sowohl als Schaltkreis wie auch als Ausgabe für unsere Z80 Programme. Man waren das Zeiten.
Teil 1 ging. Da ging es nur aus den Daten die Zahlen 1, 4, 7 und 8 herauszufinden. Das ist einfach, denn diese Zahlen haben eine eindeutige Anzahl angeschalteter Segmente.
Teil 2 war dann doch ein wenig anspruchsvoller. Da ist echt Zeit draufgegangen. Die Lösung kam mir dann erst als ich auf Papier rumgespielt habe.

Jetzt folgt ein Spoiler für die Lösung. Wer es selbst lösen will, der sollte jetzt aufhören zu lesen, alle Anderen einfach weiterscrollen.


























Und so sehen meine Gedanken aus. Nachdem ich so vieles versucht habe, bin ich auf die Idee gekommen einfach festgelegte Zahlen wegzulöschen und damit immer wieder Segmente zu finden die im „Rest“ einen einmalige Anzahl haben.

Und das immer wieder (also nur zwei Mal) bis die Decodier-Tabelle fertig war. Das war fordernd und hat echt Spaß gemacht.

Link zum Tagesrätsel
Mein Leaderboard ist hier Join-Code: 1204843-3e53d471
Meine Lösungen auf Github

Schreibe einen Kommentar

Advent of Code 2021 – Tag 7

Heute bin ich spät dran mit dem Bloggen. Das Rätsel habe ich wie gestern am Morgen erledigt. Ich bin selbst erstaunt wie es diese Jahr läuft und das ich die kurze Zeit morgens finde mich diesem Spaß zu widmen. Auch wenn ich am Anfang geschrieben habe, dass ich nicht regelmäßig teilnehmen kann. So ergeht es ja vielen. Wenn man die Statistiken anschaut, dann sind Goldstern Teilnehmer von 156.597 an Tag 1 auf 51.525 gefallen.
Das heutige Rätsel war einfacher, auch das kann man gut sehen. Ich habe meine erste Lösung nach 1:52 Stunden eingereicht und bin auf Platz 16539 gelandet. An Tag 5 war ich mit 3:12 Stunden auf Platz 13696. Und auch bei Teil 2. Heute 2:39 für Platz 18317 am Tag 5 4:18 für Platz 14409.
Trotzdem hat das Rätsel viel Spaß gemacht. Und auch wenn es eine echte Mathematische Funktion zur Lösung gibt (Weiszfeld Algorithmus), ich habe mal wieder in Python meine Listen prozessiert. Deswegen hat Teil 2 auch ein wenig gedauert, aber nicht ewig. Ich finde das Bild hier echt passend.

Link zum Tagesrätsel
Mein Leaderboard ist hier Join-Code: 1204843-3e53d471
Meine Lösungen auf Github

Schreibe einen Kommentar

Advent of Code 2021 – Tag 6

Nikolausi! Nein Osterhasi! Ok, der alte Gerhard Polt Sketch (wie es damals noch hieß) passt eher zu dem anderen Fest, aber man kann eh nicht davon genug bekommen. Ich schweife ab, also nochmal.

Zum Nikolausi bekommt man ja eigentlich etwas. Bei mir war es Ärger und Stress und ich hatte es eigentlich schon abgeschrieben einen Post zu schreiben. Das Rätsel hatte ich schon vor der Morgengassirunde gelöst und hatte eigentlich einen super Start in den Tag.
Und während meine Frau gerade bei „Wer wird Millionär“ mit rätselt, nutze ich die Zeit und schreiben doch diesen Post.

Das heutige AoC Rätsel ist wieder ein Memoryfresser. Ein typisches Rätsel, dass im Teil 1 einfach zu lösen ist, meistens durch eine Schleife und anwachsende Liste. Aber in Teil 2 werden die Parameter so erhöht, dass jeder normale PC die Flügel von sich streckt. Und ja, beim Hinweis „maybe exponentially quickly?“ hätten die Alarmglöcken läuten müssen. Und so ist meine Aussage von gerade das ich das Rätsel „vor“ der Morgengassirunde gelöst habe, nicht ganz richtig. Denn Teil 1 schon, und in der halben Stunde, in der ich unterwegs war, hat mein Laptop alles gegeben auch Teil 2 zu lösen, jedoch ohne Erfolg. Aber so eine Gassirunde ist das Beste um neue Gedanken zu fassen. Und so war es schnell umgeschrieben um zur Lösung zu kommen. Das habe ich auch dem AoC Training vom letzten Jahr zu verdanken.

Und warum erinnert mich dieses Laternenfische Wachstum nur an die Corona Situation aktuell? Und warum fallen wir immer auf exponentielle Funktionen rein?

Link zum Tagesrätsel
Mein Leaderboard ist hier Join-Code: 1204843-3e53d471
Meine Lösungen auf Github

Schreibe einen Kommentar

Advent of Code 2021 – Tag 5

Sonntag. Da hat man in der Regel ein wenig mehr Zeit und mich hat es früh aus dem Bett geholt. Also konnte ich, solange noch alle schlafen, schön mit dem Tagesrätsel anfangen. Koordinatensystem und Lienen auf diesem. Eine sehr nette Aufgabe. Die Lösung ist mir auch nicht allzu schwer gefallen. Tricky dabei war, dass Anfang und Ende der Linien in alle Richtungen möglich war. Interessant auch zu sehen wir ein Competitive Programmer auf den gleichen Fehler reingefallen ist und für die Lösungsfindung ähnlich lange gebraucht hat. Wobei das wohl das Einzige ist, bei dem wir die gleiche Geschwindigkeit haben. Interessant ist auch seine kleine Batchdatei mit der er das Inputfile automatisch downloaded.
Teil 2 mit Diagonalen Linien war ne Idee kniffliger. Wobei es viel hilft, dass es nur 45° Diagonalen sind. Ich habe jedoch in der Schnelligkeit den Code dupliziert anstatt mit einem Schalten zu arbeiten. Vielleicht mache ich es die Tage noch sauber.

Eine Sache wollte ich euch noch zeigen. Während ich die Rätsel nur löse, gibt es viele, die sich noch den Spaß machen diese zu visualisieren. Der Subreddit zum Advent of Code ist immer einen Besuch wert. Ich hänge mal ans Ende ein paar davon an.

Link zum Tagesrätsel
Mein Leaderboard ist hier Join-Code: 1204843-3e53d471
Meine Lösungen auf Github

Tag 3

Tag 4

Tag 5

Schreibe einen Kommentar

Advent of Code 2021 – Tag 4

Was für ein Rätsel. Es geht um Bingo. Teil 1 hat mich gefordert, jedoch habe ich eine Lösung gefunden. Aber Teil 2 hat mich zur Verzweiflung gebracht. Sogar bei meiner Mittags- und Abendgassirunde habe ich kein Podcast gehört weil sich meine Gedanken nur um das Rätsel gedreht haben. Ich habe den Code mehrfach umstrukturiert und Zwischenlisten erstellt. Ich habe mit Markern gearbeitet und auch knallhart Listen (eine Liste entspricht einer Bingokarte) gelöscht. Alles hat nicht funktioniert. Ein Problem ist, dass das Rätsel manuell zu checken schlichtweg nicht möglich ist. Oder besser gesagt, ich wollte mir die Arbeit nicht machen.

Und dann ist es mir aufgefallen. Nach zig Print Befehlen zum debuggen habe ich gesehen, dass ich nur 4 Spalten der Bingokarten checke. Das hatte in Teil 1 keine Relevanz, denn da ist eine Reihe auf der Gewinnerkarte auch mit nur 4 Zahlen für die Lösung verantwortlich. Und im Testdatensatz ist es die 3. Spalte, also auch irrelevant. Da muss ich immer daran denken wie Developer sich über Tester amüsieren weil sie „unrealistische“ Situationen testen.

Über meine Lösung bin ich mal wieder zufrieden. Ich habe einen netten Kniff gefunden anstatt die Listen ständig miteinander zu vergleichen. Keine Spoiler hier im Beitrag.

Und die Statistik? Na wie es aussieht habe nicht nur ich Schwierigkeiten.
Gestern haben 76.712 beide Rätsel gelöst, heute „nur“ 38.389. Und auch diejenigen die nur Teil 1 gemacht haben sind von 23.652 auf 3.857 gefallen.
Und ich? Tja, Teil 1 habe ich nach knapp über 6 Stunden eingereicht. Lösung für Teil zwei erst nach fast 14 Stunden. Und nein, dazwischen habe ich auch andere Dinge gemacht. Wie z.B. Boostern.

Part 1 Part 2
Day Time Rank Score Day Time Rank Score
4 06:19:55 22101 0 2 13:44:44 36289 0

Link zum Tagesrätsel
Mein Leaderboard ist hier Join-Code: 1204843-3e53d471
Meine Lösungen auf Github

Schreibe einen Kommentar

Advent of Code 2021 – Tag 3

Heute wurde das Rätsel angezogen. Mal wieder ging es in die Welt der Binären Zahlen. Ich kann mich noch gut an letztes Jahr erinnern. Als ich Monate später ein Video mit der Kotlin Lösung angeschaut habe, wurde mir gezeigt, wie man mit den Binärwerten einfach rechnen kann. Und ich habe heute das Gefühl, dass es auch der Fall ist und ich sehe es nicht. Deswegen ist meine Lösung wieder mit Schleifen und IF Abfragen und einer der Stärken von Python List Comprehension. Ich bin trotzdem ganz glücklich mit der Lösung.

Es gibt auch einen Seite die es sich zu besuchen lohnt. Ich habe gestern erwähnt, dass die Beteiligung nachlässt. Hier kann man schön sehen wie der aktuelle Stand ist.

https://adventofcode.com/2021/stats

Bei mir sieht es auch besser aus. Bin wieder um die 12 Stunden zu spät trotzdem bei Teil 2 schon unter 50.000 Teilnehmer. Kann aber auch daran liegen, dass es Teil 2 auch inne hat.

Part 1 Part 2
Day Time Rank Score Day Time Rank Score
3 11:21:19 67434 0 2 12:07:23 47017 0

Link zum Tagesrätsel
Mein Leaderboard ist hier Join-Code: 1204843-3e53d471
Meine Lösungen auf Github

Schreibe einen Kommentar

Advent of Code 2021 – Tag 2

Siehe da, ich habe doch noch ein wenig Zeit gefunden heute, am entsprechenden Tag, die Aufgabe zu lösen. Wobei die ersten Tage ja immer recht einfach sind. Tag 1 war nur ein Addieren. Das Index verschieben von Teil 2 ist mit Python kein Hexenwerk.

Tag 2 ist an sich genau das Selbe mit dem Unterschied, dass man jetzt String und Integer verarbeiten muss. Aber auch hier nur Iterieren und per IF addieren oder subtrahieren.

Interessant ist, dass ich gestern beim Einreichen zeitlich später dran war aber eine höhere Platzierung erreicht habe. Das ändert sich meistens gegen Ende.

Part 1 Part 2
Day Time Rank Score Day Time Rank Score
2 11:29:36 73169 0 2 12:01:02 70963 0
1 13:01:15 72242 0 1 13:17:29 63377 0

Link zum Tagesrätsel
Mein Leaderboard ist hier Join-Code: 1204843-3e53d471
Meine Lösungen auf Github

Ein Kommentar

Advent of Code 2021 – Tag 1

Erster Dezember, es geht wieder los. Heute öffne ich nicht nur täglich ein Türchen im Adventskalender sondern auch immer ein Rätsel im Advent of Code. Letztes Jahr bin ich das erste Mal auf diese Webseite gestoßen.

https://adventofcode.com/

Erik Wastl betribt seit Jahre diese kleine Challenge bei der man jeden Tag im Dezember ein kleines Rätsel bekommt, dass man mit einem kleinen Programm in der Programmiersprache seiner Wahl lösen kann. Ich habe es das letzte Jahr mit Python und dieses Jahr werde ich es auch wieder damit lösen. Eigentlich wollte ich meine Rust und Kotlin Kenntnisse damit erweitern, jedoch waren die letzten Monate so unentspannt, dass ich bei beiden Sprachen nicht flüssig genug bin.

Meine Lösungen lade ich wie beim letzten Mal auf Github. Da findet ihr auch meine Lösungen des letzten Jahr.

https://github.com/MassimoCastell/AdventofCode

Und wer sich berufen fühlt mitzumachen kann auch gerne meinem privaten Leaderboard beitreten. Und nein, ich bin nicht so ein Mensch der die Nacht durchmacht um sofort das Rätsel zu lösen.

Join-Code: 1204843-3e53d471

https://adventofcode.com/2021/leaderboard/private/view/1204843

Schreibe einen Kommentar

Elon Musk und Powerpoint

Ich fragte mich schon den ganzen Tag, warum auf Twitter alle gegen Powerpoint gehen. Jetzt sehe ich diesen Artikel von T3N und wundere mich nicht mehr. Leider wird wieder zu viel zusammengeworfen.

Über das Tool Powerpoint kann man gerne streiten. Das sind ja persönliche Vorlieben.

Über das Präsentieren bin ich anderer Meinung. Einfach mal Netflix anwerfen und sich ne Folge Patriot Act mit Hasan Minhaj geben. Das ist präsentieren. So vermittelt man auch Daten. Und das darf nicht verloren gehen. Zustimmen muss ich jedoch, dass die Powerpoints, die in den Firmen kursieren weit weg von wegen genannten sind. Das ist weil keine Profis am Werk sind, sondern irgendwelche Spezialisten für andere Dinge die aber zur Präsentation gezwungen werden. Und hier ist der Knackpunkt. In unserer Gesellschaft wird man nicht mehr als Spezialist befördert sondern der, der sich gut präsentieren kann.
Und das ist das Problem mit dem nächsten Punkt von Musk. CEOs heutzutage haben keine Ahnung von ihrem Produkt. Weil sie nicht als Spezialist an den Posten gekommen sind (wie Musk) sondern durch gute Präsentation. Ich sage nicht damit, das alle CEOs schlecht sind. Jedoch stehen die eher unter dem Druck weiter gut zu präsentieren und damit z.B. Aktionäre glücklich zu machen, anstatt die Produkte weiter zu bringen.
Das ist auch der Grund, warum Start-ups den großen immer wieder dass Leben schwer machen. Da wird sich um das Produkt gekümmert. Das schiebt der CEO all-nighter um den nächsten Meilenstein zu erreichen. Irgendwann bleibt das auf der Strecke. Leider. Ich hätte gern gesehen wie der CEO von VW „runter“ geht und mithilft die Dieselmotoren zu verbessern um auf die Schummelsoftware zu verzichten. Und sagt nicht, dass es nicht möglich ist. Elon hilft bei Rocket Science bei SpaceX.

Es ist eine Zwickmühle aus der man schwer ausbrechen kann. Ich hoffe dass es trotzdem irgendwann passiert. Und solche Aussagen wie der von Musk helfen dabei.

Schreibe einen Kommentar