Cause and Effect: Random Acts of Software
The people who really got the idea of what I was trying to say in my OSS Prototype post were the people who've published this sort of code in the past or are now thinking about showing the world something they've hacked together. I just got an amusing email from Amphetadesk's Morbus Iff who has this disclaimer on a MacOSX script he wrote called iTunes2HTML:
"Please note: this script is only to be run from the command line. It's not a GUI application like you'd expect (or pay shareware licensing for) under OS X. You shouldn't download this if you haven't had any experience with running command line applications under Apple's Terminal.app. Also realize that this script was originally made for my purposes only, but after some popularity / feature requests, I've decided to mention it here. For me to make it as generic as every user would need would require a rewrite, and that's not going to happen ("it works for my needs") anytime soon (no time)."
That's what I really need to do. My own hubris about the code I write ("this code will allow me to Rule The WORLD!") has prevented me in the past of labeling it like I should.
Another example of a person who got it is David Watson, who decided to publish his Mono-based RSS Aggregator code after reading my post! YEAH DAVE! Thank you for saving my mind! Way to go!
Russell Beattie is moaning about what a pain it is to publish open source and in some regard, he's right. I feel his pain. It's the pain of somebody that obviously takes his work very seriously and has a hard time saying no. But that shouldn't stop anybody from making a contribution, even if it's a small one, to the larger community.
Most of us probably don't have the stamina to take our basement hacking exercise quite as seriously as our day jobs and so I propose a lesser class of open source - Random Acts Of Software. This phrase pretty well describes what I do, which is not an entirely organic process but rather one of synthesizing the means to an end. I'm interested in the end, not the means, and so my source sucks. It is a heinous morass of square pegs jammed into round holes but you know what? I don't give a damn. It runs - and that's a good enough standard of completion for my little hobby projects.
...
I've been exploring mono to see what's possible with current builds of the compiler and runtime and have been blown away by how much progress has been made by this team while maintaining a very high quality level.
In this example, I set out to implement an RSS news aggregator in the style of amphetadesk. I've used amphetadesk for quite a while but what I wanted was slightly different in that I like to be able to expose the transformed content to the world without people being able to add or remove feeds. I'm perfectly happy editing that stuff in vi, as I don't change it much once it's set. Thus, this application is driven off of a single text file called mysubs.txt that has one feed per line such as
This code works with mono 0.19 on linux. Get it here. YMMV. The original RSS parsing code originated here and the web server bits were extracted from here. I am indebted to niel bornstein and imtiaz alam for the original code which I hacked to work with mono.
You'll find the code here.
Now that's what I call cool.
-Russ