Matthew Lang avatar

Matthew Lang

Technology

A collection of posts focusing on web technologies and personal devices.

The downside and upside to moving from Hey to Proton Mail

I’ve encountered several issues since trying to migrate from Hey to Proton Mail, but the process has been mostly painless. I’m still updating all my accounts, but I’m almost done.

A couple of things emerged from this migration that others might find interesting.

  1. Hey doesn’t support IMAP, and Proton Mail doesn’t support importing email using MBOX, so I’m not sure if I’ll be able to move all my emails from Hey to Proton Mail. Fastmail supports importing email using MBOX, so if moving your email across is a requirement, you may want to consider this option.
  2. Hey doesn’t currently allow you to send plain text email. It might not be a deal breaker in this modern internet age, but there are still people who prefer this option, and I recently encountered this issue when I started using Sourcehut. Sourcehut’s mailing lists are easier to use with plain text, so I was glad to find out that Proton Mail allows me to do this, enabling me to start using Sourcehut’s lists feature.

It will be another couple of weeks before I am fully migrated over and using Proton Mail daily.

A brief set of headphones

I’ve been a bit of a die-hard Anker fan for the last few years. I’ve spent my fair share on chargers from them over the previous few years, and I can’t fault them one bit. The earliest ones we bought are still working and are used to power the LEDs for a few of our Lego Star Wars dioramas.

The same goes for their headphones. I got a pair of Anker Soundcore Life 2 headphones for my 40th birthday. It was only this summer that I finally had to retire them. I replaced the ear pads for them only once during the entire time I owned them. I couldn’t fault them. The long battery life, quick charging, and noise-cancelling feature were beneficial for my daily influx of calls and meetings at work.

With my headphones on the blip during the summer, I started borrowing my youngest’s headphones, Anker Q20i headphones, but I knew the day would come when I would need to get a set for myself.

Last week I purchased a pair of Sony WH-CH520 headphones. All the usual stuff. Bluetooth, multi-device function and over-the-ear style. I can’t wear an in-ear set like AirPods all day. It’s too uncomfortable.

Sound quality is good, and they’re easy to connect to different devices. The multi-device function was a bit finicky and required installing the app, but once set up, it was easy to switch between devices. I have noticed the audio stutters upon initial connection and for a few minutes after it.

I have reservations about the physical side of the headphones. They are very light and don’t feel as solid as my Soundcore headphones or even the Q20i headphones. Also, the ear pads are a lot smaller than Anker’s ear pads, which means they sit on my ears as opposed to over my ears like the Anker ones do. After a couple of hours of use, they are very uncomfortable to wear.

I’ve got mixed impressions about the headphones, so I have decided to return them. The stuttering audio is the main issue with the uncomfortable feeling when wearing them being the other. Yes, the Sony headphones were at the cheaper side of the scale and I do believe you get what you pay for, but the Anker headphones are on a similar price and I do find them more comfortable and the audio has always been faultless.

Just need to wait for the refund and then re-order the Anker ones, so for the moment, I’ll still be borrowing my youngest’s headphones.

I’m seriously considering getting a cheap laptop to give Omarchy a try.

I can’t see myself using anything else other than an iPhone as a smartphone. However, I’m open to seeking an alternative to the MacBook as my main web development laptop.

Back to school with AI?

In a couple of weeks, it’s the start of another school year here in Scotland. Another to-do list comes with the usual items for this time of year. School uniform, school bag, topping up the meals account and many other things. I’ve added another potential item to the list.

AI subscription.

ChatGPT, Claude, Gemini and the many other AI subscription services became popular at an ideal time for my oldest. He was in his final year of school. He was curious about how it could be used to aid his homework and studies. I showed him how I use it for my own coding and learning, and its benefits.

He used it to his benefit in his first year of college and finished with good grades in his coursework. I also reinforced to him that it shouldn’t be used to do the work for him. Research, yes; learning, yes, but final essays and coursework should be his work and his work alone. He’s now off to college in the US in a couple of weeks, and I think he’ll use it well to help his studies.

My youngest is going into his second year of high school, and now I am wondering if I should be onboarding him to AI tools to help his studies. In his first year of high school, he didn’t get much homework, and trying to ensure he was on the right level for his age was difficult. My thought process behind introducing him to AI tools at this age is to show him how to use these tools correctly and not just use them as copy-and-paste tools.

AI tools are here to stay, and my hope is that by onboarding him to these tools early, he uses them correctly and enhances his learning. I’m also hoping that he finds another use for them beyond schoolwork. He’s pretty creative and has a good imagination. It’s a quality that his teachers commented on in primary school, but in high school, he’s yet to find an outlet for this. It might be that introducing him to these AI tools now would not only help his schoolwork but also provide him with access to other topics he might want to learn about.

The more I think about it, the more I am convinced that introducing him now to these tools is the right move, and in doing so, would ensure that he’s comfortable with AI tools and how to use them appropriately.

Father’s Day is just around the corner here but I managed to convince the family to let me have my gift early, a Kobo Clara BW e-reader. I’ve been wanting one of these for a while.

An open Kobo e-reader displays a page titled "Feed Your Weaker Self" beside its case.

Building my own technology radar with SVG

When I was freelancing, one of the things I did regularly was read the ThoughtWorks Technology Radar. It’s a snapshot of the different technologies that ThoughtWorks is considering and using. As a freelancer, I found it a good read as it provided a glimpse of what was happening in the web development industry. Once I started working full-time again, I stopped reading it and didn’t revisit it for a few years.

My current role is senior software engineer, but I am working towards the next role up from this one. This involves expanding my role in several ways, including learning and adopting new technologies and processes. One way I thought I could do this was to set up my own technology radar. ThoughtWorks does offer a means to run your own technology radar, but I wanted my own technology radar to be more straightforward.

Armed with my new knowledge of using SVG over the last couple of years, I decided to start building a technology radar of my own.

My technology radar comprises two layers of quadrants, the smaller quadrants on top of the bigger ones, to achieve the effect of having an outer trial quadrant and an inner adopt quadrant. I used the path element to do this.

<path d="M 10 45 A 40 40 0 0 1 45 10 L 45 25 A 30 30 0 0 0 25 45 Z" fill="#e3f2fd" stroke="#2196f3" stroke-width="0.5"/>
<path d="M 20 45 A 25 25 0 0 1 45 20 L 45 45 Z" fill="#e8f5e9" stroke="#4caf50" stroke-width="0.5"/>

The tokens representing the different individual items are simply circles and text elements nested under a group tag so that I can group all the items together.

<g transform="translate(40, 35)">
  <title>TDD</title>
  <circle cx="0" cy="0" r="2" fill="#4caf50"/>
  <text font-weight="bold" x="0" y="0.5" font-size="1.5" text-anchor="middle" fill="#fff" font-family="Arial, sans-serif">2</text>
</g>

I added a title tag to each token to achieve a hover effect with a text description of the token.

Finally, I added labels to the middle of the quadrant to indicate the two sections and each corner to indicate the type of technologies grouped in that quadrant.

I haven’t figured out how to programmatically group tokens in each quadrant with code, so for the moment, I am using SVG Viewer to place tokens in each quadrant by hand.

I have published a GitHub Gist of the technology radar with blank tokens filled in for one of the quadrants. Feel free to fork this technology radar for your own needs.

You can find my own technology radar here. I’ll be updating it as the year progresses.

No Wi-Fi, no problem

It’s day 2 of no Wi-Fi in the house after a complication occurred yesterday when a new fibre line was being installed. In the meantime, I’m using my mobile phone data to connect to work, and the big yin is using his mobile phone data to finish his college work.

Don’t get me wrong—last night was great. With no Wi-Fi, everyone had to resort to alternative forms of entertainment, but it was a rather relaxing night. A few things were a nuisance to overcome, but at the end of the day, that’s what they were. A nuisance.

I’d be pretty happy to have more days like yesterday.

Projects like EmojiRain make me glad we have developer-friendly social media platforms again.

Notification Nation.

I mostly have notifications turned off, with only a few apps enabled. Even then, the scope is narrowed down so that I receive a notification from that app once or twice a day.

I can’t decide whether Astropad’s Bookcase is a beneficial device or not. Yes, I’d like to read more, but not necessarily from my phone. That’s why I read from my Kindle. If you limit your device count to just the essentials, e.g., no Kindle, the Bookcase would be a good buy.

I am starting to get in the habit of copying and pasting the responses that ChatGPT gives me into my Bear Notes and then adding any changes I want to make there. Trawling through the ChatGPT history is a bit of a pain, but then it’s not really supposed for long-term storage, I suppose.

The new Reeder app probably isn't for me

Sadly, Reeder no longer supports other RSS feed clients like Feedbin and Feedly.

Why doesn’t this version of Reeder support third-party sync services?

With the new Reeder, tracking what you’ve read is based on your scroll position rather than traditional read/unread states. This design makes integration with most third-party sync services non-trivial, so support for these services is not currently planned.

Reeder Help

This change away from unread/read states on posts is probably my biggest concern with the new Reeder app. Scroll positions have been used in similar applications to determine how much you read. From my memory, I didn’t use this feature in the applications that implemented it. I was happy to start scrolling from the latest posts and scan back as far as I wanted. It’s early days, though, and I haven’t even added any significant number of feeds to Reeder to see how effective this will work.

That is the beauty of unread/read states, though. Minimal thinking is required to determine what’s left to read. I know from a glance what I need to catch up on. Scroll positions require me to scroll to catch up to the point where there’s nothing left in my timeline to see. I would much rather click through collections of feeds and see precisely what’s left to read.

For now, though, I’ll keep Reeder Classic on my iPhone, but I can see myself using Feedbin’s iOS app instead of Reeder Classic over time. I imagine there will come a time when Reeder Classic won’t be supported. When that time comes, I would prefer to use an alternative to Reeder Classic daily rather than be forced to make the change away from it.

I’m unsure how I feel about the AI Chatbot feature in the latest Firefox release. Granted, it’s part of Firefox Labs, an optional experimental feature, but I still don’t see a real need for it.

The downside to getting some new tech in the house is the need for follow-up purchases: screen protectors, cases, and sleeves.

We upgraded our youngest’s old 7th-generation iPad to a new 10th-generation iPad. I reset the old one, which I now use for reading and surfing. Usually, we re-cycle devices down the way to the boys, but our youngest needed a new one for high school. Happy to take the old one!

I like the new Journal feature by 37signals included in their Hey product. I’ll explore this for a few weeks as I’m also trying Apple’s Journal app instead of Day One.

Turn your phone into a dumb phone.

I love this, and I will definitely try some aspects of it. However, I can’t say if I’ll go the whole way and do everything in this video. If you prefer to read, there’s also a web page with instructions.

Procreate is taking a stand on AI

Procreate’s stand on AI​ should be applauded.

We’re here for the humans. We’re not chasing a technology that is a moral threat to our greatest jewel: human creativity. In this technological rush, this might make us an exception or seem at risk of being left behind. But we see this road less travelled as the more exciting and fruitful one for our community.​ ​

​I’m glad to see that companies like Procreate still recognise the danger of AI in their products. AI has it’s uses, but it doesn’t need to be everywhere. ​

Clearing the home screen

Spurred by this post on digital minimalism, I’ve decided to do a little clearing of the decks on my iPhone.

Gone are some Twitter clients, a few news apps and a 2FA app.

I’ve replaced the Twitter clients with the web interface on Safari, and I’m glad to see that I can now log into multiple Twitter accounts. I’m still not a big fan of Twitter, but accessing it on Safari is handy.

The news apps were never really used, and I can also read the news on Safari.

I’ve been meaning to move to 1Password’s two-factor authentication for accounts for some time, but I’ve been simply putting it off.

The home screen is starting to look a little more sane again.

Ghost & Unsplash

It’s good to see the Ghost team steadily adding features to my favourite blogging platform. One such addition is the vast library of Unsplash images, which is now available from the Ghost editor.

Dropping Todoist for a while

For a while, there has been a nagging question in the back of my mind: Am I really getting the full use out of my to-do list? Two people have made me question this in the last couple of weeks.

The first was by Patrick Rhone after re-reading a post from a while back:

You see, when the things you hope to do are on some long wish list of things you hope to do, they are telling you a lie. They are telling you that you that every single thing on there is of equal importance.

Better Things by Patrick Rhone

The second was CJ Chilvers on the idea of killing your to-do list:

I’ve slowly become a convert to the idea that we need to concentrate on our calendars a whole lot more to achieve what we want in work and life. If you want it done, it must be scheduled. If it’s not scheduled, it’s just another item on your wishlist that will never be completed.

Kill Your To-do List by CJ Chilvers

I work from my calendar throughout the day for high-level things like client work and more significant projects. I use Trello and schedule cards, which I’m working on in my calendar for this. For low-level stuff like errands and such, I use Todoist. Lately, though, I’ve found that Todoist has been holding nothing more than smaller tasks, which has led me to question my value in using it.

So, I’ll stick with Trello for more significant projects and schedule work for the next few weeks into my calendar. With Todoist dropping, I’m going to look for an alternative. It might be Trello, a pocket notebook, or an index card. I haven’t decided yet.

Wanted: A folder in the iOS Photos app that deletes photos older than 30 days.

Safari beach balling when I open up a client’s repo on Github. It’s gonna be one of them days.

Quit Safari. Start Safari. Github page opens. groan

Great, now I’m mechanical keyboard shopping. #geeklife