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)
Tuesday, November 17th, 2009 06:44

OK, you know how there's this 'open source' thing where you can download and use a whole bunch of really great software for free? And how there's this really great other aspect that if something in it is broken or doesn't work quite how you like it, you can fix it and the people who maintain the stuff will usually incorporate your fixes? Well there's also this third chunk of awesomeness I had no idea about until recently: I posted some of my own stuff online and -- get this -- random people on the internet started wandering by and fixing my crappy code! It's amazing! =)

Seriously, I held back contributing any code to the open source community for the longest time for fear that it wasn't "good enough" or "important enough". The module still needs a thorough rewrite and more tests, but it's out there, it's getting better, and people are downloading it and finding it useful.

At the next tech conference I go to, I think I need to give a lightning talk about this.

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 )