Optimize your life #1 – Work on your passions

I figured that it might be interesting to clue people in on the little things I do to try and improve my life.  I find myself constantly picking up on little things that other people don’t do and I’m sure I can help a few people by posting what I’ve learned so far.  So let’s get started.

As you may have gathered from the title of the article, this particular post says something that’s been repeated a thousand times before by other people about work…but it bears repeating.

A very common approach to any problem is called the 80/20 rule…which in this case, means that you can get about 80 percent of the impact with the first 20 percent of the effort.  In other words, if you want to start optimizing your life, work on optimizing the chunks that take the most time.

So let’s look at how we spend our lives.

There are 7 * 24 = 168 hours in a week.  Let’s assume the amount of sleep you get is non-negotiable. Some people have questioned this assumption successfully, (ref polyphasic sleep), which you may follow up on…but I will leave that discussion for later.

Assume 8 hours a day, 7 days of a week of sleep.  That totals out to 56 hours sleeping.

That leaves you with 112 hours where you’re actually awake.

40 hours working
10 hours eating
7 hours commuting
etc.

For most people, the next biggest chunk of time is spent working.  36% of the time we spend awake is spent working, and often more.  Work is an important and significant part of our lives.

So let’s talk about work.

We spend a lot of time working.  For something that takes such a significant portion of our lives, one would hope that we’re at least happy while working.

Are you happy at work?

There are a lot of people in this world who treat work as something separate from their personal lives.  They run eagerly out the door after putting in their requisite 8 hours per day.  Essentially, these people spend a third of their lives waiting to live the other two thirds of their lives.

My advice is not to live your life that way.  If you see glimmers of yourself in the above statements, you now have a chance to take a third of your life back, and I suggest you follow up on that opportunity.

Some people try to achieve work/life balance by saying “I’m only going to work 8 hours in a job I don’t care about all that much, and then I’m going to go home and spend time with my family or friends”.  Assigning a predetermined amount of time to work is a poor way of approaching the situation, and it’s even worse when you consider that the balance here is between meaningful/not meaningful.  That’s not balance, it’s imbalance.

I don’t believe that you cannot properly achieve work/life balance by separating work from your personal life, and yet that is exactly the approach that many people try to take.

So let’s adopt a new term here, since balance is a bad thing to call what this really is.  Instead of calling it work/life balance, let’s call it work/life maximization.

First of all, the trade off should be between meaningful and meaningful when it comes to the time spent in significant chunks of your life.  If this isn’t the case, then you must try very hard to move towards that goal, because the payoff will be tremendous.  Alter or change your vocation to make this happen if you have to.  It’s that important.

And second, if and when you enjoy both work and your personal life, realize that the point is not to “balance” the two or impose limits on each.  The equilibrium should instead arrive naturally, such that you feel a natural pressure to relax or switch when you need to.  Your goal should be to devote the appropriate amount of time to each part of your life such that the sum total of meaningfulness or enjoyment you derive is the highest possible.

I sketched out a little diagram here to convey the idea.

For example, let’s say you spent all 112 waking hours working.  You’d be all the way over to the left, and most likely you would be rather unhappy.

On the other hand, let’s say you spent all 112 waking hours watching TV or playing video games.  You might enjoy yourself short-term, but ultimately you’d probably feel like a bum and get bored of all that stuff rather quickly to boot.

My point here is that work and personal time are clearly intertwined.  Don’t strive to balance your time…strive instead to maximize the impact of your time. Somewhere in the middle, at the very peak of that happiness curve, is the point that’s right for you.

Try this exercise if you don’t know what your vocation should be.
1. How do you envision yourself 20 years from now? What would you want people to say about you?  Are you doing anything now to move towards that vision?
2. What do you do for fun?  How do you feel when you are doing those things?  Do you feel the same way when you are at work?
3. How much time do you spend doing things that are uninspiring or unmeaningful? Can you do anything to take that time back for yourself? Get creative if you have to.

All I’ve really done here is make a case that you should enjoy your work.  If you don’t enjoy your work, find some way to make it happen via some of the above advice…a shift in such a major area can and will produce a profound impact on your quality of life.  It’s really that simple.  No doubt this would be a big change for a lot of people. But often you have to make big changes to get big results.  You have to embrace these changes if you want to enjoy the resulting rewards.

Hope this helps.

Posted in Uncategorized | Tagged | Leave a comment

SXSW Interactive – a recap

Well, I’m finally back in Houston and managed to get a good night’s sleep today, so I suppose it’s time to review the past few days at SXSW in Austin.

First of all, I really enjoyed the conference.  Folks were very sociable, it was a nice mix of people from all walks of life, and although I wouldn’t say parties are my particular cup of tea, the ones that were happening every night weren’t bad either.  There were plenty of well known personalities at the convention, and you really were able go talk to any of them if you just got up off your duff after the panels were finished.  I got to chat with Doc Searls, the folks from upcoming.org and del.icio.us, a couple of Google folks, CNet guys, Chris Pirillo, a guy from archive.org, two of the founders of BlogHer, Evan Williams, etc.  Enough of that…what I’m really saying is that if you want to learn a little bit from experienced folks, you can do it.  If you’re smart, you can even help them in the process, which is often the sign of a really great networker.

The panels were hit or miss, as panels are wont to be. Nevertheless, when they were good, they were really good.

The most practically interesting panel, to me, was the Sink or Swim panel, which featured Joel from Joel on Software, Evan Williams from Odeo, and Joshua Schachter from del.icio.us. You got to hear exactly how these guys started their own businesses and hear what worked and what didn’t work.  Panels like this are useful because there’s a strong tendency among folks to seek out advice from their peers when it comes to asking what you should do next.  It’s a comfortable way to act, and it’s convenient too.  But to break through to the next level, you absolutely have to look outside your peer group.  If you’re only selling 1000 widgets now, don’t ask your friend who’s only selling 1000 widgets as well what to do.  Ask the guy selling 10,000 widgets.  Often, you’ll get counterintuitive, unexpected, and completely correct advice.

I think the most interesting panel that wasn’t so practical was the Bloggers in Love session.  I didn’t take a single note during the hour, but it was almost like watching a reality show to hear how these people met and how their relationships are working today.  You could sense some occasional awkwardness during the panel, which also made it slightly suspenseful. =)

I camped out at a friend’s house when we weren’t at the conference or a party.  They have two awesome dogs, a german shepherd and a collie mix, which made it hard to get any work done.  I raised a cocker spaniel when I was a kid, so I’m a real fan of dogs.  Anyway, you’ll be sitting there working, and one of the dogs will walk up to you and look at you.  What are you supposed to do, not pet it?

Blogging was, of course, a huge topic at the conference.  I think that in order to blog, one has to be slightly self-important, and you could certainly see that in a lot of panels.  (By the way, I do not claim myself to be an exception!)  One thing I found strange was how some folks were confused about what they should or should not say on their blogs.  I believe it to be somewhat odd that we can, as a community, put a new name on what essentially amounts to public writing and suddenly some people have no idea what is appropriate to say or do.

I believe that the “line” is not a new problem or even a particularly interesting one.  It is only new insofar as folks who could not publish themselves to an audience suddenly can now with very little effort.  The answer for those people does not lie with advice about how to blog; it lies with the person and their ability to assess for himself/herself all manner of social situations.

It was hard to get a full 8 hours of sleep with all the events, but somehow, that didn’t matter so much.

The wireless service was free, but pretty spotty.  Better than CES, which was nonexistent.  One funny thing…most of the folks from SnapStream were not able to VPN into the home office to check e-mail.  However, unlike the others, I had gone through the whole process of setting up OpenVPN.  And it worked perfectly.  I think I may need to deploy that across all the folks with laptops here…it certainly proved its worth at the conference.

OK, enough with the random thoughts.  In summary, SXSW Interactive gets a thumbs up from me.  I’ll definitely be coming back next year.

Posted in Uncategorized | Tagged , | Leave a comment

SXSW (South by Southwest) and "A Prairie Home Companion"

So I’m here at South by Southwest for the SXSW Interactive portion of the festival, with a splash of the film festival on the side.  So far, this conference is a lot more fun than some of the past conferences I’ve been to.  I believe in part this is due to the better mix of folks from all walks of life…techie, writer, engineer, entrepreneur, etc.  Conferences like WinHEC and IDF tend to be mostly about technical engagement, and even though there are a lot of presentations at those conferences too, it’s basically impossible to engage at a deep technical level in a presentation…all you can really hope for is to get your eyes opened if you didn’t know about the subject matter before hand.  There is, at least, a broader range of subject matter here to check out and absorb.

I came in early to catch the opening day of the film festival, and as a result managed to see the premiere of “A Prairie Home Companion“, which is a Robert Altman film.  John C. Reilly attended the premiere, which was pretty damn cool…although I have to admit that the face rang a bell, but the name did not.  I know him now after looking through IMDB!

Being a Robert Altman film, this movie has a star studded cast, including Meryl Streep, Lily Tomlin, Lindsay Lohan, Virginia Madsen, Woody Harrelson, the aforementioned Mr. Reilly, Kevin Kline, and Tommy Lee Jones.  Lindsay Lohan acted pretty well in this film and even sang too, although stuff like this meant I kept trying to see if there was something wrong with her nose.  Ha!

Garrison Keillor, who wrote the script, is one ugly son of a bitch, but he sure has a great voice and apparently, a good talent for writing too.

Overall, I’d characterize the movie as this.  Lots of singing.  A lot of character interaction with no actual plot advancement…people talk about random nothings and it feels like nothing but ends up being somewhat interesting because the script is written well.  Sort of like an M. Night Shmayalan film in that respect.  Some oddball high concept stuff happens that drives what little there is of the plot forward…however, I’m not faulting the movie for the lack of a plot.  That’s simply how it was written.  Best part of the movie?  The “Bad Jokes” song.

I don’t know if I’d go out of my way to see it again, but I think if you read the above and it sounds appealing, go get a ticket.  The “Bad Jokes” song might be worth it alone…there are some zingers in there you can keep around for posterity’s sake.

More on the SXSW Interactive portion to come.

Posted in Uncategorized | Tagged , | Leave a comment

Seth Godin at Google

Seth Godin posts that you can now watch his talk at Google (hosted, naturally, by Google Video).  He’s a well known author and marketing luminary who talks here about the various challenges that Google faces and some of his own thoughts on what’s important when it comes to marketing.

If you get through the whole thing, note how he mentions that there’s a certain amount of ennui forming around Google’s efforts.  It was interesting to hear him mention it in this talk right after I mentioned the same thing recently.

Some other funny bits…one Google Maps developer talks about how his sister came to visit and used Mapquest right in front of him.  “It was like a dagger through my heart.”  When asked what the problem is, Seth posits that it’s a combination of not solving a real problem plus doing something not clearly defensible.  He actually mentions the possibility of just saying “it’s not worth fighting this one”.

I’d argue that the AJAX approach in Google Maps did actually solve a real problem.  It’s a huge pain in the ass to navigate slowly reloading pages in your browser.  If people knew more about it, people would use it.  Then again, this does point to the fact that Google Maps being “behind” in terms of traffic is probably a marketing problem.

I think a huge opportunity in Google Maps, marketing wise, comes with integration.  I want to, for example, be able to go to my personal page, click on a friend, and then click to be shown directions to their place.  Maybe they could make it easy to insert directions to your house in gmail, or embed their map in my site similar to those flash embedded players for video popping up everywhere.  Integration is one of the toughest pieces to solve and is something that IS defensible when done correctly.

But anyway, I like Seth Godin a lot.  Go watch, he’s a talented speaker.

Posted in Uncategorized | Tagged | Leave a comment

Being able to write code is great, or "What’s the point?"

Seeing as how people use their computers to accomplish so many different tasks, it’s sometimes really frustrating when things don’t work quite how you want them to work.  Most people have to sit by and search the Internet vainly for something that matches their world view.  Others, like myself, can write code to make things work correctly.

For example, just recently I found this program called qliner hotkeys.  It’s a great program that essentially puts an intuitive GUI over your customizable Windows hotkeys.  So now I have hotkeys for Visual Studio, Outlook, IM, Firefox, Command Prompt, etc.  Frankly, I should have had all those things before, but this program made me sit up and pay attention because it makes the process of setting up the keys fun and it looks good while doing it.

The problem with these hotkeys is that their concept of how the world works doesn’t match my concept of how it should work.  If I bring up, say, Outlook, with a hotkey, that’s great.  But then what if I hit the hotkey again?  I think it should pop Outlook down and out of my way.  But that’s not what it does, it just pops up Outlook again.

Well, finally I just decided to fix the problem myself.  I pointed the hotkey at a program which I took a few minutes to write which launches the program if it’s not running, restores it if it is running and minimized or hiding, and hides it if it’s visible.  I call it OutlookBounce.  Then I wrote similar apps for the other applications I wanted to bounce.  Voila…a bunch of apps I can now toggle up and down on my desktop with their assigned hotkey.

I don’t claim this to be a difficult task at all.  But most people can’t do what I just did.  It’s somewhat liberating to know that I have a very fundamental level of control over such an important and versatile tool.

Of course, there’s now another level to this, which is that part of the frustration I encounter now is that I can pretty much write anything given enough time. And there are about a zillion things I could improve or create, but certainly not a zillion hours. So I have to pick small, defined areas to work in.

Just as an example…I’ve been alternately excited and annoyed by the various IM/Voice Chat programs out there.  All my contacts are on Windows Messenger/MSN Messenger.  But that program’s ability to work around firewalls stinks.  So voice chat doesn’t work well, and file transfers don’t either.  Plus MSN Messenger’s UI sucks big time.

On the other hand, Skype and Google Talk do voice chat extremely well.  But they have separate contact lists.  And Google Talk doesn’t have PC to Phone calling (yet) or some basic IM functionality like file transfers.  What to do, what to do?

For example, I’m pretty sure I could merge libjingle with MSN Messenger via MSN’s API’s, no problem.  I know networking. I know protocols.  I know voice codecs and I know forward error correction.  But what would be the point? I’d have to make all of my contacts install this, which wouldn’t happen.

I could try setting up my own Jabber server and make sure federating Google Talk with MSN works personally.  But then I’d have to worry about maintaining this full time through protocol changes, version upgrades, and other weirdness.

There’s no clear answer here.  The best solution would be Google Talk to interoperate seamlessly for MSN Messenger or for MSN Messenger to debloat their IM client and make their voice chat actually work.  I have no doubt that I could write a better IM client than any of these options, given some time, but what would be the point with all these folks in different camps?

I suspect that question “What’s the point?” might not go over well in
an interview, but when it comes to deciding where you focus yourself,
it matters a lot.  You are going to have to say “What’s the point?” to
a lot of things, just so you can figure out what those few things are
that have a point.

So a lot of times, you have to pick and choose your battles.  You can’t make everything better, even though you’re capable of solving the problem, given enough time.  You settle for good enough in some areas while you set your mind to the task you’ve really chosen to accomplish.

In essence, I suppose that’s the genesis of a product like Beyond TV. I can create a lot of things…I’m fully aware of that. But you can’t spread yourself too thin. Beyond TV is the product where I chose to focus myself to make a real difference.  That’s the point.

Posted in Uncategorized | Leave a comment

20% time…at Google, and SnapStream

20% time…it’s one of those mythically interesting things that Google does.  Basically, you get 20% of your time to work on any other project.  Keep in mind it has to be something potentially useful…it can’t be “Doing my laundry”.  Besides, Google has people to do that for you anyway.

Keep in mind, Google didn’t invent this idea.  3M has had “15% time” for a while now.  Of course, I can’t think of something big that came out of 3M since the Post-It note story we all know by now.

My next big idea? Get ready for it…

“25% time.”

OK, seriously.  20% time makes sense since there’s 5 days in a standard work week.  We spent a lot of time here at SnapStream figuring out whether we wanted to do the whole 20% time thing as well.

Pros:
– Explicitly assigns time for people to explore outside their assigned tasks and develop breadth.  Not only does this force people to develop themselves, it also says as an organization that we’re keeping our eyes open for new opportunities.
– Allows people to fix or work on things they personally feel very strongly about…essentially, saying no back to the priorities handed down to them.  Hopefully that builds morale and engages them.

Cons:
– People might fritter away their time instead of focusing.
– Theoretically, you have 20% less focus on whatever you’re trying to accomplish.  Is the long term benefit worth the short term less of time?

Ultimately we decided to do it.  And although it’s only been about three weeks, I’m pretty pleased at what folks are starting to work on.  We’ve got folks exploring really cool ideas that we’ve always wanted to do, but that I personally just haven’t been able to focus on myself.  And I find it exciting that other people around here care enough to go after these ideas.  I think it says a lot of good things about our developers.

So, I’ll revisit this at some future date.  But so far, so good.

Of course, then there’s this questionable anecdote about Larry Page going  a little overboard on 20% time.  I’m sure Google is suffering from a bit of what I call the “Martha Stewart phenomenon”…which is basically that people get bored of hearing about success and greatness and start looking to take potshots and drag people down.  But hell, this story might be true.  Frankly, I’d look for something like this every once in a while…as long as the guy isn’t a lunatic.  You know why?  Someone truly passionate is going to be a little abrasive or shake some trees every once in a while.  They’re going to be controversial.  The people who never shake the tree and never fuss…be worried about filling an organization with those people.

Posted in Uncategorized | Tagged , | Leave a comment

Mark Cuban, The Donald, a rubber glove, and one million dollars

In a fit of what must be either divine inspiration or complete lunacy, Mark Cuban has offered to donate a million dollars to charity if Donald Trump will put a rubber glove over his head and blow it up with his nose until it explodes.  This would be, of course, on his next scheduled appearance on Let’s Make a Deal…aka national television.

I’m sure there are a lot of people who would be up for doing something like this, but it’s only the Donald that gets the opportunity.  It’s odd how being rich and famous works…money just flies around you even if you aren’t necessarily doing anything to earn it.  Take Paris Hilton, for instance.  She’s rich and famous for being…rich and famous.

Someone just make sure to remind the Donald not to bring the glove down over his mouth too, or else he’ll suffocate and die.  That might be amusing for some of us, but the charity won’t be pleased.

Last but not least, could this be an evil plot by Mark to tear off the Donald’s toupee on national TV?  Can artificial hair withstand the rigors of a rubber glove descending over the head and then exploding under air pressure?  Inquiring minds want to know.

Posted in Uncategorized | Tagged | Leave a comment

Touchpads vs trackballs vs trackpoints vs mice

My very first laptop was an IBM Thinkpad 500.  I won’t go into the specs except to say it was OLD.  One spec I will mention is that it had a Trackpoint.  You know, one of those eraserhead things that barely stick out of the middle of the keyboard.  At the time, I thought it was pretty cool.  Never really got much use out of the laptop, though.

My next laptop, and one I DID get a lot of use out of, was my Sony 505F. It had a touchpad.  Upon purchasing the 505F, I quickly realized that I much preferred the touchpad to the trackpoint. And as far as pointing devices in notebooks go, that was the end of that.  Trackpoint only laptops now get a big minus from me whenever I go laptop hunting.

This problem/preference came to light recently when I was shopping for a convertible notebook last month.  The trackpoint only designs of the IBM ThinkPad X41 and the Acer Travelmate C204 almost instantly knocked them out of the running for me.  Which is a real shame, because in most other respects those tablets were very desirable.  Being a real fan of ultralight computers, I see trackpoints more often because one of the benefits of a trackpoint is the minimal amount of space it consumes.

I notice some people say that they much prefer the trackpoint to the touchpad, which to me, is very odd.  Having tried both, I can’t fathom it any more than I suppose they can fathom my preference for the touchpad.

It occurs to me that what we need, in order to settle this, are some simple repeatable metrics for measuring our respective accuracy with our pointing devices. Since our tendency as human beings is to prefer our own choice to prevent a phenomenon known as cognitive dissonance, a short test like this would serve to easily and objectively measure just how much better you are with a trackpoint than a touchpad.  Or conversely, how much productivity you lose switching from mouse to touchpad.  And then you’d know for sure which pointing device you really are best with.  Such a test would also be useful for determining if different models of mice claiming incredible sampling rates or resolution are actually helping the user or hurting them due to factors besides just samping rate.

Well, lest I claim an original thought here, I’m not the only one to think of this.  Check out this paper, for instance.  Or Google for “Fitt’s law” and throw in some pointing device terms like “touchpad” and “trackpoint” while you’re at it.  You’ll have enough reading material to occupy you for the weekend.  Lots and lots of data has been collected on the issue.

Suffice it to say that different devices are good at different things, but the mouse is a strong performer all around, which is why it’s still a favorite when it comes to user input.

I’m still looking for whether the trackpoint is better than the touchpad.  It seems everyone is too afraid to make a statement or else it’s just buried in the mounds of information out there.  In the mean time, try taking this web based Fitt’s Law study.  I’m sure this will turn up some nice data and maybe tell me what device I should be using once and for all.

Posted in Uncategorized | Tagged , | Leave a comment

On VPN’s and routing troubles

VPN’s, or Virtual Private Networks, are a bit of a tricky beast.  VPN’s allow remote clients or sites to join with your internal network as if they are right there in the building.  Hence the “Virtual” part of the term.  You can get complete connectivity and access to all the internal server resources you would normally have access to, albeit at a speed limited by your network connection.  Still, it’s very effective.  Being able to “VPN” into your network is essential for getting work done away from the office.  And having a VPN server is essentially second nature for business nowadays…it’s a logical, broad, and secure line of defense against outside intrusions.

The problem with VPN’s is that there are apparently all sorts of different ways to set one up.

Microsoft implements PPTP (probably the most common) and L2TP VPN’s.  These are very popular because you can do it all with just Windows workstations and servers.
There are a bunch of hardware VPN concentrators, which can do different flavors of VPN, many forms of which are often proprietary. Cisco is pretty well known for these.  I’ve never had a desire to set one of these up until recently, nor do I understand the appeal in general, but I’m sure they exist for a reason.
And then there are some different alternatives, like Hamachi and OpenVPN.

VPN’s sound pretty simple in theory.  Just point me at a VPN server and let me on the network…right?

In fact, it’s not really that easy.  One trouble I’ve faced for a long time is the fact that routing VPN traffic through a firewall or NAT is nowhere near as transparent as it should be.

For example, my router at home can only have one Microsoft style VPN connection going through it at a time…which, obviously, is lame.  If my computer at home is VPN’d out, I can’t VPN in.  If someone was at my house with a laptop and wanted to VPN somewhere else…they couldn’t if I was VPN’d into work.

Another example of a problem is the internet service I get through my cellular plan.  I use the $20 unlimited MediaNet plan from Cingular.  The router behind which the phone’s internet connection sits is basically a NAT that won’t or can’t pass PPTP or L2TP VPN traffic.  So if I try to connect with my laptop through my phone to the internet, I can do a lot of stuff pretty slowly…but connecting via VPN into the office is flat out not possible.

Both of these problems appear to be mostly due to the fact that someone, in their infinite wisdom, chose some completely different internet protocol for establishing VPN connections than good old UDP or TCP.  Something called IP Protocol 47, or GRE, is used to negotiate the connections.  For the life of me, I cannot figure out why this was necessary, but the upshot is that numerous routers and other networking equipment have a horrible time routing this type of VPN traffic successfully.  In fact, I’d like to lock whoever made the decision to use anything besides UDP and TCP in a room with nothing but Celine Dion records playing 24/7.

So here’s where I was at.  I’m well aware that the odd protocol used in MS VPN solutions causes issues and, especially, prevents me from establishing a VPN to my home or office in particular cases.  We’re not planning to buy a hardware VPN solution to solve this…we’re a small company and in most cases, VPN does work.  It’s just that, me being me, I like a complete solution to my problems, and the inability to VPN into work via my wireless WAN service bugs the crap out of me.

I checked out Hamachi briefly.  Didn’t seem like something particularly oriented towards serious use…running as a service appeared to be a bit of a hack job, and the options appear to be very limited…documentation is all in the form of forum posts. Hamachi seemed to be an application focused on working, but not necessarily working specifically how you needed it to work.  In the end, I had to take a pass..

Luckily, next I stumbled across OpenVPN, which is, as you might have guessed from the name, an open source application for VPN servers and clients.  I would never have bothered with something like this if it weren’t for all these silly VPN troubles I’ve had in the past and continue to have.  But I have them, and I would like them solved.

After scanning through the OpenVPN website, I took special notice of the fact that OpenVPN supposedly runs completely over UDP or TCP.  Ah yes, this showed promise…if such information was true, it would be free of the painful and yet avoidable troubles that plague standard MS VPN solutions.  But I also noted that the extensive documentation on the site was both a blessing and a curse…everything was probably going to be tweakable, but getting it running correctly looked like it was going to be very tough.

Nevertheless, the capabilities were more important to me than the ease of setting it up in this case.  I downloaded and started poring over the docs.

As expected, OpenVPN is rather painful to set up.  I had to use what is known as a bridging configuration, which I only figured out after blundering through the routing configuration and hitting a dead end.  And I spent a lot of time reading and re-reading all the different how-to’s and guides to absorb what I needed to know.   Most of the configuration of OpenVPN takes place via creating text files and following text prompts from command line tools.  Figuring out what options you must configure, generating all kinds of certificates and keys, and figuring out what options you can omit are, as with most open source applications, completely unclear.

But here’s the important part…after much fudging, it works.  About a month ago, after experimenting all day, I got OpenVPN working over UDP on my home network over the standard UDP/1194 port.  I rather carefully documented the procedure and server/client .ovpn files so that I could repeat the same process at work.

Fast forward.  At work, I ran into several snags.  The first being that I actually needed a separate Windows 2003 box and there was no such box ready.  Windows 2000 doesn’t support bridging adapters, which I found to be necessary for letting the client appear on the server’s network.  So I had to wait for our admin to get that box up and running.

The second snag was that our router was returning some of the UDP packets from the intial VPN negotiation on different ports than expected…apparently due to the port translations necessary.  I couldn’t establish a connection this way.

My initial setup instructions weren’t working so well…it was clear at this point that this wasn’t going to be a straight adaptation of the setup I created at home.  Luckily, I managed to work past the new problems I encountered anyway.  By switching the clients and servers from UDP to TCP, I dodged around the UDP packet issues introduced by the router/gateway.  Since TCP, unlike UDP, establishes a connection, not having the router mess up port translations looked like a promising way to deal with whatever was happening in the UDP approach…and as it turned out, it most definitely was.  And in addition, the occasional timeout during key negotations I managed to deal with by raising the timeout to 120 seconds…apparently over a slow link this timeout really is an issue and it can stop you from ever completing a connection unless you pay attention.

Anyway, it took a while to put it all together, but the scary part is that it works, and without any of the unholy and completely unsolvable routing issues normally associated with VPN.  I can have multi
ple VPN connections inbound and outbound through my router. And I can now VPN into my home or work through my cell phone’s internet plan.

So my short verdict on OpenVPN…complicated, but totally worth it if you’re hitting brick walls like I was.  It’s now doing exactly what I needed it to do…making VPN connections and making the intervening junk on the network invisible instead of an obstacle.  If you need to set up a VPN, I highly recommend trying OpenVPN.  Once configured, it’s actually more capable of doing what it says it does than most regular VPN solutions…and at no cost except for your time and whatever box you put the server on.

Posted in Uncategorized | Tagged , | Leave a comment

Roomba – 1, Dirt – 0

In my previous post on unwiring the house, I mentioned that one of the primary motivations came about because I wanted to give the Roomba clear berth to do its job.  I promised to write more about the Roomba, so here it comes.

I’m all about cutting the drudgery and complexity out of my life, so owning a Roomba is in perfect keeping with that philosophy.  I’ve wanted one of these suckers for a while.  After all, unlike Monica from Friends, I think it’s safe to say most people don’t value the time they have to spend vacuuming.  Or rather, it’s often more an issue of just how little time you spend vacuuming at all.  If there’s something I want to be remembered for, vacuuming isn’t it.  Have I said enough about vacuuming yet? Alright, good.

So the concept of some sort of inanimate object that vacuums for you is incredibly appealing.  The Roomba is a little rotund robot that zips and zooms around your house, vacuuming for you while you recline in a gold encrusted lounge chair and gnosh on peeled grapes and exotic cheeses and crackers.  Or at least, that’s what one hopes for.

Overall, I’d have to say the Roomba is a clear win…especially at the prices you can now get one for.  I actually had an item in my someday/maybe list to buy a Roomba, so when someone at the office mentioned that you could get one of the higher end models refurbished for just 135 bucks, I jumped on it without a second thought.  Well, yes, I stopped briefly by the Roomba Review to double check on what I was getting.  But in the end I bought a refurbished Roomba Discovery from Amazon.com for 135 dollars.

Incidentally, I seem to find myself buying more things from Amazon due to the whole Amazon Prime free 2 day shipping thing, which I’m riding on from someone else’s invite.  I guess that’s working out for Amazon.

Overview

Back to the Roomba.  It arrived in the expected time…2 working days  It supposedly had a high capacity battery installed and it came with two virtual wall units, a base station, two filters, and some other goodies like a remote which I’ll never use.  I think it was supposed to come with three filters, but whatever, right?

All of the newer Roomba models are essentially the same.  The
difference is the accessories.

The Discovery model has the very
important charging station which the Roomba can automatically return to
after a cleaning run.

The virtual wall units are also a nice extra ,and are basically directional infrared emitters that you place on the ground.  The Roomba will “bounce” off the infrared wall like a real wall.  As you might expect, the wall that gets created has some spread due to distance, so if you really want to pay attention, you have to do this thing where you angle the emitter slightly to compensate for the spread and straighten out the wall.  However, in most cases you probably won’t need to worry about that.

The remote lets you drive the Roomba around like a glorified remote control car with a vacuum.  I don’t find this useful at all.

Anyway, here’s the dope.  After running the Roomba for a bit, my general impression is that I really like it.

You have to make some allowances for the thing…it’s not small enough to fit through tight areas, and it obviously can’t clean areas where you’ve piled your junk, so you’ll probably want to reorganize rooms a bit to accommodate.  Still, it’s nothing you wouldn’t need to do with a big vacuum.  In some ways, this is useful because you probably have a ton of crap lying around that you ought to have thrown away months ago and haven’t.  Having a Roomba around kind of forces you to keep that part of your life under control.  Is that good or bad?  Well, I’ll leave that opinion up to you.  I personally think it’s good.

So after cleaning up a room for the Roomba, which seems oddly ironic, you turn the Roomba on.  While watching it, you realize that the Roomba is not a terribly smart device.  I’m sure I could code something up smarter on a PC, but then again, the Roomba ain’t running Windows, so I guess that’s pretty impressive.

The way it works is that the Roomba has a front loaded hydraulic bumper of some sort, and what it does is it generally whirrs forward until the bumper hits something.  At that point, it obviously knows something is in front of it, and then it backs off, or edges around the object, or whatever.  Because the bumper gives very quickly when it contacts something, there’s really almost nothing to worry about in terms of scratching walls…the bumping seems to be very easy on objects.  Just don’t leave any champagne glasses on the ground, OK?

What the Roomba doesn’t have is any sort of “seeing eye” that just lets it take the whole room in like a normal person could.  It is one’s natural inclination, I think, to assume a cleaning robot would be built this way, but I think the makers knew it wasn’t completely necessary.  The AI basically consists of blindly bumping off stuff in different ways.  One way is the wall hugging way, which causes the Roomba to edge along the wall cleaning.  Another mode is some sort of random bouncing mode, which seems intended to just get the Roomba to cover wide areas.  And yet another mode is the stuck in a small space mode, where the Roomba makes small, tentative rotations and advances to work its way out of a tight area.

Presumably, the Roomba might have been able to incorporate mapping of rooms.  But it does not do this, as far as I can tell.  Bumping uglies with the walls and the furniture is the rule.

Of course, because it’s a robot, it can afford to be dumb and repetitive…it’s going to vacuum a whole lot more than you ever would and it can afford to do the same areas a few times as a result.  Such is the beauty of these approaches…brute force works pretty well, thank you.

The Roomba has sensors to detect dropoffs, so it won’t fall down stairs.  This works, I tried it out.

The Roomba has some sort of swiffing spinning brush located on its front right hand corner which helps to kick out crap on edges and walls. It catches some stuff, so it’s a good idea for sure, but there’s probably plenty of room here for improvement…it certainly doesn’t attack edges or corners as hard as it needs to.  I think the Roomba actually needs some sort of air blasting nozzle to kick dirt out of the edges and corners…the brush simply doesn’t reach down into the carpet the way that it needs to.

The battery, in my estimation, probably lasts around 60 minutes.  I suspect the battery is worn down, as I seem to recall reading estimates of two hours.  Nevertheless, 60 minutes is plenty of vacuuming time.

There’s a scheduling accessory which you
can use to program the Roomba to head out at particular intervals.  I
didn’t buy that yet, but I might.

Where things go wrong

One trip up is a narrow passageway.  If your Roomba crosses through a door or some narrow area created by an arrangement of furniture, odds are naturally low that the Roomba will find its way back through that passageway on its own.  I think this is why it’s called a Roomba and not a Houseba.  It really does work best in a room.  Anyway, if you let the Roomba navigate through doors, it starts to become very difficult for that Roomba to just randomly bounce back within range of the charging station it left behind.

Rugs can be trouble for a Roomba…especially if they are thick.  The Roomba will bounce off them like walls, and therefore will often fail to clean the rugs at all.  I’m very utilitarian so I’d just get rid of the rugs, but your significant other may not agree with that approach.

Oriental rugs with the frills on the ends are like Roomba kryptonite.  The Roomba will get stuck vacuuming up the ends and has no way to recover.  One thing you would like the Roomba to do is stop vacuuming and try to move its way off the rug, but it seems like the Roomba can’t move without vacuuming.  So it gets stuck.

I’d have to imagine most pets will not like the Roomba.  I don’t know how dogs will react, but the cat that saw the Roomba when we tested it at a friend’s house was in fight or flight mode the entire time that the Roomba was running.  On the other hand, if you have a pet, you must be in dire need of a Roomba due to all the shedding of hair, so think about that for a bit.

Wires on the ground are also trouble.  It’s not hard to keep wires off the ground, but most likely you had no reason to worry about it before, so that’s where they are.  It takes a medium amount of effort to find off the ground spots and bundling strategies to stop the Roomba from sucking up wires in a similar fashion to the frills on a rug.

How I’d improve the Roomba

For starters, the Roomba needs to not get caught on rug frills.  If it would try turning off the vacuum or reversing it somehow when stuck like that, it could probably recover.  But you basically need to not have rugs that are too light or too thick with the Roomba around.  Thick rugs or other areas also give the Roomba problems…it needs more of a monster truck suspension to cross small boundaries presented by thick rugs or carpet to tile dividers.

I’d add a air blaster where the swiffer is.  The swiffing brush isn’t nearly as effective as it needs to be on edges and corners, especially since the dirt and junk tends to pile up down diagonally down into the carpet edge and the brush swings horizontally.  Blasting with air would shoot a lot of that dust and dirt out somewhere where it could be cleaned.

Mapping seems like a really obvious way to improve the Roomba.  Bouncing around is OK for a first shot, but moving past that needs to happen at some point.  The Roomba, as I said before, is really only best on a single room due to this problem.  Ignoring cost, I think this is the only way to turn the Roomba into a more viable whole floor cleaning machine, since narrow areas tend to trap the Roomba from crossing into other areas and returning to its home base becomes unreliable at that point.

Conclusion

And those are my notes.  Overall…wow, it’s worth it.  I normally can’t be bothered to vacuum, but pressing a button is A-OK with me.   The Roomba, once you get through the one-time prep of a room to make it “Roomba friendly”, vacuums a room thoroughly, to the point where I can pretty much ignore the other few percent it didn’t get.  It’s not totally hands-off and invisible, which is the ultimate goal…but it’s way better than life before, which essentially amounted to no vacuuming at all.  Until they produce a Roomba ready house with Roomba alcoves, automatic cleaning schedules, and some sort of integrated bin dumping system, I can settle for pressing the Clean button on the Roomba every so often.

Posted in Uncategorized | Tagged | Leave a comment