Wednesday, November 23 2005

Wasted Power

100_0080

I've been thinking a lot about power consumption in our PCs. For instance that a PC sitting idle, monitor(s) in standby mode, is consuming 70W or more in many cases. All while doing nothing more than anxiously awaiting your return (if you're silly enough to run some sort of 3D "screensaver", that number increases significantly).

Often they're idling around the clock on the off chance that you might wander by and desire instant PC satisfaction. In the corporate setting it's frequently policy to leave workstations on around the clock, for the infrequent occasion that the network admin team needs to roll out a patch.

In the former case you should look at standby or "hibernation". In the latter case, the admins should be using Wake-on-LAN, which is supported close to universally. Dated arguments about system failure or hard drives seizures on start-up aren't rational, or even statistically valid worries.

Increasing Consumption

Which brings me to online power consumption: the power your computer is burning when it's busy doing actually useful work for you. Over the past decade processor power consumption has skyrocketed (with brief retreats, followed by the next surge into power gluttony). Thankfully, though, the power consumed by a processor does scale in a loose correlation with load: A processor at 100% utilization uses more power, and generates more heat, than one idling, courtesy of various power saving strategies available on modern PCs and operating systems (such as the HLT instruction). This is even more evident with mobile processors, which actually reduce the voltage under a lower processing load, saving even more energy (and thus reducing the heat output proportionately, as well as the need for noisy internal fans).100_0084

These savings are offset, though, by the monster co-processor that most PCs have: The videocard GPU, which offloads 3D graphics operations to a hugely complex piece of silicon (video card GPUs are far more complex than your CPU in most cases). Couple that with huge amounts of power-sucking ultra-high speed onboard memory, and video cards are now pushing 150W+ of power consumption under a load (such as when running a 1st person shooter). Thankfully modern video subsystem turn off a substantial portion of their circuitry when it's unneeded, such as in the 2D world when composing a document in Word, vastly reducing power consumption.

Nonetheless when the demand is high and you add together the load of a processor running at 100% with a video card doing the same, you have a recipe for a tremendous power sink that doubles as a competent space heater.

The end result of this power consumption is increased resource usage, higher electric bills and demand on the grid, PCs that require more fans and cooling solutions (and thus create more noise pollution), and often a hotter, less comfortable environment.

Even if you don't care about the environment or rising power costs, and if you enjoy the balmy 40C room temperature, when you're using a mobile PC the the lifespan of your battery, along with the ability to use your laptop without it igniting your pants on fire, depends upon the efficient use of computing resources. In that case you absolutely want your processor and supporting systems (e.g. graphics GPU) doing the absolute least amount of work possible to satisfy your requirements, doing what matters to you without wasting cycles with frivolity.

Windows Vista

Which brings me to Windows Vista (previously Windows Longhorn).

One of the major new features of Windows Vista is the Aero Glass experience (both as an API for applications, and the shell itself). Aero Glass in essence turns your desktop into a video game: Instead of the current model where the GDI draws on a 2D palette, updating the video card memory (making use of acceleration routines that the video card supports) only when changes occur, the model of Aero Glass is that of a traditional game: With every "frame" the scene is wiped clean and re-rendered from scratch, layering "textures" that represent application canvases onto 3-D polygons and building the user experience from there.

This system will attempt to push 60-90FPS of user experience goodness through your video card.

In many cases this will max out even high end video cards. Even where it doesn't, all of the shaders and T&L engines on the video card are engaged - the additional power consumption will be considerable. This could easily add 150W+ to your system power load, and could absolutely devastate battery lifespan for portables. This is on top of the fact that you're suddenly measuring your GUI in frames per second.

In other words the new, shiny user experience in Aero Glass isn't just making use of unleveraged hardware in your PC (which is a valid point - there's a big powerful graphics card there, so why should it go to waste) - It's also considerably adding to the power consumption, heat generation, and cooling requirements. In the mobile world it would be hugely detrimental to the battery lifespan.

All to add a bit of eye candy that, at least as far as I've seen, marginally improves usability.

   
Wednesday, November 23 2005

Lately I've been getting a lot of "we'd love to get your feedback about the [Product you purchased or Event you attended]. Please take at few moments and fill out our survey at ..." request emails. Usually they have the carrot of some trivial low-value prize. Other times they exhort you to help make the world a better place by giving some feedback.

There was a time, quite a few years ago, when I enjoyed filling out these surveys, and I actually participated. I really, truly felt that I was helping improve events and products, and generally making the world a better place. And hey, there's a 1 in 1,000,000 chance of winning a $10 Amazon coupon!

It was on someone else's time anyways (most of these are sent to employees at workplaces who are more likely to give up 15 minutes or more for some random survey), so why not?

Nowadays I never fill out online surveys - I've become too jaded about them. All opinion companies pull the same gross abuse-of-trust scam, which is the old "tell you that it's only a couple of minutes, but really it's 20 pages long with 10 questions on each page, with absolutely no indicator of how far you are. Ha ha ha sucker!". Of course they're hoping that once you've committed the time for the first 4 pages, you're going to keep pushing yourself to finish what you started. "Okay...fine...just one more set of questions," until you've burned 45 minutes of your time to help an opinion company get a commission.

   
Wednesday, November 23 2005

Intriguing article on why we love rounded corners: http://www.basement.org/archives/2005/11/why_do_we_love_rounded_corners.html

Interesting read, but I disagree with the hypothesis given for why we (currently) love rounded corners.

I would guess, and history will prove me right or not, that the primary reason we love rounded corners is nothing more substantial than temporary differentiation.

On the web, for instance, it remains true that rounded corners are a minor barrier-to-entry of "cool" website designs (I had to waste an hour of my life making those silly rounded corners on this blog in Photoshop, and then playing with CSS and tables so they worked properly in the major browsers), so they do, to a very small degree, differentiate a design. By the same token, there was a time when everyone thought that animated cursors, background music, and intro flash graphics were a great thing because each of them required a bit of knowledge and effort. It certainly isn't a given that such preferences remain.

Earlier I said that history would prove me right or not, but really there is plenty of historical evidence already demonstrating this recursion of aesthetic preferences: Design trends have tended towards extreme roundedness ("organic"), back to squared and sharp ("modern"), then back to rounded, then back to squared and sharp, in an endless cycle. You can look in virtually every market (cars given as examples here) where this cycle took place, with each design philosophy welcomed as interesting and fresh looking, but quickly evolving to old and dated as everyone followed suit.

Soon enough everything old is new again, and it repeats ad nauseam.

I would predict that as more and more blog templates incorporate rounded corners, and CSS3 makes them absolutely pedestrian, rounded corners will become the domain of the amateur johnny-come-lately. At that point we'll be talking about our next-generation, ultra-modern square corners.

   
Thursday, November 24 2005

In a previous entry I spoke negatively about Visual SourceSafe 2005, in particular regarding the internet functionality (functionality that promises the HTTP transport accessibility of a limited number of source control options, in a client/server fashion. This is critical if you want to use SourceSafe functionality over a firewalled connection, or a limited bandwidth connection, and brings a limited amount of SourceOffSite-like functionality to the vanilla SourceSafe).

While my remarks about the server-side configuration of this functionality still stand (it's a terrible setup that fails on anything but a clean OS install), I finally took a few moments and figured out why I couldn't do source control operations with the internet plug-in (e.g. it was reverting to SMB, thrwarting my ability to get some throughput metrics) - The problem was that I had failed to select the Microsoft Visual SourceSafe (internet) plug-in as the current plug-in provider. After setting that, the internet option works smoothly. I'll have an entry about the results of that soon.

To explain how this confusion could happen, consider how you setup a connection in Visual Studio 2005 (which is the only place where this remote option works).

First, or so it appears, you choose which technique you'll connect with for this new source database entry.

ss_internet

Then you tell it where to find the web service, and what database for the web service to use.

ssconfig

Don't worry about that UNC path there - the help tells us...

Note: Because the Web service can serve multiple databases, you must specify the known path of the Visual SourceSafe database. You do not need local access to that path, it is used by the Visual SourceSafe Web Service to communicate with the database.

Great! Easy peasie!

Not quite. Everytime I tried open the new connection, it was working -- but then I looked on the other "machine" (a virtual machine) and noticed all of the SMB connections from my machine. That tricky devil was opening the database the old fashioned way. So I blocked network access to the share (still allowing it locally), trying to force it to use the internet connectivity that it appeared that I was configuring, to get this error when trying to add an internet database.

sserror

Of course this is nonsense - it isn't the web service that's having the problem, as the web service on the remote PC can access the files fine. The problem is that the SourceSafe plug-in on my machine was trying to open the files through the file share using old-style SMB.

Finally I came across the provider setting, choosing..

ss_plugin

Now the functionality works. On the bright side the same SourceSafe database entry can be used for both SMB and internet connectivity, switching the plug-in depending upon connection, however it would have been nice if the brain-dead configuration and help were a little more helpful with this.

   
Thursday, November 24 2005

Motion activated lights are a fantastic way to see nocturnal creatures on the prowl.

Last night, for instance, the lights triggered. My wife looked out to see a skunk on our patio, casually partaking of some delicious French bread (when we have fresh bread I often toss the leftovers out back. Between the birds and the nighttime creatures it's gone by morning, and it's infrequent enough to be unanticipated and non-habit forming for the neighbourhood friends).

Sensing an opportunity to educate our awake-far-too-late Sr. Toddler daughter a bit, I brought her over to look out at the skunk. She burst out crying.

"My toys are outside! Bring my toys in! My toys!" (there was a little plastic bicycle, and a couple of toy gardening implements outside)

After finally getting her to settle down a bit, I got her to tell me what was upsetting her.

"The skunk is going to poop on my toys!"

   
Friday, November 25 2005

I took a few moments today and rolled out some improvements to yaflaColor.

  • There are 10 color "save" positions. Drag the appropriate eye dropper to a color you want to persist. The save panels, like all other color panels, can be used to select the current color. Single click on the appropriate eyedropper to clear a position.
  • If you want to "persist" your settings, click on the linked Red/Green/Blue link beside the hex string and it'll capture your selections in the URL - you can then bookmark or share this URL
  • There have been some speed/robustness improvements to the object handling

http://www.yafla.com/dforbes/yaflaColor/ColorRGBHSL.aspx

Again, I have to add the standard disclaimer I add everytime I mention this: It is a very simple little tool that I created primarily to scratch my own itch, however hopefully it's useful to someone else.

BTW: Why did I "publish" this tool? PageRank. I've gotten a lot of inbound links to it from people who appreciate the usefulness and ease of use, and those inbound links help my pagerank cause. So if you like it and enjoy it, I'd appreciate if you linked it. Thanks!

   
Saturday, November 26 2005

Today we took advantage of the gorgeous, barely below freezing temperatures, and the fresh snowfall (which is one of the few snowfalls before Christmas in recent years that actually stayed on the ground more than a few hours, though it'll be washed away as temperatures go to 14C+ in the coming days), this time visiting Crawford Lake again.

Crawford Lake Crawford Lake Crawford Lake Crawford Lake Crawford Lake

It was a beautiful day, with some beautiful scenario. To contrast, the following was Crawford Lake on the Canadian Thanksgiving.

Crawford Lake
   


About the Author
Dennis Forbes Dennis Forbes is a Toronto-based software architect. While focused primarily on the .NET and SQL Server worlds, Dennis frequently ventures outside of this comfort zone into game development and image processing. He has been published in several industry magazines, has been quoted in the Wall Street Journal and has been interviewed by NPR.

He is a vice president and lead software architect at an innovative New York City hedge fund back-office services firm.

Dennis has been working on solutions for the financial, telecommunications, and power generation markets for over 15 years.





 
Earlier EntriesLater Entries

Dennis Forbes