Jonathan Oxer
[Blog]
>> Looking for a junior Linux system administrator
Tue, Feb 27th 2:41pm 2007 >> Linux
Yay! Time to go a-hiring! I'm on the lookout for a junior Linux system administrator to work with me at IVT. The usual job-related guff is on our site: www.ivt.com.au/jobs.
Yay! Time to go a-hiring! I'm on the lookout for a junior Linux system administrator to work with me at IVT. The usual job-related guff is on our site: www.ivt.com.au/jobs.
>> Cloning part of a Subversion repo
Sun, Feb 25th 1:36pm 2007 >> Linux
At IVT we have a few different Subversion repos for different purposes, including a catch-all that's just called "software" which is used for whatever random stuff people want to put in there. Typically little helper scripts and that sort of thing. But every now and then one of those little throw-away things takes on a life of its own and grows into something more serious. That's happened a couple of times recently including with Release Monkey, which started out as a couple of helper scripts for package building but started getting a lot of attention (possibly because I wouldn't stop talking about it!) and we wanted to GPL it. We created a new repo for it, imported the code as it stood at the time, and made it accessible. But that sucks, because all of a sudden thousands of lines of code appear magically as revision 1 and all the history of why things were done in that particular way is lost, at least to the outside world who can't backtrack through our internal "software" repo to see the real history. So for Xen Image Manager I thought there had to be a better way: some way to extract the changes and history for just a specific subdirectory out of our "software" repo and use that to seed a new repo. Basically I wanted it to look exactly as if Xim had been developed in a dedicated repo right from the start. And of course someone has already done the hard work and created the tool to help do exactly that: svndumpfilter. Here's the recipe I used, just in case it's helpful to someone else. Start by getting a complete dump of the original repo:
At IVT we have a few different Subversion repos for different purposes, including a catch-all that's just called "software" which is used for whatever random stuff people want to put in there. Typically little helper scripts and that sort of thing. But every now and then one of those little throw-away things takes on a life of its own and grows into something more serious. That's happened a couple of times recently including with Release Monkey, which started out as a couple of helper scripts for package building but started getting a lot of attention (possibly because I wouldn't stop talking about it!) and we wanted to GPL it. We created a new repo for it, imported the code as it stood at the time, and made it accessible. But that sucks, because all of a sudden thousands of lines of code appear magically as revision 1 and all the history of why things were done in that particular way is lost, at least to the outside world who can't backtrack through our internal "software" repo to see the real history. So for Xen Image Manager I thought there had to be a better way: some way to extract the changes and history for just a specific subdirectory out of our "software" repo and use that to seed a new repo. Basically I wanted it to look exactly as if Xim had been developed in a dedicated repo right from the start. And of course someone has already done the hard work and created the tool to help do exactly that: svndumpfilter. Here's the recipe I used, just in case it's helpful to someone else. Start by getting a complete dump of the original repo:
$ svnadmin dump software > software.dump
Filter that dumpfile to extract just the subdirectory you want:
$ cat software.dump | svndumpfilter include xenimagemanager > xim.dump
You could just use that dumpfile and load it straight into a fresh repo if you want to, but if you're willing to get your hands dirty and tamper with the dumpfile it's possible to make the repo layout a bit neater and make it look like you had the foresight to put things in the right place the first time. In my case I had all the Xim code straight in a subdir in the repo instead of using sensible subdirs for trunk, tags, and branches, so I wanted to rename the existing subdir to "trunk".
Open up the dumpfile and look for the stanza that shows the subdir being added to the repo. In my case it looked like this:
Node-path: xenimagemanager
Node-action: add
Node-kind: dir
Prop-content-length: 10
Content-length: 10
I just renamed the Node-path value to "trunk".
Then go through the rest of the dumpfile and replace all path references ("%s/xenimagemanager/trunk/gc" did the job for me).
Now create a new repo to load everything into, and squirt in the dumpfile:
$ svnadmin create xim
$ svnadmin load xim < xim.dump
And you're done!>> Converting Linux Australia's Committee to a Board
Thu, Feb 15th 2:18pm 2007 >> Linux
Something that I think Linux Australia as an organisation needs to focus on this year is opening the way to broadening the base of personal involvement: not just as members, but also giving them the official stamp of approval to operate in Linux Australia's name on specific projects and tasks. We've obviously made a big move in this direction with Sub-Committees already, but I think we need to do more. There are a lot of people in our community who want to be involved in Linux Australia in a more tangible way or who really should get the official thumbs-up for things they are already doing, so let's clear the way for that to happen. After all, it's a community-driven association and it's only what we collectively make of it. That raises an issue of the role of the primary Committee. I believe that the Committee needs to be re-invented with more of a "Board" identity so that it won't continue to be seen as the only way for people to operate officially in the name of Linux Australia. Our Sub-Committee structure was introduced to help rectify that problem and it's certainly helped, but the distinction between Committee as governance and Sub-Committees as execution is still a little blurred. Linux Australia is now organisationally mature enough and has enough participation through those Sub-Committees that we can take the next step: we need to face the whole governance / execution delineation problem once and for all, placing the role of governance clearly on the Committee and execution on Sub-Committees. The way to take that logical step is to amend the constitution to replace the current Committee with a Board. Even with no other changes than "s/Committee/Board/" applied to the constitution this would help the situation somewhat because it would make the respective roles very obvious and clear the way for "upgrading" existing Sub-Committees to Committees. Basically the current "Committee" would become the "Board", and current "Sub-Committees" would become "Committees". Something that I want to make very clear at this point though is that I am acutely aware that Linux Australia is a community-driven organisation, and that I have absolutely no intention of setting up a structure which would allow a Board of unnaccountable old-boys to sit in splendour gathering dust for the rest of their days. Unlike in many other organisations I see the Linux Australia [Committee|Board] as representatives of the community and so they have to stay accountable to the community. This change is about enabling more community involvement, not less. So just renaming "Committee" to "Board" and making no other changes would be a good start. However, what I have in mind is to go a bit further and also remove the Treasurer and Secretary positions as elected positions, leaving an annually elected 7-seat Board consisting of the President, Vice-President, and 5 Members. The positions of Treasurer and Secretary can then be filled by any selected member of the Board rather than having a specific person voted into that position. This provides more flexibility to do things like switch roles mid-term if individual members find that they are unable to adequately fulfil the role, or even if it just seems logical to do so due to changing interests etc. For example, there have already been discussions that Terry and AJ as Treasurer and Secretary would like to role-swap part way through this year. Under the current constitution where individuals are elected to those specific positions that may not even be possible. To remain in keeping with standard practise in other organisations we could even replace President with Chair[man|woman|person] and either drop the Vice-President position or replace it with Vice-Chairman. In fact it's usual in other organisations for even the Chairman not to be an elected position specifically, but for a member of the Board to be selected for that position by the other Board members. Even though that's the usual way things are done, I believe it would be the wrong thing to do in the context of Linux Australia: keeping as much control in the hands of members as possible is a good thing, including selecting who will be the President / Chairperson / Head Cheerleader or whatever other label people want to attach. It's also fairly usual for Boards to be self-perpetuating and to decide internally who should be invited to join them, but that too would be anathema in the context of Linux Australia. As I said previously, I don't want an old-boys club. What I *do* want is a structure that enables the organisation to continue to grow and accommodate the steadily increasing interest in *active* participation. So, to summarise: I think we need to reinvent the Committee so that the labels, the role perception, and the process more accurately reflect what we're working towards becoming. That means renaming it to "Board", replacing President (and Vice) with Chairman (and Vice), removing Treasurer and Secretary as elected positions, and promoting Sub-Committees to Committees. Both the election process and the level of accountability would remain unchanged. That then clears the decks to really ramp up participation in Linux Australia through Committees and let people feel they are first-class members of the organisation. We've been growing steadily on a variety of different metrics for a number of years now but I'd like to see things really kicked into top gear this year and see how far we can take it.
Something that I think Linux Australia as an organisation needs to focus on this year is opening the way to broadening the base of personal involvement: not just as members, but also giving them the official stamp of approval to operate in Linux Australia's name on specific projects and tasks. We've obviously made a big move in this direction with Sub-Committees already, but I think we need to do more. There are a lot of people in our community who want to be involved in Linux Australia in a more tangible way or who really should get the official thumbs-up for things they are already doing, so let's clear the way for that to happen. After all, it's a community-driven association and it's only what we collectively make of it. That raises an issue of the role of the primary Committee. I believe that the Committee needs to be re-invented with more of a "Board" identity so that it won't continue to be seen as the only way for people to operate officially in the name of Linux Australia. Our Sub-Committee structure was introduced to help rectify that problem and it's certainly helped, but the distinction between Committee as governance and Sub-Committees as execution is still a little blurred. Linux Australia is now organisationally mature enough and has enough participation through those Sub-Committees that we can take the next step: we need to face the whole governance / execution delineation problem once and for all, placing the role of governance clearly on the Committee and execution on Sub-Committees. The way to take that logical step is to amend the constitution to replace the current Committee with a Board. Even with no other changes than "s/Committee/Board/" applied to the constitution this would help the situation somewhat because it would make the respective roles very obvious and clear the way for "upgrading" existing Sub-Committees to Committees. Basically the current "Committee" would become the "Board", and current "Sub-Committees" would become "Committees". Something that I want to make very clear at this point though is that I am acutely aware that Linux Australia is a community-driven organisation, and that I have absolutely no intention of setting up a structure which would allow a Board of unnaccountable old-boys to sit in splendour gathering dust for the rest of their days. Unlike in many other organisations I see the Linux Australia [Committee|Board] as representatives of the community and so they have to stay accountable to the community. This change is about enabling more community involvement, not less. So just renaming "Committee" to "Board" and making no other changes would be a good start. However, what I have in mind is to go a bit further and also remove the Treasurer and Secretary positions as elected positions, leaving an annually elected 7-seat Board consisting of the President, Vice-President, and 5 Members. The positions of Treasurer and Secretary can then be filled by any selected member of the Board rather than having a specific person voted into that position. This provides more flexibility to do things like switch roles mid-term if individual members find that they are unable to adequately fulfil the role, or even if it just seems logical to do so due to changing interests etc. For example, there have already been discussions that Terry and AJ as Treasurer and Secretary would like to role-swap part way through this year. Under the current constitution where individuals are elected to those specific positions that may not even be possible. To remain in keeping with standard practise in other organisations we could even replace President with Chair[man|woman|person] and either drop the Vice-President position or replace it with Vice-Chairman. In fact it's usual in other organisations for even the Chairman not to be an elected position specifically, but for a member of the Board to be selected for that position by the other Board members. Even though that's the usual way things are done, I believe it would be the wrong thing to do in the context of Linux Australia: keeping as much control in the hands of members as possible is a good thing, including selecting who will be the President / Chairperson / Head Cheerleader or whatever other label people want to attach. It's also fairly usual for Boards to be self-perpetuating and to decide internally who should be invited to join them, but that too would be anathema in the context of Linux Australia. As I said previously, I don't want an old-boys club. What I *do* want is a structure that enables the organisation to continue to grow and accommodate the steadily increasing interest in *active* participation. So, to summarise: I think we need to reinvent the Committee so that the labels, the role perception, and the process more accurately reflect what we're working towards becoming. That means renaming it to "Board", replacing President (and Vice) with Chairman (and Vice), removing Treasurer and Secretary as elected positions, and promoting Sub-Committees to Committees. Both the election process and the level of accountability would remain unchanged. That then clears the decks to really ramp up participation in Linux Australia through Committees and let people feel they are first-class members of the organisation. We've been growing steadily on a variety of different metrics for a number of years now but I'd like to see things really kicked into top gear this year and see how far we can take it.
>> Standards Australia asks for expert assistance regarding Microsoft application
Thu, Feb 15th 11:13am 2007 >> Linux
Dan Shearer just told me about a request from Standards Australia (see PDF) for "technical expert" input into Microsoft's application for fast-track ratification of the "Office Open XML" format. What? Microsoft wants ratification of Open Office's XML-based document format as a standard? No, read it again: that's *not* the OOo / ODT format! It's just another of their "muddying the waters" moves: dress up the next version of .DOC with a name that's confusingly similar to ODT, then get it ratified as a standard to bypass all the recent "we'll only allow ratified standard document format" policies being introduced around the world to allow entry of ODT into government departments. Standards Australia looks to be very much on our side with this issue but they need our help. They're objecting to the fast-track proposal and requesting clarification on a number of points, so this is our chance to submit expert testimony to support Standards Australia's objections. If open formats are as important to you as open source then please contact Standards Australia and offer your input into Microsoft's application. There's not much time because Microsoft requested a fast-track process (I wonder why?) when they submitted the 6000 page application for assessment. OK people. You know what to do. Sic em!
Dan Shearer just told me about a request from Standards Australia (see PDF) for "technical expert" input into Microsoft's application for fast-track ratification of the "Office Open XML" format. What? Microsoft wants ratification of Open Office's XML-based document format as a standard? No, read it again: that's *not* the OOo / ODT format! It's just another of their "muddying the waters" moves: dress up the next version of .DOC with a name that's confusingly similar to ODT, then get it ratified as a standard to bypass all the recent "we'll only allow ratified standard document format" policies being introduced around the world to allow entry of ODT into government departments. Standards Australia looks to be very much on our side with this issue but they need our help. They're objecting to the fast-track proposal and requesting clarification on a number of points, so this is our chance to submit expert testimony to support Standards Australia's objections. If open formats are as important to you as open source then please contact Standards Australia and offer your input into Microsoft's application. There's not much time because Microsoft requested a fast-track process (I wonder why?) when they submitted the 6000 page application for assessment. OK people. You know what to do. Sic em!
>> Linux Australia server back on the air
Thu, Feb 15th 10:55am 2007 >> Linux
The primary LA server ("Digital") is now back on the air, although in a rather different form: instead of a physical machine in Perth it's now a virtual machine in Melbourne thanks to the hard work of the admin team and server resources/bandwidth donated by Internet Vision Technologies. We'd planned to do a nicely scheduled migration and I'd already started copying content off the old machine, but then circumstances forced an, umm, "emergency" migration before we were quite ready, so huge thanks to: * Gary Allpike, who physically retrieved the old LA server at 3am when it looked like we had to "move it or lose it". * Anand Kumria, who figured out a problem with Exim4 and TLS on the virtual machine and recompiled Exim so you could all get your mailing list fixes again - all while on an overseas trip. * Andrew Pollock, who got home from a ski trip to discover that things had gone pear-shaped in his absence and then ran around fixing things like DNS. Thanks guys! You're champions. There are still bits of content missing from some sites because we didn't quite get it all off the old box in time, but when we can get the old server reconnected we'll clean that up. No content has been lost, it's just on a disk that's inaccessible at the moment. There are also some secondary domains that will need sorting out but by and large we're back on the air.
The primary LA server ("Digital") is now back on the air, although in a rather different form: instead of a physical machine in Perth it's now a virtual machine in Melbourne thanks to the hard work of the admin team and server resources/bandwidth donated by Internet Vision Technologies. We'd planned to do a nicely scheduled migration and I'd already started copying content off the old machine, but then circumstances forced an, umm, "emergency" migration before we were quite ready, so huge thanks to: * Gary Allpike, who physically retrieved the old LA server at 3am when it looked like we had to "move it or lose it". * Anand Kumria, who figured out a problem with Exim4 and TLS on the virtual machine and recompiled Exim so you could all get your mailing list fixes again - all while on an overseas trip. * Andrew Pollock, who got home from a ski trip to discover that things had gone pear-shaped in his absence and then ran around fixing things like DNS. Thanks guys! You're champions. There are still bits of content missing from some sites because we didn't quite get it all off the old box in time, but when we can get the old server reconnected we'll clean that up. No content has been lost, it's just on a disk that's inaccessible at the moment. There are also some secondary domains that will need sorting out but by and large we're back on the air.
>> 29 stinking hours
Fri, Feb 9th 8:17am 2007 >> Linux
29 stinking hours. That's how long I wasted trying to track down a stupid networking problem that occurs sometimes when converting Debian / Ubuntu / etc servers to Xen virtual machines. 2.9 seconds. That's how long it took to fix the actual problem once I figured out what it was. And to hopefully save other people the same grief in future, if you have an existing machine and you convert it to a Xen image by duping the disk into a separate partition or loopback device or whatever, and you see messages like "Eth0: Device not found" when you try to start networking, have a look for a file called "/etc/iftab". Open it. Delete the entry for eth0. Restart networking. Watch in amazement as it Just Works. Bang your head on the desk for a while: I find about 7 or 8 times is usually enough to make me forget the anguish of losing 29 hours of my life.
29 stinking hours. That's how long I wasted trying to track down a stupid networking problem that occurs sometimes when converting Debian / Ubuntu / etc servers to Xen virtual machines. 2.9 seconds. That's how long it took to fix the actual problem once I figured out what it was. And to hopefully save other people the same grief in future, if you have an existing machine and you convert it to a Xen image by duping the disk into a separate partition or loopback device or whatever, and you see messages like "Eth0: Device not found" when you try to start networking, have a look for a file called "/etc/iftab". Open it. Delete the entry for eth0. Restart networking. Watch in amazement as it Just Works. Bang your head on the desk for a while: I find about 7 or 8 times is usually enough to make me forget the anguish of losing 29 hours of my life.
>> Linux Australia services migrating to new server
Wed, Feb 7th 3:18pm 2007 >> Linux
Over the next day or so the services provided by Linux Australia's stalwart but tired server, Digital, will be transitioned to a new platform in Melbourne thanks to HP's kind donation of a funky new DL385. We hope the transition will go smoothly and that you will be able to keep getting your regular fix of the mailing lists, planet.l.o.a, website, etc, but if you notice something odd going on please don't stress: it's all under control. We hope.
Over the next day or so the services provided by Linux Australia's stalwart but tired server, Digital, will be transitioned to a new platform in Melbourne thanks to HP's kind donation of a funky new DL385. We hope the transition will go smoothly and that you will be able to keep getting your regular fix of the mailing lists, planet.l.o.a, website, etc, but if you notice something odd going on please don't stress: it's all under control. We hope.
>> Wasting telemarketers' time
Wed, Feb 7th 10:14am 2007 >> Bad People
Russell blogged about asking a telemarketer to wait and then putting the phone down until they hung up: his particular telemarketer lasted 8 minutes 20 seconds. We used to have a guy working here who would do almost the same thing. When he'd get a telemarketing call asking for someone in the company he'd say "sure, I'll transfer you now" and put them on hold, then just go back to whatever he was doing. A few minutes later the phone system would complain that the caller was still on hold so he'd pick it up again, say "they'll be with you soon", and put them back on hold. He'd just keep doing that until they gave up and went away. He had other tactics as well and he'd often have us listening over his shoulder and crying with laughter while he made telemarketers jump through ridiculous hoops. The basic economics of telemarketing are quite similar to spam: they're working on the basis of making a certain number of calls per hour, some of which convert to leads, some of which then convert to sales. The number drops off massively at each conversion point so the trick is to maximise the initial figure of calls per hour per staff member, and any delay that can be injected into the early part of the cycle has a flow-on effect that increases their final cost per sale. Spammers obviously work on the same principle: cost approaching zero per initial message with an extremely low response rate. Increasing the cost per initial message even a tiny amount would make it uneconomical to spam, which is the basis for proposals such as introducing a tiny charge per email sent to make spamming too expensive to sustain while making it cheap enough that people sending legitimate messages don't care.
Russell blogged about asking a telemarketer to wait and then putting the phone down until they hung up: his particular telemarketer lasted 8 minutes 20 seconds. We used to have a guy working here who would do almost the same thing. When he'd get a telemarketing call asking for someone in the company he'd say "sure, I'll transfer you now" and put them on hold, then just go back to whatever he was doing. A few minutes later the phone system would complain that the caller was still on hold so he'd pick it up again, say "they'll be with you soon", and put them back on hold. He'd just keep doing that until they gave up and went away. He had other tactics as well and he'd often have us listening over his shoulder and crying with laughter while he made telemarketers jump through ridiculous hoops. The basic economics of telemarketing are quite similar to spam: they're working on the basis of making a certain number of calls per hour, some of which convert to leads, some of which then convert to sales. The number drops off massively at each conversion point so the trick is to maximise the initial figure of calls per hour per staff member, and any delay that can be injected into the early part of the cycle has a flow-on effect that increases their final cost per sale. Spammers obviously work on the same principle: cost approaching zero per initial message with an extremely low response rate. Increasing the cost per initial message even a tiny amount would make it uneconomical to spam, which is the basis for proposals such as introducing a tiny charge per email sent to make spamming too expensive to sustain while making it cheap enough that people sending legitimate messages don't care.
1 of 2 >
[ Back to top ]
