Saturday, April 23, 2005

Everyone loves Garfield...

Completely and totally unrelated to software development, I found this:

And made this:

Okay, so it isn't exactly funny, but given that the tools given to people to use are quite terrible, I'd say it ranks somewhere from sort of funny to downright hilarious - depending on your personal luck with "the ladies."

As to how this relates to software development: Give people enough tools to get the job done, but not too many or users will get lost quickly (or use them for means they weren't meant to be used for). Given this tool is available free for everyone to use, you wouldn't want to grant too much power or people will start their own rogue Garfield strips. However, there are too few options to do anything remotely hilarious. It took me a long time to figure out the best way to pummel Jon was to use a pillow. That's frustrating. I could have used the other props. but the characters and objects are limited to the edge of the screen (figured just having his feet showing at the end was an option, but it isn't). So a pillow it was. Lame, but it works.

Thursday, April 21, 2005

MSDN Library vs. "Grandma"

Dear Microsoft,

Can you PLEASE stop using pictures of people on the MSDN Library CDs/DVDs? No offense, but this latest release has me realizing that I don't want to be looking at someone else's "grandma" for three months (the last one with that guy with the nasty goatee grossed me out for three months and this one is already making my stomach churn and my face turn green). While I'm at it, I don't want to be looking at anyone - about:blank suits me just fine. I'm sorely tempted to rollback several releases until I find a better-looking picture. But I know Microsoft wants to always look and sound impressive, so pictures of tech. stuff works fine by me. Come on, seriously, you've got plenty of geek toys lying around - Pocket PCs, Tablet PCs, that new mouse with the horizontal scroll - we're geeks and are more than willing to drool over cool stuff. Just no more people for a while...

If you _absolutely_ have to use people, then stop making them look like putzes (e.g. look at "grandma"'s eyes). The people know they are getting their picture taken and have that "look" in their eyes that says as much. The pictures are forced and really don't convey any meaning (other than that I have to look at a putzing, posessed "grandma" this quarter).


(Who in the world dreams up the junk on the front page of MSDN Library anyway? I know I've never clicked on anything in it, so I doubt anyone else seriously developing software actually does either. Might want to take that into consideration for the next release as well.)

Monday, April 18, 2005

Spyware strikes again...

I'm getting really fed up with the idiots out there who think they can install spyware junk on my PC even _with_ my permission. There should be a way to set some obscure setting in IE that says, "I'm a computer geek, I'm not stupid, go away. Go bother someone else who is vulnerable to such nonsense."

Take, for instance:

Running that site in FireFox makes it show up just fine. Now load it in IE (er, assuming you have all the latest security patches installed) and you get a face full of some annoying Flash animation telling you to install their ActiveX (spyware/virus/trojan) control ( way) and a dialog box telling you to install the ActiveX control (still no way) and a whole lot of junk (the text on the webpage is busted - still no way I'm installing it). This isn't the first time I've run into this and I'm just picking that page out as an example.

In FireFox, just about at the same location in the source (if you can map source code to page rendering in your head) appears a transparent layer that doesn't repaint. I assume that FireFox is trying to display the same thing as IE, but something gets busted in the process - making it impossible to read anything in that area of the page. Another thing to note is the text of the page - IE shows garbledygook while FireFox is plain ASCII...the server is doing something specific in this case.

Digging into the source code reveals:

That site is the storefront of one of many eyesore organizations on the Internet. The real interesting issue is - when will there be sufficient critical mass (i.e. sales of spyware toolbars) to annoy enough people to start hunting for browser alternatives that conform to the way they are used to doing things. The scary part is that the spyware sites are specifically targetting IE6 SP2 (over 80% of the browser market)...which means critical mass could, alternatively, mean a critical disaster for the generally uneducated public (a more likely, and scarier, scenario). The humorous part of this is that recommends FireFox. You would think that they would be more interested in spying on the IE users who actually install it since they get no revenue from the FireFox users.

The only reason this made a blog entry is that the number of sites I've run across in the past week that are participating in this unsavory business practice has got me concerned. I saw such sites appear within days of the IE6 SP2 release, but now the number has skyrocketed such that I've even run into them on _reputable_ software development websites (not just the occassional Chinese/Japanese sites with example Win32 source code). I suspect that before the year is up, someone will write some piece of spyware such that it opens a backdoor on the user's system and will be distributed using tactics like YourSiteWeb does (i.e. Spyware with a twist) - imagine 80% of all computer users out there with a backdoor trojan installed. Goodbye Internet.

I took a 2 hour nap this afternoon and had the weirdest dream: I dreamed that I took a prank phonecall at the downtown volunteer fire department for a ham and pepperoni pizza with some phone number ending in 9 and then made it completely backfire on the prank caller by making a pizza with anchovies. When the guy got back from the payphone he used, I set it before him with plenty of flair (including a red-and-white checkerboard tablecloth bib) and said something like, "Here's your 9'er slices of pizza". You should have seen his expressionless face (well, technically, he had no face). It was hilarious. Then I woke up. How I got to the fire department in my dream is a baffling mystery - shortly before that I was being chased by a big vat of expanding purple alien goo.

Saturday, April 09, 2005

Really great monitor idea.

This is boiled down from a discussion on a list I own and moderate with over 5,000 software developers (I initiated the discussion):

Let's say you are editing code. What is the number one complaint I hear people talking about from IDEs and editors? Not enough text on the screen. Well, since everything these days operates on fonts, the natural thing to do is to first play with the fixed-width font size being used (variable-width fonts don't work for programmers).

So, now you have, if you are lucky, a font that can display maybe 140'ish characters across. The ideal width is roughly 200 characters. However, what about the vertical? Depending on the editor/IDE, most likely anywhere from 30-50 lines. The ideal height is 200 lines.

Okay, now what? Well, since screens operate on pixels, the next natural thing to do is to increase the number of pixels.

Okay, so you've got 1600x1200 screen resolution. Big deal. The font is so tiny you can't see it. So, you crank up the dpi on the font, but now you have less screen space. A good solution is 96 dpi at 1280x1024 on a 19" monitor. Other than that, you have reached an impass and most people either give up here or start daydreaming about possible scenarios.

The first scenario is to simply put another monitor next to the one you have. Above on a shelf, or next to it, or whatever. This simply won't work and multiple monitors can be a pain to set up (then again, most hardware is the first time). Your eyes will see a big blank space halfway through the middle of the document making it really hard to figure out what is going on (and a lot of programs, including some IDEs, don't multiple monitors into account). Besides, the horizontal is good enough (you can gain a line or two of vertical by moving the taskbar to the left-hand side of the screen - in trade for better readability of open programs - a good tradeoff, IMO) and stacking two monitors is hard. You need to find a bigger monitor or something.

So, what about a 22" monitor with an extremely high resolution like the IBM T221? Doesn't work and that particular monitor is buggy anyway. It also has the worst refresh rate I've heard of in a long time: 22Hz - most monitors these days run at least 50Hz (the rate at which I stop having headaches). Besides, it has already been proven that a higher resolution doesn't work for reading text on a screen without squinting. Also, that particular monitor requires two DVI cables to get the 22Hz - and with that enabled, it "shears" moving images (otherwise 12Hz, which is so sluggish, it isn't worth the pricetag).

How about one of those projector things? Projectors have a ton of weaknesses - one of which being that reasonably priced ones are only 1024x768. The other weaknesses involve dealing with corner desks (which I sit at regularly), having a really clean and extremely flat wall to project onto (not possible unless I want to become Monk, screen text is generally fuzzy no matter what you do, and many projectors have a really low refresh rate (low refresh rates, again, give me headaches). So, the projector is out. It doesn't have the resolution or screen size needed that I can't get with a LCD or CRT, costs way more than either one, and projector bulbs tend to burn out frequently (additional cost and downtime if you don't have bulbs on hand and it burns out at 2a.m.).

Through all of this, I have come up with the perfect monitor. It would look like:

1) Two LCD 19" monitors stacked on top of each other, but would be contained in a single unit with a capable resolution of 1280x2048x32 (i.e. this fits on a corner desk in a cubicle like a charm). This may be hard to picture, but I'm simply talking about fusing the two 19" monitors together in your head - the actual design calls for a single LCD plate of the appropriate dimensions with no separation lines (i.e. monitors have borders - I want no borders inside the big LCD plate).
2) A single DVI cable to the computer (plus an optional SVGA connector and connector).
3) The cables are replaceable (i.e. not permanently attached).
4) A single, standard power supply connector (e.g. 120V surge strip).
5) Instantly recognized by the computer as a single monitor.
6) Have a refresh rate of 50Hz or better.
7) Has a wide/heavy enough base to counter the "top-heavy" issue.
8) Looks sleek and modern (e.g. I like Dell's "Sharp" flat panels while IBM's T221 looks big-and-blocky-and-square-like-a-brick).

Such a monitor shouldn't be that much more complex to build than standard 19" LCD monitors and shouldn't be more than $150 extra to the consumer. I don't know of a single document writer or programmer who wouldn't want one. It fits naturally in almost every existing office space that already accomodates a decent-sized monitor.

The only downside is that this monitor doesn't exist (yet). Tis a shame really. Over 5000 developers need this and no one in the monitor industry has bothered to ask us what we want. I've practically designed the thing for you. Be sure to send me one if you start manufacturing it.

Friday, April 01, 2005

Logitech sales = clueless.

My Microsoft Intellimouse Explorer 3.0 USB mouse died today. Well, it was working on dying for the past three days. At first I thought a hacker had busted into my system, but it turns out that the manufacturing of this mouse is so poor that the cord simply becomes disconnected over time...inside the mouse. This particular mouse is self-contained and sealed - meaning no dust, dirt, grime, etc. can ever get on the optical lense - the downside is that repairs to the mouse (e.g. fixing the cord) are impossible.

I could buy a new one, but from the reviews on Amazon and what-not are not too good - it seems Microsoft has started making shoddy hardware that dies in months or even days of purchase.

So, where did I head for a mouse. You got it - Logitech. I went to their website and started looking at mice. They have a lot of mice. So, I said to myself, "Surely they know their competitor products and can sell me a mouse". So, I hit the link at the bottom that said, "Contact Us" (something no one ever does). I called the 1-800 number and reached a nice Asian-sounding lady named Kim (or something like that). I asked what was perhaps the simplest question anyone could ask: "Hello, my Intellimouse Explorer 3.0 USB mouse died and I would like to know what the closest Logitech product is." She replied, "What company makes that?" My reply, "Microsoft." (Thinking at this point, "uh oh"). She said, "I wouldn't know about that, I only know our product line." At this point, I effectively said I'd go look around the website and ended the conversation. Then I came immediately to this blog, which you are now reading. My reaction should be yours: WHAT THE?!?! Logitech is a direct competitor to Microsoft - the two companies stand side-by-side in product displays at retail outlets everywhere. Their sales people had better not be clueless about ANYTHING Microsoft.

Which brings up an important point about software development. If you develop software, you had better doggone know which companies are your competitors and be doggone sure you know how to combat the many questions your customers _will_ ask. It is not a matter of 'if' but 'when'. If necessary, each sales person should be equipped with a corporate credit card to go and _buy_ one of each item of the competitor's product line and get back to the customer on their question. THAT is what customer service is about. Sheesh.

Now I've _really_ got to go find a new mouse before this one flakes out again. Some people might say that I should just stick my finger in the USB slot as I'm already nerdy enough the computer might not be able to tell the difference. Deep down inside those people are just hoping I get an electrical shock. I used to play with electrical outlets as a child. 'Nuff said.