Feb 10

Here is a funny lesson about modularity adapted from Victor Nicollet:

People often say that one’s design should be modular.  Sadly, many people take this as meaning “use modules.”  Having modules in a program does not mean that the program is modular.  This is generally the point where I whip out the strong coupling and zero-dependency diagrams and beat your brain into submission, but my law school exams have been going pretty well, so I’ll try a nicer approach today.

You know what’s modular in the real world?  Condoms.  They can be used as a contraceptive, to prevent STDs, as a barrel plug on paintball guns, to protect a live gun barrel from moisture when wading through rivers, to smuggle liquids or powders in the human body, and so on.  But what makes condoms so modular in the first place?

Continue reading »

Feb 10

imageRegifting Robin is a cool mind trick that can guess any two-digit number you imagine.

Go to Regiftable.com to play the game, then come back here for an explanation on how it’s done.  Though if you are a programmer, you should be able to easily figure it out for yourself.

 

 

 

Continue reading »

Feb 09

Adapted from Tardate 11.1:

Keyboards are a terrific example of how bad design can get stuck in a rut and unable to overcome inertia.  Everyone says dvorak keyboards are far superior to qwerty, yet even after 25 years of dvorak, qwery is still king because its use is so ingrained.

But another aspect of keyboard design that has me really grumpy is the numeric keypad appendage on desktop keyboards.  It is a holdover from the days when users were “data entry clerks.”  But we are stuck with this design, and it has started to annoy me lately because I’ve been switching between a laptop during the day and a desktop at night.

Working with a desktop keyboard after using my laptop is strange and difficult.  After some reflection, I realized the problem.  My right-hand is used to shifting all the time between jkl; and the mouse.  On the laptop, this is a subtle and effortless gesture.  On the desktop, it’s like playing table tennis.

Read more at Tardate 11.1

Feb 07

CodeSqueeze has collected 101 ways to know when your software project is doomed.  Here are my 10 favorites:

  • You start hiring consultants so they can take the blame
  • All of your requirements are written on a used cocktail napkin
  • The lead web developer thinks the X in XHTML means ‘extreme’
  • Progress is now measured by the number of fixed bugs and not completed features
  • Every bug is prioritized as Critical
  • Project estimates magically match the budget
  • Developers use the excuse of ’self documenting code’ for no comments
  • Your spouse only gets to see you on a webcam
  • Your boss expects you to spend the next 2 days creating a purchase request for a $50 component
  • “Oh, oh, and I almost forgot. Ahh, I’m also gonna need you to go ahead and come in on Sunday, too… thanks”

101 Ways to Know Your Software Project is Doomed

Check out more funny stuff at Web-Funny!

Feb 06

We interrupt your regular programming to bring you these entertaining computer programming videos…

If Programmers Built Planes

Continue reading »

Feb 05

You know it’s time to find a new job when your boss buys you one of these chairs:

Continue reading »

Jan 26

There’s an old saying that, “In tough financial times, buy Procter & Gamble stock,” because people will always need toilet paper and laundry detergent.  In recent years this adage seemed to be true with tech companies, because in our new technology-dependent economy, companies will always need computer hardware and software.

But although the global recession took a while to reach Silicon Valley, it’s clear that tough times are in store for the tech industry as well.  This shouldn’t be a surprise, however.  Companies are shedding millions of jobs across the country.  New jobless claims hit 589,000 on January 17, matching a 26-year high reached four weeks ago.  As companies in other industries lose jobs, they find themselves with a glut of extra computers, so hardware spending slows to a crawl.  And as money becomes tight, companies will surely delay upgrades to Windows Vista even longer, many skipping Vista altogether while they wait for Windows 7.

Continue reading »

Jan 22

Software giant Microsoft announced Thursday it will cut 5,000 jobs over the next year and a half.  Microsoft will eliminate 1,400 positions immediately, with the rest cut by June 2010.  The company said it will save $1.5 billion in operating expenses and another $700 million in capital expenses.

Microsoft also posted lower fiscal second-quarter net income of $4.17 billion, down 11% from last year.  The company reported earnings of 47 cents per share, missing analyst estimates of 49 cents.

Microsoft said the job cuts and soft income is the result of “deterioration of global economic conditions.”

Jan 22

We are constantly bombarded with news of stupid software patents, so it’s nice to see the U.S. Patent and Trademark Office (USPTO) actually reject a stupid patent once in a while.

The USPTO rejected all 20 patent claims for Internet subdomains held by the Hoshiko company.  The USPTO ruled that the idea of subdomains — domains hosted within larger domains, such as mail.google.com — is too obvious to patent.  Hoshiko was using the patents to litigate against large web companies like Google and LiveJournal, which hosts more than 3 million personalized subdomains for its users.

The story started in 1999 when the IdeaFlood company applied for a patent on Internet subdomains.  As usual, the USPTO blindly approved the patents in 2004.  IdeaFlood immediately went to court, filing suit against Google and About.com.  The Google case was dismissed, and About.com settled out of court.  IdeaFlood then transferred the patents to Hoshiko.

Since neither Google nor About.com strongly challenged the patent, the nonprofit Electronic Frontier Foundation (EFF) took up the fight and requested that the patent be re-examined.  The EFF was able to prove that the idea of virtual subdomains was developed long before the patent was filed in 1999.

Jan 15

We all know that today’s software license agreement is a joke.  It’s usually a dozen pages of legaleze that nobody reads and everyone just clicks “Accept” in order to run the software.  The company could be demanding our first born, but we’d be none the wiser.

Turns out that End User License Agreements have been around for a long time.  Here is a “License Agreement” drafted by Thomas Edison for his National Phonograph Company.  Not only does it restrict the product’s use and resale, it also establishes a floor for the market price.  Edison was truly a man before his time.

Continue reading »