Colin Harrington

General

Hulu Desktop for Linux! 32 & 64bit versions for Ubuntu & Fedora

by Colin on Oct.08, 2009, under General, Linux, Streaming, Ubuntu, Video

Hulu Desktop (currently Beta) is now available on Linux!  A friend tipped me off to an article on TechCrunch about it. 

Wohoo Hulu Desktop on Linux

Downloading it and setting it up was pretty easy.  I went to Hulu Desktop and selected download for linux.  From there It gave me choices for Fedora and Ubuntu (both 32 & 64bit versions!)  Since I run Ubuntu I downloaded and installed the deb – easy enough.

When you first launch it it asks you to accept the EULA.

Eula

The first time I launched Hulu Desktop I got an error, that "Hulu Desktop could not locate the Flash plugin.  If you do not have it installed, please modify ~/.huludesktop with the correct location of libflashplayer.so." (remember the beta sticker?)

Hulu Desktop error : Flash Plugin

I had to edit the ~/.huludesktop file to use the wrapped version of the Flash plugin /var/lib/flashplugin-installer/npwrapper.libflashplayer.so and it worked like a charm!

.huludesktop

Playback worked great, probably better than the in-browser experience.  The interface is slick, better than the web-interface and more along the lines of Boxee.  Fullscreen worked well for me.

Hulu Desktop -> Heroes menu

Props to Hulu for providing a Linux version.  The Linux desktop is a first class citizen.  Skype has a Beta version that rocks on Linux.  Google Chrome, Firefox, etc. Who is next? Adobe?  CS5?  I’d pay for Adobe CS5 on Linux.

So far its been pretty good stuff for Beta Software!  I’ll definitely be using Hulu more now. 

Here is a shot of the opening screen:

Opening Image

And another of the Menu (while watching media):

Popular menu

5 Comments :, , , more...

Windows Vista = Slow^3

by Colin on Jul.17, 2009, under General

Yep that’s a snail on a turtle with a Vista tattoo to illustrate how Vista = slow3.  I threw this together to console a friend who was going through an upgrade to Windows Vista SP3.  It took them weeks(so far) to roll it out at his work; and it still isn’t complete.  The pic is adapted from an icanhazcheezburger.com post.

OMG SLOW DOWN! with a Vista Tattoo

Maybe I’ve been spoiled with the speed of a Linux desktop without intrusive ‘virus protection’, but everytime I use a Vista machine, I find myself frustrated.  I guess I get sick of the waiting, double confirmations, the "I told you to shutdown, why are you installing updates… ", etc.

I have professionally developed on all major desktop OSs (Windows[98,2k,XP,Vista], OSX, and Linux) as well as used many others over the years (RHEL, CentOS, Fedora, Solaris, HPUX, Windows[2k3,2008], etc.)   So when I started my current contract, I had a bad dream the night before.  I dreampt that I was forced to use Windows Vista.  I’m not going to call it a nightmare, but it came close :-(   (They ended up giving me an XP box)

This is my OS Preference as it stands today:
VistaXP < Windows 7 < OSX < Linux (Ubuntu, Gentoo, etc.)

I honestly expected more from Vista seeing that it was coming from the largest/wealthiest software company/OS vendor in the world.  Using Vista isn’t the end of the world, but you don’t know better until you get a taste of freedom :-)   To be fair, Microsoft has put a lot of effort behind Windows and it is a big responsibility when you take the OS Market in the 90’s and into the 2000s.  MacOS was saved by OSX; can Microsoft follow suit?  Either way, good competition makes for a better Operating System landscape. 

1 Comment :, , more...

Grails Growl-like notifications in Linux (Ubuntu, 9.04)

by Colin on May.24, 2009, under General, Groovy-Grails, Linux, Ubuntu

When I was developing on OSX, a fellow developer Ted Naleid tipped me off to a script that does Growl notifications for Grails events that Marc Palmer had written.   The Growl notifications were handy, but now that I’ve been working on Linux, I’ve definitely missed them.

I first used a tool called Mumbles, which attempted to be a clone of Growl, but I later realized that the built in notification system is probably the way to go.  After I learned of Ubuntu 9.04 (Jaunty Jackalope) had some major visualization enhancements to the notifications, I thought that it was definitely the way to go. 

This is what I currently have with Ubuntu 9.04:

Jaunty Grails notification Plugins

Jaunty Grails notification final

Implementing this is very simple, you simply create an _Events.groovy file in your ~/.grails/scripts  directory (create it if it doesn’t exist) with the following contents (modified from the Growl Script):

eventStatusFinal = { msg ->
    libNotify('Final status', msg)
}
eventStatusUpdate = { msg ->
    libNotify('Status', msg)
}
eventCreatedFile = { fileName ->
    //libNotify('Created file', fileName)
}
eventStatusError = { message ->
    libNotify('Error', message)
}
eventExiting = { code ->
    libNotify('Exit', "Return code $code")
}
eventCreatedArtefact = { type, file ->
    libNotify('Created artefct', "$type with name $file")
}
eventCompileStart = { kind ->
    //libNotify('Compiling', "Compiling $kind")
}
eventCompileEnd = { kind ->
    //libNotify('Compilation complete', "Compiled $kind")
}
eventPluginInstalled = { pluginName ->
    libNotify('Plugin installed', pluginName)
}
// Do the notification
void libNotify(title, message) {
    def cmd = [
        'notify-send',
        title,
        message,
    '-i',
    'grails'
    ]
    cmd.execute()
}

It is simply using Groovy to execute "notify-send $title $message -i grails".   if you don’t have notify-send, it is part of libnotify so sudo apt-get install libnotify-bin will get you what you need.  If I get some time I’d like to find a way to take advantage of a Java Dbus implementation to talk to the notification system without having to go through libnotify.

If you want mumbles notifications just do something like this:

void mumblesNotify(title, message) {
    def cmd = [
        "mumbles-send",
           "-l",
        title,
        message
    ]
    cmd.execute()
}

Occasionally I’ll get a failure that there are too many files open (using .execute() in Groovy) and that should be cleared up by using a Java implementation of the DBus notifications.

Let me know what you think.  Anything that could be done better?

 

11 Comments :, , more...

Customizing rEFIt (an EFI Bootloader – Intel Macs) Slick!

by Colin on May.05, 2009, under General, Linux, Logo, Ubuntu

I recently installed Ubuntu 9.04(Jaunty Jackalope) on a 17" Macbook pro and as a part of that process, I had to install a bootloader called rEFIt.  You could think of EFI is just a next-gen BIOS.

Even though the bootloader looks decent, I don’t like the look of silver/grey color, so I decided to customize it.  The process to customize rEFIt was relatively straight forward and the result is beautiful.

This is what I came up with:

background

This is what it looks like with a Windows Partition:

boot screen with 3 icons

I love the simplicity of it!!

Here is a closeup of the icons / OS Choices:

 

I don’t really know where the icons came from, but they look tasty :-)  On Linux there is a decent package for working with mac icons (.icns) or sudo apt-get install icnsutils  which will get you some useful tools (png2icns and icns2png)

I did have to make a few modifications to the Tux icon [os_linux.icns] to give him a ‘glow’ so that he doesn’t fade into the black on black:

Tux Crystal Modified by Colin

This windows Icon [os_win.icns] is the stock version I think (send me a link to the author if you know):

 

I did add a slight ‘glow’ to the apple icon [os_mac.icns] (send me a link to the author if you know):

I tried a number of custom ’selected’ themes but gradients didn’t look right, so I went with the simple plan.  The selection bitmap can be found here:

selection_big.bmp

 

the process is simple once rEFIt is installed:  modify the refit.conf with the icons in place, and you are done!

Here is what I came up with for my refit.conf (comments removed):

timeout 5
banner hostname.bmp
selection_big   selection-big-ring.bmp
hideui tools shell funcs hdbadges label
legacyfirst

The original comments in the refit.conf file are helpful!  Its straight forward if you can read :-)

  • timeout = the number of seconds before it automatically chooses for you
  • banner = the bitmap of the upper part of the screen (top left pixel = background color)
  • selection_big = the grey ‘ring’ that indicated the selection
  • hideui = Hide elements of rEFIt so we can get a clean interface
  • legacyfirst = Legacy OS first (Linux)

Use at your own risk!!

If I had the time, it would be fun to build/enhance rEFIt to have an all-black fill instead of the grey/silver.

I’ve had a good experience with Ubuntu 9.04 on a 17" Macbook Pro, and I’ll Blog about it – and see what I can do to help update the documentation – look for an upcoming post.

 

26 Comments :, , , more...

Greasemonkey + live.gizmodo.com

by Colin on Mar.17, 2009, under General

iphone2The Keynote for iPhone 3.0 just got over and I thought I should share a tiny greasemonkey script that I put together to reload http://live.gizmodo.com/ much sooner than the 90 seconds that one would wait.

It is too bad that macrumorslive.com is out of buisiness since they got hacked this past January.  Their application wasn’t too hard to mashup either.  It was simply changing a timout var in one version and then changing an obfuscated function later.

So the Greasemonkey script is really a breeze, it simply loads jQuery, hides the banner/space-waster and sets a timer to reload the page after 15 seconds (15000 milliseconds…) 

// ==UserScript==
// @name           live.gizmodo.com
// @namespace      live.gizmodo.com
// @description    live.gizmodo.com
// @include        http://live.gizmodo.com/
// ==/UserScript==

// Add jQuery
var GM_JQ = document.createElement('script');
GM_JQ.src = 'http://jquery.com/src/jquery-latest.js';
GM_JQ.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(GM_JQ);

// Check if jQuery's loaded
function GM_wait() {
    if(typeof unsafeWindow.jQuery == 'undefined') { window.setTimeout(GM_wait,100); }
else { $ = unsafeWindow.jQuery; letsJQuery(); }
}
GM_wait();

// All your GM code must be inside this function
function letsJQuery() {
	$('#header_container').hide()
    setTimeout(function(){ window.location.reload(true);}, 15000);
}
1 Comment :, , more...

Overnight Website Challenge + Grails

by Colin on Feb.27, 2009, under General

GrailsSierra Bravo is putting on an overnight website challenge tomorrow featuring 12 teams and 12 non-profits.  The challenge is a great way to give back and strut our stuff.

I’m on a team called the Groovy Goolies and we plan to use Grails to deliver a powerful web-app.  Our team has an excellent lineup with a broad range of experience and talent.  I’m sure we’ll do great – we’ll definitely get to beat my friends on the Inetium Team.   The rich set of Grails plugins, excellent testing support and the power of Groovy will go a long way.

Checkout another post from another team-member or follow us on twitter.

5 Comments :, , more...

F3 = Fat FireFox

by Colin on Aug.28, 2008, under General

FireFox LogoWhy is everything so slow?  Why does it take forever for the laptop to go to sleep? 

Holy thrashing platters Batman — Firefox is taking up 1.25GB of Memory.  I guess it is partially my fault.  Having 126 Tabs open isn’t the nicest thing that you can do, but thats what I did during some intense research.  After I brought it down to about 30 tabs, it still held 1GB.  That is a little too much if you ask me. 

I’ve been a fan of Firefox for a while.  Its attractive because of its extensibility, flexibility, W3C dom, and rendering standards.  I’ve been a fan of good add ons like greasemonkey, Firebug, Better Gmail, View Source Chart, Fullerscreen.  I enjoy using these tools regularly.

I use IE7, and Safari 3, and rarely opera.  Usually its just to make sure my css and javascript are cross-browser compatible.  Each one has it’s strength’s and weaknesses.  Obviously with Firefox, Memory usage is not its strength :-)  

http://dotnetperls.com/Content/Browser-Memory.aspx

I’m hoping that Firefox 3 will help with the Memory usage.  I hope they can adhere to a different model; Weak references please?

I’m also excited to see what the IE8 team is cooking up.

Update:  I’m not so excited to see what IE8 is cooking up for Microsoft’s business plan.  Firefox 3 is Doing great on Mac, Windows and Linux for me.  Yea I wrote this a while ago, but thought it was still worth putting out there.  I don’t use Opera or IE7 much anymore now that I am primarily on Linux (home) & OSX (work)

Leave a Comment : more...

Restarting MySQL from the Command Line :: Russell to the Rescue

by Colin on Aug.21, 2008, under General

I’m trying to restart MySQL from the command line in Mac OSX.  The GUI tool in the Preference Pane wouldn’t work for me, so its time to go back to the Command Line roots.  I knew that there was a way to restart MySQL from the commandline, but I was looking in all of the wrong places, (no /etc/init.d/ or others).  I fired off a few quick Web Searches with Google and found many hints.

Most of the articles I found online were not very helpful.  They all contained information that didn’t work for me and OSX 10.5.3 with MySQL 5.0.51a MySQL Community Server (GPL). Maybe Mysql changed their installer recently, maybe its a Mac Update thing, but the I ended up finding the solution in a comment of this article.  A comment by someone named Russell proved to be very helpful.

Basically it came down to knowing where to find these commands:

Start – sudo /usr/local/mysql/support-files/mysql.server start
Stop – sudo /usr/local/mysql/support-files/mysql.server stop

Thanks Russell – You rock!!

 

Leave a Comment :, , , , more...

Massive Internet Flaw :: DNS cache corruption?

by Colin on Jul.09, 2008, under General

Big news today about a large security whole that affects the backbone of the Internet; DNS.  The Domain Name System or DNS is basically what translates readable names like colinharrington.net to its corresponding IP address.  It is cornerstone to just about everything that we do on the internet.  This news is larger than the Debian, OpenSSL fiasco that I blogged about earlier.

I first came across this when I read this article which was posted to Digg.com.

When I first logged into Ubuntu, I was notified that there were very important security updates by the bright red warning icon in the gnome panel.  I was quite happy not to have annoying balloon pop-ups or tricky log-out buttons that hijack the computer to automatically install important updates.  The Ubuntu security updates notified me that I needed to update bind9-host, dnsutils, libbind9, among others. 

We have known that DNS poisoning was an issue, but recent findings combining multiple attack vectors revealed a gaping security hole.  It was interesting to note that this ‘bug’ was a design descision and had to be patched across the board.  I guess design bugs can be quite hairy since its baked into everyone’s implementation.  All major vendors have to patch this hole due to the design nature of this bug.

According to the initial article, The details of the attack will be revealed in 30 days "at the Black Hat security conference in Las Vegas".  It is very interesting to note the current DNS issues that have made headlines recently.  Apparently ICANN itself had lost its own domain name according to this story care of MSNBC.  According to that article icann.com and iana.com were both hijacked.  This sounds more like proof of concept work to me. 

I am not an expert in this area but from the bit that I do know, the possibilities are scary; Naming authorities being compromised, man in the middle attacks, etc.  What if someone were to gain control of major certificate authorities like VeriSign? It is a little scary to think about what someone could accomplish unknown to the user.  Online Banking, Corporate Communications, Secure Service Bus communications, what if these could be spoofed into being sent to the wrong place, or *through* the wrong place?

This could very well make it into our history books.  I guess we will know more in 30 days.

Here is some extra reading on the subject:

The initial article ended with these words: "This is about the integrity of the Web, this is about the integrity of e-mail," Kaminsky said. "It’s more, but I can’t talk about how much more."  which sounds very similar to Rusty Ryan’s line in Ocean’s Twelve "Look, it’s not in my nature to be mysterious. But I can’t talk about it and I can’t talk about why."

3 Comments :, more...

Configure PHP per Apache Virtual Host

by Colin on Jul.02, 2008, under General

Yea I know… PHP.  Please don’t shoot me.  Its not as groovy as say … Groovy or Ruby, but it can get the Job done.  I just found out how to configure PHP per virtual host. I guess I knew that it was possible, I just did not know how to do it.  Tomorrow I’m planning on forgetting how to do it and have to look it up again, which is exactly why I’ll blog about it :-) .

So Basically you can set specific PHP.ini settings in the virtual host definition.  There are other ways of configuring PHP, but this one seems to be aligned to virtual hosts and is the right tool for the job I had to do.

PHP alania tipped me off to PHP.net’s article on the subject.  It would look similar to:

 <virtualhost>
    DocumentRoot "C:\non\aya\business\public_html"
    ServerName www.somesite.com
    ServerAlias somesite.com
    <directory>
        Allow from all
        php_admin_flag short_open_tag off
    </directory>
</virtualhost>

Don’t forget that you could also configure PHP on the fly (while its running/executing) by utilizing the ini_set() function.

Happy PHP-ing!

 

Leave a Comment :, , more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!