I was programming a new app, when I wanted to reuse some code snipped from one of my old apps. I used the recently opened projects dialog in Xcode, but Xcode failed to open the project and also removed all other projects from that dialog. As I’m storing my Xcode Projects on my iCloud Drive as a first backup (in case my Mac breaks), I headed over to the Finder and found that not only the xcodeproj Container, but also a lot of swift files were missing. I headed over to iCloud.com where deleted files from the past 30 days can be restored. But they were not there either.
Luckily I do run Time Machine (and have most of my projects on GitHub), so I connected my external drive to the MacBook and opened time machine.
TimeMachine View of one of my apps
As you can see in the TimeMachine view, at some time between end of May and beginning of June a lot of files where lost. I was wondering if I accidentally deleted those files. So I’ve checked other projects. The same picture. A lot of files where missing, some still available. Same for other iCloud Drive data, like my Numbers documents.
Numbers Documents missing in iCloud Drive
Files missing in several locations without any system behind, can’t be explained with accidentally deleted. Somehow iCloud is dropping files which can’t be restored through iCloud.com.
iCloud.com restore files view
iCloud.com offers only 7 recently deleted files, even though more are missing. As seen from before, the files disappeared somehow in the last 14 days, so they should be visible in the last 30 days of deleted files, if they have been deleted manually.
If someone else has the same issue, I would be happy to hear about it.
2020 was a weird year for all of us. For me, starting while travelling and creating content for the hierisauch.net project, I’ve visited great places. From the dead salton sea in California, passing the snowy Grand Canyon, the lovely city of San Francisco, to the beautiful islands of Hawai’i and Fiji, when we got hit with the effects of the COVID-19 pandemic. The plan was to visit Kiribati and Nauru, which was no longer possible. We headed over Brisbane, where yet everything was normal. Our flights to Seoul were canceled by the airline (we are still waiting for our refund) and we rebooked to fly back to Germany (via Sydney and London). I still had some months to wait until I could go back to my jobby-job, but to not risk anything, we mainly stayed at home. We moved from the apartment of a friend of mine, to another temporary flat close to Reeperbahn, St Pauli before finally moving to a house in a small town south of Hamburg. Work is mainly done from home office, which is great, as it saves around 1 1/2 hours of commute every day. Time I can use to renovate the house we’ve bought and spend some time on side projects.
Compared to 2019, the year was quiet but ok for me. Everyone in my close circle is healthy, in the extended circle, some people got infected with the virus, but are doing fine so far. Oh, I’ve developed a tumour in the left parotid gland. The operation was scheduled but had to be moved to next year. I should be fine anyway. No big deal, I hope.
We’ll stay at home for Christmas (for what I really don’t care) and New Years (for what I care a little bit), eat pizza and wait for the COVID vaccine to be available for us.
So this is Christmas And what have you done? Another year over And a new one just begun And so this is Christmas I hope you have fun The near and the dear ones The old and the young
Ja, das ist total bekloppt. Nein, es hat keinen Mehrwert. Ich habe es nur gebaut, weil ich mal mit der Twitter API spielen wollte. Ja, ich weiß es ist nicht 100%ig wie viele Videotext, ja, nicht alles funktioniert, nein, man kann es (vermutlich) nicht mit Mobilgeräten ohne Tastatur benutzen.
Nachdem das geklärt wäre, kommen wir dazu worum es eigentlich geht: Ich habe einen Web-Twitterclient gebaut, der aussieht wie Videotext und sich auch teilweise so verhält. Seit 40 Jahren gibt es in Deutschland den Videotext (eng. Teletext). Videotext ist eine Funktion, die es auch heute in modernen Fernsehern gibt. Man kann ihn über die Videotext taste (meist ein kleiner Bildschirm mit Strichen drin) aufrufen, hier über Seiten mit dreistelligen Seitenzahlen (100-899) navigieren. Die Seiten werden über das normale TV-Signal ausgegeben. TV Geräte mussten früher durch alle Seiten durchblättern um die richtige Seite zu finden. Auf die ganzen technischen Details und die Tatsache, dass modernere Geräte Seiten auch zwischenspeicherten, damit der Suchlauf nicht so lange dauerte und man direkt zu Seiten springen kann, gehe ich jetzt nicht ein. Das kann sicher auf Wikipedia oder so nachgelesen werden. Jedenfalls habe ich einen Twitterclient gebaut der sich ähnlich verhält.
Statt zu klicken muss man bei teletwitter Seitenzahlen eingeben. Um die Timeline der Nutzer darstellen zu können, ist ein sog. Token nötig, den man von Twitter bekommt, wenn der User den Zugriff erlaubt. Das passiert über das bekannte “Authorize App” direkt von Twitter. Wenn der User nicht eingeloggt ist, muss er hier Username und Passwort eingeben. Das Passwort wird dabei nie an die anfragende App (hier teletwitter) übertragen.
Leider kann ich nicht bestimmen, welche Funktionen ich mit dem Token, den ich übertragen bekomme ausführen kann. Die Liste ist daher sehr lang, auch wenn ich derzeit nur die Timeline, die Notifications und das Benutzerprofil einlese und darstelle.
Anyway. Nach dem Autorisieren bekomme ich von Twitter einen Token und einen Verifikation-schlüssel. Beides sind lange Zeichenketten. Den Verifikationsschlüssel muss ich nochmal gegen einen anderes Secret austauschen und dann ist der Nutzer eingeloggt. Die Details kann man bei Twitter selber nachlesen. Wichtig ist mir klarzustellen, dass ich keine Passwörter zusehen bekomme.
Diese Token speichere ich in einer PHP $_SESSION Variablen ab. Diese Variablen sind nur für eine gewisse Zeit gültig. Jeder Benutzer von Teletwitter bekommt im Hintergrund eine eigene Session ID, der diese Variablen zugeordnet sind. Wer mehr über Sessions erfahren will, kann das hier nachlesen. Diese Token werden zur Identifikation bei Twitter benutzt. Ich schicke also eine Anfrage hin und übergebe dabei die Tokens um den Benutzer, für den ich die Anfrage stelle, zu identifizieren. Twitter schickt mir darauf hin eine Antwort. Bei Teletwitter auf Seite 300 schicke ich z.B. die Anfrage “get(“statuses/home_timeline”, [“count” => 200, “exclude_replies” => true])” um 200 Tweets aus der Hometimeline des Benutzers zu bekommen. Twitter antwortet daraufhin mit diesen Tweets, die ich auch in einer Session-Variablen abspeichere. die ersten 5 davon zeige ich auf Seite 300 an. Wenn man auf Seite 301 geht, kommen die nächsten 5, ohne dass ich eine neue Anfrage an Twitter stelle. Das geht so weiter bis Seite 340. Was auf Seite 341 passiert, weiß ich tatsächlich gerade nicht. Muss ich mal ausprobieren. Kommt bestimmt ne Fehlermeldung. Egal. Geht man auf die Seiten 700 bis 799 werden einzelne Tweets aus der selben Variablen angezeigt (ich überlege dies auf Seite 600 bis 799 zu ändern, aber zum Zeitpunkt wo ich das hier schreibe sind es die Seiten 700 bis 799). Seite 400 läd, ähnlich wie Seite 300 neue Tweets in die selbe Variable, hier sind es die Notifications / replys. Diese werden danach über die selben Seiten 700 bis 799 anzeigbar. Und ja, ich weiß, dass das nicht wie bei Videotext ist, wo jede Seite immer den selben Inhalt hatte. Aber Videotext hat auch nicht jedem Benutzer anderen Inhalt gezeigt.
Abschließend gibt’s noch die Seiten 800 und 810, die statische Inhalte, einmal Informationen zu Teletwitter und einmal Kontaktinformationen darstellen.
Für Videotext gab es zusätzlich noch vier farbige Knöpfe auf der TV-Fernbedienung. Mit diesen konnten spezielle Funktionen aufgerufen werden. Diese sind (Stand heute) in Teletwitter noch nicht integriert, vor allem weil Computertastaturen diese farbigen Knöpfe nicht haben. Ich überlege noch wie ich das löse (ggf. mit Mausklicks).
Anyway. Wer das ganze selber installieren oder sich den (vermutlich schrecklichen) Code angucken will, kann das bei GitHub machen.
Vor vielen vielen Jahren habe ich mich im Pixel Design versucht. 2003 habe ich das Nintendo Entertainment System im Pixelstyle designt. Jetzt, zu Coronazeiten, habe ich das Hobby wieder aufgegriffen und wieder mit dem pixeln angefangen. ich wollte das ganze noch reduzierter machen, als 2003. Das kleinste Merkmal das erkennbar sein sollte, sollten Steuerkreuz und Buttons sein. Alles andere muss so stark wie möglich vereinfacht werden, dass es noch gerade erkennbar ist.
Klimaschutz ist ein wichtiges Thema. Das ist nicht nur seit dem Schulstreik von Greta Thunberg und den Aktivitäten der Friday’s for Future Bewegung bekannt. Schon in den 80ern und 90ern, als ich zur Schule ging, gab es viele Kampagnen zur Rettung des Regenwalds. Wir haben dann für wenig Geld einen Quadratmeter Regenwald gekauft und sind mit gutem Gewissen in den Urlaub geflogen. Auch saufen für den Regenwald wurde zur Mode, als ein Bierbrauer anfing für jede verkaufte Kiste Bier ein Stück Wald in Zentralafrika zu kaufen. Die Koste Bier haben wir natürlich vorher mit dem Auto vom Getränkemarkt geholt.
In Deutschland wird seit einigen Jahren darüber diekutiert wie die Verkehrswende geschaffen werden kann. Vor allem Städte stehen vor dem Problem, dass der Platz nicht für das aktuelle Verkehrsaufkommen ausreicht. Gerade der motorisierte Individualverkehr stellt, durch den hohen Platzbedarf, ein Problem dar. Da man Autos aber schlecht Platz wegnehmen kann, denn dann würde in Deutschland ein noch größerer Aufschrei durchs Land gehen, als bei Rechtsruck, Klimawandel und im Mittelmeer sterbenden Menschen, will die Politik auf ‘neue Technologien’ setzen um den Staus auf den Straßen Herr zu werden. Eine Idee, die dabei immer wieder diskutiert wird sind sogenannte Flugtaxen. Ein Prototyp davon hob vergangene Woche über Stuttgart ab. Der ‘Volocopter’ von Daimler besteht aus einer Fahrgastzelle mit 18 Rotoren auf dem Dach. Das Gerät wurde vom Boden aus ferngesteuert. Das gerät war vier Minuten in der Luft. Es ist also ein überdimensionierter Modellhubschrauber bzw. Multicopter. Etwas, was man heute als Privatperson als ‘Drohne’ kaufen kann – nur in groß mit Platz für Menschen.
Ich frage mich dabei welches Problem mit einem solchen Gerät gelöst werden kann. Ich gehe davon aus, dass das Fluggerät bis zur Serienreife noch weiterentwickelt wird und würde folgende Annahmen treffen:
Der Pilot am Boden ist nicht mehr nötig, da es selbstständig, nach Zieleingabe abhebt und landen kann – ähnlich wie man eine Fotodrohne heute programmieren kann.
Die Bedienung ist einfach und für jeden ohne Kurs (Flugschein) zu erledigen.
Eingebaute Sensoren stellen sicher, dass niemand durch das Flugtaxi gefährdet werden kann.
Die Flugtaxen fliegen nicht in Flugverbots- oder Kontrollzonen von Flughäfen oder Krankenhäuser bzw. werden dort von den zuständigen Fluglotsen überwacht und gesteuert.
Die Batterieentwicklung ermöglicht in der Zukunft höhere Energiedichte, um auch längere Strecken, bzw. mehrere Strecken hintereinander, fliegen zu können ohne wieder laden zu müssen. (Mit meiner privaten Fotodrohne kann ich ca 20 Minuten fliegen – und dabei ist der Großteil der Startmasse die Batterie)
Trotz dieser Annahmen gibt es weitere Probleme, die nicht so zu lösen sind. Diese Hubschrauber werden als (Flug)taxen beworben. Ein Taxi bestellt man, es holt einen zu Hause ab und bringt einen an den Ort zu dem man möchte. Das ist sehr praktisch und bietet somit eine Punkt zu Punkt Verbindung der Orte zwischen denen man sich bewegen möchte. Diese Punkt zu Punkt Verbindung bringen auch Autos, Motor- und Fahrräder.
Wolle man diese Punkt zu Punkt Verbindung mit einem Flugtaxi erreichen müssen die Straßen entsprechend umgebaut werden um den Flugtaxis genug Platz zum starten und landen bieten. Der Volocopter von Daimler hat einen Durchmesser von über 7m. Diese müssten also dort wo jetzt Parkplätze (2,3m breit) sind geschaffen werden. Zusätzlich muss ein Sicherheitsraum um das startenden und landende Flugtaxi geschaffen werden. Wie breit dieser zu sein hat muss noch festgelegt werden, aber er muss umstehende Personen, Gebäude und vorbeifahrende Fahrzeuge schützen, falls das Fluggerät von einer Windböe oder ähnlichem erfasst wird. Meine kleine Fotodrohne hat eine Breite von 0,184m und benötigt einen Sicherheitsabstand von 1,2m. Würde man von dem selben Durchmesser-Abstand-Verhältnis ausgehen, bräuchte man ca 47m Sicherheitsabstand um das Flugtaxi herum. Zum Vergleich: Die Willy-Brandt-Straße ist gute 20m breit.
Willy-Brandt-Straße in Hamburg – hier ist kein Platz für Flugtaxilandeplätze
Es ist also offensichtlich nicht praktisch ein Flugtaxi zu haben, dass eine Person an einem beliebigen Ort abholen oder absetzen kann. Es könnten also spezielle Landeplätze geschaffen werden. Diese könnten auf Häuserdächern oder auf größeren Freiflächen sein. Wichtig ist, dass genug Sicherheitsabstand und ein direkter Weg nach oben gesichert ist. Der Weg zu diesen Landezonen müsste dann mit anderen Verkehrsmitteln zurückgelegt werden.
Etwaige Größe einer Landezone.
Dieses Konzept gibt es tatsächlich schon in einer ähnlichen Form in diversen Städten auf der Welt. Es nennt sich U-Bahn. Man begibt sich zu einem U-Bahnhof (Landeplatz) und kann dann dem Stau entfliehen, indem man unter ihm durchfährt. In der Nähe des Ziels angekommen, wechselt man das Verkehrsmittel und legt die Wege bis zu seinem Ziel mit Carsharingauto, E-Scooter, Leihfahrrad oder zu Fuß zurück.
Der große Unterschied zwischen Flugtaxi und U-Bahn ist, dass Flugtaxen nur wenige Personen gleichzeitig starten oder landen lassen können, sich also an den Landeplätzen ein Stau in der Luft bilden kann. Zusätzlich werden Flugtaxen deutlich höhere Kosten haben, da der Energiebedarf pro Passagier höher ist und es kein Massenverkehrsmittel werden kann. (Ein Flug vom HBF in München zum Flughafen MUC würde ca 100€ kosten.) Ein Flugtaxi ist also nur ein Fortbewegungsmittel für Topmanager die es sich leisten können. Diese haben aber auch schon heute auf den Hochhäusern der Firmen Hubschrauberlandeplätze. Das Problem ist also schon gelöst.
Ein Flugtaxi löst nicht das Problem des zunehmenden Verkehrs in Städten. Eine mögliche Lösung ist hingegen den vorhanden öffentlichen Nahverkehr attraktiver zu machen und Menschen dazu zu bewegen auf Autos in der Stadt zu verzichten. Eine Möglichkeit wäre die Nutzung von ÖPNV-Angeboten kostenfrei für den Benutzer zu machen und zeitgleich eine Citymaut einzuführen die das Befahren der Städte teurer macht. Wichtig dabei ist, dass die Mehrkosten für motorisierten Individualverkehr direkt am Tag der Verursachung sichtbar sind. Wer sich jeden Tag neu entscheiden muss ob er/sie für 20€ in die Stadt fährt und dann noch weitere 20€ für ein Parkhaus bezahlen muss oder kostenfrei mit ÖPNV hineinfährt überlegt es sich das bestimmt. Übrigens: Das Argument, dass Innenstädte unter autofreien Städten leiden wurde in Madrid schon widerlegt.
Since I started scuba diving, I was always missing a dedicated emoji for this activity. There are emoji for swimming, surfing, biking, but scuba diving was missing. I was always using fish emoji to represent diving, but this was really annoying and not representing the real activity. 🐠🐟🦈
I really wanted to have a scuba diver emoji. So after studying how the emojis are created I decided to give it a try.
Emoji, like all other characters on, or in case of software: in, todays keyboards are managed by the Unicode Consortium. This non-profit Organization coordinates the development of the Unicode standard. Members of the Unicode consortium are individuals or companies who pay a membership. Apple, Google, Facebook, Adobe, Microsoft, IBM and many others are part of this group. Unicode has been created and developed since 1987 in order to work agains incompatibility of typesets on different computers and countries (some of you might remember encoding errors like in the middle of words on some websites).
Anyway… the Unicode consortium has a how-to on submitting emoji proposals on their website (http://unicode.org/emoji/selection.html). It’s quite straight forward:
Create your proposal
Send it via mail to the consortium
Wait
So that’s what I did.
The proposal shall include some basic data for the emoji, like a proposed name, keywords to search for it, a category and location and some data to show why this emoji is relevant. It’s also supposed to include sample pictures. These pictures are only guidelines. As we know all manufacturers design their own emoji, but the design is based on the initial description and sample pictures.
So this is what my initial submission looked like (pdf):
I’ve created the images based on photos from a diving trip and just redraw it in Pixelmator. The idea was to have a male and female diver which can be adapted with different skin colors.
I’ve submitted this proposal 2017-09-12. Within a day I got a response that my submission will be ”reviewed by the emoji subcommittee”. About a week later, on September 21st, I got another email:
“The emoji subcommittee has initially reviewed the proposal.
As a general principle, the committee prefers to add equipment or props rather than people. (There is the issue of skin and gender representation which means that emoji depicting people need to have many more icons in implementations. Equipment and objects can be used in combination with existing emoji of human figures, etc.)
The committee would like to see a revision (or new proposal) for a “mask and snorkel” emoji, without a person. The proposal should also include justifications showing wy this particular activity should be considered over other sports or activities.”
As I can understand the problems with skin colors and the modifier, I’ve updated my proposal and resubmitted it on September 30th as revision 2 (pdf).
Already in October 2017 I got feedback and the request to include more statistical data about the potential use of this emoji. This resulted in version 3 of my emoji proposal (pdf):
In December 2017 I got the information that the proposal was forwarded to the UTC and got a reference number (L2/17-381) assigned. Now I was officially in the process.
From now on I was able to track the progress of the proposal on the Unicode website.
Now a long period of waiting and constantly checking the unicode website awaited me.
Diving Mask within the Unicode Table
On February, 5th 2019, the final emoji list for Emoji 12.0 was published including the diving mask emoji at code point U+1F93F. Now the manufacturers of operating systems get the time to create their variant of the new emoji and implement them into the devices/software they are updating. The 230 new Emoji, including my diving mask, will be brought to the devices with software updates within the year 2019.
Da ich Mitte 2019 für ein Jahr auf Reisen gehe, will ich Kram loswerden, den ich selten benutze und an dem ich nicht so sehr hänge, dass ich ihn nicht für ein Jahr einlagern muss.
Ein paar Dinge werde ich verkaufen, andere werde ich verschenken. Wer mir dafür was geben möchte kann sich entscheiden ob es an Sea Shepherd, Sea Watch oder für meine Reise gehen soll. Dazu habe ich 3 Steinkrüge als Spendenbox aufgestellt. Bevor die Dinge zu eBay gehen, stelle ich sie hier rein. Abholung in der Hafencity in Hamburg. Versand gegen 5€ unversichert oder 10€ versichert möglich.
Hier die erste Reihe an Dinge die ich loswerden möchte:
Teile noch in Folie
Verpackung Vorderseite
Verpackung Rückseite
Eine originalverpackte Star Wars Boba Fett Sammelfigur im Maßstab 1:10 von KOTOBUKIYA / ArtFX im Cloud City Design (aus Das Imperium schlägt zurück). Preis: 150€ Jetzt bei Ebay-Kleinanzeigen
HP Deskjet 6840
Einen HP Deskjet 6840 WLAN-Drucker. Die Tintenpatronen müssen vermutlich ausgetauscht werden. Hab das Ding lange nicht benutzt. Das kann aber Duplexdruck (beidseitig drucken) und hat WLAN/WiFi drin. Ist ganz cool eigentlich, steht bei mir aber nur rum – und ist auch nicht mehr der neuste. Gegen ne Spende in einen der Töpfe abzugeben. Das Papier, das auf dem Foto oben auf dem Drucker liegt, gibt’s dazu.
Apple Watch
Apple Watch
Apple Watch Rückseite
Apple Watch
Eine 42mm original watch (Apple Watch) Sport in schwarz. Inkl. Ladekabel und Originalverpackung. Preis: 100€
Rückseite
Vorderseite
in der Verpackung
Verpackung
Eine zwar ausgepackte, aber ungetragene Seiko SCED035 Uhr. Diese Uhr ist auf 3000 Exemplare limitiert. Sie wurde vom italienischen Designer Giorgetto Giugiaro entworfen und ist eine Neuauflage der 7A28-7000, die Sigourney Weaver in den 80ern als Ellen Ripley in dem Film Aliens (Alien 2) trug. Preis 2000€
Sigourney Weaver als Ellen Ripley aus dem Film Aliens
Meinen regelmäßigen Podcast “Dirty Minutes Left” mit Arne Ruddat findet ihr ab jetzt hier auch in der rechten Seitenleiste oder wie gewohnt bei Compendion dem Podcastlabel von Arne.
Apples Photos app is the standard app a lot of Mac users organize their photos. It’s well integrated in macOS and iOS, it syncs the photos between all devices sharing an appleID. Not only the photos shot with an iPhone are but also photos shot with other cameras and imported via Photos (btw a really bad name for an app if you want to write an article about it and about the photos storred in the app called Photos). I’m organizing all my photos in Photos. My database contains currently about 35000 photos and 900 videos. A lot of these photos are “big” raw files (in my case about 30MB per photo), most of the videos are 4K. As apple has huge prices on their storrage options within their devices and because I want the security of a) having my photos available from all the devices and b) backed up externally (this is not my only external backup), I use iCloud Photo Library. I’m currently storring 691GB of photos and videos in iCloud.
This amount of data neither fits my iPhone (128GB), nor my TouchBar Pro (512GB). Therefore I’m using a function called “Optimized Storrage” on all devices. This function storres only thumbnails and recently used photos locally on the device and deletes the full resolution images from the Mac after they have been transfered to iCloud. It’s a clever system leaving me with about 75GB of storrage used for my photos on my Mac.
Now to something else: I like to customize my MacBook Desktop with personal photos I’ve took somewhere around the world. Those photos can be selected directly out of the Photos app. To find the nicest pictures, I’m marking those with a heart or ‘favorites’ function within Photos and have a condenced selection of photos to select my desktop background from.
No I’ve noticed two things: My desktop pictures often change from the one selected to standard pictures provided with macOS. In addition not all my favorite photos where available within the menu to select the background from. Sometimes it happens, when I wanted to change from a standard picture to a different one, the picture disapears and only a questionmark is remaining in the selection panel.
So what’s happening here? After some investigation within my photo library I’ve noticed that the pictures I’ve previously selected (out of my favorites) were ‘optimized’ to iCloud and no longer available locally within my TouchBar Pro. Therefore macOS can’t find and use them as background images anylonger.
I don’t know why apple wouldn’t program an exception in their ‘storrage optimization routine’ to not optimized favorites (as most people might want to have them available all the time) and especially not delete images that are used by another part of the operating system. I understand that thirdparty apps can’t see which photo has been selected as background images, but Photos is a first party app integrated in the OS, it should be able to do a bit more than other apps and should avoid this behavior.
A radar (bug report within apples bug reporting system) has been filed for this on June 2nd.