Day 25: Rakudo 2022 Review

In a year as eventful as 2022 was in the real world, it is a good idea to look back to see what one might have missed while life was messing with your (Raku) plans. Rakudo saw about 1500 commits this year, about the same as the year before that. Many of these were bugContinue reading “Day 25: Rakudo 2022 Review”

Day 22: He’s making a list… (part 1)

If there’s anything that Santa and his elves ought to know, it’s how to make a list. After all, they’re reading lists that children send in, and Santa maintains his very famous list. Another thing we know is that Santa and his elves are quite multilingual. So one day one of the elfs decided that,Continue reading “Day 22: He’s making a list… (part 1)”

Day 20: Sigils are an underappreciated programming technology

Sigils have a bit of a bad reputation. According to their detractors, sigils are “just a way of encoding type information” in variable names – basically a glorified version of apps Hungarian notation (which isn’t even the good kind of Hungarian notation). Maybe sigils served a purpose in the bad old days, but now we have fancy IDEs and editors can give us all the type information we might want, and these modern tools have made sigils obsolete.

Or so they say. But I disagree – as do many of the hackers whose perspectives and insights I value most.

So my goal in this post is to convince you that sigils are a powerful tool for writing clear, expressive code. In fact, I’ll go further: Sigils are a powerful tool for clear communication in general – that they’re useful for programming is just an application of the more general rule.

Day 18: Something else

Santa was absent-mindedly going through the Rakudo commits of the past weeks, after hearing about the new 2022.12 release of the Rakudo compiler. And noticed that there were no commits after that release anymore. Had all the elves been too busy doing other stuff in the Holiday Season, he wondered. But, in other years, the Raku coreContinue reading “Day 18: Something else”

Day 19 – Let it Cro

Ah, advent. That time of year when the shops are filled with the sound of Christmas songs – largely, the very same ones they played when I was a kid. They’re a bit corny, but the familiarity is somehow reassuring. And what better way to learn about this year’s new Cro features than through the words ofContinue reading “Day 19 – Let it Cro”

Day 12 – A long journey to Ethereum signatures

The Ethereum blockchain is essentially a transaction-based state machine. We begin with a blank state, before any transactions have happened on the network, and move into some final state when transactions are executed. The state of Ethereum relies on past transactions. These transactions are grouped into blocks and each block is chained together with itsContinue reading “Day 12 – A long journey to Ethereum signatures”

Day 11 – Unix philosophy without left-pad, Part 2: Minimizing dependencies with a utilities package

In the previous post, I made a case for why programming languages should have a utility library that provides small-but-commonly-needed functions. Today I’m introducing a Raku package that I hope will fill that gap and discussing how this fits with the Unix philosophy

Day 6 – Following the Unix philosophy without getting left-pad

The Unix philosophy famously holds that you should write software that “does one thing, and does it well”. But following that advice too literally can lead to the micro-package dystopia that got us left-pad. But there is a way to write libraries that do only one thing without getting left-pad

RFC 84 by Damian Conway: => => =>

RFC 84 by Damian Conway: Replace => (stringifying comma) with => (pair constructor) Yet another nice goodie from Damian, truly what you might expect from the interlocutor and explicator! The fat comma operator, =>, was originally used to separate values – with a twist. It behave just like , operator did, but modified parsing toContinue reading “RFC 84 by Damian Conway: => => =>”