Tuesday, July 31, 2007

The Geek's Prayer

A coworker of mine sent me this link, and I just have to share it with the rest of you:

Our Caller, who art on the stack frame
Hallowed be thy Parameters
Thy Address Space come
Thy I/O be done
In Registers, as it is in Memory
Give us this day our periodic timeslices
And forgive us our page faults
As we forgive those who pass invalid parameters
Lead us not to unconditional JMPs
But deliver us from segment registers
For thine is the Address Space, the Registers, and the I/O ports
Jmp $
Ret

There are some other good ones there, so go visit.  My only critique would be to change "As we forgive those who pass invalid parameters" to "As we forgive those who page fault against us"... but that's just a minor quibble.  That's right... I used to write assembly too.  Sometimes I'm amazed at the vast numbers of languages and technologies I've actually used in my relatively short career.

#    10:18 AM by Nick | 1 Comment |
 Friday, July 27, 2007

Happy SysAdmin Day

Today is System Administrators Day.  Have you kissed your SysAdmin lately... or at least remembered to change your password?

#    2:40 PM by Nick | No Comments |
 Sunday, July 22, 2007

Microsoft Angers George Costanza

Microsoft has announced that their next operating system is being planned for around 2010, and they're changing the codename from Vienna to "7".  I hope George Costanza doesn't hear about this... that's what he wants his son to be named!

#    7:50 PM by Nick | No Comments |
 Friday, July 13, 2007

HAI... IM IN YR LOOP... KTHXBYE

Lately I've been enjoying I CAN HAS CHEEZBURGER quite a lot, and have even tried making a few of my own images to submit to them.  But today I discovered that there is a group who are trying to create a programming language out of "Kitteh Speak"!  It's called LOLCODE, and it's further along than you might think.  They already have a 1.2 specification, and there are several alpha implementation for compilers... even one for Visual Studio!

Here is an example for Hello World:

HAI
CAN HAS STDIO?
VISIBLE "HAI WORLD!"
KTHXBYE

Can you imagine how many of the world's problems programmers could fix if we didn't have these kinds of side projects?

#    3:56 PM by Nick | 2 Comments |
 Monday, July 09, 2007

Engineering IS Art

Here's a pretty cool story.  My alma mater, MSOE, is building an art museum on campus:

MSOE is constructing a full-blown art museum on its downtown campus - complete with curator, exhibit manager and a permanent collection of 600 European and American paintings, prints and sculptures that date to the 16th century.

Ahead of an Oct. 20 opening, workers last week installed the steel-frame dome that crowns a four-story atrium entrance at E. State St. and Broadway.
...
What makes the art so valuable to MSOE, Viets and Grohmann concur, is its single unifying theme: work and workers in hundreds of manifestations.

Among the oldest pieces are canvases that show primitive Flemish iron smelters and old German foundries, dark and dramatic with flashes of hot orange ingots. The collection covers a gamut of realism, impressionism and expressionism - glass blowers and miners; sweaty muscles in blast furnaces and pastoral images of farm fields; railroad yards and stone quarries.

Of course I'm a little biased, but I've always considered engineering to be art.  It is the art of taking cold scientific knowledge, and combining it with craftsmanship, in order to create a useful object for the real world.  Quality engineering is something you want to have in your home, and use every day.  It's a stainless steel toaster that you don't put in your cupboard when you're not using it.  It's an iPod (or iPhone) which you proudly wear on your belt.

Engineering is the art of combining form and function to make everyone's life better.  A good piece of engineering is a thing of beauty to behold.

#    8:50 AM by Nick | No Comments |
 Thursday, June 21, 2007

The iPhone Cures Cancer Too

Great advertisement for the iPhone from the Onion...

I'm not jumping on the iPhone bandwagon yet.  I'm very picky about my cell phones, and I don't think this will revolutionize the phone for people the same way the iPod revolutionized the MP3 player.  For one, most people don't want to spend gazillions of dollars on their cell phone.  Most people just take the cheap one you can get with a contract on your plan.  That means right away, Apple is only fighting for a small percentage of the cell phone market... the market for advanced users.

Second... I'm not convinced this thing will stand up to the wear and tear I put my phone through.  I have a clam shell model for a good reason.  I keep my phone in my pocket.  I don't want something I have to have a belt clip for, or that I'm afraid will autodial someone because it bumped into my wallet.  I also have a feeling the screen on this will get easily scratched up until the display is hardly usable, and will be broken just as easily.  I could be wrong... but my fears are enough to keep me from being an early adopter on this one.

I'll wait at least 6 months before I even consider one.  And by then, the Microsoft Mobile phones will have caught up to the same usability standards, in a package I'll probably like better, and for less money.

#    10:11 AM by Nick | No Comments |
 Monday, June 18, 2007

No Errors Or No Latency?

Apparently the Internet is almost full again.  These sorts of predictions come and go quite often, and I don't pay much attention to them.  They generally show people's lack of understanding in the TCP/IP routing system, and the amount of dark fiber which still exists from over speculation during the dot-com boom/bust.  What bugged me the most though was this piece of inaccurate information:

"Video is real-time, it needs to not have mistakes or errors. E-mail can be a little slow. You wouldn't notice if it was 11 seconds rather than 10, but you would notice that on a video."

Well that's just completely inaccurate.  Real time has nothing to do with whether it has mistakes or errors.  There is an inherent difference between latency and errors.  More importantly, real time video always has errors.  That's how you get real time streaming video!  You sacrifice quality for speed.  When video is streamed to a client computer, packets get dropped all the time.  That's why the audio is sometimes choppy, and the video sometimes has visual glitches.

In fact, the very nature of video, and the ability of the human brain, allow this to work successfully.  Your brain can fill in 1/4 of a second of missing sound using the context of the rest of the audio.  An email has to be perfect.  If a sentence is missing from the middle of an email, you will notice that.

#    8:35 AM by Nick | No Comments |
 Friday, June 15, 2007

Web 2.0 People!

Yesterday at work I was trying to scan around MSDN at some documentation on Excel automation, and it was super slow.  It was really bugging the hell out of me.

Me:  Man... MSDN is slow today.

Coworker:  Actually, I'm trying to browse somewhere else and it's just crawling.

Me:  Don't we have dual T1's coming in here?

Coworker:  Yeah, I don't get it.

Then a few minutes later it all began to make sense.  A high priority email came in from one of our other offices, sent to the majority of the company (just shy of the "Everyone" list) that had a 6 MB WMV file.  It was a clip from a news broadcast talking about Microsoft Surface.

Who sends video files as email attachments to an entire company any more?!  Have you not heard of Google Video, YouTube, or the many other video sharing websites in existance?  Send a link to a YouTube video... it will take up a lot less bandwidth.  And who sends it as a high priority email to boot?!

Web 2.0 people... learn it... live it... love it.  And here is one video that demonstrates Surface... from YouTube of course.

#    8:18 AM by Nick | No Comments |