Is Google Recording your Router’s Traffic when they Drive by?

Update 5/14/2010:

Google just today announced it was suspending this data collection (not that my blog had anything to do with it). Google had previously and erroneously claimed they didn’t collect any wireless traffic, just SSIDs and MACs, but are stopping the entire practice (and intending to delete this data) just the same. This both shows good faith on the part of Google, but also highlights the dangers of unchecked data collection over personal privacy. It’s all too easy for mistakes and abuses to happen, even for well-intentioned companies in a hurry. Continue reading

Is Apple Crazy to Screw Adobe?

There’s a lot of chatter on the nets about Apple’s new developer agreement that generally obliterates the use of 3rd party tools to make iPhone apps. It says, in a nutshell, you must use C, C++, Objective-C, and, okay, Javascript, to write — not ship, but write — your apps. Essentially, they might as well have said "no middleware."

The problem for Apple was that extremely cool packages like Unity3D and Adobe CS5 were poised to make it really easy for developers to write great apps in a safe clean sandbox and press a big orange button to deploy to iPhone.

This was formerly a very clever way around Apple’s previous requirement that all apps be native, as in rock solid compiled vs. flexibly interpreted/JITed like Flash and Silverlight. But Apple, clearly masochists the lot of them, wanted everyone else to use their circa-1980s-with-GUI-glued-on XCode development environment too. Or they just wanted to screw their whole ecosystem because they’re too arrogant to fail, right?

Well, unfortunately, that’s not really what’s going on here. Apple isn’t stupid. The problem with CS5 and Unity3D for Apply is that they are inherently cross-platform. The people inside Apple, I’m sure, don’t really care what you use to develop their apps as long as they make money (for Apple), sell more iPhones, iPads & iUnderwear, and the apps generally don’t suck (at least in aggregate).

But Apple does care when I write a game that runs as well or better on Android or WinMo7 or Netbook+Flash, with no added effort, and gives users a great set of choices, some of them free. For developers, this is exactly what we want — the most/cheapest outlets for our work. So Apple is forcing developers to choose. "You want our luscious money-printing (for a select few) platform, then we want 100% loyalty."

This is the same reason other companies, ahem, look for games that offer exclusives to their console. Do I like it? As a developer, of course not. As an employee, meh. Not my call. But it does work, more than it doesn’t, and helps build a brand instead of a commodity.

Where it fails, and where Apple is being stupid IMO (and only IMO) is when they no longer have the sexiest hardware or lion’s share of mindshare, which may be sooner than they think. When someone else has something more appealing, then Apple will be forced to help developers cross-develop onto Apple’s platform, as other companies do now for theirs, and as Apple once did for all sorts of creative apps like Adobe’s.

All of that said, I’m ditching my iPhone anyway — the only reason I got it was because there was nothing better at the time. I have no loyalty to brands, only people.



How to Teach Trig

There’s a post on Reddit today titled, "This is the first thing they should teach in Trigonometry," which is where I stole this gif.

I totally agree. Apart from equal triangles, various equivalences, etc.., understanding the nature of sine and cosine is monumental.

As a teenager, I was so excited by this knowledge, I not only took one point and rotated it in a circle, I then took four points, each 90 degrees apart, connected them by lines, and rotated a square.

Then I said, what happens if you rotate that square 90 degrees into the screen and say clone it a few times? Cool. I can rotate a cube. And what happens if you take that cube and add some parallax, such that things far away move towards a vanishing point?

Pretty soon, basic trig lead me to reinvent 3D graphics, the painters algorithm for drawing polygons, and I was off. In fact, the only thing I was missing as a kid was linear algebra and the knowledge that you could actually make a living doing fun stuff like this. Had I known the latter part, I’d probably have become a game developer at an early age.