rc3.org

Strong opinions, weakly held

Month: September 2006 (page 2 of 2)

Just an observation

From an article on Microsoft’s new music player, the Zune:

In its quest to catch up to iPod, however, Microsoft has hired an army of musical savants. Like Winn, many on the Zune team come from recording labels, radio stations, or other music companies.

Maybe it’s just me, but these are the people that I hate when it comes to the music business. I love music, but I hate every radio station that plays music (except the local college station), and I absolutely loathe the record labels. These people are the problem, not the solution, at least as far as I’m concerned. I don’t expect them to come out with anything great.

The golden age for wannabe programmers

David Brin wrote an article for Salon about the absence of BASIC on modern computers that is wrong on so many levels that it makes my brain hurt. Here’s the argument:

Only, quietly and without fanfare, or even any comment or notice by software pundits, we have drifted into a situation where almost none of the millions of personal computers in America offers a line-programming language simple enough for kids to pick up fast. Not even the one that was a software lingua franca on nearly all machines, only a decade or so ago. And that is not only a problem for Ben and me; it is a problem for our nation and civilization.

My counter argument is that this is the golden age for people who want to create things with their computers. In fact, it’s the golden age for people who want to create software for their computers. First of all, every modern computer has an incredibly robust programming environment installed, and the best thing about it is that it’s incredibly easy to dabble with. It’s called a Web browser. With it you can learn HTML, CSS, and even how to program with JavaScript. There are millions of free pages of documentation online and billions of free examples that you can check out. So the idea that curious people can’t learn how to program with what’s on their computer right now is false. They can. The best thing about it is you can type literally anything into your text editor, load it in your Web browser, and the browser will try to do something useful with it. The barrier to entry here is nonexistent.

Unfortunately, writing code for your Web browser doesn’t satisfy Brin (although he doesn’t even consider Web programming in the article), because it’s not close enough to the machine, or not “BASIC” enough, see?

Those textbook exercises were easy, effective, universal, pedagogically interesting — and nothing even remotely like them can be done with any language other than BASIC. Typing in a simple algorithm yourself, seeing exactly how the computer calculates and iterates in a manner you could duplicate with pencil and paper — say, running an experiment in coin flipping, or making a dot change its position on a screen, propelled by math and logic, and only by math and logic: All of this is priceless. As it was priceless 20 years ago. Only 20 years ago, it was physically possible for millions of kids to do it. Today it is not.

Wrong again. I can write any of the examples he lists in JavaScript, or just about any other programming language. Brin betrays his ignorance here badly. It’s all about loops, and conditional statements, and simple mathematical statements, and they’re the building blocks of every language. This paragraph is perhaps the ultimate exhibition of Brin’s ignorance:

The “scripting” languages that serve as entry-level tools for today’s aspiring programmers — like Perl and Python — don’t make this experience accessible to students in the same way. BASIC was close enough to the algorithm that you could actually follow the reasoning of the machine as it made choices and followed logical pathways. Repeating this point for emphasis: You could even do it all yourself, following along on paper, for a few iterations, verifying that the dot on the screen was moving by the sheer power of mathematics, alone. Wow! (Indeed, I would love to sit with my son and write “Pong” from scratch. The rule set — the math — is so simple. And he would never see the world the same, no matter how many higher-level languages he then moves on to.)

This is just completely wrong. Yes, there are tons of higher level libraries and abstractions that are part of modern scripting languages, but take a look at an introductory text for any of these languages, and you’ll see simple, short programs exactly like the ones he’s talking about in BASIC. Indeed, the thing that makes programming books work is that you can understand how programs work when written on paper, and then see how they work when you run them on your computer. That’s how you learn.

Languages like Ruby and Python even provide an interface exactly like the one on the old Commodore 64 where you can simply type in statements and see what they do, line by line. Ruby’s is called irb and Python has its interactive mode. These are ideal environments for experimentation and learning.

Given that today’s tools provide everything that BASIC did (and they do), let’s look at the big picture. Today, with Web access, you can find tons of example code for whatever language you prefer (even BASIC). When I was learning to program, we were basically captives of the computer magazine industry. You can also easily share your programs online with other people who might find them useful, so there’s no need to toil in solitude. There are plenty of outlets online where you can get help if you’re stuck. And best of all, there are lots more reasons why you might want to program.

Brin decries the fact that people are being taught to be computer “consumers” rather than “builders” but the hallmark of the current era is that many applications that you consume also enable you to build. You could be writing on LiveJournal, or posting photos to Flickr, or uploading videos to YouTube. You can sign up for a Ning account and start building your own publicly available Web applications without paying a dime. World of Warcraft has over five million subscribers and it contains a built in development environment that uses a real scripting language called Lua. Yes, you can consume, but you are also able to build, and it’s easy to get started.

It would be better if more people knew how computers worked and programming were a skill that’s dispersed more widely throughout society, but it’s not the tools that are at fault here. The blame lies elsewhere.

The future of Ruby

I’ve been doing a huge chunk of my development in Ruby on Rails for about a year now, and I’ve been quite happy with it. The tools are fine (hello, TextMate and Locomotive), the language is a pleasure to work in, and I generally feel like Ruby on Rails is good for my productivity as a programmer. What’s been interesting to me has been watching how the perceptions of Ruby have changed over the course of the year. When I started, Ruby on Rails 1.0 had not yet been released, and while there was a rabid fan base out there, it was still very much regarded more as a curiosity rather than as a contender. That has changed.

When you look at the growth curve for Ruby in terms of projects coming to market, books being written, and so forth, it’s obvious that it is achieving critical mass. As such, Ruby is attracting the attention of some of the big name software development bloggers. Joel Spolsky says Ruby is too slow, which is probably true. Tim Bray says that Ruby’s XML libraries are not ready for prime time. Also true.

When looking at the big picture, though, those complaints may be valid, but they aren’t relevant to whether or not Ruby is going to continue to grow. (In other words, criticism of Ruby or Rails aren’t going to kill Ruby or Rails.) I was having lunch with a coworker earlier in the week and he was telling me about some advice from Seth Godin. He had assumed that for a site that publishes writing, you need to work on attracting the best writers. Godin told him that the secret is to attract readers. Once you have an audience, writers will show up to write for that audience. Something similar can be said for development platforms, I think, and this is where Ruby is very strong.

If you are interested in promoting Ruby, you don’t need to focus on writing a faster Ruby interpreter or better XML libraries, you need to get as many people as possible to use Ruby. As the pool of developers grows, the platform will improve, both because some of the new developers will improve it themselves and also because people will throw money at making those improvements. Right now, Ruby is growing like wildfire in spite of the flaws that people are noticing. The rest will take care of itself.

The one thing I worry about is the immune response of the Ruby community to criticism from newcomers. More and more different types of programmers are taking a look at Ruby, and they all have their own opinion on the right way to do things. You may disagree with them, but it’s foolish not to listen to them. It may just be that they’re talking about problems they already solved elsewhere that you haven’t even considered. Besides, these are the people that are going to help take Ruby to the next level.

The bottom line is that right now, the Ruby world is a fun place to be. I’d encourage anyone to join in.

Is the TV industry getting smarter?

This morning I noticed that the pilot for the new series Studio 60 on the Sunset Strip is available from Netflix and is, in fact, recommended for me. It looks like the TV guys are getting smarter. I actually pay attention to my recommendations, and putting new shows into the Netflix system is a smart way to get them exposure with people like me. Between making shows available on iTunes, creating mini-episodes of shows for the off-season, and now getting shows onto Netflix as soon as possible, it sure seems to me that TV is beating its competitors in music and film to the punch when it comes to becoming more Web-friendly. In the meantime, last time I went to the movies I was reminded no less than three times that it would be wrong to steal the movie I was paying to see. Maybe it’s just me, but the thought that went through my head was, “I could have stolen this instead of paying $8.50 to see something that’s probably mediocre?”

Lobbying the government for your favorite airline

I just got an email from Continental Airlines asking me to sign a petition urging the Department of Transportation to allow them to add service from Shanghai, China to New York. I have no idea whether it will work, but it’s an interesting use of its loyalty program. I already have miles in Continental’s frequent flier program. If I had to fly to China regularly I’d certainly sign the petition.

Weeding out splogs

In reading this article about splogs, I noted the following paragraph:

For that to happen, though, the companies must identify the splogs they want to weed out – a harder task than it may seem. Take Some Title, the splog that mentioned me. Any human reader can tell instantly, as I did, that the site is tripe. But even if hosting services and search engines hired armies of people, the blogosphere is simply too big to sift through blogs one by one. Computers are faster but notoriously unable to distinguish sense from nonsense – they can’t tell Some Title from Shakespeare.

Why couldn’t Blogger or Six Apart or a firm like Technorati add all of the new blogs they register to a queue to be examined using Amazon’s Mechanical Turk service? I’d love to see someone at least do an experiment in this vein. The only catch is that you’d want to have each blog checked more than once to prevent spiteful reviewers from disqualifying blogs that they didn’t agree with.

Soapbox

A friend of mine, Duff, has started a new site for posting and sharing reviews of anything, called Soapbox. It’s a very slick site built by one person (with the help of a designer that I’ve also worked with, Rich at Samedis Design). The basic idea is that you can write reviews and build a network of people whose reviews you care about.

One interesting aspect of the site is its attempt to make the service useful to bloggers. One problem I have with social networking sites is that I already have enough places to write about things. I have this blog, my link blog, and my Vox blog. There’s also del.icio.us, Flickr, Last.fm, comments on blogs that I read, the mailing list I share with my college friends, all of the message boards I’m registered for, and probably a bunch more sites that I’m forgetting.

Lots of people already post reviews on their blogs. Soapbox will subscribe to your blog’s feed and import any appropriately tagged posts as reviews. I think that’s a pretty clever approach. If you already have a blog, you can participate on Soapbox without reposting all of your reviews over there.

If you want to read more behind the scenes stuff from Soapbox, check out Duff’s blog.

Niche job boards

Is it just me or are niche job boards suddenly all the rage? Perhaps I’ll start one for companies that want to hire programmers who find themselves reading newspapers online when they should be writing code.

Why who writes Wikipedia is important

Aaron Swartz has compiled statistics that show that the bulk of Wikipedia articles are not written by the core community of editors but rather by more casual users. This makes lots of sense, when you think about it. Most people know enough to contribute substantively to Wikipedia articles on a few selected topics, and very few people know enough to contribute substantively to articles on a wide variety of topics. Furthermore, doing the research to write an encyclopedia article on a topic is a lot of work. I may be willing to work on an article about my favorite baseball player, or the college I went to, or my home town, but I probably wouldn’t do the work required to write dozens of articles.

Why does this matter? Aside from the fundamental importance of figuring out how the phenomenon that is Wikipedia has unfolded, it’s also a lesson for all of us. You may have thought, like me, that Jimbo Wales was right and that most of the core work on Wikipedia was performed by insiders. Apparently that isn’t so. If you’re a person who has hesitated to write articles for Wikipedia because you’re not an insider, get over it. It seems like most of the people contributing content aren’t.

You can’t have it both ways

Fred Kaplan on President Bush’s new propaganda campaign:

Here’s the question: Does anybody believe this? If you do, then you must ask the president why he hasn’t reactivated the draft, printed war bonds, doubled the military budget, and strenuously rallied allies to the cause.

If, as he said in this speech, the war in Iraq really is the front line in “the decisive ideological struggle of the 21st century”; if our foes there are the “successors to Fascists, to Nazis, to Communists”; if victory is “as important” as it was in Omaha Beach and Guadalcanal—then those are just some of the steps that a committed president would feel justified in demanding.

If, as he also said, terrorism takes hold in hotbeds of stagnation and despair, then you must also ask the president why he hasn’t requested tens or hundreds of billions of dollars for aid and investment in the Middle East to promote hope and livelihoods.

Newer posts

© 2024 rc3.org

Theme by Anders NorenUp ↑