Thursday, June 18, 2015

Why we should trust Apple with our data

Earlier this month, Edward Snowden wrote an op-ed piece for the New York Times where he discussed how the world has widely rejected surveillance and how both companies and consumers are starting to understand why privacy matters. People found it interesting that the only company he mentioned by name as trustable was Apple and a lot of folks are wondering how on earth he could trust a company that produces products you can't see exactly what they're doing in your computer or device. Wouldn't it be better to use something like Linux?

I think I understand why he trusts Apple and why they might be as trustable as your friendly Linux distro maker. It comes down to money and reputation.

Unlike companies like Google, Apple's primary goal is to sell you devices and software. They don't care about your data because they aren't really set up in a way that would allow them to monetize it effectively. Everything they do is an effort to increase marketshare and drive more people to use their products. Make no mistake: Apple doesn't particularly care about privacy, not in any meaningful way. But they care about money and selling privacy as a feature, being the only platform that focuses on privacy, it's an awful good way to make more money. People want it and people are willing to pay for it.

Looking at it that way, Apple would be suicidal to push privacy as a feature and still sell us out secretly. The moment that behavior would become public knowledge, there would be absolute hell to pay. Any new customers they get from their huge privacy push would be lost in a few days. More than that, nobody would ever trust them again after such a betrayal.

Overall, I'm starting to trust Apple to get privacy right. They're smart marketers and smart engineers. They are in this fight to win and winning is defined by money and customers. I see no reason not to trust that they will do whatever it takes to get more of both. Privacy is the new hotness.

Monday, May 11, 2015

Why would anyone use Windows on a Raspberry Pi?

For the last few weeks, I've been trying to come up with a reason why anyone would want to use Microsoft Windows for projects on the Raspberry Pi 2. I can't. In fact, the more I think about it, the more it seems like this is just another 'us too' move by Microsoft.

Think about it: you're not going to run the full desktop version of Windows 10 on the Pi. It's simply not powerful enough to do that and have any kind of usable system. That means you're likely going to have to run a command line version of Windows and, really, for the most part, Windows users are terrified of the command line. That alone is going to knock out a good segment of potential users.

Next, let's look at the tinkerers. Those people are generally not afraid to get their hands dirty and mess with the underlying OS, including using the command line. Those people are likely not using Windows for their current projects because it lacks the one thing they crave: control. They're using Linux.

Once upon a time, one could make the argument that the benefit of using Windows on these type projects might be having the ability to code in C#. With the open sourcing of the core .NET framework and the progress open source projects like Mono have made, that's not compelling. Plus, let's be honest, even if you couldn't use .NET, any programmer who's learned C# or any other major programming language could pick up enough Python in a weekend to do most or all of their Pi based project.

No, there just isn't a single reason I can think of to use Windows on the Pi instead of Linux. Microsoft would be better off giving up on Windows on the Pi and focus on making some really compelling add-ons for the device. Like, maybe, bring Kinect to it? Now that would be useful.

Tuesday, March 17, 2015

Defending PHP

Yesterday, the developers of the ownCloud project posted a great blog entry explaining why ownCloud chooses to use PHP instead of one of the 'sexier' languages like Ruby on Rails or Node. Overall, I agree with their defense. There's nothing particularly wrong with PHP, despite what we keep being told by the independent developer elite. Sure, PHP has its quirks and it's got it's fair share of 'gotcha' issues that can bite an unfamiliar developer in the ass, but so does every language including the darlings of Internet development.
language like Ruby on Rails or Node. Overall, I agree with their defense. There's nothing particularly

Bad code isn't produced by programming languages. Bad code is produced by bad programmers. I've seen some absolute monstrosities written in Java, C#, Python, and dozens of other languages by developers who never really took the time to learn their tool because they were too busy chasing the hot new language on the block. Likewise, I've seen some amazingly elegant code written in PHP, written by developers who'd taken the time to learn the language and stick with it instead of jumping around when the elite of the development world start saying their language isn't cool anymore. Those developers get a cursory glance (maybe work through a book in a weekend) and never cozy up to the language to learn its curves.

I'm not saying PHP is perfect - it's certainly not. But no language is perfect. If you talk to any serious developer they can likely name a dozen annoyances about whatever their language of choice is. They keep using that language because they've taken the time to learn it. They know what to expect from the language and have embraced it. PHP developers, the good ones anyway, have done the same.

Want to stop writing bad and kludgey PHP code? Stop being a bad programmer. Take time to learn the language, massage its warts, and embrace its differences. You'd be surprised how much more productive you'll be and how much more elegant your code will become.