I am embarrassed that I spent ages playing with how to detect line intersections before I finally just brute-forced it with hash tables.
Read more →
This one was fun, building a very simple little ‘intcode’ (like bytecode, but more than 256 possibilities) interpreter.
Read more →
I decided to give the Advent of Code another shot this year (last year I gave it a shot, but work commitments ended up devouring all of my formerly-free time and I had to give it a miss). As before, I’ll be tracking my solutions.
Today was very easy, no real comments needed.
Read more →
Dr. Charl P. Botha shares his strategy for note-taking. It’s heavily dependent on Org Mode, which is a sign of being relatively well-thought-out.
Read more →
Tim Kadlec offers some thoughts about the ethical impact of poor website performance. He makes the points that poor performance excludes those with slower computers and wastes energy too — and provides some practical suggestions for how to do better.
Read more →
GitHub’s Semantic team recently wrote:
An example of [dynamic control flow] is the concept of resumable exceptions. During Semantic’s interpretation passes, invalid code (unbound variables, type errors, infinite recursion) is recognized and handled based on the pass’s calling context. Because Semantic is, at its heart, an interpreter, this feature is essential for rapid development: we specify, when constructing interpretation and analysis passes, how GHC should handle errors while executing untrusted and possibly-invalid code, simply by specializing our call sites.
Read more →
Sean Blanda has some good advice for anyone with an Internet presence: always own your platform. This applies no matter what business you’re in: even if you don’t literally have your own employees working on something every day (it probably wouldn’t make a lot of sense for a barbershop to rent servers from AWS & have a full-time developer), make sure that you have a contractual customer relationship with your providers.
Read more →
ASDF (Another System Definition Facility) is the Common Lisp equivalent of make, go build &c., and has been maintained by a team of volunteers for almost a decade. The Common Lisp Foundation is hosting an ASDF Appreciation Fundraiser to … show appreciation for their hard & excellent work. If you use Common Lisp, I encourage you to toss a couple of bucks in the pot. Even better, there’s a donation match up to $5,000.
Read more →
Chris Morgan posted a comment on Hacker News about Triplicate, a lovely monospace font. It’s really, really attractive. Although I’m a great fan of Source Code Pro Regular for source code, I think that Triplicate could be wonderful when typesetting documents (or writing them in Markdown, or in Org Mode …).
Read more →
Peter Bright makes a cogent argument that the Web now belongs to Google — and that should worry us all. I strongly encourage my friends & readers to install Firefox on their computers and their phones (and to use Android, because Firefox on iOS is just a reskinned Safari, due to Apple’s draconian platform policies).
Read more →
Normally the end-of-year timeframe is pretty relaxed — in fact, my company announced an office closure next week! I figured that this would be an ideal opportunity to solve some programming puzzles & expand my brain a bit.
Sadly, we’ve got an end-of-year project which is going to consume all my time (and which means that I’ll be working next week). I need to devote all of my mental energy to it, which means that I’m going to have to suspend working on Advent of Code puzzles.
Read more →
Yesterday’s solution was awesome: I read the problem, walked my dog, then sat down at the computer and wrote both solutions perfectly, one after the other. First time I managed to do that!
Today took a bit longer. The difficult thing was coming up with a heuristic for knowing when the stars aligned to give a message, without manually reviewing each possible image. My first idea was to somehow calculate entropy across the grid of stars (and find the lowest-entropy frame), but a quick Googling didn’t really yield anything which was likely to help.
Read more →