Keyboard Phones are Back - Unihertz Titan 2 Elite

Titan 2 Elite

A couple of days ago I started an experiment. After years on the iPhone I switched to a Unihertz Titan 2 Elite. Not my first Android phone but my first phone with a physical keyboard and a smaller BlackBerry-ish kind of screen. I never owned a Blackberry so this is not about nostalgia. It is about using a device made for generating text and thus communicating efficiently. Most modern phones are made for creating and consuming video and sound content. The typing experience has actually gotten worse. To me that's not efficient. I especially loathe voice messages on WhatsApp. It is inconvenient for me to type so I put the inconvenience of listening to me rambling on you the recipient of my message. When you forget a part of my message have fun searching for it in a 10 minute voice recording.

Thus when I saw the prototypes on YouTube I was immediately intrigued and decided to back their kickstarter. I got my Titan 2 Elite in the mail last week for the very reasonable price of 380€.

The first impressions are very positive. This is a sturdy, well-build device comparing favourably to other more expensive ones. Typing on the physical keyboard felt immediately natural, more precise and quicker than any software keyboard I have ever used. I am typing this post on it.

The Android setup was easy. I hit a couple of snags setting up apps. For example the German ING banking app would not verify me since they were errors scanning the NFC chip in my passport. It's neither uncommon nor a deal breaker though since they still offer sending a initial setup PIN in the mail. All my other apps I dependent on work as expected.

The cameras are ok but not great which is acceptable considering the price of the phone. There is a weird bug that when zooming all the way in with the telephoto the images get a blue tint. Maybe this will be fixed with future updates and is very easy to correct in any foto editing app.

So now to the core question: Has my consumption and creation behaviour changed? Yes it has significantly! I watch no reels on this phone because frankly it is way less fun on the small screen which is good. I also watch less YouTube on my phone which is also good. I quit social media apps like Facebook or Instagram years ago so I can't comment on that. I type way more because it's fun. It feels great, it is quick. I have observed that I hold the phone in my hands a lot more because it feels good to hold. The size of the device is just right.

To me the accusations that modern phones are consumption devices more than than creation tools does not necessarily hold true. They are geared for participating in social media so their focus is consuming and creating video content. Not all people participate in social media though. Many more want to reduce their consumption because they feel adverse effects. A lot of people use their devices to primarily write emails, messages and plan their days. If this is you the Titan 2 Elite might be a good choice.

PHP is actually awsome!

I am maintaining several Next.js applications at the moment. The number of dependencies and the vulnerabilities they bring are astonishing. For a while, I have been searching for something simpler—I don't really use Next.js's features for what I do anyway. Usually, the start page is static, and the remaining pages are client components. Or, everything is static.

I tried numerous frameworks and languages. For example, Elixir and the Phoenix framework as well as .NET 10. While they were okay, none of them worked well for me. You know that feeling? Sometimes you find a tool that just clicks with your brain, and working with it becomes a much more intuitive endeavor. None of them were that.

Until I started building with PHP. Not Laravel or Symfony (which are fine), but classic PHP applications where the majority of the PHP code lives in the markup. To me, PHP is like the C of the web development world. It forces you to think about HTTP again. There are no heavy abstractions, nothing to just "make your life easier." That's good. I want to understand what is happening. Yet, it provides convenience and abstraction where it makes sense (like for generating tokens).

Building with PHP in that way forces you to use JavaScript as it was meant to be used, which makes using JavaScript fun again. It is really cool to observe it change the markup. It makes it possible to build applications that don't have heavy dependencies—not thousands of npm packages with thousands of vulnerabilities that you think you can get under control with CI. But that's just throwing complexity on top of complexity. Applications built that way can just be thrown onto a standard webspace—which is cheap and GDPR compliant—and the application will just work.

If you would like to get into it, I can recommend this book.

Since there seem to be few people left building web applications this way, there aren't many maintained libraries for authentication anymore. And not wanting dependencies anyway, I did the unthinkable and wrote my own authentication setup—and had a great time doing so.

Max Beckmann - Leben zwischen den Welten

Trost ist der sichere Glaube an die Unrealität des Lebens hinter der vielleicht die wirkliche Wahrheit liegt. Und um sie zu finden, das heißt leben und sterben. Immer wieder aufs neue leben und sterben bis wir da angelangt sind, wo es keine Erfahrung mehr gibt nur noch absolutes Wissen. Je intensiver man zu sich selber kommt umso eher kommt man ihm oder dem Absoluten näher. Das ist das Ziel und der Trost.

Analyse CloudWatch Logs with DuckDB

​I have about 8 years of AWS under my belt. I still really don't like CloudWatch. The fact that someone at AWS thought it is a good idea to design a custom query language for logs is astonishing to me. And I know you can use SQL now or let AI generate the query for you - still it's not great. The UI is horrible. You get stuck with it however especially if budget is tight and custom solutions are out of the question. Or maybe you are using another AWS service like ECS Fargate to host your application. CloudWatch is deeply embedded in the AWS ecosystem. 

I do like DuckDB, though. It is a very capable file-based analytics database which just wants to plow through gigabytes of JSON logs on your laptop. Thus, I decided to make use of some of my free time and write my own command line tool cw-to-duck that exports CloudWatch logs directly into a DuckDB file. All you need to do is install AWS CLI, log in to your account with a role that has sufficient permissions to access your logs and run cw-to-duck. It also provides parsers for certain AWS services such that next to the logs_raw table the resulting DuckDB file will contain a handy logs_parsed table ready for analysis.

Ellwangen (Jagst)