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 27, 2008
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.
Saturday, July 21, 2007
OpenSocialNetwork
i just have a quick idea that i want to put out there into the ether. if you dont know about OpenID, then you should really check it out. it is basically a decentralized authentication system. it lets you create an account somewhere once, and then it will let you log into anywhere else that supports OpenID. its getting some traction and hopefully it will really take off. i hate to have so many account on the internets. its just not efficient.
i want to extend this idea and create OpenSocialNetwork. this can actually be implemented as an extension of OpenID. i want to create my friends network in one place. there are all these social networking sites popping up and one problem is initially creating your social network. sites like facebook solve this problem by importing your email contacts list and searching their site for them. this is not a complete solution but illustrates the problem they are trying to solve. if your social network was a create-once-use-anywhere entity, it would make life much easier. social networking sites are here to stay, so let's try to make it a little less painful.
Tuesday, July 10, 2007
the age of disposable code
there seems to be a shift in coding mentality of late. before i go any further, i would like to say that i am not counting all software companies. they are making products and they are doing their own thing. i'm talking about people who code for life. back in the day, people thought about coding as an art, of creation, and all that other warm, fuzzy stuff. now, it seems that hackers write little pieces of shit nowadays. their thought process goes, "i need to do x", and then "how do i get it 'working' as fast as possible?". there is no fucking way anyone can use that piece of code again. they dont think about things that people used to such as structure, extensibility, and all this other shit. admittedly, there is something to be said for writing a tool really really fast. i just worry about what's going to happen in the future. it seems we can work together and build good hacking libraries that everyone can use.
to be fair, that sort of exists already, but usually in the form of specific programs. there are some great things going on such as metasploit of course, and security tools like cain and abel, ethereal, nmap, etc. i'm talking more about libraries that implement exploitation techniques. there are some stuff out there but they are small and scattered. this goes back to my observation that hackers dont write reusable code anymore. please tell me if i am wrong and there is a whole community i am not aware of. maybe there are not enough channels to collaborate. there's this whole competition thing about it and the borderline legality of developing exploits may make it hard.
please just realize that this shit is here to stay. we may as well do it for real. think about the future.
Monday, July 2, 2007
on the state of convergence
recently, i flew out of SFO domestic to go home to Boston. the last time i was at the airport was when i went to japan last april. the airport is a rare place where everyone so many different people converge at one place. there is inevitably waiting of at least 30-45mins. in this time, you can see what people do with themselves when they have nothing to do. more so than ever before, i have seen people from all different backgrounds juggling multiple electronic devices. this was not so just a year ago.
everyone of course had their cellphones, but it was interesting to see how people were using them. admittedly, i have no idea what were actually doing because i didnt try to stalk anyone. i did notice, however, that they were glued to their cellphone screens typing away. i am assuming that they are texting or chatting online. a smaller percentage of people were just blankly staring at their screens. i have no idea what they were doing. there was also the plethora of ipods and laptops being charged in the wall. it has always been like this (well, ever since the ipod came out anyway). the surprise was the number of devices per person. you would see people with 2 ipods, a cellphone, and a laptop all being charged at the same time. it was a nightmare trying to find and outlet. people were sharing outlets to charge up their devices. it was wonderful and alarming. there are rows of booths they have for paid internet access. they were all filled with people not using those computers, but rather using the seat and outlets for their own personal computers and devices. all these people were between the ages of 13 to 35 i'd guess. everyone older had their cup of coffee and book at the ready. then you of course have the businessmen with their nondescript cellphone and ibm/lenevo thinkpads yelling "sell!" and "buy!" into their phones.
i gathered two things from my time here at the airport today. the first is that battery life on devices suck. they really do. everyone knows this. it is a wonder how moorse's law has been true for most everyone electronic except for battery life. i am guessing though that there is not enough drive for it in the consumer market. its one of those things that people dont think they care about, but if they had it, then they'd realize how much they had needed it all along. my guess is that once mobile devices become more integrated into everyone's lives, then they will start crying about battery life.
lastly, it is abundantly clear that everyone wants mobile device convergence. it is no longer for geeks and pedophiles as they say. even your average soccer mom can benefit from a blackberry. companies are starting to realize this and high powered mobile phones such as the Nokia N95 and Apple iPhone are the first to answer the call. people want to check their emails, chat with friends, share media, and browse the web from their phone. not only do they want it, but they want it to be easy and they want it right fucking now. everyone who has reservations about people's need or desire for such a device is fucking retarded and should get out of the industry right now. there is no room for you in this world. go back to your fucking farm.
it is a disappointment in this age to not have that type of device. i dont know what people are doing. it baffles me. it is no longer just about software. it is a consumer product and everyone in the position to build such a product doesnt seem to have the resource for the design, hardware, and software excellence to produce. i hope things change soon, or the people are going to be pissed.