Search Results: "spa"

19 June 2007

Scott James Remnant: Hiding arguments from ps

There are many articles on the Interwobble telling you how to set the process title on Linux; they all concentrate on the problem of placing an arbitrarily long string in argv[0] to report status information in the process list. But what if argv[0] is fine, and what you want to do is remove the following arguments from the process list? Perhaps they contain sensitive information, or perhaps they’re just likely to be surprising. A fictional example may look like this (I’ve added the $ to demonstrate a later problem):
11234 ?        S      0:00 some-program --username=foo --passphrase=bar$
How not to do it The first thing you’ll probably try is just setting those arguments in the argv list to NULL. For example, with code like this:
for (i = 1; i < argc; i++)
    argv[i] = NULL;
That won’t work because that array is just a list of pointers to the real area in which the arguments are stored, and is local to your main function. Modifying it has no effect what ps and similar see. The next thing you might try, as a C programmer, is setting the first character of each argument to a NULL byte. It’s not unreasonable to assume that these strings are likely to be NULL-terminated. You might use code like:
for (i = 1; i < argc; i++)
    strcpy (argv[i], "");
But that doesn’t seem to work either, in fact, what you get in the process list is something rather odd and unexpected!
    11234 ?        S      0:00 some-program  -username=foo  -passphrase=bar$
All that’s done is lost the first character of each argument. In frustration, you might try overwriting the entire argument with NULL bytes, e.g.
for (i = 1; i < argc; i++)
    memset (argv[i], '\0', strlen (argv[i]));
Checking the process list, that will have seemed to have worked…
    11234 ?        S      0:00 some-program                                $
On closer inspection though, it’s not perfect. You’ll notice that the line ends with spaces in place of where the arguments used to be. If the number or length of arguments you’re trying to hide is particularly long, you can end up with strange blank lines in ps output. Not ideal. Why this happens To understand why this happens, we need to understand how the kernel reports the command line to ps. ps reads the /proc/PID/cmdline file, with contains the entire command line as a single character array, with each argument terminated by a NULL byte. Looking at it with od -t c, we see something like:
0000000   s   o   m   e   -   p   r   o   g   r   a   m  \0   -   -   u
0000020   s   e   r   n   a   m   e   =   f   o   o  \0   -   -   p   a
0000040   s   s   p   h   r   a   s   e   =   b   a   r  \0
When we changed just the first character to a NULL byte, we ended up with:
0000000   s   o   m   e   -   p   r   o   g   r   a   m  \0  \0   -   u
0000020   s   e   r   n   a   m   e   =   f   o   o  \0  \0   -   p   a
0000040   s   s   p   h   r   a   s   e   =   b   a   r  \0
ps is just assuming that \0 represents any argument gap, so outputs an ordinary space character every time it encounters one. This is why the first character of each argument appeared to be replaced by a space, and the rest were still printed. When we overwrite the arguments, we ended up with:
0000000   s   o   m   e   -   p   r   o   g   r   a   m  \0  \0  \0  \0
0000020  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
0000040  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
Writing all those zeros didn’t change the length of the command line character array, so ps got all those NULLs and output a space character for each one, assuming it was an argument break. What we need to is decrease the length of this character array, so ps only sees the first argument. How to do it The kernel maintains internal pointers to the start and end of the arguments array in the process address space. When you ask for the cmdline file in /proc, it replies with all of the characters between these two positions and a length of the difference. The kernel doesn’t provide us with any method of moving this pointer, so we’d initially appear to be stuck. However there turns out to be a very nasty solution. In order to support processes changing their title, the kernel has to support the arguments possibly overrunning into the environment space. If it thinks this has happened, it concatenates the environment space onto the end of the buffer and returns the entire area with the length set to the length up to the first NULL byte. All we need to do is fool the kernel into thinking we’ve overrun into the environment space, it’ll then just call strlen on the arguments list and return only the first argument; exactly what we want! What technique does the kernel use for deciding whether or not the arguments have overrun into the environment space? It checks whether the final character in the argument space is NULL or not. Thus paradoxically, to hide the argument list from ps, we remove the NULL …
if (argc > 1)  
    char *arg_end;
    arg_end = argv[argc-1] + strlen (argv[argc-1]);
    *arg_end = ' ';
 
The check against argc is necessary, as we don’t want to remove the NULL character on the end of argv[0] as that would cause the first environment variable to be inadvertently concatenated. Now when we look at ps, we see just the program name:
    11234 ?        S      0:00 some-program$
And even when we look in /proc/PID/cmdline, we only see the program name and no additional arguments.
0000000   s   o   m   e   -   p   r   o   g   r   a   m  \0

Anthony Towns: Chatting about the CDDL

Just prior to the “State of the Coffee Cup” talk on Sunday, Tom Marble sent a quick invitation to Steve Langasek, Sam Hocevar and myself to have a chat with Simon Phipps about the CDDL and some of the concerns that have been raised on the debian-legal list lately – particularly about choice of venue. Unfortunately in the ten or fifteen minutes between the mail and the meeting, we couldn’t find Sam, but we managed to grab Don Armstrong to join in instead. It’s a couple of days later, and I’m going from memory, not notes, so this is paraphrasing. Simon’s primary concern was one of predictability – Debian accepted the Mozilla Public License back when it was released (and prior to Mozilla and other software tending to get dual licensed under the GPLv2) which is what the CDDL was based on and contains almost the exact same terms. Simon’s comment was that if you’ve accepted that then, reviewing new licenses from scratch and coming up with different results really makes it hard to work with you, and worse makes it look like you’re basing your conclusions more on who proposed the license rather than what the license actually says. Don and Steve seemed to mostly appreciate that point, but still thought that choice of venue was harmful and unnecessary, and that it’d be nice if Sun – as pretty much the primary organisation currently behind any of these licenses – would take some steps to reduce that harm: limiting choice of venue to when both parties in a dispute are multinational, for example. Simon’s concern there was that updating the CDDL would require a lot of effort internally – getting buy in from all the groups in Sun using the CDDL, as well as getting the wording changes approved from the appropriate legal advisors, and convincing the lawyers of Sun’s commercial partners that the changes weren’t going to be a problem later; and committing to all that work when a new versions of the GPL is about to be released and it might be a better thing to work on getting the relevant software available under that, or even the GPLv2. On the other hand, Simon thought that making (binding) statements about Sun’s interpretation of the license seemed to (eventually) work reasonably well for the DLJ, so might be something that can be done again for this issue. And while that only counts for Sun, we can fairly easily ask if other authors of CDDLed stuff agree with Sun’s interpretation for their software, and only worry about possible problems if it turns out they don’t. That’s pretty much where we ended up I think, with Simon suggesting that we work out what exactly needs to be clarified with Tom, and then get it passed back up to Simon to get signed-off on. And hopefully that’s what’ll happen over the next little while. :) (The somewhat more interesting question of whether we can combine CDDL’ed OpenSolaris (in particular Solaris libc) with GPLed userspace tools such as dpkg to produce a Debian OpenSolaris distro is still up in the air – Sam’s currently waiting on a response from the FSF legal team on one of the questions that concerns Debian, aiui; but they’re currently flat out working on GPLv3 as you might imagine. Oh well – in the meantime, there’s always Nexenta!)

Joerg Jaspert: DebConf7 - Blogging from the Cabal Secret Headquarters

I’m now already 9 days in Edinburgh (started writing this at day 5 already :) ), and all of them have been days of “get up at 8h, breakfast, goto Teviot, work until 23h, go back to Hostel”, with some short breaks in Teviots Bar and for Lunch/Dinner. Sounds stressful but actually was (mostly) a lot of fun, preparing the network, setting up all the core servers together with two other admins while at the same time getting a lot of request to change various parts of our Conference Management System Pentabarf to fit some peoples need at various places. The airline managed to get me to EDI, together with a few other Debian people on Friday, 8th June, around noon, where Mark (mhy) Hymers did wait already, so I didn’t need to take a bus to get into the town. On the way to Teviot I also remembered some of the places from back when we did the Venue visit for the DC7 decision. But not many, of course one forgets a lot over the time. At least I was able to remember some food places, which is always a good sign. :) At Teviot we met with Stephen (sgran) Gran to (unsorted list) have some food, unload the car, think about the way to get our uplink to our server room, check into the hostel - and whatever else we did at that day. Next day, officially called Setup day, we started to get two cables from our server room to the place our uplink is - you can see them if you go to the left site of Teviot. (The other two got there a bit later). After that we started with the setup of the network, which is pretty nice this year. We have a lot of sponsored machines that are doing various tasks, a nice network layout involving a lot of vlans to seperate stuff and a lot of (good) crack. What, you dont want to listen to boring details? Ok, here they come: - The main machine is, again, called Homer. Connected with a 2Gbit link to our master switch. It does those little things noone needs, like firewall, local mirror, dns, nagios, routing between various nets we have here, the schedule bot, etc. - There is also a Marge, who is the central point for the whole wireless network, running chillispot to have authentication for it. - Barney is used as a storage server for the video team, having some 1.5TB (raid5) space for the video data. It has 2 additional disks, 500G each, to copy data on and get them home to a video team after the conference. - Our streaming master machine at DC7 is called Lisa, and does not more than streaming for all the local clients and sending the stream out to our streaming master somewhere in the internet which then relays it to our streaming servers kindly offered by a lot of admins all over the world. - We also have Bart and Maggie, which serve as public build boxes for the attendees, where Maggie even runs a distcc open to the whole local network. - You can add the same amount of servers to this list which all do various tasks for the video team. This stuff is all glued together by a set of managed switches building our core backbone, running a number of vlans to seperate the different network segments. Which actually works quite nicely, as even at the time some expert managed to plug a cable into the same switch twice (yay, loop) - the only affected network part was that where he was in. The rest of the conference didn’t even notice it - until all of the admins jumped out of the admin room at once, looking for that fuckup. :) Sounds like crack? Probably is, but is a nice setup all together, and it was fun to set it all up together with Mark and Stephen, the two main admins for this conference who designed most of the whole structure and are the ones that really know it. I already “volunteered” them for the next DebConf to help as admins and really hope they decide to do it. Later on during DebCamp we also had Peter (weasel) Palfrader joining the local admin team. His main work here is related to the video team by hosting the geodns setup for the streaming and by running a local nagios to check the things we need to check. This enabled us to simply tell everyone Use streams.video.debconf.org:8000 wherever you are and you will get to the right server for you. Explaining this in a short way basically goes as “a monitoring tool keeps track of which servers are up and only enables them to resolve. Our geodns server then replies with the right server IPs, depending on in which region of the world you are.”. Which means streams.video.debconf.org will resolve to the local streaming server lisa while you are here, at the same time resolve to a number (those that are up) servers in Europe if you are in Europe or to those in the US if you are there. Nice. (And while I’m already blogging - I do hate my laptops suspend, err - I mean non-suspend mode. Somehow it got worse in the last days, sometimes needing multiple minutes (like 10) to decide to suspend to disk, and the suspend-to-ram still wont work. I should really get someone here that knows this stuff having a look at it. :) ).

Pierre Habouzit: bugzillas

Dear Gustavo, yes KDE bugzilla needs a user agent and the curious things you get are from the time where KDE used debbugs to track their bugs. FWIW I've been scripting for bts-link on many bugzillas installations, and KDE one is one of the oldest bugzilla around (which is a pain for many reasons I wont elaborate about here). But AFAICT, the User-Agent: restriction is quite common. It's a usual thing that you need to have a proper 'Accept: */*' line as well. Some bugzilla have such complicated sets of restrictions I've not been able to deal with, that bts-link spawns wget to fetch pages sigh.

Paul van Tilburg: Debconf Debian/Ruby Extras Meeting

The Debian/Ruby Extras team has come to an agreement about a meeting time and date, yay! We’re going to meet today, Tuesday June 19, 2007 and discuss current packaging issues, plans for the future, and the Ruby policy. I’m delighted that half of the members of the team are here and are able to get together. Invitation If anyone is interested in joining the team or observing what we do, please meet us at 18:00 in front of the cafeteria. Oh, and could somebody at least bring a computer, because my PowerBook is not as portable anymore as it used to be. Update: I forgot to mention that most team members usually hide out on IRC in the #debian-ruby channel on OFTC.

Joey Hess: night venue/ept

Hmm, it's funny to be asked to blog about something. By mupltiple people. I could talk about an old church filled with a 100+ geeks, an organ played by Keith Packard, wine and cheese from all over the world, etc, but ok, I'll bite: Now that I got it working, Enrico's ept-cache is pretty neat. It found a lot of odd cruft on my laptop, along with some packages you probably don't know about that I'd be happy to chat about. termnet - Simple Telnet replacement for termnetd
grunt - Secure remote execution via UUCP or e-mail using GPG
longrun - Transmeta Crusoe LongRun control utility
iconc - Compiler for Icon, a high-level programming language
dbacl - digramic Bayesian text classifier
icont - Interpreter for Icon, a high-level programming language
bogl-bterm - Ben's Own Graphics Library - graphical terminal
intercal - an INTERCAL de-obfuscator
geotoad - geocaching query tool
libnet-openid-consumer-perl - library for consumers of OpenID identities
libapm-dev - Library for interacting with APM driver in kernel
libtextwrap-dev - text-wrapping library with i18n - development files
libklibc-dev - kernel headers used during the build of klibc
fuzz - stress-test programs by giving them random input
libdebconfclient0-dev - Development files for cdebconf
libslang2-pic - The S-Lang programming library, shared library subset kit
libnewt-pic - Not Erik's Windowing Toolkit, shared library subset kit
gnats-user - The GNU problem report management system (client tools)
libdebian-installer4-dev - Library of common debian-installer functions
mailfilter - A program that filters your incoming e-mail to help remove spam
buici-clock - attractive desktop clock)
atari800 - Atari emulator for X/curses/SDL
hercules - System/370, ESA/390 and z/Architecture Emulator This does make for fun conversations..

18 June 2007

Pablo S. Torralba: IPMI

IPMI stands for "Intelligent Platform Management Interface", an interesting feature deployed on nowadays servers. I can't forget that question I made some months ago about an extra ethernet port on the IBM server machines we were working with on those days. The answer was quite simple: it is almost of no use at all; at most you can get some stats and diagnostics but it is mainly intended for hardware technicians.

Liars (or ignorants)! Anyway, it is quite useful. It is the IPMI port which can be used for several managements actions (even from the running system) such as power cycle the machine, get some stats, establish a watchdog interface and the like.

Uses?, are they need to be told?. As a first glance you can get reports about the machine from the operating system itself without the need of physical access to the datacenter. You can also restart a machine which is failing to reboot by itself in case you can login one more time in the system. But... even more, you can do all that (and more) from a remote system (don't exhitate, it is password protected, at least, in case you configure it so). So the next obvious uses are for cluster fencing and stonith (shot the other node in the head) without the need of power control hardware.

It is a pity we didn't knew that when we configured the SAP cluster in my previous job despite the serial cable almost did it work. Sure Mr Navas will be interested in knowing about this technology :-)

Oh, a simple example:

# ipmitool -I open chassis status
System Power : on
Power Overload : false
Power Interlock : inactive
Main Power Fault : false
Power Control Fault : false
Power Restore Policy : always-off
Last Power Event :
Chassis Intrusion : inactive
Front-Panel Lockout : inactive
Drive Fault : false
Cooling/Fan Fault : false
Sleep Button Disable : not allowed
Diag Button Disable : allowed
Reset Button Disable : not allowed
Power Button Disable : allowed
Sleep Button Disabled: false
Diag Button Disabled : true
Reset Button Disabled: false
Power Button Disabled: true


Another one:

ipmitool -I open chassis power reset

Ooooooops. Next post after crash :-)

Evan Prodromou: 29 Prairial CCXV

I had a great Father's Day weekend with Maj and Amita June. On Friday afternoon, I spent a couple of hours with Patrick Tanguay to visit potential locations for the incipient Montreal coworking space. We saw a great space near the Provigo on Mont Royal and Clark; there's a definite premium for the location, which has to be weighed against the cost of other places. Then Maj and AJ and I drove up to Mont Tremblant National Park. Mont Tremblant is a beautiful park in the Laurentides a few hours north of Montreal. It's best known for the large ski resort in the town of Mont-Tremblant, but the park area is a real draw on its own. We camped in the Lac Monroe area, in the Secteur du Diable (closest to the resort). We spent most of the weekend on the beach at the lake, swimming and wading. Amita June is definitely hitting her stride as a water baby; she wailed like a banshee any time we left the beach. It was great to stretch our camping legs. Quebec is a great place to live if you like camping. There are lots of good national parks (both Quebec and Canadian) and wildlife reserves. The countryside is a beautiful mix of meadows and eastern temperate forest, and the facilities are of a uniform high quality. Also, the parks aren't particularly crowded, even on holiday weekends. Downsides? The bugs. There are blackflies and deerflies that leave gigantic welts and sometimes draw blood. We spend a lot of time slathering on highly-poisonous insect repellent and still get really bit up. The other thing is the short camping season; many campgrounds don't open for camping until June and close up in September. We woke up to rain on Sunday morning, but it cleared pretty quickly, so we were able to leave in the sunshine. We stopped in Mont-Tremblant on the way home yesterday for a nice Father's Day brunch. Amita June obliging fell asleep in the car, and we had a quiet ride home. Yesterday evening, we went to Piknic for a few hours, and had a great time. There was one of those moon-walk bouncy rooms, which Amita loved. What did I get for Father's Day? Well, the camping trip, of course, plus an IOU for a new BBQ. My old table-top one got a leak in its propane valve during the move, so I'm taking that as a signal to upgrade, and Father's Day is a good time for it. tags:

Bad things happen to good people I've been following with interest Biella Coleman's trials and tribulations with the Blue Cross Blue Shield Horizon of New Jersey. Apparently Biella had some dermatological surgery, and the insurance company is not paying up, citing a pre-existing condition. I wonder if they pay out on any dermatological work, since probably all of their customers have skin when they sign up. Biella's extremely resourceful (she doesn't have "healthhacker.org" for nothing) and was able to find a way to put pressure on her insurance company: by filing a complaint with the Department of Insurance. But the most interesting part of the story is that after complaining in her blog, Biella got an email from the Public Relations director of Blue Cross/Blue Shield. Kind of interesting to note which companies are keeping an eye on the blogs, and which aren't. What does it all boil down to? Not much yet, apparently. She's still fighting with the company over whether and how much they'll pay -- although having the PR Director intercede on her behalf has opened some doors. I'm going to continue to follow with interest. tags:

BarCampBlackRockCity I just read a Twitter message from Chris Messina about BarCampEarth, and I'm thinking: I'll probably be in Black Rock City at that point. Does a BarCampBlackRockCity make any sense? And then the other side of my head says: no, it does not. tags:

17 June 2007

Joerg Jaspert: DebConf7 - Blogging from the Cabal Secret Headquarters

I’m now already 9 days in Edinburgh (started writing this at day 5 already :) ), and all of them have been days of “get up at 8h, breakfast, goto Teviot, work until 23h, go back to Hostel”, with some short breaks in Teviots Bar and for Lunch/Dinner. Sounds stressful but actually was (mostly) a lot of fun, preparing the network, setting up all the core servers together with two other admins while at the same time getting a lot of request to change various parts of our Conference Management System Pentabarf to fit some peoples need at various places. The airline managed to get me to EDI, together with a few other Debian people on Friday, 8th June, around noon, where Mark (mhy) Hymers did wait already, so I didn’t need to take a bus to get into the town. On the way to Teviot I also remembered some of the places from back when we did the Venue visit for the DC7 decision. But not many, of course one forgets a lot over the time. At least I was able to remember some food places, which is always a good sign. :) At Teviot we met with Stephen (sgran) Gran to (unsorted list) have some food, unload the car, think about the way to get our uplink to our server room, check into the hostel - and whatever else we did at that day. Next day, officially called Setup day, we started to get two cables from our server room to the place our uplink is - you can see them if you go to the left site of Teviot. (The other two got there a bit later). After that we started with the setup of the network, which is pretty nice this year. We have a lot of sponsored machines that are doing various tasks, a nice network layout involving a lot of vlans to seperate stuff and a lot of (good) crack. What, you dont want to listen to boring details? Ok, here they come: - The main machine is, again, called Homer. Connected with a 2Gbit link to our master switch. It does those little things noone needs, like firewall, local mirror, dns, nagios, routing between various nets we have here, the schedule bot, etc. - There is also a Marge, who is the central point for the whole wireless network, running chillispot to have authentication for it. - Barney is used as a storage server for the video team, having some 1.5TB (raid5) space for the video data. It has 2 additional disks, 500G each, to copy data on and get them home to a video team after the conference. - Our streaming master machine at DC7 is called Lisa, and does not more than streaming for all the local clients and sending the stream out to our streaming master somewhere in the internet which then relays it to our streaming servers kindly offered by a lot of admins all over the world. - We also have Bart and Maggie, which serve as public build boxes for the attendees, where Maggie even runs a distcc open to the whole local network. - You can add the same amount of servers to this list which all do various tasks for the video team. This stuff is all glued together by a set of managed switches building our core backbone, running a number of vlans to seperate the different network segments. Which actually works quite nicely, as even at the time some expert managed to plug a cable into the same switch twice (yay, loop) - the only affected network part was that where he was in. The rest of the conference didn’t even notice it - until all of the admins jumped out of the admin room at once, looking for that fuckup. :) Sounds like crack? Probably is, but is a nice setup all together, and it was fun to set it all up together with Mark and Stephen, the two main admins for this conference who designed most of the whole structure and are the ones that really know it. I already “volunteered” them for the next DebConf to help as admins and really hope they decide to do it. Later on during DebCamp we also had Peter (weasel) Palfrader joining the local admin team. His main work here is related to the video team by hosting the geodns setup for the streaming and by running a local nagios to check the things we need to check. This enabled us to simply tell everyone Use streams.video.debconf.org:8000 wherever you are and you will get to the right server for you. Explaining this in a short way basically goes as “a monitoring tool keeps track of which servers are up and only enables them to resolve. Our geodns server then replies with the right server IPs, depending on in which region of the world you are.”. Which means streams.video.debconf.org will resolve to the local streaming server lisa while you are here, at the same time resolve to a number (those that are up) servers in Europe if you are in Europe or to those in the US if you are there. Nice. (And while I’m already blogging - I do hate my laptops suspend, err - I mean non-suspend mode. Somehow it got worse in the last days, sometimes needing multiple minutes (like 10) to decide to suspend to disk, and the suspend-to-ram still wont work. I should really get someone here that knows this stuff having a look at it. :) ).

Romain Francoise: A .dsc/.changes aware scp

Every time I make a new emacs-snapshot release I have to copy the source package from my amd64 desktop to my i386 laptop to build it, then copy the built packages back in order to upload them. This scp'ing gets tiring after a while, so I wrote a trivial script called dscp which acts as a Debian-aware wrapper around scp, using python-deb822. It's similar in spirit to Myon's dget script, which does pretty much the same thing with wget.

Note that unlike scp it can only copy files to other machines, and currently does no command-line parsing at all, so you cannot pass options to scp (other than the user@host:/bla part, of course).

Also note that if the destination is local it will serve as a .dsc/.changes aware cp, which is also handy in some situations.

If there's interest I could probably add some sanity checks and propose it for inclusion into devscripts.

Bernd Zeimetz: hacking at debconf

hacking at debconf Zenoss Stefano reported about the work on the Zenoss packages yesterday, now I m proud to be able to present the first screenshot from Zenoss, freshly installed by using dpkg -i. There s still a lot of work waiting for Fabio, Stefano and me, but it s great to see the first results. It s really great to work together with them, here on the Debconf. I m really happy that I can be here. At the moment we re waiting for Sean Finney no arrive, as we have some questions about dbconfig-common. hacklab pano 3 Again, here s another pano from the hacklab 1, taken yesterday evening. Sorry for the bad stitching, didn t have the time to fix it, but I hope it ll still give am impression of the great atmosphere here in the Teviot.

Joachim Breitner: Shift-Caps-2

The Caps lock key is quite useless, most people agree with me here. So I configured my system to make the Caps-Key a general control key: Caps-E starts a terminal, Caps-t lists my tomboy notes, Caps-Down selects the next workspace, Caps-2 selects the second workspace. For the workspace switching commands, there are also variants with Shift that move the current window, so that Shift-Caps-Down moves the window to the next workspace, Shift-Caps-3 moves the window to the third workspace and Shift-Caps-2 does nothing.At first I thought it was a misconfiguration, but upon closer inspection I found out: As soon as Shift and Caps are pressed, all keys in the line F1-2-W-S-X, as well as the key are not registered, not even by the kernel, it seems. Is this some old legacy problem with PC keyboards, when the bits of a key code were hardwired in the keyboard? And is there a way around it?

Russell Coker: A Lack of Understanding of Nuclear Issues

Ben Fowler writes about the issues related to nuclear power in Australia. He spends 8 paragraphs discussing the issues on the “Right” side of politics - of which 6 concern the an Australian nuclear weapons capability and then spends 3 out of 5 paragraphs related to the “Left” side explaining that he thinks that everyone who opposes nuclear power is a Luddite. Ben didn’t bother providing any links or statistics to back up his claims, so I’ll assist him in analysing these issues by providing some facts that we can discuss. In March Spain had wind power provide 27% of all electricity (making wind power the main source of power for the country). I blogged about this at the time. While Spain has an ongoing program of building new wind power stations the majority of wind turbines in Spain are quite old (the Model T of wind power) and not nearly as efficient as modern turbines that would be installed for Australian power plants. The Danish government has announced plans to use wind power for 75% of their electricity. Denmark has a much smaller land area than Australia, which means that generating so much electricity from wind power is more technically challenging for them than it would be for us. A larger land area means that when one area has low wind speeds other areas can be used to provide power. For home electricity generation wind turbines have not yet been proven to be practical. The linear speed of the blade is determined by the wind speed and the rotational speed is therefore a factor of the wind speed divided by the radius of the blades. This means that smaller turbines have higher rotational speeds which causes more noise (bad for getting council approval), also to avoid turbulence a wind turbine will ideally be some distance above the ground (8 meters is good) which again gives problems when getting approval. The O’Connor Hush Turbine is supposed to solve the noise component of this problem. It will be interesting to see whether home based wind power becomes practical in future - if so I would like to get an O’Connor turbine on my house! Home solar power has been proven to work well, in the form of both solar-electric and solar hot water (I know several people who have been happily using them for years). You don’t get cold showers when the sun isn’t shining, you instead use gas or electricity to heat the water (it’s a standard feature in a solar hot water system). Also your home electricity doesn’t go off when the sun stops shining, you have batteries that are charged during sunny times to run things overnight, and when they get flat you pay for power from the grid. It is quite realistic to stick solar power systems on every roof in the country. The added cost to the process of building or purchasing a house is negligible and the benefits include having electricity when mains power is unavailable (NB water is used in generating electricity from coal or nuclear power plants so a bad drought will eventually become a time of limited mains power). Even the smallest home solar electric system will produce enough electricity to power a fridge and freezer 24*7 so it’s a very useful backup for essential power. The government is subsidising the installation of solar electric systems, so it seems that they expect everyone to get one eventually. Dr. Ziggy Switkowski (the main advocate of nuclear power in Australia) says “the introduction of a carbon tax could make nuclear power the cheapest option by the 2020s”. In consecutive paragraphs Ben derides “carbon trading” and claims that nuclear power is “practical”. Unfortunately the main advocate of nuclear power in Australia does not believe that it is practical without a carbon tax. Ziggy also states that it would take at least 15 years to complete a nuclear power plant, unfortunately we don’t have the luxury of waiting for 15 years before starting to try and reduce the damage that we are doing to the environment. The Stern report makes the economic consequences of inaction quite clear. I am not a Luddite. I oppose nuclear power because of the risks related to accidental release of radioactive material and the routine release of radioactive material as part of the uranium mining process, and the dangers related to long-term storage of nuclear waste (let’s not assume that Star Trek science can make it all non-radioactive). Nuclear power is not cost effective for Australia and will take so long to develop that it won’t save us from the serious economic damage predicted by the best scientific models as presented in the Stern report. For large scale power generation wind power works now, can be easily implemented and has no hidden costs or risks. There will never be a Chernobyl type accident with wind power, it is inherently a safe technology. For small scale power generation (something you can add to your home) solar power works well, is not expensive (when considering the price of a house and especially when the government subsidy is counted) and has the potential to seriously reduce the amount of carbon dioxide produced.

MJ Ray: Blogging from debconf7: The Journeyer

Just stopped off in Derby on the way to Edinburgh. It was a good move in one way, because my inbound train was running over 30 minutes late (diverted due to the floods in the Midlands) and my outbound one is only 10 minutes late... but the manager just announced flooding in West Yorkshire, so I guess we'll see. The inbound train was called Vyjaer Kernewek (or something like that), which was nice to see. Derby was useful in another way (besides a good wifi-enabled light meal at the big blue coffee shop). I bought a laptop case. I didn't plan that when I set off, but by Bristol it was already obvious that I couldn't carry all my widgets in one bag. I also couldn't get the laptop out on the train, for fear of a packing explosion. So, Derby has shops. It also seems to have a market-free market place as the focus of the city centre. There's a view up to the cathedral, a small waterfall... and the Derby Mountain Rescue. I suppose the peaks are near, but mountains? The market wasn't in the marketplace. It seemed to be under cover in two parts. One is in the guildhall and the other is in a shopping centre that seems to have an identity crisis - is it the Eagle Centre, or is it Westfield? - and also has a building site attached that greets you as you approach from the railway. Not good tourist promotion. Until the building site, the City-Rail Trail is signposted well, about 5 minutes walk, but the signposts are a bit odd. I noticed the funny ridges first and dismissed them as an anti-spin thing, but then I noticed some bronze floppy disks (I'll post a photo once I find the right USB lead). Other attachments included spark plugs and glasses. There's no sign explaining it that I saw. What the heck is that all about? Coda: No, it wasn't a good move. Apparently there's more flooding in South Yorkshire, so I arrived about midnight and this is posted the next day. At least I'm having a better time of it than damog, who's stuck in New York and I wonder whether other tales of woe will appear on Planet Debian as people find net access. Now for breakfast and planning the day.

Daniel Burrows: aptitude development moves to Mercurial, back to Alioth

Short version: the aptitude development tree is now maintained using Mercurial, go here to fetch it.

aptitude development has been using darcs as a version control system for the last two years. Darcs is a distributed version control system with many great concepts -- but it has one huge, glaring, enormous flaw, which is that innocuous operations, like merging one branch into another, can require practically unbounded amounts of time and space. And once two branches get screwed up in this way, there is nothing, nothing at all, that you can do to get yourself unwedged; the cause is a design flaw in darcs that no-one seems to know how to fix or work around.

Recently, I made the mistake of changing some files in both the Debian branch of aptitude and the head branch, and when I tried to merge the two branches to upload a new upstream release, darcs went off into la-la land. So, I figured that it was probably time to switch version control systems.

I'd like to say that I did extensive research on the matter, but the truth is that I chose Mercurial based on the fact that (A) a lot of ex-darcs users have written nice things about it, (B) git and arch-derived systems always feel ugly to me, and (C) John Goerzen implemented support for mercurial on Alioth. Yes, I am so a follower.

So if you want the up-to-date aptitude source, you should go to http://hg.debian.org/hg/aptitude/head. You can also fetch an RSS feed from http://hg.debian.org/hg/aptitude/head?style=rss.

You can fetch a copy of the repository with "hg clone http://hg.debian.org/hg/aptitude/head aptitude-head". To update, I recommend putting the following lines in ~/.hgrc to enable the "fetch" extension:


[extensions]
hgext.fetch =


Once you've done this, just run "hg fetch" and it should download and merge the latest code. You may want to install kdiff3 to get a better merge tool as well.

To commit a patch locally, run "hg commit". Unfortunately, there doesn't seem to be any easy way for people to send patches back within the VCS like there is for darcs (one of many nice features I had to give up in favor of being able to actually get work done -- what, me bitter?), but it looks like you can get somewhere with "hg bundle <file>", then mailing the resulting file off.

Isaac Clerencia: Foocast, podcast for (Spanish speaking) dudes

Several of my workmates and I are regular listeners of technology-related podcasts like Diggnation, TWiT or FLOSS Weekly (which BTW is as “weekly” as the Halley comet). Some days ago we realized that there weren’t similar podcasts in Spanish (or at least we didn’t know about them), so we thought that creating one would be cool. During this week we recorded our pilot, we had some problems with sound and I spoke a bit too fast, but I think it’s nice overall, at least I would enjoy listening to it :) Trying to emulate people like Kevin Rose or Leo Laporte (in the media business since 1991), who create podcasts professionally, is quite hard for amateurs like us, but we’ll do our best. Be sure to check it at Foocast (sorry, Spanish only, that’s the whole point :P )

16 June 2007

David Moreno Garza: Stuck on my way to Edinburgh

So, here I am in Jamaica, NY, near the JFK airport. Flyglobspan’s flight to Liverpool was cancelled and scheduled until next Monday. This simply sucks and I don’t have any energy left for flaming anybody, I just did it too much during the afternoon. Just as Christine, I shouldn’t have booked with this crappy company, due to my previous feelings about this. A lady was flying on Tuesday, and they rescheduled her itinerary to today, and they simply re-rescheduled now for Monday. Also, I already had an scheduled train from Liverpool to Edinburgh and an open return. If I don’t get my way to the UK on Monday, I’ll simply won’t be able to make it for DebConf, since I had planned to get back from Edinburgh to Liverpool on Friday night or Saturday morning, Raquel could join me in NYC before of what we had planned (Saturday evening). At least, the airline is paying for a hotel. So, I’m stuck here, with two bottles of tequila, one of mezcal, a bottle of extra-spicy Valentina, a pack of ping initos, which all were presents for buddies, and all energy I wanted to spend with friends in Edinburgh. Such is life. I’m going out right now actually. I’ll see if I can catch some jazz somewhere in NYC. If any Debianer or Perler is around the neighborhood, feel free to call/text to +525529009939.

Michael Janssen: Ask the Interwebs #1

Lately I have been thinking about switching source code management systems. In years gone by, I have used CVS, Subversion, arch, and most recently bazaar-ng for managing all the source code that I have to change. Lately I have been unhappy with the speed that bazaar takes to get some things done, and after watching a Google talk by Linus about Git, I thought I would give it a look.

I was surprised to find out that it actually models the way that I work normally slightly better than the bazaar model does. The main thing is that a repository holds a bunch of branches, but the working directory only has one of those branches checked out at any point in time. I use bazaar with about 4-5 branches per project, and only work on one of them at once (normally, sometimes I want to transport a bug across a couple branches) - so the "working space replaced by branch you want to work on" actually works out OK for me. I also need to collaborate with a bunch of projects at school and work that use other systems including CVS and Subversion, which Git seems to make it easy to do.

I did run into some questions that I don't really have a good answer to, however, therefore the new segment on the blog: Ask the interwebs. Normally I would just ask on some IRC channel, but the Minneapolis public library doesn't seem to allow anything but HTTP out. On to the question!

When using Git, how do you manage having multiple computers (at multiple locations) that you work on? I have approximately 5 different computers that I use regularly. Luckily I have enough space to have git installed on all of them, and I also have a web server that I can use WebDAV on if necessary. What I would like to have is a repository that I can pull from before I start work (if I am connected) and then push to when I finish so that the next computer I sit down at I can just pull again and get everyting. I would like this to include any branches I may have made on the first computer. Is this possible, hard, or easy for Git users? How much do I need to worry about slowdown? My WebDAV server is in the cloud, and I would prefer to be able to get up and go on say, a minute's notice.

I'm also interested on what your workflow is like even if it doesn't match the model I just described. I'm open to changing - the bazaar-ng to git change is big enough that I can probably incorporate a new workflow as well.

Comments: (8) Trackbacks: (1)

Comments
  1. adrian: hi, i'm a just a newbie so can't help much.
    You can host your push repository in http://repo.or.cz.
    If you prefer to do it your own you have git-daemon (Have a look to tutorials). Good luck!
  2. Michael Janssen: I looked at the public repo.or.cz, but decided against it, because while I want my branches to be available at some point, I'd rather not all of them at the same time. People randomly finding them is okay, but I'm sure I'll check in unworkable/uncompilable code in this state, because I would basically be using git as an easy sync between computers at times.

    I'm just really interested in how other people deal with this issue of needing semi-location-independent access to the branches.
  3. mike: Sounds already good for you to use git.

    Enjoy!
  4. R mi Vanicat: I haven't answer to the synchronization problem on my blog post because it is one I don't have. Still, you can make a git repository that can be pull and push from, and git can use https/dav or ssh or its on git protocol for this.

    Just read man git-remote, man git-push, man git-pull and man git
  5. JM Ibanez: Just upload a bare git repository (e.g. copy /.git in particular) to a server you have ssh access to. Then, in your working copy in git 1.5:

    <br />
      $ git remote add upstream git+ssh:///path/to/bare/git<br />
     


    You can then

    <br />
      $ git pull upstream .<br />
     


    or
    <br />
      $ git pull upstream/some-upstream-branch my-local-branch<br />
     


    or
    <br />
      $ git push upstream/some-upstream-branch<br />
     
  6. Josh Triplett: A followup to that: you can do the same thing without ssh access, by using WebDAV. See Documentation/howto/setup-git-server-over-http.txt in the Git source (also available various other places in other formats).
  7. Steven Walter: Whenever I want to create a non-local git repository for push, whether for sharing the code or just backing it up on another system, I follow this procedure:

    ssh remoteserver
    mkdir myproject.git
    cd myproject.git
    git --bare init --shared=all # world readable, group writeable
    chgrp -R git .
    vi description
    exit
    # back on local system
    git remote add origin git+ssh://remoteserver/path/to/git
    git push origin master:master
    git push origin branch2:branch2 # repeat for other branches

    You may then want to re-create your local branches so that they "track" the remote branches. "man git-branch" for more details on this.

    Hope that helps!
  8. brian m. carlson: For your workflow, you can try this:
    [geshi lang=sh]
    # first time on each machine only (you can use DAV, too)
    git remote add server git+ssh://server-hostname/path/project.git

    # every time
    git push server
    ssh anothermachine
    git fetch server
    git pull server branch-on-server-to-merge-from
    # merge happens; continue working
    # start over again from the push
    [/lang]
Trackbacks
  1. How I use git
    Michael Janssen ask about workflow and git, so I will explain mine. I have three types of git repositories: git-svn repositories where I don’t have write access on the upstream subversion repositories. git-svn repositories where I do have write ...

Biella Coleman: Mother s Maiden Name is Bad Security

So one of the (many) sucky things about having a parent with alzheimers is that someone usually has to take complete responsibility over their financial affairs. That person happens to me and the transition, I have to say, has not been all that smooth nor easy. Manging less than 20,000 per year while a graduate student was somewhat manageable. Taking care of my mom’s finances, bills, expenses, bank accounts, insurance etc. on top of mine, and largely doing this long distance, has been a whole other (difficult) ball game. To try to make things easier, I chose to use Citibank as I also have a joint account with my mother with them in PR. Well, life has not been made easier by this but, in fact, has been made harder. In a nutshell, the problem is I can’t LINK nor even transfer money, between my US based Citibank and my PR based Citibank, which is somewhat ironic (and imho, really messed up) because one can transfer money from a non-Citibank bank into a Citibank account (which means, soon I will no longer have a Citibank account). Why? Aside from the fact that PR always seems to get short changed, I had a conversation on the a very nice customer service person who let me know that there is just a lot of fraud between Puerto Rico and the United States. And one way they keep it in check is by disallowing links (and even one time transfers) between Citibanks in PR and US. Now, I can’t speak completely to the cause of the high prevalence of fraud but I am sure that their “security” practices don’t help, for in fact, like many banks, their security is especially insecure, particularly vulnerable in Puerto Rico and all of Latin America. And the security hole has to do with a cultural practice. In a nut shell, the main security question you are asked on the phone when you call in is your mother’s maiden name. Now in the United States (and I think Canada), your maiden name is may not be all that common of knowledge. But in Puerto Rico, it is *super-duper* common knowledge. Not only do people just know this, but it is printed everywhere, like your license. So Citibank:, perhaps one reason driving the high level of fraud is bad bad bad bad security. I have tried to let customer service know of this problem but outsourced Indian labor just does not get my explanation (I don’t think there are scripted computer answers for my concerns) and those who get it, don’t seem to do anything about it. What will it take to change this?

Enrico Zini: chat-with-bubulle

Chat with bubulle These are a few notes from a chat with Bubulle about package descriptions. Check a description against keywords To see what packages would match certain keywords, and how:
ept-cache dumpavail keyword1 keyword2   grep-dctrl -sPackage,Search-Score .
To check how much a package would match certain keywords:
#!/bin/sh
PACKAGE=$1
shift
ept-cache dumpavail "$@"   grep-dctrl -sSearch-Score -FPackage -X $PACKAGE
Technical details in the descriptions The programming language used to implement the software and the X UI toolit used by the software can also be removed from descriptions: Debtags offer a better place to store this information, and most package managers now show tags together with the package description. Submitting descriptions for review Submitting descriptions for review to the Smith Review Project means posting them to the publicly archived debian-l10n-english mailing list, and that may turn off some. It would also be interesting to change the description template generated by debhelper to mention the Smith Review Project and a link to description guidelines Description guidelines There are various description guidelines that could use consolidation and eventually inclusion in the Developers Reference. For example, Writing package descriptions is a very good guide, but most of the unsolved issues at the end have actually now been solved by the Smith Review Project.

Next.

Previous.