Archive for the ‘Projects’ Category
Followup: Django on Textdrive
I ended up moving Victim of Time from Dreamhost to Textdrive last week during the “great Dreamhost outage of ought-six.”
I’m still a fan of Dreamhost, but for Textdrive is better geared for Django and Rails. I have control of a lighttpd server with my own port that Textdrive proxies behind Textdrive controlled Apache server. It’s a very flexible setup that makes me feel like I have root without actually having root. Textdrive is also setup nicely for growth, with “business” shared hosting plans as well as container hosts.
All in all, a very smooth transition. I’m keeping the majority of my sites on Dreamhost as it’s dirt cheap and super easy to use. I may end up migrating more over time, but don’t see a need right now. Dreamhosts’ $9 a month is hard to argue with.
Better Perl 6 Documentation
As I’ve documented learning Perl 6 from the Synopses is difficult. I’m not entirely sure why I’ve never come across this before, but there’s much better documentation at perlcabal.org.
Reading through it has got me hopped up on Perl 6 again. Tech Coffee is currently on hiatus, and I have a handful of Victim of Time tasks to take care of. Once VoT is back in shape I plan on putting some time into a visible Perl 6 project. As I’m totally in love with the web, so I figured I’d try and build a simple something or other on top of the ported libwww library or the straight CGI library.
All that said, I’m notorious for writing checks my time can’t cash. We’ll see how it plays out.
Chicago Public Library Clears Up Isham v. Hering
I wrote askalibrarian@cpl.org about this whole Hering situation. They got back to me within a few hours. They have a bunch of documentation that says Hering conceived the Ship & Sanitary Canal plan in 1887. In 1889 the Chicago Municipal Sanitary District was formed, with Isham Randolph as their Chief Engineer.
From 1883 until 1886 Hering was working Philadelphia on their sewer system. In 1889 he was in New York doing the same. According to this US Army PDF, Hering was responsible for most the United States early sewers.
I’m going to go to the Harold Washington Library this week to look at some of their archives on the building of the canal. The Chicago Public Library is really impressing me today.
On Vocation
This article popped up on the O’Reilly Radar today. It’s an awful lot like Zen and the Art of Motorcycle Maintenance without the heavy parts I have a hard time understanding (the whole second half of the book).
The whole guy with a graduate degree that finds manual labor to be more satisfying than not-manual-labor thing is sort of trite, but I like it just fine. I’m of the mindset that software development is one of the last great vocational crafts. Stuff like this…
“My shop-mate Tommy Van Auken was an accomplished visual artist, and I was repeatedly struck by his ability to literally see things that escaped me. I had the conceit of a being an empiricist, but seeing things is not a simple matter. Even on the relatively primitive vintage bikes that were our specialty, some diagnostic situations contain so many variables, and symptoms can be so under-determining of causes, that explicit analytical reasoning comes up short. What is required then is the kind of judgment that arises only from experience; hunches rather than rules. There was more thinking going on in the bike shop than in the think tank.”
…happens all the time in the computer world. As much as I like Mac’s, I’ll always build desktop’s from parts. Not because it’s cheaper, but because I like screwdrivers. The other night I swapped a bunch of parts between my two desktops to even them out a bit. I ran into some problems, and “saw” what the issue was without going through a lengthy part by part diagnostic. Growing up, I never had money to buy a brand new PC, but there were always parts around. Twenty or so years of building game machines is pretty valuable and satisfying.
All that said, I have serious ADD when it comes to learning new things. This blog is evidence of how often I change my mind and head out in new directions. The idea of learning one thing very well is appealing to me, but I’m notoriously impatient and fickle. The wife and I were recently talking about “natural ability” vs. “learned ability”. Not to sound like an arrogant dick, but I’ve been told that I have a “natural ability” when it comes to improv. Totally fucking false. It’s just not true. Yeah, I’m hilarious, but not because of nature, it’s because I want to be funny more than just about anything. So I spend a lot of spare brain cycles constantly analyzing why what I just heard was funny, and how what I’m currently experiencing is going to be funny when I tell it to someone later on in the day.
Lame, eh? My new theory on “natural ability” is that it doesn’t exist. What does exist is “I love doing this.” If you genuinely love Chess, you’re going to be good, because you’ll play all the time, and build up a head-index of crappy situations you’ve been in. A lot of this was in Scientific American last month in an article about prodigies. That’s what kicked off the initial me and the wife chat.
Anyway, I digress. I liked the vocation article. I agree with the author (and Pirsig) that you should spend time figuring out how your stuff works, maybe fixing it on your own occasionally, and generally not being afraid of hand saws.
WBEZ looking for open source developer
I just spammed Chicago user groups with a message about this. I’m getting pretty good at that. Kind of a cheap tactic, but I like getting the word out.
WBEZ, Chicago Public Radio, is looking for an open source developer, or team of developers, to build the web front end for their very ambitious Secret Radio Project.
It’s a pretty ambitious project, with a very quick turnaround time. They took out an ad on the 37signals job board that explains things a little better.
My friend Steev is leading the tech effort for the station. He’s a really bright guy, and would be great to work with. We built the original Chicago Improv Network together. Steev is also the force behind Don’t Spit the Water. The guy is a machine.
I’m really excited about this project, and plan on helping in any way I can. I wish I could throw in for the actual contract, but am happily employed. I hope someone from Chicago takes this job…it has a ton of potential.
Lazyweb: What's next for Django / hosting?
I’m soliciting opinions here for inexpensive Django hosting that doesn’t suck. Victim of Time is quickly outgrowing it’s $9 / month Dreamhost account, and needs a new place to live. If I had unlimited funds, I’d go for a dedicated server, like during my heady days of debt ridden ServerBeach hosting of non-profitible projects. As it is though, VoT is well on its way to being solvent, but I don’t want to cut into the budget unnecessarily.
Any suggestions? Right now I’m leaning towards TextDrive, as I met one of their founders at Snakes and Rubies, and really liked the guy. They’re very much in the “as long as it runs under FastCGI, we’re all over it” line. They’re also very Django-aware, and seem attentive. They have a pretty solid looking shared plan that you can upgrade to Business hosting or a sort of Virtual Private Server. Their pricing is a little high for the VPS stuff, but the shared is reasonable, and you can pay a year in advance. I also like that they’re (obviously) pretty Rails friendly, so there’s no problems with me moving other projects over at the same time.
Any opinions out there?
Today is my Birthday
I’m 30!
So, expect a lot more mature blogging now, instead of all this hot open source stuff I’ve been tossing out at you. Now that I’m an old man, I’m pretty sure I’ll be writing Java or C#, kicking back with my enterprise friends, chatting about the power of waterfall.
So long 20′s, I barely knew you.
More Perl6 and TechCoffee
Went to my second TechCoffee this morning. I sort of completed Synopses 2. I sped through the last couple of pages. I want to jump into other stuff. Along the way, I spent some time moving some of the script I wrote last time into a Test.pm style test suite. It makes more sense to try and write this stuff as tests, at least it seems to right this minute. I spent some time hacking around with Test.pm. I tried to add a &eval_not_ok test function, but ended up breaking it. I also played around with the YAML compilation of P6 modules with PUGS, but didn’t have much luck. I think I used the wrong backend. I’m not totally firing on all cylinders this morning.
TechCoffee, Playing with Perl 6
I went to my first TechCoffee this morning. I want to use that valuable, early morning, low stress, bleary eyed time to explore Perl 6. I’m working through the synopses one at a time, and keeping notes as I go. The notes are executable. I’m checking them into my public repository here http://lonelylion.com/mcavoy_public/perl6_play/
They’re pretty train of thought, so they’re probably confusing. I tried to backtrack occasionally to write a wee bit more for people that aren’t me. I may end up jumping around the synopses a bit, as I’m not entirely sure the order is important.
I worked through the first ten pages of synopses 2 today. That’s about 1/3rd of the way through. Notes are here. It’s jumping around to a lot of concepts (like OO) that haven’t been introduced yet, which leads me to believe the synopses aren’t meant to be read in order, the numbering is just a tie back to the apocalypses and exegesis.
At this velocity, I should be done with all the synopses in July 2007. Egads. I won’t be able to make TechCoffee every week. I’m shooting for alternating Mondays. So I should be able to cover a synopses a month. I’ll probably poke around on the train too, so July 2007 might be a bit of exageration. I don’t anticipate being through these things anytime soon though. I want to take my time. This is an interesting project for me, I’m used to living in the “Learning [insert language]” book from O’Reilly tier of learning. This is a big change.
Ruby Bees
I finished the Ruby implementation of my world famous Bee Simulator. It’s especially fun as it’s the first functional implementation. I’ve made starts in Perl, Python, and Rails, but gave up on each in turn. Feel free to read into that as you see fit.
I’m really happy with how the ultimate “Bee API” turned out. Here’s the Bee logic method in all its glory:
def tick
if @nectar > 0 and is_hive?
log("dumping nectar in hive")
deposit
return
elsif @nectar > 0
go(where_hive?)
return
end
if ! is_flower?
direction = Cardinal[rand(Cardinal.length)]
move.send(direction)
return
end
f = get_flower
log("found flower")
suck_nectar if f.has_nectar?
log("sucked nectar")
end
Kind of a neat API, in my humble opinion. It needs tweaked, but it’s good for now. I’d also like to give the Bee’s their own DSL, so that I can easily make this into a web app that lets users test their own theories of bee logic. If you want to take a look at the code, it’s available via subversion here: http://lonelylion.com/mcavoy_public/trunk/bee_ruby/