Slightly belated, but still: Happy new year everyone!
We spent the holidays with my parents, pretty relaxing, didn't do
much but lie on the couch, do crosswords and watch my sisters dwarf
rabbit, that my mom hat to "rabbit-sit". Christmas was as usual a
three-generations celebration and quite nice.
On the 4th we went to see
Irie Révoltés.
Absolutely great concert!! We danced our hearts out. But, you know
what? The best is not only seeing a great concert, but having the next
day off. Sleeping in 'til way past noon, waking up with a beep in
yours ears, a smelly pile of cloths beside your bed and every muscle
sore. Have a wonderful breakfast with eggs and sausage, spend half an
hour under a hot shower and spend the rest of the day humming
melodies and tending to your aching muscles. Wonderful!
Unfortunately the new year didn't continue that great. I caught a
nasty cold and spent the last four days in bed. But, oh well, it's
getting better, I can almost breathe soundlessly again!.
Generally, this is going to be a very important year! In the middle
of December I registered my Magister (comparable to a master's)
thesis. I've got six months to finish it, so the first half of this
year will be used for that. Once the thesis is handed in, the final
(really final this time) exams start, first a very long written
one, than an oral one, this will take until October. After that ...
well, we'll see. I've set my mind on a PhD, since I'd like to pursue
an academic career, so the next step will probably be trying to get a
PhD grant. First things first though ...
Resolutions
Finally this is probably the first new year I really made some new
year's resolutions. I'll put them here, so I can nail myself down to
it over the year:
- First off, there are some things that I simply hope to keep the
way they are:
- I live in a wonderful relationship that I hope will
simply go on forever :)
- Also, I have quite a cool job (several actually), that I
hope I can keep for another while.
- I changed my eating habits quite drastically during the
last months. I used to love everything "Just add water": teas,
soups,puddings ... RAMEN!! Luckily it didn't reflect on
my weight, which is pretty constant, but still I know that
stuff is 90% chemical crap and who knows what it will lead to.
(I know the optimal human would have three eyes, but I am
actually quite happy with my average two.)
So, I've cut down on that quite a bit and now have a
subscription with an organic farm nearby
that delivers so called Abokisten (subscription boxes?)
that are delivered weekly and contain different vegetables,
fruit, a loaf of bread and some cheese. The boxes' content is
kind of randomized, so you get something different every week.
It's a pretty neat service, since the food is really great,
the price is reasonable, it's delivered right to my door, and
(most of all) it makes me cook! So, here's another Keep that
up!
- So much for the keeping, now for the changes/tasks: I guess the
first is, of course, my thesis and exams. I plan to do those as good
as possible. I'll be something of a challenge though. This is the
first time I do such a large "project" (the thesis takes six months)
all on my own, and (most worrying) at home. So here's a test on
self-discipline!
- Although I've done a lot of acting in my "younger years" (haha)
I've always been rather unmusical. This has been nagging on me for
quite a while, so I've taken up playing the Blues Harp last month. I
picked that instrument since I love the Blues and it's also easy to
learn but still very flexible (and cheap). So far it's been huge fun
but the art is, as always, keeping it up.
- There's this little blog I'm maintaining, that
has been horribly neglected over the last year, so another resolution
is to post here more often. (This way posts also won't have to be so
horribly long, such as this one.)
- I couldn't help but notice that that geek
girls top ten which Erinn
mentioned (congrats by the way :)) contains but
one European women. So here's
something to do as well. There's quite a bunch of pretty impressing
ladies over here, too. (Even AFTER 1950,dear CNET)
And it seems, they need a bit more visibility. Maybe there are some
things that can be done about that too ...
So, lots of plans. I hope publishing them here will help sticking
to them. This also concludes my "little post", I hope the next will
follow in a more timely manner.
I am trying to figure out how to hook in a homegrown script into the gnome power management. I read the source to gnome-power-manager and it seems to make dbus calls to accomplish what it wants. This is where I get lost as i dont know the first thing about dbus. So: where can I add scripts for suspend or hibernate actions?
Yesterday I went to activate phone service out at the farm. It got me to thinking a bit about how things change, and how they stay the same, too.
Before I go on, I'll have to say that every one of my history books is in storage, so if I get some details wrong, it's because I'm not remembering correctly.
Anyhow, phone service came to our community via an unusual route about 100 years ago. It wasn't Bell/AT&T or some other company that brought it there, as it was most places. I'm sure they figured that a small, scattered rural community would cost too much to support. So the community organized, built, and supported the phone system themselves.
Even today, roads around here can be impassible after a good rain. I'm sure that, in the early 1900s, before heavy road-maintaining machinery, things were worse -- and, of course, transportation was a lot slower then anyway. There were real problems: getting the word out about funerals, being able to summon a doctor when necessary, or letting people know that church was cancelled because of too much snow.
People in the community saw a phone system as a real need. So did the churches, which have left a legacy that is still reflected in phone company territories today.
Once phone service arrived, it was used for all the things that people expected, of course. But it also proved to be an important part of the social fabric of the community. Since party lines were the norm, it was possible to announce things to every listening subscriber pretty quickly. Older people remember announcements of fresh fruit arriving at the grocery store, funerals, or other news of the day.
To place a call, you would pick up your phone and turn your crank. That caused a bell to ring at the telephone office, which everyone called "Central." The operator would connect to your line and ask whom you wanted to talk to. The operator would then send the distinctive ring for your party down their party line, and patch -- manually -- your call through to them. And, if he was busy, the operator wouldn't listen in on your conversation -- but others on the party line very well might.
Central's hours were published. If you were making a call in the middle of the night, you were going to wake up someone at Central to do it -- plus everyone on the entire party line. So calls after hours were rare.
Fortunately, while some of the old Central operators were still around, some people in the community wrote down some of their stories.
There were some people in the community that were notorious for eavesdropping on other people's conversations. Two brothers one time figured that they knew somebody was listening to their conversations, so they devised a code. One called the other, and said, "I'll be going to McPherson in the morning for band practice." That meant something along the lines of going to town to buy groceries.
A few days later, their prime suspect came up to him and said, "What on earth are you going to band practice for? I didn't know you knew how to play an instrument!" Apparently she realized she was had when he burst out laughing uncontrollably.
The Central operators learned to know the habits of telephone users. Sometimes they would connect calls without even bothering to ask who people wanted to talk to -- and seemed to always get it right.
The phone system supported itself for about 50 years. But as the rest of the world moved on provide direct dialing, this proved a controversial subject in the community. People liked having their operators. The people that worked at Central were everybody's friend. They were people that were there, 24 hours a day, to assist with any emergency. They would gather volunteer firefighters to help fight a fire, or be able to spread community news quickly. This wouldn't be available with the newer phone systems. How would the community be informed of events quickly now? Who would just happen to know whose house the doctor was at when he was urgently needed?
The change was resisted for some years, but eventually the finances of the telephone cooperative turned out to be in deep trouble. Operators grew to be much more expensive than automation, and in the late 1960s, the telephone cooperative was no more -- sold to a phone company from a small town more than twice our size, and a for-profit company at that! Central no longer existed. I remember reading about this event -- it seems people were sad about that for quite some time. They felt that they had really lost an important part of the community when Central went away. Some machine locked in a cabinet doesn't care for people the way Central did. Even today, the older people in the community sound a little sad when they remember telephone modernization, and get the wistful look of somebody that has just remembered something that they miss.
The phone company that bought the system wasn't an AT&T, though. It was a small, independent phone company. To this day, that phone company serves only the two communities. And it was this company that I called yesterday to establish service out at our house.
They had already upgraded our lines -- over a mile of new copper, benefiting only us, at no charge to us -- last fall. The box was already on the outside of the house. Just need to get it activated.
So I called the phone company. They said I needed to drop by their office and sign some papers. Uh-oh, I think -- this is a bad sign. Sounds like a bunch of phone company bureaucracy.
But not so much. I went to the office and signed up. They asked the usual questions: name, address. Plus a few that bigger companies wouldn't ask: who used to have service at that address? Of course, most people would know that answer in our community. I couldn't have told you in Wichita, Dallas, or Indianapolis.
Then they asked when I'd like service to be activated. "As soon as possible," I say, figuring that this would be a couple of weeks like it is with AT&T or Sprint. "Well, we probably can't get out there for a couple of hours. Would it be OK if it's on at about 3?" Yes, that would be fine!
Now, how about DSL? "Well, we're a little backed up on that right now." Uh-oh. Sprint took several weeks when they *weren't* more backed up than usual. "So it'll probably be Monday or Tuesday before we can get out there. Should I just have the installer call you and arrange a time when it gets closer?" Yes, that would be fine, too!
Now, how about finding a phone number.
Out comes a large paper book. Yep, paper. They paged through it, and told me that my grandpa's old number would be available if I wanted it. I said yes -- after all, we've got his old address, so might as well keep the same phone number. OK, no problem. She whips out some white-out, whites out grandpa's name, and writes ours in. Done.
Now, do we want any optional services? Caller ID, call waiting, voicemail? How much is caller ID, I ask. $5 a month. We'll try it for now. "OK". A box was checked on the form and that was that. No high-pressure sales pitch on taking "the works" for some poorly-disclosed price, providing a ton of services I'll never use and don't want. No confusing "discounts" for having The Works and DSL at the same time.
Then I ask about an unlisted number, or at least an unlisted address. We figure that anybody that we really want to be able to reach us will figure out how without using a phone book, and these things get in so many databases these days. Sprint charged almost $10/mo for a fully unlisted number, but only a few dollars a month to just keep our address off the directories.
Our new company charged 50 cents a month for a fully unlisted number. Done.
Now it's time to pay for the first month's fees and the setup. Oops, I've forgotten my checkbook in the car. No problem, the secretary says, I'll watch your baby while you go get it! Jacob was with me, but had fallen asleep, so I brought him inside in his car seat. I went to get the checkbook -- just out the door and close by. I was back in a few seconds later, and the secretary was already on the other side of her desk talking and playing with Jacob. "My baby's 12 now," she said, and for a second, looked like a person that was remembering Central.
Or, Cleanliness is next to godliness
The last time when I blogged about Spam fighting
Mail
Filtering With CRM114 Part 1, I left y'all with visions of
non-converging learning, various ingenious ways of working around a
unclean corpus, and perhaps a sinking feeling that this whole thing
was more fragile than it ought to be.
During this eriod of flailing around, trying to get
mailtrainer to learn the full corpus correctly, I upgraded
to an unpackaged version of crm114. Thanks to the excellent
packaging effort by the maintianers, this was dead easy: get the
debian sources using
apt-get source crm114, download tghe
new tarball from crm114 upstream, cp the debian dir over, and just
edit the changelog file to reflect the new version. I am currently
running my own, statically linked 20061103-Blame
Dalkey.src-1.
Cleaning the corpus made a major difference to the quality of
discrimination. As mentioned earlier, I examined every mail that
was initially incorrectly classified during learning. Now, there
are two ways this can happen: That the piece of mail was correctly
placed in the corpus, but had a feature that was different from
those learned before; or that it was wrongly classified by me. When
I started the chances were almost equally likely; I have now
hopefully eliminated most of the misclassifications. When
mailtrainer goes into cycles, retraining on a couple of
emails round after round, you almost certainly are trying to train
in conflicting ways. Cyclic retraining is almost always a human's
error in classification.
Some of the errors discovered were not just misclassifications:
some where things that were inappropriate mail, but not Spam; for
instance there was the whole conversation where someone one
subscribed debian-devel to another mailing list, there was the
challenge, the subscription notice, the un-subscription, challenge,
and notice -- all of which were inappropriate, and interrupted the
flow, and contributed to the noise -- but were not really Spam. I
had, in a fit of pique, labelled them as Spam; but they were really
like any other mailing list subscription conversations, which I
certainly want to see for my subscriptions. crm114 did register the
conversations as Spam and non-Spam, as requested, but that
increased the similarity between Spam and non-Spam features -- and
probably decreased the accuracy. I've since decided to train only
on Spam, not on inappropriate mails; and let Gnus keep
inappropriate mails from my eyes.
I've also waffled over time about whether or not to treat
newsletters from Dr. Dobbs Journal or USENIX as
Spam or not -- now my rule of thumb is that since I signed up for
them at some point, they are not Spam -- though I don't feel guilty
about letting
mailagent squirrel them
away mostly out of sight.
A few tips about using mailtrainer:
- Make sure you have a clean corpus
- Try and make it so that your have roughly equal numbers of Ham
and Spam
- Don't let mailtrainer quit after a set number of rounds. I use
a ridiculous repeat count of about 100 -- never expecting to reach
anywhere close to that. Instead, I set the streak to a number =
number of Spam + number of Ham + 10. This means that mailtrainer
does not quit until it has processed every email in the corpus
correctly without needing to retrain. Letting mailtrainer quit
after it repeated the corpus twice, but before it got a streak of
correct classifications left me with a filter with
horrible accuracy.
- Make sure you have a clean corpus (yes, really)
- While the ratio of similarities between .css files to
the differences between .css files is a fun metric, and I
use it as an informal, rough benchmark while training, it is not
really correlated to accuracy, so don't get hung up on it, like I
was. Usually, the value I get when training from scratch on my
corpus is somewhere around 7.5; but over time the ratio degrades
(falling to about 5), while the filter accuracy keeps
increasing.
- Train only on errors. The good news is that both
mailtrainer and mailreaver already do so, so this
is easy rule to follow. The reason is that you should only be doing
minimal training, in case you have to modify/change the underlying
rule in the future. So your filter should be trained to correctly
classify the mails you get, but don't shoot for overwhelming
scores.
- Use mailreaver. It has the nice behaviour of asking for
retraining when it is unsure of some mail, and it caches mail for
some time which really helps in training and rebuilding
.css files. The reason mailreaver learns faster than
mailtrainer is just this feature, I think.
- Stash mails you train on in your corpus, and don't hesitate to
re-run mailtrainer over your corpus again after you have been
training the unsure emails. When you train single emails, the
changed filter may no longer correctly classify some email in the
corpus you train with. Running mailtrainer over the corpus adjusts
the filter to correctly classify every mail again. I generally
retrain about once a week, though I no longer retrain from scratch,
unless I change the classification algorithm.
So, the
Apple iPhone has been launched, it was brought to my attention as actually being announced by the MD at work, who appears to have become a complete apple freak (poor bastard... or is that rich bastard to be able to afford apple's mediocre offerings and be happy about it?). Anyways - from reading the
story from
BBC News and the
official website, here's my conclusions.
First off, when marketing a phone, how about you actually mention it's phone capabilities as the number one priority? I'd like to know about the sound capabilities, the battery life, the overall user feel for it as a phone... maybe I'm odd, but a phone has a purpose, it should make and receive calls, and it should do that job *well*, with good quality voice, a decent (filtering) microphone (it's a mobile, you'll be walking whilst speaking on it, reducing the background noise is a selling point), but apple appear to have mostly avoided talking about this. Instead, the first thing that you're told about from the news story is the unique user interface - great, so we have a touchscreen "whoop, de, do!". Worse still, from the official site, the first thing that springs out is that it's a "Wide Screen iPod" - it's a phone, if I wanted an iPod I'd buy a damned iPod - as it stands, for my music needs I have an
iAudio M3 which suits my portable music experience really rather well. I choose that on the basis that it provided ogg support out of the box, didn't require any magical software (I run linux on my machines, it presenting itself as nothing more than a USB hard disk was fantastic, and means that I can use it for other things when needs arise). For a phone I want something that actually behaves like a phone, looking at the iPhone it's primary purpose appears to actually be a media player - that's not good.
With the iPhone only having a touch screen interface, and from everything that I've read there's no stylus and the "finger is the ultimate pointing device", I'm just expecting that within the first 2 weeks you're going to have a scratched or smudged screen from usage alone, add in the fact that it's a mobile phone, and therefore generally treated with contempt (neccessity rather than luxery), and that most people carry mobiles in their pockets without any form of protection (easy and fast access) and you've got a recipe for disaster! The touch screen is going to be hit (wether you like it or not) whilst the phone is in your pocket, it will wear - there's no question in my mind about it. Touchscreens aren't designed to be smacked around 24/7, they're touchscreens - they respond to touch! So, assuming that you're shiny new iPhone is sitting in your pocket a lot of the time that's a lot of usage of the touchscreen - they're not designed for constant pressure (think about what happens to pockets in trousers when you sit down...), so I don't think that, overall, the sensitivity of the screen is going to last very long. It's only got a fairly narrow screen too, so what about those of us with not entirely slender fingers? When composing SMS messages on it with the on screen qwerty keyboard, do you really think that you're going to get the right keys every time? Small, on screen, buttons and pubs do not mix - and I'd hasten a bet there's a fair number of SMS messages sent from, or on the way back from, the pub, with a predictive text system at least you can almost work out what the heck the person was trying to say - this is a whole new ball game.
The iPhone also makes the phone functionality only available after you've hit the part of the screen that says "Phone", now, I don't know about other people, but if I'm being given a number, I tend to just start hitting the right buttons on the phone, I can store the number later (via the call register or whatever) and hit call, now there's an extra step to getting in touch with people.
From the official site we have the words """ iPhone also introduces an entirely new user interface based on a large multi-touch display and pioneering new software, letting you control everything with just your fingers. """" - now, err, just when did a phone require you to use anything other than your fingers? Please tell me, I'm dying to know - I've never yet needed to use my feet to operate my phone, have you? This is marketing gone insane - and what worries me is that people actually believe this bullshit.
Apple may have "revolutionised" the computer industry with "Mac OS X" (this is actually not something that I believe, and OS X actually makes me more frustrated than being sat infront of a windows desktop - and believe me, that's difficult), but this is a phone, how about they try making it about the phone first, and the next generation tart audio player second?
I'm willing to be convinced that I'm wrong, but I definately won't be going out of my way to aquire an iPhone just because the marketing spiel looks good.
Just spent a long weekend (Thursday night to Monday afternoon) in
Finland. Hanna invited me over a while ago with a promise of sauna and
ice swimming, and I'm a sucker for travelling to parties these
days... *grin*.
Unfortunately, the weather in Finland (just like in the UK) at the
moment is ridiculously warm for the time of
year. When I visited in November for the
BSP, there
was some snow on the ground and temperatures were as cold as I
expected. This time, there was no sign of any snow and I was worried
that we might not get any ice...!
Lars was kind enough to
offer me some crash space at short notice for my visit (there's
nothing like last-minute organisation for this kind of jaunt!). On
Friday we met up with
Jesus,
Jeroen, Hanna, Pixie and
Dave for lunch and some wandering around in the middle of
Helsinki. Then on to some bars later for some drinks and food. I could
get used to this... :-)
On Saturday, we got up early, bought large amounts
of food and drink to take with us, and caught the bus north-west out
of Helsinki towards central Finland. 90 minutes on the bus and in a
taxi, and we were dropped off at Hanna's family's cottage by the lake
below:

As we got there, the temperature was dropping just enough that we
could actually see the ice forming on the lake. Beautiful! In the
middle of nowhere in the forest, things were incredibly quiet and
peaceful. We lit the fire for the the sauna, and wandered off for a
walk through the forest. Later on, beer, sauna and (almost) ice
swimming. Naked geeks! I must admit that I chickened out a little -
coming out of the sauna into freezing temperatures slowed me down a
little. By the time I reached the bottom of the steps to the lake
surface, I couldn't force myself into the lake fully. I got three toes
wet, then ran back inside into the warm... :-) Dave was more resilient
(in and out FIVE times!), but it looks like he maybe overdid
things. He crashed out later and was acting quite oddly for a while -
we worked out that he was probably dehydrated.
We carried on drinking and snacking at the cottage, then headed
back into Helsinki for the bars and clubs later that night. More of
the same on Sunday along with a cinema visit, and I was thoroughly
exhausted and ready to head back to the UK on Monday.
Thanks very much to Hanna, Lars, Jesus and the others for making my
trip so much fun. Helsinki is a lovely place to visit, although
probably too expensive for me to manage it too often. I'm saving
already for the next time! I've put my
photos online
as usual.
I’ve just released pommed v1.1, which adds support for (some) PowerBook laptops. If your laptop is not supported, send us the content of
/proc/device-tree/model and we’ll send you a test-tarball.
gpomme received some improvements in this release:
- spanish translation
- now behaves correctly on multiple head setups
- supports loading an alternate theme using -t
- the background tile has been redone, it’s now nice & clean
The original tarball (available on Alioth, pommed project) contains an alternate theme for gpomme, named Tango. It’s not included in the Debian package because the Tango icons from FreeDesktop.org are licensed under CC BY-SA 2.5 which we don’t consider DFSG-free. It’s a nice, clean theme for gpomme which you’ll probably prefer over the default one. Copy it to
/usr/share/gpomme/themes and run
gpomme -t Tango to use it.
If anybody knows where to find the SVG sources for the Crystal icon theme, I’m all ears.
Thanks to Eduardo Bellido Bellido for the spanish translation and the multiple head patch for gpomme. Thanks to Daniel G. Siegel for the Tango theme.
I'm keeping my homepage in a SVN repository; I'm using the $Date$ variable
to automatically track the last modification date (though it will also change
on minor modifications).
For the HTML "Date" meta tag, the W3C recommends using ISO8601 date format.
This is the (non-XSLT-2, so no regexp) hack I use for conversion:
<xsl:value-of select="concat(substring($string,8,4),'-',substring($string,13,2),'-',substring($string,16,2),'T',substring($string,19,8),substring($string,28,5))" />
Did I mention I hate XSLT? It's lacking so many standard functions, like
date-time processing, regular expressions, exceptions, ... - granted, a lot of
stuff was added for XSLT2, but it still sucks badly. Especially the syntax.
Here's how to format the date according to RFC 2616, as used in the
last-modified meta tag and HTTP/NNTP/SMTP headers:
<xsl:variable name="day" select="concat(substring($string,8,4),'-',substring($string,13,2),'-',substring($string,16,2))" />
<xsl:variable name="time" select="substring($string,19,8)" />
<xsl:variable name="timezone" select="substring($string,28,5)" />
<xsl:value-of select="date:day-abbreviation($day)" />
<xsl:text>, </xsl:text>
<xsl:value-of select="date:day-in-month($day)" />
<xsl:text> </xsl:text>
<xsl:value-of select="date:month-abbreviation($day)" />
<xsl:text> </xsl:text>
<xsl:value-of select="date:year($day)" />
<xsl:text> </xsl:text>
<xsl:value-of select="date:time($time)" />
<xsl:text> </xsl:text>
<xsl:value-of select="$timezone" />
Note that this does not include any error handling and is not very robust.
You also need an XSLT processor with some of the
">">">http://exslt.org/dates-and-times
extensions such as
xsltproc.
(Which unfortunately doesn't do XSLT2 yet and doesn't have a regexp extension).
[Update: Joel Wreed pointed me to his
libxslt plugins, a regexp
and a exsl.org/dates-and-times plugin. These would help a lot, though IIRC the
date-parse exsl.org spec doesn't support the date format I'd need. (So I
can't just say date-format(date-parse(...),...)). Also he said that they
basically are unmaintained right now. It would be nice if they could be merged
into libxslt, though...]
Recently there has been some really hot weather in Melbourne that made me search for alternate methods of cooling.
The first and easiest method I discovered is to keep a 2L bottle of water in my car. After it's been parked in the sun on a hot day I pour the water over the windows. The
energy required to evaporate water is 2500 Joules per gram, this means that the 500ml that probably evaporates from my car (I guess that 1.5L is split on the ground) would remove 1.25MJ of energy.from my car - this makes a significant difference to the effectiveness of the air-conditioning (the glass windows being the largest hot mass that can easily conduct heat into the cabin).
It would be good if car designers could incorporate this feature. Every car has a system to spray water on the wind-screen to wash it, if that could be activated without the wipers then it would cool the car significantly. Hatch-back cars have the same on the rear window, and it would not be difficult at the design stage to implement the same for the side windows too.
The next thing I have experimented with is storing some ice in a room that can't be reached by my home air-conditioning system. Melting ice absorbes 333 Joules per gram. An adult who is not doing any physical activity will produce about 100W of heat, that is 360KJ per hour. Melting a kilo of ice will abrorb 333KJ per hour, if the amount of energy absorbed when the melt-water approaches room temperature is factored in then a kilo of ice comes close to absorbing the heat energy of an adult at rest. Therefore 10Kg of ice stored in your bedroom will prevent you from heating it by your body heat during the course of a night.
In some quick testing I found that 10Kg of ice in three medium sized containers would make a small room up to two degrees cooler than the rest of the house. The ice buckets also have water condense on them. In a future experiement I will measure the amount of condensation and try and estimate the decrease in the humidity. Lower humidity makes a room feel cooler as sweat will evaporate more easily. Ice costs me $3 per 5Kg bag, so for $6 I can make a hot night significantly more bearable. In a typical year there are about 20 unbearably hot nights in Melbourne. So for $120 I can make one room cooler on the worst days of summer
without the annoying noise of an air-conditioner (the choice of not sleeping due to heat or not sleeping due to noise sucks).
The
density of dry air at 0C and a pressure of 101.325 kPa is 1.293 g/L.
A small bedroom might have an area of 3M*3M and be 2.5M high giving a volume of 22.5M^3 == 22,500L. 22,500 * 1.293 = 29092.500g of air.
One
Joule can raise the temperature of one gram of cool dry air by 1C.
Therefore when a kilo of ice melts it would be able to cool the air in such a room by more than 10 degrees C! The results I observe are much smaller than that, obviously the walls, floor, ceiling, and furnishings in the room also have some thermal energy, and as the insulation is not perfect some heat will get in from other rooms and from outside the house.
If you have something important to do the next day then spending $6 or $12 on ice the night before is probably a good investment. It might even be possible to get your employer to pay for it, I'm sure that paying for ice would provide better benefits in employee productivity than many things that companies spend money on.
As part of my work on Xen I've been playing with
Xephyr (a replacement for Xnest). My plan is to use Xen instances for running different versions of desktop environments. You can't just
ssh -X to a Xen image and run things. One problem is that some programs such as Firefox do strange things to try and ensure that you only have one instance running. Another problem is with security, the X11 security extensions don't seem to do much good. A quick test indicates that a
ssh -X session can't copy the window contents of a
ssh -Y session, but can copy the contents of all windows run in the KDE environment. So this extension to X (and the matching ssh support) seem to do little good.
One thing I want to do is to have a Xen image for running Firefox with risky extenstions such as Flash and keep it separate from my main desktop for security and managability.
Xephyr :1 -auth ~/.Xauth-Xephyr -reset -terminate -screen 1280x1024
My plan is to use a command such as the above to run the virtual screen. That means to have a screen resolution of 1280x1024, to terminate the X server when the last client exits (both the
-reset and the
-terminate options are required for this), to be display :1 and listen with TCP (the default), and to use an authority file named
~/.Xauth-Xephyr.
xauth generate :1 .The first problem is how to generate the auth file, the
xauth utility is documented as doing it via the above command. But this really connects to a running X server and copies the auth data from it.
The solution (as pointed out to me by Dr. Brian May) is to be found in the
startx script which solves this problem. The way to do it is to use the
add :1 . $COOKIE command in
xauth to create the auth file used by the X server, and to generate the cookie with the
mcookie program.
In ~/.ssh/config:Host server
SendEnv DISPLAY
In /etc/ssh/sshd_config:AcceptEnv DISPLAY
The next requirement is to tell the remote machine (which incidentally doesn't need to be a Xen virtual machine, it can be any untrusted host that contains X applications you want to run) which display to use. The first thing to do is to ssh to the machine in question and run the xauth program to add the same cookie as is used for the X server. Then the
DISPLAY environment variable can be sent across the link by setting the
~/.ssh/config file at the client end to have the above settings (where
server is the name of the host we will connect to via SSH) and in the
sshd_config file on the server have the line
AcceptEnv DISPLAY to accept the DISPLAY environment variable. It would have been a little easier to configure if I had added the auth entry to the main
~/.Xauthority file and used the command
DISPLAY=:1 ssh -X server, this would be the desired configuration when operating over an untrusted network. But when talking to a local Xen instance it gives better performance to not encrypt the X data.
The following script will generate an xauth entry, run a 1280x1024 resolution Xephyr session, and connect to the root account on machine
server and run the twm window manager. Xephyr will exit when all X applications end. Note that you probably want to use passwordless authentication on the server as typing a password twice to start the session would be a drag.
#!/bin/shCOOKIE= mcookie FILE=~/.Xauth-Xephyrrm -f $FILE#echo "add 10.1.0.1:1 . $COOKIE" xauthssh root@server "echo \"add 10.1.0.1:1 . $COOKIE\" xauth"echo "add :1 . $COOKIE" xauth -f $FILEXephyr :1 -auth $FILE -reset -terminate -screen 1280x1024 $* &DISPLAY=10.1.0.1:1 ssh root@server twmwait
(continuing with clearing the blogging backlog)
Four days after returning home to the US from the
trip to
Australia, I was at it again, flying the other way around the world.
In hindsight, this was totally insane, but I'd expressed interest in going
much earlier in the year, I think before we'd organised to visit Australia.
I flew to Madrid, via Philadelphia. I've said it before, but I'll say it
again, Philadelphia International is a very nice airport. It's the first time
I've flown across the United States, and it really is a long way. Just like
Brisbane to Perth, it's a long time on a plane for staying in the same
country.
Arriving in Madrid, entering the country was extremely straightforward, as
I've also said previously, the immigration guy barely looked at my passport
long enough to open it and find a page to stamp.
It was my first time in a country that didn't speak English and wasn't
terribly bilingual. Fortunately the airport was signed in English as well as
Spanish, and the information/assistance people all seemed to be able to
speak English. I arrived in Terminal 1, and the European contingent were
mostly arriving at Terminal 4, which is essentially a completely separate
airport, a short shuttle bus ride away.
My flight arrived in the morning, and I had about 4 or 5 hours to kill
before the first of the European contingent rocked up. It was tempting to
get a train or taxi into Madrid and have a bit of an explore, but I really
didn't want to risk not getting back in time, so I just loitered around
Terminal 4 for the time.
The highlight of the waiting was I bumped into Doug Foster, who I used to
work with a SecureNet in Canberra, disembarking a flight from London (where
he's now working). It really is a small world.
After everyone turned up, we got on a bus and headed for Badajoz, a mere
5 hour bus ride away. We didn't get away until about 7pm, so by the
time we hit the road, it was dark, so there wasn't a lot to see.
We arrived at Badajoz around midnight, and made a short walk to the hotel
and had a late dinner and hit the sack.
Unfortunately with all my travelling in the three weeks, I'd managed to come
down with a cold, which started manifesting itself pretty much from the
moment I got to Badajoz, so I started to feel increasingly suboptimal as the
week wore on.
Badajoz itself is an incredible little city. It's just like what I envisaged
an old European city to be: narrow winding streets. It had a funny effect on
me. I'd alternate between finding it really quaint, and incredibly
claustrophobic (and I'm not usually the claustrophobic type). After doing a
bit of self-analysis, I think the problem was the lack of sky. With so many
buildings crammed in together and the narrow streets, the amount of sky you
got to see was minimal. Definitely no horizon. I felt more comfortable at
night, in fact the place looked really awesome at night. Everything was lit
up, I think especially so for Christmas, and everyone came out and walked
around and did shopping.
The other thing that, well, I noticed about the city was that it was wall to
wall concrete (or bricks, or bitumen). The buildings all connected up, there
were no gaps between them, and the sidewalk basically ran from the front
edge of the building, to the kerb, then there was the road, and then the
reverse, so it was a real concrete jungle. That said, it was pretty clean.
the sidewalks were all swept, there was no rubbish in the gutters.
By about the second day, my cold had driven me crazy (my nose was running
incessantly) and I just wanted some pseudoephedrine to dry it up. I didn't
have a clue how pharmacies operated, but fortunately I was able to get
Miriam to tag along with me, who spoke English as well as Spanish. She'd
never heard of pseudoephedrine before, but as soon as she said it to the
pharmacist, he knew what it was and came back with some form of Nurofen
(ibuprofen) that also had pseudoephedrine in it. I didn't really want or
need the ibuprofen, but when sick in Spain, beggars can't be choosers, so I
took it. I didn't feel that it did a great deal for me anyway.
Getting home again was fun. Due to various peoples' flights, the bus was
leaving at 6:30am, and that wouldn't get me back to Madrid the ideal 3 hours
before departure, so I took a taxi with a few people who needed to be there
earlier. It left Badajoz at midnight, and arrived at Madrid at about 4am,
where I had to wait for about 5 hours before I could check in for my flight.
I had a bit of fun
leaving,
which I've already written about, and was happy to get home late on Sunday
night. My cold had gone to my chest by this stage and I had bronchitis, so I
was just glad to get home and see a doctor on Monday.
So now I can say I've been to Europe. It was a shame I didn't get to see
Madrid itself. Next time.
Update
Photos from the trip are
here
I’ve also started to look for the best plan to reach Edinburgh next June.
I don’t think I’ll fly directly from Mexico City, since I want to visit Paris (in spite of my
previous and only experience with CDG back in 2005

) and then visit a nice friend in Bilbao. Then I could fly from there to Edinburgh or some place nearby with a cheap flights airline.
Quick searches throw an estimate of 1′150 USD for the trip MEX-JFK-CDG-JFK-MEX on Delta. Fortunately, I’ve started saving already, so I don’t get pressure on money once DebConf gets closer. I still don’t know anyway if this could be the best way to travel.
I’ve been suggested, also, to travel from Canc n to Madrid through Air Europe, with the cost of ~515 , which is way more cheap than to fly to Paris, but I should also pay for the transportation from Mexico City to Canc n and from Madrid to Paris, if I really want to visit it, which I do.
Anyway, the cheapest flight I could get directly to Edinburgh is ~1300 USD: MEX-ATL-EDI-ATL-MEX, with Delta too.
Any suggestion on the matter is welcome and appreciated.
Seems that I manage to publish yearly
news. Well
this time I've many of them.
DebianPeru's event videos.
As
promised, we've published the videos for our
D aDebian 2006 anual event.
You can find the
event videos
and also the
lightning talks videos.
I want to thank our sponsors and people involved on producing them. We are
already working on our
next event
which is mainly focused on attract, teach and involve more people on directly contributing
to Debian and free software.
Talking about Debian events and user-base growth, when I went to the place to
make stickers for give out on our last event, I went with the swirl logo and
said to the business owner: I want to print this. He said ok, and later he asked me: is it
Debian right? I was like... yes!. Later we talked a bit more and he told me that he found
Debian on the Internet while looking for alternatives to have his business run safely, since,
as he related me looking worried, the police came to their place and seizure all
the computers from other businesses claiming that they are running "pirated" software.
So he found Linux and Debian. He told me that was having some issues with their devices,
mostly his CD/DVD printers and scanners. We talked a bit more and I invited him to
our local group and the event of course. It was a very cool incident, and I nominated
him our official merchansiding supplier ;)
Debian gaining market share.
Last year was quite good for Debian in Peru, besides the growing user-base, some
government agencies have explicitly named as the operating system or linux-flavour
they want third party deploy for them.
One of the most important cases, IMHO, is the
PDT
software, which is the program that every business should use to submit taxes information.
Currently it's only available for Windows and it's written in Visual Basic.
Although, mostly because it's lack of stability and extensibility by third party,
some government agencies have been pushing for
SUNAT open it's source code.
It was, as with many other out of place subjects, source of lot of flames and irrelevant
waste of time by the local linux-supporters.
Anyway, they didn't open the software, but instead they called for software vendors to
compete for the development of a new version which should be multi-platform and
according the
specs
at least run on Windows, Linux and Mac OS X, and on the Linux side they mentioned
specifically that the program should be apt-get-able, thus vendor should provide a
Debian package compliant with 3.0 or superior.
Microsoft loves Debian.
I was invited to, which was meant to be, the true and first Microsoft vs. free software
debate in Peru, but was, as we in
APESOL have experienced for years:
Microsoft refusing to debate. So it was mostly APESOL being technical, as requested
by orga, and Microsoft being funny. I was astonished that almost half of Microsoft
speakers mentioned Debian at least 5 times in their talks and dedicated almost half
of their time to talk about free software (open source), interoperability and technological
neutrality. It was fun for me to see them helping us to get known. There are some
pictures on my flickr page.
Personal life and Debian work.
Last year I've lost my two cats, both died in not a very good way, they are missed for sure.
I'm sure I want a full white one, but not sure how soon. I've been really busy working
on my
business which led me to not being able to contribute
as much as I wanted but I managed to do some stuff. In the other hand I've learned
many important things that we, as free software community should seriously consider.
Most of them have been already pointed out by some people on p.d.o already.
Ok I believe this is enough, blame this to the not-blogging-for-long-time syndrome
due the commies hidden over there locking my access to former hosting.
We got back to
Montreal yesterday morning just after midnight. Maj got us upgrades on United to business class, which was really a life-saver. There's a direct flight from
San Francisco to Montreal, but it's 5 hours one way and 6 hours on another. This time traveling to California, we decided to split up the flight, stopping in
Chicago about halfway between.
Returning was a good flight. We were comfortable, there was room, Amita had enough space to play on the ground and sleep comfortably on our laps. Maj: "Business class isn't anything fancy; it's just enough space, good service and quality food that you feel like a human rather than like livestock."
The only downside was that Chicago O'Hare is a half-ass airport. For one of the most (
the most?) visited and transited airports in the world, it's really skimpy on services inside the security area. There aren't any big restaurants or nice bars or stores inside the B and C concourse; just stand-up kiosks. We walked halfway across the airport to find a pub to eat at.
Probably the best thing about the airport is the giant
brachiosaurus skeleton in B concourse. Amita June couldn't stop looking at it; she ran from foot to foot banging it with her hand. Good for her; it's a pretty neat thing to see in a boring airport.
tags:
airport travel ohare brachiosaurus amitajune maj
Ebjo
Another Maj quote: "It's just a coincidence that we use the term blog as a cutesy contraction for 'Web log'. It could have easily have been a 'Web journal' people were contracting, and then we'd call it an ebjo."
tags: ebjo blog maj
Goethe
One of the things that I've found as a participant in Open Source software and Open Content is that there are a lot of different people involved. And today, in 2007, Germany and France have become important loci of new developments in Free Culture.
I've been working on my French for a while, and I think I'm getting pretty good, but I've never learned any German. At all.
But German Wikitravel is one of the largest and most popular versions of the project. And I want to be more of a participant -- or, at least, have some better relationships with our German users.
So, today I signed up for German lessons at the Montreal Goethe Institute. The Goethe Institute promotes German language and culture world-wide, including high-quality lessons in German. Montreal's is in a beautiful old building right at the corner of Sherbrooke and St. Denis. It's got a nice office and a friendly warm bookstore, "Das Buch".
I'm going to take the intensive beginner's course -- mornings Tuesday and Thursday for 6 weeks. I hope at the end of that time I'll be better able to meet German-speaking Free Software advocates, Open Content participants, and most of all Wikitravellers a little more towards halfway.
tags: goethe institute german wikitravel classes montreal
La ka
I went to La ka this afternoon again to meet a couple of people. It was my first two-meeting day at La ka, which I think is a bad sign I'm turning into a serious maven. But like they say, it's really where the hipsters are doing business on this le lately.
The nice thing was that I got to introduce two Montrealers that I like a lot. Hugh Macguire of, among other things, the Librivox public-domain audiobook project, is really interesting and passionate about communities and free content. Nicolas Ritoux is one of the most clued-in tech journalists I've met. It was nice to introduce them, and it was good that they seemed to get along.
Depressing, on the other hand, was walking around the Plateau in January with 12C weather. This has gotten beyond funny into scary -- we just haven't had any serious snow in Montreal this winter. I'm worried that it's going to get worse, too, and I don't know what that will mean for Quebec's culture. Mon pays, c'est l'hiver, goes the song, and I'm not sure I get what a city without winter would mean here.
tags: winter laika hugh macguire nicolas ritoux librivox montreal snow
House
Maj and I have been watching House on DVD. It's really good, although a little formulaic. Everybody's always running around and bleeding and vomiting, and people get an average of 3.8 different rare diseases per episode. There's also a lot of cheating and sneakiness. It's great.
tags: house tv
Mantini
One nice thing about New Year's Eve this year was that Baron Earl served a refreshing -- nay, energizing -- spocktail called a mantini. I was especially pleased to find out that the first ingredient was not, in fact, a praying mantis. With the Baron, you never know.
tags: mantini spocktail baron earl
This is sort of a New Year's resolution... In no particular order:
- Write a book.
- Learn at least one new programming language.
- Donate money to (or become member of) either the EFF, the FSF, the CCC, or another similarly important organization.
- Make use of my rights as a citizen and write letters to elected politicians, urging them to promote certain topics/issues/laws (privacy, democracy, transparency) and to combat others (software patents, voting computers, data retention, mass surveillance and lots more comes to mind).
- Work on and support selected Free Software projects in my spare time, especially projects which are of a greater importance to the Free Software movement (or the Free Culture movement; or freedom; or privacy; or anonymity; or democracy) than the 158th IRC client or the 276th tetris clone. Some examples: LinuxBIOS, Nouveau, Tor, Gnash, and Democracy Player to name just a few projects. General motto: Choose your battles!
Oh, and one more thing: Do the most important duty as a citizen of any democratic country — help to save democracy by killing voting computers.
Yeah, so that makes six things I plan to do in 2007. Sue me.
Hardware evils
I've had quite the unfortunate week, hardware-wise, here. Nothing on my end is broken, but [lj user=ceilingsarecool]'s computer is screwed but good. It all started near the beginning of this week when I started to look into her machine. It had been loud for a while, and was being unreliable in regards to applications. Running memtest86+ on it via a handy
System Rescue CD I always keep around discovered a couple of stuck bits on the memory that otherwise had been perfectly fine. However, I have had sticks die before, so I called
Crucial and am having the memory replaced. (thank you Lifetime warranty). While I was taking the Memory out I noticed the couse of the loudness. Apparently there was ailing fan on the south bridge, which explained her issues with USB-connected devices. No problem - I'll just order a replacement motherboard. The old
FIC AD11 was getting pretty bad anyway.
The new motherboard (a
PCCHIPS M810LMR) arrived yesterday, so I went through the lengthy process of removing the old motherboard and moving the CPU from one to another. Just one problem: the new motherboard didn't start up. After checking that I had everything connected right, I thought the board was DOA. This would be my first DOA ever, but as usual the place I bought from has a DOA replacement policy so I thought I just wasted 2 hours and a bunch of time replacing. Unfortunately, this isn't even the end of this sad tale of brokenness. When I put the CPU back in the old motherboard, it didn't start either. So now I'm left with two motherboards for a processor that doesn't work, I assume. I don't really have another one that I can test it out on, and I can't test the motherboards with another CPU because I don't have one.
Luckily, I have some old towers sitting here that were about to be dragged out to the dumpster. I rescued them. They're ancient, even more than the machine that was in use was. I had to burn a
Maxtor MaxBlast4 CD just to get them past the 65GB barrier, and of course I need to do a "repair" install of Windows because all the hardware changed since I installed it.
Lesson of this tale: Almost-broken computers are a delicate ecosystem. Just buy a new computer - you'll have to do that in the longrun anyway. Currently I'm looking at replacing the mainboard and CPU with
this combo from newegg. It's got mixed reviews, but is reasonably priced, and if DOA I am sure that newegg will replace it. I'm debating between doing this and just saving up to get a decent new motherboard and CPU (generally around $150-$250, $300 easily with new memory) later in the year. I feel pretty bad because every computer that I've given
ceilingsarecool to use has had issues like this. She tells me that she doesn't really care that much, and she does have a laptop which works well when the desktop has issues like this, but it's still like a poison apple.
Windows XP Setup
It doesn't seem to matter what you are installing Windows XP on. It can be 500MHz or 1.2GHz or 3.0GHz, the first time estimate that you get for finishing the install is 39 minutes. When XP was first released, I never ever had a computer that would finish that fast - it consistently took an hour or more from that state, and then I jumped to fast computers that come under the mark most of the time (although not by much). At least the estimate is monotonic, not going up to an hour. I can at least assess the progress a little more. Installing a couple times in the last few weeks has got me wondering about the origin of that estimate, and if it was going to be so inaccurate as to just guess and be constant at the beginning of the install, why include a time estimate at all?
Michael Davies recently blogged that all developers should have big screens. This news has been around for a while, the most publicity for the idea came from Microsoft Research where they did a study showing that for certain tasks a 50% performance increase could be gained from a larger monitor.
If you consider that a good software developer will get paid about $100K and it's widely regarded that in a corporate environment the entire costs for a worker (including management, office space, etc) is double their base salary then you consider each developer to be worth $200K per annum. Therefore larger and more monitors could potentially give a benefit in excess of $100K per annum (we assume that the value provided by the developer is greater than their salary - apart from the dot-com boom that's usually the case).
It's quite obvious that you can get a really great monitor configuration for significantly less than $100K and that it will remain quite current for significantly more than a year (monitor technology advances comparatively slowly so a good monitor should last at least four years).
Some time ago I researched this matter for a client. I convinced all the managers in my area, I convinced a bunch of colleagues to buy bigger monitors for their homes (and bought one myself), but unfortunately senior management saw it as a waste of money. I was trying to convince them that people who were being paid >$100,000 should be each assigned a $400 monitor. Sadly they believed that spending the equivalent of less than a day's wages per employee was not justified.
If I was in a management position I would allocate an amount of money for each developer to spend on hardware or conferences at their own discretion. I would make that amont of money a percentage of the salary of each employee, and I would also allow them to assign some of their share to a colleague if they had a good reason for it (EG if a new hire needed something expensive that would exceed their budget for the first year). I think that people who are good programmers are in the best position to judge what can best be done to improve their own productivity, and that allowing them to make their own choices is good for morale.
On a more technical level I have a problem with getting a big monitor. I do most of my work on a laptop because I travel a lot. I don't travel as much as I did while living in Europe but still do a lot of coding in many strange places. I started writing my
Postal benchmark in the hotel restaurant of a Bastion hotel in Utrecht during one of the worst recorded storms in Europe (the restaurant had huge windows and it was inspirational for coding). I wrote the first version of my
ZCAV benchmark in Denver airport while waiting for a friend.
What I need is a good way of moving open windows from my laptop to a big external display and then back again. I don't want to logout before moving my machine. With a Macintosh this is quite possible (I'm using a OS/X machine while working for a client and the only thing that has impressed me is the monitor support). With Linux things aren't so easy, it's supposed to be possible but I haven't heard any unqualified success stories yet.
I guess I could try setting up XDMCP between my laptop and a desktop machine with some big displays and logout before moving.
Any suggestions?