Coping with CSS
I have a confession -- CSS drives me apeshit. I'm much better at it than I used to be, but I swear there are times when I would rather have napalm in my eyes than look at one more nested <div> tag.
One relatively simple technique that I use to help me cope, though, is gratuitous use of the background-color declaration. For every significant element, I set the background-color to an obnoxious value like Fuchsia or Lime, which helps me visualize each element's position, margins, and padding. When the page is finished, I remove the unnecessary colors.

This is a tremendous help, since I try to avoid table-based layouts. In the example above, data is displayed in a tabular, repeating fashion, but there is no table present. I use a combination of <div>, <ul>, and <p> to accomplish the layout, and position elements as appropriate, using colors to illustrate the application of the CSS box model. Incidentally, this also prevents me from crying in my beer.
Tools like the Web Developer Toolbar for Firefox and the Internet Explorer Developer Toolbar are also necessary tools for coping with a CSS crisis, but each require you to fiddle with their menus and controls before you can do anything on a page. By using CSS's native background-color, all you have to do is press F5 to immediately see the effect of any CSS changes you've made.
It's quick, it's dirty, and it really scares the ponytails who don't realize that the color scheme is only temporary.
Print This PostNovell gives me hope, then dashes it to pieces
Well, not really.
I received welcome news today about Novell's new iPhone development library, MonoTouch, which "allows developers to create C# and .NET based applications that run on the iPhone and can take advantage of the iPhone APIs as well as reusing both code and libraries that have been built for .NET as well as existing skills."
Since I'm a .NET developer that hasn't splurged on a Mac yet, I was nearly ready to shell out $399 for the MonoTouch Personal developer license, until I glimpsed the following caveat conveniently stashed at the bottom of the splash page:
"MonoTouch requires a Mac and Apple's iPhone SDK to test on the emulator and deploy on the device. And you will need to be an Apple iPhone developer to deploy on the device."
Why Novell? Why do you hurt me so? Why can't I just develop an iPhone app on Windows, in Visual Studio? It's not really Novell's fault though; Apple keeps all of its technology on a tight leash.
I wonder if MonoTouch will represent a watershed in mobile device development, however. Consider:
- Even though Mono typically trails the .NET framework by at least one major revision, it has the maturity of at least .NET 2.0, which is still in use by a significant number of .NET developers.
- The allure of C# development on the iPhone might just be the catalyst that justifies cross-platform development for many traditionally "Windows-only" developers. The popularity of the iPhone, and the iTunes App Store, are certainly tempting prospects for freelancers who want to make some additional income.
It may be time for me to revisit my technology budget.
Print This PostHanselman’s 2009 List of Powertools for Windows Development
Scott Hanselman, a titan in the .NET community, maintains a growing list of Windows development power tools on his RSS-worthy blog. Once a year, on a very magical day, Hanselman releases an update to his amazing list. I like to call it Hanselmas, because I feel like my good coding behavior is finally being rewarded after yet another year of toil. I'm a few days late, but his 2009 update happened a few days ago, on September 2nd.
Print This PostTools added
I've added a page with a list of all the tools I regularly employ for software development. It will include favored IDEs, plugins, editors, extensions, etc.
Print This PostResume added
Hello everyone, this is my professional software development blog where I showcase myself and pimp my talents. I'll add a proper introduction shortly, but I'm just adding pieces at a time right now, the first of which is my resume. You can find it by clicking on the "Resume" link toward the top of the page. More will come shortly.
Print This Post