Rough Book

random musings of just another computer nerd

Tag: apple

Apple: Blurring the Line Between Hackers and Hipsters

Yesterday, while wrestling with my Windows XP machine to make it do dual-monitor display properly (I can’t get it to set my LCD as primary display), I ended up hosing the registry completely. It took me about two more hours to fix the system and get it back to where it was. During this whole ordeal, there were long periods of waiting when drivers were installing or when chkdsk was running. I took this time to surf the web and ended up landing on a digital copy of In the Beginning was the Command Line by Neal Stephenson. While skimming through the book (I have read the book before; I own the hard copy), I realized a few things. The book is definitely outdated; it was written before Mac OS X came out. However, a lot of points were still valid. I was mainly struck by the changing character of the Mac, and also in some sense, the changing character of (some) hackers:

Hackers like to hack. This is not a bad thing. In fact, “hack” originally did not mean “break into goverment/financial systems and do bad things”, and a “hacker” was not an unsavoury individual who did the aforementioned “bad things”. A “hack” originally meant “an elegant and clever solution to a problem” (although, it paradoxically also means “crude and ugly solution to a problem”), and a “hacker” is a person who comes up with such solutions. Most programmers call themselves “hackers”. The media term “hacker” is actually described by the term “cracker”. Hackers are constantly tinkering with things. Usually they are trying to make things better, but more often than not, they end up breaking it. However, in the process they learn very valuable lessons about how not to break something, and then immediately find another way to break it again. In all seriousness though, what we learn are the limits of the system, and how the system works. Hackers don’t like unknowns and black boxes. They want to know what makes things tick.

My dad got me my first computer in 1990. I didn’t do much on it at first other than play games. I actually started writing code in 1992, and I haven’t stopped. I’ve been hacking around since then, and in the process I’ve learnt a lot of many cool things. Over the years I’ve experimented with various OSes and programming langauges, and in the process broken and hosed many computers. But each time I learnt something valuable from them… mostly. One of the cooler things (I didn’t learn anything from this really, it was just a bug) I did was writing a self-replicating Perl script that kinda ran wild on ASU’s Solaris server. There were so many scripts running around that it brought the server to a crawl. I eventually figured out what was happening and managed to kill all the processes. Anyway, my point is that people like me like to tinker around. We don’t mind if we break stuff while doing it, because we’ll figure out a way to fix it. It’s the “figuring out” part that makes us happy. So what does all of this have to do with Apple, Hipsters, and Hackers? Well, in Neal Stephenson’s book he describes two kinds of people: Eloi and Morlocks. An Eloi is your average internet user; they view computers as appliances and tools and nothing more. A Morlock, on the other hand, is your average hacker. The computer is definitely a tool, but it is a tool that can be used to create other tools. The workings of a computer are usually a mystery to an Eloi, but not so for the Morlock. Before Mac OS X, most users of Macs were of the Eloi variety. The Mac was a beautiful and stylish magic-box that did wonderful things. The inner workings were a mystery. You couldn’t easily get inside and tinker with it, but that wasn’t really an issue because Eloi don’t care about things like that. Morlocks gravitated more towards the PC world. Sure, PC’s were clunky and definitely not as stylish as a Mac. Plus, a lot of them ran Windows which many Mac fans claimed was a clunky and cheap copy of the Mac OS (in truth, everyone basically copied Xerox PARC). However, they could be opened up and tinkered with. At this point in time, there was also this thing called Linux, which was an interesting piece of software (at the time). Linux is basically just an operating system. What most people mean when they say they “run Linux”, is that they run a distribution of Linux. A distribution consists of the kernel (Linux), in addition to a bunch of userland tools (programs that actually let you do something). The cool thing about Linux was that it was free. You could go download it and install it on your computer and it would run. What was even more interesting was that it was made by volunteers. People actually took the time to sit down and write code to improve and enhance the operating system. Running Linux in those days was a chore. Most distributions came with a GUI (X with a window manager), but sometimes things didn’t work quite right if you had an obscure monitor and video card. Getting things to work meant going to the command-line and writing strange, arcane incantations and if the Gods were pleased, your hardware might work. But that didn’t bother the hackers, because it was fun trying to get things to work. In addition there was also a certain elitism about it. Running a Linux box meant that you had the time, patience, and above all, intelligence required to go through the mental contortions required to get a working system. But intellectual elitism is nothing new for hackers since all hackers have a bit (ok, a lot) of hubris.

Mac Sales ChartOk, so where am I going with this again? Seriously, I have a point. Things changed when Mac OS X came out; it had a command line. The command line is very important to us hackers because it lets us look “under the hood” of the GUI. True hackers always go to the command line to do serious work. The command line is a place where a pithy one-liner can replace a series of windows and buttons. To the uninitiated, the command line is a scary place where confusing and dangerous things happen. Just like a magic spell, you had to write obscure words and symbols to the computer, in the correct sequence. If you were lucky, the computer would derisively spit out an error. If you weren’t you probably broke your computer. If you were really lucky, the computer accepted your commands and did what you told it to do. The point of the commandline is that you get God-like power (mostly; to truly be God you had to be root). While this power enables you to be extremely efficient, it also enables you to do destructive things equally efficiently. The GUI shields you from the hard edges of the underlying OS. The cryptic command line is replaced by friendly windows and buttons. When the Mac OS got a commandline in Mac OS X, hacker types were suddenly interested in it. You now got the legendary stability and the “it just works” attributes of a Mac OS with the power of a commandline, and that too, a UNIX commandline (OS X’s kernel is essentially based on BSD, which is a direct descendant of the original UNIX). Which brings me to the main point. What I’ve noticed over the last few years, especially after graduating from college, is that even though I love to hack around and test the limits of a system, most times I simply want a system to work. I want to spend less time fixing the system, and more time fixing my own code. I have also noticed that I’m not the only one with these sentiments. Many of my fellow nerd and hacker friends own Macs and develop on them now. I considered getting a Mac as well, but it was a little over budget for me and I couldn’t justify the cost at the time. Macs provide a very good mix of power and stability, and that is extremely attractive to a developer. You can still hack around on the Mac (and you could probably break it), but most of the time you know it’s something you did that broke the system, than just a quirk with the system. In my personal opinion, I think Apple’s decision to include the command line in OS X was brilliant (their other good move was moving over to the ubiquitous x86 architecture). In fact, if you look over the sales chart (courtesy systemshootouts.org) of the Mac from 1997 to 2008, you can see how their sales remained more or less constant from ’97 to ’02, after which it really started taking off. OS X was released in 2001.

In the old days, Mac users were a tight-knit, elitist bunch who sneered at their less-fortunate Windows-using cousins. Most times, it was with good reason. The Mac OS was stable and polished, while Windows was a clunky GUI bolted on top of a command line. To be fair to Microsoft though, Apple didn’t have to put up with exotic hardware since they had complete control over it. The demographic that Macs attracted was mostly the artistic or hipster bunch. In recent years, the demographic has increased to include some people who also liked the supposed “coolness” of the Mac. If you owned a Mac, you were different. You were part of a “cool”, “hip”, and “artistic” minority. Apple played this up, marketing the Mac as not only a stable alternative to a PC, but a cooler alternative too. Today you have more people than ever using Macs. From a sorority chick who uses it because “OMG it’s like so pretty!” to a programmer who likes it because “OMG d00d it’s lyk teh UNIX!!11!” Apple has successfully bridged the gap between two extremes. In future years, I think Apple will continue to grow stronger, and the sales of Macs will continue to rise, providing a viable, proprietary alternative to Windows. I’m not an Apple fanboi; I like FreeBSD (perhaps why I have a soft spot for OS X) and Linux more, but I think Apple deserves respect for making an excellent OS that’s friendly to hackers and hipsters alike.

My new T-Mobile G1 Android Phone

So I got my T-Mobile G1 Android phone yesterday, and boy am I excited! I had mixed feelings about it initially because I wasn’t so sure of the form factor. I remember thinking that it looked a little clunky, but now that I have it here, in my hand, I have to say that it feels well-made and rather solid. The exterior is made of plastic, and it feels smooth to the touch and not cheap at all. The keyboard slides out smoothly and I’ve had no problem typing on it. The interface is pretty snappy. I was actually surprised at how smooth and responsive it was. As far as the interface is concerned, the only issue I have is with the zooming. It may just be that I haven’t figured out to activate it reliably. I guess they had to go with this method because Apple is trying to patent the “pinch” motion for zooming. I think that is completely stupid, of course, and the patent office should throw it out.

Anyway, so once I picked up the phone I opened up the package and carefully laid everything out. T-Mobile sent me another SIM card with it, which didn’t work; I guess you have to activate it. But that really wasn’t a problem since I have my old SIM card. Once I put it in the phone and hooked up the new battery, I started up the phone. When it firsts starts up, it asks you for your Google account information so that you can sync everything with your phone. As soon as it synced up (which happened within a matter of seconds), I was good to go. I started off by trying to import my contacts from the SIM card. This is where I came across a problem. Apparently (I could be wrong, I was too impatient to explore more options) you can’t import all your SIM contacts in one go. You have to do it one by one. I found that a little annoying. You can either import your contacts one-by-one, or import them all in one go by hitting the Menu button and then choosing the Import all option. As soon as I had my contacts imported, I started exploring the other options. The home screen is pretty sweet. You can drag and drop icons on there, and swipe left and right to either add more icons or run google search. In addition to GMail, you can add other POP3/IMAP accounts and you can also use other IM networks in addition to GTalk. The G1 also has a music player and a bunch of sample tracks (including Flight of the Conchord’s “The Most Beautiful Girl in the Room”). The phone doesn’t have a headphone jack, so you have to get a USB to 3.5mm converter. The Bluetooth works fine and synced up to the Hands-free Link in my Acura without any problem. Although, like the iPhone, you can’t transfer files via bluetooth. I imagine that they will fix this eventually. The phone also has a feature where you can set up a “pattern” to unlock it. You have to “draw” a pattern on the screen connecting nine dots (laid in a 3×3 grid pattern) to unlock the phone. The other cool thing was the “Compass Mode” in the Google Maps street view. The phone adjusts the street view based on where you’re pointing it, and so the scene on the phone actually moves when you move the phone. It’s pretty neat!

So, my opinion? As far as a phone (or PDA) goes, I think that the G1 is pretty solid. I know that some reviewers claimed that they didn’t think it would really appeal to most people. However, I think that it will. It has a pretty slick interface and a lot of neat features. Additionally, I think the demographic it will appeal to most, is people like me – developers and people who like to play with neat gadgets. I know that once I get some more time on my hands, I’m going to try and develop stuff on it. iPhone killer? I don’t know. But I think the G1’s strength is that it is completely open. In effect, it is the antithesis to the iPhone, or the anti-iPhone. Google doesn’t control the G1 (or Android) as strictly as Apple controls the iPhone, and especially with regard to the SDK. Google seems to want to encourage developers whereas Apple seems to want to encourage them only as long as they play by Apple’s rules. Consider also the fact that if you do want to develop for the iPhone, you can only do it on a Mac. Whereas you can develop apps that will run on Android on Windows, Mac, or Linux. I guess we’ll have to wait and see. But for now, I’m just happy to have a cool new toy er… I mean, phone!

Update

I’ve noticed a lot of queries to this blog post regarding the importing of SIM contacts into the G1. The process is quite simple:

  • Swipe the dock at the bottom of the screen upwards to access the G1’s menu.
  • Select Contacts from the menu.
  • Hit the Menu button and then select Settings
  • You should now see “Sync Groups” and “SIM contacts importer”
  • Select SIM contacts importer. You should now be able to import your contacts.
  • If you want to import them all in one go, hit Menu and then select Import all

As a general rule, if you’re having trouble finding (extra) options, hit the Menu button. It should show you a few more options.

The G1's outer box
The G1’s outer box

The G1's inner box
The G1’s inner box

The G1 inside the box
The G1 inside the box

The G1's accessories and manuals
The G1’s accessories and manuals. The accessories you get are a carrying case, battery, headphones, USB cable, and charger. Oh, and you get a SIM card too (if you ordered through T-Mobile’s website)

The G1 inside the box
The G1 inside the box

The T-Mobile Android G1
The T-Mobile Android G1

G1 side view
G1 side view

G1 keyboard flipped out
G1 keyboard flipped out

G1 home screen
G1 keyboard flipped out

G1 menu
G1 menu

G1 dialer
G1 dialer

G1 displaying Google Maps
G1 displaying Google Maps

G1 displaying Google Maps (side view)
G1 displaying Google Maps (side view)

G1 displaying Google Maps Satellite View (side view)
G1 displaying Google Maps Phoenix Satellite View (side view)

G1 displaying Google Maps Street View
G1 displaying Google Maps Street View

G1 vivin.net
G1 displaying vivin.net

The G1 in its case
The G1 in its case

All original content on these pages is fingerprinted and certified by Digiprove
%d bloggers like this: