13
05
2008
Posted by: Colin in Uncategorized
When I was studying at Bethel College (now Bethel University) located in Arden Hills, Minnesota, I took a class called on Parallel Programming taught by Dr. Brian Turnquist. I have to say that this class was my favorite. I would stay up late just to solve the problems and projects that were presented to us. I loved it!!!
We had a 40 CPU Beowulf cluster that we were able to work with. It was a pretty standard AMD Dual Processor Configuration on a 10/100mbps ethernet network (which was usually the bottleneck). Several students had the opportunity to help design and setup the cluster. The cluster had its own housing inside one of the Computer Science labs.
We ended up writing C++ programs that utilized MPI to communicate. We ran calculations, rendered fractals, and simulated breaking passwords in a distributed form; Well maybe not passwords, but finding the seed and depth of how to replicate a series of "random" number’s generated by the stock random number generator could be easily substituted with other code
. I won’t get into how important the RNG (Random Number Generator) is to our modern systems (1,2) but it was a fun exercise none-the-less. I ended up using the cluster briefly to render some intensive POV-Ray Fractals (See the contest results).
I’ve always loved the concept of distributed computing. I was really excited when I learned of Amazon’s Elastic Compute Cloud (EC2). The concept of Pay as you go applied to Distributed computing is an interesting one! And having a top-tier datacenter and Simple Storage Services (S3) makes it an attractive solution. The concept of building scalable web applications is one that has caught my eye.
I have some good ideas on how to utilize this service but haven’t made time to finish the concepts. The Amazon Web Services crew have really started to round out ther services with the announcement of Persistent Storage for EC2 and SimpleDB. Persistent Storage is, in my humble opinion, one of the last things that they needed to solve to service a fully viable, scalable, pay as you go/grow computing platform.
No Comments »
14
04
2008
Posted by: Colin in Uncategorized
This past weekend I spoke at the Twin Cities Code Camp. It was a Blast. My Presentation was Microsoft Silverlight and SOA. Its new technology so resources at this point are few and far between. Silverlight itself is only a a 2.0 Beta 1 stage.
During the presentation, I highlighted Silverlight’s abilities to consume and invoke web services. I wanted to show cross-domain services calls where the server is a non-microsoft based application.
I developed a RESTful Server application in Grails on Linux.
The demo Silverlight application is a Video Podcast Administration Application. I specifically wanted to show several client side methods of invoking web services. I didn’t want to focus on any fancy visual effects video transformations etc.
Here is code for the Grails Server.
Here is the Silverlight Application code.
My Presentation is in a Google Doc.
I had a blast at Code Camp, It sounds like something I’ll probably do again.
I might also put a short video together to show its functionality for Inetium. I’ll be sure to post it here.
Cheers!
No Comments »
14
04
2008
Posted by: Colin in Uncategorized
I really enjoy using Firefox. I have recently re-imaged my laptop after a hard drive upgrade. I use Firefox quite Heavily. I will frequently have one hundred of tabs open especially when I go through my reading materials for a week.
I noticed on both Windows and Linux (Ubuntu) that my firefox sessions would hang after I crossed a certain threashold. I have other browsers that I popped open to check to see if it was application or network specific. Epiphany IE and Safari all worked flawlessly so it had to be specific to Firefox.
my first reaction was to pop open about:config (more) and start poking around the network settings, network.http.max-connections and the like seemed to have no effect. Alas google remided me of the network.http.pipelining (more) it basically allows for multiple requests to be executed at once. This is especially important when using both Gmail and Google Reader and Digg which all utilize ajax calls in the background.
No Comments »
01
04
2008
Posted by: Colin in Uncategorized
Its been a fun April 1st 2008! I’ve Rick Rolled (definition) numerous people, and still have a friend believing that my wife and I are pregnant (right after talking about April Fools jokes.) But my measly measures aren’t fit to stand up to some of the grandiose pranks out there today.
My Favorites have been (So far)
Last year I had my wife up in arms over Goole’s TiSP. She refused to allow a cable to hang in the toilet. By the end I was trying to give it away by saying, "its only available today April 1st 2007." It took a while but she eventually calmed down and laughed about it with me.
Happy April Fools Day!
No Comments »
25
03
2008
Posted by: Colin in Uncategorized
Ok now I’m getting around to putting my actual presentation slides together for Code Camp and I needed some Graphics for it.
I didn’t find anything that was simple enough and I could use free of charge. I ended up baking some of my own illustrations.
Here is a link to the larger version. I’m trying to illustrate the Traditional N-Tier application architecture.
And nope, no Silverlight on the iPhone… yet.
Here is another one that briefly touches on the distributed nature of SOA

No Comments »
06
03
2008
Posted by: Colin in Uncategorized
As Mix ‘08 is currently going on. Scott Guthrie said something that peaked my interest.
He basically said that
"Our goal is to try to get it on as many mobile devices and allow you to just take advantage of it umm with a variety of different clients… Everything that has an SDK"
He was very hesitant when he said it. Did he allude to Silverlight iPhone?? The timing is impecable. He said this on Wednesday March 5th 2008, where the Apple event is today March 6th 2008.
You can view what he said by accessing http://wm.istreamplanet.com/customers/ms/750_microsoft_mix_080305.asx in Windows Media Player or VLC or other compatible player. He said it at 2:26:00
I wonder if Adobe has something between Desktop Flash and Flash Lite? I would still like to see flash on the iPhone, Maybe the iPhone SDK will allow that?
Only time will tell…
No Comments »
15
02
2008
Posted by: Colin in Uncategorized
I have come to love jQuery - It is incredibly slick to automate basic tasks. The winning combination is being able to dynamically load jQuery with a browser plugin called greasemonkey (wikipedia entry).
I got sick of always having to log-in to a specific site and click through links to get to what I wanted, so here is a sample of a userscript that logs me in and manipulates things the way I want them to. I have written some other ones to do extra calculations on top of finance.yahoo.com pages. Its a handy combination.
Of course to round out the development of these scripts don’t forget to use FireBug!!
// ==UserScript==
// @name Crestock
// @namespace net.colinharrington
// @include www.crestock.com
// @include crestock.com
// ==/UserScript==
var my_username = 'username'; //fill this in yourself...
var my_password = 'password'; //again use your own...
// 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() {
$('#ctl00_cphMainContent_txtUsername').attr('value',my_username);
$('#ctl00_cphMainContent_txtPassword').attr('value',my_password);
$('#ctl00_cphMainContent_btnLogin').click();
$('#ctl00_cphMainContent_cbContentAgreement').click();
$('a#ctl00_cphMainContent_btnDownload').attr('onclick',$('a#ctl00_cphMainContent_btnDownload').attr('href'));
$('a#ctl00_cphMainContent_btnDownload').click();
}
I may get around to submitting some of these to the public repository over at http://userscripts.org/.
Enjoy!
No Comments »
29
01
2008
Posted by: Colin in Uncategorized
The other night, my wife left to attend a church event after I got home from work. This particular night she took Kari with her and left Lucas at home with me.
We are in the process of potty training our three year old son named Lucas. Since he still has accidents we are having him use the potty hourly. The rule of thumb is that he has to at least try to go every hour. When it came time for Lucas to use the potty, I led him into the bathroom and had him sit down to go potty. To give him some privacy, I shut the door to the bathroom and sat down at my desk (right next to the bathroom).
After a minute went by, I suddenly heard a commotion from the bathroom. Frankly it startled me since my desk shares a wall with our bathroom. As I quickly went to open the bathroom door, I wondered what in the world it could be. As I started to opening the door our cat immediately ran to the door prying to get out. The poor cat was wet! His velvety black fir had glistening shine over the breadth of his back. Puzzled by these circumstances I quickly discerned the source of the chaos. I promptly asked "Lucas, did you pee on the cat?" to which he happily responded "I just shooted him" with the ecstatic grin of a three year old on his face.
After hearing his enthusiasm, I had to duck behind the door for a moment to make sure I didn’t let out a laugh. After I made sure I had my composure, I went in and sat him back down on the potty. I quickly rescued the cat before he could go roll all over fresh sheets or any similar deed.
Once I had given the cat a shower in a plastic laundry basket, complete with Duck Tape latch (so I didn’t have to deal with the whole cats + water + claws issue), I was able to teach him all about how we aren’t supposed to pee on cats.
No Comments »
23
01
2008
Posted by: Colin in Uncategorized
I ran across a good article explaining HE-AAC encoding. Written by Fabio Sonnati (yea, he’s italian) on January 18th 2008
I was impressed on how he broke it down, and even went into HE-AAC v2. Earlier he posted a sample HD clip encoded with FFMPEG (with h264 and AAC) http://www.flashvideofactory.com/test/demofullscreen345.html. I didn’t have enough bandwidth to play it during the day, I’ll have to check it out when I get home.
http://flashvideo.progettosinergia.com/
And don’t forget to snag some tools from Real Eyes Media - located …. here
No Comments »
21
01
2008
Posted by: Colin in Uncategorized
In researching Flash Media encoders, I came across a company called KulaByte.
I was impressed with their solution — A live two pass Variable Bit Rate (2 pass VBR) encoder!! They have definitely accomplished an incredible feat. The two pass encoder basically splits the video into segments and utilizes multi-core systems to execute a 2 pass encoding before bringing them all back together. I can imagine the complexity of doing this with a GOP based codec. All in all, they told me that it introduced around 15-25 seconds of lag time on the encoder. Realistically that is Acceptable in the Broadcast market.
They gave me a demo of their Xstream solution (not to market yet). The Video quality was excellent. It was what I expected from a 2 pass VP6 encode. It was hard to see the artifacts at 900kbps, although I did occasionally see some non-traditional artifacts. I am a videophile and am super picky about video quality. I’ve seen artifacts like these using Windows Media Encoder’s live preview. To best describe them, its like a set of pixels (box, group, etc) can’t decide whether to be up 1 pixel or down 1 pixel so it just flops back and forth a few times. I’m not too concerned with the artifacts, but I’d like to learn what to call them. Maybe it was just the source video, I don’t know.
The Video Quality was second to none in terms of a Live broadcast. I was thouroughly impressed. Because of the multi-pass situation, their software requires some awesome Multi-core hardware. They even have a portable package that includes a 4 core laptop!!!
All in all, I am very impressed by their work!! I might utilize their systems in the future. Keep up the good work KulaByte!!
No Comments »