Monday, November 16, 2009

Computing as we will soon know it.

If you want to know what computing will look like in the near future all you need to do is watch this video from TED.  It showcases Sixth-Sense technology.
Once this technology matures I believe we will interact with it through a pair of contact lense and an extremely small hearing aid.  This device will allow us to get all sorts of meta data about our surroundings and probably completely replace all of our traditional ways of interacting with computers.
As we drive the road in front of us will literally light up in front of us, showing us how to get where we are going.  We will also always be aware of the speed limit and have access any other information about the roads.  For example, we may know that a deaf child lives up ahead, or there is a better way to our destination based on the traffic situation in the present city.
While walking a nature trail we can get information about any relevant historical information, such as perhaps a famous explorer walked it hundreds of years ago, or find out about the plants and animals we see.  We could see which plants are edible and which are poisonous.  If we catch a fish we could immediately know if it is of legal size to keep.
When meeting people we could look up their profile on the currently popular social networks through facial recognition.  We could then know that they are interested in certain topics you are also interested in and strike up a conversation.  Or you could meet someone at a bar and find out that they are a known sleaze bag, and then take them home.
The possibilities are endless, and the benefits can be enormous. 

Sunday, November 15, 2009

Scanning Problems in Ubuntu Karmic 9.10

I went to scan in some pictures today with my new Karmic install and ran into problems.  When I went to scan I would get "Failed to start scanner: Invalid argument"  Some Googling revealed that many people are experiencing broken scanning after upgrading to Karmic with various printers.  A little more searching revealed the solution.  I think that there is probably an even better solution, but this is how I got scanning to work.
First I installed libsane-extras:
sudo aptitude install libsane-extras
Next I edited saned.conf to enable the epson driver.
gksudo gedit /etc/init.d/sane.d/dll.conf
In this file I removed the # at the line that read #epson
To get the parameters for me scanner I ran:

$ sane-find-scanner

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a kernel SCSI driver for your SCSI adapter.

found USB scanner (vendor=0x04b8, product=0x0839) at libusb:001:003
found USB scanner (vendor=0x0bc7 [X10 Wireless Technology Inc], product=0x0004 [USB Receiver]) at libusb:007:002
  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.

  # You may want to run this program as root to find all devices. Once you
  # found the scanner devices, be sure to adjust access permissions as
  # necessary.

Here the line that read "found USB scanner (vendor=0x04b8, product=0x0839) at libusb:001:003" was the key.  These parameters needed to go in the epson drivers file.
gksudo gedit /etc/init.d/sane.d/epson.conf
I replaced the line that read "usb" to read "usb 0x4b8 0x0839"  Finally I just needed to restart the sane daemon.
sudo /etc/init.d/saned restart
After this scanning finally worked.

Thursday, November 12, 2009

Being A Parent Is Hard

Being a parent is hard.  The life of a parent is filled with meeting other people's needs, and neglecting many of his or her own.
Today's examples:
It seems I cannot go a morning where at least one of the girls doesn't have a major meltdown.  On the surface getting ready in the morning would appear to be a routinely trivial task.  The reality is that every morning is drama.  The hard thing for me to accept is that I have no control over this.
I try to make it as easy as I can.  I put Aurora and Athena in my bed, put on an episode of Pink Panther and completely dress the girls myself, and do their hair.  Pink Panther gives them a reason to open their eyes and stay awake as I dress them.  By the time I am done each girl is completely awake and dressed.  They have only two tasks to prepare for the day, brush their teeth and put on their shoes.
Without fail at least one girl will throw a major fit over at least one of  these tasks.  Usually more than one task involves a fit.  This morning it was Aurora and her shoes, and Athena had a slight problem with brushing her teeth.  Every morning Arianna has a big fit about us brushing her teeth.  Since I do everything else for all the girls, I make Arianna's teeth Kim's task.

On the way to drop Arianna off at daycare a lady did not break in time and had to pull to the right of me to prevent from rear-ending me.  By the time she came to a complete stop half of her SUV was beside my van, effectively putting her nose in Arianna's back had she not stopped.  Then when the traffic started back up she pulled forward real fast and cut in front of me.  This lady just about put my baby in serious physical danger, and then used it as an opportunity to cut me off.  It's times like this I have to use mental will-power to not let road rage get the best of me.

Aurora has tennis practice on Tuesdays and Thursdays from 5 - 6.  I don't get off work until 4:30, and practice is on the other side of town, so Kim takes her almost all the time.  Today Kim called me and asked if I would do it.  I agreed, and she said she'd meet me at day care to give me the tennis racket from her car.
Not paying attention to the fact that Aurora needs to be there at 5:00 I get a call from Kim at 4:50 as I'm shutting down my computer reminding me that I completely messed up tennis practice for the day.  Aurora really looks forward to tennis practice and has been pretty upset in the past when we've had to miss it.
I felt really bad and wanted to make it up.  I was going to take her to the park but when I looked outside I realized it's that time of year when it begins getting dark really early.  Instead I headed up to Publix and bought some ice cream.
It turned out Aurora was not as upset as usual, but she was happy to see that ice cream would be following dinner.

As soon as I placed the ice cream in the freezer I made dinner, with only a little bit of room in between serving everyone I had a quick chance to actually eat myself.
While I was eating Aurora had a major melt down because she's hates having to actually put work into doing homework (she is spoiled because pretty much everything tailored to someone her age is completely below her abiliites and is finished without effort.)  In stead of working hard she completely broke down yelling at people, being nasty to Kim, and slouching down kicking everything around her.
Next Judith called.  When Aurora spoke to her Judith told her that she should visit the Smithsonian Kids website, so we did that after dinner to help her calm down from homework.
Afterwards it was back to homework, which she finally finished and I knocked out the kitchen while Kim tended to the other two girls.  After the kitchen was done, and Arianna's lunch was packed, I read Arianna two books and put her to bed.  Kim, worn out and half asleep by this time read the other two girls their books while I took a shower.
Once out of the shower Kim was asleep with the two girls crawling all over her.  I then put them to bed, a process which takes about ten minutes as I talk to them and tuck them in.  Then Arianna declares she needs to go potty.
When it was all said and done I woke up at 6:45am, it is now 9:00pm and I finally have a moment to myself.

And such is my daily life.  Very little of my day was spent for me, and none of my day had any time for my wife.  It is no wonder so many parents do such a poor job.  It is so tempting to take shortcuts, like giving my children empty-calorie TV dinners, packing lunchables for lunch, yelling at them in stead of effectively working things out (actually there is more yelling going on at times than I'd like to admit), sitting them in front of a TV all afternoon, etc.

Monday, November 2, 2009

Battlestar Galactica

I just finished watching the entire season of the original Battlestar Galactica TV Show that aired in 1978.  The series started off rough with some sub-par acting and some frequent plot gaps.  The last five episodes where fairly solid and I was saddened when the final episode ended, knowing the show was canceled right as it was starting to peak in almost every aspect.
I would like to at some point watch the 1983 continuation.  It is not available online for free, though I may buy the entire season from Amazon as a download for $7 if I feel up to it.
I am now on to watching Start SG-1.

Friday, October 30, 2009

Why Chrome isn't a flop

There seems to be a good deal of belief that Google's Chrome browser is a flop and is likely to stay being a flop.  This afternoon I read Google Chrome: The Fast Browser With Slow Adoption on PCWorld.  The author goes through many reasons why Chrome is not in wide spread adoption, but ultimately misses the point of why Google developed Chrome.
Chrome is merely a means to an end.  Google's platform is the web.  The better the web platform is, the easier Google can make money.  Google doesn't care about web browsers or operating systems except for how they affect users getting online and using Google services.
Getting users online is their business model.  Any hindrance to this end is a hindrance to Google making money.
Web browsers have a lot of unrealized potential.  In fact, web browsers really don't do many of the things they should be doing.  This is why Google built Chrome.  They want to set the standard for which web browsers are judged, so they set out to build the best web browser there is.
There are key design features of Chrome that hint to Google's real intentions with Chrome.
First, Chrome is a child of a parent project named Chromium.  Chromium is an open source browser developed by Google.  Chromium can be modified by anyone and spun into their own browser.  Google spins Chromium into it's own Google branded browser named Chrome.  Anyone else could do the same, brand it with their logos and features and call it what they want.
Another key element of Chrome is its rendering engine.  In stead of writing a new rendering engine they plugged WebKit into their browser.  WebKit is an open source rendering engine, which is most notable for being used by Safari.  Chrome actively contributed to WebKit pushing forward new features of the latest web standards and optimizing it to be fast and flexible.  They then take these news improvements and push them into Chrome.  This way they are not only making Chrome a better browser that will push the web into the new age of online computing, but they are also pushing Safari, and every other browser or product that uses WebKit to display web pages, with them.  Despite a stable version of Chrome being available for the Mac, every Mac user benefits from Google's development of Chrome, which in turn helps push forward Google's business agenda.
Another key element to Google's release of Chromium is how it snaps into two other major projects of Google, namely Android and Chrome OS.  These are two Linux-based operating systems that Google is producing.
Android is currently available to T-Mobile customers and will soon be available to Verizon customers as well.  In the future more mobile carriers are set to join in carrying Android power mobile phones.  The Android mobile-phone operating system is designed with Internet connectivity in mind.  It presently uses Opera for its browser.  When the Linux version of Chrome goes live it is a sure bet that it will start shipping with Android, instantly making it a mainstream browser.
Chrome OS is a desktop operating system targeted for Netbooks.  Its key feature will be that all applications for it will be Internet applications.  Without a doubt Chrome OS will ship with the Chrome web browser.  The success of Chrome OS rides almost entirely on the ability to attract developers to build great applications for it that will entice consumers, the same way the wide availability of cool applications for the iPhone has made it an instant game changer in the mobile industry.
Last of all the open source nature of Chrome means that anyone else can freely and easily borrow any of the code and put it in their browser.  Google really doesn't care of anybody actually uses Chrome for their browser.  What they care about is pushing browsers forward.  If browsers move forward then better applications are built for the web.  If this happens people will be inclined to be on the web more, and people are more likely to use Google services or use the service of companies that utilize Google AdWords.  Essentially Google will do whatever it takes to get people online so they can make money.  And that is what Chrome is all about.
You simply cannot measure the success of Chrome by how many people are using it.  As long as Chrome keeps raising the bar for what a browser can do  and that entices other browser makers to keep up, Google is making good on their investment in Chrome.
That being said, I have been using the nightly Ubuntu builds of Chrome and it is in very very good shape.  It is fast, stable, secure and overall a pleasure to use.

Friday, October 23, 2009

Children Acting Their Age

Sometimes I say something silly to my children like, "You are eight,  you need to act like it."  Replace eight with the age of the child.  The silly thing about this is that when I say it they usually are acting their age, which happens to entail them doing something immature.  However my real message is, "You are not acting as mature as I want you to act and I would like you to start acting it."  I think my children receive the message with that understanding at\s well.
If I am right then I am using the "act your age" words as a red herring to successfully convey a similar, but different message.
Do I go for accurately conveying my message or effectively conveying my message?  Being a parent is difficult for someone like myself who likes to overcomplicate what should be easy matters.

Sunday, October 11, 2009

Linux gets native Hulu desktop support.

I just caught wind today of the native desktop client for Hulu in Linux.  My desktop runs Ubuntu Jaunty 9.04 64-bit.  I downloaded the 64-bit deb from http://www.hulu.com/labs/hulu-desktop-linux

The first time I tried to run it a window told me it could not find flash on my system.  I found flash at the following three locations on my computer:
/usr/lib/mozilla/plugins/libflashplayer.so
/usr/lib/firefox/plugins/libflashplayer.so
/usr/lib/flashplugin-installer/libflashplayer.so
When I modified ~/.huludesktop to point to the first and third location I got this same error.  When I pointed it to the second location the application would begin to run and then segfault.
A little Googling showed me two possible the solutions.  The first was to copy the plugin from /usr/lib/firefox/plugins/libflashplayer.so to ~/.mozilla/plugins and then point the hulu configuration file to there.  That worked, but the best solution is to point the hulu configuration file to /var/lib/flashplugin-installer/npwrapper.libflashplayer.so
Once the configuration file knew where to get flash everything runs great.  The videos look good.
I also installed it on my 32-bit laptop and everything worked without any hastle trying to configure the hulu configuration file.
I filed a bug on the hulu site about the issue with the 64-bit installation and I hope they fix it soon so users have a good installation experience.
http://ubuntuforums.org/showthread.php?t=1286425 has a good tutorial on being able to launch Hulu straight from MythTV.  I gave that a spin on my laptop and it works good as well.  There is also some conversations about getting Hulu working well, including the resolution to my 64-bit problems.

Tuesday, September 29, 2009

Quake Live in Linux

The popular 3rd person shooter game Quake Live has come to Linux.  It can be played for free by browsing to http://quakelive.com/ using Firefox.  I played it last night and had a blast.
I really like the idea of the game going through the browser.  I hope that HTML5 and on making building browser-based games without plugins a reality, but until then this is a great solution.
I have tried it on my Ubuntu 9.04 Jaunty 64-bit machine, and aside from some very small sound glitches, the game plays great.  Tonight I'm going to give it a go on my laptop.

Wednesday, September 23, 2009

Mark Shuttleworth commissions Epoch by Cory Doctorow.

http://craphound.com/?p=2337
If you don't know who Cory Doctorow is then you need to

  1. Start reading xkcd.
  2. Start reading http://craphound.com/


Anyhow, Cory starts off rambling about work and then gets in to start reading Epoch.  Mark asked that it be about the shutting down of the first AI, and something about a Unix roll over.  Check it out at the link above.

Tuesday, September 8, 2009

Rationed care, long wait lines and bureaucrats

The bureaucrats at my HMO have decided that my daughter doesn't actually need the medication that our doctor has prescribed her.  They have only agreed to help pay for half of the medicine.  We cannot afford the other half.
Furthermore, we have had to wait for over a month for her to be able to have the necessary follow-up appointments with a specialists who should be able to better identify my daughter's problem and pinpoint what we need to do to get her fixed up.  We didn't even get to specify a date preference for the appointment.  The called us and told us what day and time it would be it, and that was the end of the story.
Rationed care! Long waits for treatment! Bureaucrats standing in between my children's health and our doctor! This privatized health care system can be really frustrating!