Archive for the 'programming' Category

The Dreaded Peter Devil

Thursday, December 7th, 2006

From The Daily WTF, here is another amusing tale of developer woe, huge piles of money flushed down the tubes, and clueless management.

The Peter Devil wasn’t very good at delivering bad news. He also wasn’t very good at delivering good news, neutral news, making decisions, motivating employees, or, just about anything else that a CTO is supposed to do. But — bad news — it just wasn’t his thing. He notified, via email, a team of over fifty employees that they’d be jobless in two weeks Unfortunately, the Vancouver office will be disbanded on August 23; we’ll need everyone to pull together and make an extra effort to finish up the Integration Project and transition the remaining work to us here in Toronto.

What code DOESN’T do in real life (that it does in the movies)

Thursday, December 7th, 2006

This is a funny take on Hollywood’s portrayal of computer programming.

Following up our article: Top 20 Hackers in Film History and Vibrant’s Top 10 Servers in the movies, I felt obligated to dispel some of the notions about programming that these movies endorse. I understand that Hollywood needs to dress things up to make them more entertaining, but in the case of programmers, code, and hackers they’ve done more than dress things up - they’ve morphed a little stuffed teddy bear into a cybernetic polar bear covered in christmas lights and phosphorescent hieroglyphics with a fog machine pumping rainbow smoke out of his ass. In other words, they’ve layered a ridiculous amount of extravagance on top of something that in reality is very grounded.

Electrical Engineering vs. Computer Science

Tuesday, December 5th, 2006

This is a hilarious computer science joke.

The second advisor, a computer scientist, immediately recognized the danger of such short-sighted thinking. He said, “Toasters don’t just turn bread into toast, they are also used to warm frozen waffles. What you see before you is really a breakfast food cooker. As the subjects of your kingdom become more sophisticated, they will demand more capabilities. They will need a breakfast food cooker that can also cook sausage, fry bacon, and make scrambled eggs. A toaster that only makes toast will soon be obsolete. If we don’t look to the future, we will have to completely redesign the toaster in just a few years.”

Comparing programming languages in real life

Thursday, November 30th, 2006

This a funny post comparing the personalities of different programming languages.

BASIC - The horny divorcee that lives next door. Her specialty is seducing young boys and it seems she is always readily available for them. She teaches them many amazing things, or at least they seem amazing because it is their) first experience. She is not that young herself, but because she was their first lover the boys always remember her fondly. Her cooking and sewing skills are mediocre, but largely irrelevant, it’s the frolicking that the boys like. The opinion that adults have of Mrs. BASIC is varied. Shockingly, some fathers actually introduce their own sons to this immoral woman! But generally the more righteous adults try to correct the badly influenced young men by introducing them to well behaved women like Miss Pascal.

The Windows Shutdown crapfest

Friday, November 24th, 2006

A candid rant by a Microsoft developer on Microsoft bureaucracy.

I worked at Microsoft for about 7 years total, from 1994 to 1998, and from 2002 to 2006.

The most frustrating year of those seven was the year I spent working on Windows Vista, which was called Longhorn at the time. I spent a full year working on a feature which should’ve been designed, implemented and tested in a week. To my happy surprise (where “happy” is the freude in schadenfreude), Joel Spolsky wrote an article about my feature.

I would like to try to explain how this steaming turd happened.

Coded Smorgasbord: Prepare For Return

Friday, November 24th, 2006

The Daily WTF has some more short examples of hilariously bad or entertaining code.

Nikita Zhuk thought there might be a deeper, more fundamental lack of understanding when she came across this question posted on Experts Exchange …

hi all,

IntTemp = Int((255 * Rnd()) + 1)

I used above ASP.NET code. Problem is in ” Rnd() “
Rnd() value is changing everytime.

What is the alternative for Rnd()?
OR How will stop Rnd() value changes at everytime?

Programmable Z80 Microcomputer

Tuesday, November 21st, 2006

This is a fantastic homemade computer project. Look at the schematic for this thing. Yikes!

Programmable Z80 Microcomputer

This is an actual computer, built completely from scratch. I began the project in the spring of 2006, while I was taking a course on microcomputers. My Z80 system will remain a work in progress as long as I can think of new things to add to it.

The current specs are:

2MHz 8 bit Zilog Z80 processor
56 KB static RAM (7 x 8k x 8 )
8 KB EEPROM
1 Mb Flash Memory “hard drive”
Interrupt controller with 8 interrupt levels
20 character x 2 line backlit LCD with contrast control
RS232 serial port
2 programmable timers
Programmable beeper
8X DIP switch and 8X LED’s for general purpose I/O
Strobe button for clocked input from the DIP switches
Parallel port programming interface with parity

I do all the programming on my PC, using Z80 assembly. I wrote a simple drag and drop utility in C++ that uploads the assembled code into the microcomputer’s memory.

The Master, The Expert, The Programmer

Thursday, November 16th, 2006

A thought-provoking article on the difference between a master and an expert.

The main thing I noticed about the experts I’ve encountered is they are into impressing you with their abilities. They are usually incredibly good, but their need for recognition gets in the way of mastery. Everything they do is an attempt to prove themselves and in order to do this they must perform like an actor on stage. There’s nothing wrong with this, and I don’t think the expert can become a master without going through this stage in life. At some point though, the expert becomes comfortable with themselves or fed up with impressing everyone and starts to look inward to the core of their art.

An App A Week

Wednesday, November 15th, 2006

Until another coder steps up for The Software Jedi’s An App A Day challenge, one programmer has just started An App A Week.

Nooks and Crannies of Ruby

Friday, November 10th, 2006

This is an interesting article on some of the more obscure features in Ruby.

There are many small parts of Ruby, tips, tricks and strange things. I thought that I would write about some of the more interesting of these, since some of them are common idioms in the Ruby community. The basis for the information is as always from the Pick-axe, but how these things are used in real life comes from various places.

.NET Framework 3.0 released

Wednesday, November 8th, 2006

This release adds 4 new libraries on top of .NET 2.0, along with extensions to Visual Studio 2005.

From the Q&A:

Q: How does the .NET Framework 3.0 relate to the .NET Framework 2.0?
A: The .NET Framework 3.0 is an additive release to the .NET Framework 2.0. The .NET Framework 3.0 adds four new technologies to the .NET Framework 2.0: Windows Presentation Foundation (WPF), Windows Workflow Foundation (WF), Windows Communication Foundation (WCF), and Windows CardSpace. There are no changes to the version of the .NET Framework 2.0 components included in the .NET Framework 3.0. This means that the millions of developers who use .NET today can use the skills they already have to start building .NET Framework 3.0 applications. It also means that applications that run on the .NET Framework 2.0 today will continue to run on the .NET Framework 3.0.

Masi Oka: Coder, Actor, Hero

Wednesday, November 8th, 2006

The actor who plays Hiro Nakamura on the TV show Heroes is also one of Industrial Light & Magic’s top programmers.

Since graduating from Brown University in 1997, Oka has worked on more than 30 big-budget Hollywood films at ILM. During that time he has written more than 20 programs and 100 plug-ins for the leading special-effects house. While audiences might not have known his name or face until Heroes, they’ve seen his programming magic on the big screen in films like The Perfect Storm, Star Wars: Episode II, Terminator 3 and the first two Pirates of the Caribbean movies.

Sometimes I think IT is an industry full of witch-doctors

Tuesday, November 7th, 2006

Here’s another rant on the IT industry.

Often, I think a lot of people take the witch-doctor approach to with their IT careers. Even the simplest problem has to be turned into some kind of mystical journey - filled with strange methodologies, bags full of design patterns, and hundreds of pages of UML diagrams. And if even that’s too difficult for you - you can always make up a few technical sounding words and acronyms to baffle and impress your customers with. Important-sounding job-titles and roles are also very useful.

Refactoring Shock Can Kill

Tuesday, November 7th, 2006

This is a funny parody of an outdoor survival guide for programmers.

WHEN STEVE DUMB STUMBLED ACROSS THE SPAGHETTI of a legacy code library sunk into the muck in the labyrinthine of Upper Management Cost Saving Schemes, the unease he had felt since becoming lost in the Corporate wilderness turned to terror. “I’m going to die here.” he remembers thinking. Alone and cold. Dumb was catapulting into the third and most dangerous stage of the phenomenon psychologists call “Refactoring shock,” the confusion and fear that humans feel when they become lost in code.

The Computer/Domino Connection

Tuesday, November 7th, 2006

This is a fascinating though useless diversion on how to perform basic computations using dominoes.

My friend Cory and I were sitting around one day, as we often do, contemplating the mysteries of the universe, when one of us brought up the possibility of building digital logic using only dominoes. We did a web search, figuring that someone must have done something like that before, but guess what? Nary a page was to be found. Cory immediately made a trip the local toy store and bought a package of faux ivory dominoes, and we began work.

Here’s a single-bit adder:

adder_circuit.png

The Firefox Kid

Friday, November 3rd, 2006

IEEE Spectrum has written a nice article on Blake Ross, one of the co-founders of the Firefox project, and on what he is working on next.

But there were others in the cubicle trenches who hadn’t conceded the browser war to Microsoft. Late one night in the summer of 2002, at a nearby Denny’s restaurant, Ross fell into an impassioned discussion with Dave Hyatt, a senior engineer at Netscape who shared his vision for a leaner but more flexible browser for the masses. Rather than starting from scratch, the two took the Mozilla browser, which they thought was bloated with super­fluous features such as chat rooms and an e-mail client, and began stripping it to the bare essentials. They felt they were raising the Netscape browser from the ashes and so named their stripped-down version Phoenix. But the rebel project became anathema to some Mozilla diehards. “I don’t see the need for Phoenix,” posted one detractor at the time. Another was more succinct: “Phoenix sucks,” he blogged.

I bet somebody got a really nice bonus for that feature

Wednesday, November 1st, 2006

…or, Why your Windows desktop is cluttered with crap you didn’t want.

I often find myself saying, “I bet somebody got a really nice bonus for that feature.”

“That feature” is something aggressively user-hostile, like forcing a shortcut into the Quick Launch bar or the Favorites menu, like automatically turning on a taskbar toolbar, like adding an icon to the notification area that conveys no useful information but merely adds to the clutter, or (my favorite) like adding an extra item to the desktop context menu that takes several seconds to initialize and gives the user the ability to change some obscure feature of their video card.

Visual Studio Add-Ins Every Developer Should Download Now

Friday, October 27th, 2006

This article on MSDN introduces a number of useful add-ins for Visual Studio.

In this article, I introduce you to some of the best Visual Studio add-ins available today that can be downloaded for free. I walk through using each of the add-ins, but because I am covering so many I only have room to introduce you to the basic functionality.

Seven deadly sins of programming

Tuesday, October 10th, 2006

Eric Gunnerson’s list of programming no-no’s.

Some people have remarked that all of these are judgement calls, and really more a matter of aesthetics than actual sins.

That is true. I didn’t include things like “naming your variables i, j, & k” as sins, because I don’t think that’s a real problem in most of the code I’m likely to have to deal with, and there really isn’t much argument over whether it’s a good idea or not.

It perhaps would have been better to title this series, “Seven things Eric would really prefer that you don’t do in code that he has to work with”, but that is both ungainly and lacking the vitality of a post with the term “sin” in it.

An App A Day

Tuesday, October 10th, 2006

Dana Hanna, who calls himself a Software Jedi, is writing a windows application a day for 30 days. He has already finished 25 apps. A number of the apps are actually quite useful, like the Jedi Window Dock which allows you to dock a bunch of applications into a single tabbed window. And best of all, all of the C# source code is available under the GPL.

I plan on writing an application everyday for 30 days straight. May the world benefit from the purposeful destruction of my personal life. I’m writing apps as of 9/15/2006.

Update: The Software Jedi has created a new website to host the applications he created, here.