Skip to main content

Mike's blog

DIY - Silver Lightning™ cleans silver via electrochemical reaction

OK, this is off-topic but what the heck - it's interesting (to me, anyway).

I've seen commercial advertisements for the Silver Lightning™ Tarnish Remover Tray
on various television shows, The product demonstration shows a person placing the Silver Lightning plate under water, then placing tarnished silver on the plate -- and like magic, the silver brightens and the tarnish vanishes.

I'm an inquisitive guy, so I assumed this was due to some kind of chemical reaction involving electrolysis, so I searched the web to see what I could find on the subject.

It turns out that silver tarnish is silver sulfide, much of which comes from the trace amounts of sulfur in the air. The Silver Lightning product is apparently nothing more than an aluminum plate, which, when placed in a solution of baking soda and water (about 1 cup per gallon) causes an electrochemical reaction that draws the sulfur away from the silver and to the aluminum.

Mollom.com: another spam prevention mechanism for Drupal admins

When trying to keep web site content clean and on-topic, the site administrators often face monumental challenges from spammers.

Mollom.com is an alternative to using the Spam or Akismet modules. It's in beta at present, and it is free of charge at present. It is expected to remain free for low-volume users (for details, please refer to the mollom.com web site - link below.)

Nero Essentials: DRM gone bad.

I was debugging a Windows application that makes use of DirectShow to render media - and for some strange reason, the application would terminate without warning when run under Visual Studio's debugger.

No error message, no exceptions, nothing. The application ran fine outside the debugger. I was able to debug the same code base several weeks ago without incident.

Ringtone downloads - Ringtones, Ringtones, and More Ringtones...

Ringtone Downloads - what's all the fuss about?

Ringtones. Seems like everybody's searching for them and downloading them. Ringtone download sites are all over the 'net, and ringtone download advertising is pretty big business, if the number of ringtone download site ads visible on the average web site is any indication.

Ringtones For You, Ringtones For Me, Ringtones As Far As The Eye Can See...

I've never spent much time paying attention to ringtone download sites. I always figured that they were aimed at a younger audience, and, I have always been satisfied with the ringtones that were built in to my cell phones. Who's visiting the ringtone sites?

Antivirus gone wild: Kaspersky busts Windows Explorer

This morning's news brings reports of another case of mistaken identity leading to false arrest and other abuses of power by our neighborhood beat cop (um, I mean, anti-virus product.)

This time, Kaspersky anti-virus pulled Windows Explorer to the side of the road, hauled it off to jail, and put it in solitary confinement on suspicion of being infected with Huhk-C (reported to be a low-risk virus.)

Windows Explorer was eventually cleared of all charges and released. One hopes that the renegade cop Kaspersky faces disciplinary action. Given the historic lack of corrective action I'm not holding my breath.

Hell is other people's code

Jean-Paul Sartre said: "Hell is other people".

To which I say: "Hell is other people's code".

All kidding aside, working with other software developers' code can be daunting enough, even when the code was written by diligent, conscientious engineers.

It becomes downright nasty, bordering on torture, when it was written by someone unconcerned with the need to maintain the code later. I wonder, when working with such code, what level of Hell I've landed in.

I've seen near-identical functions located adjacent to each other in the same file, each differing by only a few characters here and there, and both spanning a half-dozen display screens, making it impossible to even tell which function you are looking at. Each having conditional compilation controlled by the same manifest constant with a near-meaningless name. The second function body #undef'd the manifest constant before the first line of the function. So there was no way to know, when looking at a particular screen full of code containing conditional compiled statements, whether the code was compiled and active in this particular context.

I've battled the vile demons of magic numbers, copy-and-paste code as a means of code 're-use', low-level communication code that pops up blocking error message dialog boxes in the middle of threaded data send routines, what-should-have-been-library-code-but-was-just-another-source-file (used in a GUI application) that unceremoniously calls exit() when an error occurs in the middle of an initialization routine.

All the while, I'm repeating to myself: "I have no mouth and I must scream".

So: When you write or maintain code, please try to keep in mind that someone else may need to read, understand, and even - *gasp* - modify the stuff you are generating. It's a good way to help make the world a better place. Really.

Resist the temptation to take that shortcut. Drop a few comments describing your assumptions. Sprinkle the code with a few assertions to describe the conditions required for proper operation - but don't rely on assertions to provide runtime error checking; use exceptions or well-defined return values if you must. If you know about a precondition or gotcha, make a note of it for the benefit of others. Do something, anything, to improve the condition while you are working on the immediate need.

Take the time to think about those who follow - They'll love you for it.

A new twist on link requests

I must say I found this one to be rather unusual. It appears to be a variation on the "paid post" or "paid review" theme - except the requester writes the content rather than paying the webmaster to write content linking to the requester's site.

[Name Snipped] sent a message using the contact form at http://exodusdev.com/contact.

I ran across your site today as I was searching for some computer info. On Google. Your site is fabulous and certainly grabbed my attention!

The 'Real' DJIA - not such a hot deal

What do you get if you adjust the DJIA for inflation, starting in January 1924? According to several sources, the rate of growth is a paltry 1.64% compounded annually when you take into account the 'official' inflation rate, and it's even worse if you consider the probability that inflation is underreported.

An unmatched pair

I heard a couple of back-to-back radio ads this morning. One was the predictable overstock.com Christmas commercial, prepping everyone for a mad holiday spending season. Ok, nothing unusual there.

The one that followed made me laugh: Match.com advertising that they now have many more women than men on their service. Something about a record imbalance (my words.)

So I thought to myself: match.com should work a deal with overstock.com to help eliminate their excess inventory!

2007-2008 Times Square Ball features bright, efficient L.E.D.s

Times Square Ball 2008

Today's announcement of the L.E.D.-lit 100th Anniversary Times Square Ball on Good Morning, America was interesting - from what I've seen, the new ball is a major technological leap forward and will be a real stunner, and more energy efficient too! It's over twice as bright as previous ones, and yet uses half as much power. It can even play videos and animated sequences. You can even buy a Waterford ornament modeled after the real thing.

It's built on an aluminum frame, and will be covered with Waterford crystals.

Syndicate content