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.
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).
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.
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.
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.
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.
Then you tell it where to find the web service, and what database for the web service to use.
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.
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..
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.
I took a few moments today and rolled out some improvements to yaflaColor.
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!
Earlier today, while perusing the meme sites to see where the groupthink arrow is pointed today, I came across links to the following highly-ranked (at least by anonymous numerics) page.
http://microformats.org/wiki/rest/ahah
I checked the calendar to see if it was April 1st, but alas it does not appear to be. This actually appears to be serious.
This is where the AJAX-trend has brought us - people who have contributed nothing to the global knowledge pool are rushing to remora off of the creations of others and claim it as their own. Every obvious potential use for a programmatic element can become a cheap acronym that someone can append their name to, desperately hoping that they earn some fame for their heroic act of sitting on the sidelines and naming things years after they've entered common use. The fact that the linked page uses the term "discovered" to describe the "discovery" of the most obvious and prevalent use of the XMLHTTPRequest (and friends) object is mind-boggling.
Firefox 1.5 has been released, and is available for download at http://www.mozilla.com/firefox/. While superficially it looks like nothing has changed, there are some huge improvements hidden just below the surface.
All of these are fantastic to see - Firefox really is blazing its own path now, no longer caught in the no-win situation of simply following Microsoft's lead. Of course Firefox has been better at standards conformance and nuances of CSS for some time, but that doesn't really inspire a lot of end-user adoption - it's the features that matter, and in that domain it has taken a hefty lead (including over anything I've seen with IE 7).
I've been using Opera 8 as my primary browser for several months, after a couple of years with Firefox as my mainstay. Given some of the improvements I think I'm going to switch back.
This entry is a bit of meta-blogging - blogging about blogging. I try to avoid doing this, but blogging is an "industry" in serious need of a reality check, and while I'm hardly in a position to do so, I can at least take a nibble at the toes of it.
Firstly, to avoid the seeming hypocrisy of me criticizing blogs in a blog entry, I should answer the simple question why do I blog?
The easiest answer is that it's an on-the-record (e.g. searchable) archive of thoughts and technical explanations that I think are valuable (not to all people, but rather to some people, some of the time). Under my control and ownership, I am publishing thoughts and opinions for worldwide consumption. Not that everyone in the world - or even the tiniest percentage of it - is going to want to consume it, but it is accessible to most of the world. It beats posting thoughts on random discussion boards, to be edited or censored beyond my control, and for someone else's benefit.
Right now, for instance, with a relatively middling pagerank, Google is sending about 100 people a day from around the world here for their search terms (usually technical searches), followed far behind by a dogfight between Yahoo and MSN. I get a feeling of satisfaction knowing that I've (hopefully) helped people, whether it's implementing hierarchies in SQL Server, understanding the benefits of the new functionality of SourceSafe 2005, filter EXIF from their images or understand what value GPS will add to our digital photography, building Firefox extensions, or converting color schemes. On top of that, about 20x more get here daily via RSS readers, links, or bookmarks. More still have accessibility to these thoughts via aggregators.
Knowing that some people can get value from some of the entries is very satisfying to me. Most of the people will skim past and move on, but some will get genuine use out of it.
I also blog for reputation. To a small degree I am laying out who I am on here. I think I've demonstrated that I'm a fairly smart guy, with a lot of experience and a pragmatic perspective, and I have a given set of beliefs and perceptions. I've never attempted to pander to anyone: I've alternately offended both the pro-Linux and pro-Microsoft crowds, as well as the open-source and commercial software vendors: I am not a mouthpiece of someone's dogma, and while sometimes my opinion and perspective coincides, it doesn't indicate any alignment.
A lot of the people who I (along with associates and subcontractors) consult for (consulting on SQL Server, software architecture, Biztalk, Sharepoint, outsource software auditing, and custom software development in the Greater Toronto Area) - the real revenue generating side of yafla - view these pages, and it has been very beneficial.
Additionally (and most importantly to me) I am laying the communications groundwork for a product (Product X). I'm not into pushing vapour so I won't say anymore, but that is largely the selfish reason why I've sought PageRank and readers.
So that's why I blog. The fact that these are sequential, time-based entries is largely irrelevant (which is why I removed the time on the entries - it doesn't matter if I put this up at 1:32pm or 2:27pm) - ultimately it's just a convenient content management system with a usable delivery mechanism (RSS).
Which brings me to blogging in general. <1% of the blog world, I would say, are interface blogs - they're information conduits - a one-way interface - between a business or project (or even celebrity) to consumers. Want to know what's up with SVG in Mozilla? Just read http://weblogs.mozillazine.org/tor/. If you want to know what's up with Web Services @Apache, just visit http://ws.apache.org/blog/.
There are similar blogs for most software groups and technologies these days.
These sorts of blogs - often faceless blogs with little personality - can be tremendously valuable in keeping customers up to date on a project or product's happenings. They can even be internally beneficial in corporations as project or team façades. For instance "Project Life Admin Overhaul Project" with frequently added status updates: An on-the-record, historically-traceable, centralized location for information dissemination. This could be a Sharepoint site as easily as it could be a bonafide blog, but the purpose and value is exactly the same. The goal is usually to limit the scope to the product or project (no personal chatter about team lunch get togethers or funny cat incidents), and when something pops up the reader knows that it impacts the product.
Eventually as Project X is publicized here, a separate project blog will be created that contains nothing but product news. No pictures of my car rides, meta-blog comments, or random technical commentary.
Of the remaining 99% of blogs, a significant percentage are personal blogs that really aren't intended for anyone other than family members and close friends (and even they only visit when they're guilted into doing so. "Hey Tom...did you see my latest blog entry?").
The remainder is filled up with opinion blogs (blogs largely patronized by people who already drank the kool-aid, and they're just going there to surround themselves with like-minded far-Right or far-Left minded individuals): These blogs are vastly less influential than they are generally imagined to be, as their readership is already stuffed with the converted. The only people reading an Open Source Evangelism blog, for instance, are open source advocates. Joe VP isn't wandering in there when deciding what to base the next platform on.
I left out one rather large group, which is bloggers that blog about blogging and bloggers - the meta-bloggers. This is a very, very large group of individuals. See Robert Scoble, strangely one of the most popular bloggers out there (something which I attribute to a "first mover advantage" - Robert was associated with some of the people who basically invented the concept of blogging, so he started getting the links early. Now that he's entrenched, and virtually no one really bothers linking anymore, he remains "powerful" among the blogging about blogging community). 90% of his blog is filled with either links to random stuff that other people are saying (there is very little original content in the blog world it sadly seems. It's easier to say "someone says..." than it is to actually say yourself. For every actual piece of content posted, there are probably 100 "someone said" blog entries), or talk about blogging.
If you look at his adoring community, and follow some of the backlinks, you discover a large, incestuous network of bloggers that are blogging about blogging, and linking to each others blog entries about blog entries about blog entries that talk about blogging about blogging on blogging with blogging. You even get people warning about blog "celebrities", like Scoble, releasing too much personal information. "As public interest in blogging grows, he can only get more famous." the blogger writes.
Give me a break. Bloggers are just so full of themselves.
While Scoble is surrounded by pro-Microsoft sycophants begging for a job at Microsoft, and has an adoring community of please-link-to-me advocates (9 times out of 10 you'll find the same incestuous link between Scoble and the sites he links to. Oh boy, I sure hope Scoble links here!), most of the world just doesn't care. Scoble's appeal is extraordinarily limited, and the idea of him being a celebrity among anyone other than a core group of Microsoft groupies and blog evangelists (the latter is a declining group - it really isn't an innovation anymore. The former will exist as long as there are people desperate to work for Microsoft) is delusional.
I commented in my notes regarding Microsoft's Launch 2005 event that one of the presenters asked who in the audience read the TechNet Canada blogs, and this was just another example of bloggers getting full of themselves. Of course they didn't - the audience reaction was almost entirely negative. Why would they? Why would some corporate developer trying to fight with SQL Server to solve a deadlock issue sit reading the blogs of a Canadian Microsoft technology evangelists (basically glorified salespeople)?
The idea is ludicrous, but there was that expectation, just as there's the flawed perception that the majority of people are eagerly and anxiously consuming blogs every day. It's a complete disconnect with reality, because people are grossly over-estimating the impact of blogs.
And this is the crux of blogging - It is a domain that has some definite uses, but in some ways it's a pyramid scheme: The illusion of the rising impact of bloggers is really just the blog community eating itself - selling itself to itself - all desperately tracking each other to lazily gain content for the next entry. "So and so said....here's my off the cuff take on that".
Sort of like this entry. Chomp!