Category Archives: technical

what if google took the day off?

A few of my co-workers an I were chatting recently, and wondered what kind of economic (and physical) impact Google could have if they chose to just shut down for a day.

There’s no Service Level Agreement between Google and the world that says they’ll be there, at least none that I’ve seen or heard of. Just think, though: all those hundreds of thousands of servers being turned off for 24 hours. Think of the electric bill they wouldn’t have to pay?

And wouldn’t every other search provided be thrilled? Certainly they’ve thought about it, and their datacenters can handle the load if Google suddenly went black, right?

Course, if their datacenters couldn’t handle the load, they could have some major problems, maybe even servers having physical problems: melt-downs, crashed drives, horched switches. It’s an interesting thought.

And Google could then happily turn back on after their day off, collecting all the traffic everyone else had lost.

Maybe I’m sick and twisted, but I think it’d be an interesting social experiment.

screen… but for x

I’m sure most Linux sys admins are familair with screen – it’s a virtual terminal multiplexer that allows single logins to be ‘detached’, then resumed later. This is fantastic because it means what you’re doing can survive connection failures, you can share it with other users, etc.

Windows has a similar tool called ‘Remote Desktop’, which runs on the RDP standard.

I would *LOVE* to have the same functionality available in Linux: be able to remote into an X session, picking up its last state (presuming that user had already been logged-in), or to be able to launch a new session, then disconnect later, and pick it up again whenever I want to in the future.

I have no idea how hard that may be to implement, but it would rock.

computers were made for americans

Or at least, they were built for people who speak English.

Evidence for my claim: the first electronic computers were built during WWII by the British and Americans for code breaking; the first programming languages were designed, written, and implemented by Americans and British; the transistor, which led to the IC, was developed by Americans; the integrated circuit was designed by Americans; the Internet project was funded by the Defense Advanced Research Projects Agency (DARPA); Tim Berners-Lee was born and raised in England, and invented the World Wide Web.

Most programming languages are written from left-to-right. Interfaces are designed to be read and processed from left-to-right.

I wonder how different computers and interfaces would appear if they had been originated in a non-English-speaking country, or non-Western culture?

Would they seem more intuitive to us, or less? Would they be easier to use, or less? Would countries like China be leading the world in technology, with the US being some kind of feeder economy if computers had been invented elsewhere?

What do you think might be different if computers hadn’t been invented for Americans?

that’s right – we’re not falling behind

There was an article recently on Business Week (here) on how the US is not falling behind in math, science, and technology. In fact, we seem to be turning-out more technologists and engineers than we can use. I disagree.

The problem seems to be that those technically-minded people that US schools are churning-out won’t work for “starting” wages. There’s a glut of tech jobs. And, ironically, there’s a glut of tech people. But there are few tech jobs that are willing to pay what qualified people want.

Imported tech workers, such as from China and India, are willing to work for less money than their American counterparts. They aren’t necessarily any better or worse at the job, but they’ll work for less money.

Guess what? That means that American graduates end up not getting jobs in-field, or get underpaid.

a perfect hash function?

As I was walking to get my turkey pot pie today that was cooking in the microwave in our break room, I looked at the parking lot below and realized that parking lots are approximately perfect hash functions.

Think about it: cars come in in some semi-random order; spaces are available in semi-random fashion; cars park; and the owner comes back to the same spot to retrieve the item later. Admittedly, it isn’t necessarily replicable every day – but it’s an approximation.

Perhaps a better example would be a professor who tells his students on the first day of class to remember where they are sitting, because that’s their seat for the rest of the semester. The spaces were filled in random fashion once, then always in the same way in the future: if Sarah isn’t in class, her slot is empty – it doesn’t get filled by anyone else because they’re in their slots.

The real trick will be to figure out how to replicate this behavior functionally.

i know why search is broken

Search is broken. Google, Yahoo, Ask, Alta-Vista, and on, and on the list goes.

Hundreds of companies, thousands of individuals. I know why search is broken, and I know what needs to be fixed. Now to figure out the how of fixing.

When you’re looking for information, you search on keywords. Google’s been nice enough to rank results by ‘popularity’ (yeah, it’s called PageRank, and it’s proprietary, but it’s a popularity/relevance ranking). The problem is that you have to know what keywords were used. Some places are nice enough to suggest spelling fixes (it’s not ‘brittany spears’, it’s ‘britney spears’).

But that’s not the issue. The issue is that you don’t know what word, term, or phrase to look for. You have the concept you need to find, like ‘module’. Except you don’t think of that word, you think of ‘chunk’. Bam! You’re out of luck: no author would use the word ‘chunk’ when they mean ‘module’, right?

To fix search, we need to search on not just the keyword, but the concept. In English, you’d use a thesaurus.

So, you’re thinking: “This is easy! I’ll just build a comparator that looks at the keyword and then goes through an index of a thesaurus and finds stuff. And we’ll all be rich!”

Hold it, buster. You missed something. This is a perfectly valid English sentence, and you can figure out what I’m saying, too: “Bring me the cooler cooler cooler from the cooler’s cooler.” Cooler is used five times, with the following meanings (at least): hip, less warm, box to keep things cool, jail cell, big refrigerator.

That’s the problem with trying to fix search. Words can mean far too many things in English. But here’s your big chance to figure out a solution: I’ve told you the problem, and I’ve given you the target.

Now go make it work.

oh vista, vista, whyfore art thou vista?

I’ve been playing with Windows Vista Beta 2 recently on my home computer, and my overall impression is pretty blah. I must agree with many other reviews I’ve read that it’s really XP SP3. The eye candy is nice (taken from Apple and the OSS world), but nothing worth upgrading over. The new Start menu is better laid out, but again – not worth upgrading for. User management is a bit better, and the side bar is a spiffy feature – but you can already get that for free with either Google Desktop or Konfabulator.

I kinda feel sorry for the engineers at Microsoft who’ve poured millions of man hours and years of effort individually into this new edition of Windows – there’s no compelling reason for anyone I know to buy it.

When you factor in the minimum system requirements (and you lose a lot of eye candy if you go with the minimums) – 1.5G CPU, 512M RAM, 64M video card, 16G free drive space – the system is hogging all the basic resources of any new computer. Budget-minded consumers who snag Dell’s latest weekend special won’t have enough oomph to run Vista. XP Pro runs fine on a system with 256M RAM and a 1G CPU (I should know – one of my home boxes is such a beast). I do not see any reason why this “upgrade” has to be such a resource hog.

Sure, power users, gamers, and businesses will buy machines that can run Vista well – but Vista is going to be sucking the life out of those systems so those self-same buyers will end up needing even beefier hardware to get the “most” from their computing experience.

It’s sad when I can install any other desktop OS (distros of Linux with heavy or light window managers, XP Pro, OS X, Zeta, etc) on a system with 256M or 512M of RAM and expect it to run acceptably – along with all the apps I need to use – but Microsoft has to push its customers into machines formerly relegated to true heavy users (gamers, developers, etc).

Maybe some miracle will happen in the next several months and Vista won’t demand so many resources – but I’m not holding out for one.