Thinking way too long about the subtitle RSS 2.0
 Monday, November 27, 2006

I saw this post on Jeff Atwood's blog about a new tool from SlickEdit, the makers of SlickRun; easily the most frequently used program on my laptop day-in and day-out.

The Command Spy
Whenever you click on a menu item or toolbar button in Visual Studio, you are executing what is known as a "command". Unfortunately, it's almost impossible to tell what command is linked to which menu items or toolbar buttons. The Command Spy monitors command execution and allows you to see exactly what commands you've run, how many times you've run them and what key bindings are used to invoke those commands. The main purpose of this tool is to allow you to learn what commands are bound to which keystrokes, so that you can work faster within the IDE.

I installed Command Spy over the Thanksgiving holiday. It totally rocks! Just run the VS.Net add-in while you're coding for a couple of hours and then take a look at your metrics. Command Spy will tell you how many times you've run a command without using the short-cut keystrokes. Its a great way to improve on your productivity.

Monday, November 27, 2006 10:48:29 AM (Pacific Standard Time, UTC-08:00)  #    Comments [2] -
learning | popart | software

I started using the RSS reader in Microsoft Outlook 2007.

I was using SharpReader for as long as I've ever had an RSS reader and subscribed to feeds. I really like having just one application running for my communications and work items (email, tasks, calendar, RSS feeds...). Its super easy to add a feed when you're visiting a web page too. I used folders quite a bit in SharpReader to categorize feeds, but I'm trying the "one big folder" approach for now in Outlook.

Sometimes, I got lazy and didn't open SharpReader on my laptop for a while. The posts would get way out of control. Sure, I could add it to my Start Up programs, but one of my quirks is to keep that list short, if not empty. Some weeks I even tell SQL Server to not startup automatically. Perhaps that's one of the old carry overs from living too long with too little RAM on a weak laptop.

Outlook 2007 as an RSS reader is nice, but I miss some of the basics, like identifying the URL to a blog I've already subscribed to. There's probably a way to display that information easily in Outlook, but I haven't discovered it yet.

To date, the most frustrating thing has been refreshing feeds. It gets joined at the hip with my email send/receive request. So, when someone comes by my desk in a general freak-out mode and asks how to solve a problem raised in a recent e-mail, I click on Send/Receive if I haven't gotten it yet. Now, thanks to the additional RSS feeds, I have to wait much longer as everything is updated. There must be a way to decouple these requests from each other in Outlook.

Overall, I'm very happy with the switch so far.

Monday, November 27, 2006 10:39:22 AM (Pacific Standard Time, UTC-08:00)  #    Comments [2] -
learning | popart | software

I've been using http://www.internetfrog.com/ for a few months now, but I read Doug Purdy's blog about http://www.speedtest.net/. I think this will be the new default speed test tool for me. Its awfully shiny.

Monday, November 27, 2006 10:31:03 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0] -
popart
 Tuesday, November 21, 2006

We've had some on going discussions at Pop Art about the usefulness of XHTML. Some folks in our industry are fond of HTML 4.01 while the fine folks in the HTML Working Group of the W3C have recently released the eighth public Working Draft of the XHTML 2.0 specification.

Its obvious to me of the benefits obtained by removing presentation as much as possible. The content is more flexible and the design is easily changed. As much as possible, one should decouple the content from the presentation. Making the content more semantic is a step forward. In code, one benefits from a clear expression of developer intent. There's plenty of parallels to draw here.

So, I can write an HTML 4.01 compliant page without excessive tables, if any. I'm well versed in CSS, but not an expert, like some at my company that have the reference material memorized. Why use XHTML?

The best reason I've been able to identify is validation. If I write a piece of code that enables web content management, I've immediately opened the door for the visitor to break the page from an HTML compliance perspective. If I don't shut that door quickly, they'll degrade the site quickly. It doesn't matter to me if the client should have known better, I should write quality code and quality code should anticipate an obvious opportunity for user error like invalid markup.

As Scott Hanselman said, there are three forms of XML: well-formed XML, valid XML and Crap. Its really easy to send the user provided markup through an XML parser and determine if its well-formed, meaning it obeys the basic rules (I think there are four) of XML. Valid XML means it not only is well-formed, but it also follows a specific schema - whatever that might be. I could make my own custom schema, or I could refer to an external one, like say, the XHTML 1.0 specification.

I've created the simplest mechanism in some code; simply passing the user provided markup through an XML parser, which catches obvious mistakes that identify the third kind of XML, Crap. Its also easy to parse each element or attribute to validate any rules in the pattern, such as "you cannot use the element <br />" or the "you cannot use the attribute 'style' in the markup". Some WYSIWYG editors automatically add style attributes or font tags of goo in the markup. Passing the content through the XML parser is an easy way to protect from these mistakes and keep CSS folks from yelling at you too much.

When I started writing this blog post, I was considering authoring some code that would enforce the XHTML 1.0 rules; there couldn't be too many of them to write up. Yet, as I was typing, I realized the XHTML 1.0 specification probably has a schema, and sure enough there's a DTD on the W3.org site. Huh... seems obvious now. What could have been a fun 3 hour power coding project at home has turned into a 15 minute walk in the park. Now I can reference that schema in a validating XML reader and know that the content is acceptable on that level too. I'm going to go give it a whirl and see what happens. Guess I'll be able to meet the fellows on time at the Horse Brass for a beer after all.

Tuesday, November 21, 2006 8:05:02 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0] -

 Wednesday, November 01, 2006

I saw this link on Don Box's blog about a new Workflow book coming out. Since I'm considering WF, I'm going to take his advice and get the book.

This is a nice parlay for me after a session at the recent Seattle Code Camp. I sat in on a Windows Workflow Foundation talk by Paul Mehner, the South Sound .Net User Group Leader in Olympia, WA.

I could tell this guy is a professional trainer; he had a thorough understanding of Windows Workflow Foundation, solid content and a ton of energy. Not a sleepy eye in the whole audience!

Wednesday, November 01, 2006 10:14:52 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0] -
books | learning | popart
 Monday, October 30, 2006

The Seattle Code Camp 2 was a great weekend. It was held at Digipen, the world's first video game university. Its a cool office, and judging by all of the labs, the auditorium, and extensive media clippings framed on the wall, its a fantastic place to learn 2D and 3D animation, game programming, art and anything else related to game development. Jason Mauer did a great job of pulling everything together. I'd love to help out and organize the next Portland or Seattle gathering.

My presentation on DotNetNuke and web content management went well; I think its got some legs. Here's the zip file of my presentation and the code I was talking about. This was the first time I've presented this material and it went fairly well. I really believe in the concepts that I've been whittling on and DNN has just been the delivery vehicle of the moment. I think it'd be a lot of fun to take this one on the road and hit up a couple of code camps in other cities. I wonder what The Wife would think of that?

One of my favorite presentors last weekend was Bill Vaughn. He's with Beta V, and a prolific author; he's written a couple of SQL Server books recently. I took advantage of the opportunity to learn quite a bit about SQL Server 2005 Compact Edition and Reporting Services from him.

The XNA team was also on hand to present some brand new material. The new beta is due very soon, if its not out already. Charles Cox was on hand (a Digipen graduate) to give a great demo on building a XBox 360 game with C#.

Monday, October 30, 2006 2:11:59 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0] -
DotNetNuke | learning | popart
 Saturday, October 21, 2006

16:3 Scale Labyrinth I forgot to mention that we we're linked by makezine.com the other day for our efforts in building a large scale labyrinth game.

My friend Dave Selden is the master mind. He had the idea to make the game based on his sweet eBay purchase. He called up some friends and we've been helping Dave build it over the past couple of weeks in the hopes of winning a mini-golf contest. We're up against our neighbors at Wyden & Kennedy, the ad agency for Nike. They are purportedly making a giant whale with the ball shooting out of the blow hole; rumors to be sure but I would expect they have a larger budget too.

The game begins by placing the golf ball in the start position on the board surface. One or two players turn two giant knobs on the sides of the game to manipulate the x and y axis of the board surface. If the player succeeds in moving the ball to the finish hole, the ball descends through a tube, out the side, and directly (hopefully) into the cup. Otherwise, the ball drops out on the far side of the game; where the player must then putt the ball around the rectangular green to the side with the hold. Got to love the mini-golf game!

Thanks Drew! He submitted us to makezine.com. He has millions of hundred dollar ideas.

Saturday, October 21, 2006 12:40:54 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0] -
fun | popart
 Sunday, October 15, 2006

I was accepted to speak at the next Code Camp, the weekend of Oct 28th, in Seattle! Hooray!! I thought for a little bit on (A) what would be a fun topic and (2) what do I have to say about said fun topic. I finally settled on talking about something I do on a daily basis: balancing the needs of the web designer, leveraging sufficient power of a great platform (read that as using the base class libraries and everything else given to me), along with the needs of the client and the overall budget.

Our designers at Pop Art are top shelf. They've come up with some fantastic ideas for sites. They're on the leading edge of what's possible with today's browsers and giving consideration to the downlevel browser folk.

Given that, they have some high demands on the HTML emitted by anything on the server. It absolutely, positively must be W3C compliant. It doesn't matter if its HTML 4.01 Transitional, or HTML 1.0 Strict; so long as it conforms to the given specification. Gone are the days of using menu server controls that emitted glorious reams of <table>, <tr> and <td> tags. Enough for you to knit a small blanket. Amen for the CSS Control Adapters.

The designers have a lot to say on usability too. There are just some things that developers will step right over like a country boy; where as the country boy's college roommate visiting for the weekend will stop, stare, point, hold their nose and give it a wide birth.

Enter DotNetNuke. Out-of-the-box, DNN is a developers playground. They know there's so much capability under the hood that they're (and I'm generalizing here) too busy envisioning what they're going to build next instead of rethinking the user interface that a client would need to maintain a site. That seems like small potatoes next to the glorious reams of code we can write.

So, I've settled on presenting the issues, challenges, arguments, counter-points and three-point-takedowns that we've had to address over the past 18 months with DNN. That would be a little too gloomy, so the remaining 67% of the discussion will contain some solutions that bridge the gap and keep the web site looking beautiful long after it launches. My presentation is in no way the rule; simply my experiences in dealing with this issue since I came to Pop Art in 2002. As with most things, I'm sure they are lots of ways to handle them, and I'm as open minded as the next guy; providing the next guy is sans jerk.

A basic introduction of DotNetNuke would be better served by a different session, but people who've never downloaded the bits from www.dotnetnuke.com will still get a reasonable insight into the problem sets and ways to deal with them.

My basic fear is probably the same as any other presenter who ever presented in all of presentation-land: getting slotted in the same time slot as ScottGu or anyone else in the rock star line up. What a problem to have!!   :)

Sunday, October 15, 2006 7:35:33 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0] -
asp.net | DotNetNuke | events | learning | popart
 Saturday, October 07, 2006

I recently upgraded my laptop to 2GB of memory. I've been really pleased with my new ability to leave Internet Explorer, Outlook, SharpReader and SQL Server open when I want to use Visual Studio.Net and write some code.

As a negative side affect, I noticed some problems when I put my laptop into stand by or hibernation mode.

Stand by mode is where the laptop is still technically "on" and its drawing a tiny little charge out of the battery. All of my programs are still in memory but the machine is in a reduced state which preserves the battery until I'm ready to turn it on again. This mode the fastest way to pack up when I need to run for the bus as well as power back up again when I reach my destination.

Hiberation mode is similar to stand by except the machine is actually turned off. The laptop persists everything in memory to disk so I can even swap batteries if I like; a great trick to making long plane trips go by quickly. When I power up again, the laptop restores the contents of the memory and the CPU comes back to life.

It takes a little longer to go into and come out of hibernation since there's more stuff to do than when using stand by mode. Hence, my preference was to use stand by unless I knew I would be swapping batteries. The other day on a podcast I heard either Carl Franklin or Scott Hanselman mention that stand by mode can behave poorly because applications have the option of supporting it. Hibernation doesn't suffer from that since the contents of memory are dumped to the disk. Everything supports hibernation, but some apps may choose not to support stand by and therefore, when you start up again, an app may run aground.

I might have seen that on my laptop, but it hasn't been painful enough for me to care too much; until the 2GB memory upgrade.

In the best scenario, I would start the stand by or hibernate process and it would immediately come back and tell me this message:

Insufficient System Resources Exist to Complete the API

At first, I would smile and say to myself, "That's cause I got two gigs, baby!!" That wore off though. My harddrive is a paultry 40GB and I usually have somewhere between 8 and 0.5 GB free on any given day. So a few days ago, I deleted all of my Office and Battlestar Galactica episodes that I downloaded from iTunes and made sure I had enough room for the memory to dump to disk.

In the worst scenario, it would "take" for at least 2 minutes, enough for me to believe it worked, only to start up again inside my laptop bag. I would get to my destination and grab my laptop only to find it a little too warm. I'd frown. Sometimes, in the past, I would forget that it was on and chuck it in my bag only to find a hot laptop waiting for me later. The same frown occurs.

So this morning, I thought, what if there were some glorious place that existed where people would store and share their knowledge? I fired up my browser and did a Google query for "dell latitude cannot hibernate with 2GB ram". The first hit was this one:

http://translocator.ws/2005/11/06/hibernation-insufficient-system-resources

This page talks about my exact problem and an patch that is supposed to fix the problem. Only in his case, he has four computers that still exhibit the behavior after the patch was applied. There was a note on there that the latest patch of August 2006 was released. I suspected his problem was before this latest patch came out.

I downloaded the patch (WindowsXP-KB909095-x86-ENU.exe), installed it and lo-and-behold it worked! Well, I hibernated for at least two minutes. I'm excited to see if I get my stand by working again. I'll add a comment in a few days with the results.

This is the knowledge base article link and title for this issue:

http://support.microsoft.com/kb/909095

The computer occasionally does not hibernate and you receive an "Insufficient System Resources Exist to Complete the API" error message in Windows XP with Service Pack 2

Saturday, October 07, 2006 11:39:00 AM (Pacific Standard Time, UTC-08:00)  #    Comments [1] -
hardware | popart
 Friday, October 06, 2006

 One of our Pop-Art-Gives-Back-To-The-Community clients wants to implement some simple online donation services on their website. So, I was flipping through a PDF file from PayPal using my Foxit Reader and I noticed this little phrase at the top of a page:

They're giving me complementary technical documenation! No orange juice or bagel, but the doc is categorized and complete.

I saw another funny part on the PayPal site. The link to the PDF file says it requires (my emphasis) Adobe Acrobat to read it. Ha! I must be flaunting the rules with my Foxit reader; breaking the law! breaking the law!

By the way, I've had great experiences with Foxit up until yesterday. One of our black turtleneck shirt wearing designers created a PDF version of a client proposal. When I opened it in Foxit, some large background images flashed for a second, then the text content appeared without much styling. Each page behaved this way. When I opened it in Adobe Acrobat, the full beautiful proposal displayed great with background and content. Huh. I'm not sure if the designer was leveraging some custom Adobe feature or if Foxit was the culprit; it was the first and only time I didn't get parity though.

Friday, October 06, 2006 10:34:40 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0] -
observations | software
About the author/Disclaimer

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

© Copyright 2010
Andrew Hay
Sign In
All Content © 2010, Andrew Hay
DasBlog theme 'Business' created by Christoph De Baene (delarou)