We need young programmers; We need old programmers

We need young programmers; We need old programmers

The software industry loves young people, but old-timers serve an important purpose, too. Our culture idolises youth. There’s several reasons for this, I believe. Youth seems synonymous with vigour, strength, beauty, and many other desirable qualities. The cynical perspective is that young people, while rebellious, also tend to be easy to manipulate, if you know…

Continue readingWe need young programmers; We need old programmers

agrafix/rubyspeed

agrafix/rubyspeed

Work in progress. Welcome to Rubyspeed. Right now, Rubyspeed is a basic proof of concept (horribly hacked together) that allows annotating method declarations to automatically be specialized and compiled to C. Here’s an example: require ‘rubyspeed’ class TestClass extend(Rubyspeed::Compiles) compile!(params: [Rubyspeed::T.array(Rubyspeed::T.int), Rubyspeed::T.array(Rubyspeed::T.int)], return_type: Rubyspeed::T.int) def self.dot(a, b) c = Rubyspeed::Let.int(0) a.each_with_index do |a_val, idx| c…

Continue readingagrafix/rubyspeed

RecordDotSyntax language extension proposal · Pull Request #282 · ghc-proposals/ghc-proposals

RecordDotSyntax language extension proposal · Pull Request #282 · ghc-proposals/ghc-proposals

Friends As the shepherd for this proposal, I’m happy to say that the GHC Steering Committee has, finally, come to a conclusion: we accept the proposal, subject to final revisions (see “What happens next”), with some additional specifics about syntax (see “Our conclusion”). The process The proposal is entirely about syntax; and specifically about introducing…

Continue readingRecordDotSyntax language extension proposal · Pull Request #282 · ghc-proposals/ghc-proposals

Let’s Encrypt’s New Root and Intermediate Certificates

Let’s Encrypt’s New Root and Intermediate Certificates

On Thursday, September 3rd, 2020, Let’s Encrypt issued six new certificates: one root, four intermediates, and one cross-sign. These new certificates are part of our larger plan to improve privacy on the web, by making ECDSA end-entity certificates widely available, and by making certificates smaller. Given that we issue 1.5 million certificates every day, what…

Continue readingLet’s Encrypt’s New Root and Intermediate Certificates

A New Back End for Cranelift: Instruction Selection

This post is the first in a three-part series about my recent work on Cranelift as part of my day job at Mozilla. In this first post, I will set some context and describe the instruction selection problem. In particular, I’ll talk about a revamp to the instruction selector and backend framework in general that…

Continue readingA New Back End for Cranelift: Instruction Selection