Sunday, January 27, 2008

my company drops this week

this week, we are announcing our company to the world at the DEMO conference. after a year and a half of work, we're finally going to tell people what is going on. check out all the companies on the list and see if there are any that you like ;).

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.

Tuesday, January 8, 2008

what are commercials?

i haven't watched live TV in about 2 years. sure, maybe the odd show here and there. don't get me wrong, i watch a shitload of TV. since the writer's strike, i've been led to check out other shows. for better or worst, i've watched all of chuck, and then now gossip girl. i started watching gossip girl after i found out kristen bell was the narrator, but digress.

for a very long time, i've been looking for a way to get the video on my computer, onto my tv. up until about a year ago, this area has been quite empty. recently, a whole slew of consumer solutions. these solutions are ok except that there is a lot of restrictions. these usually come in the form of codecs they support and their requirement for windows media center. i just want a GUI i can navigate files mounted over samba with. using a computer is ok, but there doesn't seem to be good GUI navigators for computers. i've tried things like linuxMCE, MythTV, and just X11 with mplayer, but they were all lacking. either you need a keyboard and mouse to operate it or its meant as a DVR. i tried MythTV because that's what all the cool kids are using. one thing i found out is that if you just want it to play videos, then it is totally slow as fuck. the menu is clunky and if the files change on disk, it is not reflected in the UI.

i'll spare you the details of the shortcomings in the plethora of solutions i've tried. instead, i'll just outline the only two viable solutions i've come across. the first is not for mere muggles. i am referring to the neuros osd. they have a $200 open source hardware solution. the basic functionality is nothing to write home about. it records video digitally from any input source you have, be it a DVD player, a DVR, or a regular ol' TV. the good thing is, you can code for it! you can write anything you want. i actually think there is already a way to samba mount your movies and play it. if you want, you can write a hellanzb server to automatically download all your TV. this, of course, is a double edged sword since you actually have to write the code or wait for someone else to do it for you.

the second, more expensive, but sexier option is your beloved mac mini. its a full computer, so you have the best software in the world at your disposal. it is a bit pricier though. the thing that makes it viable as a media center is front row and that nifty little remote control. you will probably want to google for a quicktime codec pack that will let you play anything you download.

guess what i just bought.

one battle at a time...now all i need is a better screen.

he lives

its been a long time since my last post. i had promised myself this wouldn't happen, that i would keep up with a blog. its not that i don't have topics i want to write about, but rather the lack of time. for the past year, i have been doing a startup in the bay area. i know, cliche right? during the last year, i haven't been getting out much, mostly work on the company. the good thing is, i've learned a lot, about both software engineering and business. i wouldn't actually say i've learned about business, but more like finding out what consumers want and giving it to them.

there is a lot of good literature out there about the technical aspects of a startup. in essence, it all reduces to getting a small group of alpha coders collaboratively working on a piece software. i don't know if this is typical of many other startups, but none of our problems were technical. we never had a technical problem we didn't know how to solve. as someone told me this past year, "ideas are free, its all in the execution." all the problems were like when to launch, which features to add, how to manage prima donna coders, and where to get moneys.

the good news is that we're launching this thing soon at some.. conference; showing it to the world and whatnot.

stay tuned... more to come.