Jan 13, 2020
Effortful study means constantly tackling problems at the very edge of your ability. Stuff you may have a high probability of failing at. Unless you’re failing some of the time, you’re probably not growing professionally. You have to seek out those challenges and push yourself beyond your comfort limit.
—Jeff Atwood, “How to Stop Sucking and Be Awesome Instead”
Jan 13, 2020
This post helps to understand the difference: Understanding Observability.
Jan 10, 2020
Happy New Year! I’m back from my holiday break. We spent Christmas at home and had my brother-in-law flown over. Of course, as soon as I left the office on my last work day, a cold knocked me right out and I spent most of the time until Christmas Day in bed. The next day, we went to Germany to visit family. I’m happy to report that we had a very relaxed stay.
I’m glad to be back at work. Wednesday was my first day in the (home) office. During my two-week break, I had time to develop new ideas and I’m eager to get started implementing them. I was also excited to get back into live coding. Sadly, my first stream of the year didn’t yield too many results, but I guess I should cut myself some slack; it’ll take a bit of time to get my head back into the game. Skipping lunch wasn’t the best idea either, I guess…
Generally, I wasn’t too productive over my first three work days. I got distracted too quickly too many times. I’m going to consider this my warm-up phase. Next week, I’ll build myself a better basis for getting shit done by getting back into a routine of setting myself concrete goals. I’ve also realised that deadlines create accountability and focus. Perhaps it’s time to pull this SMART method out of the drawer!
On the hobby front, it’s all good. I’ve joined a new World of Warcraft guild a few weeks ago and did a great dungeon run with my new buddies last night. And typing this post, I’m enjoying the “good feeling of oneness with cup rubber”; in other words, I’ve added an original Happy Hacking Keyboard (the new Hybrid model) to my collection.
I hope you had a pleasant start into 2020, too!
Jan 6, 2020
The Ariana Grande retrospective
I like how a few creative modifications can make a dull team activity interesting again!
Dec 29, 2019
In addition, German children merrily walk home from school on their own through the forest. Everybody knows that it is extremely unhealthy for Irish children to walk anywhere, especially to or from school, never mind through forests.
The sarcasm is strong in this one. Didn’t expect to grin reading an article by Breda O’Brien.
Dec 29, 2019
Markus is thinking about making a ruckus. What a great New Year’s resolution!
“We’re here to put a dent in the universe. Otherwise why else even be here?”
—Steve Jobs
I’m incredibly excited for 2020.
Dec 17, 2019
A great example how hosting a conference is more than just running it. chelseatroy.com
Dec 16, 2019
Adopt technology because it’s helpful to you, not just because it’s hot. Or, as Mattias Geniar says, “get satisfaction in knowing that you’re making a difference for the business & its developers because your servers are running as best they can.” sysadvent.blogspot.com/2019/12/d…
Dec 16, 2019
What a lame excuse for corporate greed. Die like the dinosaur you are, Irish Rail. “Irish Rail ban on reusable cups angers passengers” www.irishtimes.com/life-and-…
Dec 15, 2019
It is true what they say about growing an audience: You have to show up regularly and in a predictable manner. Only after I settled on a consistent schedule, the number of viewers of my Ruby on Rails live coding stream has been increasing steadily. What makes me especially happy is that this makes the live chat more interesting. I’ll admit that I also had fun turning my home office into a little studio with proper lighting and two cameras. Come join me on Twitch on Tuesdays, Fridays and Saturdays at 4pm Irish time, and say “Hi!”
On my stream, I was struggling with finding a good place for some authorisation logic for more than two weeks. I finally realised that it needed its own object class. How I was missing that simple option for all this time is a mystery (and a bit of a shock) to me. I can only assume that it was part lack of OOD experience and part framework tunnel vision. But hey, just another reason to keep on truckin’!
On the keyboard front, I’ve lately been using Kailh Box Pink switches in a 60% Tofu aluminium case with HHKB layout. I really like the clicky and thocky sound, and the HHKB layout (which resembles the classic Sun Type 3 keyboard) makes coding more comfortable.
For 2020, I’ve set myself the goal of learning Javascript. I’ll use the year-end break to work through Wes Bos’ “Beginner Javascript” video course.
Dec 4, 2019
Because I started programming a long, long time ago, I have to admit that I spent most of my career without writing tests to accompany my code. It was only in recent years that I learned how to use a test suite to my advantage. In hindsight, I should have started earlier because having tests completely changed my life as a software developer.
Tests create peace of mind. The amount of confidence with which I now release my code to production is worlds apart from the trepidation of past deployments when I was on edge for hours waiting for the other shoe to drop. Beginning of this year, I wrote about this in my article “Test-Driven”.
I remember how difficult it was for me to get into writing tests. Honestly, once in a while I still struggle with building clean and efficient tests. That’s why I can relate to developers who are turned off writing tests by the additional effort it takes.
Decades of me coding without a test suite prove that you can not have tests and still do a decent job. However, that doesn’t mean that it’s a good idea. Or that it’s good practice in 2019. I’d even go so far as to state that building tests for your code has become basic professional behaviour.
Martin Thompson draws an interesting parallel to the medical profession on the episode “Protocols and Sympathy” of the Arrested DevOps podcast (link jumps right to the related point in the conversation):
“A surgeon will not consider performing an operation without washing their hands.”
But did you know that it wasn’t until the efforts of people like Ignaz Semmelweis in the 1800s that antiseptic procedures were even considered par for the course by doctors? Setting higher standards for hygiene transformed medical practice.
I’ve come to the realisation that spending time on writing tests before coding business logic is like washing your hands ahead of performing surgery. In the long run, it saves time and money because it make sure that “done” means “done”. Better hygiene in medicine reduced the number of deaths and minimised the need for antibiotics and urgent follow-up operations. A robust test suite will reduce the number of outages and minimise the need for workarounds and urgent debugging sessions.
In both cases, there’s going to be far less suffering for everyone involved.
Dec 4, 2019
Is it just me or is Bad Lip Reading getting better all the time? “MORE STRANGER THINGS”
Dec 3, 2019
I’m surprised that an article like “A Better Internet Is Waiting for Us” can be as enlightened as it is and still not mention the term IndieWeb or reference an alternative social platform like micro.blog.
PS: Is that CSS intro transition gorgeous or what?
PPS: I like to think that “You may not develop artificial or undesired entities for use in Photon Emission Products (PEPs).” is in fact advocating for ethical lasers.
Nov 27, 2019
Seth Godin: “The existence of DuckDuckGo doesn’t significantly change Google’s position as a monopoly able to dictate how most people experience everything on the web.”
…yet. 😃
Nov 21, 2019
I’m so happy to see how open source conferences are getting more and more inclusive. Good job, #RubyConf!
Nov 18, 2019
My shell prompt is already written in Rust. Looks like my next shell might be as well.
Nov 15, 2019
I use to say that the weather in Ireland is much better than its reputation. But this week, it’s been really, really terrible.
I had this week off and mostly did what I felt like doing. The phrase “Right. Next, I’ll have to…” is how I put pressure on myself. And, as I’ve explained in my talk about resilience at DrupalCon, pressure can slowly turn into burnout. That’s why avoiding “I have to” and not trying to accomplish anything is actually good for me.
Speaking of my resilience talk: This week, I was invited to give my presentation via Zoom to the Drupal Scotland groups in Edinburgh and Dundee. I’m really happy with the outcome and I hope I was able to inspire more people to stop and correct course towards better mental health.
I ended my holiday week somewhat early by doing a pair programming session with Markus on Friday morning. I’m pretty sure we both felt that it was time to work on something as a team again. A “want to”, not a “have to”.
My Bose QC25 headphones got a Bluetooth upgrade and it’s glorious. I’ll write a separate post just on this.
Man, these unknown unknowns. I had no idea of the capabilities my iPad Pro got with its latest upgrade until I watched Christopher Lawley’s iPadOS video.
Nov 14, 2019
Good explanation of what refactoring is and what isn’t refactoring anymore: Let’s Not Misuse Refactoring
Nov 13, 2019
I guess I’m in a good place when all that comes to mind about the new Macbook Pro is “I guess 2.5k is a bit excessive to spend on a mobile WoW rig”.
Nov 12, 2019
You have headphones with noise cancellation. But what about the noise within your head? Here’s a great bunch of tips: 28 Ways to Find the Stillness You Need to Thrive
Nov 9, 2019
Joining the IndieWeb
After hearing and ignoring the term many times over the years, I finally got the importance of the IndieWeb movement. Which information we find on the web and how others find the information we put on it should not depend on the goodwill of mega-corporations and algorithms. Huh, that sounds quite cyberpunk; maybe it was my recently rekindled interest in Shadowrun helped the coin to drop for me. But it was Tantek Çelic’s talk “Take Back Your Web” that pushed me over. I’ve already left Facebook a while ago and (obviously) revived my own blog. Even though I now wanted to integrate it with others using modern standards like webmention.io and microformats2, I felt I’d rather spend my time writing. That’s why I decided to save time and move my blog to the micro.blog platform. I used this opportunity to give my blog the simpler domain name “geewiz.dev”. Welcome to my new digs!
Writing workflow update
I’m now using Drafts not only for short notes but also for writing posts, email and other text. Most texts start as a quick brain dump of only a few keywords. When I get to write, I flesh them out more and more. When a text has matured enough, I copy it to its final destination such as a Jekyll git repository, the micro.blog web form or my email application. After a few finishing touches, I publish the content. Simple.
Nov 7, 2019
“My web team told me about your Drupalcon talk and I watched the YouTube recording yesterday. I just wanted to say that I really appreciated your talk, your honesty, humour, concrete advice, thank you.”
This made my day.
Nov 5, 2019
I can relate to DHH trying to drop the Stockholm syndrome. Apple machines are a very mixed bag. But they’re still the best desktop experience I can find. I’m now pairing my iMac and iPad with a Linux dev server and get both best worlds (i.e. desktop pleasure and open source power).
Nov 3, 2019
I haven’t written any weeknotes lately, so let’s catch up with things.
In my old office box, I found the old HP 28S calculator that I bought in 1991 and that converted me to RPN for life. It still works, despite one of the batteries I stupidly left in having leaked a bit. I wish I had more math to do at work because I’d love to use the this nice piece of hardware some more again.
The upgrade of my iPad Pro to iPadOS 13 got stuck and none of the recommended solutions worked for me. In the end, I resorted to restarting it in Recovery Mode and that got things rolling again.
I built my first two custom mechanical keyboards. That’s going to be a separate post.
At work, we’ve been using Notion as our knowledge base for a few months. However, it wasn’t until watching a recent Notion Office Hours video that I realised how powerful this platform can be. The article on the PARA method mentioned in the video inspired me to put a lot more information into Notion than just text content.
An email recently informed me that “You’ve been on Drupal.org since 10/10/2008”. Wow, it’s been a while! And I still enjoy being a member of the Drupal community.
I’ve downloaded all the videos of RailsConf 2019 to my Plex server so I can watch them at the office or, thanks to Plex Sync, anywhere I have my iPad with me. Right at the top of my list was “Programming Empathy: Emotional State Machines” by Coraline Ada Ehmke. Reflexively, I was about to skip that one because I remembered that listening to her on podcasts had made me feel uncomfortable. But I decided to challenge this reaction and I’m glad that I did. I learned a lot about empathy from her talk and recommend watching it.
Sep 23, 2019
At the end of last week, I was feeling pretty exhausted. That’s why I’m
publishing this weeknote late on the following Monday. I have to have high
expectations of myself, otherwise I’ll easily fall into slacking off and looking
at keyboard porn all day. But I have
to stop put too much pressure on myself. That’s the best recipe for burnout
because I’m setting myself up for frustration despite of all the stuff I
actually get done.
Speaking of keyboards, I’m still not sure if it’s self-improvement or
self-sabotage, but on top of the previous changes to my keyboard
layout, I’ve now adopted also the other
important improvement of the HHKB layout by swapping the Backspace and Backslash
keys using Karabiner Elements; now it’s much easier for me to reach Backspace
with my right pinky. I was even about to buy an actual HHKB, but faced with its
hefty price, I’ve decided instead to build myself two custom keyboards (one with
a plastic case for travelling, one with a heavy aluminium case for my desk) that
sport the “split backspace” (Tilde and Backslash) at the top right, with
Backspace below, and a “split right Shift” with a small Fn key at the right
edge. Until then, I’ll retrain my muscle memory with a software-defined layout.
So, in short, I’m obsessing over mechanical keyboards as a way to combat both
RSI and Alzheimers (that’s what I tell myself anyway). You can find my Karabiner
rulesets in my dotfiles
repository, by the way.
After returning from my holidays on Ibiza, I had lost all interest in playing
World of Warcraft. And it still hasn’t returned. The parts of the game that I
enjoy the most require group play, and good groups are hard to come by.
Especially for me with my very narrow window of disposable leisure time. And
people focusing on WoW Classic didn’t help my frustration either. Last month, I
canceled my WoW subscription (it’ll still run for a few months) and took the
opportunity to buy the three Shadowrun RPGs on Steam when they were offered as a
Humble Bundle. Being able to play at my own pace is neat but I admit that I
haven’t played SR much either.
Somehow, I’m finding live coding much
more appealing than playing any games. In one of my streams this week, I did for
the first time answer a question that someone had posted to my Discord server.
That was fun and I’d like to make this kind of live-coaching a regular thing. If
my brain wasn’t more or less fried come dinner time, I’d even do a few evening
sessions on top of my regular slots on Tuesday and Friday morning. My next goal
in this space will be to build myself an efficient toolchain that lets me churn
out screencasts that aren’t live but instead more polished.