Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the math-captcha domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/news.numlock.ch/public_html/wp-includes/functions.php on line 6114
Fun – A changelog by Daniel Mettler

Fixing so-called “dishwasher safe” products

Got a “dishwasher safe” product whose shape is actually not suitable for a dishwasher at all? You’re not alone.

In fact, it’s shocking how many allegedly dishwasher friendly products out there obviously weren’t optimised for dishwashers, shape-wise.

Considering that in a free market, supply would ultimately be driven by demand, i.e. our purchases, one can “guesstimate” how little time and thought most people (yours truly too) apparently spend for purchasing decisions related to such everyday products! Then again, at least the engineers designing those products must have spent a couple of days thinking through their designs, one would hope. How could they end up with such inadequate designs, and how could those even pass internal product testing and quality assurance assessments? It’s probably due to market imperfections indeed.

E.g. look at this inconspicuous, allegedly officially “dishwasher safe” plastic mug:

As you can see: Its designer DID think of making a drainage hole at the bottom of the hollow handle. Dishwater would thus drain from it and not collect.

But what’s the point of that hole anyway, if water can’t and isn’t supposed to drain from the mug? As a mug, by design, is not supposed to leak liquids.
In other words: Who on earth would place this mug in the dishwasher in upright position, for dishwater to collect in the mug itself?
So, the only reasonable way to put this mug into the dishwasher would be upside-down. Which voids the whole point for that drainage hole in the hollow handle, except maybe to release hot steam, lowering the maximum heat the plastic handle would have to withstand (but what about the ascending hot steam that will be collected in the mug itself? Heat-deforming the bottom of the mug would be even worse than heat-deforming the bottom of the handle)

If we placed this mug correctly, i.e. upside-down in the dishwasher, dishwater would instead collect in the now concave, open part where the handle is attached to the mug. As strangely, the designer apparently didn’t think of designing holes there (or of sealing off the whole handle, making all surfaces convex), so that water could drain between the fins.

What can you do?

  1. Make it a habit: Before purchasing any such item, think twice about how you would place it in the dishwasher and whether dishwater could fully drain from the product like that. Don’t simply rely on the “dishwasher safe” symbol on the packaging, as that (sadly) doesn’t cover the shape of the product, only its materials (all products shown in this blog post ironically have an embossed “dishwasher safe” logo)
  2. For those faulty “dishwasher-friendly” products you already own, take a drill and drill some holes in appropriate places yourself (keep in mind structural stability too though). Or, probably better for most plastics, use a heated awl to create clean holes without splinters.
  3. If you are a product designer, please think more thoroughly when designing your next product. Obviously, the free market isn’t as perfect as consumers would wish for, and thus likely wouldn’t punish you as hard for releasing a suboptimal or faulty product as you’d deserve. Please think through the designs of your products nonetheless, before considering them ready for production release.
    IOW: Minimalism isn’t a bad principle per se (actually beneficial in many situations), but always know when to apply it and when not to apply it (i.e. invest a bit more in thinking -> your brain will automatically protect you from overthinking anyway, e.g. in “fight or flight” situations).
    In the long run, both the selling market and the job market should reward your superior work and work ethics.
  4. If you’re specifying requirements for certification labels: Please think thoroughly, and particularly also think from an end-user’s perspective. In the end, a label/certification should help purchasers to make better purchasing decisions and sellers of good, certified products to differentiate more visibly from their inferior competitors.
    A disclaimer regarding the above example: The “dishwasher safe” logo might not actually be an official, certified label, despite its pretty uniform look. It nonetheless raises the question: What’s the value of a “dishwasher safe” logo if that only covers the materials, but not also the shape of the product? From a purchaser’s perspective, an allegedly “dishwasher safe” product that doesn’t allow all dishwater to drain at least in one viable, stable position in the dishwasher is just as useless as a product that severely deforms, shrinks or melts in the dishwasher. That logo should thus cover both materials and shape (i.e. form and function).

The actual fix, if you already have faulty products

Example of two quick-fixed “dishwasher safe” products, the above mug and the lid of a shaker (both before final cleaning of splinters). Also note that these fixes have no significant negative impacts on the structural stability, reliability and durability of the products:

Other faulty “dishwasher friendly” products

Unfortunately, there are countless other examples!
Check the bases of your coffee cups: Are they fully flat? Or rather slightly concave, as so often? If the later, are there any slits/gaps in the base so that dishwater can nicely drain when placing the cups in the dishwasher upside-down?
Similar: Bowls, glasses, plates
I haven’t tried fixing those myself yet, but milling slits/gaps with a multifunction rotary tool (e.g. Dremel) might be worth trying.

How to repair a Logitech Laser Mouse G9x/G9 with a shorted cable

Recently, my beloved Logitech Laser Mouse G9x showed signs of a broken, i.e. shorted cable. This is a well-known problem with these mice – I had a Laser Mouse G9 before and it suffered from the same problem, and the forums are full of similar reports. It’s also well-known however, that the G9/G9x is one of the best and most wanted fingertip grip mice apart from its cabling weakness (and if you use a mouse for 14+ hours daily or if you’re a pro gamer, you won’t ever want to use any other grip (video)).

Unfortunately, Logitech doesn’t produce the G9/G9x model anymore – though they probably could have easily fixed this weakness in the next revision and even improved some other aspects, like reducing the mouse’s weight. One thus has to find a dealer that still has some G9/G9x mice on stock (and accept a high “connoisseur’s” price, these mice usually sell for around 250 USD – mind fakes!) or go with a not quite equivalent, but similar Alienware TactX mouse (which is based on the G9/G9x and produced by Logitech). Alternatively, one can try soldering and fixing the shorted cable or order a spare cable from China, which are both better options than throwing away an otherwise still working mouse.

I decided to order a replacement cable including mouse feet at LittleWStore through Aliexpress for roughly 15 USD including shipping (it arrived within 2 weeks, earlier than the 4 to 5 weeks I expected to wait).

Unsurprisingly, there’s already a nice and informative YouTube video showing how to disassemble a Logitech Laser Mouse G9x, replace the cable and even how to repair a shorted cable (thanks to MrLiquidArrogance for the video – otherwise, I would have had to upload a video myself):

This allows me to only emphasize those points that deserve special attention:

  • Be aware that this repair requires advanced manual skill due to the somewhat unfortunate cabling inside the mouse and the not very maintenance-friendly attachment of the flex flat cable.
  • I’d strongly recommend ordering new replacement mouse feet as it’s almost impossible to remove the feet without tearing them, particularly if you’ve used the mouse for some years already. To remove the remaining glue, I used ethanol, but something hydrophobic (e.g. straight-run gasoline) might actually work better [Warning: Disconnect your mouse before doing this!].
  • I used my Victorinox CyberTool 34’s (video) phillips screwdrivers and it worked fine, but if you have thinner screwdrivers at hand, use those, as some of the smaller screws are a bit difficult to reach.
  • The most tricky thing to reassemble, in my view, is the mouse cable inside the mouse, which is laid out and bent in quite an odd (and scary) way. It’s also the reason why most of the G9x/G9 suffer from a shorted cable sooner or later. You have to bend and route the bundled wires in a way that they neither cover the hole for the screw in the bottom shell, nor the according plastic nut in the upper shell. This puts a lot of stress on the inner mouse cable and requires quite some manual force.
  • Other not so easy things:
    • Detaching the flex flat cable/ribbon (for the LEDs in the upper shell) without popping off the little latch (using a flathead screwdriver works though)
    • Putting the rubber grommet in place again (you need to apply quite some force and the grommet doesn’t really fit very well anyway)

For now, I’ve just quickly replaced the whole cable with a new one, but I will try fixing the old, damaged cable with my new Ersa i-CON1 digital solder station when I find time for it.

What I particularly like about the Logitech Laser Mouse G9x:

  • Its perfect geometry for finger tip grip users
  • Good quality of plastics, springs, buttons, wheel, laser sensor
  • Moderate weight (extra weights removed) as compared to the Mad Catz R.A.T. 7 (extra weights removed) – it’s still quite heavy though compared to other mice, this could be improved (if you intend to lift your mouse often, this is the wrong mouse)
  • Removable shells
  • “Hyper-fast scrolling” (this almost seems like a USP of Logitech – I like this feature a lot!)
  • Good, stable drivers
  • Has well-placed back and forward buttons with clearly defined clicking points
  • It’s a wired mouse, there’s thus no need to replace batteries, no risk of running out of battery in the worst possible moment, no added weight, no lag.

Alternatives might be:

Mad Catz R.A.T. 7:

– heavier

– no hyper-fast scrolling (I really miss that)

– less ergonomic forward and backward buttons

– terrible, totally unusable Mad Catz drivers (works well on Mac OS X though using the SteerMouse driver version 4.2.3 and newer – I tested a beta version of it – thanks, Yoshi!)

+ super customizable and adjustable geometry

+ handy precision-aim button (can also be programmed to show Mission Control or the desktop, for example)

+ handy horizontal thumb scroll wheel

Mad Catz R.A.T. 5:

If you can do with fewer or without customization options, the R.A.T. 5 or 3 will likely suit your needs as a fingertip grip user more as they’re lighter and smaller.

If you don’t care about (supposedly) durable, high-quality material, some of the other Mad Catz mice might be good alternatives too (e.g. the hard-plastic mice are generally lighter than those incorporating steel and/or aluminium)

Mad Catz R.A.T. Prox

This pro gamer mouse looks very exciting and promising for fingertip grip users – it looks like the perfect mouse to have, also for non-gamers with that grip. I really hope Mad Catz will dramatically improve their drivers though, as terribly bad drivers is currently their biggest weakness.

Microsoft IntelliMouse Explorer 3.0

Many people, particularly gamers, still like this mouse a lot, despite its age. It has a nice geometry and is light-weight (best for palm grips, but suitable for fingertip grip users with big hands too). I once had and used this mouse too (also its predecessor) and liked it a lot. The sensor is quite outdated (but liked by some gamers for its 400 dpi resolution) and used to prematurely die from one day to another. Nonetheless it was the last good mouse produced under the Microsoft brand.

Luckily, you can still find the Microsoft IntelliMouse Explorer 3.0 on Amazon.

[Edit 20150201: Fixed some typos, clarified some things, added a warning]

Quick analysis of the first animated Google doodle (“Isaac Newton’s apple”)

You probably noticed the funny animated logo on the Google search page today, January 4, 2010 (Isaac Newton’s birthday). It shows an apple falling from a tree reminding of the story that Isaac Newton was inspired to formulate his theory of gravitation by watching the fall of an apple from a tree.

Screenshot of Google's doodle in memory of Isaac Newton's birthday

Animation of an apple falling from a tree in Google’s doodle in memory of Isaac Newton’s birthday

As this seems to be the first animated logo on Google’s home page ever, I wondered how it was implemented (in particular, how well the code simulates gravity on earth). Short explanation: As expected, it’s a mix of JavaScript code and CSS formatting. And not surprising either, the algorithm used is an acceptable simulation of gravity on earth (in vacuum).

Here’s a “reformatted” version of the JavaScript code for better readability, along with some explanations as inline comments (note that this “reformatted” code doesn’t work as-is due to the inserted comments):

window.lol&&lol();
setTimeout( // execute this code once after a timeout of 2 seconds
  function(){ // an anonymous function
    var h=0, // initial horizontal offset (=0) of the apple's position
    v=1, // initial vertical offset ('delta_height' = b(t+1)-b(t)) of the apple's position
    f=document.getElementById('fall'), // get a reference to the apple image
    i=setInterval( // execute repeatedly in intervals of 25 msec
      function(){ // yet another anonymous function
        if(f){ // execute if the apple image exists (a safety net)
          var r=parseInt(f.style.right)+h, // add the horizontal offset (will move apple left for h>0)
          b=parseInt(f.style.bottom)-v; // subtract the vertical offset (will move apple down for v>0)
          f.style.right=r+'px'; // set the apple's new horizontal position
          f.style.bottom=b+'px'; // set the apple's new vertical position
          if(b>-210){ // the apple is above ground level (i.e. falling down or bouncing up)
            v+=2 // increase 'delta_height' by 2 pixels per interval (accelerate the apple's free fall or slow down its rebound)
          } else { // the apple hit the 'ground'
            h=(v>9)?v*0.1:0; // bounce apple to the left at 10% of the last 'delta_height' if speedy, else don't move it horizontally
            v*=(v>9)?-0.3:0 // bounce apple up at 30% of the last 'delta_height' if speedy, else don't move it vertically
          }
        }
      }
      ,25 // the interval in msec
    );
    google.rein&&
    google.rein.push(
      function(){
        clearInterval(i); // disable the interval loop
        h=0;v=1
      }
    )
  },2000 // the timeout in msec
)

The apple’s initial position: position: relative; right: 248px; bottom: 46px;

The apple’s final position (after the rebound): position: relative; right: 286px; bottom: -210px;

Some words about the physics:

The simple algorithm used above reflects the constant acceleration during free fall accurately, supposed we’re neglecting the effect of air drag. IOW: height(t) = height(t=0) – 0.5*g*t^2 = h(t=0) – k*t^2.

The rebound of the apple is less realistic though. I doubt an apple would rebound that high and the fact that it rebounds to the left seems to be rather arbitrary (given the image it’s difficult to judge where the apple’s center of gravity would be compared to the contact area when touching the ground on impact). Further, simulating rotational forces on the apple wouldn’t hurt the realism ;)

Symbolism:

It’s not without irony that Google shows a falling apple on its main page, as one reader points out on Mashable’s article about this animation ;)

Bash script of the day: New .de domains

The one-liner:

for i in `echo {{a..z},{0..9}};echo {{a..z},{0..9}}{{a..z},{0..9}}`;do dict -d all -C ${i}de>/dev/null 2>&1; if [ "$?" == "0" ];then echo $i.de; fi done

or the equivalent multi-liner:

for i in `echo {{a..z},{0..9}};echo {{a..z},{0..9}}{{a..z},{0..9}}`;
  do
    dict -d all -C ${i}de >/dev/null 2>&1;
    if [ "$?" == "0" ]; then
      echo $i.de;
    fi
  done

No comment (*cough*)

(P.S. That’s for ASCII alphanumeric domains only)

Security through obscurity

[..] bei Sportgrossveranstaltungen wie der UEFA EURO 2008™ ist es üblich, dass die Eintrittskarten erst wenige Wochen vor Turnierbeginn gedruckt und versandt werden. Dies ist im Sinne der Sicherheit und verkleinert das Risiko, dass die Tickets den Karteninhabern vor den Spielen abhanden kommen.[..]

Isn’t it nice how the “EURO 2008 SA” cares for us? ;)

Windows Vista or The Holy Grail of Usability

Fine. After years (heck, even decades!) of staring into distorting, flickering, radiating and mirrorlike CRT screens we finally managed to banish those darn things from our desks and to use distortion-free, flicker-free, radiation-free, coated TFT screens instead. Time to put glares and reflections back into the GUI (just try to read the labels on the taskbar)! Hallelujah! ;)

(I bet Microsoft will get back to this once the dust has settled. Apple made a similar experience with Aqua’s transparency effect which was significantly reduced in later versions.)