New
The latest blog posts to take off on Hacker News. 313 posts.
Visualising the Go garbage collector
gcvis is a simple way of visualising the operation of the garbage collector within a Go process. Here is a screenshot of it in operation. The rest of this article explores how gcvis works and how to interpret its results.
Beginner's guide to OCaml beginner's guides
Alex Clemmer is a computer programmer. Other programmers love Alex, excitedly describing him as "employed here" and "the boss's son".
An Experimental New Type Inference Scheme for Rust
While on vacation, I’ve been working on an alternate type inference scheme for rustc. (Actually, I got it 99% working on the plane, and have been slowly poking at it ever since.) This scheme simplifies the code of the type inferencer dramatically and (I think) helps to meet our intutions (as I will explain). It is…
How I Start: Elixir
Portal is a game that consists of a series of puzzles that must be solved by teleporting the player’s character and simple objects from one place to another.
Summer of Programming Languages
Having just returned from the annual Oregon Programming Languages Summer School, at which I teach every year, I am once again very impressed with the impressive growth in the technical sophisticati…
How Swift could potentially be faster than Objective-C
Since the introduction of Swift, speed has been a key selling point. Indeed, it's right in the name of the language. It's said to be faster than dynamic languages like Python or JavaScript, potentially faster than Objective-C, and even claimed to be faster than C for certain cases. But how exactly does it do it?
My Experience at JuliaCon
Introduction Link to heading I just got home from JuliaCon, the first conference dedicated entirely to Julia. It was a great pleasure to spend two full days listening to talks about a language that I started advocating for just a little more than two years ago. What follows is a very brief review of the talks that…
Why Go Is Not Good
I like Go. I use it for a number of things (including this blog, at the time of writing). Go is useful. With that said, Go is not a good language. It's not bad; it's just not good.
How I Start: Erlang
Erlang releases are a bit like magnets. Everyone who thinks about them shares the same thought: f**king releases, how do they work?
Teenage Haskell
I’ve been inspired by the efforts of others (Chris Smith, Manuel Chakravarty) to try teaching children haskell as a first experience of programming. Haskell has a reputation of being a "…
Dart 1.5
It’s important for web experiences to work great on mobile devices. The latest release of the Dart includes a development version of Dar...
A Cover Letter in Brainfuck
Warning: another technical post.I wrote this cover letter many years ago, when I wanted to get accepted to the Matzov unit of the Israeli Defense Force (in Israeli, every male is conscripted…
Static checking of units in Servo
Web browsers do a lot of calculations on geometric coordinates, in many different coordinate systems and units of measurement. For example, a browser may need to translate a position expressed ...
The Lambda Calculus for Absolute Dummies (2012)
If there is one highly underrated concept in philosophy today, it is computation . Why is it so important? Because computationalism is t...
Finding Compiler Bugs by Removing Dead Code
What has caused you to slack off on the bug reporting? The cost of computer time or the human effort side? (I’m guessing the second.)
The first stable release of PyPy3
We're pleased to announce the first stable release of PyPy3. PyPy3 targets Python 3 (3.2.5) compatibility. We would like to thank all of th...
Java Pain
In 2014, it’s not OK if it’s hard for a developer to run a simple program from the command line.
Go 1.3 is released
Go 1.3 adds better performance, static analysis in godoc, and more.
Spreadsheet-like programming in Haskell
mvc-updates 1.0 announcement post
Railway-oriented programming
A recipe for a functional app, part 2