Sunday, January 13, 2008

what a geek really needs

with all the buzz surrounding CES and the up coming macworld it is evidently that with each passing year, there are more choices for consumers w.r.t. the electronics they can buy. as a hacker, our needs may be a bit more different. ultimately each person's needs are different, but since i have spent a lot (sad i know) time thinking about this, i'll share it with the rest of you.

first, i define what i need to do. as a software developer who is a part time hacker, i find myself having two different sets needs. writing software is best done with a lot of screen real estate. a lot of people have given me shit about this, telling me that all they need is a 80x25 screen. while those people may only need this space to program, i really think that having more space on your desktop can only increase your productivity. throughout my 10 years of programming experience, i have done many types of coding from low level kernel development to very visual website stuff. it is true that different kinds of software have different requirements, but on the whole, having more screen space does not hurt. for me, i need a large screen for development. next thing i do is system administration. mostly this entails ssh and a web interface which does not require a large amount of desktop real estate. it is more important to have mobility. this means a laptop that is not a brick and either a wifi connection or 3G connection. a lot of the systems i administer are setup to send me alerts when something is failing or "weird stuff" is happening. usually it is in the form of email, but i have in the past configured SMSes to be sent to me.

lately, i've started biking to work. well, more preciously, biking to the train station, taking the train, then from the train station to work. this gives me about an hour and a half each day to do whatever. i've been reading on the train which is not half bad, but i would like the option to do other things such as respond to my email, manage my bugs, and any other kindergarten stuff i need to do. the time is too little for coding, but maybe simple bug fixes will be ok.

lastly, i spend some of my time doing security stuff. i usually do these things in or to VMs. i'll also write tools in C or python or perl which i can do locally and then test against VMs. on occasion i'll crack WEP passwords and do some sniffing.

anyway, onto the main point of this thing.

ideally, i would have a laptop that i can run VMs on, and be portable enough so i can actually carry it without working out. i take this laptop to work everyday and when i get there, i plug it into a large display (whatever your work can afford for you) for coding. while i'm on the train, it doesn't really work to take my laptop out for the 20-30mins to check email and read my rss feeds. i need something more portable. the iPhone or another smart phone will most likely do the trick here. a lot of people are addicted to their blackberry phones or their treos for a lot of business stuff. the problem i have with those devices and the iPhone is that the data connection is really slow and there are very few third party applications. the barrier for writing mobile applications is pretty high (especially with S60) and its hard to leverage existing libraries available in the desktop world. there are a lot of UMPCs out there, but few have come equip with a cellular internet service such as hsdpa or wimax. if you've been paying attention to the ether lately, you will know that wimax is positioned to hit it big in 2008. for me, UMPCs running windows doesn't cut it. in addition, a lot of these UMPCs have a qwerty keyboard which is totally too small for me, even though my fingers are shorter than a regular human's.

next to the entertainment. any self respectable geek will have some sort of entertainment system. personally, i have a usenet account and use hellanzb for downloading things. what i don't find on newzbin i get via bittorrent. the trouble is then getting that stuff to play on your tv. i've invesigated many solutions including the apple tv, hacked xbox, and xbox 360. with apple tv and the xbox 360, you get hd video quality but they don't support many codecs. imo, the xbox running media center is the best thing i've found. it has a lot of support, mostly because of the open source nature of it. i mean, it plays rar archives! how cool is that? the only problem is, the video quality is not that great and it doesn't suppose HD content. i think there are hacks to make the apple tv and xbox 360 support more codecs, but i haven't tried any of them yet. there are also "media extender" solutions from companies such as HP, linksys, and .. whatever else. i've talked about this stuff in my last post. using something like a mac mini will be good because you can also run some servers on your there. services that you need like hellanzb and whatnot.

i have the iPhone and it works great as a map and email checker. if i try to browse web pages or read my RSS feeds, it gets to be a little slow. that's about all i can do with it. i tried to do some ssh and other stuff on it, but since its unsupported software and really slow, it didn't really do it for me. this is why i will be getting my Nokia N810 tomorrow. too bad it doesn't have a 3G or wimax. soon i'm sure. for now i'll have to settle on using my phone as a bluetooth modem. what i would like is to have the N810 have some sort of always on internet so i can replace my cellphone with skype or something like that. right now, i'll have to carry a cellphone with hsdpa and bluetooth to get internet connectivity for my N810. and oh yeah, for making and receiving calls.

some people prefer to have a desktop. one for home and one for work. this is a fine solution, but keep in mind that you won't be able to code at a coffee shop, or bring your laptop to some hackathon. you may never need to do something like this, but i do, and its something i need to think about. alternatively, you may do more hacking and less coding than i do and prefer to have a 13.3" or even 12" laptop running linux or bsd. finally, you may not want a UMPC, but an awesome phone instead.

i think i've identified three areas of computing need for people like us. one is a medium for mobile contact. kinda like the beeper of the 2000's. no longer do we get a message that says "someone called, it could be anything". now you have a plethora of different messages in different contexts all waiting to get your attention. a good phone will do this, but if you want more features such as GPS or ssh, then you're better off with a UMPC or a really good phone.
next is a laptop to hack on. this pretty much has to be a laptop unless you do all your security research in a whitecoat lab environment. i'm sure most of us would like to go out and play in the wild at some point. finally, a development machine with a huge ass screen. dont pretend like you dont need it, because you do.

that's all. i'm sick of hearing myself think.

blog comments powered by Disqus