New
The latest blog posts to take off on Hacker News. 21,830 posts.
The database I wish I had
I watched the talk " Platform as a Reflection of Values: Joyent, Node.js and beyond " by Bryan Cantrill, and I think he was able to put into words something I already felt for some time: if there’s no piece of software out there that reflects your values, it’s time for you to build that softwarefootnote:talk-time[ At…
Bits of History, Words of Advice
"Why do you jackasses use these inferior linguistic vehicles when we have something here that’s so precious, so elegant, which gives me so ...
Multi-Tenant Architectures
Multi-tenancy Application Deployment Architecture could be modeled in 4 broad ways: Separate Apps & Separate Databases Shared ...
Exploring mullender.c – A deep dive into the first IOCCC winner
This post will explore the famous winner of the first IOCCC contest, dive into the story behind the code, and even display the original source programs!
Deep Dive into PHP 8's JIT
PHP 8's Just In Time compiler is implemented as part of the Opcache extension and aims to compile some Opcodes into CPU instructions in runtime. Let's understand how it works all together.
Inventing Monads
I got into a discussion about monads recently. On a search to find some resources to share, I realized that most essays explained them with type signatures and rules. A missing ingredient to grok them, I think, is to understand the intuition behind them. How could you end up inventing monads?
Don't trust default timeouts
Modern applications don’t crash; they hang. One of the main reasons for it is the assumption that the network is reliable. It isn’t. When you make a network call without setting a timeout, you are telling your code that you are 100% confident that the call is going to succeed. Would you really take that bet? If you…
Graphtage: A New Semantic Diffing Tool
Graphtage is a command line utility and underlying library for semantically comparing and merging tree-like structures such as JSON, JSON5, XML, HTML, YAML, and TOML files. Its name is a portmanteau of “graph” and “graftage” (i.e., the horticultural practice of joining two trees together so they grow as one). Read on…
A Short Guide to Minimal Web Development (2018)
There’s an art and even a bit of magic around simple frontend code. Writing such code comes with a few preconditions: perhaps a firm understanding of core technologies, a lot of practice, public scrutiny, and then some. Thoughts.
Is TDD Dead? (2014)
A series of conversations between Kent Beck, David Heinemeier Hansson, and Martin Fowler. We discuss Test-Driven Development (TDD) and its impact upon software design.
Hands-on WebAssembly
Learn the basics of WebAssembly through code examples and try different ways to compile C and Rust programs for the browser with the help of Docker image from Evil Martians.
Shrinking a Kotlin Binary by 99.2%
We'll get to the shrinking, but first let's motivate the binary in question. Three years ago I wrote the "Surfacing Hidden Change to Pull Requests" post which covered pushing important stats and diffs into PRs as a comment. This avoids surprises with changes that affect binary size, manifests, and dependency trees.
The Rapier Physics Engine
In our announcement last week, we briefly mentioned this new physics engine we have been working on during the past 5 months.
Chrome just got faster with Profile Guided Optimization
From the very beginning , we built Chrome to be the fastest browser possible. The faster Chrome is, the faster you find the information you ...
What the interns have wrought, 2020 edition
It’s been an unusual internship season.
SourMint Malicious SDK
The Snyk security research team has made two significant disclosures surrounding the Mintegral SDK. Learn about these SourMint vulnerabilities.
Please read the paper before you comment
Each day on twitter there is one main character. The goal is to never be it— maple cocaine (@maplecocaine) January 3, 2019 Yesterday the main character of...
Motoko, a programming language for building directly on the internet
To offer a seamless developer experience, we wanted to create a specialized programming language, called Motoko, that is designed to directly support the programming model of the Internet Computer, making it easier to efficiently build applications and take advantage of some of the more unusual features of this…
How I helped fix Canadaʼs Covid Alert app
On July 31st , Canada’s COVID Alert app was made available for general use, though it does not have support for actually reporting a diagnosis in most provinces, yet.
JavaScript Generators, Meet XPath
If the text is neatly neatly isolated inside an HTML element, it’s easy; this will do:
Bare Metal Rust Generics
Writing two flash drivers starting from an abstraction.
Build Your Own FPGA (2012)
The Open 7400 Logic Competition is a crowd-sourced contest with a simple but broad criteria for entry: build something interesting out of discrete logic chips. It's now in its second year, and this time around I was inspired to enter it.
Never run ‘python’ in your downloads folder
Python can execute code. Make sure it executes only the code you want it to.