Month: June 2007

So I was reading my blog roll, which is basically all that I do all day long because it is 2221 rss feeds. (I love you bloglines.) At the very bottom of my list is a nice blog that I subscribed to recently called “Get Rich Slowly“. There was a great post where the author references an old This American Life episode with Dave Ramsey, so I just had to look this up!I usually like This American Life although sometimes the topic will bore me, or it will have some political overtones with which that I disagree.This episode the introduction lasts about 2min 30sec if you want to skip the congressman stuff. Dave Ramsey stuff starts around four minutes and the first call question is pure Dave. Susan Drury points out that Dave’s callers are often not calling about money. Its a great listen. I highly recommend.

I’m in the middle of shifting jobs. I said so long to the wonderful Lenovo Thinkpad with only a 1024×768 display and I bought myself a nice Dell Latitude D820 with a 1920×1200 (WUXGA) display. I know my productivity is tied somewhat to number of pixels at my disposal. If I run out of room on my display for developer tools, I’m far less efficient than I could be. There were features I love that I didn’t use on the 1024×768 display.

When I first started up the laptop I thought “Oh NO! These are not my eyes from when I was 16 years old!” I was afraid I had made a terrible mistake. I was slouching trying to read the display. I stepped through the new computer configuration and I immediately set the DPI from the default 96 DPI to the “Larger scale” setting of 120 DPI. This helped. Later that day or the next I did something I almost never do. I was using The Gimp to manipulate some image and I was using its inches support. I decided that it may be good if the inches scales actually were sized correctly. I figured having the correct DPI setting in your OS can only be good. Print Preview should be most accurate that way. I talked to some people who know displays far better than I do (#Linux from arstechica).

It turns out that my display has a 148 DPI (15.4″ diagonal – 1920×1600 – do some math). Windows confirmed when I pulled out a ruler and adjusted the numbers using the “Custom scale” setting. I was happy that this custom scale UI existed and I was even more happy that it visually confirmed what the calculations said. Once I set to 148DPI things were great. Fonts were huge.

By that I mean that fonts were the size they were supposed to be, but I have great vision. I can read Consolas at 6pt and I regularly run it at 7pt. Some things were just too big. Title bars and menus seemed like they were wasting screen real estate. As pointed out the day of the Safari release, Safari doesn’t use ClearType in Windows. Apple does their own font rendering (I’m guessing) in Safari for Windows. As a results my DPI settings had no effect on the display of fonts in Safari. So for a couple of weeks I ran with Safari being too small, and many things in windows being too big.

I’ve since reset my putty to default to 7pt Consolas instead of 8pt and today I shrunk the font from 9pt to 8pt for pretty much everything I could find in the Advanced Appearance dialog (it is still there in Vista).

This is my most usable configuration yet. I love it.

I am disappointed with certain things which do not work with this high DPI setting. Windows Media Player for example seems to break some UI design guidelines. Ya know, the ones that basically say “use relative positioning so your application will work with various font sizes, DPI, and display resolutions, oh and this also means it will be easier to internationalize because that text that is four short words in English takes up 100 pixels, but it takes eleven long words in Finish, but only two Kanji in Japanese.

See how the fonts are overlapping in the right top pane. Shame on you Microsoft.

Windows Media Player really surprised me by its little quirk. I was less surprised with the bug in Windows Live Writer. During setup for a new blog, it asks a couple of questions in a wizard.

I couldn’t click the third option, yet it was the one I wanted. Luckily I could use the keyboard, tab, tab, tab, enter.

What you cannot even see on this screenshot is that there are two textboxes for username and password. I had done this wizard once before. When the next step said invalid username and password, I guessed that I had forgotten it on the last step. Again keyboard to the rescue, tab foo, tab bar, enter.

The really interesting thing here is that I’ve NEVER had these kinds of issues with either GNOME or KDE in Linux. I’m not a holy war kind of guy. I like both Windows and Linux. I use both Windows and Linux, but it seems to me that the Linux guys figured out the best practices for this type of layout a long time ago and they tend to use them. It is no coincidence that when you open Visual Studio you still get a grid on which to put controls in a fixed position. Yet if you open GLADE or QtDesigner the default is a Container that is NOT the fixed layout container.

I’ve heard many people talk about how Webforms have problems, that the problems stem from being a leaky abstraction. I tend to agree, but I could never communicate the problem as succinctly as Jeff Perrinjust did.

Now the first problem with Webforms is not that itâ€™s an abstraction, or even that itâ€™s a leaky one (they all are). The problem is that what Webforms attempts to abstract away is actually simpler than the abstraction!

The more I think on this the more it blows my mind! When you look at Html over Http and even CSS and JS, the whole system is REALLY SIMPLE! Maybe too simple, yes, but that is for what various helpers like Yahoo’s UI library are. Of course, I found this link while reading Ayende. 🙂

1. INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software on your devices running validly licensed copies of Internet Explorer.

WHAT???

So if I run the example in Firefox, my default browser, then I am breaking the license agreement. This is unacceptable. I clicked no, so I will not be looking at the WPF FlowDocument sample which I downloaded. (FlowDocumentSamp.exe)

I have run into the same issues to the extreme at my place of employment. Someone hears the words “Unit Tests” and immediately all tests are “Unit Tests”. It is as if no research is done into anything whatsoever. Mind you, this is a programmer!

One that I just couldn’t let go a while back was “Fuzzy Logic”. I took a “Soft Computing” course in college. As a project we did a fuzzy hand recognition system. It was rather interesting. We used Matlab’s Fuzzy Toolkit, so we really didn’t have to implement the fuzzy algorithms ourselves. We used line detection on peoples hands and gathered a dozen peoples hands (not a good enough pool for a real world application, but good enough for this college course. Gathering images was fun and easy – we used a digital camera. We just took pictures of people’s hands on the tables in the room in which the class met.

Recently, a coworker started calling some stuff we have “fuzzy logic”. I immediately objected and continued objecting anytime I had the energy to argue. This was not fuzzy, this code was 100% deterministic. Given a set of inputs it would ALWAYS 100% give the exact same output. It was just that the control flow for the program was a bit complex, and so describing it to our business users it wasn’t always 100% clear from where a result value came. I still continue to object to calling this “fuzzy logic”. No matter how complex a deterministic system gets, it is still deterministic. Heck, it wasn’t even that complex. There were about 5 possibilities. For some reason, explaining to certain business users “it could be one of these 5 cases” was not satisfactory (and I won’t argue that – there shouldn’t have been 5 cases – but that isn’t the point). The point is that it was not and is not fuzzy logic.

I just wanted to share in Daddy Starr’s frustration with imprecise language. I couldn’t agree more that “Incorrect or even imprecise language just drives me crazy.”

I use Alt-Space all the time. I highly recommend it. I hope that Kate masters it usage.

My most recent “windows” keyboard shortcut which I have mastered is use of Ctrl-Alt-Break to restore and full screen an MSTSC(RDP) session. I can Alt-tab in a remote desktop session, and then Ctrl-Alt-Break and Alt-tab my desktop and then Alt-tab back to my remote desktop and then Ctrl-Alt-Break to full screen the remote desktop and continue Alt-tab in the remote session. It took my a while to master working this way, but being able to move between these things quickly without touching a mouse is absolutely brilliant!

Some very interesting perspectives on Rails and Microsoft. Its great to hear this type of sentiment come though a channel like Hanselminutes. Scott is someone who I would consider typically a pro-MS type who is open to new things. Hopefully the less open people will understand what Martin and David tried to convey.