Archive for January, 2008

Tuesday Afternoon Photostream

January 29, 2008 Leave a comment

My desk in my dorm. The monitor is, alarmingly, new.

For some reason I can’t quite figure out, I find this amusingly appealing. Something about the heedless and careless revision.
Bumper Sticker

If John Adams had been in a biker gang, this would have been their emblem.
American Skull

Afterthought: that desk picture’s thousand words is the best about-me description I think I could give.

Categories: Good Point

Academic History

January 28, 2008 2 comments

My father recently wrote a blog post in response to a post on Instapundit that linked to one Pravda Online, which reported that an official had come forward and stated that the USSR had tried to launch men in sub-orbital shots once in each of 1957, 1958, and 1959.

Upon reading that, I had to two reactions. The first was that this is all predicated on the word of this one man. It is entirely possible that this did happen, and the USSR covered it all up. As my father dutifully noted, however, even the medium — this “Pravda Online” — is suspect. The fact that the most credible news source that this fellow could get to publish his story was the “equivalent of a supermarket tabloid in the U.S.” also brings into question the validity of his story.

The other reaction was that if the Soviet scientists had been able to share the circumstances of their failures, it might have been possible for the Americans to learn from them and possibly save lives. But then again, we already know that from a much clearer example:

On March 23, 1961 Bondarenko was working in a training simulator pressurized with pure oxygen. After removing some biosensors from his body Bondarenko washed his skin with an alcohol-soaked cotton ball which he carelessly threw away. The cotton ball landed on an electric hot plate which started a flash fire in the oxygen-rich atmosphere and ignited Bondarenko’s suit.

A watching doctor tried to open the chamber door but this took several minutes because of the pressure difference and Bondarenko suffered third-degree burns over most of his body. In 1984 the attending hospital physician Vladimir Golyakhovsky said that while attempting to start an intravenous drip he was only able to find an insertion point on the sole of one of Bondarenko’s feet, where his flight boots had warded off the flames. According to Golyakhovsky, cosmonaut Yuri Gagarin spent several hours at the hospital as “deathwatch officer” and Bondarenko died of shock eight hours after the mishap.

News of the accident was not published. Bondarenko had already appeared in group films and photos of the first cosmonaut group and his disappearance sparked rumours of cosmonauts dying in failed launches. The incident was revealed over twenty years later.

If we had heard about the extreme danger of operating in pressurized 100% oxygen conditions in 1961, we probably wouldn’t have put three astronauts in an Apollo module with 16 psi of O2, where a bar of aluminum can burn like wood, for the plugs out test of Apollo 1 in 1967.

But anyways, about the blog post. One important thing for me was that it pointed out the unlikelihood of the story given the sequence of events. See, my grasp of the chronology of the space program is somewhat tenuous. So when the idea of trying to put a man above the Karman line in 1957 didn’t immediately perk up my ears as it did my father’s:

The USSR didn’t even launch Sputnik I until October of that year, and that was a metal sphere a mere 28 inches in diameter. It did weigh as much as a man (183 pounds), but a spacecraft capable of carrying a man, keeping him alive, and returning him safely to Earth would weigh a great deal more. The Soviets simply didn’t have the ability to loft anything that massive into space, even on a suborbital trajectory, in 1957.

Heck, I even had to look up the dates for Bondarenko’s accident and the Apollo 1 fire. Even though they are events I know of well, their space in the time line is still pretty fuzzy.

Categories: Real Life

One-Album Wonder

January 25, 2008 Leave a comment

The first honest-to-god CD I ever bought for myself, via my finanicial proxy at the time (my parents), was Eiffel 65’s Europop. You’ll probably recall Eiffel 65 for their pandemically catch song “Blue”. Now, here’s the part where I provide a link to a YouTube video or the band’s MySpace so that you can hear the song, remind yourself of it, and remember the agony of being unable to get it out of your head.

Well, the first part I can’t do. The official music video for the song is absolutely atrocious: it has computer generated animation of about — allow me to step out of the way-back machine — ReBoot, but with art direction from Blinky the Three-Eyed Fish. (Alternatively, perhaps it was an attempt to apply the infinite monkey theorem to music videos.)

At any rate, I it’s… yeah. And there are a few fan-made ones where the video consists of Macromedia Flash animated stick figures, clips from Halo, or clips from Sailor Moon. What I’m saying is that if you want to hear this song again, you’re going to have to avert your eyes.

Wait, but what about the MySpace? Well, as it happens, one of the three members of Eiffel 65 decided to go it solo, and the other two abandoned the name and adopted a new one (Bloom 06), whose MySpace has no Eiffel 65 tracks. See, apparantly the name “Eiffel 65” is the property of the corporation that sponsored the band. I guess that’s how things work in Italy.

And that’s really the trick to all of this. The band and its three members are all Italian. They actually made a couple more albums, in Italian, but none of them have quite had the same feel of Europop.

This kind of leaves me in a bind, because the next bit was where I was going to write about how the whole album was good and deserved more attention than it got. However, the juxtaposition of this with a general panning of the band’s body of work strikes me as… unkind.

But there you have it, I suppose. Europop is synth-pop at its finest, but also tries to put some weight behind its words, instead of discussing non-specific life turmoil. Between a song about the PlayStation and a song about how if you want to change things you have to actually work for it, there’s a lot to like there.

So this brings me to ponder a chicken-and-techno problem: did I buy the album because I liked it, or did I come to like it because I had bought it? Well, I’d certainly like to say the former. I’ve definitely developed quite a propensity for the strong-beated musical stylings of the synthesizer and sampler.

But, deep down, it was really about being more like the cool kid who lived up the street. See, he owned the album.

Afterthought: he also had a lava lamp, but I’ve managed to resist that particular, er, siren song.

Categories: Real Life

Happy Endings

January 23, 2008 Leave a comment

Being an avid reader of the Consumerist, whose daily fare consists of horror stories caused by hellish customer service, when I finally decided to send my laptop to Gateway to have it serviced, it was with much trepidation. (Another side effect of reading the Consumerist is also an uncontrollable urge to laugh whenever you hear the phrase “taking it seriously”.) However, given that one of the two hinges on my computer that had been slowly cracking for some time was dangerously close to detachment, I thought that the choice had been taken out of my hands.

Well, I did feel I had a bit of choice. For many months now, I’ve ogled the Asus EEEPc, for reasons I find hard to pin down. It’s small and has a cramped keyboard, hardly suitable for the kind of loquacious writings I find myself so often inscribing. I think, however, it was an admiration for the founding principles of the EEEPc: a cheap, ultra-portable, computer that used Linux and a solid state hard drive to bring it into uncharted territory.

Sure, there have been dabblings with cheap Linux-powered computers, and there have been countless ultra-portable computers made. But the EEEPc brought these two things together into a product that at times consumed my entire thoughtstream.

So when I had the choice between paying about $200 to have my computer fixed and $400 for an EEEPc, it was neck-and-neck at first. But then the realization came that the 7″ screen just would not do for the kind of power-using and multi-tasking that I have come to expect. Sure, I could theoretically write papers on it, but such a foolhardy endeavor has been roundly discouraged in all talk I’ve heard about the product.

Where is this all going? Well, I just got my laptop back from the service center, and it is, externally, as shiny and new as the day I got it, while the hard drive was maintained, so I didn’t have to do anything to get it back to working condition. And once it was booted, I began surfing the net, which is also technically feasible on the EEEPc, however it certainly looked better on a 15″ screen.

But the real kicker to it all is that I then proceeded to install the Eclipse development environment on the computer, and begin working on an assignment for class. I feel sure that such a thing would be patently impossible on the EEEPc. And yet I keep having to justify my non-purchase to myself, as this post can attest.

What is it about those smooth lines and delicious bits of Linux that have me so mesmerized?

Afterthought: I actually installed Eclipse at the urging of my computer science teacher, as it will be the class standard. However, due to a series of unfortunate circumstances, I didn’t actually make it to the class where he covered how to install and set up Eclipse. That’s for the best, really, as I would have been bored out of my mind given that I’ve been using Eclipse for my job for some time now. Funny how that works.

Categories: The Internet

When you gaze long into an abyss

January 16, 2008 Leave a comment

No new posts today.

Been too busy.

Categories: Metablog

Indulge me for a moment

January 14, 2008 1 comment

Via Slashdot, an article was brought to my attention which asks the question: “How do you recognise a good programmer?”

This struck a bit of a nerve with me because I’ve never really been tested. I have a relatively high regard for my programming skills, but I’ve never actually had any of my code reviewed, nor had the merit of my ability land me a job. On the other hand, I got an “A” in each of my Computer Science classes in High School, and I’m already far ahead of the curve in my current class. But as I say, these things are hard to tell. Thusly did I press on, attempting to whittle from this article whether these criteria fit me.

#1 : Passion
I believe that good developers are always passionate about programming. Good developers would do some programming even if they weren’t being paid for it. Good programmers will have a tendency to talk your ear off about some technical detail of what they’re working on (but while clearly believing, sincerely, that what they’re talking about is really worth talking about). Can you get this guy to excitedly chat up a technology that he’s using, for a whole half hour, without losing steam? Then you might be onto a winner.

This is actually something of a two-pronged point. The first article is that a good programmer programs even if they’re not being paid for it. Given that I’ve only in the last few months begun to be paid for writing code, but I’ve been coding for some years (extra-curricularly), I think this is a slam-dunk. The 60 kilobyte folder titled “Python Stuff” with a few years of accumulated coding snippets on my computer agrees.

The notion of rambling on about a technology without losing steam is something I certainly can do — I caught myself doing it just this Sunday. But that is not merely restricted to technology. It is, however, something that comes very easily to me. Take that as you will.

#2 : Self-teaching and love of learning
If you’re thinking of hiring someone as a programmer, and he ever utters the words “I can work with that, just send me on a training course for a week and I’ll be good at it”, don’t hire that guy. A good programmer doesn’t need a training course to learn a new technology. In fact, the great programmer will be the one talking your ear off about a new technology that you haven’t even heard of, explaining to you why you must use it in your business, even if none of your staff knows how to use it. Even if it’s a technology he doesn’t know how to use yet.

Given that my entire knowledge of my beloved Python programming language is self-taught, I can say this one fits quite ably as well. As my father pointed out yesterday, I did actually learn Python after being tipped off by him. He actually mentioned Python in connection with something Eric Raymond said, stating,

If you don’t know any computer languages, I recommend starting with Python. It is cleanly designed, well documented, and relatively kind to beginners. Despite being a good first language, it is not just a toy; it is very powerful and flexible and well suited for large projects.

Using free tutorials and, later, real dead-tree books, I took up the language with an internal zeal that surely qualifies. The love of learning was also manifest here, although it can also be seen in my far-reaching knowledge of all kinds of random stuff that I learned because doing so was, well, fun.

#3 : Intelligence
Good programmers aren’t dumb. Ever. In fact, good programmers are usually amongst the smartest people you know. Many of them will actually have pretty good social skills too. The cliché of the programmer who’s incapable of having a conversation is just that – a cliché. This doesn’t mean that they’ll all feel comfortable in every social context. But it does mean that if the context is comfortable and non-threatening enough, you’ll be able to have as great a conversation with them as you would with the most “socially enabled” people (perhaps better, since most good programmers I know like their conversation to revolve around actually useful topics, rather than just inane banter).

The emphasis here is mine, because I concur strongly with this. I have always struggled with this notion of small-talk, discussing things just to discuss them. I will always honor a good-natured inquiry into personal status, but any attempt to discuss ephemera like sports or — perish the thought — the weather will likely be met with terseness and laconicity.

The main thrust of this was, however, intelligence. Well, there’s not much I can say here that isn’t forth-right bragging. I got a 1460 on my SAT, for whatever that was worth. Above and beyond that, I can back this up only by offering to take the derivative of my word-per-minute, or prognosticating on the various ramifications of the EFF’s latest movement against the RIAA.

#4 : Hidden experience
I strongly believe that most good programmers will have a hidden iceberg or two like this that doesn’t appear on their CV or profile. Something they think isn’t really relevant, because it’s not “proper experience”, but which actually represents an awesome accomplishment. A good question to ask a potential “good programmer” in an interview would be “can you tell me about a personal project – even or especially one that’s completely irrelevant – that you did in your spare time, and that’s not on your CV?”

That folder of “Python Stuff” I mentioned earlier is probably the best indicator of this. Just browsing it, I find that I’ve got little code snippets for things like the Sieve of Eratosthenes, working with Mersenne primes, and a little program that asks “Does the verb phrase have its own subject?” If the user replies “yes”, the program responds “The word group is a clause, not a phrase.” and if the user replies “no”, then the program prints — I am not making this up — “bummer dude”.

I could also mention all the work I’ve done over at Project Euler, which ended up using some Python libraries that I had already coded up for just such an eventuality. My crowning achievement, though, is probably the program I wrote for the TI-83 that simplifies radicals. The trick is that, after I finished it, I realized it would be way more efficient using a list of primes instead of just iterating through each real number. So, naturally, I coded up a version of the Sieve for TI BASIC. The inter-operatory elegance present there is still impressive to me.

#5 : Variety of technologies
This one’s pretty simple. Because of the love of learning and toying with new technologies that comes with the package of being a “good programmer”, it’s inevitable that any “good programmer” over the age of 22 will be fluent in a dozen different technologies. They can’t help it. Learning a new technology is one of the most fun things a programmer with any passion can do. So they’ll do it all the time, and accumulate a portfolio of things they’ve “played around with”. They may not be experts at all of them, but all decent programmers will be fluent in a large inventory of unrelated technologies.

The fact that, on a daily basis, I go between working in Windows & Kubuntu Linux and coding in Java & Python, as well as my dabblings in HTML & CSS proves this point as best I can. This one is a little nebulous simply because knowing a little about a lot isn’t something you can easily distill. Sure, I can program a VCR or do some audio engineering, but I was only able to pull those out of the air by staring off in to space and trying to think of random things that I wouldn’t even put on a resume.

#6 : Formal qualifications
This is more a of non-indicator than a counter-indicator. The key point to outline here is that formal qualifications don’t mean squat when you’re trying to recognise a good programmer. Many good programmers will have a degree in Computer Science. Many won’t. If you’re hiring for a small business, or you need really smart developers for a crack team that will implement agile development in your enterprise, you should disregard most formal qualifications as noise. They really don’t tell you very much about whether the programmer is good. As a final note to this, in my experience most average or poor programmers start programming at university, for their Computer Science course. Most good programmers started programming long before, and the degree was just a natural continuation of their hobby. If your potential programmer didn’t do any programming before university, and all his experience starts when she got her first job, she’s probably not a good programmer.

There’s really not much to add to this, as the previous discussion has well established that this doesn’t really apply. I learned to program and used that to get my first technology job, not learned programming to keep my job. I have no illusions that what I learn in college will only be a portion of what I will need to know to write good software, but that’s why I plan to keep working and learning — in and out of the office.

So, I fit the bill, it seems. I’ve got a ton of writing about how I am a good programmer, and it seems right. That just leaves one thing left to do: put my money where my keyboard is and make some good code. At the risk of sounding like further procrastination, as soon as I get my laptop back from Gateway’s Repair Dungeon, I think I’ll start using it to put together Futility Forever, an updated version of Futility, the Space Invaders clone that can never be won. This ought to be good.

Ooh, and while I’m at it, I can tinker around with and learn Google Code

Categories: Real Life

Like Escher’s “Drawing Hands”

January 11, 2008 Leave a comment

The Revision3 show Systm recently did an episode on one of the many do-jiggers to increase gas mileage by using possibly-legit science to inject hydrogen into the air-fuel mixture in the engine to increase fuel efficiency.

A couple of things strike me about this. The first is that I can’t find any documentation either way on if the hydrogen has a disproportionate effect on efficiency. Essentially, for the purpose of simplicity, let’s say hydrogen gas burns twice as “well” as a proper air-fuel gasoline mixture. So if you have 99% gas-air, and 1% hydrogen, it seems to me that you would get a 1% better engine because the 1% of hydrogen is worth 2% of gas-air (twice as good). But really, that’s all beside the point — I just like to sound like I know what I’m talking about.

So even assuming Hydrogen does increase efficiency, the problem comes back to the same problem facing Hydrogen cars: where to get the gas.

Well, this particular do-jigger uses the same magic bullet that has been so often proposed as the solution to all of our hydrogen woes: electrolysis. If you run a current through water, you can cause the water to split into its components: hydrogen and oxygen. Capture the hydrogen and voila: “free energy.”

Except it isn’t. You have to run a beefy current through the water to split the water, so all the hydrogen does is simply “store” the energy in chemical potential energy. You release that energy it by setting it on fire.

Anyways, back to the do-jigger. It siphons current from your battery to conduct this electrolysis. This is where you science nerds are finally catching up with me. See, it’s a zero-sum game.

By draining the battery to put that energy into gaseous hydrogen, the engine then has to burn more gas to recharge the battery. It sounds perfect to the layman, because it’s easy to think that free energy exists: except it doesn’t. Everything costs something, until you’re all outta money.

(Comments telling me how wrong I am are quite welcome. Interestingly enough, my collegiate-level chemistry class has given me very little help in this, so I’m essentially going on inherited knowledge.)

But I was going to Revision3’s website to see if anyone had expressed the same flaw in the reasoning that seemed so apparant to me, and found the forum thread for this particular episode.

What I found particularly alarming here is the same thing that I’m sure the MythBusters discovered in their days of covering psuedo-science: you can find loons in even the most normal bunch.

For example, in that forum thread, there’s this Hklax character whose posts are a little peculiar. One, in particular, sounds like a commercial for this one type of electrolysis aparatus, which seems rather trivial. The fuel cell produces so-called “brown gas”, which is water in gaseous form, which is to say 2:1 gaseous Hydrogen:Oxygen. But we don’t need gaseous Oxygen. It’s everywhere around us. Even in an internal combustion engine, having the Oxygen in the “brown gas” would be redundant.

But Hklax really seems to show his stripes when another poster points to the debunking of the magic fuel-saving devices done by the MythBusters. He really lashes out at them for crushing his dreams of a hydrogen utopia, responding thus:

when talking about the myth busters, you also need to think about the fact that they’re ENTERTAINERS, the results are rarely actual, the show is made to ENTERTAIN you, they also often seem to leave out convenient important facts. like when they tried out the Bedini-engine in the “free energy” episode, there they somehow didn’t attach the magnets of which this engine is so famous for, also, if that “professor” they used, actually was some kind of real professor in alternative energy, he’d tell them right away that they had forgotten the magnets.

On a side note, when referring to myth busters as a reliable source, you need to take into account that they have been, and ARE STUNT coordinators, meaning that they plan and organize stunts for entertainment purposes ONLY. Another thing to note is that they are “well funded” which means that they have OTHER people in charge of the show, these other people isn’t always interested in showing real results, often they are interested in making more MONEY.

I know that someone posting gibberish on a forum isn’t news in any way, but this was just too good to pass up. The MythBusters being a front for The Man? “Real professor in alternative energy”?

I think the word he’s looking for there is “wizard”, given that that is the word I use to refer to practicioners of magic.

Categories: The Internet