New
The latest blog posts to take off on Hacker News. 195 posts.
How to contribute to the Haskell ecosystem
Easy wins for Haskell beginners
Specialising Dynamic Techniques for Implementing The Ruby Programming Language
People who write Ruby programs want to use metaprogramming. It’s part of what makes the language what it is. But in existing implementations of Ruby, metaprogramming is slow. My work focused on making it fast, providing fast tooling for Ruby programmers, and fast support for legacy C extensions.
ClojureScript Year in Review
It’s been a very exciting year for ClojureScript. It’s clear that things have been accelerating and here is a personal selection of highlights:
'New' Python modules of 2015
As I’ve been blogging a lot more about Python over the last year, I thought I’d list a few of my favourite ‘new’ Python modules from 2015. These aren’t necessarily modules that were newly released in 2015, but modules that were ‘new to me’ this year – and may be new to you too!
Why Python 3 Exists
This month I invited to Q&A at PuPPy [https://youtu.be/2XviXtxWKO8?list=PL4S0lvhXvdhIV2C28Ia_DeIeloBrsQBOW] (the Puget Sound Python users group) that eventually led to me explaining why Python 3 came into existence and the whole string/bytes deal. I ended up receiving a compliment on the explanation which
The Reasoned Lisper
Bridging Discrete and Continuous Logic in Automated Reasoning Systems In this article we will explore the connection between Functional Programming and reasoning. Functional Programming is often ad…
Craig Federighi talks to John Gruber about Swift
Craig Federighi: I always end up seeking back to figure out what part I missed where the podcast started, and then I realize it just starts.
How I wrote a self-hosting C compiler in 40 days
I wrote a self-hosting C compiler which I named 8cc in 40 days. This is a log when I was writing it from scratch by myself in 2012. The code and its history are available at GitHub .
Swift open source – let the revolution begin
It has only been a few days since the announcement of Swift going open source and the activity around the project has been incredible. When Apple revealed th...
A magic getopt
Enter magic getopt . Via a little bit of macro magic, the above options-handling code turns into this:
Avoiding Reflection (And Such) in Go
So, as previous posts show , I like Go well enough. But as a computer-language polyglot, "Go programmer" is not part of my identity, and I try for a balanced view. It is very human to go overboard in both praise and criticism, both easy to find online.
What Holds Me Back from ClojureScript
Thoughts about programming, mostly
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 …
A bad citizen in Javaland (2006)
You are born with no body parts. One by one, your organs are pushed into you. Should anyone attempt to interact with you before your organs have finished arriving you will die. Luckily this doesn&#…
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...
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...
Perl 6 is fun
This post got a lot of discussion on Hacker News that you might find interesting. I’ve been writing a fair bit of Perl 6 lately, and my main takeaway so far is that Perl 6 is fun. Pretty much everything I love in Perl 5 is still part of Perl 6, but almost everything I hate is gone too. $Love - $Hate = $Fun; Here are…
A whirlwind tour of Go’s runtime environment variables
The Go runtime, in addition to providing the usual services of garbage collection, goroutine scheduling, timers, network polling and so forth, contains facilities to enable extra debugging output and even alter the behaviour of the runtime itself.
Python's Hidden Regular Expression Gems
Some hidden features of the Python re module and the support machinery that drives it.
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…
Python C API, PyPy and the road into the future
tl;dr; We are willing to commercially support CPython C API in PyPy, so if you want pypy to support library X, get in touch with me at fij...