It was pretty good weather for an otherwise sweltering January, as they lay perched on the rooftop balcony overlooking the suburbs. "You smoke?", she asked pointing the pack at him. Toying momentarily with the idea of changing his entire personality to fit in (as he often does), he finally resigned to a quiet "no, thanks". He hoped it didn't come ...
2020 has been an interesting year musically, so here are some of my favourite music this year. Theo Katzman Vulf wunderkind Theo's album, "Modern Johnny Sings: Songs in the Age of Vibe", has been the talk of the town. Cory Wong Speaking of Vulf alum, Cory's album "Elevator Music for an Elevated Mood" is also the talk of the town, ...
Meme by Justice For Tharindu First, you need to make up your mind. If you take this project on you must proactively try to make things better. How to do this will depend on a number of factors and the support of the stakeholders, but you must actively try to make the codebase a better place, or you'd come ...
The Blog I've written 18 blog posts in 2019, which is below the target I set at the start of the year (two blog posts a month, for a total of 24), but it's progress. In comparison, I wrote only 1 post in 2018.
Yes, but can Liberals batter down doors anymore? Last night, dealing with a bought of insomnia, I read this important take on BoJo (not to be confused with BoJack) and the conservative wave sweeping across not just the UK but most of the world. While there might be a few points of contention, I think overall it was a ...
My current work requires keeping track of more than a dozen live websites and making sure that their versions are kept up to date. We have employed a small Go program to make this possible, which enable us to scrape the generator meta tags on the websites and thereby get the version number1. The code is simple and uses ...
Nobody reads this blog1. RSS readers are dead, Kottu's stats page makes me weep, and I don't dare post these things on social media. So that leaves me at my most comfortable—a good old conversation with myself. There is beauty in solitude. You only truly begin to appreciate it as you get older. At long last you feel validated ...
I've been eyeing a graphics tablet for a while now, and on 11.11 there was this gorgeous Gaomon S620 for just $22 (!!!) on AliExpress, an offer I simply couldn't refuse. Well, the tab arrived in the mail today, and I want to share some of my experiments on my first day of digital art! The first few attempts (above) ...
I've been sketching at work... I've been sketching at home... I've sketched someone who looks like Jinora... And someone who looks like me... Most are terrible... But some, I'm quite proud of... Especially this one
In the last part, we broke the application core out, with layers for entities, usecases, and infrastructure. The example code we used in the last part (without breaking the core out) can be found on Github. Now let's look at how we can implement the core. I will be using TypeScript here because it has two things that we ...
Clean Architecture, simplified. I'm a huge fan of Robert C. Martin's work in general, and Clean Architecture in particular. I'm frequently on the lookout for how to apply it to the different system architectures and frameworks we work with. Which modules should be decoupled? I think the rule is similar to the previous rule: Any module that changes frequently ...
CloudWatch is pretty cool, and looking at a metrics dashboard and setting up alarms is pretty badass—especially when you're not a full-time DevOps and don't have the time to worry about your monitoring solution in addition to the thing it's supposed to look after. If you're running some of your stuff outside AWS (cue gasps), CloudWatch agent is supposed ...
In the last part, we added fancy output code, and our output looks like this now: ...which, if you've ever seen a map, isn't what terrain actually looks like. The terrain around peaks tend to be at a similar height, and there is rarely the random patchwork of heights we see here. So let's fix that! But first... Visualise Steps ...
In the last part, we refactored the code and added CLI flags. The output right now looks like this: It doesn't really give us a sense of what the terrain looks like, though. Let's change that. Unicode Unicode has some nice characters that can help us here. The ones we're going to use today are: U+2591 ░ Light shade U+2592 ...
In the last part, we explored how to set up what was basically a matrix and randomly assign elevation values to it. In this part, I wanted to explore how to deal with assigning values to the elements adjacent to the peaks, and how to display the map to users in a more intuitive way than a bunch of numbers. ...
I haven't gushed about Go much on this blog1, but I thought of writing a small series of posts on a little piece of code I cooked up while I was supposed to be doing other, more important things2. Concept So I was sitting there, zoning out and browsing one of my favourite subreddits, when I thought about how terrain ...
Twilight I have been on a Makoto Shinkai binge this week. Even though I am usually very selective and sparse with my media consumption, I had the fortune of seeing Kotonoha no Niwa (Garden of Words) at Malinthe’s the weekend before last, and I was hooked. 5 Centimetres per Second had been on my watchlist ever since Dili showed ...
It doesn’t go away. None of it does. No matter how kind or forgiving you are, the stains of the ‘bad times’ stay on like fountain pen ink on white fabric, refusing to budge. All they need is some mild reoccurrence to go full-on #ThrowbackThursday * * * Am I a bad person? Was she a bad person? Do ...
Romeo was a Montegue, the powerful ruling clan. Juliet was a Capulet, a member of a minority (and yet, a privileged minority in many ways). Romeo adored Juliet. They had rarely spoken, but he was an ardent follower of her work since his teens. He was very much smitten, amazed at how every word she laid down on paper seemed ...