2 horas of work, 2 commits, one publish. An hour off. 2 hours of work, including responding to half a dozen emails.
Walk the dogs. Lunch. Watch an episode of Star Trek Discovery.
Afternoon—Fix the tap.
Clean the working area under the sink. Wiggle into the tiny space under the sink and remove the old kitchen tap. Boys try to join me under the sink, and lick me to ensure I’m fine. Find two right sized pieces of wood from the pile under the shed (thank you previous owners). Spend another 5 minutes trying to get both the dogs out from under the shed, and into the house. Saw them (the wood pieces, not the dogs) into correct size and shape. Measure, mark, drill holes for the piping into the wood pieces. Fit the piping and the tap on top of the kitchen board. Realise the hole is too small for the top, thick part of piping. Disassemble everything, drill a smaller secondary hole. Reassemble everything. Wiggle back under the sink and fit everything together. Connect the water pipes. The little dog has dozed off with my right leg as his pillow. After a few minutes of fruitless cajoling, replace my leg with my rolled-up hoodie for his pillow. Get up and test everything is working. Wiggle back under the sink and tighten all the connections. Clean all the tools and the removed tap. The little one is still sleeping on my hoodie next to the sink. Open the fridge. Both the dogs are awake and ready for something, anything, from in there.
All this while cooking the little one’s meal (boiled chicken and rice) for next 24 hours.
The big one is sleeping behind me on the carpet. The little one is sleeping across us on the bed. I’m trying to work. Good luck to me!
I was updating a few things in the Todo.txt Android app earlier today. I have a second hand Pixel device that I use for testing as I develop. Since I hadn’t used it for a few days, its battery was fully discharged, and it’d be a short while before I could use it to run and test the code. I had the option of using one of the many software emulators, but they are slow on my system1 when run alongside the Android Studio and multiple Chrome instances. Instead, I decided to just code the stuff, document it, and write a few tests till the Pixel was ready for use.
This was different from my usual development practice of writing a few lines of code and then executing to see if it’s working as expected before continuing. I had to think ahead, and structure the code a bit more. I had to mentally execute the method, and its tests. I wrote a bit more comment docs than usual to account for lack of instant execution confirmation. It felt odd and marginally discomforting at times. But it was fun.
Towards the end of the session, I realised that it was also more productive. I had almost completed two of the three planned updates by end of the hour-long session. Not taking frequent pauses to compile-execute-observe-confirm freed me up to continue planning and coding further and faster. It also stopped me from taking detours on updating unrelated or tangentially-related bits observed in the execution.
The session reminded me of how we used to write code when I was studying engineering. Compiling and executing even our C programs was slow on my PC back then2. So, executing was infrequent, and often followed long periods of writing code, and running through the flow manually multiple times. If the program required internet access, it meant even more coding and manual verification before testing it by execution3. Fond memories :)
Anyway, the Pixel is charged now. I can now test the morning’s code and, if it works, commit it, and move on to the third update.
I use a 2015 MBP, though well specced. It has 16GB RAM, 3.1GHz dual core i7, and 1TB SSD. ↩
I had a best-amongst-peers custom assembled PC. It had 256MB RAM and 8GB HDD. I can’t recall the processor details, but it was a Pentium II. ↩
This was after I got a PC. Before that, I’d write the code on one of the PCs in the computer lab, print it on dot matrix printers, and take the printouts back to hostel/home. There I’d go over the code, update it with pen, and then go type it in at the lab the next day to execute and debug. It was more fun than it sounds. ↩
A driver. And a million or so quid. And a <3yo kid, preferably Indian and girl. And Brexit reversed. And Trump, Bojo, Modi, Erdogan out of power. And nuclear fusion reactors. And warp drive. For starters.
We’re headed on a day trip today to bring a dog home. A friend asked if we needed anything 🙂
Yesterday I struggled for a half a day with a work problem. Couldn’t find a decent, acceptable solution. A beautiful solution came to mind later in the evening, sometime between playing with the boys in the backyard and working on the flower bed in the front yard. I implemented and tested it today.
There’s another work issue I’ve been struggling with for over a month. Discovered an elegant solution to this one today, again while working on the front yard flower beds in the evening. Thought it through a bit more in the shower. And wrote down a brief summary while lying on the sofa after dinner.
It’s hard work, gardening. My hands, back, legs are hurting. Arms have scratches from rose thorns, and fingers feel dirty even after a shower and nail trimming.
But the flower beds will look good, come summer. And I discovered elegant solutions to two hard problems in two evenings. The hard work may be worth it.