Fifty years ago, one man became the first to fly into space.
Five weeks ago, I watched Space Shuttle Discovery’s final launch with a group of dear friends.
And one month ago, Discovery made its final touchdown at Kennedy Space Center.
There are two camps over this currently: the Rails side(“Whoo! Chocolate in my peanut-butter! Less magic and plugins that don’t explode randomly between versions!”), and the Merb side(“DHH is going to defenestrate us all! They won’t taste great! These books from the tech section are out-of-date six months earlier than usual!”
I’m mostly in the Rails camp(due to work), with a little of the Merb camp. It would be nice to keep them existing as separate frameworks, if only because of the other elephant in the room: the Rails-branding(read: money) and need to provide splashdown points for decamping Java webapp programmers. However, the Merb team seems to think this won’t be an issue, so I’ll reserve judgment for when the behemoth finally appears.
In any case, the fact that DHH and the Rails team are willing to adopt formal APIs, clearly define module boundaries, and leave monkey-patching behind is a welcome sign.
As Charlie Stross has noted Stanislav Petrov bent the rules and prevented a nuclear exchange at the nadir of the Cold War 25 years ago today. He ended up losing his job and pension over it, and still doesn’t consider himself a hero.
Two years ago, I was eagerly awaiting DEFCON to have fun destroying the world with other people online. After viewing a gameplay sample on YouTube, I idly clicked on a related-video, which happened to be the attack scene from Threads. I followed that up with a chaser of a music video using a Yo La Tengo cover of Sun Ra’s “Nuclear War”.
I got maybe three hours of sleep that night, and had shivering nightmares during all three of them. I haven’t played DEFCON or even looked at it since.
I’ve never been sure if it was revulsion over what it would actually be like, or repressed childhood memories from listening to adults in the early eighties. But along with Charlie and the rest, I’m raising a glass to Comrade Petrov. How about you?
wasting spending a few days checking out other test frameworks for Ruby/Rails, I’ve come up with this:
The Textmate plugin is barely useable; it appears to have a completely different manner of loading files versus the standard spec command(placing a spec file next to its target and doing a simple ‘require’ worked for the spec binary; the Textmate plugin waves its hands desperately). Wolf howls and tumbleweed are all that is received from asking about it on the #rspec IRC channel.
The bundle works OK under Rails,but of course now the simple use of cache_fu is freaking it out when coming to fixtures(and not even guarding the acts_as_cached statement with ‘defined?’ works because rSpec hooks into Kernel and does all kind of crazy voodoo).
This post gushes about “rspec leaving TDD in the dust”, I’ll believe it when some more consistency is gained.
rspec’ers are going to accuse me of being another idiot user who can’t set up their system correctly. I’ve setup Mysql multiple times(binary release, DarwinPorts, Macports, version) and made countless other mistakes(and fixed them) on my G4 laptop since 2004; I have a hard time thinking that some obvious mistake I’ve made is gumming up the works.
Shoulda would be a nice alternative(plugs into existing test/unit, but it depends heavily on autotest, and autotest still petulantly refuses to believe in namespaced Rails controllers, despite the availability of a patch. I may try updating the patch in the next day or two and giving it another go, but after two days and negative productivity gains, my gut feels like sticking with Test/Unit and friends, because They Just Work. And Just Working is rated higher in my book, no matter what sexy new features are in abundance(like mocking/stubbing)
In the wake of the Intel-OLPC fallout, the chief designer of the OLPC technologies asked Groklaw about ideas for an open hardware project. Even better, it made me aware that OLPC itself is still an ongoing process, rather than being cut-n-dried.
To me, this tickles my inner-struggling-hardware-geek in a really good way. Not just in Jepson’s commercial efforts in the “making components public and affordable” part, but also in her advocation of the “we’ve got no vendor secrets, here’s the exact part-list, schematics, and source-code” method of development.
Of course, making it open isn’t a guarantee of success(OGP, OpenMoko), but it’s a nice perceptual move away from the Wintel alliance’s long standing policies of “we know what’s best for you, and there are no user serviceable parts inside”.
(Yes, my reading list for the past two months has included Stross’ Halting State and Vinge’s Rainbow’s End)
Powered by ScribeFire.
_why had a neat post on Io today, showing off a cool introspection+meta trick that I wasn’t aware of. And since it’s _why, the Io mailing list has shown another flurry of activity, which I’m hoping will snowball into another group of fresh users, to eventually reach that goal of “1.0″..
Interestingly enough, Io was the language I learned right after Ruby, for much the same reason: trying to get a good grip on concurrency in simulation environments, after too much exposure to UnrealScript.
(And along those lines, Thunder and Lightning still stands as the only major game project using Io as a scripting language).
I had bullet points for a Visual Studio rant after wrapping up the C# side-project that has consumed my summer, but this guy already said much of what I wanted to say.
About all I can add to it is a harumph at Microsoft documentation: yes, MSDN is obviously a force to be reckoned with(if you can pay the entry fee), but it’s tedious to play the back-n-forth game of “look up the actual API via IntelliSense, and look up actual examples in MSDN’s clunky public web interface / hope that a google search for the control will return more than a ‘getting-started tutorial’ that covers what MSDN already did”.
Meanwhile, discovering exactly how to fire events from buttons in .NET took up most of a week’s evenings.
And lo, the Visual Studio build tool did proclaim to the masses, “Interop.Photoshop8.dll” and “Interop.Photoshop9.dll” both declare “ps.Application”. And there was much wailing and gnashing of teeth, for another clever approach had failed.
(seriously, if anyone knows how to get multiple interop DLLs for a single interface to play together in VS.net, or alternatively, why an older interop DLL would not be able to invoke a newer version of the same interface in COM, please please please let me know)
Edit(2:09AM): hurr, if you build the object library manually with a different namespace, you can use both. Of course, now this opens up multiple namespaces for a single set of actions, but that does reduce it to a design issue rather than a “bang the rocks together” issue..
After moving to Eastern Washington, Qwest thought it would be fun to break my Internet connection not once but twice; the latest involving a corporate thought process similar to: “Oh, you’ve had an external ISP for the past four years and moved twice, but you really didn’t want us to switch you over to MSN this time?”. le sigh.
Work is going great. I’ve spent the past two weeks hacking away on custom WordPress sites, which is good and bad. Good is boning up on my apache admin knowledge and regular-expression mastery. Bad is that it’s PHP, and trying to color outside of the lines on WP results in lots of headaches with mod_rewrite, and designers who thought it was totally cool to hack in custom css/js compressors.
Additionally, I’ve been formally introduced to distributed source-control by a longtime friend. I’m now itching to try out Mercurial on some personal projects, to evaluate it for possible use at work. I have to admit that most of my exposure came from slashdot fallout about git, which put me off of the concept for quite awhile, but realizing that you don’t need to setup a personal server just to try it has gotten me excited.
Finally, E is a new text editor for Win32, which promises “the power of TextMate on WIndows”. This had me all hot and bothered to try it, until the actual setup time came:
The setup needs to be run as Administrator. OK, fine, installing for all users, great. What? Update Cygwin? OK! Great, it’s intelligent enough to..wait, you’re installing to the user-specific directory? Even though I already have a cygwin installation on this machine? And after it finishes for the administrator user, it needs to do it again for my personal account?
That being said, it does have some promise. I’ll report back later on it.
It’s been a wild past few months. To sum it all up, I’ve accepted a position at the Yakima Herald-Republic as a web developer. I’ll be working on some of the Rails development that Ezra Zygmuntowicz started, in addition to developing some more specialized applications for the paper.
It’s a pretty radical change from what I’ve been working on the past few years, but I’m excited about working with Rails in a smaller environment. In addition, I’ll be working with an old colleague again. Leaving Seattle will be a big change, though.