Archive for December, 2005
Excitement is the Best Motivator
No matter what I’m doing, my biggest challenge is motivating myself. It’s not that I’m lazy (I’m not), it’s that I’m always more interested in the exciting things than I am in the necessary things. This has some incredible benefits, such as always keeping my mind open to innovative new ways to solve problems, but it has some obvious drawbacks as well. I always find it difficult to get myself excited about work I have to do, even though I’m usually happy as a clam when I’m actually doing it. Thankfully, this morning I finally made an obvious connection between excitement and motivation.
I sat down at the breakfast table wanting to procrastinate getting to work, flipped open my On-the-Go Reading binder, starting reading, and before I knew it I was itching to get my hands back on a keyboard. Reading all the interesting articles I had printed out earlier for myself excited me about my field and got me thinking again—and thinking is what I like to do best, it’s when I’m happiest. So even though it seems really simple, this revelation is somewhat new for me and it’s been a long time coming.
I’m going to keep an eye out for additional ways to motivate myself and to keep myself excited about what I’m doing, because there’s no better motivator than a good dose of excitement. It brings the enthusiasm I need to feel good about starting what I need to do. I’d also like to hear about the ways you keep yourself motivated if you have methods of your own.
Safari Crashes on Certain CSS-Generated Content
While doing some design work for a client today, I found a rather peculiar bug in the Safari rendering engine that causes the browser to crash. I’m not sure if this is already a known issue or not, but in either case I’ve developed a short demonstration page to showcase when the bug is present.
In brief, whenever CSS-generated content causes a line to reflow beyond the boundaries of its inline box (that is, whenever the text flows past a single line and on to two or more lines) and is then removed again, Safari’s rendering engine doesn’t know how to handle the situation and crashes the browser. This situation is esoteric enough that most site designs won’t have anything to worry about, but if you are trying to use such an effect in Safari then it’s important to be aware that you may end up crashing your visitor’s browser.
Rather than crash their entire browser (which certainly won’t earn your site any brownie points), hide the offending CSS rule from Safari by using the language pseudo-class filter or similar.
Money Management Needs a Mac Miracle
What troubling circumstances. I’m in dire need to get my finances in order and as a result have been scouring the web for all the personal financial management software I can find. I’m a Mac aficionado and use OS X as my primary computing platform. Microsoft’s Money line of products have a rich feature set, good compatibility, and seem to get largely positive reviews, but they’re only available for Windows-based computers and have a host of annoying requirements such as obtaining an MSN passport.
The only major player in this field for the Mac is Intuit’s Quicken for Mac, but reviews are so mixed I can’t make heads or tails of it. Some say it’s hands-down the worst program for Macs out there sporting a horrible UI and troublesome bugs, while others say it works all right by them. I don’t want to have to switch to Windows or get the $130 Virtual PC just to keep track of my finances. That’s utterly ridiculous.
So in the meantime, I’ve gone in search of other Mac OS X financial management programs. A short while exploring Moneydance’s free trial left me decidedly disappointed. It felt slow and clunky, its interface was decidedly non-Mac like (though I suspect Linux geeks familiar with KDE and GNOME would feel at home), and every time I wanted to do a simple task I had to click through countless set-up screens.
The only Mac OS X finance management software I liked the looks of was iBank, but as far as I can tell, it does not yet support online banking through OFX, OFC, or QIF and friends. iBank feels like a true Mac application, gave me everything I wanted to see in one window, and provided one-click access to additional information about my accounts, transactions, and reports. Plus it ran fast and felt smooth, and matched Moneydance’s price tag at $39.99. If only it wouldn’t force me to enter all my transactions manually….
Finally, since I’d ideally like to use whatever program I buy for my business as well as my personal finances, I looked at QuickBooks Pro for Mac. Unfortuantely, it comes with an exorbitant price tag (nearly $200), and its reviews aren’t exactly glowing either.
So maybe I’ll end up using the familiar old Microsoft Money Deluxe that my mother uses after all. Sigh! Apple, where are you?
Organizing Information Consumption
Inspired by my recent success at organization, I have decided to take things to the next level: organized information consumption.
The first thing that started happening after I had an efficient workspace was that I began to inefficiently work in that workspace. “Good going, Meitar,” I told myself. “You’ve just wasted six hours doing nothing but checking email and reading newsfeeds—again. Sure, you learned about two new IE security vulnerabilities, found out how long it would take to read a terabyte of information, and even mused over the latest USB-powered office warfare, but those projects you’re working on haven’t gotten very far, and what’s really more important to you?”
This little internal chat I had with myself occurred last night, just after I diagnosed myself with a moderate-to-serious case of NADD (Nerd Attention Deficit Disorder) and learned how to identify Repetitive Information Injury (or “RII”). According to the official web site:
NADD sufferers walk a delicate tight rope between effectively consuming large amounts of information and losing themselves in a endless loop of useless, frustrating information acquisition motions.
Such information acquisition motions can take many forms. Chief among them is obsessive email checking, and spending long hours reading news feeds, watching television, or web browsing. Most of the time the information you’re gathering just isn’t helpful, but every once in a while you come across incredibly useful and exciting things. You then remember these “highs” and the next chance you get to check your email or surf the web or read your news feeds, you don’t want to stop until you’ve found that golden tidbit of information that’ll excite you like last time. You become addicted to information.
Hi, my name is Meitar Moscovitz and I’m addicted to information. I suffer from repetitive information injury. I admit I have a problem.
My Information Diet Plan
There, I’ve taken the first step. Now what am I going to do about it? Unfortunately, there’re no existing support groups in my area for NADD sufferers, so the next steps for me are going to involve a series of self-imposed limitations. Here are some ground rules I’m setting for myself:
- Limit reading email and news feeds to, at most, one hour each morning and one hour before going to bed. This prevents me from waking up, opening NetNewsWire and waiting ’til the sun goes down to start doing something productive. (Yes, it’s happened before, even when I woke up early that day.)
- Limit email and news reader refreshes to once each hour.
- No chatting online on IM networks or IRC while working unless the conversation is work-related such as a quick design question or help with a malfunctioning, necessary system component.
- No non-work related web browsing during working hours. This is harder because my definition of “working hours” is not standard (I’ve been thinking of changing that, too), and thus nine in the evening might well be within working hours for one particular night, while eleven in the morning might not be. So for now I’m calling working hours coding and/or research hours, and I’ll try to keep my web browser pointed to documentation as opposed to web blogs while I’m coding.
So those are my four starting ground rules. While I’m on the subject, no coding for over six hours in one sitting. Despite the seeming productivity boost by coding for seventeen hours at once, in reality I just end up making too many stupid mistakes that could easily have been avoided by taking a half-hour coffee break. In fact, those coffee breaks would be the perfect time for web browsing or reading non-work related news feeds or email, as long as I return to work instead of getting caught in an RII-loop.
Leaner Information Recipes
To help myself cope with this information diet, I’m using a few techniques I’ve picked up from other people and, of all places, good software. For instance:
-
In order to help me prevent RII from email and reading news feeds I’ve already set Mail and NetNewsWire to poll for new items only once an hour (as opposed to their five minute defaults). In the past, this only caused me to hit the refresh button more often so I’ve now removed that button from my toolbar entirely. (I hope I don’t memorize the keyboard shortcut.) I learned this from the fine folks at 43Folders.
When I’m not focused a new email message is really engaging, but when I’m busy working I can more easily put off looking at that email until I’ve gotten some actual work done.
-
I will heretofor disconnect or “Appear Offline” from my IM and chat networks while working. No more setting my status to merely “away” or “busy”—people still IM me and I’m always too tempted to respond. Yes, I really can wait to hear about your latest date (even though I may not want to). No worries, however, since I’ll be sure to sign on for a half hour when I take my coffee breaks.
-
As I’m sure most of you are aware, Apple’s iPod has an “On-The-Go Playlist” feature which lets you create a playlist while you’re on the go (clever name, huh?) such as on the subway or at your favorite café. That’s pretty spiffy, so I’m going to apply this same principle to help combat RII.
I bought a very cheap (three dollar) plastic one inch ring binder and labeled it my “On-The-Go Reading” binder. Now, whenever I come across an article or blog entry I feel I just have to read (how can I not try to absorb everything in the world?) I’ll hit the print button on my browser and stick it in my On-The-Go reading binder. Then, when I have nothing better to do on the subway or while eating breakfast or while I’m waiting for someone to show up to a meeting or any time when I’m not doing something and could be doing something, that’s when I’ll open my On-The-Go reading binder and read all my saved, probably-useless-but-still-interesting articles.
By shunting the consumption of information away from my immediate working head-space, I hope to remain more focused on the actual task at hand while I work. An added benefit is that I’ll make better use of my time when I’m not working. It’ll also hopefully save my eyes from unnecessary hours staring at the computer screen, which can’t be all too healthy anyway. Thanks are due to my mother for teaching me that low-tech still rocks.
This is all part of my continuing effort to get and stay organized and, more importantly, productive. There’s nothing else that makes me quite so happy as being productive, and there’s nothing else that makes me quite so upset as feeling like I’ve wasted my time. The main lesson I’m learning from all of this effort is that before I can do anything productive, whether it be in cyberspace or not, I have to organize meatspace first.
Self-Diagnosis: I’ve got NADD
This entry is mostly just a reminder to myself to read this and then this. Of course, from just skimming the article for under a minute, I’ve pretty much decided I’m already afflicted with these disorders. Maybe a more thorough reading will help me figure out what to do about it.
Storage Space Beyond Cheap
When I went shopping the other day, I stepped into CompUSA looking to buy a few computer components. One of these was a hard drive. When I approached the rack, a salesperson came up to me and asked me how much space I thought I needed for my computer. I answered that I didn’t need much; I just wanted to get the cheapest hard drive on the shelf.
It turns out that the cheapest hard drive on the shelf was a 250 GB, 7200 RPM Maxtor drive with a 16 MB cache. It retailed at $159.99, was on sale for $139.99, and had an $80 mail-in-rebate to top it off. That’s a pretty great deal (and here’s another if you’re jealous).
The prices of storage media are continuing to decline, and it’s getting to the point where it’s practically impossible to use all of the space you can buy. Let’s take a moment and add it up. Say I didn’t buy one hard drive, but two. That would have been 500 gigabytes at a price tag of $120. Doubling that (if I bought four hard drives), I’d have 1,000 gigabytes or roughly one terabyte for a mere $240. Heck, I could buy myself two terabytes for under $500.
But just how big is a terabyte? According to A.P. Lawrence:
If you can read 1,000 words per minute, and did nothing but read 24 hours a day, 7 days a week, it would take you around 2,000 years to read a single terabyte of data. Your computer can’t read a terabyte all that quickly either. If it could sustain 100 megabytes per second, you need ten million seconds. Don’t hold your breath while you wait.
Right now, I have a 40 GB drive on this machine that’s getting close to full. If I backed it up to a terabyte drive, I could make 25 copies of it before I ran out of space.
[…]
The hairs on your head might number around a quarter million, so you’d need four million people to get a terabyte of hair strands. Limit the eligibility to middle aged men and you might need a few more.
Fine sand seems to represent large numbers in fairly small volumes, sometimes estimated at 10,000 grains per cubic centimeter. We’d need 100 million cubic centimeters to get a terabyte, which is bigger than I want to store in my back yard.
The point is that even a terabyte of data is a tremendous amount. It seems we really are getting awful close to “big enough” for personal storage, though “fast enough” is still a long way off.
So it seems that the limiting factor in the amount of information our technology can handle is how fast we can access and process this data, not how much data we can keep. I just think it’s humbling that something like computers, often believed to exist in a realm of their own (“cyberspace”) are still subject to the same immutable laws as the rest of the physical world.
Two New Internet Explorer Security Vulnerabilities in One Week
As if there weren’t enough reasons not to use Internet Explorer for Windows, this week alone two new threats were discovered. The first is a Trojan horse that exploits a (still unpatched) bug found in Internet Explorer first discovered in May.
Microsoft has yet to provide a fix for the vulnerability, but is working on a patch, according to the security advisory. Security-monitoring company Secunia deems the problem “extremely critical,” its rarely given highest rating.
The vulnerability puts computers running Windows 98, Windows Millennium Edition, Windows 2000 and Windows XP at risk. An attacker could gain complete control of vulnerable systems by hosting malicious code on a Web site. Once an IE user visits the site, the malicious program would run without any user interaction.
[via ZDNet]
The second is a design flaw in the way Internet Explorer handles CSS import commands and allows an attacker to retrieve private user data or execute operations on the users behalf on remote domains,
Matan Gillon, who discovered the vulnerability, wrote in his article. The reason this is so troubling is because, by exploiting this vulnerablity, attackers can actually bypass extremely strict security limitations and create JavaScripts that have inter-domain communications ability (XSS attacks). If that sounds scary it’s because it should.
[Unlike] classic XSS holes […] in this case the target site doesn’t have to be vulnerable to script injection. All an attacker has to do is lure a user to a malicious web page. Thousands of web sites can be exploited and there isn’t a simple solution against this attack at least until IE is fixed. That means millions of IE users are affected by this design flaw.
This vulnerability has been tested to work on a fully patched Microsoft Internet Explorer 6 browser and earlier versions are possibly vulnerable as well. Mozilla Firefox seems to adequately keep domain restrictions in CSS imports and doesn’t seem to be vulnerable to this type of attack. Opera isn’t vulnerable because it doesn’t support the
styleSheetscollection. Possible solutions for users to mitigate this attack would be to disable Javascript in IE or use a different browser.
If you haven’t yet, now it’s really time to switch.
The USB Arms Race Newest Weapon: Air Darts
When I saw this come over the wire, my first thought was a revengeful Milton targetting Lumberg from his cubicle (ala Office Space warfare).
It’s been a while since a USB toy excited us as much as the compressed-air darts available through Marks & Spencer, of all places, for a mere £19.50 ($33.43). The USB-powered darts come in a set of three, are Mac and PC-compatible and can be controlled via a mouse. We’re already making plans to figure out how to control a set over VNC so we can deploy these against the dude in the next cube while we’re a safe distance away. He’ll never know what hit him.
[via Engadget]
Organizing My Workspace
Compare the following two photographs. The first is a photograph of my workspace several months ago, the second is what it looks like tonight after some major reorganization.
It took a long time and over one hundred dollars to organize my workspace, but it was well worth the effort. I now have a well-lit, clutter-free desk where I can be productive without being distracted by all the clutter. Here’s how I did it.
First, I started to clear space. Everything that wasn’t needed for the work I was doing went someplace else. Any CDs, tools, books, or anything else that I didn’t need at arm’s length while working was set aside. This let me focus on what items I did need to organize and not on the ones I didn’t.
Next I focused on clearing up space. When I work, I like to have a clear workspace (or desk in this case), which means that everything on my desk needed a place to live when it wasn’t being used. The more desk real estate I could clear up, the more space I would feel like I had available to work with when I was actually working.
The first step for this task was to organize my drawer space. I already had two rolling cabinets, and so I designated one of them (the larger) to store all the items I wanted to keep handy but didn’t use very frequently. This included things like driver and software restore discs, extra ethernet, USB, FireWire, and other computer and telephone cabling, and adapter dongles. Taking the organization one step further, I designated a specific drawer for a specific kind of item. The bottom drawer, for instance, contains power cords, and coaxial cabling—things I don’t need to access very often—while the top drawer contains things like card readers and adapter cables for computer peripherals (such as my digital camera) that I often connect to my computer but don’t keep attached for very long.
After I consolidated space by hiding things in drawers, I started to look at saving space by going vertical. I packed my shelves with as much as they would carry, keeping in mind that the things I used more frequently were the things I should keep closer to my chair. It actually took me quite a while to figure out what items I used most frequently, so for a while I kept moving things around until I found a comfortable home for all the items.
Finally, when I had no reasons to remove items from my immediate workspace, I went to staples and bought all the desk accessories I thought I could use: letter trays, paper step organizers, a pen holder, and a printer stand. I also splurged on a dry-erase whiteboard so I could write temporary notes and messages to myself while I worked. I also bought a good deal of cable ties and used them to bundle all my various cables into manageable groups to make cleaning underneath my desk easier.
After all this, I finally have a workspace that I feel productive in, but I’m not stopping now. I’m trying to make sure that whenever something can be accomplished more efficiently I’ll find and implement a solution for it.

