Driving Oblivion

“People should be ashamed when they are passed on the right”

I’m not a bumper-sticker person.  I really have never had one, and probably never will.  I guess my soapbox-ish feelings have never overcome my greater aversion to more visual pollution.  …Except when it comes to driving considerately.  If I saw one, I’m sure I would buy and apply a bumper sticker along these lines:

keep right (except to pass)

Driving considerately depends on awareness.  If you’re oblivious to what’s going on around you, yes “mental auto-pilot” might keep you personally safe (somewhat), but it interferes with the effective flow of traffic. 

This “driving oblivion” is essentially a form of laziness.  People should be ashamed when they are passed on the right, and should feel the need to apologize somehow, perhaps by flashing their lights in acknowledgement of the inconvenience they may have just caused the passer.  But of course they’d have to notice that too… 

A similar symptom of driving oblivion is failure to indicate: just drift on over to wherever you feel like being, with no consideration for other drivers.

I guess flow and being considerate are big with me these days.

A not particularly-related frustration, but one which also breaks flow, is traffic waves.  I think I mentioned once that I’d meant to write about it as a form of compression wave, but fortunately someone beat me to it.  Traffic waves are actually not a symptom of laziness, but rather one of greediness — never allowing enough space in front of you that someone else might be able to cut in line.  In the process, your foot ends up back-and-forth between pedals, magnifying the compression waves and actually slowing the flow.  (Imagine a sink drain that burps, back with the air, forth with the water).

(Normally I’d apologize for venting, soapboxing, etc.  But lookee there at my name up top!  Speaking freely is a blog’s “why”.)

Hey, Scripting Guy!

I’ve bugged the Microsoft Scripting Guys to make a feed for their great daily Q&A.  “Coming soon” was the most I ever heard (and over a year ago)…

I don’t know what the holdup is, but it doesn’t matter to me now.  Thanks to etc., I just found Yoktu.com Feedmaker.  A moment later, I had the feed I want.  Sweet!

One note: Feedmaker has a Word Filter option.  Unfortunately it doesn’t do positive filters, so “?” hides all the links I want, instead of the generic ones I don’t.  No big deal (I’ll choke doen the extras), but hey Yoktu, how about a googlish syntax like “+?” for specifying what to include?

Top 10

It’s been a long time since I’ve done one of these, but here’s another top 10 randomized entries from my collection:

  • Byrds – Turn! Turn! Turn! (To Everything There Is A Season)
  • Kool and the Gang – 16 Spirit Of The Boogie
  • King’s X – Pretend
  • The Commodores – Still
  • Spock’s Beard – 4 O’ Clock
  • Lit – Miserable
  • Journey – Any Way You Want It
  • Van Halen II – D.O.A.
  • They Might Be Giants – Clap Your Hands
  • Mike Helm – Meet My New Friend

(Granted, I cheated when I removed the Mr. Belvedere theme song, but can you blame me?)

Got a new feed reader

A comment I just posted at http://datamining.typepad.com/data_mining/attensa/ :

I’ve been using intraVnews for several years, liking Outlook’s sorting power to manage info, but I’m not at one machine long enough lately to keep current. So I went shopping for an online reader, and found your post and the RSS Reader Survey.

Based on those, I tried (or at least looked at) Bloglines, Rojo, NetNewsWire and Great News. I mostly didn’t like the UIs (too weak or clunky compared to Outlook), and most just didn’t work on my Windows Mobile phone’ Pocket IE.

I ended up using Google Reader instead — sure it’s not as powerful as intraVnews/Outlook (no search folders, no deactivating feeds), but I don’t think I need that power since the “reading flow” is so smooth (aka “UX”, or User Experience in Microsoft’s new lingo). I don’t Need to filter out the “junk” since it’s easy to just ignore it.

Granted, it’s only been 2 weeks, but I’ve been successfully keeping up on 296 feeds pretty easily.

I should mention I was actually looking for an Outlook/online combo.  Apparently Newsgator and Attensa both do this, but Newsgator ain’t free (and I’m a tightwad), and I couldn’t find Attensa’s supposed free service…  I’ve tried the Outlook addins for both in the past, tho, and they’re fine (since it’s Outlook).

Hm, should I post my 296 feed OPML?  ..or I guess Google Reader has a sharing feature — maybe that’s something to try out.

Links for 2007-01-04

Busy?  Oh yeah.

I just reset my Sager notebook’s BIOS.

For those in a similar tight place…

Alright, I shouldn’t have experimented with the BIOS settings so flippantly, but all my other current hardware either has an internal “reset” jumper, or it automatically detects problems and resets itself, so I assumed I was safe…

Well imagine my surprise that powering on gave me an utterly blank screen, and no combination of keys would fix it.  Opening the case showed no reset mechanism either.  And Sager’s website showed no support options except an RMA form…

Fortunately I found (elsewhere) an email address for support: .  I emailed and got a response within 24 hours asking for a serial number.  Knowing it was out of warranty (and expecting a “sorry about your luck” response), I gritted my teeth & answered.

Glory be, 12 hours later I received these instructions from Daniel on how to reset the BIOS to factory settings:

Bob,

If you feel comfortable, Try this, 1st unplug all the power remove the AC Adapter and the Battery. And open the bottom cover(see attachment picture) and unplug the Cmos-Battery’s wire(red&black crop by Green Color) for like 15sec. Then reconnect it back the wire then everything ACA and the Big Battery. See that will help.

*** We don’t hold any responsibility ***

Daniel
Sager computer
18005 Cortney Ct
City of Industry, CA 91748
Tel# 1-800-741-2219 626 964 4849
Fax# 626-964-2381

Despite Bob-ifying me, it made enough sense that I was booting normally in 5 minutes (and mostly time for the tiny screws).

It’s good info, Sager just needs to share it more easily.  I wrote back to thank Daniel, and suggested they put this kind of info in a public knowledgebase.

IE7 and minWidth


IE7 was supposed to have supported min-width in CSS.  It doesn’t work right


Their spec says it applies to “floating block-level elements”, but they don’t mention that it also requires an explicit width — “auto” won’t work.  While that’s fine for “stretchy” layouts, it’s useless for what I want: a flexible, tableless form layout (with elements which can expand to their contents’ sizes).


In fact, my previous IE6 hacks to force it with CSS expressions now don’t work, because while the min-width attribute is valid in IE7, the feature is not actually implemented.  SO, while I previously could pick it up in IE6 with something like this:
SELECT {
min-width:11em;
_width:expression(this.currentStyle.getAttribute(‘min-width’));
}


IE7 now requires the same trick to be like so:
SELECT {
min-width:11em;
_width:expression(this.currentStyle.getAttribute(‘minWidth’));
}


Unfortunately, forking logic inside CSS expressions is a bit of a pain.  That, combined with the limitations of this technique (IE6 treats width as min-width only when the contained elements can’t be wrapped), prompted me to write a solution script.  Here it is:


/*
author: Rob Eberhardt
desc: fix MinWidth for IE6 & IE7
params: none
returns: nothing
notes: cannot yet fix childless elements like INPUT or SELECT
history:
   2006-11-20 revised for standards-mode compatibility
   2006-11-17 first version
*/
function fixMinWidthForIE(){
   try{
      
if(!document.body.currentStyle){return} //IE only
   }catch(e){return}
   
var elems=document.getElementsByTagName(“*”);
   
for(e=0; e<elems.length; e++){
      var eCurStyle = elems[e].currentStyle;
      var
l_minWidth = (eCurStyle.minWidth) ? eCurStyle.minWidth : eCurStyle.getAttribute(“min-width”); //IE7 : IE6
      if(l_minWidth && l_minWidth != ‘auto’){
         var shim = document.createElement(“DIV”);
         shim.style.cssText = ‘margin:0 !important; padding:0 !important; border:0 !important; line-height:0 !important; height:0 !important; BACKGROUND:RED;’;
         shim.style.width = l_minWidth;
         shim.appendChild(document.createElement(“&nbsp;”));
         if(elems[e].canHaveChildren){
            elems[e].appendChild(shim);
         }
else{
            //??
         }
      }
   }
}


It uses a shim technique to fix it only for IE (other browsers don’t support currentStyle).  The remaining limitation here is that it only works on elements which canHaveChildren, so it does not work on childless elements, like form INPUTs or SELECTs.  Any suggestions for this case are welcome!


To use it, just call fixMinWidthForIE() in the window.onload, or better yet when the DOM has loaded, and you’re set.


2006-11-20: I updated the script for better standards-mode compatibility (it was causing extra blank lines).  I had missed the doctype switch in my current project.  The good news is that IE7 in standards mode does do min-width.  (I wish I’d noticed that sooner!)  However, I still have a lot of IE6 miles to go before I can put it to sleep…


 

Finally off dotText!

It took ages, but I’m on dasBlog now.  Good riddance to dotText!  — I bid it lovingly, though, since it served well for a 1st generation blog engine — Somehow a couple hundred legitimate posts + comments garnered many thousands of comment spams.  I expect dasBlog will handle that all better; captchas are a tad annoying but effective, I hear.

That dasBlog is still under active development is a good sign.  I find that quality much more  important these days.  For reference, dotText was last updated almost 2yrs ago (and wasn’t even really released).

So in other news (in the sense that no news is its own news), I haven’t posted much of anything in a couple months, and even then there wasn’t much meat.  I plan to start writing/posting with something like BlogJet.  (Yes, I actually used dotText’s web-based editor, which was text-only in Firefox — I’m entirely too comfortable with code for my own good).  Hopefully this ease will lubricate the writing process.

Regarding the transition: I used two great tools.  One was Aaron Junod’s great dotText to dasBlog converter to migrate the content.  This would have done the trick many moons ago, except that I didn’t want to orphan all my incoming links (a big no-no to a web dev like me).  Fortunately, Scott Hanselman published a Regex to remap URLs from dotText’s format to dasBlog’s (If only I hadn’t fat-fingered that one the first time I tried it way back, it’d actually have worked). 

Finally, some outstanding meta-throbs junk:

  1. Comments were probably lost.  Sorry.  I noticed spammers were usually changing the subject from the default “re: whatever”, so I killed most of the rest. 
  2. Search is gone for the moment.  I’ll add it back in Real Soon Now.
  3. Images and other locally-hosted junk is probably all broken.  I’ll fix that slightly sooner.
  4. Comments are screwy (dotText saved as HTML.  dasBlog doesn’t.)
  5. Layout is messed in IE6.