While I had stay at work all night until the morning, I really didn’t do much besides get Mephisto up and running again. This all started because I got sick of the Scribbish theme (which is, nonetheless, a great theme—I dig the hAtom support). I tried to install the Clarity-Orange theme but because Safari irritatingly always decompresses files, I ended up with a folder instead of zip file.
So I try to recompress it, but since I’ve forgotten what switches to set so that things get zipped recursively, and because I was too lazy to RTFM, I ended up uploading a borked file.
But instead of realizing that the recompressed file was borked, I ended up surmising that my version of Mephisto was too old (close, but not quite, 0.8) and tried to upgrade.
In reality, the upgrade went without a hitch. Because Hosting Rails has a git client installed, all I needed to do was follow Patrick Lenz’s directions on how to setup a local git repository to simplify upgrades to Mephisto.
Unfortunately, I had forgotten there was some funkiness with getting Image Science to work as a thumbnailer. A tweak to config/environment.rb may be the solution, but I’m too exasperated to try it right now. I ended up disabling thumbnailing instead.
The last thing to do was restore my database, which I had accidentally deleted during this fiasco. Luckily, I had the foresight to back it up before messing around with anything. Unfortunately, I couldn’t do it from work since it’s sitting on my system here at home. Fun times!
Well, this is a fun little puzzle from Google Blogoscoped
I’ve translated them to Ruby-esque code fragments (with some Rails-isms sprinkled in.)
// idiom 1
cop[0].goodInPercent = 100;
cop[1].goodInPercent = 0;
GoodCop=cop[0]
BadCop=cop[1]
return GoodCop + BadCop
// idiom 2
isCrowd = personCounter >= 3;
assert (3 == isCrowd)
// idiom 3
injury += insult;
return (insult + injury)
// idiom 4
1: board.draw();
goto 1;
def Board.back
Board.type = ‘drawing’
end
// idiom 5
if (bird[1].feather == bird[2].feather) {
bird[1].flock(bird[2]);
}
flock.collect {|bird| feathers.each {|feather| bird.find_by_feather(feather)}}
// idiom 6
a = getThickness('blood');
b = getThickness('water');
assert(a > b);
Blood.SpecificGravity = 1.0506 # reference: http://www.clinchem.org/cgi/content/abstract/20/5/615
Water.SpecificGravity = 1.0000
assert (Blood.SpecificGravity > Water.SpecificGravity)
// idiom 7
aspadea_spade();
class Spade
def Spade.call(value)
Spade.name = value
end
end
Spade.call (‘Spade’)
// idiom 8
die(1000);
function die(max) {
for (i = 1; i <= max; i++) {
cut();
}
}
Death.find_by_cut(‘1000’)
// idiom 9
prey = 'worm';
time = getCurrentTime();
if (time >= 4 && time <= 8) {
bird.catch(prey);
}
bird = Creature.new(:shift => ‘early’)
worm = Creature.new
if bird.shift == ‘early’ {
bird.catch(worm)
}
// idiom 10
while ( rome.fire() ) {
doFiddle();
}
Nero(:instrument => ‘fiddle’) while Rome.is_burning?
// idiom 11
function getValue(garbage) {
return garbage;
}
Value.In(:Garbage)
print Value.Out
==>Garbage
// idiom 12
take(salt * .01);
Salt.take(:mass => 0.06479891, :unit => ‘gram’)
// idiom 13
var here = false;
var there = false;
assert (!(here or there) == true)
// idiom 14
if (i == 2) {
tango();
}
def self.takes(value)
if value == 2 then self.tango();
end
// idiom 15
days = 365;
for (day = 1; day <= days; day++) {
if ( random(0,100) <= 50 ) apple++;
}
if (apple <= days) doctor();
year.collect {|day| if day.applecount > 0 then doctor.keepaway()}
// idiom 16
if ( !dogs.sleep() ) {
disturb(dogs);
}
if dog.is_asleep? then dog.lay()
// idiom 17
function tunnel() {
var dark;
for (i = 0; i < 10; i++) {
dark = true;
}
dark = !dark;
return dark;
}
Class Tunnel
def self.istherelight?
return (self.position == END)
end
end
// idiom 18
if ( ape.inLineOfSight(it.x, it.y) ) ape.do(it);
if monkey.doessee?(:actor) then monkey.do(Monkey.actionseen(:actor))
// idiom 19
return way.my || way.high;
return way(:my) || way(:high)
// idiom 20
hay[ random(0, hay.length - 1) ] = 'needle';
hay = Stack.new
hay.find(‘needle’)
hand[‘left’].wash(hand[‘right’])
// idiom 21
a = 0;
b = 1;
hand[a].wash(hand[b]);
hand[b].wash(hand[a]);
hand[‘right’].wash(hand[‘left’])
if (pain.level == 0) then gain.level = 0
// idiom 22
function getGain(pain) {
return pain >= 1;
}
// idiom 23
if (cooks >= 3) {
broth = null;
}
if cook.count >= 3 then broth.is_spoiled? = true
// idiom 24
if (a != 'cake') a.eat();
Class Cake
def Cake.have()
Cake.ishad? = Cake.iseaten? ? false : true
end
def Cake.eat()
Cake.iseaten? = Cake.ishad? ? false : true
end
end
// idiom 25
doesStand = you == me;
if We.is_united? then We.stand()
if We.is_divided? then We.fall()
if person.locale == ‘Rome’ then person.behavior(:Roman)
// idiom 26
var location = getLocation();
if (location == 'rome') {
do( location.getCitizen() );
}
The argument about ECMAScript 4 (the proposed next iteration of Javascript) could very well become quite interesting, although, realistically, this probably won’t be happening for a few years.
Mozilla wants to overhaul the language. Microsoft’s main goal is to preserve the status quo.
While I hate Microsoft a lot, their approach is probably more practical: keep backward compatibility intact, and if you want new features, deploy an entirely new language. Javascript++, perhaps. (Or ECMAScript++, to be exact.)
Either way, Mozilla will have the advantage.
Since the creation of the next-generation language will be governed by ECMA, it will by necessity be an open standard.
Given what I know about how fast Open Source projects can develop (when the effort is put into it), and given what we all know about Microsoft’s glacial development process (think how long it took to release Vista, or how Internet Explorer 7 still doesn’t support CSS 2.1), I would bet rather confidently that Mozilla will have Javascript 4 support long before IE ever does.
This scarcely matters, though, unless Javascript 4 has some features that are impossible or at least difficult to implement with the current version of Javascript.
But the asymmetry between Mozilla and Microsoft is what makes it interesting. Mozilla Firefox is available on pretty much every modern platform out there (specifically, Windows and UNIX/UNIX-like variants, where the latter includes Linux, BSD, Mac OS X, Solaris, and AIX. There are even ports for BeOS, RISC OS, and OS/2.) Meanwhile, IE is only available for Windows. While there are far more personal computers running Windows than all the other OSes combined, the big difference is that you have to pay for IE (since it only comes with Windows) while Firefox is completely free.
So if someone builds a killer webapp that requires Javascript 4, and only Firefox supports Javascript 4, there is really no barrier to using the webapp. Just download Firefox and away you go. Even if you are running Windows.
In contrast, webapp developers can’t really get away with supporting only IE. The market share of other OSes has been steadily increasing. While Mac OS X has much of the media’s attention, clearly Linux continues to be a player. Despite the recent brouhaha about Linux losing market share to Windows, even the most pessimistic estimates seem to peg Linux at at least 0.81%, which sounds pathetic until you consider that in 2000, it was estimated that there were more than 168 million computers in use just in the U.S., meaning that there are at the very least 1.3 million computers running Linux.
This means at least a million computers that can’t run IE, and I think the result is that most web developers have been forced to properly support open standards, specifically XHTML 1 and CSS 2.
In any case, very few people really developed only for IE anyway. For one thing, it took a long time for Netscape 4 to finally die. There are anecdotes of people still using the thing well into the new millenium. For another thing, Active X became a fiasco because of the Microsoft’s inability to build a platform that has at least rudimentary security. The news of IE’s vulnerabilities to viruses and trojans was broadcast even by the mainstream media, and many people started avoiding IE like the plague. If Active X hadn’t been hijacked by malware producers, Web 2.0 might’ve come much earlier (although it would’ve solidified Microsoft’s dominance and would’ve been extremely harmful to the Open Source Movement.)
When Microsoft discontinued IE for Mac, and when Safari came out, I think that pretty much spelled the end of vendor lock-in with regards to the Web‡. Mac users would certainly not put up with their favorite on-line store’s lack of support for their computer, and you’ve got to consider the fact that the average Mac user has money to spend. Don’t support Safari? It’s quite easy to switch to another company.
‡ I am of course completely ignoring the fact that by then, everyone and their mom (literally!) had a cel phone, and within a few years, they all became Web-capable. This is probably far more important than any of the petty OS or browser wars that I’m describing.
So if Firefox decides to start supporting Javascript 4, Microsoft won’t really be able to complain about anti-competitive behavior. For one thing, the standard is easily available on the Internet and if Microsoft wasn’t a monolithic behemoth, they’d be able to implement it before the decade was out. For another thing, the Mozilla Foundation isn’t making billions of dollars off of Firefox and would likely be very hard to prosecute under anti-trust laws.
And if Javascript 4 (or some even more featureful descendant of it) is what the Web needs to secure its place as the platform for application development, you better believe it’s going to happen. The road to the Vingeian singularity runs through the Web, and on to through ubiquitous computing. None of this will work at all without open, robust standards for intercommunicating, and Microsoft is certainly not going to be the company with the vision to take us where we want to go.
Now, granted, I’m no impartial observer. I’ve hated Windows since the 1998 iteration, and haven’t looked back. I used Linux as my primary OS from 1999 to 2002, then finally ended up buying an iBook and switching to Mac OS X (which was at version 10.1 at the time.) So I am confused by the outrage generated by drag-and-drop “installation” that is the method that Apple recommends to all developers. The article itself discusses the rationale for these guidelines, which I won’t regurgitate, but which I will refer to.
I do have to use Windows once in a while at work. But luckily I have no power to install or uninstall apps, and am glad to let the IT guys do their job. I do have a burning hatred for the pile of excrement known as IE 6, but unfortunately, one of the key apps we run depends on Active X, and the IT guys are (I think justifiably) paranoid about migrating en masse to IE 7.
Still, I was (until they stopped allowing writing to the Desktop, which makes it rather awkward to read research papers in PDF format, but that’s an entirely different rant altogether) able to download and install Firefox rather easily, since the installer allows me to arbitrarily choose any folder and doesn’t require write-privilege to C:\WINDOWS. Once I got into the habit of taking my USB Flash Drive with me everywhere, I just installed Firefox onto that.
But there are plenty of crappy Windows apps out there that require write privileges to C:\WINDOWS. And many of their installers have no way of specifying an alternate directory from which to run. Personally, I think this sucks.
In those barbaric pre-Windows days when I ran MS-DOS 4.01(!), I grew into the habit of creating my own custom file system hierarchy. C:\UTILITIES was in my PATH and held all my commonly used utilities, like PKZIP and grep. C:\WORDPRO contained WordPerfect and MS Word 5.5 for DOS. C:\PASCAL contained Turbo Pascal 7.0, which was my language of choice at the time. (Of course, there was GW-BASIC, and with MS-DOS 5.0, QBasic, but you couldn’t really write command-line utilities with those.) And of course, there was C:\GAMES.
So when Windows 3.0 forced me to stick all my crap in C:\WINDOWS, that made me unhappy. I tried to fight it as much as I could, but in the end, I gave up. Worthless apps, their directories, and their DLLs accumulated as I upgraded to Windows 3.11 and then eventually Windows 95, and very quickly DLL hell forced me to reformat and reinstall. Little did I know that this would become standard procedure for dealing with those damned BSODs.
My experience with uninstallers have pretty much been mostly unhappy ones. They’ve deleted DLLs I needed to run other apps. They’ve munged my registry so that I couldn’t easily boot back into Windows. They leave all sorts of worthless cruft all over the place. In an era where 120 MB of hard drive space was capacious, all those random useless files made a big difference. Especially since a 4-byte long file would consume an entire cluster. The thought of all those hours I wasted pruning my C:\WINDOWS directory to gain a few megs of hard drive space makes me feel nauseated.
But the back-breaker was DLL hell. I think this is the main reason why I hate Visual Basic and anyone who uses it as their primary development language. VB apps proliferated like E. coli in a Petri dish, and each app thought it would be best to install their own version of key DLLs, frequently rendering my system unusable. (Can someone tell me if they finally decided to do DLL versioning in Vista?) Random crashes from old and incompatible DLLs made me scared to install new programs. Although I guess it wouldn’t really matter all that much. The next reboot-and-reinstall cycle was only a few days away anyway.
Eventually, I grew weary of it, wiped my hard drive, and installed Red Hat Linux 6.0. Granted, it took me about a week to get PPP working and get back on the Internet, but installing X and Netscape was actually not too bad. I would break my system frequently by screwing around with configuration files, but I figured that if I had to deal with frustration, at least I was learning something.
Interestingly, it was Windows that made me decide to get a Mac. I figured I needed to get a laptop, but in 2002, there were very few laptops that would actually run Linux reasonably well. And the idea of buying an x86 laptop and have to pay for Windows, even if I wanted to run Linux, made me sick. So it was inevitable.
Now packaging systems are all well and good. I wrestled mostly with RPM back in the day, and these days I mess around with the apt-get-derived Fink Project (a system of ports of open source packages to Mac OS X) There is great satisfaction in being able to confidently uninstall an app you don’t want anymore, despite its files being scattered across the multiple directories of the file system hierarchy standard. A single command and it’s gone. No obsolete dynamic libraries to worry about. No cruft you need to get rid of manually, except maybe in your home directory.
Still, you can easily run into dependency hell, particularly if you downloaded stuff from third-party repositories because you had the burning need to run bleeding-edge software. You could avoid all this if you stuck to your distribution’s standard repo, but there was a lot of cool stuff you’d be missing.
The other solution was just to roll your own. Write your own spec files and build your own packages. Nice if you’re willing to do it, but probably not newbie-level kind of stuff. While the standard UNIX incantation should be easy enough for a newbie who doesn’t have a phobia of the CLI, the problem with ./configure; make; make install is that you just can’t easily uninstall that.
So: the concept of bundles. Like most of the nice things about Mac OS X, this was actually already a feature of NEXTSTEP. Everything you need to run an application is stored in the bundle. Don’t like the app? Toss it into the Trash Can. Or type rm -rf Random.app if you like. No harm, no foul. No accidentally deleting system-critical DLLs or trashing the registry. No having to uninstall all the apps that happen to depend on the library you want to get rid of.
In other words: simple.
Now you may wonder just how efficient this is, to require every single app to contain every single library that it needs to run. In terms of disk space, not very. But when the smallest hard drive you can buy on the market is about 300 GB, who really cares?
In terms of RAM, apparently the OS is smart enough to recognize when a required shared library is already running and to make sure that it’s actually compatible with the app. So: most of the benefits of shared libraries. None of the potential for versioning disasters.
If you’re telling me that dragging an icon into your Applications folder (which happens to be standard in every Finder window, and as many have pointed out, is usually symlinked in the DMG file itself) is more complicated than running through an opaque installer, then clearly your definition of “complicated” does not coincide with mine.
In the end, I think it’s just a culture of groupthink amidst most Windows users, given that they happen to be mostly in the corporate sector. There is something “official” about an installer. It makes people feel like your app is legitimate. That the developers know what they’re doing, and who are we to question the developers? Never mind the fact that it’s all too easy to perform nefarious deeds in the name of installation. Or that most installers are putrid piles of feculent vomit that generally do the wrong thing and end up violating the integrity of your OS (and Mac OS X does not, by any means, escape this tendency.)
These are the same guys who will turn around and bend over and pull their pants down just because someone flashes a badge.
Although I guess it does explain why America is as fucked up as it is, but, again, that’s another rant entirely.
The Unofficial Apple Weblog momentarily speculates that Safari for Windows could be based on Yellow Box for Windows, which was a port of OpenStep (the NEXTSTEP framework that became Cocoa) to Windows back in the end of the last millenium, before Mac OS X was ever released. But this is quickly quashed, as analysis of the code shows that Safari for Windows does not use Cocoa or Objective C.
This is not surprising, considering Webkit (the rendering engine that Safari is based on) is a fork of KHTML, which is written in C++.
I think that Apple has probably completely abandoned Yellow Box for Windows. This is, after all, a code base that is nearly a decade old, intended to run on Windows NT and Windows 95. It would take a lot of work to port the modern Cocoa framework, and even more work to make it suitable for Windows Vista.
I think that the new paradigm will be the integration of hypervisors into the OS. Parallels Desktop for Mac is an example of a hypervisor, which is already capable of running Mac OS X apps simultaneously with Windows apps, the way that the Classic environment allows you to run OS 9 apps at the same time as OS X apps, and sort of the way that you can run Aqua and X at the same time. And there is an open source hypervisor called Xen that vendors like RedHat want as part of the Linux kernel.
While porting Cocoa to Windows would certainly expose the framework to way more developers, it would also remove any incentive to migrate from Windows to Mac OS X, and Cocoa would probably be wrongly blamed for the security problems that are already inherent in the Windows platform.
Wow. This story has actually hit the mainstream media. The BBC notes that people are paranoid about all that personal information embedded in the DRM-free songs offered on the iTunes Music Store.
What’s the big deal? If you’re not going to pirate the songs, no one is going to have access to this information. And if you are going to pirate these songs, it seems pretty trivial to remove this information.
At the risk of sounding like a raving, gibbering Apple fanboy, I’ve got to ask, what’s up with all the FUD? [fear, uncertainty, doubt] First there is the paranoia about Apple tracking you through your DRM-less $1.29 downloads, and now there’s this big deal about no longer being able to convert DRM’ed AACs to DRM-less MP3s (discovered via boingboing.net.)
In summary, perhaps the easiest hack to strip the DRM from iTunes Music Store AACs is to burn the songs to disc, then re-rip them. Personally, I would re-rip them to Apple Lossless, because the songs are already cut-rate quality as they are, and re-encoding them into a lossy format like MP3 or AAC can introduce very subtle but very annoying artifacts into the sound. The corresponding Apple Lossless track is about 10x bigger than it’s AAC counterpart, but hard drive space is cheap, and who really needs all 7,000 tracks that can fit on a 30GB 5th generation iPod? According to iTunes, it would take me 42½ days straight to listen to all of my music without repeating a single song, and unless there really is gonna be another Great Flood coming our way, I think I’ll be OK with having a few hundred-or-so less songs on my iPod.
But I digress.
The concern is that in iTunes 7.2, for some reason, you can’t play the re-ripped tracks on your iPod. I don’t know if this was intentional or not. It sounds weird, though, because apparently there isn’t a problem if you re-encode the songs as DRM-less AAC.
Even if it was on purpose, all you would have to do is use another CD ripping program like LAME (or for the command-line-phobic, use Max instead) and then this would fail to be a problem.
Come on, people, buck up. Just because corporations are known for screwing people over doesn’t mean you can’t get up, work around them, and screw them back. No need to whine. Just stick it to The Man like the hippies did!
Still, the Apple fanboy in me is pretty skeptical that they did this on purpose. I want to see what iTunes 7.2.1 is gonna be like, first.
I’m seriously digging on The Hype Machine, a mp3 blog aggregator. Sure, there are probably less painful ways to try and find your favorite track currently being played by the Evil Empire Clear Channel, but for more of the underground, completely whacked-out stuff, you gotta check it.
(I am currently listening to a mashup of Muse and Justin Timberlake: Sexymassive Back Hole. OK, it’s just a little homoerotic. But, seriously, this shit is tight. JT’s “SexyBack” and Muse’s “Supermassive Black Holes” Where do they think of this shit?)
On the off chance that you actually cared, I’ve changed this blog’s URL. You will find the latest drek escaping from my vacuous soul at http://disorderedthoughtprocesses.com, and for once the domain name actually matches the title. This will be a transparent process, thanks to the beauty that is the Apache Web Server, and thanks to the beauty of Wordpress itself.
You would think that this would be something well-documented and easy to find, but not even the awesome powers of the Googlebot manages to get this on the first try. In case you actually want to know how to move your Wordpress blog from one server to another with the least amount of hassle, try this (you will need Wordpress 2.1 or greater):
- Go to the Dashboard of your old blog and click on the ‘Manage’ tab.
- Then click on the ‘Export’ tab.
- Click on the ‘Download Export File’ button. This will save a large XML file to your hard drive which contains the entire contents of your blog, including entries, comments, and other uploaded files.
- Go to the Dashboard of your new blog and click on the ‘Manage’ tab.
- Click on the ‘Import’ tab.
- Click on the ‘Wordpress’ link.
- Use the file picker and find the aforementioned large XML file that contains the entire contents of your blog.
- Click on the ‘Upload file and import’ button
Voila!
The one thing that worries me is the 7 MB limitation. I’ve only been using Wordpress for a year and a half now, and I’ve already gotten to about 4.5 MB. Hopefully a year and a half from now, this limitation will be fixed.
Oh, and if (1) the domain of your old blog will remain active, (2) you have shell access to your website, and (3) your setup allows the use of .htaccess files, the following will seamlessly redirect your readers to the new URL:
- Delete or rename your existing
.htaccessfile. It generally resides in the root directory of your Wordpress installation, and will typically be invisible. In Unix and related OSes in which Wordpress generally runs, this means typing the following at the command line to delete the file:rm .htaccessOr you can use the following to rename the file:mv .htaccess whatever-filename-you-want - Use your favorite text editor to create a new
.htaccessfile. For example:emacs .htaccess - In this file, place the following line:
redirect 301 / http://new-blog.domain-name.com/
Once you save the file, redirection should work right away, although apparently it takes Google a while to reindex your site, so you may see a significant drop in traffic.
(Sources:
You know what would be an excellent Turing test?
Spot the fembot.
Using the ingenuity of spammers against themselves! Sweet!
The trick would be how to turn it into an algorithm so I can have a bot-proof CAPTCHA for my comment system. And maybe I can sell it to Myspace so that they can implement some kind of system where fembots couldn’t spam me every 15 minutes.
Man, that was an incredible waste. Three hours down the drain just to get a stupid RSS widget to work in Myspace. I wish that Myspace would just let me crosspost to their blog engine, but noooo.
It would probably be worthwhile to chronicle how I ended up having to write my own widget, and to document all the dead-ends I ran into until I settled on doing this, but, frankly, I’ve wasted enough time. Bleh.
In other news, the levels of procrastination to which I have risen no know bounds. I honestly need a swift kick in the ass. And I need to turn off this stinking computer. Damn.
Procrastination is like masturbation. At first, it might feel pretty good, but in the end, you’re only screwing yourself. —Anonymous
Hope? Don’t talk to me about hope. One day at a time, brother. One day at a time.
I have come to realize that the living room of my apartment resembles a terrorist command center. I have three computers and four LCD screens, seven speakers plus a subwoofer, a TV, and a receiver as well as all the requisite cables and hubs and what not in here, because (1) I couldn’t fit it all in my room anyway and (2) the first rule of sleep hygiene is to only use the bedroom for sleeping.
Because the window in the living room opens onto a walkway, and I’m not enough of an exhibitionist to let everyone check me out while they walk by, I always the blinds closed.
Darkness has never really been my friend.
There was an impulse attached to this blog entry, but I find that I have no desire to describe what that impulse is.
Instead, I will blather away about everything and nothing, but mostly nothing.
If this were a real blog post, the content would go here.
Since it’s Mother’s Day, I’m going to meet my parents at the casino. I sometimes worry that my parents have a gambling problem. But whatcha gonna do.
I kind of don’t really want to drive up through the godforsaken mountains of northeast San Diego County, what with being a little sleepy and all, but I’m committed, filial piety and all that.
Lord have mercy on my soul, and my ever-quaking heart. I don’t know where this all came from, but it’s frankly kind of nuts.
I will leave it at that.
I found this a little bizarre. It’s on LXer, a Linux News site that tends to feature a lot of Linux zealotry and fanboyism.
But there is a project out there called Tux 500 trying to raise money so that they can have a car race in the Indy 500. Which is all fine and good. People are free to do what they want.
Any sort of exposure is can be helpful. I suppose.
But Linux is not some monolithic mega-corporation that has tons of money that they can just toss around like Microsoft or Oracle can. When these companies sponsor this kind of event, sure, they get a lot of eyes to see their company logo, but what exactly does this mean? Does seeing the Windows icon plastered all over the place really make you want to go out and buy a copy of Vista right now? Does seeing the Apple ensignia compel you to run to your local Apple store to line up now for your copy of Leopard?
Merely painting your logo on a car does not necessarily equal mindshare.
Good marketing is well-targeted and specific. You don’t see RedHat or Novell or any of the other big distros putting out TV ads because their money isn’t made from home users. In fact, I don’t see how you could possibly make money from home users, because they can download a distro for free off of the Net. What Linux companies target is the enterprise, and while random exposure could possibly catch the attention of some CIO out there who likes car racing, wouldn’t it be wiser for them to just go to the events and conferences where they can specifically target the CIOs who would be making OS and app decisions for their company? Getting a huge company to switch is likely to provide much more exposure than the twenty seconds that a blurry version of the Linux penguin will be flashed on the screen during the race.
Now the Open Source world has room for all kinds of people. There are the corporations out there interested in selling a good enterprise solution. There are the power users, the hackers, the crackers, the nerds, the masochists. There are the zealots and the fanboys. The guys who won’t settle for anything less than a free-as-in-speech OS. The folks who just want a decent desktop environment that lets you do all the things a Windows machine can do without all the blue-screens-of-death or all the Big-Brother pop-up dialog-boxes, and still cost nothing. The people who want Linux to take over the world. The demographic of Linux users probably cuts across all political ideologies, all religions, all nationalities, and so on.
But, c’mon. You can’t tell me that Free Software wasn’t built entirely on so-called Haight-Ashbury, Abbie Hoffman idealism (the turns of phrases utilized by a post addressing critics of the Tux 500 project.) Just read the freakin’ GPL. Meditate on the fact that without Richard Stallman, none of this would’ve ever have happened. Say what you will, but the ‘60's counter-culture has done much more to change the world than the Indy 500 ever will.
If you really want to give your money away to a cause that will allow you to continue using your computer without having to pony up $300 to Microsoft every five years or so (not adjusted for inflation), I think your money would be much better spent supporting the Free Software Foundation and the Electronic Frontier Foundation. Donate to Groklaw and stop MS from spreading their FUD.
If you’re really interested in making Linux a better desktop environment, help work on GNOME or KDE or XFCE.
The real draw to particular OS platforms are the apps it supports. If you want more apps worth running, why not participate in Google Summer of Code?
(For a more scathing criticism of the Tux 500 project, read ”and now for something completely stupid”)
Oh, I wasted my life.
What disturbs me is that the average denizen of Myspace won’t get this because they were too young when Street Fighter first came out.
How much more interesting would life be if it had a video game soundtrack to it and you could shoot fireballs out of your hands?
From my cousin J™ (and what Myspace needs to do is open up their blog for public consumption like Vox does, if they really want to be relevant to the world and if they want some Google-juice)
The big internet meme today seems to be that Microsoft is dead, and to claim that a multibillion dollar company that is still making enormous profits is dead is no mean feat.
But I think that Graham has it right. MS is definitely operating in catch-up mode, and they really don’t have a good sense of what people want. I personally think that they killed themselves, by being too aggressive, too arrogant, too confrontational. This resulted in the string of anti-trust judgements that they eventually lost. And it wasn’t really the losing that did it. It was more the fact that they had to waste a lot of their time fighting these cases. Through these years locked up in the courtroom, little-to-no innovation came out of Redmond, and Google and Apple took advantage of the lack of opposition. MS also wasted time competing with other old-style tech and media companies, like Time-Warner/AOL, Disney, and Sony, to name a few supercorporations that seem to have lost the sense of what the purpose of business is for—to sell people things they actually want, and these companies have also declined in stature to a degree.
It seems to add credence to the idea that CEOs simply can’t relate to the common person. Their heads are too far in the clouds, spinning multibillion dollar deals and keeping the shareholders happy. What they’ve lost touch with is the product, the thing that actually makes them money. Instead of actually focusing on something that people want to buy, they just turn out iterations of things they’ve already made. This doesn’t even work well in the bulky, slow-paced field of something like the auto industry. Look at what’s happened to Ford, GM, Chrysler, by ignoring what people want—fuel economic cars—and instead churning out more of the same—monstrous SUVs that have no practical purpose whatsoever.
Lose the ability to innovate, and it’s over.
You can’t force people to like crappy stuff. You have to make something they’ll actually buy.
In Apple’s case, their ticket to success is obvious. The iPod is neither original nor superior, but it happened to arrive at the perfect time. While Zens and Archos Jukeboxes and Sansas and Zunes are targetted at the geek demographic with their multifarious functions and panels full of buttons, the iPod is made for the average person who can turn it on and play music on it and transfer music from their computer with ease. There are few things that are so brain-dead simple as using an iPod. It’s no exaggeration that it’s compared widely to the Sony Walkman.
You do one thing well, and you stick to it.
And simple means being able to pick a thing up and use it without having to even open up a user’s manual, much less read it.
Apple has mastered the idea of simplicity and elegance. These are the precise things you look for in luxury items. The reason why someone would buy a $60,000 car and not a $10,000 car, even though both of them will get you from point A to point B. And that’s Apple’s niche, really, all this time, all the way back to the very first Macintosh. They know what they make, and their clientele stays happy. Even when Apple was dying without Steve Jobs, they were still churning out computers. Not all of them were exactly the epitomé of simplicity and elegance, but they had enough hits to make up for the misses, and they managed to survive until Steve-o came back to town.
Sony was probably the only one who could’ve done something about the iPod, but they screwed it up years ago by enforcing copy-protection and DRM. Hence, the failure of Mini-Disc, and the laughable attempt at catching up with Apple with their ATRAC-based players. By being hostile to the customer and burdening them with things that they don’t want, they ended up losing a great deal of the market. The same thing can be said of the PS3, which is far too expensive for how little it provides. Then again, Sony seems to be in love with proprietary formats. It’s kind of funny how they never learned their lesson from losing the VHS/Betamax war.
But what exactly does Google sell, you might ask? After all, I use Google all the time, and have yet to pony-up any money to them directly, although granted, I’ve probably clicked on more than a few of their advertisers.
The thing is, Google is ubiquitous. People are half-seriously wondering if Google might be God. It can certainly perform the function of an oracle. Google has the ubiquity that radio and television has only ever dreamed of.
This ubiquity allows them the ability to command premiums for advertising space, and essentially that is the bulk of their business.
But the thing is, they know what their product is: most obviously it’s a search engine, but just as importantly, they sell trust. As long as we can trust Pagerank to work well and not get overthrown by SEOs and blog-spam, the trust we lend Google is pure gold. The moment anyone starts distrusting Google is the moment that their Empire will start their great fall. And because they know what their product is, they know that they have to do this one thing as best as possible. Everything else, as ephemeral and peripheral as it seems, is about search. Think about Gmail. They’re not really showing off a web-based e-mail client. They’re showing off what their search can do. Think about the reason why you probably off-loaded all your e-mail into Gmail—you wanted to be able to utilize their awesome search engine to index your stuff. And it works beautifully.
Look at Google Desktop. Again, the key functionality is search. Same thing with Google Maps, Google Earth. They exist to help you find things. This is the thing that Google is good at. And they’re doing it to the tune of millions of dollars a day.
You look at the vast multiheaded supercorporations, and it’s hard to see what they do well. We come back to Microsoft. You might say that they do OSes well, and certainly, that’s where much of their money is made. But do they really do OSes well? Consider that the 30 year old architecture known as UNIX still runs most of what we call the Internet, and that only foolish sysadmins would risk running anything else on mission-critical tasks. While MS apologists like to scoff at the fact that UNIX is ancient, I think the fact that it’s core is mostly unchanged is testament to the fact that it works so well. And consider that one of the more modern OSes out there—Mac OS X—is nonetheless based on UNIX.
Where Microsoft most definitely kills themselves is with Vista. For one thing, it’s nothing more than a catch-up gambit with Mac OS X, which has already had an 8 year head start (and more, if you consider it’s NeXT roots) There ain’t nothing new under the sun with Vista. It was already stale when it was released.
But the serious death-knell is all the intrusive DRM crap that most people don’t want. Who wants to upgrade and then not be able to view porn? This is probably the biggest reason why people downgrade back to XP—they don’t want to deal with draconian copyright protection garbage that might accidentally lock them out of their system. Who wants to buy something that will give you less features than what you already have?
What Microsoft does relatively well which has no real peer is productivity software. The ubiquity of Word, Excel, and Powerpoint is a testament to that, and really, if you look around, everything else are really just pale clones to this enduring office suite.
But the cores of these technologies have been pretty much unchanged since the GUI became the standard user interface for most computers. What exactly does Word 2007 do that Word 2.0 can’t? Besides being excessively bloated and chock-filled with features I don’t need and I don’t want, that is? (Thank God they killed Clippy.) Oh, I’m sure some power-user can point something out that I’ve overlooked, but frankly, all I really need word for is typing out simple documents, which, if you think about it, can really be simply addressed by markup like XHTML (which has the added advantage of being immediately available on the web for viewing.)
The only time I’ve seriously had to load up Word is whenever someone mails me a DOC file even though a PDF or even a plain text file would do.
I tend to do most of my writing in things like Emacs, TextEdit.app, the text area in Wordpress, or the text area in Gmail anyway, and while I used to be a big font junkie, that’s not really a serious loss, particularly since if I wanted to actually publish something in dead-tree format, I would use a DTP program.
People talk about innovation like it’s something magic and transcendant, but I think it’s really about having your finger on the pulse of the customer. The way the market works, people buy things they like, and you start putting things in your product that people don’t like, and even if it’s a little thing like DRM or Clippy, it’s enough to demonstrate that you don’t really have the customer’s best interest in mind. It’s not enough to aspire to feature creep, either. So what if your new product has 200 new things in it, if it’s not anything anyone will use.
You might argue that they don’t just want some of this stuff, they need it, and many use this argument for the reason why desktop OSes and word processing software persist, but realistically, there are very few things that you actually need besides food, shelter, and clothing, and even there, if you look at how those things are bought and sold, you can’t add features to these things that inconvenience and/or aggravate people. No one will buy it.
So yeah, like IBM before them, I’m sure Microsoft will be around for a long, long time, but then again, I won’t be surprised if they simply become the biggest software publisher for Mac OS X, either.
