Print Debugging Should Go Away
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
The latest blog posts to take off on Hacker News. 14,541 posts.
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
26 CSS tips and tricks with live demos: text-overflow ellipsis, line-clamp, position: sticky, scroll snap, gradient text, CSS-only modals and tooltips.
By avoiding effect aware functions a language hobbles engineers and makes programs sloppier than they could be.
API versioning is a really difficult topic, and sometimes seen as a merely religious debate. It’s done differently at different companies, and different teams within different companies often vary. Some folks move from approach A to approach B, and when approach B solves their specific issues they act like
In this post I want to explain a new deployment method I came up with while working on drwn.io. I wanted it to meet a few requirements: Simple Based on git tags Zero-downtime Easy rollbacks Creating …
Stuck with Sparx Systems Enterprise Architect? Time to upgrade to Microsoft PowerPoint.
Meson's Xcode backend was originally written in 2014 or so and was never complete or even sufficiently good for daily use. The main reason f...
[Note: there have been several developments in this space since thisarticle was published. See A Tail Calling Interpreter For Python (And Other Updates) for...
In this article I’m trying to explain the difference/similarities between dynamic programing and divide and conquer approaches based on two examples - binary search and minimum edit distance (Levenshtein distance)
JSON-API has been one of the most popular standards for API development for a while now. It was conceived in 2013, battled through some rather different RC versions (changing drastically as it went), finally stabilizing with v1.0 back in mid-2015. My interest in JSON-API has changed
Introduction to `lmgrep`: what is it and what it isn't. My a motivation to build it.
Trying out this newsletter thing... It's sort of astonishing to think about how much value I've gotten from Twitter over the last few years. At its best, my...
この記事は日本語でも投稿されています: https://blog.ryotak.net/post/homebrew-security-incident/ (もし日本語が読める場合、筆者は英語がそこまで得意ではないため、日本語の記事を読むことをお勧めします。) (Official blog post about this incident is available here: https://brew.sh/2021/04/21/security-incident-disclosure/) Preface Homebrew project is running a “Vulnerability Disclosure Program”…
In my blog post, My programming setup, I stressed how important regular expressions are to my programming activities. Regular expressions can look intimidating and outright ugly. However, they should not be underestimated. Someone asked for examples of regular expressions that I rely upon. Here a few. It is commonly…
In this blog post, I will show you the process of combining and converting a list of markdown files into kindle supported ebook (.mobi) format.
This is a guide for starting a TypeScript project in 2021 with modern tooling. TypeScript 4 Optionally esbuild to bundle for browsers (and Node.js) Linting with typescript-eslint (tslint is deprecated) Testing with Jest (and ts-jest) Publishing a package to npm Continuous integration (GitHub Actions / GitLab CI)…
Welcome to the world of Git. I hope this document will help to advance your understanding of this powerful content tracking system, and reveal a bit of the simplicity underlying it — however dizzying its array of options may seem from the outside.
Programming, Coffee and Indie Hacking
Back in May 27, 2020 Microsoft published a blog post describing a new feature in Notepad:
tl;dr CocoaPods is a popular package manager used by lots of iOS apps (among other Swift and Objective-C Cocoa applications). I found a remote code execution...
How very different the world of software is in an alternative universe which has software designers rather than software engineers? In this interview, we look at a range of topics from software design sketching to software designer education, as well as the way in which software designers reshape any problem they are…
Here’s a sentence I find myself saying several times a week: …or we could just box it. There’s two remarkable things about this sentence. The first, is that the advice is very rarely heeded, and in...
How to turn 256 bits of entropy into a beautiful, avatar-friendly circular SVG: the Hashvatar.
Recently my friend Lars Hupel and I had a discussion on why formal methods don’t compose well. You can read the conversation here. We focused mostly on composing formally-verified code. I want to talk a little more about the difficulties in composing specifications. This is half because it’s difficult for interesting…
A basic introduction to Western music theory using the Python programming language to derive scales, chords, and modes in every key.