Google Keeps Innovating

cloudplatform_128px_retina

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 http://picasaweb.google.com/. 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