Search Results: "ema"

5 September 2009

Neil Williams: po4a and translating manpages

po4a creates the meta files needed to generate the manpages but the actual generation process is a little awkward and tends to become heavily customised.

For emdebian-rootfs, I've now received the Portuguese translation and I've been improving the genmanpages script. It's now more general and easier to configure for different source packages. There remain a few hidden assumptions which I hope to fix in future.

#!/bin/sh
set -e

# Copyright (C) 2006-2009 Neil Williams
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .

# name and location of the config file
# relative to the top level source directory of the translations
# i.e. the directory containing ./po/
CONFIG="doc/po4a.config"
# POTFILE path
POTFILE="po/emdebian-rootfs.pot"
# the binary packages that will contain generated manpages
BINARIES="emdebian-rootfs multistrap"
# the binary packages with manpages in Section 3.
HASMAN3="emdebian-rootfs"
# the binary packages using DocBook XML & xsltproc
XMLPACKAGES="emdebian-rootfs"
# the DocBook XML files (TODO: let this take paths)
XMLFILE="emdebian-rootfs.1.xml"
# the XSL file to use for Docbook XSL
XSLFILE="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"
# the POD files (TODO: let this take paths)
PODFILE="em_multistrap"
# the binary packages using POD
PODPACKAGES="multistrap"

# remember to add something to the clean:: rule in debian/rules
# to remove each binary package sub-directory.
# $(RM) -r doc/emdebian-rootfs doc/multistrap

# below this point, no changes should be needed.

wrap_langs ()
if [ -z "$LANGS" ]; then
echo "$1 $2" >> $CONFIG
else
echo "$1 $2 $3" >> $CONFIG
fi


if [ -f po4a.config ]; then
cd ../
fi
if [ -f ../po4a.config ]; then
cd ../../
fi

# calculate the langs, automatically.
LANGS= ls po/*.po 2>/dev/null true
if [ ! -z "$LANGS" ]; then
LANGS= ls po/*.po sed -e 's/.*\/\(.*\)\.po/\1 /' true
fi
if [ ! -z "$LANGS" ]; then
# LANGS should not include the specification, just the root.
LANGS= echo $LANGS sed -e 's/_.*//'
LANGS= echo $LANGS sed -e 's/@.*//'
LANGS= echo $LANGS sed -e 's/\+.*//'
echo "[po4a_langs] $LANGS" > $CONFIG
else
echo > $CONFIG
fi
wrap_langs "[po4a_paths]" "$POTFILE" "\$lang:po/\$lang.po"

for d in $BINARIES; do
for l in $LANGS; do
mkdir -p doc/$d/man/$l/man1/
if [ "$d" = "$HASMAN3" ]; then
mkdir -p doc/$d/man/$l/man3/
fi
done
mkdir -p doc/$d/man/man1/
if [ "$d" = "$HASMAN3" ]; then
mkdir -p doc/$d/man/man3/
fi
mkdir -p doc/pod/$l/
done
mkdir -p doc/html/

for file in ls doc/xml/*.xml ; do
xmllint --format "$file" --output "$file"
LOCAL= basename $file
wrap_langs "[type:docbook]" "$file" "\$lang:doc/xml/\$lang/$LOCAL"
done
# oops, this needs to be configurable
for file in em_multistrap; do
wrap_langs "[type: pod]" "$file" "\$lang:doc/pod/\$lang/$file"
done

# use -k to create all XML even if untranslated or the XSL breaks the build.
po4a -k 0 $CONFIG

for d in $BINARIES; do
for P in $XMLPACKAGES; do
for X in $XMLFILE; do
XML_CATALOG_FILES="/etc/xml/catalog" \
xsltproc -o doc/man/ --nonet $XSLFILE doc/xml/$X
done
if [ "$d" = "$HASMAN3" ]; then
mv doc/man/*.3 doc/$P/man/man3/
fi
mv doc/man/*.1 doc/$P/man/man1/
done
for POD in $PODPACKAGES; do
pod2man $PODFILE > doc/$POD/man/man1/$PODFILE.1
done
for l in $LANGS; do
for P in $XMLPACKAGES; do
for X in $XMLFILE; do
XML_CATALOG_FILES="/etc/xml/catalog" \
xsltproc -o doc/man/ --nonet $XSLFILE doc/xml/$l/$X
done
if [ "$d" = "$HASMAN3" ]; then
mv doc/man/*.3 doc/$P/man/$l/man3/
fi
mv doc/man/*.1 doc/$P/man/$l/man1/
done
for POD in $PODPACKAGES; do
pod2man doc/pod/$l/$PODFILE > doc/$POD/man/$l/man1/$PODFILE.1
done
done
done
for l in $LANGS; do
rm -rf doc/xml/$l
done
rm -rf doc/pod/

# the rest is specific to emdebian-rootfs - ignore.

# HTML versions, not packaged.
xsltproc -o doc/html/ --nonet \
http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl \
doc/xml/emdebian-rootfs.1.xml

for i in ls doc/html/*.html ; do
iconv -t utf-8 -f iso8859-1 $i > doc/html/tmp
sed < doc/html/tmp > $i -e 's:charset=ISO-8859-1:charset=UTF-8:'
done
rm -f doc/html/tmp


OK, more to be done here but it has a basic idea. The generated files are separated out into directories determined by the binary package name into which the manpages will be installed.

This gives a .install line something like:
doc/emdebian-rootfs/man/* ./usr/share/man/

This is important because it reduces the number of changes needed to add a new translation - in effect, only the $lang.po file itself.

It should at least give some ideas of what can be done.

Matt Zimmerman: Google Voice


I ve been experimenting with Google Voice while traveling in the US. I would have tried it sooner, but it isn t very UK-friendly at present. The good:
  • Free SMS to US mobiles from the browser
  • Convenient browsing and searching of received/placed calls, SMS and voicemail
  • Initiation of phone calls from the browser
  • Unified contacts database with my Android phone (and GMail, though I don t use it)
  • Simple call routing, so I can use a fixed number when I m in the US even though I usually pick up new a prepaid SIM on each trip
  • Ability to choose a phone number through searching, to find one which is easy to remember
  • Speech-to-text of voicemails (maybe just good enough to be useful)
The bad or missing:
  • Requires a data connection on Android (problematic e.g. when roaming or using a prepaid/pay-as-you-go SIM), though it falls back gracefully to non-Google-Voice service
  • Calls outside the US cost money (Vonage and other VOIP providers offer this for free)
  • Calls can apparently only be placed between POTS lines (no softphone functionality)
  • Yet another place to set my time zone. Being able to selectively block calls while I m asleep abroad would be the killer feature for me
  • Caller ID doesn t seem fully integrated in Android: it sometimes looks like I m on a call with myself
The boring:
  • Free calls within the US: people still pay for this?
  • Voicemail: people still leave voicemail?
The ah moment came when someone gave me a phone number on IRC, and I copy/pasted it into my browser to call them.

4 September 2009

Russell Coker: Ownership of Laptops for Work

Jetstar has announced some new changes to the way they manage their IT infrastructure [1]. Some parts of it are obvious things that people have been doing (or wanting to do) for a long time such as using thin clients with no moving parts (not even cooling fans). But the really interesting part is their plan for managing laptops. They are using a virtual machine image on a flash storage device that can run on any system. So deploying a new system will only require installing the virtual machine software and inserting a storage device. Moving a user s environment to a different system (EG due to hardware failure) will merely require inserting the storage device in a new system. That raises the issue of ownership of the device. It seems that Jetstar are considering using systems that are owned by employees, Stephen Tame said In two years time a laptop should be a condition of employment, and this includes bringing your own laptop . When introducing that I expect there would be some resistance by employees who don t want to spend the money. However
I have previously estimated the costs of running a car [2] which works out to more than $1,650 per year for insurance, registration, basic maintenance, and the interest that would have been received if the car had not been purchased and the money had been invested. Laptops can be purchased for significantly less than $1000 (currently the EeePC 701 is on sale for $219) and can be expected to last for three years or more if you are careful to avoid damage and don t run demanding software. So a job that demands ownership of a laptop is asking for a much smaller financial investment than one which demands ownership of a car. But I expect that many employees won t see it that way. The up-side for employees to bring their own laptops is that they can choose a model that suits their preference. Everyone has preferences regarding the size of keys on a keyboard, the distance that they travel and the pressure required to register a key-press. For desktop machines it s easy to swap keyboards but for laptops there is no such option. Then there s the issue of the trade-off between physical size and weight vs display resolution, personal preferences in this regard will depend to some extent on the body mass and strength of the employee. Now there are a number of security issues related to personal laptop use. Obviously if the laptop has a Trojan-horse program installed then it could sniff any data that goes past on the network. The most trivial case of this could be addressed by running VPN software inside the emulated environment. This would force a Trojan to compromise the virtual environment (EG by modifying the address space) or to compromise the files on disk (insert a Trojan inside the filesystem for the virtual environment). The former would be tricky to get right while the latter would be trivial. Both attack methods have been used in the past and proven to work. This is why many companies prohibit their employees from connecting their own systems to the corporate network. One example of a system that is based around running virtual machines for all desktop operations is the NSA NetTop project [3]. NetTop involves a SE Linux system that runs multiple instances of VMWare for different desktop environments. Each VMWare instance runs at a particular sensitivity level and uses a VPN connection to a back-end network running at the same level. The aim of NetTop is to prevent applications in the different VMWare instances from communicating with each other. The significant difference between a typical NetTop installation and what JetStar might be doing is that NetTop runs on a secure base it s hardware that has been purchased and installed by a military organisation and is run in a secure facility. While personal laptops that are owned by employees can be expected to be infected with viruses and Trojan-horse programs. In the past I have suggested that an employment package for any skilled employee should include some budget for buying things that facilitate the work [4]. It seems to me that a company like JetStar could best achieve their goals by assigning a budget to each new employee to buy a machine for their use. The employee then gets to choose a machine up to that budget which would only be for work purposes. Then when the employee leaves or the machine becomes due for replacement it could be sold at auction. When considering all the costs involved in hiring a new person, spending something less than $1,000 to buy a laptop is nothing. Finally if buying machines for work purposes, you really don t want employees using them for surfing porn. Porn sites tend to be particularly bad for malware distribution. To reduce the incidence of such problems I think that work machines should have their sound hardware disabled and laptops should not be purchased with overly large displays. There is no need to make work machines totally unsuitable for porn surfing (which would also make them less effective for work), but making them less suitable than a $500 budget PC should dramatically reduce the scope of the problem.

3 September 2009

Martin Meredith: Stepping down from the Ubuntu IRC Team

After long deliberation (a good few months!), I today came to the decision that I no longer felt that I could be part of the Ubuntu IRC Team. I have felt for a long time that the Ubuntu IRC team has become an elitist crowd, with a very cliquey inner circle, and those who are not in the inner circle being treated on multiple levels like second class citizens. There are a lot of things that have pushed me to make this decision, and I ve not made it lightly. I ve voiced my concerns to the IRC Council previously, (via individual emails), and had no response. I don t see the situation getting any better. In fact, more and more, I see it getting worse. I know that I m not the only person who s thinking this way, though I may be one of the only ones that feels that I need to lay down my cinnamon roll. I ve discussed these issues on multiple occassions with various members of the community (both in and out of the team), and with people linked to the Ubuntu IRC community in one way or another (Debian Developers, Freenode Staff, etc etc). There are also other people who ve come out of the woodwork after I posted my resignation. Within minutes of doing so, one member forwarded my mail onto the community council, and another replied with his thoughts and feelings regarding the matter. I m glad to see that there are other people out there who ve seen what I ve seen, and like me, also dislike it. I will however, retain my @ in #ubuntu-uk. This is a channel I participate regularly in, and the ops there are chosen by the LoCo Team, rather than the IRC council.

Andrew McMillan: Storing Secrets

Something that has been annoying me recently with my bank has been that their website tells me that they will never ask for my password over the phone. And then their call centre asks me for my password. Over the phone. Of course the call centre doesn't mean my website password - they mean the special 'ultra-secure 5ekr1t code phrase', but they don't have a good, universally understood word to use for that. Hopefully they'll work one out, but they appear to have got the message anyway. This got me to thinking about how these phrases are used, and how insecure they are in reality. After all when I store a website password I go to significant lengths to ensure that the same password is not represented by the same string of characters in my database. How vulnerable are our secrets in the databases of organisations we do business with?
<!--break--> Simple Password Storage Surprisingly often people do store passwords in databases in plain text, so that should their website get hacked someone would quite possibly be able to download the whole password database. Please feel free to name and shame these organisations in the comments below. My own pet hate in this regard is the 'Mailman' mailing list software: by default on 'mailman day' - the first day of each month - it sends me my password. In plain text. Of course many developers recognise this flaw, and work around it by using a one-way hash to obscure the password. Usually they choose md5 for their hashing algorithm though, and they often fail to use a 'salt' to randomise the plaintext prior to hashing. This means that even though a password might seem obscure like 'Supercalifragilisticexpialidocious!', and no doubt it will hash to something that seems obscure like 'a7290d426b6a1764af6fd7fba5db214e', but you can often find it straighforwardly by looking it up through one of the friendly reverse hash lookup websites. There's even a Digest::MD5::Reverse perl module on CPAN to interface to a bunch of these in a more automated way! Oh dear. One way to go beyond this is using a 1-way hashing algorithm, with a random salt included into the plaintext before the hashing, so that if (god forbid) two users had 'password' for their password I might see two rows in my database like:
davical=# select username, password from usr;
  username                       password                          
-------------+------------------------------------------------
 user1          SSHA qCctCH5dirYCf29uxJiE68LvmLRDdnBkbldiWlE=
 user2          SSHA y8yOzjoh9fSkVwLaXGoVtWdiIYxmU2FCb2dOZXc=
(2 rows)
When the user wants to log in I apply the same transformation to their incoming password (appending the same salt) and compare against my stored hash. If they match then it must be the same password they used previously. Storing passwords in this way secures them from casual, or even reasonably determined access, although naturally they can still be logged at the beginning and end of the communication - or even in the middle, if we didn't encrypt that bit! The PHP function I use to salt and hash the password is as follows:
/**
* Make a salted SHA1 string, given a string and (possibly) a salt.  PHP5 only (although it
* could be made to work on PHP4 (@see http://www.openldap.org/faq/data/cache/347.html). The
* algorithm used here is compatible with OpenLDAP so passwords generated through this
* function should be able to be migrated to OpenLDAP.
*
* If no salt is supplied we will generate a random one.
*
* @param string $instr The string to be salted and SHA1'd
* @param string $salt Some salt to sprinkle into the string to be SHA1'd so we don't
*                     get the same PW always hashing to the same value.
* @return string  SSHA  followed by a base64 encoded SHA1 of the salted string.
*/
function session_salted_sha1( $instr, $salt = "" )  
  if ( $salt == "" )  
    $salt = substr( base64_encode(sha1(rand(100000,9999999),true))), 2, 9);
   
  return ( sprintf(" SSHA %s", base64_encode(sha1($instr.$salt, true) . $salt)));
 
What about Secret Code Phrases? The problem with these secret code phrases, apart from all of the forgetability and guessability problems that have repeatedly been identified elsewhere, is that they are much less likely to be stored in a one-way hash. Are you going to ask your call-centre staff to type in the customer's secret code phrase? Didn't think so. And if you did it's going to add pronouncability issues to the whole mix. So this means that those organisations who have our secret code phrases in their database will, in all likelihood, have them stored directly as plain text, displaying them to the random call-centre staffer along with all of our other account details, and especially making them vulnerable to accidental disclosure. Disclosure of a sort that doesn't necessarily involve knowing they have been disclosed. Proliferation of Use These things provide the appearance of security - 'Security Theatre' as Bruce Schneier terms it - and because of that they're taken up in a kind of a cargo cult of security: "if the banks do it that way it must be a really good form of security". This makes the problem much worse, because now I have to remember a secret code phrases not only for banks, but for ISPs, phone companies, online auction websites, and so on. How many mother's maiden names, favourite teachers and friend's phone numbers do I have? I'm sure I'm at well up whatever curve it is that measures the number of passwords a person has, because five years ago I had so many I started to store them all in an encrypted database - protected by a yet another password, of course. Now in order to get my story straight I have to store my 'secret code phrases' in there too. If I didn't store my secret code phrases in that database, I'd obviously be re-using them everywhere, from a very small set - perhaps the same one that everyone around me overhears, every time I have to ring my bank to authorise another payment from my account. Because the proliferation of use is not just the breadth of wannabe thespians hoping to climb on the stage of this latest play, but the way they want to use it all the time, too. In fact the only conversation I've had recently with my bank where they didn't want it was when they rang me. Obviously I was the only person who could answer a phone in my house, right? It isn't just security theatre: I think we can see that this analogy belongs much deeper into the sub-genre of 'Security Farce'. Is there a solution? I don't have any easy answers - other than the ones to my security questions, of course - but some improvements are possible. Other banks have quizzed me about stuff like recent expenditure or credit card limits from time to time, but I've usually passed those tests by reading my last bank statement - or failed them by not having it to hand! I don't really think that the answers can lie in that direction because the information is only quite loosely tied to my identity. For some parts of the call-centre handling of secret code phrases there are changes that could make them more secure, but in the fairly short term these organisations need to find a different way to perform these out of band identity checks. For the actual storage of the code phrases it would be a marginal improvement if the database did not contain the actual phrase. Perhaps it could be encrypted with some application-known key, so that it can be unencrypted when it needs to be displayed, but never stored in the clear. Of course there's still the problem with that key... Verification of the secret code phrase could be done by someone not involved in the transaction, so that the call could be temporarily passed into a 'verification stream' where a different person performed the verification step without the context of the account details or enquiry. Though this sort of complexity seems unlikely with call centres seemingly being outsourced to the cheapest supplier. One thing does seem likely to become increasingly true: there is less and less private data in our lives, and every time we share one of these little nuggets with our bank, or our electricity company, or our on-line associates-we-call-friends, is one more chance that it escapes into the hands of the foaming-at-the-mouth-terrorist-cracker-communist-nazi-right-wing-religious-fruitcake hordes. The highest bar for personal verification which any of my banks currently sets for me is a random choice from a set of personally entered questions, with a set of personally entered answers, for which I have to enter two randomly selected characters using my mouse. That's not bad for safe verification, and I'd have to be really impressed with their security if that was stored in the database by a passphrase-protected encryption key. With that bank I don't know what they do over the phone - I assume they've concluded they can trust my logged on persona enough that I can do what I want online, consequently I haven't had to call them and share those secrets with everyone in earshot. Maybe paranoid freaks like me will go back to a chequebook and close down on-line access to their bank accounts entirely when they find themselves having to supply a skin scraping in order to authorise their next $500 payment. "Please insert your finger in the AccuYou(tm) BloodSucker(tm) to proceed with this payment" - well, I guess it might cut down my spending! In any case, biometrics need to be understood before they can be used effectively and appropriately - and remotely over the phone is probably not one of the ways that they can be trusted to work.

Pablo Lorenzzoni: EeePC: Surviving liquid spills - phase II

About four months ago I described how my EeePC survived the spilling of orange juice over its keyboard. No! I never spilled anything on it again, if that s what you re thinking But I noticed that some keys (those that got more juice on) began to malfunction. At the beginning I paid no attention to it, hoping that it would just go away, but, eventually, they just stop working And those are not just unimportant keys I am talking about arrows and the forward-slash (/) keys in the lower right corner of the keyboard!!! How could I survive without those keys, without a quick access to my bash history and vim search? Well, I began googling around and found some good advice. Everything that made sense regarding how to cleanup my keyboard I compiled and, when I was enough confident it would work, I just follow the procedure I ve devised. This is what I did:
  1. After turning it off and removing the battery, I removed the keyboard. Check the instructions I linked in my previous article for some pictures on how to do it.
  2. I poured 500 mL of distilled water in a clean plastic box (I bought 1L for BRL 20 at a local pharmacy), added enough dish detergent to make some foam (I was careful to select a non-biodegradable one) and drowned the whole keyboard in the solution.
  3. For the next 30 minutes I pressed and released the affected keys over and over again. My intention was to dissolve anything that might have remained from the orange juice.
  4. I left it soaking in the solution for the next 12 hours.
  5. The next day I got the keyboard out of the solution and used current tap water to remove any detergent still left in it. This might have took about 10 minutes.
  6. Our tap water is really clean, but its hard, and I would not like to remove any juice from the keyboard just to add some minerals that might have the same effect, so after I was certain all the detergent was removed, I left the keyboard in the remaining of the distilled water for another 12 hour soak.
  7. After that I just removed the keyboard from the soak, dried it a little bit using a paper towel and left it to air-dry (away from the sun). I don t remember how long it took, but I believe not more than 4 hours Those were hot days Anyway, I was really sure it was dry.
When I plugged it back, surprise! All keys are working again! Of course, that was just what worked for me Best advice still is: Keep liquids away your EeePC!

2 September 2009

Olivier Berger: Hello Planet Debian

Hi all Debian news addicts. If all goes well, I should now be part of the Debian planet, thanks to the good Planet Maintainers. In a few words, I m a Debian Maintainer, and long time Debian fan (although sometimes disappointed by it, but love hate relationship is sustainable in the long run, it seems ;)). My most significant contributions have been on helping maintain bts-link and generally I m interested very much in bugtracking, Semantic Web, and tying that with what s done in Debian and more generally in Free Software. I m focusing on these aspects as part of our Helios project funded to work on producing FLOSS :-) My debian tag s feed will tell more about me and my progress in contributing to Debian, from now on.

Biella Coleman: Awesome Inc

Great cartoon video on why we need universal health care.

Sami Haahtinen: SELinux and me...

Once in a while I get this urge to use SELinux on some of the servers I manage, but almost always run in to something that puts me back enough to never finish the project. This time I managed to figure out the last few glitches. In the end, SELinux still has a really steep learning curve, so it's not for the impatient ones. Even though enabling SELinux in Debian has become a lot easier since the first time I tried to get things running, it's still just the tip of the iceberg. In Debian it is just a matter of installing the right packages and running a few commands, but that's just where the troubles start. Most of the howtos focus on single user or shared installations where all users are created locally. Also most howtos fail to mention that you need to relabel files in certain cases. One of the most annoying problem I ran in to was changing all non-system users away from the unconfined_u class. This is of course done like this (found here):
semanage -m -s user_u __default__

The problem here is that it changes the existing user as well and you start to get errors like these:
denied    read   for  pid=32258 comm="bash" name=".profile" dev=dm-5 ino=185474 scontext=user_u:user_r:user_t:s0 tcontext=unconfined_u:object_r:unconfined_home_t:s0 tclass=file

The problem here is that the home directory for the user is still labeled for the wrong class. The fix is to relabel the home. Sadly this is something that you just need to know, it's not explained anywhere. At least I haven't found an explanation anywhere. Another good thing to do before you continue is to change the already existing user to the staff class. Staff class has a bit more relaxed security controls and you get to change the security roles (details here).
semanage login -m -s staff_u myuser
fixfiles relabel /home/myuser

This gets you a semi working setup, next problem usually is that some daemons are denied access to parts of your system. For me, this was postfix trying to access my home directory that was mounted over NFS. For such cases, you should persuade the maker of the module package to update the global policy if it's a common use case. Or you need to create a policy package that allows access to the given files. The process itself is documented in the audit2access manual page. In general you should study the audit2why and audit2allow packages. The former tells you if there is an easier way to fix something (like enable a boolean) and latter will create the required policy lines. Only problem is to compile the policy and load it. The only problem here was to find the right tool and the right lines from the manual. In general the SELinux learning curve is way too steep. It's a system that works pretty well once you learn all the tricks and start to completely understand the toolset. The community should continue working on lowering the bar for new users. There has been some major improvements since I first tried SELinux, so it's the right direction.

1 September 2009

Biella Coleman: Hello Ladies (aka learning from the lady geeks)

3692689082_dc8494bf13 Whenever I attend Debconf, the first day is always a bit disorienting due to the confluence of jet lag with the sea of male programmers swarming at the venue. I am not sure I should be admitting this but one of the first things that pops to mind is the very cheesy one hit wonder whose video is filled with many bikini clad men, Its raining men. So for a few hours, maybe a day, I sometimes feel out of place but this this first wave of discomfort usually gives way to comfort. This is not only because I connect with friends but because Debconf as well as many other hacker events and this sits in marked contrast to professional academic conferences are remarkably accepting of diversity and difference, at least that has been my personal experience. Most notably, people could care less about how you look, disabilities are consistently accommodated, and some things, like gender changing, which would raise serious eyebrows for instance in most academic conferences, is accepted with next to no gossip. I raise this because this is how I personally have experienced the world of Free Software: overwhelming male but overwhelming accepting of difference as well. So even while I think it is key to confront the problems of discrimination in this world, it is not a simple story, for again, it is an environment that is also accommodates difference and quirkiness to some notable degree. The question of gender in F/OSS is complicated one and here I am not going to ruminate on sources of gender bias except to say that I am sure there are some in operation (as there are in most domains) some of which are internal to Free Software and other s external to Free Software. But what I have been struck by, especially over the course of the summer, is the explosion of sites, blogs, and debates that have confronted gender in Free Software. It has been nothing short of astounding and a really positive turn. The most notable example is this AWEEEEEEEEEEESOME pair: a wiki and a blog that confront gender head on. These are notable because the wiki, for example, catalogs all sorts of controversial events, comments on them, leaving a very visible trace of debate, one that is necessary to change the gender make-up and dynamic within Free Software project. Along with these, the FSF is finally hosting a min-summit, which is great (less great is that participation seems invite only but perhaps they have some good reasons for doing so). And today I just learned of this diversity page coming out the Python project. These are perfect examples of the recursive public in action raised in Chris Kelty s work. And I have long been impressed with the dialogue that has followed from some controversial events in the world of Free Software, including those related to gender and this summer seems to be a watershed of sorts and I look forward to their developments over time. Indeed and this may be controversial as well, but I think my academic field of media, law, and culture has something to learn from these gender politics for there are some very real, though probably unintentional forms of discrimination that are not under that much active discussion. The most glaring problem is the underwhelming presence of female scholars during conferences (and as we know, conferences are exceedingly important for one s professional development and career). What I find most striking about this trend is the number of female scholars is significant. That is, when it comes to scholars and this seems different from the world of tech, there is a sizable community of women scholars and activists so when there is a 5% female participation , as for example, with this event, one has to wonder why is it raining men at these conferences? It also seems that while the debate exists, it is not as vibrant as with what is going on right now in F/OSS. Take for example, this recent mailing list post which unapologetically highlighted the lack of female presence in the up and coming Free Culture event at the Berkman Center. While the post generated a handful of thoughtful responses, including this supremely classic, biting, and quite clever response from Georgetown professor Julie Cohen, the debate did not linger on (however short, the posts and discussion were quite fruitful). What to do? Frankly, blame and finger pointing are pretty counterproductive, mostly because the discrimination is quite unintentional and I believe change can be brought about via more constructive paths. More important is we need to make the issue visible, identify some possible sources, and then create projects that can remedy the problem. Along with Elizabeth Stark, who has also been keen to note and change the gender problems, I am currently whipping together a wiki with a list of female scholars, leaders, and technologists as a resource for folks organizing conferences. We already have a base list (with a remarkably long list of folks) and will hopefully in the course of the next month throwing it up on the wiki. I don t think it will ever be as cool as the Geek Feminism Wiki but it will hopefully do some good!

31 August 2009

Neil Williams: Help needed for final libsoup2.4 fixes in drivel 3.0

Drivel 3.0.0 (current SVN trunk) is now ready for GTK+3.0. libegg has gone, there is one remaining issue with the GtkRecentChooser replacement. libgnome and libgnomeui are going away too and these have been dropped from drivel (therefore bonobo has gone too). gtksourceview has been migrated from 1.0 to 2.0. GtkSpell now correctly finds all supported dictionaries and a whole load of console messages about invalid casts etc. have been fixed. There is no libglade anymore, it's GtkBuilder throughout. Essentially, everything needed to bring drivel up to date with GTK+3 is in place.
Problems.
  1. The libsoup2.2 -> libsoup2.4 transition is a mess. Some of it works but the libsoup2.2 code that has been added to drivel needs to be dropped and a genuine 2.4 interface created. I'm not that familiar with this side of drivel - I'm hoping others have more expertise debugging the actual network / XMLRPC / Soup connections between drivel and sites like livejournal. Any libsoup migration experts out there?
    • MT support
      Current SVN trunk can use MovableType (MT, Wordpress, Serendipity) although a few niggles remain (categories work in some MT and not others). Serendipity cannot post. Invalid request payload: xmlrpc element PARAM cannot be child of PARAM, so that's libsoup too.

    • Blogger 1.0
      Support appears working, albeit with a few changes I've just made.

    • Advogato support
      Appears to work fine. http://www.advogato.org/person/codehelp/

    • Atom/Blogger 2.0 support
      Really not sure on this one:
      (drivel:32119): Drivel-WARNING **: parse_xml_journal_list: XML is not a
      <feed>
      - so libsoup again but it's quite possible that this error hides other errors too.

    • LiveJournal
      Here are the real problems. LJ didn't work with (the unreleased) 2.1.1 either and it fails in the same way with 3.0.0. "Could not understand server
      response."
      and lots of complaints about syntax errors on the console.

  2. Removing an account causes a crash - somehow the combo_box is not registering the item as active until reselected. I've got a fix that prevents the crash but that's going to be annoying. Watch for:
    Drivel-Message: login_name_active = -1

    (drivel:31084): Drivel-CRITICAL **: remove_username_cb: assertion
    login_name_active > 0' failed
    Any GTK+3.0 gurus who can help with that one - much appreciated.

  3. GtkRecentChooser is not updating itself when a draft is saved.



debcheckout still has the old GNOME details until 3.0 is uploaded, so the SVN details at SF are:
svn co https://drivel.svn.sourceforge.net/svnroot/drivel drivel
SF homepage:
http://drivel.sourceforge.net/
Dev mailing list (for bugs and patches)
http://mail.gnome.org/mailman/listinfo/drivel-list
Or just send me the patches direct (email details in the source files).
posted with 2.0.4

If you want to test all the various clients, you'll need wordpress, movabletype-opensource and serendipity installed as Debian packages (and configured) and accounts at advogato, livejournal and blogger.

So, dear lazyweb, anyone got some ideas?

Andrew Cater: Madly dysfunctional family barbeque

At Steve's house in Cambridge. First Debian party I'd been to. House full of people I knew only from email, some very old friends. Wires and leads filling the front room floor - laptops _everywhere_ . [My netbook died with nasty ACPI errors - since fixed/worked around - it was practically the one place in the world where I could yell for an ACPI expert and folk knew what I was talking about :) ]

I wish I'd taken a camera - I was there for 1/2 hour before I realised I was only about three feet from a large TV which then became the focus for competitive Wii Fit archery :) Thirty second rule on sofa space - if you left for more than about 30 seconds you had to sit on the floor when you got back (I jammed myself onto a corner of the sofa once I realised I'd barely get through the crush :) )
[Forget students in a mini / UK telephone box - how many DDs can you fit into a very narrow kitchen :) ]

It's a huge, dysfunctional family with its own rules, geeky humour and in-jokes but it's MINE - it's the people I want to hang out with and, as perverse as it sounds, just being there gave me a whole new reaffirmed sense of identity and a large amount of determination to carry on "wasting my time with Linux" and Debian

Thanks to those who signed my key for me (and Noodles who didn't sign but gave a very intelligent rationale as to why he couldn't at the moment :) )
Thanks to Steve for quintessentially being and being the perfect host - and I hope to be back next year. And the food was excellent - chilli popcorn comes highly recommended :)

30 August 2009

Aigars Mahinovs: Debconf9 photos and banter

A bit more than a week after Debconf9 ended here is a post summarising what I remember about it for myself to look back to later, for others that were there for a good memory, for those that were not there for insight and for organisers of future Debconfs to improve. Let s start with something most people know I took photos, a lot of photos. The main photo naturally was the Debconf9 group photo (also http://tr.im/dc9group and an annotated version). Please look for people that are missing their IRC nicknames. I have uploaded the best of my photos on Flickr and all good photos in full resolution on the Gallery site. All of these photos are licensed CC-BY 2.0 or 3.0 or GPL v2 or v3 (your choice). Now about the organisation. The place reasonably easy to get to but not particularly fast or cheap from airport to the venue it took 1 hour in metro, 3 hours in a bus or train and a half an hour walk (or 5 minutes in a taxi) for the sum of 22 and 4.5 hours or 27 and 4 hours one way. While we all accept the time waisted in airports, getting from the airport to the venue should be easier and cheaper than this. While it was crazy hot outside (38-40 C) there was great air conditioning everywhere, so we did not feel the heat most of the time (except if you walked from bus/train to the venue or did the climb during the day trip). Having air conditioning in the room was a godsend I do not think I would be able to sleep otherwise. Also free water from a drinking fountain where you could also refill your water bottle was a great touch. The rooms were great two beds, air conditioning, bathroom, shower, desks and closets where one could unpack their things. And we did not have to move to other rooms in the middle, it allowed us to unpack and feel comfortable instead of living out of the suitcase the whole time. I m not sure if it will be possible for future Debconfs to get rooms with only two beds, but I think that even with 4 people per room would have been fine, provided that there are enough bathrooms/showers, enough space to unpack everyone s clothes, enough sockets to charge some stuff overnight and enough WiFi coverage in rooms to get some late emails without going to the hacklab. Which brings me to Internet and hacklabs. I must say that Internet was great this year it was fast enough not be a major problem, it was almost everywhere (a bit more signal in the sleeping rooms would be better), it was up and running from day one of the Debcamp and it was stable through (I think there was one or two interruptions). It would be nice to see people write a blog entry about how exactly it was done. As far as I know it was very helpful to have several kilometres of CAT5 cable, several large switches and a huge amount of identical WiFi routers all flashed with OpenWRT (and then some more smaller routers also flashed with OpenWRT to plug some holes). I heard there were two Internet connections joined together and a complex firewall/transparent proxy/traffic shaper and also a local Debian mirror that was DNS-redirecting people to it from all the regular Debian mirrors people use at home. The hacklabs were also nice when the Debcamp started the second hacklab was lacking most tables and chairs, but when those arrived there was plenty of space. Other common issues such as access to a free switch port for people without wireless and access to power sockets were also handled well and fast. It was very nice that organisers always had a few spare power strips or a spare patch cable at hand. This year there was a siesta break in the proceedings. While it was in line with local traditions (take a several hour break during the hottest hours), it did not do much for the secondary stated reason to get out and see the surrounding, because half of the attraction of getting out (shops and bars) were all closed during the same siesta time. IMHO we should have used the great aircon of the venue and continued the talks from mid day to 18:00 (when the siesta ends) and then make a break until dinner so that we could go out and enjoy shops and bars and historic places during a cooler time of day. If there is a break in proceedings, then it should be at the time when people are most likely to enjoy the surroundings. I doun t know the schedules in NY, but if the museums close at 18:00, then there should be a break during the day to allow people to get to those museums. Food was there and it was there every day, but it was not particularly great. Aside from typical problems with vegetarians and vegans (even salads had pieces of meat in them), I did not find the food to be compelling most of the time. I do not like fish and there was a lot of fish. Mostly it was good fish and sometimes it was so well done that even I enjoyed eating it, but other times it was full of fish bones and/or tasteless. Too often the dinner consisted of a salad, a deep-fried piece of meat and spoonful of dry fries. It would not kill them to put more fries on the plate and have some kind of sauce for them. One thing that was great in food were the fruit deserts apples, oranges, peaches and nectarines were fresh and juicy and then there were melons! I typically hate melons because the ones I can get in shops in Latvia are dry and bitter, but the melons here were bursting with sweet juice heavenly stuff. In the future it would be nice if the food selection and amounts per portion could be checked and agreed upon with the caterer in advance. Also the timing should be adjusted it is too early to end breakfast at 10:00, especially with dinner starting at 21:30 there is way too little time to socialize with other people after dinner and then to get a decent sleep. Talks can start at 10:00, but breakfast should go up to 11! I did like the water bottles and wine jugs on the tables and the beer being served as part of the food that was a nice touch that many people enjoyed. The daytrip was a nice distraction in the middle of the conference a trip to a swimming pool made from a river bed blocked by a damn with an optional hike up a mountain to a spectacular cascade of natural water pools and slides that a river has carved in the solid rock or the mountain valley. Most people did the hike it was steep and hot and rocky, but the payout (the water fun) was there at the end, and it was great! Wonderful warm water and unexpectedly deep pools that both locals and us jumped into from rocks of differing heights. I am more of a climber than a jumper so instead of jumping off a cliff, I spidermanned up the cliff up from the water. I did not have any safety, but if I did fall I would have fallen into the water, so felt almost safe :) After the hike, the jumps and a hike back downhill we went into the buses and joined up with the people relaxing in the pool or in the bar right next to it. And after an hour or two later the day trip was over. While this was fun I would have preferred if after the hike we would have gone to some castle or other tourist attraction for more of a trip experience than sitting by a pool chatting. Formal dinner was another traditional thing that we did this year. We walked over to a restaurant overlooking the city, sat down at many different tables occupying most of the place and then the waiters brought us plates with bits of food. Each plate was basically a set of 4 snacks for 4 people a plate of cheese, a plate of ham cuts, a plate of steamed vegetables and a plate of grilled meat. After that was coffee and desert. In my opinion the grilled meat was overcooked, the vegetables were passable, 1 of 5 cheeses was great (the local soft speciality) while other were ok and the ham cuts were ok. Desert was average. In all I was neither impressed by the food nor filled by it. There was also entertainment a singer with two dancers. They ware way too loud, so loud in fact that police came and shut the performance down, I did get a few interesting photos but otherwise I did not like them. They came to our venue the next night to continue the performance, luckily it was in an isolated patio and did not disturb people sleeping. Wine and cheese party on the other hand was simply great this year there was a huge selection of wine and cheese as we were in the right part of the world for that. There were 7 tables full of cheese, wine and bread and also some extra stuff such as a barrel of peanuts and some great tea from Taiwan. People were walking around for hours eating cheese, cleaning the taste off with bread and wine, chatting and doing it all over again at another table. I left the patio at around 2am and there were still several dozen people around chatting, eating, drinking wine and tea. I m not sure how to get an event of similar size in NY as it is not allowed for travellers to bring cheese into US, only commercial import with an appropriate licence is allowed. I also have my praise for the video team, but I ll hold on to that and the feedback about the talks until I see the recordings of talks that I missed, so I can also recommend the must see recordings. All in all it was a great event meeting all the great Debian people again, coding some stuff, having fun and talking about the future of Debian in a more relaxed atmosphere than an IRC chat room. Debconf 9 was great, see you all next year at Debconf 10 in New York!

7 June 2009

Martin Meredith: I m impressed

My latest blog post about PPA Keys has had a few comments already. Having just returned from visiting my parents, I ve noticed an email asking me to approve a Pingback. The pingback was to a Portuguese site which had taken my post and written it into a tutorial. I ve got to say, my portuguese may not be up to scratch, but it s obvious that this is a well written tutorial. I m very impressed by this site, and the way that they ve written, and illustrated this tutorial. All I can say is, great site Claudio! Keep up the good work! Something like this site in English would be an asset to the ubuntu community. It s well thought out, and well written

Martin-&#201;ric Racine: When can we have a balanced and meaningful debate on immigration?

This question keeps on popping up in many recent newspaper articles, on discussion boards and in seminars debating immigration issues in Finland. At the core of the question is a general impression that, between the enthusiastic supporters of multiculturalism and the pessimistic nationalist rednecks, very little constructive discussion is possible in Finland. At one end, humanitarian help organizations, as well as politicians from the Green Party and the Swedish Folk Party, keep on taking excessively generous initiatives towards refugees and asylum seekers, all while labeling their detractors as racists. At the other end, nationalist candidates in the National Coalition Party and True Finns Party keep on painting every immigrant as a refugee who is abusing social security and label their detractors as turning Finland into the easiest country to abuse social security, at the Finnish taxpayer's expense. In between, candidates from the Christian Democrats and Center Party spread equally among these two camps. Meanwhile, while the Left is currently avoiding discussions on this topic, Social Democrats have previously shown that they tend to side with the nationalists in labeling all immigrants as social security abusing refugees. One interesting point is that, no matter at which end of the political spectrum one looks, the whole Finnish immigration debate keeps on focusing exclusively on refugees and asylum seekers, despite the fact that migrant workers and foreign spouses of Finnish nationals make up for a good 70% of the foreign population residing on Finnish soil. This recalcitrance to discuss immigration from any other perspective than refugees is rather painfully noticeable. Some recent examples: What's remarkable about all these examples is how public opinion is so persistently hardwired into thinking that all foreigners living in Finland came here as refugees from 3rd-world countries whose culture is radically different from Finland's and that they all became perpetually unemployed, forever living off social security, to the point that even politicians who ought to know better go along with it. When will we be able to have a balanced and meaningful debate on immigration, you ask? The day both multicultural hippies and nationalist rednecks will have been kicked off the podium. Of course, it would also help if the refugees themselves stopped monopolizing the podium, whenever the opinion of immigrants is solicited. Then again, perhaps these 3 groups benefit so much from the current status quo that they'd rather not see the day when others can participate in this debate on equal footing with them, so that a balanced and meaningful debate can finally take place?

Gunnar Wolf: Foldable Universo bike

Today I went to the La Merced area to finally buy a foldable bike. There were basically four options: Benotto's 20" Utopia, Alubike 16" Foldingbike, Alubike 24" and a custom-made bike at a smaller store, Bici Universo. In Mexico it is also possible to buy a Brompton, although they are not available in larger stores and their pricing is prohibitive. Sergio Mendoza advised me to look for the Dahon bikes at Benotto, but they have discontinued them in favor of their own making. I ended up buying the Bici Universo one. I must say this: I sincerely hope not to regret this option I got this bike because neither of the other ones satisfied me, and this one was at about two thirds the price (MX$1800, plus some extras I requested, MX$2100 That means, US$187 or 113). First of all, after thinking about it for a while, I decided I didn't want a larger, more normal wheel The Alubike 24 (which I'd have to build shopping piece by piece, as they had only the frame for sale Would be a good ocassion to learn more about the whole process!) is basically a great regular bike you can put in a regular car trunk, but is still too large for taking it into public transport or lugging along when travelling, by bus or by plane. Besides, the manubrium1 is not foldable. So it is basically as portable as this venerable Compaq. The Benotto's manubrium does fold, but the bike does not hold itself together when folded, it is not stable. You have to explicitly keep it folded. Not exactly comfortable. I had tested the smaller Alubike at another bike store closer to my home. It feels a bit freer than the Universo one (I'll get to it soon), but still feels a bit kludgy... And at a price about MX$1000 higher, I decided against it. Now, why am I wary with the Universo? Because after all... It is just a bike for kids age 4-7 and 7-12 (?) cut in half, and with a hinge soldered on: Bici Universo - 4 to 12 year old It is also a heavy bike (I have not weighed it yet, but comparative guesstimates puts it over the Alubikes), so it might be problematic when travelling... I'll see when in Nicaragua in a couple of weeks ;-) I have yet a couple of adjustments to make to it, but I am very looking forward to travelling with my bike on. I hope it turns out to be comfortable. And in any case, I can of course! donate it to my nephews... who are in the right age group. Some photos:
  1. 1. the word seems strange, but that's Google's suggestion The bar you take with your hands to steer the bike

Francois Marier: Reinstalling grub on an unbootable Debian system

Fixing an unbootable computer after a failed grub installation can be a bit tricky. Here's what I ended up doing.

First of all, boot the machine up and get access to the root partition:
  1. Get a Debian installation CD for the same architecture (i.e. don't use an i386 CD if your root partition is amd64). The distro version doesn't matter too much: a lenny CD will boot squeeze/sid just fine.
  2. Boot the install CD and select Rescue mode under Advanced options.
  3. Answer the language, keyboard and network questions any way you want and provide the decryption passphrases for any of the encrypted partitions you need to mount.
  4. When prompted, request a shell on the root partition.
If you need to upgrade the version of the grub package (for example if this problem was caused by a bug which is now fixed):
  1. Make sure that the network interface is up (ifup eth0).
  2. Make sure that /etc/resolv.conf has at least one nameserver line, otherwise add one.
  3. Install the latest version using apt-get or dpkg.
Now that you have the right grub version, run the following (with the right device name for your machine):
grub-mkdevicemap
grub-install /dev/hda
update-grub
Finally, reboot and cross your fingers :)

6 June 2009

Biella Coleman: OY Vey, Enid did you hear? Fieldwork is not

OOOI Vey: Fieldwork is not what it used to be! So, when I hear the title of this new book, I basically hear/see an old Jewish academic kvetching about the glory days of anthropology and fieldwork and complaining about his aching back. But that is just my mind in humorous mode as I am extraordinarily excited to read the book and pretty psyched that fieldwork is not what once was. Not only does the collection have a piece by one of my dissertation advisors but it has a motley collection of folks who basically helped push along anthropology to a better place. Most of them (in fact all of them, I think) had some connection to the Rice Anthropology department. Clearly something in the water and air makes folks from there hang tight with the experimental mode!

Biella Coleman: The penubra of privacy

Specific guarantees in the Bill of Rights have penumbras, formed by emanations from those guarantees that help give them life and substance. SC justices can be so poetic.

Biella Coleman: Commemorating Alice Ramsey!!

Alice s Drive from Bengt Anderson on Vimeo. My partner Micah is pretty good with his hands, well, so long as they are attached to a computer. Otherwise, he is a bit lost. His father, however, is a master craftsman, rebuilding old cars, making his own houses, you know, the sort of stuff that really puts me in awe. Thanks to his efforts, his family, notably his sister Emily Anderson, are about to kick off and commemorate Alice Ramsey who in 1909, did the unconventional, which is somewhat an understatement, and drove across the United States in what then was called a horseless carriage. Apparently, she loved to race cars and took that love to trek across what were really gnarly roads and earned the distinction as the first woman to do so. Using the same model (Maxwell Model DA) that Alice drove, one that Emily s Dad, Richard, restored (and it is the very last one in existence!), she will be starting off the drive in just a few days. The whole family is pretty involved, so Bengt Anderson is making a film (short clip featured above), Micah has helped with the website side of things, and the rents will be in the trailer (especially since Emily just had a baby). Anyhow, more to write about cars and this trip but thought some folks might be interested in following her across the US. I am super bummed I am not in NYC to watch her go, but I will be watching with a lot of excitement from the Internets!

Next.

Previous.