Graphing with Gruff

The house monitoring project has made a little bit of progress, as I’ve now got data being collected into a rails app using backgroundrb, and can get that data back out into very pretty graphs with gruff.  (I also looked a little bit a sparklines, but that’s specifically for graphs without labels.)

We’re running above target temp as it’s the weekend, so the wood stove is on.  As is the furnace fan to spread the heat through the house.  I’m overloading the values for heat on an fan on to be either the bottom of the graph or a specific small value.  I need to sort out a better way to put that into the graph, which may require some hacking on gruff itself.

Early working thermostat code

I definitely don’t have this anywhere near I like it, but I did manage to just dump out a bunch of info from my thermostat and turn off the fan with this script:


require 'thermostat'
require 'pdp_constants'
include Proliphix

t ="","admin","XXXXXXXX")
t.set_senors(ThermHvacMode, ThermHvacState, ThermFanState, ThermFanMode, ThermAverageTemp, ThermHeat1Usage)

# dump out what we have
puts t

# turn off the fan
t.set_data(ThermFanMode, 1)

I need some nicer symbolic constants for state setting, and pull together a rails site just to keep track of thermostat data over the course of the day.  All this code is going on my newly registered rubyforge project.

The Earth in OpenSim

Xplanet is this great program on Linux that does projections of the earth (including all kinds of possible overlays to include things like real time clouds, earthquake activity, and major storms.)  For years I’ve used it as the background image on my Linux desktop.  On the way home last night, while chatting with my friend Trey, it occured to me that through creative use of OpenSim, we could easily do this this in world with dramatic effect.

Below is a couple of screen shots of my 10m globe.  I had to modify the code paths for osSetDynamicTextureURL to get 1024×1024 textures into the pipe, as 512×512 doesn’t actually look good wrapped on a 10m globe.  There is still a bit of work to make this really good (like completing osSetDynamicTextureURL so we don’t need another timing loop in LSL to do refresh), but the initial results are quite nice. 🙂

The circles with numbers are earthquakes in the last 24 hours plus magnitudes (this information comes from the TotalMarker project).

Here you can see the storm track of the named storm Ivan (also from TotalMarker).

The Year of The Linux Desktop?

Like all previous years, this year probably isn’t any different, and it won’t be the break out year for Linux on the Desktop.

But…  (there’s always a but).

Something interesting happened over the last year.  People I never expected to be Linux users have installed Ubuntu.  My sister in law and nephew both count in this list.  At some level “regular folks” have now come to Linux.  I have no idea if this is a trend or not, but I find it interesting regardless.

Eve for Linux

Content was low on this site last week for a reason, I got sucked into EVE Online, which has a Linux client (though the advanced shaders don’t work on Linux so it doesn’t look quite as cool as that screen shot).  EVE is an MMOG that is on universal scale.  There are something like 5000 star systems in the environment (I’ve been to about 10 now).  The environment is basically always running, which means your character progresses in his training whether or not you are in the environment.

They are striking an interesting balance between real persistence and fake scenarios to give players more to do.  If you get a mission from an Agent (who is an NPC), that mission occurs in “dead space”, i.e. off the disc of a solar system, with the Agent’s coordinates to get you there.  Unfortunately those areas are wiped clean pretty quickly after the mission is completed, which I found pretty annoying.  On one of the missions I went on there were some valuable asteroids there, which I bookmarked, ran away, and ran back with mining equipment to mine.  The ship wrecks were there when I got back, but the asteroids were not.  It is a minor ding against a game like this, but one that did break the illusion that the environment was there whether or not anyone was watching it.

All in all, the game is incredible.  I shouldn’t have started it prior to my grad class kicking off this semester, as I don’t really have the time to play.  However, given that you can just train sitting on a station, I’ll probably sign up to keep the account and play a bit on weekends from time to time.  It is a nice distraction.

Tuning the HD Set

John came over prior to the game bringing his HD-DVD Video Essentials, and given that we had some time prior to the game, we spent some time tuning the set.  Honestly, most things were pretty good, though we had to tune down the color and up the brightness just a bit.  There was one adjustment we made that I can tell immediately made a difference, which was tuning the sharpness down to nothing.  One thing that had always bothered me was how Jack’s beard in lost seemed to shimmer in odd ways, though I was never really sure what caused it.  It turns out that sharpness on digital TVs pretty much just takes the digital artifacting and makes it 10 times worse.  The image looks a little softer now, but there are no annoying random artifacts on thin lines throughout the picture.

Thanks to John for bringing that over.  I still have the kit as I’m going to do audio balancing this week (as we didn’t quite have the time to do it before people showed up).  While my living room is only so tunable, I’m still looking forward to actually trying to balance in the sub woofer in a reasonable way.  I think it will be amusing to see how off my course grained adjustments are.

Giants Win!

With a living room full of people, and a kitched full of food, we had quite the Super Bowl Party last night.  At least a few of it are paying for it with our voices this morning.  There are many folks more eloquent than I that will describe what happened last night, but I think that the entire night can be boiled down into the incredible play in Eli’s last drive.

On 3rd and 10, with no one open, the pocket starts to collapse on Eli.  The hearts of all the giants fans in the room sink as we expect the inevitable sack.  The Eli breaks the tackle, and another one, and another one.  Some how he manages to break free completely and throw a 20 yard pass up the middle, caught in the most tenuous maner I’ve ever seen (one hand and a helmet).  At that point you realized something, the Giants were not going to let anyone count them out.  Eli believed he could win.  Everything the Giants did in the last 3 minutes of the game showed that at the end of the day, they just wanted it more.

What an incredible game!