No Time for Time

No Time for TimeI think people, including myself, easily get confused by thinking of time as an actual thing. I suspect that time is no more an actual thing than the number 3 is an actual thing. The number 3 is simply an abstraction that helps us represent a quantity (usually) of one thing or another. But the number 3 isn’t really a thing, in and of itself.

Time is similar. It’s nowhere to be found. Yet we can measure a quantity of changes within physical space by comparing them with other quantities of change within physical space, and we call that time.

For example, this crystal will vibrate 2,000 times before this ball arrives to hit me upside the head. Time isn’t anywhere in there, unless we want to say that 2,000 vibrations of that crystal is 2 seconds. Just keep in mind, though, we’ve made that up.

Now, suppose I’m next to a black hole, which isn’t far from the truth. My crystal will be vibrating slower if you’re looking from the outside, because space is so much more densely packed where I’m sitting – or rather gravity is stronger. My crystal will vibrate a different number of times before the ball smacks me upside the head. But is that necessarily something called time, or is it just a characteristic of more densely-packed space, behaving as it “ought”?

Preconceptions are buggery gremlins which often lead us easily astray. We can measure stuff, and compare it against other stuff, and even accurately predict what those measurements will be. But we’re just saying that stuff happening at seemingly constant intervals is time, and stuff happening to those same things, when the intervals change, are alterations to time.

Always remember, though, that a thing called time doesn’t need to exist — any more than the number three. It just helps when we’re counting.

Get lm-sensors Working with ASUS M5A996X EVO Motherboard

I just finished building a new Linux Debian 6 Squeeze server based on the ASUS M5A996X EVO motherboard. Yes, I chose an AMD FX-8150 processor instead of one of the new Intel Ivy Bridge i7’s, and not because of price. I may write up something on why later.

Anyway, Debian Squeeze’s version of lm-sensors doesn’t support the it8721-isa-0290 (it8721f) chipset on the ASUS M5A996X EVO, yet I would like for the thermal sensors to work. High temperatures bad.

Support for this chipset starts in kernel version 2.6.37 – but the lm-sensors people have a standalone kernel module you can build that will enable lm-sensors to work in Linux kernel versions prior to 2.6.37 (Debian Squeeze is using 2.6.32).

To get lm-sensors working, I did the following – but I did it on a different machine than this server, because you probably don’t want to have kernel sources and build tools cluttering up all your nice, clean servers.

mkdir /usr/src/it87 ; cd /usr/src/it87
wget http://khali.linux-fr.org/devel/misc/it87/Makefile
wget http://khali.linux-fr.org/devel/misc/it87/it87.c
make && make install

Of course, if you don’t have a build environment for kernel modules, and you’re using Debian, just do a

apt-get install linux-headers-2.6-amd64 kernel-package

Then you can build modules against your currently-running kernel. You may be using something else besides the amd64 architecture. How can I know?

If you need to go put this module into other running servers, just copy it on over into the modules tree and probe it.

scp it87.ko root@MyProductionServer:
ssh root@MyProductionServer
cp it87.ko /lib/modules/$(uname -r)/kernel/drivers/hwmon
modprobe it87

That should do you. To load it at boot forever after, do a

echo "it87" >> /etc/modules

Yes, that bit’s a nasty, lazy cheat. Remember, you’ll need to recompile it with new kernel versions. Well, you should.

Hope this might help someone else.

PS. If you’re wondering about that link to some French server, it was taken directly from the lm-sensors site for “standalone driver” for this chipset.

Disabling dnsmasq as Your Local DNS Server in Ubuntu

You caught me, I’m dabbling in Ubuntu again. I know! I’m weak for the pretty.

Their inclusion of dnsmasq by default, and making network-manager dependent upon it, is fine – I mean it’s their distribution. But, Ubuntu, make sure you get things right before you force it down people’s throats. Ah, pretty Ubuntu, though. It’s okay.

So, dnsmasq turns every workstation into its own caching DNS server. The cache isn’t updating very well on mine, though – I’m not even getting new additions to domain zones, let alone deletions or changes.

I don’t need my workstation to be a DNS server. I have DNS servers for that. But every time I change /etc/resolv.conf, it gets overwritten later by resolvconf (of course). You’d think resolvconf would believe my DHCP server, and use the DNS entries received from it — but no, resolvconf believes the big, nasty Network-Manager, which says DNS resolution will come from 127.0.0.1 – and dnsmasq will provide it.

And of course, since Ubuntu decided to have every person’s workstation become a name server and DHCP server, they make it destroy the whole dependency tree for Network-Manager if you remove dnsmasq.

I just want nice accurate DNS information… not stale cache… that never seems to die!

So here is what I did to wrest my name servers back from Ubuntu’s presumptuous, yet sumptuous, little fingers.

  1. sudo gedit /etc/NetworkManager/NetworkManager.conf
  2. Comment out the “dns=dnsmasq” line by putting a hash “#” in front it.
  3. sudo service network-manager restart

After that, /etc/resolv.conf was populated with the DNS servers my DHCP server wanted me to have in the first place, and DNS resolution was back to the happy mess it always is.

I have to say, out of some embarrassment, that I don’t actually use gedit for such things. I just put gedit there so I wouldn’t confuse anyone with emacs.