Why I Don’t Trust Cloud Computing

The center tile in buzzword bingo these days is “cloud computing.” It’s a fancy term for a return to centralized mainframes of yesteryear. It’s a simple concept, put all your files onto servers connected to the Internet so your files are available anywhere you go. Although this part of the idea is sound (so long as you’re encrypting your data before sending it out to a server you don’t control) some people use online storage as their only means of data retention. The latter part of this is the thing that will fuck you over hard.

Case in point Facebook just bought drop.io, a popular file storage and sharing site. The following notice is what is important to this post:

Drop.io is free up to 100 MB of storage, but some people pay to get more storage. Nov. 15 will be the last date when drop.io will charge users for extra storage, and those paid users will also lose all their data after Dec. 15.

Never have your data exclusively on a storage system that you do not fully control. I have friends who use Google Docs as their word processor and sole means of storage. If Google decides to shut down Google Docs that’s it, my friends’ files are gone.

I encrypt and backup my most important files to Amazon’s S3 service. The reason I utilize S3 is so I have an off site backup in case of my apartment complex burning to the ground or other unforeseen event that could destroy everything I own. Of course I also keep a local copy of every file I create (two copies actually, one of my computer and one on a backup drive) in case my Internet connection goes down, Amazon’s S3 servers hosting my data go down, or Amazon decides to terminate S3 out of the blue. The main thing I’m trying to get across here is the fact that you should never use online storage that you don’t completely control as your sole means of data retention. Always have a (preferably two) local copy of every file you create. Everybody who stored files on drop.io has a month and a half to get their data off before it’s gone forever.

Just as Soon as It Becomes Useful

The iPad is actually useful as a media player because VLC was allowed in the Apple Store. Sadly it seems the VLC Media Player is going to be removed due to the incompatibility between Apple’s de factor Digital “Rights” Management (DRM) and the GNU Public License (GPL) which VLC is released under.

One of the problems with the iOS App Store is the mandatory use of DRM. This violates several open source licenses which assures many projects will not be made available for iOS devices. Thankfully Android doesn’t have this problem and thus open source applications can be released DRM-free.

Additionally with the removal of VLC the iOS platform will lose the ability to play 99% (possible exaggeration) of video files out there. Thus the iPad’s advantage as a media play will be flushed right down the toilet.

Firesheep

Do you log into services such as Facebook from public Wi-Fi hot spots? Are you logging into these services without forcing them to use HTTPS? Well I’ve got bad news for you, there is a Firefox plugin called Firesheep.

What is Firesheep? Well it’s a Firefox plugin that listens to Wi-Fi traffic and looks for authentication cookies for known services. When you log into Facebook an object called a cookie is sent from Facebook’s server to your computer. The Facebook server knows this cookie was sent to you and hence it is used by your computer to authenticate yourself to Facebook when you’re interacting with the website. Here’s the problem, that cookie isn’t sent through a secure tunnel (HTTPS) unless you using something like HTTPS Everywhere or NoScript to force it.

Without the cookie being sent through a secure tunnel anybody listening to your network traffic can grab that cookie. With that cookie they can log onto your account as Facebook only asks for the cookie as proof that you are you. Open Wi-Fi hot spots (such as those at Starbucks) use no encryption meaning everything you sent and receive that isn’t in a secure tunnel can be seen by anybody with a Wi-Fi card.

Scenario time! Let’s say you go to Starbucks and log onto your Facebook account on their free and open Wi-Fi hot spot. The guy sitting across from you has his laptop open and is running Firesheep. When you log in he obtains your cookie and then logs onto your Facebook account, changes your e-mail and password, and starts doing all sorts of malicious shit to your friends. This is what happens ladies and gentlemen when you use unsecured Wi-Fi access points. Don’t do it! If you’re going to be in a situation where you know you’ll be required to use an unsecured Wi-Fi hot spot (such as a hotel) use a VPN service (quite a while ago I reviewed HotSpotVPN which is one of those services).

Firesheep was created to raise awareness of this problem. If you head over to this link you can download a slide show used by the creator of Firesheep for a presentation at Toorcon.

Android Voice Commands

I think I’ve found a killer feature in the Android operating system, voice commands. First let me clarify that Android is the first operating system I’ve ever used that has voice recognition that actually works. I’d say the voice recognition software on Android is accurate with what I say roughly 90% of the time. Yes I realize 10% rate of failure is pretty big but honestly for voice recognition it’s pretty friggin’ phenomenal.

Voice commands are activated on the Evo 4G by holding down the search button. When held down a little dialog box will appear asking you to speak your command and the phone will act from there. My two favorite commands are “direction to” and “send text.” If you say, “direction to 1234 South North Street Podunk Minnesota” the phone will open Google Maps and plot directions from your current location to 1234 South North Street Podunk, MN.

The “send text” command works in the same fashion. When you say, “send text to Fictional Person I’ll be there in five minutes period” the phone will display a text message to Fiction Person that says, “I’ll be there in five minutes.” All you have to do after that is tap the send button and away it goes.

That’s one thing you have to realize, punctuation must be spoken. The speech recognition can’t predict when you want to add a period or question mark so you have to speak them. It’s kind of a pain in you want the work period written out but it works correctly nine times out of ten.

I’m simply blown away by the voice command feature and how well it works.

So Much for Palm OS Emulation

Before getting my Evo 4G I had a Palm Treo 755p, before that a 700p, before that a Palm T|X, before that… well you get the idea. I was (and still am) a huge fan of the original Palm OS. That’s one of the reasons I was so excited for the Palm Pre, it had a high quality Palm OS emulator included with it.

Alas it seems Palm has removed the Palm OS ROM from the next version of their OS which renders MotionApps emulator worthless (since Palm OS was never open sourced we’re at the mercy of Palm to deliver a ROM for emulation). What excitement I had for WebOS 2 (what is a lot although the hardware that has been revealed is pretty piss poor) is quickly drying up. Since WebOS has the fewest available applications (compared to iOS and Android) the Palm OS emulator was used to fill in the gaps (for instance if you needed a VPN client you had to install it in Classic). Now it seems that option has been put to bed.

The iPad

Due to completion of a fortuitous side job (here’s an interesting fact, knowing assembly language for Freescale based microcontrollers can be extremely profitable) I found myself with a good chunk of extra money in my pocket this month. I’m sure anybody who read the title can figure out where this post is going, I used some of that money to purchase an iPad.

OK just let out your gasps of surprise and outrage, I’ll wait…

Still going?

Done now? Good. I’m sure you’re wondering how after all my bitching, whining, and complaining about Apple’s mobile products why I’d get an iPad. In all honesty for two reasons. First the iPad fulfills a few needs I have. Second as much as I hate the Apple store, iOS development is something I should know how to do as it’s incredibly popular.

First my needs. I’ve been lusting after a tablet device running a mobile operating system for a very long time. A small and portable device that is big enough to do real web browsing on appeases to me. Likewise It would be nice to have something besides my big honking laptop when traveling. I love my laptop but 15″ doesn’t fit on those plane seat-mounted tables very well. Mostly I wanted a mobile media device.

Why not wait for an Android tablet? Because the only decent one announced so far has a 7″ screen is is tied to various cell phone carriers. I wanted a 10″ screen, simple as that. In addition to that I also wanted a Wi-Fi only device that I didn’t have to pay a monthly fee for. The iPad does all of that and any competition won’t be out for quite some time.

This post is mostly going to be about my initial thoughts on the device. To make things more interesting I’m posting this using my iPad with an paired Bluetooth keyboard (yes this is an awesome feature, a tablet that can use a standard Bluetooth keyboard). Because I’m in a positive mood I’ll start with the things I like about the iPad so far.

To begin let me talk battery life. The batter life on the iPad is phenomenal. I mean that. I used the device for roughly five hours last night and was trying to use every battery draining feature I could come across. Out of the box the iPad had a 90% charged battery and by the end of the five hours it was still above 60%. This includes web browsing, playing some games, watching YouTube videos, and having the screen running for almost the entire time. In fact I set the auto-lock timeout to 15 minutes to ensure the screen wouldn’t be off very often just to beat on the battery. Color me impressed.

Next up I want to just say when it comes to polish Apple knows their stuff. The interface on the iPad runs smoothly. There is no lag when scrolling web pages pages, zooming into pictures, or rotating the screen. It all happens instantly and smoothly. In order to get my Evo to rotate the screen I sometimes have to shake it in an exaggerated manner to finally get it to the orientation I want. The iPad also has a switch to lock the orientation so rotating the device won’t cause the screen to re-adjust. Videos, even HD ones, play without so much as a stutter. I used VLC to play a bunch of television shows I have and at no point did I notice any slow down. Everything feels complete and well thought out which is Apple’s modus operandi.

As a media and web device the iPad is great. Of course now it’s time to rattle off when I don’t like so far on the iPad. The biggest drag is the fact that you have this nice, big, and powerful device with wireless network access and you can’t do a damned thing without plugging it into a computer (and the iPad doesn’t charge off of my USB ports, just a small niggle to irritate you). Now only do you have to plug it into a computer, but a computer that has iTunes installed. Getting data onto the iPad is reminiscent of the old Palm OS and Pocket PC days.

Let’s say I want to put a movie onto my Evo. To accomplish this goal I plug my Evo into any computer with a standard USB cable, turn on drive mode, and copy the files to the Evo’s SD card. It’s simple, straight forward, and works very well. Now let’s say I want to put a movie onto my iPad. To accomplish this goal I have to plug my iPad into a computer with iTunes, tell iTunes what movies I want to upload and what application to use those movies on (more on that in a bit), and finally click the sync button and wait. I mention the waiting part because if you try to use the iPad during a sync operating it seems to stall until you lock the screen again. This could be user error as this is an initial thoughts post instead of an actual review.

I mentioned that you have to tell iTunes what application to upload the movie to. Android has a nice setup where anything on external storage is readable by any application on the device. If you have an application that you want to keep the data private one you store that data in the device’s memory which is secure form being read by any other application. iOS lacks the first mentioned mechanism as there is no universal file storage area. Every file on the device is usable by only the single program you copied it to. This means if you want a photo uploaded for use with two applications (let’s say two photo editors that do different things) you need to copy the file onto the device twice. I’m going to be honest here, this is stupid. I understand the desire to sandbox applications, that’s a good thing, but at least have a mechanism for sharing data between applications.

Let me use another example. There is a website I frequent that you probably haven’t heard of. This site has a ton of free PDFs for downloading and reading. On my Evo I just select the PDF, download it to the SD card, and open it with my read of choice. On the iPad I… swear up a storm because I can’t just download a file and open it with another application. When downloaded that PDF is locked to Safari so it can’t be read in another application. I order to get that PDF into a reader application I have to either download it on my desktop and upload the file via iTunes, highlight and copy the URL of the PDF document and then hope the reader application has the ability to download PDF files, or read the PDF in Safari.

To boot the ability to sync with online services just isn’t well implemented. When I add a Google account to my Android phone everything on that account can be synced. This means once setup my phone will automatically pull down my e-mail, contacts, and calendar. The only way to do this on the iPad is using an Exchange server. Adding a Google account only grabs the e-mail. To get your Google stored contacts you have to have Address Book on your Mac sync with your Google account and then use iTunes to sync Address Book with your iPad. The same goes for your Google calendar. I realize that Apple sells their MobileMe servier but frankly if you want to have a device this day an age it should sync with most major online services. There is no reason this day and age to require me to plug one of my portable device into another computer in order to get my contacts and calendar. Fucking ridiculous.

Since I mentioned reading let me get to another task the iPad does poorly. I downloaded the Kindle application and synced Old Man’s War to the iPad. As a reader the iPad sucks. Plain and simple. I don’t like reading on back lit screens now that I’ve experienced the wonders of e-ink. There is no way I could ever go back when it comes to reading novels. On top of that the iPad is very heavy compared to the Kindle meaning you arms are going to tire of holding the iPad for any extensive amount of time. So yeah the Kindle is staying.

One thing I never thought I’d miss on a device is the Android back button. It’s hard to realize how often you just need to go back to a previous screen until you’ve had a device with a dedicated back button and then used a device that doesn’t. It’s a small thing but every time I want to go back in an application I generally have to tap a button at the top of the screen. I’ll admit it’s not a big deal just a little something I noticed.

Overall I like the iPad for the reasons I purchased it. It’s a far more portable device than my laptop and handles media very well. Until iOS 4 becomes available for the iPad I’m not going to give it an serious consideration as a communication device because I need multi-tasking for an IRC client. The iPad also oozes polish and user experience. It’s seriously fast and the interface always runs smoothly. As a phone operating system I don’t think I could get by with it. I’m too used to having a phone that isn’t dependent on being connected do another computer.

The bottom line is I like the iPad for what I bought it for but do not line iOS as anything outside of a media operating system (so far, maybe that will change as I find new things). There are also some seriously fun games for the iPad… just throwing that out there.

Apple Deprecates Their Java Virtual Machine

No, I’m not trying to turn this into the Apple blog but I found this news discouraging. Apple is deprecating their Java Virtual Machine meaning it could be removed in a future OS release. Although I’m not sure why Apple is doing this I wouldn’t be surprised if it had something to do with Oracle.

Since Oracle purchased Sun the Java community has been rather… leery. Oracle is already suing Google because they believe Google’s use of the Java language infringes on Oracle’s Java property. Combine that with the fact Oracle isn’t the most loved company on Earth and you realize the future of Java is on somewhat shaky grounds.

I’ll admit that I use very little Java software. With that said there is one piece of Java software that I simply can’t work without, Eclipse. Eclipse is kind of the juggernaut of Integrated Development Environments (IDE). If you want to write an application in a specific language there is a very high chance that an Eclipse plug-in exists for it. It’s kind of my Swiss Army Knife for development and frankly I don’t want to be stuck running it in a virtual machine all the time (since Eclipse is as a big of a resource hog as it is useful). Granted I could just use a text editor and compilation tools but I really don’t want to switch up my entire work flow. Hopefully Java stays part of OS X for a while longer, at least until somebody else releases a quality virtual machine for it.

Apple’s New Annoucements

Yesterday Apple held their Back to the Mac event. This is the event of the year where they release things that I actually get excited about (I know I give their mobile devices a lot of heck on here but I really do like their computers). There were several announced products; some I’m excited for and some that I could care less about.

First the stuff I don’t care about. They announced a new version of iLife and they are creating a FaceTime client for OS X. I don’t really use iLife and frankly I don’t need people to see me when I’m talking to them. With those two things out of the way let’s talk about the stuff that actually matters (to me).

The next version of OS X was announced. This one is keeping with the big cat naming scheme an has been titled Lion. This will be the eight version of OS X (they started with 10.0 and are now on 10.7). Apple made no qualms about saying 10.5 would be the last really big update for quite some time. 10.6 was mostly a maintenance update with a few new features and 10.7 seems to be the same thing. Apple is tossing in some iOS features into 10.7 and that seems to be the main thing. I’m sure there will be a lot of under the hood fixes to boot.

For quite some time Apple has had the MacBook Air. The Air was the product that I never really understood where it fit in because it was expensive and had a 13″ in screen which the MacBook and MacBook Pro line both had. Needless to say outside of thickness the Air really had nothing going for it. I have to admit the new MacBook Air models Apple announced yesterday actually seem to have enough advantages to be worth introducing.

My main laptop is a 15″ MacBook Pro. A 15″ screen certainly isn’t the most portable screen size on the planet but 90% of the time I have my laptop on a desk and really only need the portability to go from point A to point B. I like having a large work space and I find a 15″ screen to be the perfect combination of portability and work space. The problem comes when I’m in small and cramped areas like airplanes. Having a 15″ monstrosity on one of those dinky seat mount tables on an airplane isn’t pleasant. If the guy sitting in the chair forward of you leans back there is a good chance he’ll pinch the top of your screen which could very well damage it.

The new MacBook Air comes in two screen sizes; the familiar 13″ model which I still find kind of pointless and the small 11″ model which I find great. Of course the price of the 11″ model hovers around the $1,000 which is pretty damned expensive when you consider you can get a netbook for roughly one third of that price. There isn’t much to justify this additional cost beyond the Air has an Solid State Drive (SSD) drive that is supposedly “instant on” (which generally means almost instant) and the screen resolution is 1366×768 which is pretty damned good for an 11″ display. One of the things I really like about Apple’s laptops is the screen real estate. I was looking through some other laptops the other day and found most 15″ model laptops that are a decent price have a screen resolution of 1366×768. That’s not even usable in my opinion. So having an 11″ screen with a resolution equal to that of most cheaper 15″ laptops is pretty damned impressive.

Honestly I can’t justify plunking down $1,000 for a laptop that I wouldn’t use all that often (because mainly I’d want it for flying and I don’t do that very often) but I do see where this model fits into the product line. It also seems that Apple is treating this as an appliance since it doesn’t have a standard sized SSD. Most SSDs have the same form factor as a traditional hard drive. This is so you can easily upgrade an old computer but frankly there is no reason SSDs can’t be smaller than their mechanical brethren. Apple decided to say fuck backwards compatibility and toss in a bare SSD stick. This allows the laptop to be smaller but comes at the sacrifice of being easily upgradable. I wouldn’t be too worried about being able to upgrade a netbook that cost $350 but when you’re getting into the $1,000 range I start expecting to keep the computer around for a few years. Still I think it’s a pretty sweet product overall.

Finally the last think Apple announced is the new Mac App Store. The premise is simple, it’s the iTunes App Store for the Mac (well it’s not really an iTunes App Store as the Mac version is a standalone application thankfully). One thing Linux has been able to lord over Windows and OS X are centralized package managers. If you want to install an application in Ubuntu you just have to open the Add/Remove Programs menu, search for the application you want, select it, and click install. Once you click install the application is downloaded and installed onto your system automatically. This also allows the package manager to automatically update your software when new released are brought out.

Apple will finally have this ability in OS X with the Mac App Store. This new App Store will allow you to purchase, download, and install applications onto your computer. The part I liked most about this new App Store is the fact any application purchased on there will be authorized for all of your Macs. Valve’s Steam service does this with games; once you purchase a Steam game it’s tied to your account and you can install it on every system you can log into Steam with. If you go to a LAN party and need to use another computer you can simply log into Steam, download, and install any game you’ve purchased. Of course Apple is doing their traditional 70/30 split but if you don’t want to pay you can continue publishing your software as you have been. Overall I like the idea of a centralized Mac App Store.

Magic Battery Dance

Slashdot has a story about a group of scientists who believe they have found the cause of lithium-ion battery degradation.

As with any such story somebody inevitably posted their magic dance for extending battery life. What do I mean by magic dance? Well it seems everybody and their grandmother have a foolproof system that extends the life of lithium-ion batteries. Some people claim you have to drain them down completely once a month, other say never go below 30% if you can help it, and others will say sacrifice of a goat during a solar eclipse will ensure your battery lasts for years. It shows we really don’t understand the cause of lithium-ion battery degradation (anytime you can ask 50 people a mechanism for doing something and get 50 different answers the true problem isn’t understood).

Well I decided to post my foolproof mechanism for extending the life of lithium-ion batteries. When your battery is showing signs of storage capacity problems buy a new one. Holy shit what a revelation!

This day and age lithium-ion batteries are no longer very expensive to replace. I found a second battery for my Evo 4G for something right around $10.00 (and it was a factory HTC battery to boot). All the time and effort spent extending the life of your battery for a year is wasted if your time is worth any amount of money. Personally I just charge the batteries in my devices when I can and discharge them when I must. I don’t concern myself with cycles, percentage of battery drain, days there will be solar eclipses, or any other such nonsense. Batteries are cheap and by the time you can no longer purchase batteries for a device it’s probably been replaced anyways.

I’m sure somebody is now going to ask what do you do with a device that has a non-removable battery. Simple, don’t buy that device. Once of the features I still look for in new purchases is the ability to easily replace the battery. Yes my unibody MacBook requires the removal of several screws to get at the battery but it’s still easily replaceable once the back cover is off.