First off, let’s get somethings straight:
I don’t hate Apple, I think they make excellent products with amazing quality.
What I don’t like is people telling me what to do and how to do it, and Apple is the king of telling people what to do and how to do it. It’s either their way, or the highway!
And I have no respect for twisting truths and re-wording facts to benefit personal interest, and of course Apple is the queen of twisting facts!
Apple didn’t invent video calling, yet they certainly went out of their way to make sure everybody believed they did!
There are many other examples and bad practices that Apple is the king, queen or duke of … but I’ll keep those rants for twitter …
I bought an iPad! and I’m pretty sure if @MarkRuddock is reading this, he will be LOL-ing right now … after all, I was the one who kept saying the iPad sucks, its useless and I personally have no use for it.
Well it turns out I was right all along! Ha!
The iPad does suck, its too. Heavy, awkward to carry, Apple somehow managed to completly screw the WiFi and it lacks so many essential features and parts that I won’t go into right now (much like the first iPhone did)
I also said, that the iPad is useless, and I find to be more true everyday, I hardly find myself using any of the native iPad apps, I basically live in the browser all the time, from checking my email with gmail, to writing docs in Google Docs, to managing projects and invoices in Basecamp and Freshbooks.
There are simply very few apps that are good enough or better than the browser! And there is a significant lack of iPad specific apps, take for example Meebo or eBuddy, they only have iPhone apps, and trust me you don’t wanna use iPhone apps on the iPad the scaling is just ugly and you loose a lot in terms of usibiltiy …
Why do I keep the iPad then? Well because it’s smaller and lighter than a laptop and its battery lasts longer! So I don’t have to carry a thick and heavy power adapter on top of it to make sure I never run out of battery when I need it the most … a simple USB charge will do the trick for the iPad.
Its also more convienent, how many times do you bring up your laptop in the subway or streetcar to quickly check a web page or an email? How much time do you waste waiting for you laptop to boot or wake up from sleep? Too much time!
But all of this doesn’t answer the question of why an iPad, I could have gotten an Android tablet or a Windows one, or many other options …
I’m not going to start discussing Windows, and I’m offended you even mentioned that horrible operating system in-front of me, now go away! (to clarify, there are no Windows Phone 7 tablets on the market yet, so I’m obviously referring to good old Desktop Window OS fitted on a tablet device)
as for Android, I love Android but I’m also realistic … the Android OS was not designed to fit the form factor of a tablet exactly like the iOS was designed. so the same problems apply, perhaps even amplified since there is no one authority on design standards so the market is flooded with crappy hardware running 2 year old versions of Android OS! Google has taken innitiative with Android 3.0 and forked the Android source code to dedicate some love to tablets but we wont see any of these products for a while and I don’t like waiting …
so an iPad in the pocket is better than an imaginary Android on a tree …
and of course in case you are wondering, I did NOT type this post on my iPad, but rather on my trusty Android phone (HTC G2) with a physical keyboard!
My biggest pet peeve in software development is getting emails with questions about generic programming language errors or library bugs that could otherwise be solved by simply googling the error lines …
I don’t really know where the problem lies, but it doesn’t seem be limited to junior devs or people just learning to develop, I’ve gotten those pesky emails rom seasoned developers and very smart individuls that otherwise, I would have never expected them to ask for help, in fact I should be the one asking them for help!
My Golden Rule is simple: Asking for help should be the last thing you do!
It doesn’t matter what your skill level is, there is no justification for asking another developer about a common generic error, ex: [FUNCTION DOES NOT EXIST] or [PERMISSION DENIED] or my favorite [PHP EXTENTION NOT INSTALLED]
You’ll find hundreds (if not thousands) of online articles and discussions answering each of these basic questions, in as many different ways as your heart can desire, and when that fails there are a multitude of debugging tools and practices that one can follow to find the problem and fix it.
After all, that’s what your job as a software developer is: To Find Solutions!
Everybody can read and type, or at least can learn to read and type, and by doing so can have access to all the manuals and tutorials available online and in thousands of books that can teach them how to code, your skills as a software developers are not quantified by how many books you’ve read, courses you’ve attended or code you’ve written!
A software developer skills lie in finding solutions quickly, efficiently and intelligently.
When facing an error its not memory capacity you should rely on, it’s problem solving skills, and if you rely on other people to point out the solution for you, then consider yourself obsolete.
Ever since I arrived at Toronto I’ve used the TTC (Toronto Transit Commission) for most of my transportation needs. The subway is at the heart of all my movement within the city, and with streetcars and buses I can make any trip within the city for $3 CAD (used to be cheaper but that’s a different story)
The TTC has many flaws, but one thing really bugs me beyond anything else is the subway transfer tickets.
One certain condition stands out and just doesn’t make make any sense: “Must be optained from station where fare is paid and cannot be used on surface vehicles at station where issued.”
basically: outgoing buses and streetcars will not accept transfers from the closest subway station, instead you have to make sure you grab one on your way in, which could be miles away from your destination … I guess the idea is to enforce the “one direction trip” rule … but in practice, it’s really silly.
I cannot begin to count how many times I went into the subway, and I forgot to grab a transfer on my way in, or I changed my mind on where to go, or decided to take another path … on the way out I realize I need to get on the streetcar to continue my journey, I grab a transfer and get on one, only to get yelled at by the streetcar driver! (they are very rude) followed by a lecture on how to properly use the transfer system OR they will let me ride along but only while making sure I’m quite humiliated infront of all passengers by highlighting how I missed the obvious way of using the transfer …
except I didn’t miss it, its just silly and illogical.
there is no way to get a transfer unless you are inside the “pay” area, so there is no way to cheat the system, there is no way for you to grab a transfer from the closest station unless you pay at the entrance, grab a transfer then go out again … which, (if my math is correct) should be totally fine!
what’s even worse is that this rule actually allows cheating in a different way, I could get on the subway grab as many transfers as my pockets can fill and get off at a later point and give all my friends free transfers and we all hop on a streetcar and get a free ride to our next stop …
[video]
Everybody has a plan until they get punched in the face — Mike Tyson
Its been a long time since I posted any original articles on this blog, the reason is quite simple, whenever I find myself sitting in front of a keyboard, my instincts trigger me to do some coding as its my primary hobby to hack!
Which only leaves one solution for blogging: going mobile!
The idea worked out quite well, when I’m mobile, traveling or in transit, I seldom think of bringing out the laptop, even though I see many people managing to do so comfortably, I don’t find it as comfortable or as private …
So with a BlackBerry in hand, I started typing down my thoughts whenever I had a few minutes to spare, in an elevator, on the subway, streetcar, even while walking! I remembered every key and shortcut location so I managed to type and walk without looking and get pretty accurate results!
Then the world changed, Apple decided to change the world and make a revolutionary product … only they left out one very important piece: the physical keyboard!
And as with every great success: others imitated, soon enough almost every smartphone was without a physical keyboard, even BlackBerry (whom success lies partly on their keyboards) went out of their way to make a touch only phone, which shall go without mention in this blog … what a disgrace that was!
But let’s get back to my story …
Soon after Google released the Nexus One (as in that same day) I went out and bought one! It was a bold move for me, especially since at the time I was working for Viigo (now part of RIM) a company that lived in the BlackBerry software world!
I had some great times with my Nexus One, but overtime my blogging dwindled and slowed down to a halt because I can no longer type the long posts that I used to with its Touch screen keyboard.
After a while I discovered Swype, a great input tool for Android, but even with fast input through Swype, I found myself even debating typing a 140 character tweet!
Eventually I had to make a decision, it wasn’t only blogging and tweeting that was affected, I also found myself less likely to answer an email or have a chat conversation, I was becoming less productive as I needed to postpone all the little things that used to get done in an instant on the phone, to a time that I’m near a computer so that I can respond to an email or write down some ideas ….
Well today it all changes, as an birthday present to myself, I got the HTC G2, which is basically almost identical to the Nexus One in every way but with an added physical keyboard.
It may not be as fast as Swype, but for some reason pressing buttons gives me the satisfaction I need to keep on typing.
This post is proof, I typed it all on my little G2 Keyboard.
[video]
[video]
Syrian School - Part 1 - Changing Schools
Syrian School - Part 2 - Rap Refugees
Syrian School - Part 3 - Being Inspired
Syrian School - Part 4 - Syria’s Got Talent
Syrian School - Part 5 - Marked for Life
Suicide & Redemption