Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 325 posts.
Oh, Go Ahead, Overthink FizzBuzz (2008)
I gave the best programming interview answer I may have ever given last Friday. The interviewer hauled out FizzBuzz and asked me to solve it. It took me a minute to stop laughing. FizzBuzz is a brain-dead simple programming problem, used pretty much to tell if a developer has a pulse at all. It is…
Strange C Syntax
In my attempts to learn the C programming language well enough to write my own C compiler , I've encountered some very interesting examples of C syntax that you generally don't see every day. All of these examples you'll see here will compile without warnings or errors even with very strict compiler flags in gcc and…
Common Lisp as a Scripting Language, 2015 Edition
The first computer I used had about 2KB of RAM. The other day, I compiled a 2KB Common Lisp script into a 16MB executable to get its startup (and total execution) time down from 2s to subjectively instantaneous — and that didn't bother me the least, for my current computer has 8GB of working memory…
Tuning Ruby's Global Method Cache
I was recently profiling a production Shopify application server using perf and noticed a fair amount of time being spent in a particular function, st_lookup, which is used by Ruby’s MRI implementation for hash table lookups: Hash tables are used all over MRI, and not just for the Hash object; global variables…
Node v4.1.0
Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
Struct composition with Go
This is a quick Friday blog post to talk about a recent experience I had working on a piece Juju code that needed to capture the data being sent over a net.Conn .
Finding Closure in Rust
Closures in Rust are powerful and flexible, building on traits, generics and ownership.
Why We Use Go
Go is decidedly polarizing. While many are touting their transition to Go, it has become equally fashionable to criticize and mock the language. As Bjarne Stroustrup so eloquently put it, “There are only two kinds of programming languages: those people always bitch about and those nobody uses.” This adage couldn’t be…
What Holds Me Back from ClojureScript
Thoughts about programming, mostly
Go enjoy Python3
Given a string, get a truncated string of length up to 12. The task is ambiguous, as it doesn't say anything about whether or not 12 shou...
LLVM Code Generation in HHVM
One of the most common questions we get about HHVM is why we don’t use LLVM for code generation. The primary reason has always been that while LLVM is great ...
Python is the new BASIC
The above is the Hello World program for Java, arguably one of the most popular programming languages. Encapsulated in the above three lines are several different concepts ranging from static functions to return types to stdout and to the entirety of object oriented programming in general.
Lisp for the Web, Part III
This piece is about how to build a modern web application with Common Lisp in the backend, from scratch.
Self hosted C – breakdown
I did it. It wasn't easy, but I did it. My C Compiler can compile itself. Even though it still has holes in functionality and obvious bug...
Functional-navigational programming in Clojure with Specter
In February I open-sourced a library called Specter , and in my own work it has become by far my m...
C++ concepts support merged into GCC trunk
This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project .
Monads in Scheme
An example of a monadic programming in Scheme that juxtaposes Haskell code for a state monad with the corresponding Scheme code.