Ruthless Pragmatism, the ALF, and Strategic Nonviolence

Update: The first version of this entry was all mixed up with the next entry. That’s now fixed. This past weekend’s TLOV 2009 conference is over, and I have a lot to think about. In particular, I both agreed and disagreed with much of pattrice jones’ keynote on Sunday afternoon. Her keynote outlined an approach to animal rights based on the axiom that “animals exist”. This means that animals are creatures with desires that need to respected right now, as …

Read more

The Real Problem With Dependencies

After ranting about dependencies, I started thinking (which is not the same as ranting by any means!). Other systems have long dependency chains, but people don’t complain. Specifically, I’m thinking of Debian, which has great tools for tracking and installing package dependencies. I used the cool debtree tool to create a dependency graph for gimp. Check this monstrosity out! That’s a lot of dependencies! But it isn’t considered a problem, and I don’t think you’ll find anyone out there complaining …

Read more

Dependencies Rule

Dear whiners-about-dependencies, Please stop whining. Recently, there was a thread on Perlmonks which included the quote, “the dependency chain on Moose and MooseX is *long*.” What is “long” here? Moose really doesn’t have that many dependencies. Also, conflating Moose with a bunch of Moose extensions is just weird. Chris Prather then wrote a blog post explaining why Moose has each dependency. That was nice of him, but I’m not sure addressing the whiners like this is worthwhile. Moose’s dependencies need …

Read more

Moose Docs Grant Wrap-up

The Moose docs grant is finished, so I’m going to review what exactly was accomplished, and how it differed from the original grant proposal. I’ll take each section of the original proposal one at a time. Write a set of Moose::Intro docs I ended up calling this documentation Moose::Manual instead, but what was produced is pretty similar to the original plan. The original proposal called for the following sections: Moose::Intro::Attributes Moose::Intro::Subclassing Moose::Intro::MethodModifiers Moose::Intro::MooseObject Moose::Intro::Roles Moose::Intro::Types Moose::Intro::Introspection Moose::Intro::MooseX The end result …

Read more

Moose Docs Grant Is Complete

I actually finished the grant about a week ago, but I’ve been so busy I forgot to say anything here! The last recipe I wrote was a new Basics recipe on subclassing non-Moose classes. The original plan called for a recipe on hooking into Moose’s immutabilization system, but that part of Moose is really nasty, and Yuval Kogman has plans for a major re{factor,write}. There’s really no point is documenting what’s there now. If you’re really intrepid, you can cargo-cult …

Read more

Docs Smell Your Stinky Code

Working on the Moose and Class::MOP API documentation recently has once again reinforced the importance of writing documentation. Writing docs hugely improves your APIs. Conversely, not writing docs makes it much easier to write really bad APIs. I’m hoping that going forward, all new Moose and Class::MOP work will require API docs for all public APIs. This will help us catch bad designs before they’re released. Here’s some code smells I think docs help catch … The Parameter of Many …

Read more

Moose Grant _This_ Close to Done!

I’m just inches away from declaring the grant done. Last week, I released new versions of Class::MOP and Moose which feature (mostly) complete API docs. I say mostly because some things are intentionally being left undocumented for now. These are methods with public names (no leading underscore) that I think should be made private, or in a few cases entire classes with really weird APIs that need some rethinking. I think the API docs are done enough to satisfy the …

Read more

Need a Programmer?

I’ve felt for a while like my current position isn’t a good fit for me. Basically, the way they do development is kind of 1995-centric, and I don’t have any power to change it. I find this very draining. Talking to a friend, he also pointed out that my current job is very isolating. I work from home, and my projects are basically all solo. When I worked at Socialtext, everyone was remote, and so everyone chatted on IRC. Because …

Read more

Pirating music I already bought

I was listening to Massive Attack’s Mezzanine today and I happened to notice that I was missing a track in Rhythmbox. I bought this CD ages ago, and it’s been in my MP3 library for a long time, so it’s funny that I just noticed this. I went back to my old home-made MP3 server thingy and looked for the track, but it was missing there too. Now, I could’ve gone downstairs and looked at my dusty shelves of CDs, …

Read more

Am I a modern dinosaur?

♪ I’m a dinosaur, somebody is digging my bones ♪ – King Crimson I just read a great article/talk by Charles Petzold that was recently (re-)posted on reddit. He talks about how Windows IDEs have involved, and how they influence the way one programs. Reading it, I was struck by just how ancient the way I program is. I use Emacs, a distinctly non-visual editor. When I work on GUIs, I do it using HTML and CSS, which means I …

Read more