January 2024

S M T W T F S
 123456
78910111213
14151617181920
21222324252627
28293031   

Style Credit

Expand Cut Tags

No cut tags
shadowspar: An angry anime swordswoman, looking as though about to smash something (Default)
Friday, October 7th, 2011 14:51

Audrey Tang is far and away the most awesome hacker I've ever had the privilege to have worked with. She's best known for creating Pugs, a perl6 implementation in Haskell. Though it's now semi-retired in favour of the newer implementations that it had a role in inspiring, it represented a huge leap forward and a quantum shift in Perl6 development at a time when enthusiasm around Perl6 was sorely flagging. She was the first CPAN contributor to have uploaded 100 modules. She's the key figure behind Perl 5's internationalization, as well as the i18n of many, many other individual pieces of software. She was part of the committee that designed the Haskell 2010 standard, and has made innumerable other contributions to the open source community.

I never got seriously involved with Pugs, but many of the things Audrey did with it shaped my thinking around open source, community, and how we should collaborate. First was the idea that a project should be optimized for fun (-Ofun1), not for control, or strict adherence to the founder's vision, or anything else. Second, whereas many open source projects keep a very tight rein on who has commit access and make getting a commit bit an arduous process, Audrey aggressively gave out commit bits to anybody who happened to wander by in the general vicinity of Pugs. Got a great idea? Here's a commit bit, go implement it. Notice something missing in the docs? Here's a commit bit; go add it. Ranting in IRC that something's not working? Here's a commit bit; go fix it. Extending this trust makes people feel welcome and want to contribute. It fosters an air of community instead of making prospective new participants feel as though they are looking at climbing (or worse, building) a pyramid.

Audrey would likely demur at my calling her brilliant, but it's a fitting descriptor for her. She has a unique and penetrating insight into code and an uncanny knack for encouraging the people who write it. I count myself as fortunate to have been able to work with her and to be part of a few of the communities she's had such a profound impact on.


1 -Ofun: -O is the compiler option that tells it how you want your code optimized. Audrey's presentation on -Ofun [pdf] talks more about how to maximize the amount of fun in your software project.

Ada Lovelace Day is an international day of blogging about women in science and technology. You can find more information at the Finding Ada website.

shadowspar: An angry anime swordswoman, looking as though about to smash something (Default)
Friday, September 25th, 2009 18:40

Hi, I'm Rick.

<chorus> Hi Rick. </chorus>

I've been wanting to contribute to Dreamwidth for a goodly while, but haven't had the time until now. At the moment, I don't have any contracts in the works for my consulting business, so I've got the opportunity to work on DW for something like full time. Before very long, of course, I'm going to have line something up, but (amongst other things) I'm hoping to start the ball rolling on a browser-based test suite (perhaps using Windmill) before things go back to business as usual.

Thanks to everyone who's given me a hand so far, and to everybody who's contributed to DW to date -- there's a high concentration of Awesome here. =)

shadowspar: An angry anime swordswoman, looking as though about to smash something (Default)
Tuesday, September 1st, 2009 07:54

So, way back in the day, when I was working at UVic, I was writing a program that let my fellow sysadmins track overtime hours. Of course, you get a different amount of credit if your overtime happens on a holiday, and as I started making up a list of stat holiday dates, I thought to myself (as one often does when programming, especially in Perl): "Surely somebody has solved this problem before. If I'm lucky, they've even put code up on CPAN to solve it for me."

The first might have been true, but the second wasn't. There was a whole hierarchy of Date::Holidays modules, with holidays for Germany, Australia, the UK...but not for Canada.

More on the making of Date::Holidays::CA )