People tend to think that I’m a bit weird, because I’m quite fond of a long
train journey. Especially when I’m travelling alone. I find it a much more
enjoyable experience than any other form of travel.
When I think about why this might be the case, the word that immediately comes
to mind is “slow”. But that’s not quite the exact reason. I think it’s because
the experience of a long train journey is that it feels slow. Not as in it
feels like it’s taking too long, instead, it feels slow because the journey is
more relaxed.
This may be just me. But when I get on a train, whether I’m trying to get
somewhere urgently like a morning commute or a long journey where there isn’t
really any rush, it’s like I’ve given myself an allocated amount of time to do
whatever I want.
Let’s say you’re on a 3-hour train ride. You know that you can’t influence the
duration, and avoiding any possible delays, you also know the time of your
arrival. Which means, for a period of time, you’re free.
You’re free to spend your time reading, watching a movie, listening to music,
or even just some time to yourself to sit and think while you look out the
window. Better yet, you could do a collection of things.
I tend to use that time to relax, listen to some music, catch up on social
media, maybe watch a video or read something, and probably a good chunk of it
is spent looking out of the window, while my mind wanders.
I may be alone in this, but a journey in a car or plane is always second best
to a train in my opinion. Especially when compared to being on a plane. The
whole ordeal of rushing to an airport, going through security, finding your
gate, and all of the waiting in between, really bugs me.
A lot of people like to comment on how “chilled out” I am. Like it’s just
a part of my personality. But I think it’s more something that I’ve learned to
cultivate. Maybe I’m calmer than the average person, but I think it’s
decisions like taking the slow option, not rushing myself, or inviting any
unneeded stress that makes the difference.
Written: On a train journey from Kings Lynn to London.
I usually tend to write about the tools that I use, whether it’s programming,
or writing for my blog. Well, this time, I guess it’s a bit of both. As I’m now
using Neovim for practically any task that involves writing text.
I’ve been using it at work, with a recent JavaScript project I’ve been working
on, to write quick notes or todo lists, and I’ve also been using it recently to
write blog posts.
Because of its extensibility, I’ve managed to adapt it to my own specific
needs. I have some basic preferences that you’ll have in most editors like
themes, layouts, code highlighting, etc. But I’ve also got a fuzzy finder for
files (and buffers), code highlighting/formatting, code completion, and even
refactoring functionality.
I’ve only really scratched the surface so far, but I’m already finding it to be
an amazing tool. Sure, there’s a steep learning curve. I had to figure out what
plug-ins I needed, learn how to configure them, learn [vim motions][vm], and
also configure a bunch of key mappings for the specific functions that I want
to access in certain contexts. (If you’re interested, my Neovim config
is on GitHub)
I’ve definitely learned that it’s not a tool for everyone. Turns out not every
developer wants to use or even cares about the command line. I got a few
comments like “I just don’t see the point” or “I’m too used to my mouse to
use the terminal”.
Maybe it isn’t objectively better than an IDE for writing code, but it certainly
feels better to me. Maybe it’s the distraction-free way of working, or that the code is in its
most primitive form. But, at least for now, it fits the way I want to work.
And like I said, I’m using it for all sorts of text now. Because if I’m
spending most of my time writing code in Neovim, having another plain text todo
list in another file is really handy. And once I found myself spending so much
time in Neovim at work, when I got home, I started doing the same.
So, when I wanted to write a blog post recently, I decided to try and use
Neovim for that. Because after all, my blog is just a collection of static
Markdown files that I manage with git. Now, my process of writing a new blog
post is to create a new text file, write the post in Neovim, and then use git
to commit and push the changes. After that, my site regenerates
automatically.
I don’t know how deep I’ll go with Neovim. I still expect any work I do in Java
at work to be in IntelliJ, and I can’t see myself using it for my apps either.
But for everything else, I think this will be my editor of choice.
And as much as I am enjoying using it, I do find it rather funny that I have
a powerful M1-powered MacBook Pro, running a nicely designed, modern operating
system, and there I am, with a terminal running full screen and dealing with
plain text files.
Next up on my list of things to learn, is tmux. I’ve seen a lot of
people use it, and it feels like the logical next step. After that, I want to
see if I can build out some of my own Neovim setup with a way to use text
snippets, and to output dynamic data such as the curent date.
Now that I’m in this world, I would expect that I’m going to start writing
about it a lot more. So you may start seeing the blog sway a bit more technical
in the future.
I think I may be reaching a bit of an inflexion point, regarding
programming, both as professionally, and also as a hobby.
A lot of factors have contributed to this. But I’d say the main ones are the
big changes I’ve had in my role at work over the past few years, my feelings
about technology and software changing, and also some thoughts on my
professional future.
I’ve been at the same company for just over 6 years now, and my role has
changed massively. When I was first hired, I was the sole iOS developer, and my primary
tasks were to rewrite an existing app in Swift and build another from scratch.
(Both of them being clients for financial services).
However, that lasted just over 2 years. It feels pretty weird to say
actually. I’ve long thought of myself as an “iOS developer” first, that
also has interests in other areas.
Nonetheless, I haven’t really developed for iOS professionally for around
4 years.
I first switched “temporarily” to a big project for the PSD2 regulation
changes. That meant a lot of Java (SpringBoot APIs), but I also started working
on things like our deployment pipelines, and our infrastructure. It was
a sudden change, but I found it pretty interesting.
As you may have guessed, it wasn’t as temporary as expected. Because
I continued with various Java projects for quite some time after. The only
change was after a takeover, which meant us changing our entire tech stack to
something completely in-house. That meant more Java, but instead of REST APIs,
it meant switching to internal applications that interacted externally via REST
endpoints, but internally via RPC calls.
That has essentially carried on until the start of this year. Which is when
I really started wondering about my career in programming, where I want to end
up, and figuring out what I need to focus on next. Because I have to say, I’m
not the biggest fan of Java. I really didn’t want to think of myself as a Java
developer.
Sure, I’ve been working on my own projects in the meantime. Them being apps
for Apple platforms in Swift, various websites, blog engines, and blog themes.
But I was still writing Java nearly every weekday. So I was becoming a Java
developer whether I liked it or not.
One problem I had with it, was that I would be in a weird situation if I were
to look for a new job. I haven’t professionally worked on iOS for some time,
and I also don’t have the deep knowledge of Java that I would need for a new
Java role. I started feeling like I’d either have to quickly get out and focus
on iOS again, before finding a new job doing app development, or I’d need to
completely pivot and do something new.
That is why I’ve been experimenting a lot this year. Disregarding working on
small things like my blog, the projects I’ve worked on in my personal time this
year have involved Node.js, Python, Swift, a bit of Rust, and also I’m starting
to have a look at Go. I definitely haven’t been making this easy for myself.
Weirdly, it’s been pretty similar in my real job as well. I’ve been given a few
projects to work on by myself, one of which, I was in complete control over (It
was essentially data manipulation) and I chose to write Python, and another is
what I’m working on now, which is an integration for the NetSuite ERP platform
in SuiteScript (JavaScript).
We’ve got a relatively small development team locally, and it appears that I’m
becoming the guy that does the various bits of work that no one else
wants to do. When the idea of writing an ERP integration in JavaScript came up,
most people seemed pretty put off by the idea. Because “they weren’t JavaScript
developers”. I personally saw it as an opportunity to try something new. Which
right now, seems like a pretty good idea. Since I have no idea what
I want to do long-term.
I actually joked with someone at work recently about seeing how many programming
languages I can use in my job this year. So far it’s been Java, JavaScript, and
Python, as I mentioned earlier. But I have my sights set on a target of 5.
We have a lot of work that requires work on our website, and because my team is
essentially a bunch of Java developers (minus me), that means dealing with
a team in another international office. However, my angle is that I think we
should be able to make “small” changes locally. My boss seems to like this
idea. So I think it’s quite likely that I will be doing something related to
that this year, which means React/TypeScript would be added to the list.
The fifth one I’m not totally sure about. Although, I do want a bit of a challenge, so I may
try to push for something like Rust or Go. Either way, I think I better start
laying some groundwork soon.
Hopefully, at the end of this year of experimentation, I’ll be a bit closer to
figuring out what I want to do professionally. Do I want to really focus on
something new like Python or Go? Do I want to lean into Java more? Or possibly
do I even try and stay working on as many technologies as I can?
As for right now, I still don’t know the answer to the question in the title of
this post. What sort of programmer am I? I’m certainly not just an iOS
developer anymore. Am I full-stack? Or haven’t I done enough front-end for
that? Is a weird mix of skills what’s now referred to as a software engineer?
I’m starting to think that I’m just a “programmer”. No fancy specifications (or
limitations), just someone that writes code in order to get things done.
I wrote a couple of days ago about my early thoughts on Threads. Overall, I was pretty optimistic about how it could turn out. It’s an alternative to Twitter, it could be another boost for the ActivityPub protocol, and it could mean people on Mastodon would be able to connect to more people.
However, as much as I wasn’t planning on replacing either of my Mastodon or Twitter use with Threads, I’m still left a bit disappointed by the launch. I’m now doubting whether I’ll be using it at all.
Sure, it’s just a 1.0, but it’s still a massively subpar experience.
I was expecting it to be “Twitter, by Instagram”, with emphasis on the Twitter. Instead, it’s the other way around.
To me, Threads takes one of the most annoying parts of Instagram, the algorithmic timeline, makes it worse, and then provides it as the foundation of a new social network.
Algorithmic feeds can work, and there are certainly benefits to them. But as a primary way of interacting with people on your platform? That seems a little weird. Especially when it’s not limited to the people that you choose to follow.
What’s the point of “following” someone on a social network, when you’re just going to see content from everyone else anyway? Is it just to give the algorithm a little nudge?
Anyway, as you can see, I’m not exactly a fan of Threads at the moment.
Maybe it can get better? Then again, it could also get worse
I think there’s still reason to be optimistic about a possible ActivityPub integration. But as for using Threads itself, I don’t think I’ll be doing that very much.
Update (16:30): While I am still unsure if Threads will work for me long-term. I wonder if it would be more beneficial to me as a replacement to Instagram, rather than Twitter or Mastodon.
Sometimes when I write long blog posts, I like to run the text through Grammarly as a way to pick up on some spelling or grammar mistakes that I may have missed. But sometimes, it tries to make me “less wordy”, remove words that “aren’t necessary”, or change the whole tone of the post.
In the past, I would blindly accept any suggestion that was made. Because surely Grammarly knew best? Maybe I just can’t write properly.
But I’m now becoming of the opinion, that seeing as this is a personal blog, my writing should mirror the way I think and talk. I’m not creating legal documents, marketing material, or a school textbook, this blog is about me, so it should probably sound like me too.
I’ve often wondered how I would start my digital identity again. This wouldn’t be applicable to me but rather for anyone just starting out down the path. Knowing what I know now, I’d definitely do things a little differently.If I was to start over again, here’s what I would do. I think I could do it rather cheaply as well.
A fascinating read, and one that seems to me would be effective at the goal of creating a digital identity that was separate from your real one.
I can’t say that I’m currently in the market for a new identity, I quite enjoy being myself. But, it does give an interesting perspective into digital life. They go over a possible computer set up, way of getting money, and a few other rules on what to do and not to do.
You may (or may not) have noticed the impending arrival of FacebookMeta Instagram’s new social app. Well, it’s now officially coming out on the 6th of July, and it’s called Threads.
The main rumour was that this new app would support ActivityPub, which is an open protocol that Mastodon is based on. This has led to all sorts of reactions. From people completely opposed to anything from Meta connecting to the Fediverse, and wanting to block it from their instance. To people that are excited about the potential of the new users that it would bring to the degenerated social network world.
I’d say I’m somewhere near the more optimistic end. Because, there is clearly space in the market for a new short-form text-based social network, and if it’s backed by Instagram, then it stands a good chance of surviving. Or at least gaining enough attention to make it viable in the short term.
Regarding ActivityPub and the Fediverse, my opinion is that if Threads fully supports the protocol, then that is surely a good thing. Because, apart from major social networks simply not existing, having them work with an open standard is surely a pretty cool thing.
I do not doubt that some people will not want to have their instance to connect to Threads. This is a totally valid opinion, and I’m sure there will still be options for this.
However, I’m guessing a lot of Mastodon instances won’t block Threads. Which means, if you know people that didn’t make the jump to Mastodon, you may now be able to communicate with them this way.
Either way, it’s a curious situation that a major platform like Instagram would even think about integrating with something open and decentralised. And I look forward to seeing what happens as a result of this.
The connected and intelligent clothing-based wearable device uses a range of sensors that enable contextual and ambient compute interactions.
Even though we’ve only come across very minimal press releases, and a short TED Talk, this device has already peaked my curiosity in a way that no other product has.
Sure, this product could a total disaster. But it could also be the next step in personal computers. The range of potential is huge.
I have so many questions about it, but for once I’m just allowing myself to be a little excited.
A few months on and the C2 is the most fun I’ve had with a smartphone since I got my first one over a decade ago.Using a phone that’s this budget I don’t feel constrained, I feel focused. There’s just enough space that I can install the odd app I only use occasionally but not so much that anything that vaguely takes my interest can be installed. Battery life is better than expected but just short enough to make every unlock mindful of its purpose. In the rare moments where web pages or apps lag, it’s a reminder that this is probably something better done on a desktop. And to top it off, in a strange twist, this will also be a phone with the best chance of longevity given that replacing the battery is as simple as popping the back off.
The whole piece was interesting, because I for one, haven’t thought about digital The whole piece was interesting, because I for one, haven’t thought about digital minimalism in regards to phones. Except for using fewer apps. But this is more about being constrained physically.
And it sort of resonates with me, because a while ago I decided to use an iPhone 7. And I also found it to constrain me with what I could do. It was a smaller screen, the battery life wasn’t that good, and it was running an old OS, so some modern apps wouldn’t run on it.
Despite that, I would also say I felt more focused because of the constraints. It slimmed down the list of tasks that I felt the phone would be useful for and made it more of a tool for specific uses.
I eventually went back to using an iPhone 13 Pro, but the idea of using a more lean device still interests me.