Zed Shaw’s Writeup of CUSEC 2008

Zed’s “Zed playing guitar graphic” laid over the CUSEC 2008 banner

Zed Shaw’s title for his writeup of the CUSEC 2008 conference sums up his opinions: CUSEC 2008 Rocked Hard!. It’s a telling sign when the master of over-the-top condemnation has nothing but praise for your endeavour.

Here’s a quick summary of his points:

  • “The first thing I’d say about this conference, and many of the other small regional conferences is just how well organized they are compared to the professional and larger conferences. The CUSEC organizers are all volunteers from universities, yet they were better planned, had their act together, and really knew how to put on a show.”
  • Montreal however reminded me of what Canada is supposed to be: friendly, cool, relaxed, and open. The sexy French accents helped push this perception, but also the food, the fact that strip clubs were everywhere, the streets were clean, people smiled at me (nobody in Vancouver smiled) and everyone seemed to be having a good time.
  • Tim Bray’s presentation: “It was a decent talk, and I think the audience got some valuable information out of it…I liked Tim’s talk since it was perfect for students starting out, and it dovetailed well with a talk by Dr. Peter Grogono on the same subject.”
  • Kate Hollenbach’s presentation: “What she demonstrated is a way to do simple visualizations using a Python simplification wrapper to most OpenGL primitives. What impressed me the most is she did live demos of large scale 3D visualizations based on information from internet services like Facebook. She did this live right off the internet and it didn’t tank on her. If the project already can survive the demo effect then it’s doing pretty damn good.”
  • Zed’s keynote: “I did my keynote in Factor using a neat presentation DSL that Slava wrote up for another presentation he did. You can grab the source to it here. Then go grab the 0.91 release, put the file in extra/cusec2008/ in the Factor directory, and then just start factor and type: “cusec2008” run to start it. Yes, I make it hard to read through on purpose you bastards. Learn something for a change.” (That crazy Zed, always working that “Magnificent Bastard” persona…)
  • The points from Zed’s keynote:
    • I work at a stupid bank on a cool project.
    • They’re bureaucracy almost crushed the project.
    • They tried to push through a product we couldn’t use due to a major theoretical limitation in how ACLs work: they aren’t turing complete.
    • Steak And Strippers! The sales guy’s dirty bomb.
    • After months of wasted effort on the project and fighting stupid politics we finally implemented something better.
    • This kind of thing makes being a corporate programmer suck, suck, suck!
    • Don’t be a corporate programmer. They demand all of your creativity and trust none of your judgment.
    • But, you’ve gotta eat so if you do become one, here’s how you survive.
    • Then tons of advice on how to survive and be happy until the moron MBAs who know nothing of technology die off and are replaced with people who get it.
  • “Another thing that impressed the hell out of me about the audience is that many of them actually came up and told me they didn’t agree with all that I said. Other conferences I’ve been to people either don’t speak up when a speaker is being an asshat, or if you do challenge the speaker he gets all pissy.”
  • “What blew me away first off is that the audience asked actual fucking questions. I’ve been to so many conferences where half of the shit the audience spews out of their mouth hole after the talk isn’t a question. They state what they think, talk about their own work (which usually sucks), and just don’t ask a fucking question. The CUSEC attendees rocked because they got up, and not only asked great questions, but asked challenging ones that caught a few speakers off guard, myself included.”
  • “CUSEC was full of great independent thinkers and I hope they never lose that. Always question the people telling you how it should be and demand evidence. If some shit head Haskell moron tells you that software should be stateless, then ask him why there’s monads. If someone says that you should be doing more usability, then ask him why his website sucks shit.”
  • At CUSEC the corporate talks were actually useful and given by non-sales people. They did include pitches to hire folks, but not but based on how cool their product was and how interesting the work is. Additionally, I had managed to inoculate most of the students against stupid sales pitches so most of the people trying to recruit had to throw in, “We don’t suck like Zed says other corporations suck.” I was actually also proud since throughout the rest of the conference students would yell out “Steak and Strippers!” whenever it was funny.
  • Jeffrey Ullman’s keynote: “Pretty neat stuff, and since he’s basically the grandfather of google having been their thesis adviser, it was worth seeing.”
  • Idee’s presentation: “The demos were impressive.”
  • Idee’s as a start-up: “Then they mentioned that the two partners actually had 2.1 million of their own money for the “start-up”. That pretty much killed the talk for me. Technically it was excellent, but if you come to me and say you got your business off the ground by a heavy investment of 2.1 million bones then I don’t call you a start-up. A start-up is Woz and Steve Jobs making circuit boards in their garage on nothing. With that much money you’re just a business.”
  • On Slava Pestov’s no-show: “…he whimped out at the last minute and decided to defend his MSc. in Mathematics instead. Loser. No worries though, because I got Slava’s CUSEC speaker’s plaque and plan to take it on a disgusting traveling gnome style tour of NYC before mailing it to him.”
  • Jeremy Cooperstock’s presentation: “It was a kick ass talk about how the current internet can’t handle the required latency for musicians in different locations to perform together.”
  • On Jon Udell’s talk: “One thing I found annoying about Jon Udell’s talk is that, just like all the other RESTafarians, didn’t have a clue about HTTP. He mentioned that you could use ’;’ in a URL to give people hierarchy, but that’s just dead wrong. It’s the exact same problem that Rails ran into, since ’;’ is a path parameter and isn’t part of a file name at all. It’s right there in the HTTP spec that you can’t do it, and part of the grammar even, but REST people don’t have a clue. They think if they can put the char in a file on their modern file system then it can go in a URL. Not true at all since HTTP was built before most modern file systems…I later had the chance to sit next to Jon and chat with him. He’s a smart guy for sure and very nice. Just wish he wasn’t telling kids how to do REST.”
  • Jeff Atwood’s talk: “Finally I watched Jeff Atwood of Coding Horror fame talk about what a lot of other people have said and why you should blog. I completely agreed with everything Jeff said, except for a tiny bit of hypocrisy he didn’t fess up to until asked…Jeff is a great public speaker too. Even though I disagreed with a few of his points I really liked his talk and would see him speak again any time.”
  • Don’t just fucking blog, but write some software and give it away. While the average person can only read a human language, the people you really need to hit with your message as a programmer are other coders. I’d say that’s the best thing I’ve done for myself, not really the blogging.
  • I have a policy of not naming people on my blog since it’s normally a pretty fucked up place to get named. I’ll just keep it short however and say all of the organizers kicked major ass. They were all nice, awesome people that I’d hang out with any day. I’m glad they invited me to the conference and I’d come to the next one any time.

10 Secrets to Success

Key on a computer keyboard labelled “Success”

Continuing the recent run of lists of career tips — see What to Do if You’re Laid Off in the 2008 Recession and How to Work the Room — here’s 10 Secrets to Success.

It’s a list on that originally appeared in Investors Business Daily. This list is based on answers to questions they asked “industry leaders, investors and entrepreneurs to understand the traits they all had in common”.

Here’s a simplified version of the list — to see the whole thing, read the article:

  1. How you think is everything. “Think Success, not Failure. Beware of a negative environment. This trait has to be one of the most important in the entire list. Your belief that you can accomplish your goals has to be unwavering.”
  2. Decide upon your true dreams and goals. “Write down your specific goals and develop a plan to reach them…Goals are those concrete, measurable stepping stones of achievement that track your progress towards your dreams.”
  3. Take action. “Goals are nothing without action.”
  4. Never stop learning. “Becoming a life long learner would benefit us all and is something we should instill in our kids. It’s funny that once you’re out of school you realize how enjoyable learning can be.”
  5. Be persistent and work hard. “Success is a marathon, not a sprint.”
  6. Learn to analyze details. Get all the facts, all the input. Learn from your mistakes. I think you have to strike a balance between getting all the facts and making a decision with incomplete data – both are traits of successful people. Spend time gathering details, but don’t catch ‘analysis paralysis’.
  7. Focus your time and money. “Don’t let other people or things distract you.”
  8. Don’t be afraid to innovate. Be different. Following the herd is a sure way to mediocrity.” (It sounds like a variant of my own maxim, “Do the stupidest thing that could possibly work.”)
  9. Deal and communicate with people effectively. “No person is an island. Learn to understand and motivate others.””
  10. Be honest and dependable. “Take responsibility, otherwise numbers 1 – 9 won’t matter.”

Your Website Shouldn’t Be Just An Electronic Version Of Your Print Publication

My buddy George has said this a number of times: “There’s power in re-stating what should be obvious.” Hence a re-statement of what should be obvious, even though a number of publications have yet to get it — Your Website Shouldn’t Be Just An Electronic Version Of Your Print Publication.


Ruby Translations of Code from “Programming Collective Intelligence”

Dammit, Sandro Paganotti beat me to the punch on his blog, He and I are both reading O’Reilly’s Programming Collective Intelligence, in which all the code examples are in Python. He’s already posted his Ruby translations of the code from Chapter 2, Making Recommendations.


So Where’s Rails on the Hype Cycle Now?

My guess is right about here:

The Gartner “Hype Cycle” diagram, with some additions to cover Rails’ current state in the developer zeitgeist.
Original image taken from the Wikipedia entry for Hype Cycle and modified by Yours Truly.

(Got work to do. More later.)


Grand Theft Auto IV Release Date: April 29, 2008!

Grand Theft Auto IV protagonist and logo.

Mark April 29, 2008 on your calendar: that’s the day when Grand Theft Auto IV hits the shelves.

Here are some facts about the game that I’ve gleaned from the articles ‘Grand Theft Auto IV’ Details Unloaded In Lengthy Private Demo At Developer’s Headquarters and ‘Grand Theft Auto IV’ Developer Talks Delay, Violence And Whether There Will Be Another ‘Hot Coffee’:

  • “You can’t get fat anymore.” You can, however, get drunk, which makes the controls less reliable and the camera wobbly.
  • The game’s look is pretty close to that of the trailers.
  • “You can take a taxi anywhere on the map.”
  • You have a cell phone and you can hit an internet cafe to surf the web.
  • “There may be bums lying in front of a car on the street.” Some enemies may be playing dead (a la BioShock.)
  • “Someone other than you might be getting chased by the police.” (I don’t think this is new; you see things like in the previous edition, Grand Theft Auto: San Andreas.)
  • Load times are short.
  • There’s a new physics model that makes character motion more natural.
  • Line-of-sight is such that you can see buildings ten blocks away.
  • Taxis and car services are now things you can hail, just like real taxis and car services. As with real life, cab rides cost money, and you can look out the window and see scenery pass by. You can pay more money to have the cabbie drive recklessly or to skip the ride sequence and auto-magically appear at your destination.
  • Cars have GPS; the expensive ones have GPSs that talk.
  • Police cars have police computers which you can use to find suspects.
  • When police witness you committing a crime, a circle appears on your mini-map. That’s the area for which you are in trouble. Leave that area, and you’re home free. Having a shootout with the cops makes that circle bigger.
  • The game has a new targeting system: using the left trigger activates a zoomed-in “free-aim” mode a la Gears of War.
  • New dynamic car chases feature special events that are triggered under specific conditions. “These events won’t happen in completely predictable ways, and players won’t see them every time.”
  • If you have to repeat a mission, the game may vary the dialogue to keep you from being bored by repetition. You can also “warp right back to the start of a mission” rather than have to drive back to the start point.
  • There isn’t going to be a “Hot Coffee”, they say. There will be dates, however.

Ruby is Soooooo 2002

My deadbeat ex-housemate made me aware of Ruby’s existence in 2001 when he bought the first edition of the Pickaxe book. It would take another two years before I would get my first full-on contact with Ruby thanks to Tom and Joe McDonald at vpop, who used it to develop Blogware for Tucows. Four years later, Ruby (and the framework that popularized it, Ruby on Rails) is my bread and butter at TSOT. In that time, Ruby has gone from “obscure programming language with most of its docs in Japanese” to “the new hotness” to “the whipping boy”. Reg “Raganwald” Braithwaite weighs in on Ruby’s popularity cycle in his article Ruby is Soooooo 2002.

I’ll have to write more on this later.