TL;DR ¶ Some of the wisdom contained in Josh Bloch’s Effective Java book is relevant to Go. panic and recover are best reserved for exceptional circumstances. Reliance on panic and recover can noticeably slow down execution, incurs heap allocations, and precludes inlining. Internal handling of failure cases via panic and recover is tolerable and sometimes beneficial. Abusing Java exceptions for control flow ¶ Even though my Java days are long gone and Go has been my language of predilecti...| jub0bs.com
Once upon a time, I spent multiple months implementing a graphing calculator using GW-BASIC (manual). Would I be able to do the same more quickly and effectively today using generative AI? ❦❦❦ Let’s give it a go, using Claude AI to start: Implement a simple graphing calculator in GW …| dr knz @ work
Abstract In the Bubbline project we are trying to build readline-like semantics on top of Charm’s Bubbletea. As of Bubbletea v0.23, we discovered this is currently impossible to do in a way that preserves input continuity reliably across readline invocations. This result is general. Any Bubbletea-based program or …| dr knz @ work
In any comparative discussion about programming languages, the probability that the conversation will mention Brainfuck or INTERCAL approaches 1 over time. (Based on years of empirical evidence as a scientist, programmer and unix hacker.)| dr knz @ work
On November 17th, 2012, a link to a Brainfuck interpreter written using the C preprocessor language was posted to Hacker News. In the necessary flurry of HN comments that followed, the question of CPP’s Turing Completeness came up, to be answered negatively: the proposed interpreter needs to be extended …| dr knz @ work
Two days ago I started to investigate whether C was Turing Complete. With help from two serious people also interested in the topic, I came to the preliminary conclusion that it is probably not. Here is a summary of the arguments so far. Turing Completeness is a property of languages …| dr knz @ work
Twelve years ago, at my first job at a University, my supervisor told my colleague and I: “I am writing a book about finite state automata. I want an interactive tool to show people what I’m doing.” So my colleague and I built Vaucanson. During that project I discovered …| dr knz @ work
Ivan Godard from Out-of-the-Box Computing is currently touring the US talking about his Mill CPU architecture, based on a new machine model called the “Belt”. I just finished watching the 2nd talk on the machine model and its realization in the processor’s micro-architecture. OotB’s contribution is a machine …| dr knz @ work
Note The latest version of this document can be found online at https://dr-knz.net/on-the-future.html. Alternate formats: Source, PDF. Prologue A famous researcher once said that a scientist should not work more than 5-6 years in the same research area. The argument had something to do with losing …| dr knz @ work
Hillel proposed on Twitter today: “Expressiveness” is how easily we can ‘do’ things in a system. “Tractability” is how easily we can assert properties on things we ‘do’. F.ex DFAs are tractable, Turing machines are expressive. The expressiveness vs tractability tradeoff is one of the most fundamental in CS …| dr knz @ work
Note The latest version of this document can be found online at https://dr-knz.net/go-executable-size-visualization-with-d3-2021.html. Alternate formats: Source, PDF. Note After a lively discussion on Hacker News and input from Russ Cox, the conclusions in the analysis below were reworded to avoid the notion of “non-useful bytes”. The …| dr knz @ work