Why I Love Haskell: An Example
In this post I'm going to talk about a small Haskell implementation I wrote which would have been much more difficult to write in other lang...
GC and Rust Part 1: Specifying the Problem
This is the first in a series of posts will discuss why garbage collection is hard, especially for Rust, and brainstorm about solutions to the …
Errors are values
Idioms and patterns for handling errors in Go.
Programmer proverbs
To be a programmer is to learn relentlessly. A short and deep collection of advices.
Python List Comprehensions Explained Visually
Sometimes a programming design pattern becomes common enough to warrant its own special syntax. Python’s list comprehensions are a prime example...
Introducing DataFrames in Spark for Large Scale Data Science
Introducing Apache Spark's DataFrame API for easier, efficient big data processing and data science applications.
Good Practices for Writing Rust Libraries
For a bit more than a year now, I've been interested in Rust , a programming language by Mozilla research that “runs blazingly fast, prevents nearly all segfaults, and guarantees thread safety.” It is as low-level as C or C++, has a nice type system (with generics and traits), a helpful compiler, and a…
New ELF Linker from the LLVM Project
We have been working hard for a few months now to rewrite the ELF support in lld, the LLVM linker. We are happy to announce that it has reached a significant milestone: it is now able to bootstrap LLVM, Clang, and itself and pass all tests on x86-64 Linux and FreeBSD with the speed expected of an LLVM project.
Playing Fasttracker2 .XM files in JavaScript
Hit the play button above and it will play music; specifically, music composed with (or at least, compatible with) a program released in 1994 called FastTracker 2; this is a Javascript homage I wrote in a fit of nostalgia. The source code is on GitHub if you'd like to check it out.
Introduction to Microservices
Deliver modern applications with NGINX. Explore high-performance load balancing, API gateways, and web server solutions trusted by top global enterprises.
Quasi-Polynomial Algorithm for Graph Isomorphism
Update (Dec. 14): The long wait is over! Here’s Laci’s paper on the arXiv. So far, I’ve read it only deeply enough to note that it contains the following sentence: A group G ≤ S…
Developer Preview of AWS SDK for Go
My colleague Loren Segal shared the blog post below. As you can see, he’s really excited about the new AWS SDK for Go! — Jeff; Today we are announcing the first Developer Preview Release of the AWS SDK for Go (v0.6.0). If you have not been following along with development, the AWS SDK for Go […]
32-bit x86 Position Independent Code – It's That Bad
Let's start by looking at a simple C function to be compiled as position-independent code (i.e. -fPIC , for use in a shared library):
Implement a programming language from scratch
Implementing a programming language is an experience no programmer should go without; the process fosters a deep understanding of computation, and it's fun!
AWS CodeCommit
We announced AWS CodeCommit last November (see New AWS Tools for Code Management and Deployment) at AWS re:Invent. I am happy to announce that it is now generally available and that you can start using it today. Let’s do a quick refresh on the CodeCommit feature set before taking the service for a spin. CodeCommit […]
A brief introduction to OCaml
A couple of weeks ago I did an introductory presentation on OCaml at our local meetup groups @GotLambda . The material is in the form of one long interactive session, in a style similar to learnxinyminutes.com .
Conspire: A Programming Environment for NOWHERE
It's time for another NOWHERE tech write-up. I've been tweeting about my work on Twitter up to the point where I was nudged to write a long...
Low-level web programming in Racket and a wiki in 500 lines
Racket provides a simple yet flexible web framework for serving dynamic web content.
The Making of Gyroscope Running, a React Native App
The making of our first React Native iPhone app