Posts belonging to Category Technology



How Big Is Big Enough?

A survey performed by Jupiter Research has concluded that 1000 songs is about the right size for a portable media player.

One thousand songs is just about the right size for a portable media player, according to a survey by Jupiter Research.

The online survey found that 90 percent of consumers have no more than 1,000 songs on their PCs. And 77 percent of the consumers Jupiter questioned said they’d be interested in purchasing a portable media player with a capacity of 1,000 songs. The 4GB hard drive included in Apple Computer’s iPod Mini, and in MP3 players from some Apple rivals, holds roughly that number of songs.

This is a subject of some interest to me since I have an iPod Mini.  I have been asked a number of times why I bought one, since the regular 15GB iPod is only $50 more (the iPod Mini is $249 and the 15GB iPod lists for $299).  A quick check of my music collection shows that I currently have 5511 songs taking up 55.2GB of space.  And this is likely to grow as I buy more CDs (additionally, my collection is larger than most because I rip MP3s at 320Kbps).  So my answer is that no iPod in existence can store my entire collection.  No matter which one I got I’d have to suffle songs on and off the device.  Since I’ll be managing the music on the device anyway, it then becomes a matter more of aesthetics and of whether there is enough space for my needs.  I made the decision that 4GB is enough given the logistics of managing the music on the device.  With a mix of 320Kbps MP3 and 128Kbps AAC files I can get a couple days worth of music onto the 4GB iPod Mini.  And realistically I don’t listen to my entire music collection so it doesn’t make sense for me to carry the whole collection around all the time.

Phone Queue Hell

I was trying to get the data kit for my Motorola V400 working with my Cingular Wireless Internet Express service, but kept getting failures to connect.  After tinkering with it I finally bit the bullet and called Cingular support.  After a while on hold I finally got a live person, but this guy was somewhat clueless about the data connect kit and I finally asked to be transferred to the data group.  After another 15 minutes or so on hold I got connected to a tech who knew what he was doing.  After confirming a few settings, he had me power-cycle the phone and it started working.  It turns out that when they added the Wireless Internet Express package they forgot to add a “data line” to the account. 

Anyhow, the techs were friendly enough once you got through to them.  The problem was that they were running Cingular commercials while I was on hold.  This is somewhat annoying in and of itself, but I’ve come to expect it.  The problem is that I spent 30 or 40 minutes on hold listening to the same four ads.  They could have at least done me the favor of running some different ads given that they have to know their hold times are long (which is obvious since they repeat that “your call is important to us” message every minute or so).

One thing I found curious from the ads is that their road-side assistance package is less expensive per month than their cellular phone insurance ($2.99 vs $3.99).  I guess the ads managed to penetrate my brain through sheer repetition.

Now that the data kit is working, though, it’s pretty handy.  It lets me connect my laptop to the internet directly through the phone using GPRS.  It doesn’t use any airtime minutes, but instead charges on the basis of amount of data transferred.  I don’t know if I’ll ever have to use it, but it’s handy to have as a just-in-case backup or for use when traveling.

Blackout Blame Game

Murphy is a nitpicky bastard.  Whenever something goes wrong it’s usually the result of the confluence of a number of small things that if taken by themselves would likely be considered nuisances, but not critical.  On Saturday Slashdot picked up this article from SecurityFocus that summarized the results of the report issued by the blackout investigators.

The problem began when three of FirstEnergy‘s high-power lines sagged into trees.  Normally, this would have sounded an alarm and the operators would have routed around the trouble.  A few people might have lost power, but that would have likely been the end of it.  However, it turns out that there was a critical bug in the GE Energy XA/21 Energy Management System (EMS).

Sometimes working late into the night and the early hours of the morning, the team pored over the approximately one-million lines of code that comprise the XA/21’s Alarm and Event Processing Routine, written in the C and C++ programming languages. Eventually they were able to reproduce the Ohio alarm crash in GE Energy’s Florida laboratory, says Unum. “It took us a considerable amount of time to go in and reconstruct the events.” In the end, they had to slow down the system, injecting deliberate delays in the code while feeding alarm inputs to the program. About eight weeks after the blackout, the bug was unmasked as a particularly subtle incarnation of a common programming error called a “race condition,” triggered on August 14th by a perfect storm of events and alarm conditions on the equipment being monitored. The bug had a window of opportunity measured in milliseconds.

“There was a couple of processes that were in contention for a common data structure, and through a software coding error in one of the application processes, they were both able to get write access to a data structure at the same time,” says Unum. “And that corruption led to the alarm event application getting into an infinite loop and spinning.”

The GE representative thinks that this kind of bug would not have been caught, even with more testing.

The company did everything it could, says Unum. “We text exhaustively, we test with third parties, and we had in excess of three million online operational hours in which nothing had ever exercised that bug,” says Unum. “I’m not sure that more testing would have revealed that. Unfortunately, that’s kind of the nature of software… you may never find the problem. I don’t think that’s unique to control systems or any particular vendor software.”

I’m not so sure that he’s right about that.  Allowing multiple concurrent accesses to a data structure sounds like a problem of poor locking control over that structure.  This could occur because the developers didn’t realize the need for locking in competing modules (which can happen when dependencies aren’t well communicated, or the side-effects aren’t well considered).  It can also happen inadvertently through copying of pointers to the data (C and C++ are highly flexible, but this flexibility allows for all kinds of nasty problems like this).

In any event, it may be possible to prevent these kinds of bugs, but the question becomes one of cost.  A rigorous, process-based development environment like SEI CMM Level 5 can help alleviate the problem (as an example, the Space Shuttle’s onboard software development team is at CMM Level 5).  However, this requires additional time and effort to do rigorous, line-by line inspection of the code as well as thorough documentation.  Reviews are done at every step (requirements, design, development/code, test plans, etc).  Every step is documented as to defects found and corrected, and each defect is analyzed to see where in the process (requirements, design, code) it was injected.  Then actions are devised to prevent that type of defect from being repeated.

But this is slow, and costly.  Most commercial software development is under time and budget pressure which results in people working long hours with few breaks just to “get it out the door.”  Unit testing, functional testing, system testing, and systems integration testing will find the majority of the bugs, but that just means that you’re left with the nasty, pernicous ones.  The kinds that only show up after 3 million hours of operation.  It requires up-front time and effort to prevent these kinds of bugs.

Working Around Annoyances

Advertisers don’t seem to have any boundaries when it comes to getting their “message” out there.

Backers of a new model hope to tap one of the last ad-free frontiers of the Internet—the text of articles and message boards—in what they bill as the ultimate contextual advertising play.

But the IntelliTXT system, which rolls out today, is drawing the ire of journalists and others who say it not only blurs the line between advertising and editorial, it erases it.

Vibrant Media is betting Web surfers will get accustomed to seeing green, double-underlined words sprinkled throughout articles and message board posts. Scroll over one of the green IntelliTXT links on a 17-inch monitor and up pops a green-tinted 2-by-4-inch ad that looks like one of the ads in the right-hand column of a Google results page. Clicking on the link takes surfers to the advertiser’s splash page. IntelliTXT tested since last year in about 100 online publications, including Hearst’s Popular Mechanics and several technology, gaming and automotive sites.

I did some looking around and found an example of what one of these ads looks like:

IntelliTXT.jpg

I did a little analysis of the page and there are very few changes to the actual body of the HTML.  The only thing I could find in the source was that the body was contained in a <div id=“intelliTxt”> tag and a single <script> entity was added, which loaded dynamically generated JavaScript from an ASP script on ‘itxt.vibrantmedia.com’.  The JavaScript code is somewhat obfuscated, but from what I can see it scans the text of the ‘intelliTxt’ division and adds the pop-up text based on a list of keywords that it knows about.

Since this scheme relies on getting the JavaScript code from a server, the simple solution to removing it is to make the server inaccessible from the client.  If the JavaScript code isn’t downloaded you’ll end up with the original content sans the keyword popups.  An old trick a lot of people have been using is to add the offending server to their local ‘hosts’ file with an IP address of 127.0.0.1, which is the loopback address (i.e. any traffic to 127.0.0.1 doesn’t go anywhere outside of the local machine).  People usually put doubleclick.com and some other obnoxious ad servers in there.  I have verified that this trick works with IntelliTXT as well.

If you’re a Windows user (NT, 2000, or XP), add the following line to the file windowssystem32driversetchosts (95/98/ME users have a hosts file, but I don’t remember if it’s in the same location):

127.0.0.1    itxt.vibrantmedia.com

I should note that I’m not opposed to advertising in general.  It costs money to run a website.  Further, the technology itself isn’t necessarily bad.  Some sites use similar technology to show definitions for certain keywords, which is useful.  However, there’s something that just feels slimy about hooking advertising to the basic text of an article.  Or in the case of Off-Road.com, the advertisting is added to the message boards, which means that text entered by users conversing with one another is subject to these ads.  It’s kind of like having someone else pervert your words to use in their marketing efforts.

The Navy’s Star Wars Ship

I saw this post on Right Thinking the other day about the Navy’s experimental ship the SwiftHere’s more information about some of the systems on board.

Speaking Of Speakers…

I think these guys may have just a little too much time on their hands.  It’s either that or they’re insane.  They created a double-horn subwoofer under the floor of an audio room.  The excavation for the enclosure was 60 cubic meters in volume.  Each horn is 9.5 meters long and the subwoofer has the ability to output full power at 10 Hz (most modern stereo equipment doesn’t go below 20 Hz because CDs can go lower than this).

Sake Soaked Speaker

This is one of those cases where someone just kept plugging at the problem until one day inspiration struck.

Some engineering problems take longer to solve than others. Inventors struggled for decades to find the right filament material, before Thomas Edison tried carbon and made a practical light bulb.

Toshikatsu Kuwahata, an engineer at the audio factory of JVC (Victor Company of Japan Ltd.), in Yokohama, is no stranger to such lengthy struggles. He wrestled for more than 20 years with his own personal challenge—making a speaker cone that could be manufactured in quantity out of wood.

Why would anyone want to use wood to make a speaker cone?  It turns out that wood’s natural properties include the ability to propogate sound very quickly and its natural internal dampening effect leads to smoother frequency response.  The problem is that wood has to be deformed radically to make a speaker cone.  He tried several approaches, but either the wood cracked or the process was too expensive for mass production.

So, how did this inspiration come about?  At a restaurant:

Then, five years ago, a colleague, Satoshi Imamura, was dining at one of his favorite restaurants. Imamura contemplated the texture and malleability of the dried squid he was chewing. He asked the waiter how it had been prepared, and the waiter explained that the squid had been soaked in sake.

Imamura and Kuwahata tried soaking the speaker wood in sake. It worked! (They also tried Suntory whiskey; it didn’t. Imamura isn’t sure why, but he theorizes that there is something unique about the acids in sake, which is simply fermented, as opposed to those in whiskey, which is distilled after fermentation.)

The sake makes the wood sheets malleable but—crucially—without affecting their strength. The sheets are then infused with resin and a mold-release agent. The resin prevents the wood from absorbing moisture, helping it to retain its shape in high temperature and humidity long after it’s been molded into the shape of a speaker cone.

It just proves that you never know where you’ll find a solution for a thorny problem.

I’m A Sucker For Technology

As usual, I went into a store yesterday with the intent of doing something small and came out with a lot more than I intended.  I had originally gone into the Cingular store to inquire about changing my rate plan (I probably could have done the rate plan change over the phone, but since the Cingular store is just a couple of blocks away I decided it would be best to go in person).  When I went to Minnesota last month I forgot that I was on the Texas-regional plan and I ended up with around $50.00 in roaming and airtime minutes.  After that I went to the Cingular website and I found that I could get almost the same number of minutes for the same monthly fee on the national plan.  For some reason, though, the Cingular account management website wouldn’t let me change my rate plan online (although it does have options to do so).

After talking to the rep in the store, I learned why.  It turns out that when I bought the Nokia 6340i last April that while it’s a dual-mode phone (GSM/TDSM), with Cingular it functions on their GAIT network, which isn’t the same as the true GSM.  Apparently they were in the midst of a transition when I got my phone.

The GAIT plans weren’t as good as the GSM plans in cost or minutes, so I started leaning towards getting a new phone.  The rate plan alone wasn’t the only reason for this, though.  While I’d originally been pleased with the 6340i’s features, I’d come to be disappointed with its sound quality after using it for almost a year. 

So, I ended up getting a Motorola V400 camera phone.  So far, the sound quality is better than the old Nokia and I’m liking the flip phone form factor.  The only problem is that I haven’t been able to make the wireless internet feature work yet.  I think I know why and I’m going to go back to the store tomorrow to straighten it out.  The store rep suggested that it would be better to have the new rate plan take effect on April 15th, since that is the normal billing date for my account.  Unfortunately, that means that the new features don’t take effect until then, either.  Since I’m planning to go to Pittsburgh on the 16th, I’d rather have to deal with the pro-rated bills and have everything working than have faith that things will just start working on the 15th (which is the last-minute before my trip starts).

Getting A Voice

For the first couple of hours after I got back I had to have gauze pads in my mouth and limit my speech to avoid disrupting the sutures.  The gauze pads made it hard to speak anyway.

Given my penchant for technological solutions, a quick bit of Googling found this demo page for AT&T’s Natural Voices product.  It came in handy today.  I think I’ll keep the link around in case of a laryngitis attack.  It’s tempting to buy one of the products that uses Natural Voices, but it doesn’t seem cost-effective for something I’d use only on occasion.  I’ve always been somewhat ambivalent about using demo software for “production” use and not purchasing the full product, though.

Yes, I could have just used a pad and a pen, but I type much faster than I write.  Not to mention that my handwriting varies from illegible to hieroglyphic unless I try really hard (which is slow), in which case it’s just messy.  Back in elementary school when handwriting used to be an area where you got graded, that was often the only thing that kept me off the honor roll.  I usually got all A’s, except for the C’s and D’s in handwriting.  Not that I’m bitter about that or anything…

Gee Whiz Star Trek Stuff

A company has combined available Wi-Fi technology with server-based voice recognition to create a Star Trek-like communicator.

Just as the communicators that Captain Kirk carried down to alien planets in the 1960s version of the Viacom TV show foreshadowed a world with ubiquitous mobile telephones, the two-ounce badge central to the Vocera Communications System was inspired at least in part by the “com badges” that appeared on later versions of the show. Just as Captain Picard would do, Vocera badge wearers can touch the slim device they wear on their uniforms, say who they want to talk to and, assuming that person is wearing his badge, be connected.

Interestingly, hospitals are the prime environment for this kind of thing.

It turns out that communication in a hospital is often an amazingly inefficient affair. Nurses and doctors spend a lot of time playing phone and page tag. Nurses need approvals for treatments from doctors who often aren’t easy to find. Paging the doctor usually takes several minutes, by which time a nurse may have left the station where she was waiting. Then the whole process starts over until finally one catches up with the other.

With the Vocera badge, a nurse needs only to hit a button and say the name of a doctor. The request goes over the hospital’s wireless network to the server, which then locates the appropriate doctor and delivers the message more or less instantly. If the doctor is available he or she can respond right back. If not, the nurse can ask for another doctor, by name or by specialty. Say “I need an anesthesiologist,” and the server finds the nearest anesthesiologist and connects him.

All of the components (Wi-Fi, voice recognition, VoIP) of this device are basically off-the-shelf items, but they’re the first company to marry them all together in a convenient package.