February 2009 Archives

twitter-logo.pngMy blog here at kolich.com has been dead over the last week or so.  I've been absolutely swamped at work.  Fortunately, a lot of great stuff is happening at HP and I'm very excited about the direction we're heading.  Because I've been so busy, and haven't had time to submit any lengthy blog posts, I got a suggestion that I should join Twitter.  The idea behind Twitter is to post very short (140 characters or less) life snippets about what you're doing, where you are, etc.  So, here I am.  Twitter has a nice REST API, so I'll probably play with it once I get back from Reno/Tahoe.  I'm heading up to the Tahoe area for the weekend.  Have a good one.
amex-black-card.jpg
This is interesting: American Express recently decided to hand out $300 gift cards to select AmEx customers as a way to get delinquient members to close their accounts.  Most likely, AmEx is targeting card holders who carry a deliquinet balance on one of AmEx's no-annual fee cards (the "Blue" and "Clear" cards, etc.).  Ideally, with this incentive, AmEx could save close to $1.8 billion in 2009.
pizza-burger-pie.jpgWant to know why most American's are overweight?  This is why: thisiswhyyourefat.com, where dreams become heart attacks.  Nothing like a Hot Dog Pie, a Sausage Egg And Cheese On A Chocolate Glazed Donut, a Sloppy Joe On A Krispy Kreme, or a Mega Double Stuff Oreo (that's an Oreo with about 30 or so cream filling pies stacked on one another).  I'm hungry now, I think I'm going to go make myself a Corn Dog Pizza.
IE8_logo.jpgZDNet recently covered Microsoft's IE8 incompatibility list in nice detail.  Not surprisingly, about 2,400 major web-sites are not "IE8 ready", meaning that they don't render properly in IE8.  Sadly, just about every important site is on this incompatibility list.  The IEBlog on MSDN discusses some of the IE8 compatibility standards and how Microsoft is trying to build a more standards compliant browser.  I'll believe it when I see it; the fact that 2,400 sites don't work with IE8 out-of-the-box isn't very promising.

Ironically, microsoft.com itself is not compatible with IE8!  Continue reading for the list of incompatible sites ...
gagawa.pngA new version of the Gagawa Java library (version 1.0.1) has been released to the open source community.  A few changes have been added to the library which make it easier to chain/append attributes and elements to a given node.  The Java class path has also changed; the Gagawa package was renamed.  The Release Notes are available here.  The latest JAR library is available here.  Enjoy.
obama-cream-of-nothing-bugfurhat.jpgFrom WorldNetDaily:  "As the Obama administration pushes through Congress its $800 billion deficit-spending economic stimulus plan, the American public is largely unaware that the true deficit of the federal government already is measured in trillions of dollars, and in fact its $65.5 trillion in total obligations exceeds the gross domestic product of the world."

Are you worried yet?

ita-snapshot.pngBy far, the best airfare search tool I've ever used in the ITA Software Trip Planner.  It's free to use, and no account is required.  To use it for free, click "Log in as a guest" once you're at the login screen.  What's so nice about this tool is that it lets you search a comprehensive list of airline fares and schedules from just about every airline worldwide.  Plus, there are no ads and other annoying sales gimmicks; just the data you need to help you plan your trip.  In fact, I think this tool is used by many travel agents.

Once you find the flight that matches your schedule and price range, click "Show booking details" in the upper left.  This will show you a booking code, and a price break down, among other things.  To book the flight, you'll need to call the airline and tell the representative you want the rate associated with the correct booking code.  The site will say something like "1 adult in booking code K, covered by fare (B1) below."  So, when you call the representative all you need to tell them is the date, flight number, and the booking code to get the price shown on the ITA Travel site.  On average, the ITA Travel search tool will find better rates than the actual airline sites (southwest.com, aa.com, united.com, etc.) themselves.  Enjoy.
When making changes to your DNS records, you may need to flush your local DNS cache.  This can happen if you've submitted a DNS change, but the system you're using hasn't yet accepted the change.  Recently, I updated the DNS record for nick.kolich.com.  However, once I updated the record, my Vista machine didn't seem to recognize the change; even though all of my other boxes did.  In this case, I needed to flush my DNS cache.

On Vista, using an Administrator Command Prompt, run:

ipconfig /flushdns

On XP, run the same command, but you don't need to be an Administrator user:

ipconfig /flushdns

Yea.
If there's one thing Yahoo is still good for, it's finding out who is linking to your domain.  Using Yahoo's linkdomain search qualifier, you can find out who Yahoo claims is linking to your site.  In the Yahoo search box, enter:

linkdomain:example.com -site:example.com

Replace example.com with your site, or a domain you'd like to check-up on.  Here are the Yahoo linkdomain results for my blog.  Remember though, using Yahoo isn't as complete as analyzing your own log files.
nadya-suleman-is-a-failure.jpg
I'm officially adding Nadya Suleman to my list of all time FAILURES.  You may have heard that Suelman recently gave birth (if that's what you call it) to octuplets.  Only problem is she's on welfare, and already has six kids.  If you're thinking rationally, you're probably saying to yourself, "yeah, this lady is a complete and utter moron."  Man, I'm with you.

Here are some other details about this whole octuplet situation that make it even more asinine (from MyWay News):

  • Suleman has been supporting her six other children with $490 a month in food stamps.  She receives Social Security disability payments for three of the youngsters that total approx $2,379 a month.  She's clearly in no position to bring a kid, yet alone 14 of them into this world.  She expects hard-working Californians and Americans to pay for this atrocity?

  • Suelman estimates her in vitro fertilization procedures have cost $100,000.

  • Suleman has said she saved for the treatments by working double shifts and also used money from a disability award exceeding $165,000 that she received after an on-the-job back injury.  She's an opportunistic leech on the state of California, the United States, and our legal system.

  • The Suleman octuplets' medical costs have not been disclosed, but in 2006, the average cost for a premature baby's hospital stay in California was $164,273, according to the U.S. Department of Health and Human Services. Eight times that equals $1.3 million.  So, how is she going to pay for this?

  • Suelman is now getting death threats for bringing eight more kids into this world, while expecting tax payers to foot the bill.  Gee, I wonder why?

Listen, I have nothing against responsible mothers, children, or having kids.  But I have everything against irresponsible people making irrational choices while expecting me and other hard-working citizens to pay for their mistakes.

Don't Yell [Shout] at Your Disks

| No TrackBacks
shout-out-at-disks.pngFrom Omninerd:  "Brendan Gregg from Sun's Fishworks team makes an interesting observation about inducing disk latency when he tries yelling at active disks."

As it turns out, you shouldn't yell at your disks, even if they're misbehaving and they've pissed you off.  Yelling at them won't help as shown in the video on this blog.  In fact, screaming at them induces latency and reduces performance.  One theory: sound vibrations from excessive noise negatively impacts disk platter performance.  This should be a wake-up call to system and data center cabinet designers: build systems to reduce noise (e.g., loud and annoying fans) and build cabinets to dampen/absorb subtle vibrations.  Doing could "theoretically" improve overall JBOD performance.  Remember, disks have feelings too.
will-it-blend.png
Few things could be more exciting than watching a blender blend an entire iPhone down to "iPhone" dust.  Or, a Tom Tom.  Or, a football.  Or, a bunch of marbles.  Or, an entire shoe!  As it turns out, YES, you can blend an iPhone, a Tom tom, a football, marbles, and a shoe.  Even, a video camera while it's recording!  Enjoy.
bad-new-sirius.pngNearly two years to the day after announcing a plan to merge, Sirius XM Satellite Radio is plunging headlong into bankruptcy.  This is really bad news for anyone who enjoys Sirius XM (or owns stock).  It's a shame because if you've ever listened to Sirius XM, you would probably agree that the service is actually quite good.  Personally, I listen to Sirius XM almost daily through my satellite TV provider, Dish Network.  I would hate to lose the great set of commercial free music channels Sirius XM provides.

Either way, the EchoStar Corporation, parent company of Dish Network, is working on a bid to buy up the remaining shares of Sirius XM.  Maybe if that buyout goes through, I can continue to listen to Sirius XM Channel 19, the Boneyard for another few weeks.
dao-ze-dong.pngI'm so impressed with Hibernate in Java, that I've decided to write my own persistence framework in PHP.  I'm pretty sure I might call this PHP framework DAO Say Dong, just because it sounds funny (and because a persistent framework exposes a set of DAO's that provide an abstract interface to a relational database; e.g., MySQL).  Once I have more details (and code) to share, I'll post what I have ready to my blog.  Until then, you might enjoy this primitive DAO Generator for PHP and MySQL.
LJ2410.jpgHewlett-Packard has warned owners of some of its laser printers to update their devices' firmware or risk having remote attackers access previously-printed documents.  According to Digital Defense, the security company that reported the problem to HP last October, attackers can exploit a bug in the printers' Web-based control interface to "read arbitrary system configuration files, cached documents, etc."  Affected printers include:

HP LaserJet 2410 with firmware prior to 20080819 SPCL112A
HP LaserJet 2420 with firmware prior to 20080819 SPCL112A
HP LaserJet 2430 with firmware prior to 20080819 SPCL112A
HP LaserJet 4250 with firmware prior to 20080819 SPCL015A
HP LaserJet 4350 with firmware prior to 20080819 SPCL015A
HP LaserJet 9040 with firmware prior to 20080819 SPCL110A
HP LaserJet 9050 with firmware prior to 20080819 SPCL110A
HP LaserJet 4345mfp with firmware prior to 09.120.9
HP Color LaserJet 4730mfp with firmware prior to 46.200.9
HP LaserJet 9040mfp with firmware prior to 08.110.9
HP LaserJet 9050mfp with firmware prior to 08.110.9
HP 9200C Digital Sender with firmware prior to 09.120.9
HP Color LaserJet 9500mfp with firmware prior to 08.110.9

Read the full security advisory from HP here.
jpandmeghan-flowplayer-stream.png
While working on streaming Flash video support for jpandmeghan.com, I encountered some very interesting buffering problems with Flowplayer.  Turns out the way I was originally loading videos into Flowplayer was filling up its in-memory buffer too quickly causing it to generate an "out of memory" error.  The video would start to buffer and then about 20 MB or so into the buffering process, it would just stop.  I dug into this a little more, and found that the way I was loading the video stream into Flowplayer wasn't optimal:  I was trying to load a 30MB Flash video file entirely into memory, which is bad.

A better approach is to use a Flash video streaming server (RTMP) to deliver your streaming content to the browser.  But, if you don't want to spend the money on an expensive RTMP solution, you're in luck because you can simulate a primitive RTMP server using Apache and PHP ...
tux-rocks.png
If you've ever hacked on a Linux box, you know that there's a slight chance the system might freeze and become entirely unresponsive.  In general, this is extremely rare with Linux but it does happen.  When installing the HPPA port of Debian Linux onto my HP PA-RISC J6000 Workstation, the Debian installer completely froze (as described here in my post to the HPPA Debian community).  BTW, I never got a response back from my attempt to alert the Debian folks of this issue.

Nevertheless, if you need to take control and gracefully restart a completely "frozen" Linux box, you'll be happy to know that there is hope.  Hold down the ALT+SysRq key combination.  While holding down ALT+SysRq, press R-E-I-S-U-B and watch your system reboot gracefully (e.g., no corrupted file systems).  Here's what R-E-I-S-U-B does while you're holding down ALT+SysRq ...

  • R: Switch the keyboard from raw mode to XLATE mode.
  • E: Send the SIGTERM signal to all processes except init.
  • I: Send the SIGKILL signal to all processes except init.
  • S: Sync all mounted file systems (IMPORTANT).
  • U: Remount all mounted file systems in read-only mode.
  • B: Immediately reboot the system, without un-mounting partitions or syncing.

sysrq-key.png

Check out some of the other Linux ALT+SysRq helper functions here.  Linux rocks, hence Tux holding a guitar.  Enjoy
Lenovo's October-December loss of $96.7m was worse than a wide range of analyst forecasts predicting a loss of anywhere between $8m and $96m. Analysts expect Lenovo's current fiscal fourth quarter to be even bleaker, forecasting a net loss of as much as $273m to include the bulk of the previously announced restructuring cost of $150m.  F3Q revenue of $3.59bn, down 20% vs the prior year.  APJ ex China revenue declined -35.9% y/y; declined 26.5% q/q with units down 23% y/y; India was particularly soft.  Lenovo expects to save $300m in the year to March 2010 from a restructuring involving cutting 2,500 jobs worldwide, cutting executive pay and consolidating its China and Asia-Pacific operations into a single division.

lenovo-f3q-results.png

Full F3Q Lenovo results can be found here.
8510w-full-speed-fan.jpg
The fan on my HP 8510w Notebook seemed to constantly run as fast as possible at all times.  When I'm running Windows Vista, I simply ignored the fan knowing that Vista's excessive CPU usage was probably the cause of my fan speed/noise problem.  However, when I booted into Linux I noticed the fan was still rev'ing out of control, even though gkrellm reported that my CPU usage was hovering between 0 and 1%.  Additionally, gkrellm told me there was little or no disk activity at the time.  So, there was really no reason for the fan to spin at full-speed.  I dug into it a little more and discovered a "Fan always on while on AC Power" option in the BIOS settings (as shown in the screen shot).  On my 8510w, this option was set to "Enable".  Therefore, anytime my laptop was plugged into a docking station or A/C power adapter, the fan would constantly spin at full-speed.  I disabled this setting, and the fan noise from my notebook is now more acceptable.

I don't know if this BIOS setting exists on notebooks other than the HP 8510w, but you can check.
Thumbnail image for apache.gifAgainst my better judgment, I've decided to publicly publish my latest kolich.com referrer log data for Oct 2008 through Jan 2009.  You can find my full referrer log here.  However, before I published it, I took some time to crawl through the log and remove all obvious referrer spam.  Many system administrators blindly publish complete referrer logs without stripping out the spam; this is bad, and only helps perpetuate the evil and ongoing referrer spam cycle.  Even after I stripped out the referrer spam, I still found a few very interesting log entries ...
rss-logo.jpgParsing an RSS feed can be tricky.  Your code has to gracefully handle all sorts of strange corner cases; everything from malformed XML to an unexpected byte sequence in the feed prolog.  I recently worked on a problem that dealt with the latter: I was trying to parse an RSS feed in Java, and kept hitting an org.xml.sax.SAXParseException: Content is not allowed in prolog.  The prolog is anything before the opening <?xml tag at the start of the feed.  I dug into it a little further, and discovered that many UTF-8 encoded files include a three-byte UTF-8 Byte-order mark.  When dealing with a UTF-8 encoded RSS feed, this three-byte pattern (0xEF 0xBB 0xBF) in the prolog can cause all sorts of interesting XML parsing problems, including a SAXParseException: Content is not allowed in prolog.  The solution is to use a quick-and-dirty regular expression to cleanup the XML prolog before feeding it into a parser ... continue reading for the details.
add-this-button-shot.png
You may be familiar with the AddThis sharing button found on many blogs and sites across the web.  Essentially, you click the widget and you're presented with a list of social bookmarking services that allow you to share URL's with your friends (assuming you and your friends are members of the specific service you're using to share links).  This widget is neat, but I wanted to make my own bookmark sharing widget; and I did.  In the far right column of my blog, notice a list of icons and social bookmarking services.  Yes, that's my widget; probably not as elegant as the AddThis widget, but it gets the job done.  I implemented this because I wanted to bush up on CSS Sprites and jQuery.  Plus, I didn't want my blog to be dependent on AddThis ...

Twitter (@markkolich)

Translate

About this Archive

This page is an archive of entries from February 2009 listed from newest to oldest.

January 2009 is the previous archive.

March 2009 is the next archive.

Find recent content on the main index or look in the archives to find all content.