Chris Hannah
My little piece of the internet

Currently Listening

Seeing as I've just recently switched to Firefox, I think it only makes sense that I try out Pocket at the same time. It's already built into Firefox, and when I've used Pocket in the past I've been impressed by it's suggestions. However, I haven't tried it in a long time, so it will be interesting to see how it compares to something like Readwise.

Rethinking Phone Battery Life

When I've pictured my "ideal" phone in the past, I've regularly had long battery life as one of the key features. But I've thought about battery life as something that hasn't improved. Because most people have probably been charging their phone every night for quite some time.

However, you could probably argue that battery life has always been increasing. The problem is, so have our demands.

Sure, more powerful chips require more energy to run. So an iPhone 15 will naturally require more resources than an iPhone 5. At the same time, we also weren't expecting an iPhone 15 to record 4K HDR video without affecting the battery life.

It's probably not a big revelation to many. But it's a perspective that might be worth considering when judging the evolution of technology.

The Rabbit R1

I finally watched the Rabbit R1 announcement video earlier, and while I think it's a really raw product and has a lot to prove, I was definitely wowed by it. Maybe it's the hardware design (which was done in partnership with Teenage Engineering), or the idea that this will actually be able to do things for you, rather than just be another conversational AI. Either way, shortly after watching the video, I decided to pre-order an R1.

The relatively low entry price for the R1 at $199/£160 definitely helped. But I also wanted to put my money where my mouth was. Since products like the Rabbit R1 and others like the Human Ai Pin are examples of the direction that I want technology to move towards.

In my ideal world, technology would be used to help us understand, explore, and experience the world around us. Rather than keep us locked away in digital worlds, cut off from people around us. No matter how "connected" it can make us feel when we've got a screen constantly in front of our face.

I'm hopeful that we're moving in the right direction.

I can't believe it took this long, but as of tonight I've finally started watching The Walking Dead. I don't know what I was doing in 2010 when it first started, but somehow I let it completely pass me by.

I'm just about to start the fourth episode, and I'm already hooked. 🧟‍♂️

There's a total of 177 episodes, which seems a lot, but at this rate I'll be getting through them pretty quickly.

DHH:

The App Store dispute can be boiled down to one big question: Is the iPhone a computer or not? If it’s a computer, we ought to have the right to compute. Like consumers have won the right to repair. If it’s a computer, it ought to be yours, and you ought to have the right to install whatever software you should so choose.

I mean, is he wrong?

The Verge:

Microsoft is laying off 1,900 employees at Activision Blizzard and Xbox this week.

Just as World of Warcraft (and Blizzard) starting looking like it was on the up.

I'm hoping this won't affect their existing games, such as WoW. But since Mike Ybarra (Blizzard President) is leaving, and the survival game that was in development has been cancelled, it's not looking great.

My Relationship With the iPad

I have a weird relationship with my iPad. I can go months without using it all, and then suddenly something switches in me, and I want to use it for everything.

While I'm not trying to blame anyone, I think a lot of this comes from me falling for the "what is a real computer" or the "everyone can work from an iPad" hype that used to be quite common on the internet.

Now I'm not saying either those are objectively true or false, or that I want to try and change anyone else's opinions on the iPad. But whenever I pick up my iPad Pro, without any case or keyboard attached, it feels magical to me. It feels like I'm using a computer from a science fiction show[1].

It's because of that feeling, coupled with the conversations around it having the ability to be your only computer, I start wanting to do more things with it. I attach the Magic Keyboard because then it looks like a laptop, and that's a real computer, so it must mean it becomes better. I also then occasionally connect a mouse, or even play around with the Apple Pencil, because this clearly makes it a more capable computer.

Yet every time, it leads me to getting irritated with the quirks/drawbacks of the iPad and then avoiding it for another month (or few). Instead of just letting the iPad be the magical device that it can be for me.

I need to learn how to just enjoy things for what they are, and not try to dream up weird and wonderful scenarios that add needless complexities and friction in my life.


  1. Don't take this as me thinking the iPad is a perfect computer. But that's not important right now. ↩︎

Artifact is Already Shutting Down

The Artifact team announcing the news via their Medium blog:

We’ve made the decision to wind down operations of the Artifact app. We launched a year ago and since then we’ve been working tirelessly to build a great product. We have built something that a core group of users love, but we have concluded that the market opportunity isn’t big enough to warrant continued investment in this way. It’s easy for startups to ignore this reality, but often making the tough call earlier is better for everyone involved. The biggest opportunity cost is time working on newer, bigger and better things that have the ability to reach many millions of people. I am personally excited to continue building new things, though only time will tell what that might be. We live in an exciting time where artificial intelligence is changing just about everything we touch, and the opportunities for new ideas seem limitless.

On one hand I'm dissapointed that an app that I enjoy to use will soon be no more. On the other hand, it's not really surprising. I found it to be a great way to surface content that I was interested in (although the quality did drop in recent times), however the reading experience in the app wasn't the greatest. Even so, it still made my "Software I’ve Enjoyed in 2023" list last year.

I assume this is the case for other people as well, but at least for myself, I would have used the service a lot more if it had some form of web interface.

Also, isn't it a bit weird that this news was posted on a Medium blog? I can understand wanting it in a more permanent place outside of the actual Artifact app, since that will soon stop working. But Medium? Not their own artifact.news domain, or even just a blogging platform with a better reading experience than something like Medium. Maybe that sort of decision shows why the app was like it was.

My First Project of 2024

It's only been just a week, and I've already "completed" my first project of the year. Well, it's not really completed, but it's functional and it already completely addresses a personal need.

The project is a simple plugin for Neovim that helps me generate the initial frontmatter I need for my blog posts. It's called blogutils.nvim, so you can imagine it may grow in the future. But right now, it has three pieces of functionality:

  • formatTitle - Format specified input as AP Title Case via Text Case CLI.
  • formatSlug - Format specified input as a slug via Text Case CLI.
  • generateFrontMatter - Uses the first line of the current buffer as an input, then generates a title, slug, gets the current date, and adds the relevant frontmatter to the top of the file.

Here's a short video showing me generating the frontmatter from an example title:

I may improve it in the future, but right now that's all I need it for. And with how smoothly the development went, I'm really interested in the idea of making more plugins in the future.

Additionally, the act of learning how to write a Neovim plugin has made me much more comfortable using Neovim generally. It's weird to think that just months ago I could barely even use vim motions.


I've also created a new page for my 2024 projects, which now has just a single entry. I plan on using this page to document the projects I work on (big and small) throughout the year, grouped by week. You can also find in the menu bar the top, titled "2024".

I wanted to group by week because I wanted to visualise my work over the year in more granularity. I just hope I build enough things to make it an interesting list.

My Projects in 2023

I wanted to wrap up 2023 with another post looking back at the projects I worked on over the year, and also have a think about what 2024 could bring.

Text Shot

I can't quite remember where I said it, but I remember thinking at the end of 2022, I really wanted to work on another app. Thankfully I did just that, and I managed to develop and release a universal (iOS, iPadOS, and macOS) app that takes in various parameters and generates a "text shot", Text Shot.

Text Shot

It's a simple idea, and the app itself is very utilitarian. But from what I've heard, quite a few people have found it useful, including myself. It was originally developed to be a way to share quotes from websites (blogs), but after some feedback, I ended up making it more general. So you can provide up to four parameters: a title, source, author, and the quote. And on top of that I added some extra features like font options, themes, basic Markdown formatting, and also the option to export Alt text for those that wanted to add it to their Mastodon posts.

Website | App Store

Text Case

This is by no means a new project. But 2023 brought a few small changes to Text Case, along with an entirely new form.

Text Case

Apart from some small visual tweaks and bug fixes, I added back a "scratchpad" feature, which shows a piece of text in all formats and flows at once, similar to the original version of Text Case, there were new colour options added, and also, it became a totally free app! The tip jar still exists, but I decided to make all versions of the app free.

Text Case

The new form that Text Case took in 2023 was a command line application. Partly because I wanted the functionality myself, along with wanting to work on something new, and also open-source[1]. It's made with Swift, and it shares a lot of the underlying logic, although I have been refactoring where necessary as it's now public. I had planned at one point to distribute it alongside the Mac App Store version, and also as a publicly available executable, but the various processes like code signing, Developer ID certificates, app notarization, etc. made me decide to distribute it via Homebrew instead.

Website | iOS App Store | Mac App Store | GitHub (CLI)

Smaller Projects

Apart from the two relatively big projects that I've already mentioned, I worked on a few more smaller projects that were both for fun, and for when I had a quick idea or need for something to exist. None of them are groundbreaking, but they were certainly enjoyable, and I think I learned at least something from all of them.

blogroll.js

This was something that I've seen on other peoples websites, and it's a way to have a static list of links, and randomly, a subset are displayed as a list on a website. As the name suggests, it's a simple JavaScript script, and it's quite minimal (purposely). All you do is define a JSON file with a few links (only a title and URL is needed), include the script on the website, and then specify a HTML element where you want the links to be displayed.

I'm not sure if anyone will ever use it. But it was definitely a useful project for me, as I learned how to make minimal JavaScript scripts, and also have them easily configurable via parameters.

GitHub

random-link.js

Very similar to blogroll.js, this is another script that I built that uses similar logic, but instead only presents a single random link at a time.

GitHub

Arbok

I started to appreciate statically generated websites earlier this year (which is why my blog now runs via Hugo), and I also wanted to write some more Python, so I decided to make another static blog generator, named Arbok. It was an interesting project, although I doubt it will be used (I'm starting to notice a trend). However, I did have to write some Python code to manipulate files at work earlier this year, and what I learned writing this project helped me complete that. So I guess it can be classed a success.

GitHub

Hugo Post Organiser

As mentioned above, my blog is now built using Hugo. But previously, it was based on Ghost. And while I managed to export the content from my Ghost blog into suitable files ready for Hugo, they lacked organisation. So I decided to built a tool that could organise a single directory of markdown files, and organise them into subdirectories by year and month, both taken from the source frontmatter in each file.

I have yet to use this for my live blog, but I wanted to see if it was feasible to accomplish. Thankfully it was, and it's something I still may use. But I decided to not go ahead with using it just yet, because I was reminded many times about the benefit of not changing URLs and breaking any links to my blog posts.

GitHub

Plans for 2024

I don't have any detailed plans for 2024. Just some over arching ideas that I hope to at least be following for the first half of the year.

Instead of trying a lot of new languages and frameworks, I want to spend most of my time building on existing skills. So for example maybe using Swift for a new app, or maybe another command line utility. I'm sure I'll end up using JavaScript or Python for a few fun ideas. But seeing as I currently work professionally as a Java developer, I'm interested to see if I can start doing this more in my spare time as well.

Who knows, maybe my next open-source project will be Java-based?

I certainly enjoyed the process of working in public with the CLI version of Text Case, and even if not open-source, I'm beginning to become more a fan of making free software. So I would definitely expect that to continue.


  1. There may be a better term for it than open-source, because I'm not really encouraging contributions, so it's more "public source". ↩︎