Tuesday, April 26, 2005

Book Review: "Cascading Style Sheets: Separating Content From Presentation"

Publisher: Apress (via Friends of Ed)
Author(s): Owen Briggs, Steven Champeon, Eric Costello, Matt Patterson
Categories: Web Design
Published: 2004
ISBN: 1-59059-231-X
Online Order Links: Amazon, BN.Com, Buy.Com

Summary:

Cascading Style Sheets is targetted at the web designer / developer who is looking to break the chains that bind them to old "browser hacks" and to the experienced designers who want to simply take their web presentation designs up to the next level.

The book is very down-to-earth and begins by discussing the history of web browsers, and explains why we have the wide range of presentation behaviors (aka, quirks) that we see today across the various platforms. It discusses important concepts such as document semantics, typography, layout, and application of visual styling. These concepts will seem elementary to anyone who has had a formal education in Art Design or Publishing, but the vast majority of web designers and developers are lacking in such a background - and should derive great value from the material.

After explaining CSS's role in the web, the book then dives in to cover the gritty details. A very good explanation of class selectors is followed by discussions on Typography Control, the Box Model, Relative Sizing, and Layouts. Attention is given to various flaws in the different browsers that must be considered in the CSS design, and in nearly all cases, workarounds are presented in order to deal with the flaws. Finally, the book covers a nice set of "example" sites, and how to go about designing the layout and CSS for them. Some of the example sites are fairly simple, but the last few are indeed quite complex visually. It is also worth noting that all example markup is presented as XHTML.

Some immediately useful information that this books covers clearly and concisely:

  1. How to center using CSS.
  2. How to plan and organize CSS styles into linked stylesheets to make maintenance easier.
  3. What "float" and "clear" do, and how to use them.
  4. The difference between "inline" and "block" elements.
  5. How to use the Box Model effectively.
  6. How to use relative sizing of text to make global changes much simpler.
  7. How to effectively use CSS selectors.
  8. How to structure content so that it will "degrade gracefully" on downlevel browsers.

This book is most useful to:

  • Web Designers / Developers who still (mis)use the TABLE tag to control layout or the FONT tag to control typography.
  • Web Designers that wish to make their layouts more accessible to readers.
  • Web Designers that wish to make their layouts appear correctly in modern browsers as well as downlevel browsers.
  • Anyone that simply wishes to learn more about CSS and how to properly implement it.

Recommendation:

5 out of 5 stars

If you are using TABLE tags for positioning/centering, transparent GIFS to occupy whitespace, or the FONT tag for typography, then you NEED this book - ESPECIALLY if you build web sites or applications in your day-to-day employment.

The concepts covered will do wonders for your website design skills - you will wonder how you ever managed to get a site layout done before!

 

Tuesday, April 26, 2005 7:06:28 PM (Eastern Standard Time, UTC-05:00) #  Disclaimer | Comments [0] | 

Refactor!

At last night's Atlanta .NET User Group meeting, Alan Griver showed us the new Refactoring tool that is free for VB.NET 2005.

In a nutshell - this tool is amazing!

And the first question posed was "how do we get this in c#?"

It turns out that if all you need is VB.NET 2005, you can use the free version. But there is also a "pro" version for $99. This pro version supports C# as well as VB, but not only that - it supports both languages in all versions of Visual Studio!

PLUS, there is a 30-day free trial available for this pro version. After downloading it and playing around for less than 5 minutes I can safely say this tool is a MUST HAVE for anyone involved in writing code!

You can find out more about the Pro version at this URL:

http://www.devexpress.com/Products/NET/Refactor/

And you can find the trial installation download at this URL:

http://www.devexpress.com/Downloads/NET/Refactor/

 

.NET | Events | General
Tuesday, April 26, 2005 1:51:29 PM (Eastern Standard Time, UTC-05:00) #  Disclaimer | Comments [2] | 

 Friday, April 22, 2005

Book Reviews

I do a fair amount of reading these days... averaging about one to two books per month ("computer" books). Most of the time, I actually do read them... I don't just skim through. I have gotten through a number of books in the past two years, including but not limited to:

  • Introducing ASP.NET 2.0
  • Crystal Reports for Visual Studio .NET
  • Advanced .NET Remoting
  • Service-Oriented Architecture in C#
  • Professional SQL Server Reporting Services
  • The Rational Guide to SQL Server Reporting Services
  • UML with Visual Studio .NET
  • Expert C# Business Objects
  • Inside C#
  • Writing Secure Code 2nd Edition
  • Pragmatic ADO.NET
  • Design Patterns (GoF)
  • + a half dozen MSPRESS books on ASP.NET, Windows Forms, etc while studying for MCSD tests

I also read through about a half dozen "liesure reading" books, mostly science fiction.

So I am going to start blogging a short review of books as I finish them. I will tag all of these entries with the RSS Category of "Book Review" to ease later searching (or ignoring, I suppose).

 

Friday, April 22, 2005 9:00:27 PM (Eastern Standard Time, UTC-05:00) #  Disclaimer | Comments [6] | 

 Sunday, April 17, 2005

Cell-phone location tracking

This is sorta cool... CellTrack, a Smartphone app that pings back a server regularly to update your nearest cell tower data... effectively tracking your movement from tower to tower.

They hope to start collecting GPS data as well, and couple that with the "timing advance" data (roughly determines the round-trip time of your OTA connection) to triangulate cell tower positions.

It's pretty cool, runs on Audiovox SMT5600 phones (what I have), and is open-source should you feel like tinkering.

Right now there is not a whole lot of features, but some of the applications could be automatically turning on call-forwarding when you arrive at work or home, etc. Currently, there at least is a dynamic image generator that outputs your last 4 position/tower changes:

This really shows how bloody awful my cell coverage is here (drops signal every few minutes).

It does use GPRS to transmit updates though... Hopefully it doesnt kill my data plan limits (I rarely use the data plan from my phone anyways - too slowwww).

Sunday, April 17, 2005 3:59:07 PM (Eastern Standard Time, UTC-05:00) #  Disclaimer | Comments [0] | 

 Saturday, April 16, 2005

Linguistic Profile

Seems to be the "cool" thing to do right now, so here is how my profile came out:

 

Your Linguistic Profile:

60% General American English
25% Dixie
10% Upper Midwestern
5% Yankee
0% Midwestern

 

A couple things they left out:

How do you pronounce the word "river"?

  1. "ree-vur"
  2. "ri-vah"
  3. "ri-vur"

How do you pronounce the word "picture"?

  1. Exactly as it is spelled.
  2. The same as "pitcher".
  3. The same as "pitcha".

Which do you tend to say more often"

  1. "Eh?"
  2. "Huh?"
  3. I do not say either word very often.

In a normal conversation, how would you refer to a Nissan XTerra vehicle?

  1. A "truck".
  2. An "SUV".
  3. A "rice-burner".
  4. Just a "Nissan XTerra".

How about a Ford F-150 Pickup?

  1. A "truck".
  2. A "Pickup".
  3. A "Pick-Em-Up".
  4. A "Ford".
  5. Just a "Ford F-150".

 

Saturday, April 16, 2005 11:33:01 AM (Eastern Standard Time, UTC-05:00) #  Disclaimer | Comments [0] | 

 Thursday, April 14, 2005

An Update on our next C# meeting

Today we got the word from our "man inside", Doug Turnure, that the arrangements have now been made to have the CLR Team deliver some in-depth talks to our user group on Monday, May 2nd. (That's under 3 weeks away for the procrastinators out there!)

Brad Abrams, Kit George, and Claudio Caldato will talk about CLR Internals for about 45 minutes or so, then after a short break they will cover CLR Performance. At the end of the presentations there will be time for Q&A, so be sure to bring your questions!

This will be a fantastic chance to pick the brains of some very sharp people who not only know an awful lot about the CLR - but that actually helped to design and build it.

So send your pets to a boarding house, put your spouse on a plane to visit his/her parents, and make sure to block out Monday, May 2nd on your calendar for this awesome night of complete .NET geekness!

 

Thursday, April 14, 2005 8:14:14 PM (Eastern Standard Time, UTC-05:00) #  Disclaimer | Comments [0] | 

 Monday, April 11, 2005

Decisions, Decisions...

I can't decide which to do. PDC 2005 or Tech-Ed 2005. Both will be well worth attending, but it's hard justifying both (from a cost perspective as well as time).

I suspect PDC will have more "practical" coverage of Framework 2.0, since it will be after the release (fingers crossed). At best, any information picked up at TechEd will be based on Beta 2. However, TechEd is much sooner, and to honest I can use a vacation (even if I spend it at a conference).

But I don't want to learn just about the framework. I also want solid exposure to SQL 2005, Biztalk, Indigo, and the other peices that are important to me (no - avalon is not all that important to me at this point).

I am mostly interested in Architecture (SO and Application) and Advanced Developer topics. I am looking for sessions weighted towards those topics.

Given a choice, which would you choose? And why?

 

Monday, April 11, 2005 9:57:59 AM (Eastern Standard Time, UTC-05:00) #  Disclaimer | Comments [1] | 

CLR Team visiting Atlanta in May!

Just in case you might be reading this blog, and didn't already know, next month a few folks from the .NET CLR Team will be the center of attention at the Atlanta C# User Group meeting!

Brad Abrams and krewe will enlighten us with answers to those burning questions like "When is it going to really ship?" and "So, when do you think it will ship?".

There is always some guy that skips the really good user group meetings (usually to watch some mindless sitcom episode that happens to be playing at the time...), and inevitably he regrets it. He ends up hearing from his buddies again and again about how cool the event was, and that it's too bad he missed out. Don't be that guy.

This will be a great meeting - probably our best to date. Even Bill Gates will be here to talk about the impact of the CLR on our industry.

OK, maybe Bill won't be here. But the CLR team will be - and I would rather hear them anyways.

 

Sunday, April 10, 2005 11:40:30 PM (Eastern Standard Time, UTC-05:00) #  Disclaimer | Comments [0] | 

 Monday, April 04, 2005

Async Programming Presentation Slides and Source Code

First of all, thank you to everyone who came out tonight to the C# User Group meeting in Atlanta. Paul and I are very pleased with how this group continues to grow.

I am posting the slides and source code from my presentation ".NET Async Programming Demystified" here for download.

This is essentially the same presentation I intent to deliver to the .NET Code Camp next month, although I will need to strip out about a quarter of the slides to keep myself within the alloted time budgets there. I chose to present it to the C# group first, since a large number of our attendees were not able to register for the Code Camp (due to it selling out in only 5 days).

I did make two corrections to my material before posting the slides:

  1. I incorrectly stated that each AppDomain has it's own thread pool. This should have been "each Process has it's own thread pool".
  2. I forgot to include the third type of Timer object - the System.Timers.Timer. Chalk that one up to lack of sleep, I simply forgot to include it in my outline.

Both of these corrections are reflected in the downloadable files.

 

Monday, April 04, 2005 10:29:17 PM (Eastern Standard Time, UTC-05:00) #  Disclaimer | Comments [1] | 

Talk about a brain fart!

Tomorrow night I have a presentation to make for the local C# group. So today, I was touching up the slide deck for it.

And without thinking, I noticed a few extra files cluttering my desktop.

Not being the kind of person that keeps a cluttered desktop, I quickly selected the extra items and deleted. And since I find it so annoying to have to go clear my Recycle Bin all the time, I used "shift-delete" to really nuke em good.

Then it dawned on me.

One of those files was my powerpoint deck for tomorrow. And no, no backup of it anywheres.

Luckily, I found a free delete recovery tool on the internet. Unluckily, the simple act of downloading said tool to my hard disk actually overwrote a few of the sectors where my deleted file once resided. I was able to recover it - but powerpoint could not read it since it was mangled with bits of my IE cache.

After trying everything I could think of (even commercial recovery tools), I eventually was able to get powerpoint to open it up so that I could at least read about 75% of the text. Formatting, images, and anything else was lost to the ether, and there were about 200 extra slides of gibberish... but I could at least see what I had typed previously (or most of it).

So, 4 hours of transcribing later, I have a presentation on my hands again. What sucks though is that its now 2am and I have to be up in like 4 hours to make it to work on time...

Monday, April 04, 2005 12:56:30 AM (Eastern Standard Time, UTC-05:00) #  Disclaimer | Comments [1] | 

 Saturday, April 02, 2005

Gah!

There goes daylight savings time screwin up my RSS reader with double posts on nearly every feed!

 

Saturday, April 02, 2005 8:59:34 PM (Eastern Standard Time, UTC-05:00) #  Disclaimer | Comments [1] | 

If you want Master Pages to be useful in ASP.NET 2.0

Then go vote on this bug report. Right now, in Visual Studio 2005, you can easily create a chain of hierarchical masters (child->master->master). This works great, however you cannot edit the child page in the designer in this situation. You can only edit the child page if there is only one level of master above it.

It should be obvious that anything beyond the simplest of website applications will need more than one level of master page linking. But as it stands now, we won't be able to edit the pages in the WYSIWYG editor... all html will have to be edited by hand.

Michael proposes that they not even try to show the master/master/etc content around the child container (like they do in the simple scenario that works). He is simply asking that they allow us to edit the child page in the designer - even if the inherited masterpage content is not visible.

So go vote on that bug!

 

Saturday, April 02, 2005 9:37:00 AM (Eastern Standard Time, UTC-05:00) #  Disclaimer | Comments [0] | 
View Keith Rome's profile on LinkedIn

On this page....

Archives

Navigation

Categories

Microsoft Weblogs

Web 2.0 / AJAX

Local Atlanta Bloggers

SharePoint / MOSS

WPF

Other Weblogs

MSDN Monitoring

My Blogmap

About

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

Sign In

Certification Logo Certification Logo Certification Logo Certification Logo Certification Logo

Powered by: newtelligence dasBlog 2.0.7226.0