Eine neue Seite im Wiki, diesmal geht es um Keimzeit, eine meiner Lieblingsbands, die aber kaum jemand kennt.
Der privateste Blog von Philipp.
Eine neue Seite im Wiki, diesmal geht es um Keimzeit, eine meiner Lieblingsbands, die aber kaum jemand kennt.
So, nicht, dass ich denke, dass irgendjemand es benutzen würde, aber ich dachte, es wäre mal wieder an der Zeit etwas bei Github hochzuladen. Ich legte zum Einen für BetterJournal eine Projektseite im Wiki an, mit ein paar Screenshots und merkte, dass ich da dringend nochmal ans Design muss, das sieht aus wie Kraut und Rüben, also das Wiki, nicht BetterJournal. Zum Anderen pushte ich den Code zu Github.
Mir gibt es nun immerhin so halbwegs das Gefühl mal eine Sache abgeschlossen zu haben, etwas so rund gemacht, dass jemand es theoretisch benutzen könnte, ein gewisses Interesse daran, mit PHP Code rumzuspielen vorausgesetzt. Gleichzeitig sagt in mir wieder eine Stimme, dass das alles nicht genug ist, keiner läd sich ein paar PHP-Dateien runter, warum habe ich es nicht direkt als iPhone App gemacht, die im App Store ist, das wäre cool!
Alles eine Einstellungssache, natürlich. Ich entscheide mich jetzt aktiv dafür, dass ich stolz bin, ein benutzbares Mini-Projekt in kurzer Zeit zusammengebaut habe. Zumindest versuche ich das.
Ich konnte mich nie so richtig mit Tocotronic anfreuden, aber das neue Album ist bisher echt ganz schön.
Letztens scrollte ich durch Reddit und sah mal wieder ein Gif von einer Szene aus Dragonball Z. Eigentlich habe ich Apollo, den Reddit-Reader meiner Wahl meistens gelöscht, aber ab und zu verspüre ich leider den Drang und dann muss ich ihn installieren und scrollen. Furchtbar. Naja, jedenfalls weckte das in mir die Lust auf Dragonball. Neben Pokémon war das damals einer der ersten Anime, mit denen ich in Kontakt kam. Damals, auf RTL2 um 19 Uhr oder so, mit viel Werbung.
Ich las weder den Manga zuende, noch guckte ich es im Fernsehen fertig, da ich die Lust verlor, oder durch andere Anime abgelenkt wurde, aber eine gewisse Faszination war natürlich weiterhin in meinem Kopf gespeichert. Zum zwanzigsten Geburstag gab es nun, also vor 13 Jahren, einen Remaster oder so. Die alten Folgen wurden aufgepeppt, teilweise wohl Dinge neu gezeichnet und auf High Definition upgegradet. Zudem wurde alles etwas gestrafft und alle Filler-Episoden entfernt, was die Gesamtzahl der Episoden auf 167 reduziert, statt den 291 Folgen der Originalfassung. Das ist doch überschaubarer!
Ich fing mal an zu gucken und war direkt in den Bann gezogen. Ich erinnerte mich an fast gar nichts mehr. Klar, die Charaktere sind mir ein Begriff, aber kaum weitere Details. Das Piccolo nach Son Gokus erstmaligen Ableben erstmal Son Gohan trainiert, und ganz casual den Mond kaputt schießt, haha. Komplett vergessen. Wie ging eigentlich das normale Dragonball zu Ende? War Piccolo da der Endgegner? Keine Ahnung mehr. Schade eigentlich, dass Dragonball Z Kai nicht ganz am Anfang beginnt.
Ich bin jetzt durch mit dem ersten Arc, dem Kampf gegen Vegeta und Nappa und hatte viel Spaß dabei. Ungewöhnlicherweise gucke ich es auf Englisch, aber der Dub ist auch richtig gut, da kann man nicht meckern. Natürlich dauerte der Fight mit Vegeta jetzt irgendwie fünf oder sechs Episoden lang, aber was soll man machen, spannend war es trotzdem, auch wenn man ja doch weiß, wie es ausgeht. Freue mich nun auf den nächsten Teil auf Namek, dem Heimatplaneten von Piccolo! Auch hier sind meine Erinnerungen ziemlich verwaschen. Treffen sie da schon auf Freezer? Bald werde ich es erfahren!
Letztens, ich glaube, weil ich unter anderen Markus Lanz es sagen hörte, fragte ich mich, wie jetzt eigentlich die richtig offizielle, anatomisch und medizinisch korrekte Bezeichnung für den Teil des Körpers ist, auf dem man sitzt. Hätte ich da jetzt eine große, grüne, nach Rost stinkende Warze und müsste eine Ärztin oder einen Arzt anrufen und ihr oder ihm die Situation schildern, was würde ich sagen?
Markus Lanz sagte jedenfalls “Po”. Das Wort hört man recht häufig und in meinem Kopf ist es irgendwie mit Kindersprache verbunden. Tatsächlich ist es ja auch die Kurzform von “Popo“, das laut Duden aus der Kindersprache kommt. Sollten Erwachsene in normalen Gesprächen also “Po” benutzen?
“Popo” ist übrigens die Kurzform des lateinischen Wortes “Podex”, was allerdings eigentlich “Furzer” bedeutet, also auch kein Wort, was man jetzt benutzen sollte, um gebildet zu wirken. Bei der Gelegenheit schaute ich direkt mal in den Eintrag zu “furzen”, einfach um mal zu gucken, was der Duden dazu zu sagen hat. Gebrauch: derb. Ja, das würde ich auch sagen. Ein Synonym dazu ist koffern. Das habe ich noch nie gehört. Hinten in der Aula wurde laut gekoffert.
Wie dem auch sei, das Wort für den Normalgebrauch scheint “Gesäß” zu sein. Ganz besonders angetan hat es mir allerdings der “Allerwerteste”, der mir erst bei tieferer Recherche wieder ins Gedächtnis gespült wurde. Umgangssprachlich scherzhaft verhüllend, genau mein Sprachstil.
Duden.de ist auf jeden Fall eine ganz gute Quelle für einen verregneten Nachmittag und ziemlich direkt vor “Podex” im Duden ist übrigens ”Podcast”, keine Ahnung, ob es da einen Zusammenhang gibt.
In den letzten Jahren habe ich viel Kram gemacht, Vue.js, React, versuchen ein Entwickler-Team aufzubauen, etc, was man halt so macht, in einer kleinen Agentur, dass ich nie wirklich die Muße fand mich mit den tollen neuen Entwicklungen bei PHP zu beschäftigen. Weil immer alles nur schnell-schnell gehen musste, war auch nie Zeit dafür, und privat wollte ich auch eher Dinge fertig haben, als mich mal tiefergehender damit zu beschäftigen, also die neuen Features wirklich zu benutzen, statt nur kurz einen Post dazu zu lesen.
Naja, und oft war es auch so, dass das Projekt halt mit PHP 7.1 oder PHP 7.3 lief und so lang das noch nicht Security-EOL war und der Server noch lief, da updated man ja nun auch nicht auf eine gerade neu erschienene Version. Ausreden habe ich genug parat!
Jetzt habe ich aber mal Lust, mich damit zu beschäftigen. Ich fange an, mit einer Sache, die in der JavaScript-Welt natürlich schon lange zum Standard gehört und mit PHP schon in Version 7.4 kam: Arrow Functions!
$kartoffelsuppe = fn($x) => $x * 9000;
echo $kartoffelsuppe(2);
// Sollte 18000 ausgeben!
Sieht ein bisschen dumm aus und nicht so elegant wie in JavaScript, aber man nimmt ja, was man kriegen kann.
Sinnvoll ist das natürlich hauptsächlich, wenn es um array_map oder sowas geht:
print_r(
array_map(
fn($item) => $item['title'],
[ ['title' => 'foo'], ['title' => 'bar'] ]
)
);
// Ergibt [ 'foo', 'bar']
Das ist dann schon wesentlich kürzer als die alte Syntax – bleibt aber auch beschränkt auf diesen Anwendungsfall, dass man direkt etwas returned. Arrow functions, die wieder mit geschweiften Klammern einen ganzen Block umfassen, gibt es in PHP nicht. Ist auch wieder okay, dann schreibt man halt function davor.
Also, ich würde sagen Arrow Functions in PHP bekommen vier von fünf 🐘🐘🐘🐘.
Unsere Geschichte startet heute in am 11. Januar im Interface der Spotify-App. Ab und zu schaue ich mal in die Seitenleiste, in der man sieht, welche Musik meine Freunde gerade hören. Obwohl ich meinen Spotify-Account irgendwann von Facebook löste, wurden meine Freunde wohl übernommen und so folge ich noch ganz schön vielen Leuten!
An diesem schönen Tage hörte eine ehemalige Arbeitskollegin “Ich träume vom Träumen” von “Husten”. Der Name der Band klang lustig, also hörte ich mal rein. Der Song gefiel mir direkt gut, so auch einige andere, so hörte ich ein paar Tage vor mich hin und googelte irgendwann mal nach Husten. Normalerweise google ich ja nicht nach Krankheiten, da wird man ja nur verrückt, aber hier machte ich mal eine Ausnahme.
Ich fand den Artikel vom diffus Magazin, der kurz auf die Geschichte der Band eingeht.
Die Geschichte der Band Husten beginnt eigentlich bei einem Film oder vielmehr bei einem Buch. Es gab vage Pläne, „So was von da“ von Tino Hanekamp zu verfilmen, Musikproduzent Moses Schneider, der bereits mit prestigeträchtigen Bands wie Tocotronic und Beatsteaks gearbeitet hat, wollte sich dem Soundtrack annehmen und rekrutierte dafür Der Dünne Mann, seines Zeichens Mitglied der (inzwischen inaktiven) Berliner Band Viktoriapark. Aus dem Film wurde dann letztendlich nichts, aber die beiden Musiker waren eben schon am werkeln und beschlossen kurzer Hand, Sänger und Liedermacher Gisbert zu Knyphausen als dritten im unwahrscheinlichen Bunde aufzunehmen – Husten war geboren.
Da klingelten bei mir mehrere Glocken. Erstmal: Gisbert. Ja, mir kam die Stimme bekannt vor, doch kam ich da von alleine nicht drauf. Zum Anderen: “So was von da”. Das Buch von Tino Hanekamp las ich Anfang 2017 und befand es für sehr gut. Als ich es fertig gelesen hatte, hatte ich auch kurz darauf von den Plänen für einen Film gelesen und mich drauf gefreut, und mich sogar für einen Newsletter angemeldet.
Der Film war nun also fertig? Und Husten spielt mit? Noch mehr keimte in mir der Wunsch, den Film sofort zu sehen. werstreamt.es konnte mir zum Glück schnell verraten, dass Netflix den Film, der anscheinend schon 2018 raus kam, also vor vier Jahren, im Angebot hat.
Ich schaute mir den Film nun an zwei Abenden an, bereits nach der der ersten Hälfte merkte ich, dass da keine Spur war von Gisbert und ich las nochmal den diffus-Artikel. Dort steht direkt oben im Teaser, den ich beim ersten Mal überlesen haben muss:
So oder so ähnlich war das bei der Band Husten – die eigentlich mal einen Soundtrack machen wollte, für einen Film, der letztendlich nie erschien.
Aha. Die Band Husten hat sich also geformt um den Soundtrack für den Film beizusteuern, der aber anscheinend ein anderer Versuch war, das Buch zu Verfilmen, die aber am Ende nicht zu Stande kam. Schade. Kurios, dass es trotzdem eine Adaption gibt, die fertig geworden ist und das alles in etwa der gleichen Zeit. Wenn jemand mehr zu dem ganzen Hin und Her weiß, sagt bescheid, finde das spannend.
Zum Film: Ich freute mich sehr darüber. Er richtet sich grob nach den Geschehnissen im Buch und ist ähnlich verrückt und leicht durcheinander im zeitlichen Ablauf. Laut cinetastic.de wurden die Club-Szenen an vier Abenden mit “echten Partygästen” gedreht und von den Schauspielern weitgehend improvisiert — und das merkt man, wie ich finde. Und das meine ich so positiv, wie nur möglich. Die ganze Stimmung ist richtig gut und alles wirkt irgendwie frei, fluffig, ungeplant.
Ich war nie jemand, der in Clubs war, wo Leute tanzten. Selbst in meiner Zeit als regelmäßiger Genießer alkoholischer Getränke war ich immer nur in Bars und maximal einmal im Übel & Gefährlich, wo Leute zu furchtbarer Musik tanzten, stand da aber auch nur auf dem Balkon — und doch gab mir der Film irgendwie ein spaßiges Nostalgie-Gefühl.
Große Teile des Films sind sehr dunkel oder blinken wild, es geht viel hin und her, alle rauchen ständig oder konsumieren mehr Drogen, als man an einem Abend einnehmen sollte, denke ich, kenne mich damit nicht aus, aber irgendwie ist es halt wie im Buch und ich empfand es einfach als eine sehr kurzweilige, wilde Reise. Die Gastauftritte von Kalle Schwensen und Bela B trugen auch nur positiv dazu bei.
Top Film, danke an Steffi, dass sie Anfang Januar Husten hörte, sonst hätte ich es wahrscheinlich noch einmal zehn Jahre nicht mitbekommen.
Zwei Tage und zwei weitere Kurz-Sprints weiter und mittlerweile ist es nicht mehr ganz so weiß und grau. Außerdem baute ich folgende Dinge ein, damit es Day One noch etwas näher kommt und benutzbar wird:

Ich hätte dazu jetzt gerne noch ausufernd was geschrieben und meine Arbeit beschrieben, aber letztendlich war nichts spannendes dabei. Also, vielleicht die Query für die Streaks, die benutzt nämlich eine Common Table Expression, wovon ich vorher noch nie hörte. Es ist quasi eine temporäre Tabelle, die man in der Query erzeugt und aus der man Kram herauslesen kann.
WITH groups AS (
SELECT RANK() OVER (ORDER BY date) AS row_number,
date,
date(date, "-" || RANK() OVER (ORDER BY date) || " days") AS date_group
FROM journals
group by date(date)
)
SELECT COUNT(*) AS days,
MIN (date) AS start,
MAX (date) as max_date
FROM groups
GROUP BY date_group
ORDER BY max_date DESC
LIMIT 1
Natürlich habe ich das auch nur aus dem Internet zusammengesucht und auf meine Anforderungen angepasst, da wär ich ja niemals drauf gekommen.
Mit dem WITH groups () wird eine temporäre Tabelle erzeugt, die sich aus dem innenliegenden SELECT-Statement speist, die enthält die spannende Spalte date_group, in der die ganze Magie liegt.
Bisschen verwirrend, das alles date heißt, aber gut. Also, Folgendes: date() ist die SQLite-Funktion um ein Datum im Format YYYY-MM-DD auszugeben, und sie kann das Datum auch modifizieren. Hier nehmen wir also die Spalte date eines journals und ziehen davon die Zeilennummer (RANK() OVER (ORDER BY DATE)) ab. Die Pipes sind der SQLite-way um Strings aneinander zu pappen. Was ist jetzt die Magie daran, werdet ihr euch Fragen?
Angenommen, ihr habt eine Streak vom 1.9. bis zum 3.9. und eine vom 5.9. bis zum 7.9., hätte die Tabelle folgenden Inhalt:
Umso öfter ich es mir angucke, umso magischer finde ich es. Ich wünschte, ich käme auch mal auf so eine Idee und müsste es nicht erst auf Stack Overflow finden.
Hat man einmal diesen Teil, kann man nun aus der temporären groups Tabelle einfach die aktuelle Streak rausholen, in dem man nach date_group gruppiert und halt das Aktuellste nimmt.
Nach diesem kurzen Exkurs in die Welt von SQL, zurück zum Thema. Meine Todoliste wuchs beim Herumbasteln noch weiter, wie immer, typisches Ideenfeuerwerk, während man etwas baut und Spaß hat. Keine Davon ist jetzt allerdings so wichtig, dass ich sie dringend einbauen müsste, jetzt werde ich alles erstmal ein paar Tage oder Wochen Probelaufen lassen, hoffe ich. Man soll ja aufhören, wenn es am schönsten ist.
Eigentlich hätte ich auch Lust endlich mal wieder was auf Github hochzuladen, was tatsächlich auch andere benutzen können. Dazu müsste ich zumindest noch reindengeln, dass man die Defaults im “Hinzufügen”-Screen anpassen kann. Oder so. Mal sehen.
Ja, ihr wisst was jetzt kommt. Ihr werdet wieder sagen, warum Philipp, warum benutzt du nicht einfach weiter Day One und ein paar andere Apps um genau das abzubilden, was du willst. Meine Antwort ist: Ja, werde ich in drei Wochen wahrscheinlich wieder machen, wenn mir aufgefallen ist, dass ich wieder nur einen Proof of Concept baute, der mir nach wenigen Tagen keinen Spaß mehr macht. Nichtsdestotrotz ist es mal wieder an Zeit der Zeit für ein paar Posts zum Thema “Philipp hat ein neues Laravel-Projekt erstellt”.
Ich war gerade auf dem Weg zum Getränkemarkt, als ich im Radio hörte, dass Meat Loaf gestorben ist. Ich verstand zuerst „im Alter von 55 Jahren“ oder so was und war sehr überrascht, das kam mir komisch vor. Am Ende waren’s dann 75, das passt schon eher.
Tatsächlich hörte ich nie wirklich viel von Meat Loaf und trotzdem hatte ich doch kurz so einen „Ja, schade“, Gedanken im
Kopf, den ich normalerweise nicht habe, wenn eine Todesmeldung eines x-beliebigen Prominenten veröffentlicht wird.
Meine erste Erinnerung an Meat Loaf ist ein Wetten Dass-Auftritt zu der Zeit als sein Album „I couldn’t have said it better“ aktuell war. Der Song „Did I say that?“ mit seinem starken Tempo-Wechsel hatte es mir irgendwie angetan, abgesehen von seiner Stimme.
Soweit ich mich erinnere, war eben dieses Album dann auch eine meine ersten physischen Musik-CDs, die ich geschenkt bekam, oder selber kaufte, was aufs selbe hinaus läuft, denn alles Geld, was ich damals besaß, war geschenkt.
Da ich zu dem Zeitpunkt aber auch schon diverse MP3s auf dem Rechner hatte, hörte ich die CD nicht mal besonders viel, glaube ich. Insgesamt habe ich, wie gesagt, nie besonders viel Meat Loaf gehört, nichtmal Bat out of Hell, das werde ich mir aber wohl die Tage mal anhören.
Fünf Minuten googeln bringt jetzt natürlich auch die ganzen quatschigen Ansichten von Herrn Aday zu Tage, schade. Auch Eric Clapton haben wir ja leider schon verloren. Ich tu mal so, als hätte ich das alles nicht gelesen und behalte meine Meat-Loaf-Wetten-Dass-Erinnerung ohne den Ballast im Kopf.
RIP Meat Loaf.