File I/O in Kotlin Native 2020-11-16

I worked out how to do basic string file input and output for Kotlin Native using their standard POSIX libraries. The code for these methods is at the bottom. This article explores it in more detail if you are interested.

(More ...)
Panade 2020-10-16

As the weather gets cooler in lots of the world a nice hearty but healthy dish is so much more tantalizing. If you are a big fan of rustic sourdough breads then this is a perfect dish that captures all of the joyous flavors along with some healthy vegetables. I first discovered this recipe in this Guardian article but I’ve since made a few tweaks to it. My go to bread for this is either the Yohan Ferrant Do Nothing Bread or some Tartine bread.

(More ...)
On Development Logging: The DevLog 2020-08-01

I’ve always liked having a record of what I’ve done on a project and a place for notes. That’s often been a notebook, updates to GitHub/GitLab/JIRA issues/tickets, or maybe blog entries. Those all have problems. In reading Masters of Doom I came across a passage which described the intense environment around the development of Quake. John Carmack came up with a concise running log of what he was doing, called a “.plan” file. It provided a frictionless way for him to keep track of his progress, the things he wanted to fix later, notes he had to himself, etc. He used it for himself but also posted it to the internet to keep the gamer community informed. You can read the whole archive of them from 1996 through 2010 here , although after 1998 they were more like a blog. I decided to tweak the style of his 1995-1998 system slightly and have been using this modified process for tracking my development on projects since November of last year. I call these files DevLog (very creative I know) and find it works so well that I’d share my methodology here.

(More ...)
I'm Fascinated With Handmade Hero 2020-05-09

Yesterday I was following a Twitter thread John Carmack where he was talking about optimizations. Someone suggested he do some sort of a series on how to build game code et cetera. His response was to point to something I’ve never heard of before Handmade Hero . This is a project started by a small group of developers back in 2014. Their goal is to produce the whole game as live coding so people can see how they, professional developers, build a game. I’ve watched previous live coding videos before and enjoyed them. My first was this person writing a vim-like program for CP/M in assembly language, link here . Sounds very dry but I actually get a kick out of seeing how other coders work. I’m just through the first video and am pretty fascinated.

(More ...)
Month of Rust Update 2: Error Handling Concerns 2020-05-03

I’ve spent the last few days somewhat diligently playing around with Rust. That’s mostly been studiously reading The Rust Language Book and doing some of the examples. I’m quickly tiring of that and will have to move on to koans, tutorials, or just some projects. However each day I’m learning a bit more about rust. There is a little more insight each day, mostly positive, but one area I am having some concerns is the area of error handling. Specifically I’m concerned about their lack of any traditional exception handling and in its place only returning error objects or panicking (crashing) the whole program.

(More ...)
Month of Rust Update 1: First Impressions 2020-04-27

As I tweeted about over the weekend, I’m going to be starting a month of deep diving into Rust for the month of May. I’m not trying to be a complete convert. I have work to do after all. However I really want to explore this new lower level language as opposed to my day to day work in managed and interpreted languages. I’m going to try to spend an hour or so each day working through tutorials and maybe trying to build my first real application with it. I’m starting with the Rust website seems to have some great resources like a language guide book and tutorials. I’ll go on from there. Today however was just getting the system setup and working through my first hello world tutorials. So far it’s been a mostly positive experience.

(More ...)
My Renewed Resolve to #DeleteFacebook Thanks to Steven Levy 2020-03-09

I was having a moment of weakness in my quest to permanently get off Facebook. The last two weeks I’ve missed some major things that were happening to some friends and family. Yes, I ultimately learned about it but I learned about it because my spouse is still on Facebook and he made a point of letting me know. At the same time I was still feeling constricted in my ability to discuss things with friends. I had been texting friends through various systems: LinkedIn, SMS, Matrix, iMessage, Twitter DMs, etc. and it occurred to me that all of this would have been in one singular place (Facebook Messenger) before now. So what was the point? Why not, I rationalized, rejoin and figure out how to leverage manual cross posting or some other mechanism to help extract friends from Facebook? Then it struck me, the next book up on my reading list was Steven Levy’s Facebook: The Inside Story . As I wrote on social media perhaps that book would push me one way or the other. Boy did it ever! The book is a great exploration of the entire history of Facebook right up to the present day. While I had mixed emotions earlier in the book as the story of Facebook went on so too did my revulsion to the idea of every going back.

(More ...)
First Post Diaspora API Against Real Server 2020-02-17 I’ve spent today dusting off my old code Diaspora API driven blog comment system. The details of that implementation can be found in this blog post from late-2018 . Now that it is running on a production server thanks to Diaspora-Fr I have revived the code running on the server and pointed it to their Diaspora server. (More ...)
Getting Serious About My Carbon Footprint 2020-01-19

I’m becoming more and more energized by the climate debate every year. At the same time I don’t do anything practical about it at any point either. Do I reduce my consumption habits? No. Do I adjust my diet to make it more carbon friendly? As a side effect of eating more whole food plant based I do but it’s not the direct target. Do I do some kind of offsetting? No. So as much as I lament our global lack of action on climate change I fall into the same boat as everyone else. Just like everything in life I suppose I want it to be something automatic. I didn’t actively stop using CFCs to help fix the ozone layer but I did do it because the government banned CFCs. Hypothetically the same sorts of environmental policies could be underway for the past 20 years to help mitigate climate change. None of that has happened. So what can I do to do proactively address this problem? Actually the real question is what am I going to do to mitigate that? I’m going to take the same quantification and tracking approach that I use for everything else in my life.

(More ...)
Open Source Contributions in 2019 2020-01-01

I’m pretty stoked about what I was able to do in 2019 towards open source software. I’ve always contributed here and there but I took the momentum of contributions I did in the second half of 2018, in that case to the Diaspora project, and just kept on trucking. I spent a total of 653 hours on open source projects in 2019. A lot of that was new code generation but there is of course more to development than just writing code. There were lots of meeting times, some hackathons, documentation generation, tech support etc too. Some of these were projects I started as well as contributing to established projects. The five projects I contributed to the most fall into a relatively broad range of software (from highest to lowest number of hours contributed):

(More ...)