Search Results: "spa"

13 May 2008

David Welton: Restaurants, immigrants, and the popularity of various cuisines

A little off-topic exercise conducted in the "eye of the storm", when Ilenia and Helen were still in the hospital: A post on Seth Robert's blog brings up the idea that many Chinese restaurants were opened as a way to go into business without competing with native male workers. The post made the rounds of several other online journals. That was the push I needed to get up and go collect a few statistics of my own, regarding an idea I've been kicking around for a while. My theory is that the number of restaurants of a given type, divided by the number of immigrants from that country might be an interesting way of guaging the popularity of the cuisine in question. In order to simplify things just a bit, I actually used data from Italy, for the following reasons: Unfortunately, finding out the number of restaurants of various types is far from an exact measurement, and since this is a quick fun project, I just went for Yahoo search (they deserve credit for keeping their search API open when Google's was closed) results on terms like "Ristorante Turco" (Turkish), "Ristorante Messicano" (Mexican), and so on. This was the most expedient means of gathering information quickly, but this approach does present a number of obvious problems, listed here in the hope that someone without diapers to change and a business to run might come up with some good answers: That said, for a quick project, this approach seemed to work out ok, and the results appear credible. Obviously, the results also reflect people discussing certain cuisines, rather than an actual number of restaurants, but since it does reflect interest, we'll use the number in any case. Since the number of restaurants/interest in a type of restaurant was clearly not correlated directly with the number of immigrants, other factors must come into play. For instance, "ristorante giapponese" turns up 125,000 hits, but the stats say only 6873 Japanese nationals live in Italy. As above, hits don't mean actual restaurants, but clearly Japanese cuisine is not being popularized through immigration. Here's my guess: these statistics show, to some degree, what people in the host country actually like to eat. Food that tastes good means more restaurants. Things that aren't that popular mean few restaurants, even if there are many immigrants. To pick on one country, there are many Philippino immigrants in Italy, but very few search hits - and anecdotally, I've never seen a Philippino restaurant in Italy either, whereas even smaller towns like Padova have Chinese, Mexican (well, it's called that, even if it's a shadow of the real thing), Japanese, various Arab and middle eastern restaurants, and even a few less common things like Eritrean. And I know that many native and foreign restaurants employ Philippino cooks. Below is the chart I whipped up showing the number of Yahoo hits per immigrant. The Italian names shouldn't be too hard to figure out. A few tricky ones: Giordano-Jordanian, Giamaicano-Jamaican, Spagnolo-Spanish. If you're interested in numbers or source code, contact me. Immigrants and Restaurants

11 May 2008

Andrew Pollock: [tech] Unleashing the magic blue smoke

Last weekend, Sarah and I went to the Maker Faire again. I love how I don't even have to negotiate with Sarah to go, she loves it just for watching the Combot Cup, where the combat robots destroy each other spectacularly. Ever since Jon Oxer gave his Hardware/Software Hacking: Joining the Real and the Virtualtalk at Google about, I got vaguely interested in electronics again. The Arduino board seemed like a pretty cool thing to hack on, and since it seemed like I'd need to get vaguely electronically savvy to do a thing or two for the dream home we want to build one day (which coincidentally seems to quite similar to what Jon's currently building), I figured I'd have to get my act together and learn the difference between an Ohm and an Amp. The last time I dabbled in electronics was as a kit, with the ubiquitous Dick Smith Funway 1 kit. So the Maker Store at the Faire had copies of Making Things Talk, bundled with an Arduino starter kit, so I lashed out on one of them, a BoArduino, and a little breadboard-based electronics kit. I've been flicking through the Making Things Talk book, and reading the projects. The Arduino board seems really cool. The Processing/Wiring language seems fairly straightforward. I'd decided that my "project" would be a water monitor for the cat water bowl. We have a dish with a little tank on it, not unlike the office water cooler, and it usually lasts about 7 days. We typically refill it on a Saturday as part of the weekend chores. Sometimes our schedule gets a bit disrupted (we go away, we have visitors) and we forget. Or worse, we're away, have a house sitter, and they completely forget to check it. It's only happened a couple of times, but we really don't want to neglect the cats. So I thought a water sensor would be a perfect project. One of the projects in the book involves a Bluetooth modem, so I figured that as the MythTV box has a Bluetooth adapter, and would be within range of the water bowl, I could use it to monitor the water sensor (as well as stick a blinking light on it). The end goal is to have the house call us (via Asterisk and eSpeak) if the water bowl gets empty. So I ordered a Bluetooth modem, the exact part number in the book, and it arrived on the weekend, and I got around to playing with it today. To cut a long story short, I was messing around with it attached to a USB to TTL serial cable, and I was trying to get it to talk to my laptop, and instead of swapping the TX and RX lines, I swapped the VCC and ground lines, and well, I let the magic blue smoke out. What I discovered, after the fact, was that the Bluetooth chipset had been changed since the book had been written, and so the commands for the chipset were different. So most of my second-guessing whether I had the TX and RX round right way was because of that. So I'm miffed with myself for frying the thing within hours of getting my hands on it, and I'm miffed with the supplier for maintaining the same product ID for a product that has changed componentry. Chalk that one up to experience... To add insult to injury, Spark Fun is out of stock of the (cheaper) item that it turns out I want instead. I doubt I'll get my hands on it until after we get back from Zurich, so it'll be another three weeks before I can begin to make any progress. I guess I can try to prototype the water-sensing part with the board connected to my laptop with the USB cable in the meantime...

Christian Perrier: French over 100% !

If you look at the po-debconf stats pages, you'll see that, as of today, the French translators translated 9693 strings out of 9688...:-) We are so clever! This is actually an annoyance on the scripts that generate these pages. Sometimes, in packages, the debian/po/*.po files contain *more* strings than the debian/po/templates.pot files. This happens when maintainers do not run "debconf-updatepo" in the clean target of their debian/rules files. People, there is a lintian warning for this...:) We will try to correct this (actually, more Nicolas Fran ois than me, indeed) but that will make my stats less easy to do... So, "sadly", we are indeed only about 99%... That said, the NMU campaign is still going on. Portuguese is now ahead of Czech (ranked 3rd). Russian passed Swedish and is very close to Spanish for rank 7. And, among the most actives, Finnish and Basque are still climbing up quickly.

10 May 2008

Uwe Hermann: Nine Inch Nails album "The Slip" released under Creative Commons license

NiN You might have already heard of it — the new Nine Inch Nails album "The Slip" has been released by them under the Creative Commons BY-NC-SA 3.0 US license. Yep, that's right, it's totally legal to download it from the web — and use it for any non-commercial purposes! It's a bit annoying that they want your email address, though. Nothing that bugmenot.com (or similar) cannot fix, but still. Luckily, the files are now also available from archive.org! This, and the fact that the music is CC-licensed allowed me to "play" one of the songs in my Creative Commons music podcast (RSS), and more will likely follow.

Joerg Jaspert: The annoyance continues: Ftpmaster, yet again

Lalala, it’s me again. Don’t shout, it’s not a long post! :) What did we do since I last dared to post with my Ftpmaster head on? (Yes, I should put a summary of all my blog posts into a Bits from mail sometime.) Comments: 2

Martin F. Krafft: America does not exist, they never found it

From Berne, the Swiss capital, hails a band I really like by the name of Z ri West. The name itself is a pun: the folks from Berne love their city (rightfully so!) and join the rest of Switzerland in looking down a bit upon Zurich, which is metropolitan and hip and has often been considered the real capital of Switzerland. Located west of Zurich, Berne is thus Z ri West , and by using this name, the Bernese band ridicules the Zurich folks a bit. Well, that s my interpretation anyway and I make no claim over its correctness, and I surely don t want to get mixed up in local politics! Where was I? Oh yeah: Z ri West (Flash-using homepage] make rock music, and they re good with their instruments. The result are groovy and melodic sounds, which everyone in Switzerland knows. What I find particularly amazing about this band are their lyrics. Kuno, the singer, sings almost all songs in the Bernese dialect, which I ve learnt to the point of understanding it, though I can t speak it yet. It s a beautiful dialect, and Kuno displays magnificent control over it. When I say beautiful, I do not only mean its sound, but also the way it allows one to express thoughts, situations, feelings, etc.. It s very lyrical, often poetic, but always very much to the point. It sounds natural, yet not at all blunt. In addition, Z ri West s songs display no haste. Again, this is a bit ironic since the Bernese are said to be slow, but what I mean is that the band is unafraid to take their time to recount what they have to say. Forget 4/4 beats and verse-chorus-bridge-verse-chorus, it s a lot more as if the band shaped the music around the story they re telling. (Of course I have no reason to claim that the Bernese are actually slow. According to my dear (Bernese) friend Isabel, they are just considerate to give the rest of the world enough time to parse and understand their sophisticated verbal and non-verbal output). I won t be able to convey all of the lyrical beauties of their music to you, but what I want to do is translate my favourite of their songs, which is based on a story by Peter Bichsel and it s called America does not exist . Keep in mind that their version rhymes, which I won t be able to achieve in the translation. I ll try to keep the flow though. Imagine a jazzy, slightly Latin groove to it. And it s sung, not spoken.
This is the story of Colombo
not the one from the TV show
but of a guy who once lived in Spain
and who was a bit of a freak
capable of nothing
and always telling weird stuff
without giving it much thought
until one day someone told him: you ve got to learn a trade
you have to live your life
nobody takes you for real like this
and most just laugh about you
what are the options
he asked - what do you do
I m an explorer - the other guy said
I sail my ship out to the sea
through the various parts of the globe
that sounds very interesting - I d like that too
and so Colombo said - I ll become a famous explorer And he told it to everyone
and everyone just started laughing
and he said: just wait and see
and the people didn t believe him
and he got sulky
and the people almost died laughing
and he left the town
and hid somewhere in the forest
where he remained for 13 weeks - 13 weeks in the shrubs
and the people searched and felt ashamed
and noone knew where he might be
and noone laughed anymore when suddenly on a wonderful morning he was back
then everyone rejoiced
and when he said: i told you so
I discovered a new land
it s out there somewhere in the sea
then everyone listened
and was kind to him
and tried hard to make some dreadfully serious faces The explorer from the first verse
Amerigo Vespucci is his name
just happened to be in town
and said: good for you, but I won t believe you until I see it myself
and went off to set sail immediately
and after exactly 13 weeks and a day and a night he was finally back
and the people all went down to the port
and Colombo was nervous, almost ill because he had lied
and he was horribly frightened
and pale
and looked noone in the eyes But Vespucci smiled and stood in front of the people
and blinked at Colombo and told that he had found it
and Colombo was so glad that he didn t tell on him
and called out Amerigo Amerigo and the people joined in And Colombo became famous and until the end of his days
he was never actually sure and never dared to ask
whether America really existed
over time, more people went there and when they came back
they told stories and they tell the same stories until today
and noone knows anything more than he knew before
and everyone saw exactly the same
and that sounds very dodgy
and tastes a bit like screenplay and Hollywood America doesn t exist
they never found it
America doesn t exist
it s all just a tale
America doesn t exist
it s all lies and made up
America doesn t exist
America is just a rumour
NP: Z ri West: Z ri West

9 May 2008

Zak B. Elep: Apache2 Worker MPM on Low Memory Servers

If you're running Apache2 on a memory-constrained system (like in a virtual machine,) you may want to choose the prefork MPM to save memory at the cost of more process forks. However, if you have more than one CPU on that same machine, you may also want to consider using the threaded worker MPM and tweak its MaxClients and ThreadsPerChild settings from the default configuration. On a typical apache2 installation on a Debian system, the worker MPM configuration looks like this:
<IfModule mpm_worker_module>
    MaxClients          150
    MinSpareThreads      25
    MaxSpareThreads      75
    ThreadsPerChild      25
    MaxRequestsPerChild   0
</IfModule>
Using these default settings on a resource-constrained system (say a server with 128MB of RAM but with no swap) would be overkill, and the web server processes will definitely eat up all of that memory, leaving little or no room for even simple CGI scripts. In my setup, I experimented with tweaking the values above to get apache2 to serve without eating up too much precious memory. I found that the important values to consider here are MaxClients, which dictate how many clients can connect simultaneously to my server, and ThreadsPerChild, which specifies how many threads of execution can run in a child/worker process. My resulting config becomes:
<IfModule mpm_worker_module>
    MaxClients           15
    MinSpareThreads       3
    MaxSpareThreads       7
    ThreadsPerChild       3
    MaxRequestsPerChild 200
</IfModule>
With this setup, I free up a significant amount of RAM from apache2's hold whle maximizing my thread usage in each worker process; at the same time, I avoid keeping each child process for too long by setting a maximum number of requests each worker can serve, preventing the workers to bloat too much when handling CGI. I also tweaked the KeepAliveTimeout setting to just 2 seconds (instead of the default 15) so that each worker process can go to the next request quickly and preventing them from being tied up to a connection for too long. I also set the Timeout to 30 seconds.

Adeodato Sim : Some soap for some mouths

One of the people who most fiercely fought software patents here in Spain and Europe jokingly (?!) uses the word “fag” to insult random people he dislikes. (But so do tons of other people I don’t interact with, of course.) I used not to be annoyed by this at all, but tonight I felt differently, and it really bothered me (possibly because it was somebody from my community who did it). Life is easier when you don’t care, I guess, but I think it’s a good thing that I care now, since without such caring things can’t and won’t change.

David Welton: LangPop.com - programming language popularity - update

These few days when Ilenia and Helen are still in the hospital are the eye of the storm for me. It's quiet at home and I actually have a few free hours when I'm not allowed to be in the hospital, or when they need to get some rest. One of the things I managed to do recently was some Javascript hacking in order to create a timeline for LangPop.com: http://www.langpop.com/timeline.html. It was fun, because most of the "heavy lifting" is done by Timeplot, and I just had to push the data into place. Of course, there isn't much interesting there because the site is relatively new, but it should be interesting to see how languages fare over time. I did some hacking on Timeplot to make it easier to host it on my own server, and to load a bit faster by stuffing it into one big ugly blob of Javascript. When I get a bit of time, I'll make my changes public, as I think they're fairly useful for anyone who wants to fiddle around with Timeplot some, and thus host it themselves. The other thing I did with the site was switch the X and Y axis of the charts, because that works out better in terms of screen space for the labels, with so many languages to keep track of.

8 May 2008

Matthew Garrett

Modern CPUs are great. They have all sorts of advanced power saving features, which is one of those nice cases where everyone can save money, gain performance and claim environmental credentials at the same time. Everyone's a winner.

Well. Everyone's a winner as long as your software doesn't suck.

I've talked about the benefits of the tickless kernels and reducing wakeups and spending longer in deep C states before, so if you don't know about them then go and read that first. This time I'm going to focus on a different level of hardware, and a different level of suck.

For a long time, laptops supported changing the speed of processors when switching between AC and battery. CPU power consumption is proportional to frequency, so dropping the frequency meant a longer battery life. Of course, it also meant that it took longer to get anything done - the reason this was still a win was because CPUs in those days consumed just as much power when idle as when running. Transmeta introduced a technology called Longrun with their Crusoe processors, bringing the ability to drop both the frequency and the voltage of the CPU simultaneously. With power consumption being proportional to the square of the voltage, even a small drop resulted in worthwhile power savings. As the only really worthwhile thing Transmeta brought to the x86 world[1], this was unsurprisingly ripped off by everyone else. Intel introduced their Enhanced Speedstep, AMD gave people PowerNow and VIA have Longhaul.

Obviously, reducing the frequency of the CPU increased battery life. Everyone's happy?

No[2].

The problem is that nowadays, processors don't consume as much energy when they're idle as when they're running. The aforementioned C states mean that an idle processor consumes a tiny percentage of a loaded one - an ultra-low voltage Intel part will draw on the order of a watt. Executing code, even at the lowest voltage and frequency, will draw far more power. Obviously, we want to keep the processor idle for as long as possible. The easiest way to do this would be to never run anything, but that's not a real option. The alternative is to run when we have to, but make sure that we get it over with as quickly as possible so we can return to the idle state. Counterintuitively, that means switching to the highest voltage and frequency, executing the code and then dropping back into the idle state. By going faster, we save power[3].

In summary, the only sensible way to use a CPU is to run it as fast as possible in order to let it idle as much as possible, and drop the frequency and voltage when it's not doing anything. The. Only. Sensible. Way.

Some people write software that lets you choose different power profiles depending on whether you're on AC or battery. Typically, one of the choices lets you reduce the speed of your processor when you're on battery. This is bad. It is wrong. The people who implement these programs are dangerous. Do not listen to them. Do not endorse their product and/or newsletter. Do not allow your eldest child to engage in conjugal acts with them. Doing this will reduce your battery life. It will heat up your home. It will kill baby seals. The sea will rise and your car will float away. If you are already running it, make sure that it always sets your cpufreq governor to ondemand and does not limit the frequencies in use. Failure to do so will result in me setting you on fire[4].

The only legitimate reasons for limiting the speed of your CPU are to avoid overheating (which should be fixed in the kernel, really - having userspace in charge of ensuring the continued functioning of the machine is madness) or to make the machine quieter. And if you want your machine to be quieter, there should be a tickbox marked "Reduce performance in order to reduce noise" or something, which would take into account all the sources of heat in your machine rather than just your CPU. Encouraging the managing of acoustic levels by asking users to restrict the functionality of their CPU is just another way of saying "Look! We suck!". Letting the user choose a specific CPU governor or a specific frequency is not a useful thing to do. Don't do it unless you want to see dead kittens. Delivered by UPS.

[1] And, presumably, whatever else Intel and everyone else ended up licensing off them which resulted in their reinvention as an IP company rather than a CPU one, but that's just not interesting to me.

[2] Even ignoring the people that are unhappy for entirely unrelated reasons, such as injured toenails or the brutal murder of their family

[3] There's a corner case here, which is a system that is always entirely CPU bound. Say we halve the CPU's speed. Along with the voltage drop, that gets us down to about 20% of the original power consumption. Of course, it now takes twice as long to do anything and your screen, RAM, hard drive, chipset and so on are still drawing power, so will end up costing you twice as much power as they would have done if you'd run at full speed. If you do the maths, it works out that you save power if your processor's full-speed power consumption is more than 1.7 times that of the rest of the platform. In the real world, things are made more complicated by the rest of your platform consuming more power if you're working over a longer period of time - your hard drive is going to end up spending more time spun up, your memory bus is going to be active for longer and so on. You're basically not going to hit this case.

[4] While the burning of your body will result in carbon emissions, the reduction in power usage should offset this in the long run

7 May 2008

Joey Hess: spamvertunity

"your download link will arrive momentarily at the email address you submitted. to ensure the email does not get marked as spam, please instruct your email client to accept mail from nin.com." I wonder how many spambots are busy blasting off zillions of spams with headers forged to be from nin.com as we speak? Best of all, the spams can be customised, you know that many of the people getting them will enjoy this music. (Sometimes I wish I could take advantage of these money-making opportunities as they present themselves to me..)

Andrew Pollock: [life] Tour de Cure

Sarah and I are doing the Tour de Cure again this year, like we did in 2006, again as part of the Google team. This time around we're doing the 50 kilometre ride, since the 25 kilometre one was a bit of a cakewalk. That said, the fitness levels of both of us are pretty abominable at the moment, so it'll be interesting. So this is the obligatory grovel for donations. If you'd like to make one, you can do it at http://tour.diabetes.org/goto/andrew_pollock Here's what I'm not spamming people with:
I recently accepted the challenge of cycling in the American Diabetes Association's Tour de Cure fund-raising event. The Tour de Cure is a series of cycling events held in over 80 cities nationwide. The Tour is a ride, not a race; it features different route lengths from a leisurely 10-mile course to a demanding 100-mile journey. I have joined thousands of others to pedal in support of the Association's mission: to prevent and cure diabetes and to improve the lives of all people affected by diabetes. I am asking you to help by supporting my fund-raising efforts with a donation. Your tax-deductible gift will make a difference in the lives of more than 20 million Americans who suffer from diabetes and another 54 million people in the United States with pre-diabetes. Any amount, great or small, helps in the fight against this deadly disease. I greatly appreciate your support and will keep you posted on my progress. If you want to do even more to help, please consider joining me in this great event. Our efforts will help set the pace in the fight against diabetes. More information on the American Diabetes Association, its programs and diabetes in general can be found at the Association's Web site: www.diabetes.org. For more information on Tour de Cure, please visit www.diabetes.org/tour.

Eddy Petri&#537;or: Motorcycles DO EXIST on the road!

Some of you might have noticed that in the recent weeks I wasn't active at all online. This was because I was on a vacation in Italy. On the way back I was eager to write about my experiences, but after entering Romania, I found out that may parents had been involved in a motorcycle accident due to a careless driver.

The accident took place on the second day of the Orthodox Easter (on the 28th of April)[1] while my parents were coming back from my sister's, just 20 km away from my home town, Caracal, in a village called Z noaga. There, a Daewoo Cielo was parked on the left side of the road[2], facing the direction towards Caracal. The driver decided that it was a good idea to turn his vehicle and, according to his declaration, instead of looking himself if there was anything comming, he asked a passenger if there were any cars comming.

Since a motorcycle is not a car, I guess the passenger thought it was OK to answer "no".

So the driver simply started his maneuver and managed to occupy the entire right lane, according to the accident schematics (I saw the official police schematics of the accident site with my own eyes). There were only 30 cm from the front most point of the car to the ditch on the right side of road, while the rear wheels were on the mark indicating the axis of the road. That left only 2 meters free on the opposite lane out of the 6.60 meters wide road, so there was no way for my father (driving the motorcycle) to avoid the collision, in spite of the fact he was travelling at about 40-50 km/h[3], within the legal speed limit (50 km/h).

My father barely had enough time to avoid the central pillar and aim for the rear right door of the car, obviously, a safer place to hit. Still, this wasn't enough to keep my mother on the motorcycle, a safer place for her than anywhere on the road.

My mother was projected over my father and over the car, and, luckily, landed on the side of the road, between the asphalt and the ditch, on an area covered with grass. She landed straight onto her head (the helmet protected her really well), and the shock of the landing propagated along the spine, resulting in the fracture of the L1 vertebra. She also got a fissure in the right clavicula, but that should already be OK now.

My father managed to remain on the motorcycle, but the impact was violent enough that he managed to bend the gas tank and has two huge bruises on the inside of his thighs (one for each leg). He also accuses pains in his shoulders and the lower end of the spine (unfortunately he "managed" not to do the medical investigations after the accident), but I hope all of these will pass soon and will have no ill effects. Also, out of sheer luck, at that time, my father was wearing a full-face helmet, contrary to his habit of earing an open-face helmet; due to this, his face was protected and suffered no harm, while the chin of the helmet broke after the impact with the motorcycle windshield. Also some deep scratches starting from the half of the helmet windshield up to the top of the helmet were the signs of a (probably second) violent impact with the motorcycle windshield.



So, the next time you are on the wheel, please look out for motorcycles, too. Motorcycles do exist on the road!

Also, I advice anyone driving a motorcycle to wear good protection equipment like a full-face helmet, jacket, pants, boots, gloves, etc. These helped a lot my parents, and will help you too, if, God forbid, you are involved in an accident.



My mother is in a cast that covers her from hips to shoulders to help with the fracture recovery and also wears a collar (just for safety reasons since she is suffering of spondyloses).
My father is able to walk (with some pain) and seems not to have any injures (I will take him for a close investigation some time soon in spite of his stubbornness).



[1] worrying for us (me and my future spouse), my parents didn't told us and waited for us to return to Romania
[2] in Romania the vehicles travel on the right side of the road, so the driver also drove on opposite lane, a fact which, according to the law, is punished with the suspension of the driving license
[3] he speed was confirmed by the measurements done by the police

Steve Kemp: You're not too technical, just ugly, gross ugly

Well a brief post about what I've been up to over the past few days. An alioth project was created for the maintainance of the bash-completion package. I spent about 40 minutes yesterday committing fixes to some of the low-lying fruit. I suspect I'll do a little more of that, and then back off. I only started looking at the package because there was a request-for-help bug filed against it. It works well enough for me with some small local additions The big decision for the bash-completion project is how to go forwards from the current situation where the project is basically a large monolithic script. Ideally the openssh-client package should contain the completion for ssh, scp, etc.. Making that transition will be hard. But interesting. In other news I submitted a couple of "make-work" patches to the QPSMTPD SMTP proxy - just tidying up a minor cosmetic issues. I'm starting to get to the point where I understand the internals pretty well now, which is a good thing! I love working on QPSMTPD. It rocks. It is basically the core of my antispam service and a real delight to code for. I cannot overemphasise that enough - some projects are just so obviously coded properly. Hard to replicate, easy to recognise... I've been working on my own pre-connection system which is a little more specialied; making use of the Class::Pluggable library - packaged for Debian by Sarah. (The world -> Pre-Connection/Load-Balancing Proxy -> QPSMTPD -> Exim4. No fragility there then ;) Finally I made a tweak to the Debian Planet configuration. If you have Javascript disabled you'll no longer see the "Show Author"/"Hide Author" links. This is great for people who use Lynx, Links, or other minimal browsers. TODO:
I'm still waiting for the creation of the javascript project to be setup so that I can work on importing my jQuery package. I still need to sit down and work through the Apache2 bugs I identified as being simple to fix. I've got it building from SVN now though; so progress is being made! Finally this weekend I need to sit down and find the time to answer Steve's "Team Questionnaire". Leave it any longer and it'll never get answered. Sigh.
ObQuote: Shooting Fish

Craig Sanders: fixed-width style sheets suck

I’m getting more and more annoyed by web sites that have style-sheets with tiny little fonts and widths specified in pixels rather than percentages (or ‘em’ units). Almost every web site i visit these days seems to have a style sheet written by some idiot who thinks “if it looks good on my screen using my eyes then it’s perfect for everyone”. WRONG Specifying widths in pixels is NOT for text. It’s for images, you morons. For one thing, small fonts suck if you have a large, high-resolution monitor. or if you have bad eyesight. or if you’re getting older (I was helping my mother find a house to buy a few days ago and the real-estate web site we were searching was basically unreadable for her - she could see the house pictures but I had to read out the text, and even I found that difficult because of the tiny font). For another thing, if you have a wide-screen monitor and a browser window to suit it, then a fixed-width column of 560 pixels or so looks really bloody stupid in the middle of a huge expanse of empty white space, even with another column or two at the sides for meta-stuff. There are tools, like the Stylish and NoSquint plugins for Firefox/Iceweasel that help you make a site more readable, regardless of what the so-called “designer” perpetrated. But, cool as those tools are, they just should not be necessary. And I, as a user of the web site, shouldn’t have to spend 5, 10, 20, or more minutes reading and understanding their style sheet so i can hack up a tweak for it JUST TO MAKE IT READABLE. They’re the designers, that’s their job, not mine. That’s what they’re (presumably) getting paid for - and yes, the commercial/professional web sites tend to be far worse offenders than the amateur sites. Web designers should have enough bloody sense to make their sites look good in ANY font size, at ANY window width. It’s not hard. In fact, it’s easier and much less work than hard-coding pixel sizes. I’m not a web designer, nor am I anything remotely like an expert in CSS or style sheets. I’m a systems geek. But if I can figure this stuff out, when it’s not even my job to do so and i have no intrinsic interest in the subject, then why the hell can’t they? Don’t they take pride in their work? Don’t they care that visitors to their web sites will think they’re clueless morons for perpetrating yet another squint-eyed monstrosity on the web? Don’t their employers give a damn? To summarise:
  1. text widths in style sheets should be specified in relative units such as percentage or ‘em’ units.
  2. font sizes should be specified in ‘em’ units, if you must specify them at all.
  3. all other non-image/embedded-media sizes should also be specified in ‘em’ units.
Doing those three simple things will ensure that your web site looks good to all visitors, no matter what size screen/window they have, and no matter what font-size they have to use to be able to read it. end-of-rant. PS: My own hacked-up theme/style-sheet for this blog is far from perfect….but I did take the time to make sure all the widths and font-sizes were relative. If there are any CSS bugs feel free to point them out and i’ll fix them ASAP…like I said, I’m far from an expert in CSS. Syndicated from Craig Sanders' Errata: Tech Notes and Miscellaneous Thoughts fixed-width style sheets suck

6 May 2008

Ond&#345;ej &#268;ert&iacute;k: snapshot.debian.net saved me again

On one computer I am taking care of, I suddenly started getting:

$ ps2pdf fa_808.ps fa_808.pdf
/usr/bin/ps2pdfwr: line 45: exec: gs: not found

What's wrong?

$ ls /usr/bin/gs
ls: cannot access /usr/bin/gs: No such file or directory
$ wajig find-file /usr/bin/gs
ghostscript: /usr/bin/gs
$ wajig list ghostscript
ii ghostscript 8.61.dfsg.1-1 The GPL Ghostscript PostScript/PDF interpret
ii ghostscript-x 8.61.dfsg.1-1 The GPL Ghostscript PostScript/PDF interpret

That is really weird, the file /usr/bin/gs is simply missing, even though I have the ghostscript package installed. Ok, let's reinstall it:

$ wajig reinstall ghostscript
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
libwine-capi libstdc++5 libopenal0a xgnokii libglut3 libcapi20-3
libggi-target-x lib64gfortran2 libsvg1 lib64gomp1 libggi2 libgii1
libgii1-target-x libxine1-gnome cups-pdf lib64objc2
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
akregator gs kaddressbook kaddressbook-plugins kalarm kandy kappfinder karm
kate kcontrol kdebase-bin kdebase-data kdelibs-data kdelibs4c2a
kdepim-kfile-plugins kdepim-kio-plugins kdepim-kresources kdepim-wizards
kdesktop kghostview kicker kitchensync kleopatra kmplayer kmplayer-common
kpersonalizer ksplash libarts1c2a libgnutls26 libgs8 libilmbase6 libkcal2b
libkdepim1a libkleopatra1 libkmime2 libkonq4 libkpimidentities1 libktnef1
libopenexr6
Suggested packages:
kdeaddons-doc-html ntpdate ntp-simple perl-suid egroupware ffmpeg xawtv
gnutls-bin
The following packages will be REMOVED:
digikam kde-amusements kde-core kdeaddons kdebase kdebase-kio-plugins kdepim
kmail kmailcvt kmplayer-plugin knights konq-plugins konqueror
konqueror-nsplugins korn smb4k
The following NEW packages will be installed:
gs libgnutls26 libilmbase6 libopenexr6
The following packages will be upgraded:
akregator ghostscript kaddressbook kaddressbook-plugins kalarm kandy
kappfinder karm kate kcontrol kdebase-bin kdebase-data kdelibs-data
kdelibs4c2a kdepim-kfile-plugins kdepim-kio-plugins kdepim-kresources
kdepim-wizards kdesktop kghostview kicker kitchensync kleopatra kmplayer
kmplayer-common kpersonalizer ksplash libarts1c2a libgs8 libkcal2b
libkdepim1a libkleopatra1 libkmime2 libkonq4 libkpimidentities1 libktnef1
36 upgraded, 4 newly installed, 16 to remove and 683 not upgraded.
Need to get 53.1MB of archives.
After this operation, 42.9MB disk space will be freed.
Do you want to continue [Y/n]? n
Abort.

Oops, unstable is broken at the moment. Ok, what now? Well, snapshot.debian.net comes to rescue again. Find "ghostcript", version "8.61.dfsg.1-1" and here we are:

$ wget http://snapshot.debian.net/archive/2008/03/02/debian/pool/main/g/ghostscript/ghostscript_8.61.dfsg.1-1_i386.deb
$ wajig install ./ghostscript_8.61.dfsg.1-1_i386.deb

And all is fine now:

$ ls /usr/bin/gs
/usr/bin/gs

Martin F. Krafft: How launchpad got it wrong

A common rant against Launchpad is that it s closed: the code is proprietary, and Canonical doesn t give raw access to the data they collect via the interface. Anyway, other people have taken up this issue, and it s not the point of this post to do so. I ve heard two argument why Launchpad is closed: first, it s a test bed for a product, which Canonical hopes to market to commercial entities to manage their own release cycles. And second: it s purposely cross-project and tries to integrate and link between them. Thus, lots of instances of Launchpad would defeat the point. I ll address these points in turn, starting from the back: While I won t deny a pre-trend towards (back to) mainframe-like computing, with Google, Amazon, and others providing rent-a-computer-cycle services. In addition, environmental concerns cast clouds over the 400W heating appliance under your desk, which happens to run your word processor and browser when it doesn t lose track of its countless spare cycles. Yet, I maintain that centralised services, such as Launchpad are a thing of the past. If you ask me, Launchpad got it wrong, even though it s light years further than its predecessors. It features pleasant graphics and obviously has had lots of smart thinking and experience shoved into it, but it s still centralised. It might be a business case, but it s not what the world needs. We ve seen massive growth of decentralised approaches to classic services, from file sharing to version control, from number crunching to simple web browsing, and yet, there s Launchpad, single point of entry (and failure) to the world of data surrounding Free software (at least if you follow their vision). What we need is something as slick as Launchpad, and thousands of instances thereof, which all peer with each other, automatically. The information would automatically be mirrored wherever it s referenced, so the entire cloud would be highly-available and failure-proof. Obviously, this wouldn t render itself well to the (traditional) software business model Canonical seems to strive for, so they re unlikely to go down this route. But we could. It would be a non-competitor. Update: thanks for the copious feedback I ve received. Among them was a comment by [Elliot Murphy]](http://launchpad.net/~statik), who speaks of us and thus leads me to believe that he s part of the Launchpad team:
We re definitely listening, and we still have lots more improvements we want to make. Our goal is collaboration, not centralization: thats why we build bazaar, are working busily on doing two-way integration with other bug tracker systems, and are building the best API we can. Our goal in the team is to make it trivially easy for you to get all the data that you put into launchpad back out through the API, data portability is very important. There is no big evil business model, but it would be socially irresponsible if we did not work toward making launchpad self-sustaining. It has been a long road, but the launchpad team is steadily working toward a distributed model, one step at a time.
While it s definitely nice to hear that data portability is a concern to them, I don t see Debian using Launchpad without the ability to run it on our own servers. I m definitely curious to hear more about the distributed model the team is pursuing. I certainly don t have a problem with self-sustainability, but in the Free software world, I do wonder what that is supposed to achieve. Release early, release often, anyone? Update: Philip Newborough took up the issue and has received a number of noteworthy replies. It made me very happy that he sees my post as a rant about Launchpad which is not lambasting Canonical for their proprietary Launchpad software; I wasn t aiming for any lambasting. NP: Nine Inch Nails: Further Down the Spiral

Alastair McKinstry: IPv6 would save 300 Megawatts ?

An interesting discussion appeared over on the NANOG mailing list, based on the article, Up to 300 Megawatt Worth of Keepalive Messages to be Saved by IPv6? This points to an original study by Haverinin, Siren and Eronen at Nokia that shows how much energy is used via "keepalive" messages sent in VoIP, Instant Messaging and other systems, in order to satisfy NAT. In order to maintain connectivity through a NAT router these systems need to keep sending messages to stop the NAT router closing the connections. With IPv6 this would no longer be necessary. It turns out the power requirements are quite significant. There is good work happening elsewhere in Linux and elsewhere in IT, to minimise the amount of energy wasted, such as the Less Watts project. But perhaps its worth doing an audit of the protocols we use, to see what energy savings we can use? Tags , , ,

Russ Allbery: Debian status

Tonight, I converted the XML-Security-C package from Stanford's internal Subversion repository to Git and packaged 1.4.0, but unfortunately I can't upload yet because Xalan needs to be updated to build against the latest Xerces-C. (I'd NMU, but I should not be taking on more things right now.) This is the first of the three current Shibboleth packages, and I hope to tackle OpenSAML and Shibboleth SP tomorrow or Wednesday. An Alioth project for Shibboleth packaging now exists and the pkg-shibboleth-devel mailing list is being created. I've requested Git space on git.debian.org, and as soon as that's set up, I'll push the three existing repositories. Shibboleth 2.0 packaging will add at least three more packages (OpenSAML 2.0, Shibboleth SP 2.0, and another XML support library), possibly four if we have to package log4shib, but I still hope to use the standard log4cpp. And then there will be another couple of packages once the group packages the Shibboleth IdP and WAYF, which I hope someone with more Java experience can tackle. One of the main goals for getting this set up is so that people other than me can do more of the work so that I can work on other things. Like, for example, krb5 packaging. Bastian Blank started using the Kerberos server packages and posted a whole flurry of bugs, a couple of which are (somewhat arguably) RC, and I'm trying to absorb that and fix the ones I can ASAP. OpenLDAP is in desperate need of attention, but I don't feel as much responsibility for that. I said going in that I'd only have time to work on it in fits and starts, and just because no one else has any time to work on it either doesn't change that. However, I do need to find time to post an RFH, since it really needs an active maintainer, and I'll at least find time to upload the upcoming 2.4.9 release before lenny freezes more, since the current version has a ton of bugs. Frank Lichtenheld has been doing a lot of the work on Lintian lately, which is wonderful, but I still have at least 10 bugs and patches that I want to deal with as soon as possible for it and get another upload out. We're well over my magic threshold of 100 bugs, and a lot of the stuff that's in the BTS just needs to be reviewed and committed. And then there's Policy, which is just about ready for an upload, and where I owe several responses on bugs and discussion threads. It's in the best shape right now of the stuff on my hot list, but there really should be a new upload in May, and preferrably in the first half. The current goal is to get the two other RC bugs against the Shibboleth packages dealt with in the next couple of days, then do a krb5 upload before the end of the week, and then Policy and Lintian are back at the top of the list, insofar as work lets me concentrate on anything else. BTW, I have to say, the more I use Git, the more I'm becoming a convert. I still think I'd rather use quilt if I have complex merges. Ironic, given that that's supposed to be Git's strength, but I have fifteen years of experience merging patches and I really understand how quilt works. That may mean I'll change my mind when I become even more familiar with Git. But for the typical package with a small number of divergences from upstream, I'm getting the hang of managing those on branches and I think I like it. I've yet to see a good reason to use rebase instead of merge, though, at least as part of a Debian packaging workflow. So either I'm still not getting something, or many of the people using Git are way more obsessive than I am about their branch merge graphs (which is weird, because I tend to be remarkably obsessive about things like that). I suppose if I ever get to using git bisect, that may change my mind.

5 May 2008

Joey Hess: the internet empowerment spectrum

When I look at how people are using the net, I see a spectrum... At the low end, there are users who browse, and maybe post stuff to sites like flickr or youtube or wikipedia. When I hang out with these people, I'm struck by them being often quite smart, savvy, capable (and young), and wasting a lot of their time and inginuity fitting what they want to do into these narrow and (mostly) corporate-controlled and censored channels. And being limited by it in ways that they're not fully aware of. If you're in this group, please, please consider finding a way up the spectrum. At the high end are tecchies like me, we have at least one and often multiple servers, sometimes even in different countries/continents. We can write and run our own software with full control. This excellent advogato article calls it the "sovereign" level. We're not exactly kings when you look at who controls things from DNS to the internet backbone, but we're as close as it's practical to be without running your own wires. And we're statistically vanishingly few these days. So the middle is more and more interesting. For one thing, being king is expensive. So some of us move down a level, to virtual servers with xen or the like. Maybe we can't build our own kernel on our server anymore, but we don't have to worry about maintaining spinning disks and fans. And some people move up to this level too. One path is learning about running linux on a personal machine and then using an easy and cheap provider like slicehost. But still, users at this level are rare. The other interesting level (and the one I've not explored much myself) is a step up from the low end, where you have some form of inexpensive shared hosting, but can at least run your own code. This level seems quite a mess, there is no standardisation, everything has to be set up by hand, unless you use prepackaged control panel type things that probably take away most of the empowerment available at this level. A lot of people reach this level, but it's still fractions of a percent. So there seems quite a hump up from the lowest end of the empowerment spectrum to using shared hosting. How to encourage people over that hump is an interesting problem.
I've been playing with using some power tools from the top, sovereign level down in these murky shared hosting depths. Decided to see what kind of stuff I could accomplish for $5. Although it ended up costing only 2 cents for hosting so far. Amazon and google's hosting servives look interesting, but need things to be designed explcitly for them. And those companies are too big already. NearlyFreeSpeech.net is more flexible, funky, and has a cheap pay-as-you-go pricing that's ideal for little things that will only use a few dollars of bandwidth. So, I got ikiwiki working there (and documented how), along with a git backend, so my wiki's sources can be cloned to elsewhere for backups and development. Some things I hope to do later include:

Next.

Previous.