Google Keeps Innovating


Google released some major computational capabilities today:

Google takes Cloud Machine Learning service mainstream

This is truly cutting-edge technology that brings the power of “the cloud” to our fingertips in ways it was hard to even imagine a score ago. Have you seen, for example, the Google Translate app? You can put it in camera mode and it will instantly translate any text in range of the camera, in real-time. All of the processing power is “in the cloud” meaning it is layered, scalable and distributed physically and geographically. Until we get a few orders of magnitude better with handheld technology, you can’t expect your smartphone to crunch these kinds of numbers. This is one example of one application of the huge investment Google has made in the Google Cloud Platform. I’m a big fan of Wolfram Alpha. I think it is one of the greatest computer accomplishments ever. But this stuff is close. Google keeps delivering.

It’s hard not to see Google’s business model looming behind things these days but that is ultimately a Good Thing™. Some of their work is released as open source and most of it is available for developers to tinker with for free. They should be getting paid for their innovation when it is leverage by for-profit developers. I hope they keep access available for tinkerers and social data warriors.

What do you think?

Google Keeps Innovating

Microsoft MBAs fuck up again

This is so stupid many people haven’t been sure if it is a hoax or not. “…Windows 7 Starter Edition [is limited] to running only three concurrent applications“.

Says a Microsoft spokesperson:

We ran a study which suggested that the average consumer has open just over two applications [at any time]

They claim this will make their software more accessible to emerging markets. In reality, it looks like it will force people to pay more for the more sophisticated versions.

So why is this so dumb?

Because it costs Microsoft money, probably lots of it, to create, market and support a crippled version like this. They expended extra effort to make their software less capable. That is retarded. Only an MBA is capable of that level of stupidity.

After the very public failure of Windows Vista, one has to wonder why Microsoft still wastes so much time crippling their software.

Microsoft MBAs fuck up again

How Apple screwed up AppleTV

AppleTV is Apple’s hardware “set top box”. You hook it up to your TV, the Internet and your stereo and you can listen to music and podcasts, buy and watch movies, watch youtube, look at flickr photos and more. It’s a nice little box.

But it could be a great little box if Apple hadn’t screwed up a few major things. These include:

  1. You can’t use a keyboard and mouse. It has USB and Mac OS X running inside of it, but if you don’t have a little white remote, you can’t operate it.
  2. Nor can you use it for web/email/etc. Major fuckup.
  3. It doesn’t have a DVD player in it. WTF? Those things cost like $80 and they are very slim. If their heads are not up their asses, the next AppleTV will have a Blu-Ray drive.
  4. DRM.
  5. The relative paucity of available movies and TV shows. There’s a lot, but it is a small fraction of what it should be.
  6. The lack of other web content. Boxee might eat Apple’s lunch if they don’t get on it. We want to watch Hulu, BitTorrent, Flash — all of it.

With all that said, I love the AppleTV and it is a glimpse of things to come. We won’t talk about “TVs” and “computers” in the future, there will just be displays and things we show on them*. The network will certainly be the delivery mechanism.

It is getting more common for people to gather around a computer to look at photos or watch video clips. The giant TVs that people have these days are the perfect place to do that. In many ways, once again, Apple has realized this first. So the AppleTV is, perhaps, an imperfect step in the right direction.

* The ancient X-Windows system for Unix got it right by totally separating the notion of display/keyboard/mouse with the physical system. Linux makes use of this to this day.

How Apple screwed up AppleTV

The Objective-C 2.0 Programming Language

I’ve been playing around with iPhone development and I have to say — I love the Objective-C 2.0 Programming Language. It’s got all the simple goodness of C but with very nice OOP extensions. I’m not sure to what extent, if any, it’s used besides in the Appleverse, but it’s nice and I like it. Here is a tiny example:

1: NSMutableArray *particles = [[NSMutableArray alloc] init];
2: [particles addObject:newParticle];
3: ...
4: Particle *p;
5: for(n=0;n<[particles count]; ++n ) {
6: p = [particles objectAtIndex:n];
7: [p setName:[self ownerName]];

In line 1 we see the Obj-C way of initializing an object. First we send an alloc message to the NSMutableArray class and then send an init message to the object returned by it. We then assign it to a pointer variable of the appropriate type. In line 2 we add a new object newParticle to the particles array. Later, at line 4 we create a C-style pointer to a Particle object and in line 5 we find out the number of objects in the array particles by sending it a count message. In line 6 we pull out a specific object from the array and in line 7 we send the setName message to our Particle object (the normal “setter” for the instance variable name) and send as a parameter the value from the “getter” of the class we are in (self) for the instance variable ownerName.

You can see there is an odd mix of traditional C and object stuff.

It’s also quite flexible. For example, if you have an instance variable named isEnabled you can refer to that variable in 3 different ways:

isEnabled = NO;
self.isEnabled = NO;
[self setIsEnabled:NO];

In the first two we access the variable directly and in the third we call the setter method. As we saw in lines 1 and 7 above, you can nest these as much as you like.

self.currentParticle.size = 10;
[[self currentParticle] setSize:10];

But at any time you can whack in some normal ol’ C:

size = (sizeFactor *2.0*arc4random() / (float)UINT_MAX)+sizeFactor;

Pretty cool.

The Objective-C 2.0 Programming Language

Google getting more evil

I randomly clicked on the Photos tab on my iGoogle home page and got redirected to As the page loaded I noticed my Downloads folder jumping up and down and lo’ and behold, Google was kind enough to auto-download their terms of service for me!

Google Terms of Service

Welcome to Google!

1. Your relationship with Google

1.1 Your use of Google’s products, software, services and web sites (referred to collectively as the “Services” in this document and excluding any services provided to you by Google under a separate written agreement) is subject to the terms of a legal agreement between you and Google.

In this day and age of malware, viruses and trojans, someone thought it was a good idea to download things to people’s hard drives without permission. L.A.M.E.

Not to mention some fleet of fucking lawyers are whinging to Google that they should even consider something this stupid.

Google, just letting you know that I hereby do not accept your terms of service. Please feel free to prevent me from accessing your services. By continuing to allow me access to your services you are agreeing to MY terms of fucking service, which I am under no obligation to disclose to you.

Google getting more evil

Sun buys MySQL

Apparently Sun is going to buy MySQL. This could have huge implications not just for the mysql database but for open source in general. Sun isn’t a bad company, per se, and they have been embracing the open source model. I can see how this fits in nicely with their strategies for the future. MySQL, on the other hand, could benefit from having big brain hardware and software guys and a lot of commercial relationships with huge installs of expensive, legacy Sun equipment. So, their stock price to the contrary, Sun is probably not that bad of a partner for MySQL.

Yet you can’t help shudder at the thought of big-ass companies buying up all the open source technology and making it proprietary somehow. Oracle buys apache! SAP buys Ubuntu! HP buys Firefox!
Sun buys MySQL

A culture of low expectations

I am yet again noting how shitty Windows software is. I’m running Vista on my gaming machine. First of all, let me say that Vista is not nearly as bad as I hear everyone saying it is. I have had some problems but I do not look back on XP as some dream come true. XP was barely adequate and Vista is barely adequate. No big paradigm shift there.

But I am constantly disappointed not just by Microsoft’s software but by almost all software written for Windows. They try to make the software “easy” in totally the wrong way. They hide useful information, they don’t give you options, they infrequently use tool tips. They sort of assume you are dumb and they manage to alienate both the dumb people and the smart people.

Steve Jobs said, if this was just about money Microsoft would make great software. It is confusing to me that Apple can make such great software and inspire such great software and Microsoft manages to inspire a lot of very poorly conceived, poorly executed and hard-to-use software. Some people will claim this is because there is so much more software for Windows, so there is going to more bad software as a result.

I don’t buy it. My latest complaint of shit-ass software was written by Intel. It’s horrible software. It is software to configure and managed RAID. It has told me there is an error on one of my disks. It hasn’t told me what the error is! It has no help for me to repair the error. It’s only advice is I should back up my data. There are no tool tips and the help is incomplete and sucky. It is supposedly logging events somewhere but they are nowhere within the Event Viewer. There are no other logs I can find. Apparently you need to be a Microsoft Certified Retard in order to diagnose this goddamn problem. I know RAID inside and out. I have run Windows for a decade and computers for 3 decades. It is an absolute failure of leadership by Microsoft and Intel that they let shitty software like this into the marketplace.

And yet Windows Weenies will defend this backwards-ass hegemony with all their lives. They love the mediocrity. They love the unintuitive nature of things, the constant annoying little popups, the DLL conflict hell. They love the shit ton of crappy software they can run on their crappy OS and feel they are on the “business” operating system.

This is why Apple is gaining market share and market capitalization. From the very top down, Apple manages quality. Microsoft, from the top down, clearly does not understand their users or the marketplace. The only reason they are surviving at this point is because of Office and because so many business users think they are required to use this inadequate shit.

The only company that is really competing with Apple right now is Google. Microsoft is falling.

A culture of low expectations

Macs run Ubuntu

Was just fooling around with a trial version of Parallels so I installed Ubuntu (a distro of Linux) on my Mac. I think Linux is great and Ubuntu in particular is great. But the Mac-bashers have to learn to live with the fact that these Intel MacBooks can run freaking everything. I can run Adobe and Micro$oft, native in OS X, run some astronomy software in Windows and have 9 desktops of developer tools in Unbuntu, all at the same time, without reboots or any monkey business.

You can also run Ubuntu on directly on a mac, without virtualization, if you want to dual boot.

I know virtualization is not unique to Macs, but I think it is pretty cool that I can run every other operating system on my mac. No other operating system can do that.

Parallels is pretty cool.

Macs run Ubuntu