knuspermagier.de
Ein L und zwei P. Philipp!

Things I would love to have in Day One

(Dieser Post ist in Englisch, weil ich da mal Lust drauf hatte und vielleicht liest ihn jemand, der bei Day One was zu sagen hat! (Bestimmt nicht))

You may have noticed that I am a huge fan of Day One. I’ve been using it since the end of July 2012 and I've written about 700 entries to date. That’s more than one each day.

Overall the apps are quite good, however I still have some feature requests. Over the last few months I collected them and now it’s time to let the world know!

Native Moves.app support

I love Moves. I love Day One. It would be perfect if both could interact somehow. Some time ago, I wrote a script to automatically create journal entries that summarize my Moves data of the day. Today I deleted all of them because they did not feel right between my normal text entries.

In the last major version Day One added a map view to the desktop app. Unfortunately it is quite useless for me now, because I write the majority of posts from home. If the app could import my movement data and display it in some fancy way, it would be awesome.

Tagging people via Contacts.app

It would be nice if I could “mention” people in my journal entries using data from my address book. Currently I use the builtin tagging functionality for this but it’s not perfect. Most of my tags only include the first name of the person. If I met someone with the same name, he/she gets a new tag with first and last name.

Yeah, I could get my shit together and modify all tags to include first and last names, but altogether a dedicated way to mention people on my entries would be better, I think.

Importing conversations from Messages.app

Sometimes I’d like to just include some snippets from an iMessage chat in my entries. In the last weeks I often told someone stuff about my day and later had to write everything again to put it into Day One.

Yes, I could just use copy paste, but that does not look very nice. A “custom” post type for conversations would be perfect!

Import music from Last.fm

The latest version of the iPhone App added support for getting “Now Playing” information from the Music app. In addition to that it would be nice to have a function to import this information from Last.fm, maybe like my Song of the Day page, getting the most played song of each day.

(This is a feature I could build myself by creating a script that modifies the DayOne files on the hard drive, but it would, of course, be nicer if built in directly)

Support for custom fields

Meanwhile we have a lot of meta information for each journal entry. Weather, location, now playing songs, step counter. I would like to add my own custom fields for things like “How much money I spent today” and “What did I eat today”. Just to have some additional data for each day.

More than one picture per entry

Currently you can only attach one picture to an entry. To add another picture, you need to create a new entry for a day. Per se that is only a minor discomfort, but I think I would like it more to have the ability to add multiple pictures to one entry.

Well, that is it for the moment. Just some small points that would make Day One an even better app to record my life. Maybe someone at Day One thinks like me and implements one of the features.

(Or sends me the source code and lets me build it for myself)

Kopfhörerparty

IMG_0259.jpg

IMG_0263.jpg

Eigentlich wollte ich gestern um drei nach Hause fahren, dann stellte ich aber fest, dass Pablo und Ivy noch unterwegs sind und gesellte mich zu ihnen ins Knust, wo eine Kopfhörerparty statt fand.

Interessantes Konzept, lange kann man den matschigen Sound der Kopfhörer allerdings nicht ertragen.

DailyKnuspi

Seit nun fast genau einem Monat nehme ich jeden Abend einen kurzen Podcast auf. Eigentlich kann man es nicht Podcast nennen, da es meistens nur 30-40 Sekunden inhaltlich fragwürdiges Geblubber sind.

Nachrichtenbild1002456134.png

Aber irgendwie macht es mir Spaß. Darum mache ich es. Einfach so. Man muss ja auch mal etwas TOTAL verrücktes machen. Nachdem ich es jetzt testweise erstmal immer nur zu Soundcloud schob, gibt es das ganze ab heute auch als Podcast-Feed. Einfach in Instacast (oder dem Podcatcher eurer Wahl) nach "dailyknuspi" oder "Philipps täglicher Podcast" suchen. Alternativ könnt ihr auch einfach diesen Link hier benutzen.

Falls jemand die Technik interessiert: Ich nehme mit der Auphonic-App auf dem iPhone auf und das war es eigentlich auch schon. Auphonic macht es halbwegs erträglich von der Qualität her und push es zu Soundcloud und libsyn. Letzteres stellt dann den iTunes-RSS-Feed bereit.

Sehr spannende Informationen, die ich aus den 10 Monaten gesammelter Moves-Daten gezogen habe.

Hallo. Wie wir alle wissen, habe ich , trotz der enormen Akku-Kosten, seit März 2013 Moves auf meinem iPhone. Ich tracke mich damit selber besser als es die NSA jemals könnte. Nun, zum Ende des Jahres, dachte ich mir, ich versuche mal die Daten kurz auszuwerten und irgendwelche Informationen zu extrahieren.

Also exportierte ich mir mal alle alle Storylines vom 3.3.2013 bis zum 31.12.2013 über die API, warf sie in eine MongoDB und spielte ein bisschen mit MapReduce. Los gehts!


Nicht weiter verwunderlich ist, dass „Home“ die Liste der Orte, an denen ich am meisten Zeit verbrachte anführt. Gute 4000 Stunden verbrachte ich also auf meiner Couch oder im Bett. Auf Platz zwei kommt, ebenfalls ohne große Überraschung, das Büro. Ab dem dritten Platz wird es dann langsam interessanter: Zuhause bei meinen Eltern, Marcels Wohnung, Sofabar (88.88 Stunden!), Florians Wohnung, Hatari, Edeka, Kaffee Stark.


Wenn man sich anschaut, wo ich am längsten am Stück war, dann gewinnt natürlich auch meine Wohnung. Hier loggte ich anscheinend mal 24.9 stunden am Stück, an denen mich nicht wegbewegte. Wahrscheinlich war ich da krank!

Längster Sofabar-Besuch war 6.6 Stunden, längste Zeit im Büro 12 Stunden — bei Marcel war auch mal 12 Stunden am Stück, was wohl der erste Placescore-Samstag im September gewesen sein dürfte.


Screen-Shot-2014-02-02-at-23.50.09.png

Wow, ein Diagramm. Hier sieht man, dass ich wesentlich mehr mit motorisierten Transportmitteln gefahren bin. Das verwundert niemanden. Insgesamt ging ich etwa 600km, fuhr 200km mit dem Fahrrad und fast 12.000km mit öffentlichen Verkehrsmitteln oder Autos.

Hätte ich einen überdimensionalen Schrittzähler, hätte er am Ende des Jahres „965927“ angezeigt, was ungefähr 4.000 Schritten pro Tag entspricht. Immerhin fast die Hälfte von den 10.000 Schritten, die empfohlen sind.

Mein Rekord waren 12.638 Schritte, Anfang November. Ansonsten sieht man relativ deutlich, dass ich am Wochenende oft bewegungslos zuhause rumliege.


Screen-Shot-2014-02-02-at-23.56.44.png

An diesem Diagramm sieht man, dass ich Freitags nie im Hatari war. Verrückt! Bei der Sofabar sieht es anders aus, da war ich nie am Montag. Schaut man die Statistik vom L’Orient an, sieht man eindeutig, dass das Lammkebap meistens am Dienstag auf der Karte steht.


Jetzt habe ich erstmal keine Lust mehr. Ich würde den Code nun gerne zu Github werfen, aber das ist alles ganz schrecklich hässlich und hilft auch keinem, baut es euch also einfach selber.

PHP?

TL;DR: Ich finde pgadmin 3 doof und deswegen schrieb ich einen 800-Wort-Blogpost zu meiner Beziehung zu PHP, wtf?

Es muss so gegen 2003 gewesen sein, als ich anfing, mich mit PHP zu beschäftigen. Mein erstes Projekt war ein „Recommendation”-System, nicht mehr als ein Formular, mit dem man eine Webseite an seine Freunde empfehlen konnte — quasi nur ein Aufruf der PHP-mail()-Funktion.

Seitdem machte ich so gut wie alles mit PHP. Gästebücher, Content Management Systeme, Bilder-Galerien, Blogs, Foren. Ich versuchte möglichst alles selber zu bauen, probierte rum und lernte allerhand.

QUOTE.fm und watched.li, meine bisher größten Projekte sind ebenfalls beide mit PHP umgesetzt. Irgendwann kam ich auch davon ab, alles selber machen zu müssen und entschied mich bei den beiden Projekten dafür, dass Yii Framework als Basis zu nehmen.

Ich hatte auch nie wirklich ein Problem mit PHP. Klar, es hat viele Probleme und Unstimmigkeiten, aber es funktionierte doch immer ganz gut und wenn man ein bisschen Erfahrung hat, kann man gut um die Probleme herum arbeiten.

Außerdem ist es auch ein großer Vorteil, dass PHP einfach überall vorinstalliert ist. Im letzten Jahr baute ich mehrere kleine Spielereien in NodeJS oder Ruby und oft genug bekam ich als Feedback „Oh, das würde ich auch gern benutzen, aber keine Ahnung, wie das geht, NodeJS, wtf!!“ (So ungefähr). Wären es kleine PHP-Scripte gewesen, die man einfach irgendwo hin wirft, wäre das sicher nicht passiert.

Obwohl ich PHP so sehr mag, bin ich konstant auf der Suche nach Alternativen. Eine Zeit lang beschäftigte ich mich mit Ruby und Rails, schaute ein paar Screencasts, beschloss allerdings erstmal die Finger davon zu lassen, weil es nach einem ziemlich großen Einarbeitungsaufwand aussah, wenn man genau verstehen will, wie das alles funktioniert. Davon abgesehen fand ich das ganze Ruby/Rails-Versionen-Chaos, was ich so am Rand mitbekomme, immer ein wenig abschreckend.

Während meines Praktikums in München, also um 2009 rum, begeisterte ich mich kurzzeitig für Java und Wicket, stellte aber schon nach kurzer Zeit fest, dass das alles viel zu fett ist für kleinere Spaßprojekte.

Irgendwie landete ich immer wieder bei PHP. Und MySQL. Einfach. Konnte ich. Überall installiert. Funktioniert. PHPMyAdmin ist auch klasse. Perfekt.

Mitte 2013 beschäftigte ich mich dann, beruflich bedingt, eingängiger mit NodeJS und NoSQL. Für ersteres konnte ich mich dabei recht schnell begeistern, letzteres fand ich etwas komisch, probierte bei Placescore aber doch mal MongoDB aus. Nach ein paar Wochen stellte sich das allerdings als eher weniger optimal heraus und ich wechselte auf… Postgres. Weil ich soviel schlechtes über MySQL las.

Aktuell bin ich damit ganz zufrieden. Alles funktioniert gut und in manchen Bereichen sieht es auch mächtiger aus als MySQL (z.B. Unterstützt es nativ JSON in Tabellen, und PostGIS sieht besser aus als die Geo-Features von MySQL). Aber die Hürde von etwas weg zu wechseln, was man seit 10 Jahren benutzt ist halt ziemlich hoch.

Die Umstellung von PHP zu NodeJS ging ja noch irgendwie. Javascript mache ich eh seit Jahren und wie man es nun „richtig” schreibt, statt nur im Browser mit dem DOM zu spielen, lernt man auch vernünftig schnell — der Wechsel zu Postgres fühlt sich jedoch heftiger an.

Vielleicht liegt das auch an den Tools. MySQL und PHPMyAdmin wirkten immer so „richtig”. Für Postgres gibt es zwar phpPgAdmin, aber das sieht nicht ganz so toll aus und — jetzt das eigentliche Problem — wenn ich kein PHP mehr entwickle, will ich auch kein PHP + Webserver installieren, nur um phpPgAdmin zu benutzen. Also schaute ich mich mal nach GUI-Tools um.

Leider sind die, die ich bisher testete alle nicht so geil. pgadmin 3 ist langsam, hässlich, unkomfortabel und stürzt ständig ab und PG Commander sieht zwar okay aus, hat aber kaum Features. Trotzdem werde ich es jetzt mal versuchen zu benutzen und zur Not gibt’s ja auch immer noch die Kommandozeile.

Was will ich mit diesem Blogpost sagen? Ich bin vielleicht nicht der größte Freund von Veränderungen, weiß aber, dass sie ganz gut sind um voran zu kommen. Ich kann ja nicht noch 20 Jahre weiter PHP entwickeln.

Ich kann zwar nicht beurteilen, ob NodeJS + Postgres nur eine kurze Episode in meiner Programmiererlaufbahn sind, oder ob ich es länger durchziehe, aber auf jeden Fall macht es mir aktuell recht viel Spaß und zu empfehlen.

Bevor nun viele Leute fragen, warum nicht Ruby oder Python: Ruby probierte ich, Sinatra find ich auch ganz knorke, und insgesamt hab ich nichts dagegen, könnte ich genauso machen. Python allerdings nicht, denn da gibt’s keine {}-Klammern.