Older blog entries for mjg59 (starting at number 180)

Showers and UI design

Travelling rather a lot this year has left me spending plenty of time staring at showers[1]. There seem to be three broad categories of shower UI design. The first is the one that exposes the raw functionality of the underlying implementation:

(image by bean, reused under cc-by-nc 2.0)
Showers work by mixing hot and cold water and feeding them through a shower head. This implementation allows direct control of the hot and cold feeds. The user can obtain any combination of pressure and temperature that the supply contraints make possible, but at the cost of it being impossible to adjust single variables. Changing the pressure without changing the temperature is difficult. One of the most common alternatives I've seen this year is the following:

(image by anearthling, reused under cc-by-nc-sa 2.0)
Here, power and temperature are unified into a single control. The major problem with this design is that it's generally impossible to have any pressure setting other than full on. The benefit is that the temperature can be altered without any significant concern over the pressure. Simplification through limiting functionality. Finally, we have setups like:

(image by stevec77, reused under cc-by-nc 2.0)
Though not clearly shown, this interface separates temperature and pressure into independent functions. The number of UI elements is identical to the original "hot/cold" case, but the user is now able to set temperature and pressure independently without having to worry about the interaction between the two. This is obviously more effort to implement but improves usability, decreases complexity and doesn't clutter the interface.

So, if this is a solved problem, why do I keep coming across implementations that suck?

YES THIS IS A METAPHOR FOR SOFTWARE DESIGN

[1] Often in a certain degree of confusion, but that's not really the point here

Syndicated 2008-12-13 23:48:16 from Matthew Garrett

Worrying realisations

The entire lifecycle of Ultrix from first to last release was on the order of 12 years.

I first ran Linux in 1995.

Syndicated 2008-12-11 06:45:21 from Matthew Garrett

In other news

Travel plans:

7th December - 11th December - Boston. And Westford. Sob.
11th December - 15th December - New York
18th January - 25th January - Hobart (LCA)
25th January - 1st February - Melbourne, probably. But who really knows?
1st February - 4th February - San Francisco
6th February - 8th February - Brussels (FOSDEM)

And that's currently it. Anywhere else I should be? GUADEC's probably a given, but otherwise this is your opportunity to ensure that my bed lies cold and empty for large periods of the year.

Syndicated 2008-12-04 02:57:43 from Matthew Garrett

Advantage of Linux over Solaris

In response to this:

Idle power draw of Fedora 10: 100W
Idle power draw of Opensolaris 2008-11: 135W

Sure, there are other arguments. But with energy prices the way they are, choosing Solaris is choosing to spend significantly more money on your hosting. Remember to factor that into your TCO calculations.

(Testing done on a 4-way AMD with a Radeon X1900 graphics card, which is what I happen to have to hand. Out of the box configuration.)

Syndicated 2008-12-04 02:36:44 from Matthew Garrett

Thintel

ICH8 docs, section 5.13.5.1:

To eliminate the audible noise caused by aggressive voltage ramps when exiting C4 states at a regular, periodic frequency, the ICH8 supports a method to slow down the
voltage ramp at the processor VR for certain break events.


Sounds good. Section 9.8.1.6:

C4_TIMING_CNT: Bit 6 Slow-C4 Exit Enable —When 1, this bit enables the Slow-C4 Exit functionality.

Well, hey, we can quirk this on and make life better for everyone oh wait section 9.8.1.4:

Bit 0 C-STATE_CONFIG_LOCK: When set to 1, this bit locks down the C-State configuration parameters. The following configuration bits become read-only when this bit is set:
...
The entire C4 Timing Control Register (C4_TIMING_CNT)


Thanks, Intel. Thintel.

Syndicated 2008-12-02 03:28:00 from Matthew Garrett

Aigars:

1703 called. They wanted to let you know that you haven't been paying attention to modern linguistic trends.

Syndicated 2008-12-01 21:49:07 from Matthew Garrett

Unexpected results

On my test setup, disabling the blinking cursor in Gnome saves me 2 Watts.

Syndicated 2008-11-25 16:06:33 from Matthew Garrett

Good power management practices

Based on feedback from my last couple of posts, I've written a guide to some good power management practices. It's aimed at people implementing desktop environments and power management interfaces for the most part, rather than end users or driver developers. Any suggestions for additions or corrections happily received.

I'm not aware of any OS that currently gets all of these correct.

Syndicated 2008-11-24 15:48:40 from Matthew Garrett

Nngh.

Sebastian Kügler dissects my dissection, except in fact he appears to be responding to a pile of stuff I didn't write.

First of all, Matthew assumes that the setting "powersave" will actually use the powersave cpufreq governor - citation needed.

the "conservative" governor, which indeed is an "ondemand" governor, meaning it gives you the extra needed CPU power when you ask for it - more slowly than ondemand does, resulting in extra power draw. Never run conservative unless your P-state latency is so high that ondemand won't work.

Powerdevil doesn't offer such option, so Matthew will be happy about this item - I didn't say it did. However, it is a common myth that thermal management is part of the job a power management policy should play. CPU frequency changing is a mechanism that can be driven by two policies - power management and thermal management. The fact that they share a mechanism does not mean that these policies should be conflated. Really. I wasn't just talking about Powerdevil here.

"3d takes more energy than 2d" is something I didn't actually say. I brought this up because various people have advocated disabling compiz to save power and because Powerdevil appears to have a "Disable Kwin compositing" button.

Lesson learned: Don't have an immediate emotional response to perceived criticism and fail to actually read what you're responding to. I would have commented on Sebastian's entry directly, but he forbids comments, so fuck that.

Syndicated 2008-11-23 16:49:43 from Matthew Garrett

171 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!