New
The latest blog posts to take off on Hacker News. 14,543 posts.
Building a Regex Engine in Fewer Than 40 Lines of Code
A blog about programming and modern web development, particularly Node.js and React
A primer on Elixir Stream
ReactJS Elixir Erlang Golang D3 scalable web services developers
My 20-Year Experience of Software Development Methodologies
‘The test of a first-rate intelligence is the ability to hold two opposed ideas in mind at the same time and still retain the ability to function.’ F. Scott Fitzgerald
The Old-School Fire Effect and Bare-Metal Programming
Many years ago, sometime in the nineties, my family was having dinner at the neighbours', and their son showed me some cool DOS programs on the computer. One of the programs was a demo that drew animated flames on the screen. I was amazed! Asking what language it was written in, I was told it was Pascal.
Never edit a method, always rewrite it?
At a recent RubyConf, Chad Fowler presented his ideas for writing software systems that mirror the process of continual replacement observed in biological systems.
Writing a C Compiler, Part 1
This is the first post in a series on writing your own C compiler. Here are some reasons to write a compiler:
Type-safe GraphQL with OCaml
In July 2016, I spent some time writing a GraphQL endpoint for an existing application in Go. I chose to implement the endpoint in Go based on prior experience, good concurrency support and the desire to have static type system. The GraphQL library for Go, graphql-go , worked pretty well, and I was able to build the…
Exploring the BBC Micro:bit Software Stack and OS
If you grew up in the UK and went to school during the 1980’s or 1990’s there’s a good chance that this picture brings back fond memories:
The Power of Tmux Hooks
The default tmux prefix key is Ctrl - b , for the remainder of this article, we will refer to the prefix key as prefix .
How Stylo Brought Rust and Servo to Firefox
Two weeks ago, we released Firefox Quantum to the world. It’s been a big moment for Mozilla, shaping up to be a blockbuster release that’s changing how peopl...
Love Your Bugs
In early October I gave a keynote at Python Brasil in Belo Horizonte. Here is an aspirational and lightly edited transcript of the talk. There is …
Understanding Ethereum Smart Contracts
You might have heard the term “smart contract,” and you might even know that they are “code” you can run on a blockchain.But how can you run code on a blockc...
A friendly Introduction to Backpropagation in Python
My aim here is to test my understanding of Karpathy’s great blog post “Hacker’s guide to Neural Networks” as well as of Python, to get a hang of which I rece...
Rust: Enable WebAssembly backend by default
Yesterday the Pull Request 46115: "rustbuild: Enable WebAssembly backend by default" was merged into Rust master. With the Nightly build from that night, the wasm32-unknown-unknown target is natively available.
Carp, a compiled Lisp with type inference and a borrow checker
As some of you might know, I recently became enamoured with a new programming language, Carp. While you might have caught me fawning over it already, in…
Reprogramming a $13 consumer wifi-enabled outlet
The HTML5 Herald
Clojure Design Patterns
Disclaimer: Most patterns are easy to implement because we use dynamic typing, functional programming and, of course, Clojure. Some of them look wrong and ugly. It’s okay. All characters are fake, coincidences are accidental.
Designing a Lock-free, Wait-free Hash Map
Wait-free algorithms attract vast interest and are an area of intense research, the motivation being that true lock-free algorithms and data structures provide great …
Run the First Edition of Unix with Docker
In this article you'll see how to run a PDP-11 simulator through Docker to interact with Unix as it was back in 1972.
From Markdown to remote code execution in Atom
Recently I took a look at Atom, a text editor by GitHub. With a little bit of work, I was able to chain multiple vulnerabilities in Atom into an actual Remote Code Execution. The vulnerabiliti…