Bookmarks (2012)

  • screenshot

    That time I recreated Photoshop in C++ • F055

    As I’m getting older I look back on all the things I’ve done as a creative...

  • Decoding JSON sum types in Go without panicking

    14 March, 2025 The Go programming language doesn't have native support for sum types, but we'll...

  • screenshot

    Is your Rails application special?

    Legacy Rails applications can be unpredictable, so never assume anything about their behavior. The first step...

  • screenshot

    did u ever read so hard u accidentally wrote?

    Owning a production Postgres database is never boring. The other day, I’m looking for trouble (as...

  • A look at Firefox forks [LWN.net]

    This article brought to you by LWN subscribers Subscribers to LWN.net made this article — and...

  • screenshot

    An introduction to Magit, an Emacs mode for Git

    Magit is the sweetener that masks the bitter taste you get when you have to commune...

  • What are you doing this weekend? | Lobsters

    Feel free to tell what you plan on doing this weekend and even ask for help...

  • Enhancing CA Practices: Key Updates in Mozilla Root Store Policy, v3.0 – Mozilla Security Blog

    Mozilla remains committed to fostering a secure, agile, and transparent Web PKI ecosystem. The new Mozilla...

  • Typestate Programming - The Embedded Rust Book

    The concept of typestates describes the encoding of information about the current state of an object...

  • What Programming Concepts do you Struggle to Grok or Use in Production? | Lobsters

    For me, type magic whether Haskelly or Idrisy dependent types evades me. A lot of modern...

  • screenshot

    It's not cheating if you write the video game solver yourself | Robert Heaton

    My wife and two little boys sometimes go on trips to see friends or family for...

  • screenshot

    Solving the world's oldest board game

    A friend of mine worked on this, and it’s crazy, 275 million game states later, the...

  • WebAssembly from the Ground Up – learn WASM by building a compiler | Lobsters

    Hi! We (pdubroy & marianoguerra) just launched an online book called WebAssembly from the Ground Up....

  • screenshot

    Something Is Rotten in the State of Cupertino

    In the two decades I’ve been in this racket, I’ve never been angrier at myself for...

  • Semgrep | Upgrading Semgrep from OCaml 4 to OCaml 5

    OCaml 5 introduced numerous changes. Perhaps the largest and most-anticipated was the introduction of multicore support,...

  • Traversal-resistant file APIs - The Go Programming Language

    Damien Neil 12 March 2025 A path traversal vulnerability arises when an attacker can trick a...

  • screenshot

    Carefully But Purposefully Oxidising Ubuntu

    This article was originally posted on the Ubuntu Discourse, and is reposted here. I welcome comments...

  • screenshot

    Blend2D

    It's been some time I have written about a High-Performance QOI Codec, which joined other codecs...

  • Haiku Activity & Contract Report, February 2025

    This report covers hrev58584 through hrev58696. Applications jscipione fixed opening folders by double-clicking the “Location” column...

  • screenshot

    The Art of Formatting Code · mcyoung

    Every modern programming language needs a formatter to make your code look pretty and consistent. Formatters...

  • screenshot

    Translating bzip2 with c2rust - Blog - Tweede golf

    The work on the project is kindly funded by NLnet Foundation.This article was originally posted on...

  • screenshot

    (Re)writing an interpreter in Rust

    Two years ago I wrote my first interpreter for a toy programming language called Monkey, in...

  • screenshot

    How AfterHour built an ultra-scalable chat service in one month with Rama

    "I built my first chat system in 1999 on the IRC protocol, cofounded a startup for...

  • Every line of code is always documented

    Every line of code comes with a hidden piece of documentation. Whoever wrote line 4 of...

  • On Naming Things

    So far as I’ve bothered to think, there are two modes of naming things. The first...