Search Results: "tar"

13 January 2007

Erich Schubert: More on configuration files

Gunnar doesn't like the idea of recommending XML for configuration files, why do you need to be able to edit a XML-file with a non-XML-aware editor if you don't like the raw syntax? If you don't like the raw syntax, use an editor that gives you a different representation. Or use some transformation. Write a tool that converts YAML to XML and back, if you like YAML better. (Btw, this is another reason to use a common library for configuration file handling - let people choose their configuration file formats!) Writing XML in the raw with a good schema-aware editor with syntax highlighting is actually quite nice. Have you ever edited an XML file with eclipse? You really should do that... I once opened my Openbox (a rather minimalistic window manager) configuration file in eclipse. Guess what, it was giving me useful syntax completion! It had loaded and used the referenced schema file. openbox configuration in eclipse It's not as if I think XML is the ultimate thing; (nor is Eclipse an editor I'd use for configuration files; startup takes years and it frequently crashes for me. vim also has some XML support...) IMHO there is a lot in XML that should be stripped (such as attributes); I like JSON syntax better, except it's in turn lacking essential information such as character encoding, namespaces and schema information. I also don't thin JSON allows comments. But when handling information from multiple sources (and multiple schemes), XML is really useful. It removes most of the quessing needed for handling other formats. And that is what I'm precisely advocating: use standardized formats. Consider for example the apache configuration. Do you know of any tool that can parse the apache configuration files other than apache? Some parts look like SGML/XML, but they don't have much more in common than using < and >. When you are in need of automating something with apache, you'll be annoyed by this. If apache would be using something where you have a reliable parser ready for - that would be nice. Have a look at the xchat.conf configuration file. It uses "key = value", but they have these extra spaces there and don't use quoting, this means the file can't be loaded by many parsers, e.g. bash. Now lets use at buttons.conf - compeltely different syntax, "KEY value" blocks, separated by empty lines... Btw, note that configuration handling with XML to me means also keeping comments somehow... most applications will nuke any comments in their configuration files; which is funny since most configuration syntaxes do have a notion of comments, but did you ever come across an application using sh-style configuration (i.e. that you could source in bash/dash/zsh), that keeps comments? P.S. The YAML homepage is not YAML. It's valid XHTML. Only if you strip out all the tags and attributes and use only the text content within the /html/body/pre tag, then you have something which probably is YAML. This compatibility with HTML is probably why XML was at all successful.

Amaya Rodrigo: I'm right here!

Stratus asks Where's Amaya?

I m right here! But I am so RC buggy that, of course, they must have found out ;)

I missed women like Carla Schroder in that list. She s been my inspiration since I started translating her articles for the Spanish version of Linux Magazine.

Anyway, in a list with 10 people, there are always many missing. And I warmly congratulate Erinn for making it into the list. She sure deserves it!

Visibility is what it is all about. And this makes all of us, even the ones not on the list, more visible.

Lars Wirzenius: Random hacks: Unperish

I've been thinking lately about how to improve my process for making a release of one of the projects I work on. Actually, calling it a process is to glorify it. Each of my projects basically does things differently, but they do share some common steps: That's a lot of tedious manual steps. I would like to automate everything so that I only need a single command, possibly excluding the upload to Debian. I have the beginnings of script that does most of this, but it is not very flexible. Actually, that's not true: I have several scripts that overlap, and together they most of the above. It's a bother to have to remember which script does what, and is suitable for which project. They're all horrible to improve upon. I use Bazaar (bzr) for version control in all of my own projects. A couple of days ago, I looked at the builddeb plugin for bzr, which creates a Debian package (source and binary) from within a bzr branch. It doesn't do more than that, however, and I'd like to do much more. While thinking about this some more, I realized that something tied to bzr isn't very appropriate. While I currently favor bzr, I'd really like to not tie my development processes too closely to it. If nothing else, one of the projects I'm involved in is piuparts, which is currently maintained in Subversion, and I'd like to use my automation for that as well. Further, sometimes I package other people's software for Debian. While most of the work is similar to when I package my own software, there are some subtle differences, and again, it'd be nice to use the same automation for this as well. And, finally, sometimes I work on fixing bugs in other people's Debian packages, and most of the automation is relevant to that work as well. I've decided that a single, atomic command is not acceptable. What I need is a suite of commands for each of the small tasks, plus one or more scripts to combine them together. The flexibility of combining small commands should make it easy to adapt things for different workflows and scenarios. After some hacking, I came up with Unperish. It's currently in its early stages, but I intend to keep using it and improving it, until it takes all the pain away from making a release. At least for me, but hopefully it will be of some use for other people.

MJ Ray: SPI: Communications

I wrote SPI gives away opensource.org and opensource.net and Bruce Byfield wrote SPI to transfer domain names to OSI - I think it's interesting to see how differently we view the disagreement. One possible reason for the difference is that the email discussion around this resolution happened on private lists. I saw the December meeting notice a couple of days before the meeting, sent the board a request that they fix member communications and then started a discussion about giving away the opensource domains with:
"SPI still holds the opensource domains because SPI is a membership controlled organisation and OSI was a self-perpetuating board; and OSI had not done enough to balance their bad licence proliferation work. Why isn't that mentioned in the proposal? Why does 2006-11-18.dbg.mjs.1 not mention 2005-07-26.bp.1? Is it good to keep reposting rejected proposals until they pass? Why is the SPI board being asked again to surrender the domains while OSI is unreformed?"
The reason I started the discussion on spi-private was Josh Berkus writing
"If you think it's important that we should drag it onto spi-private, though, I suppose we should."
which rather suggested a private list was the appropriate venue. As Neil wrote:
"Some discussion has occured on the spi-private mailing list as to how the opensource.org resolution has been handled by the board."
That's putting it mildly. I wrote about the lack of public discussion (as mentioned in my previous report):
"I still don't see how some board members reconcile their votes to give away community assets with their promises. How the devil does board expect members to oversee it when board hides its operations from our view?"
There is a report on the discussion at the next meeting, which will hopefully put the reasons on the public record at last. Unsurprisingly, the first January 2007 meeting agenda omitted my member communications request, but board member Jimmy Kaplowitz accepted my reminder.

Holger Levsen: The trip to planet LCA

5 days ago I started my journey to Australia on monday afternoon by going to Hamburg airport. The security at London Heathrow was disgusting and silly as expected, but I won't go into much more detail here, just one thing: the memory of losing my beloved Free Software Foundation pullover last summer at a security checkpoint at LHR made me kept checking my stuff all the time, which somehow fitted very well in the paranoia... But I should also mention the one plus thing in Terminal 4: a nice smoking lounge with power sockets and comfy chairs. Anyway...

The flight entertainment system in the 747 was very cool, with lots of movies and documentaries on demand, so that I didnt bother to read any of the books I packed nor used my laptop batteries completly, though the latter was mostly due to the lack of space in the plane and having worked quite a bit prior to leaving. So I watched four movies to not fall asleep in the (european) night and get into australian timezone, which worked more or less quite well. Not sleeping is a good way to switch timezones, but the side effect is sleepiness, doh!

Out of those four movies the only one really worth mentioning is "Little miss sunshine", a really great movie, very funny and quite insightful as well. See it! On my way back I might even choose to see it again :) I didn't really understand much of the english in "the black dahlia" but it was quite interesting to see how smoking once was ubiquitous as the war on terror is today :)

The flight itself was not as bad and boring as expected, they even thought about the poor smokers and made the whole plane get out in Bankgok, only to enter it again 30min later. Needless to say that it took those 400 people a bit longer...

BTW, and in case the famous lazyweb is reading: Kolkata (formerly called Calcutta) from 10km above really looked like it was swamped, but according to wikipedia this only happens in summer. Any ideas what I saw / why it looks liked this?

When I arrived in Sydney, I was not only welcomed by the sun and summer (yaaaaaay!!), but also by Sylvia, the (main) FOMS organizer, who was so very kind to come to the airport at 7.30 AM to pick me up (yaaay!). More about FOMS in another blog entry very soon to come.

12 January 2007

Gunnar Wolf: Those who owned the Bible

I came across a very nice story by Leonel Rubio (Leonel, please correct me if I'm misattributing this to you), licensed under the Creative Commons license. It's in Spanish, but quite worth a read - Aquellos que Pose an la Biblia (Those who owned the Bible). It starts with the supposition that Disney, at the end of the ever-recurring cycle where they ask the US Congress to extend the duration of copyright (so that Mickey and Donald don't fall into the public domain), they push boldly for a new record: Not just 20 more years, but 500.
Of course, this would be easily torn apart in little pieces in the laxest of law courts, but still, a nice read :) Thanks, Leonel! :D

Mike Hommey: Playing evil with VMWare ESX Server, part 3

For a reminder of the situation, see also: I finally had time at work to implement a solution for the problem. The result is a bit less than 400 lines of code, which I hope to be able to make free-as-speech. I’ll probably have tons of paperwork to do with my employer before that can happen… The program implements a fuse filesystem that you feed with a raw device image file (but I’m willing to implement more image file formats), and that shows the individual partitions as separate files, named “partn.fstype“. These files can then be mounted via loopback devices the standard way (which was not possible on vmfs for the reason you can find in my first post on the subject), with the benefit of not requiring offset adjustments (as when you want to mount partitions from a disk image), or some loopback device hack. Additionally, it has an internal Copy-On-Write mechanism so that it is possible to mount “dirty” ext3 filesystems (e.g. a snapshot of a mounted filesystem) without modifying the original disk image. Note that there is no way, yet, to keep these writes after unmounting the fuse filesystem. It uses libparted to handle the partition table reading, which means it will read any disk label types parted supports, such as BSD labels, sun partition tables, and so on. It doesn’t support LVM, though. Unfortunately, VMWare ESX server 3.0 being based on RedHat Enterprise Linux 3, only an ancient version of libparted is available. By the way, this version (1.6.3) had a pretty bad bug that made it impossible to use it for regular files instead of devices: it was trying to do a BLKGETSIZE (or was it HDIO_GETGEO ?) ioctl on it. To workaround this, I implemented my own PedArchitecture. It was somehow a revelation, because with similar mechanism, I can implement support for different disk image types :). Anyways, there have been quite some API changes in-between, so some updates will have to be done to the code… In other news, I started working on ext3rminator again. There may be a new release in a few weeks. Update: Thinking again about the ioctl issue, I’m wondering if vmfs couldn’t be responsible (again) for the failure, actually… I’ll check that on monday.

Benjamin Seidenberg: Second Life

Recently, I’ve been playing a bit of Second Life (Wikipedia has a good page on it here). This is not so much a MMORPG as a virtual world, a metaverse if you will. There is no set of goals or levels in second life like a game. Second Life allows you to interact with other players (Residents) and to build and create anything you can imagine (skill permitting). I started playing Second Life with a very close friend, and the two of do most things in the game together. I find that it’s a lot more fun to experience everything together and we find the game to be a great way to interact with each other. I’d post a picture, but she’d kill me since she’s dramatically changed her appearance since I took it.
Second Life just recently open sourced their client, and has pledged to eventually opening the entire platform. When I get around to it, I want to take a look at packaging it for Debian, unless someone beats me too it. However, the build process is a bit daunting, and there is apparently a performance gap between their build and the open source build due to libraries they can’t distribute.

Meike Reichle: Happy New Year! and some resolutions

Slightly belated, but still: Happy new year everyone! We spent the holidays with my parents, pretty relaxing, didn't do much but lie on the couch, do crosswords and watch my sisters dwarf rabbit, that my mom hat to "rabbit-sit". Christmas was as usual a three-generations celebration and quite nice. On the 4th we went to see Irie Révoltés. Absolutely great concert!! We danced our hearts out. But, you know what? The best is not only seeing a great concert, but having the next day off. Sleeping in 'til way past noon, waking up with a beep in yours ears, a smelly pile of cloths beside your bed and every muscle sore. Have a wonderful breakfast with eggs and sausage, spend half an hour under a hot shower and spend the rest of the day humming melodies and tending to your aching muscles. Wonderful! Unfortunately the new year didn't continue that great. I caught a nasty cold and spent the last four days in bed. But, oh well, it's getting better, I can almost breathe soundlessly again!. Generally, this is going to be a very important year! In the middle of December I registered my Magister (comparable to a master's) thesis. I've got six months to finish it, so the first half of this year will be used for that. Once the thesis is handed in, the final (really final this time) exams start, first a very long written one, than an oral one, this will take until October. After that ... well, we'll see. I've set my mind on a PhD, since I'd like to pursue an academic career, so the next step will probably be trying to get a PhD grant. First things first though ... Resolutions Finally this is probably the first new year I really made some new year's resolutions. I'll put them here, so I can nail myself down to it over the year:
  1. First off, there are some things that I simply hope to keep the way they are:
    • I live in a wonderful relationship that I hope will simply go on forever :)
    • Also, I have quite a cool job (several actually), that I hope I can keep for another while.
    • I changed my eating habits quite drastically during the last months. I used to love everything "Just add water": teas, soups,puddings ... RAMEN!! Luckily it didn't reflect on my weight, which is pretty constant, but still I know that stuff is 90% chemical crap and who knows what it will lead to. (I know the optimal human would have three eyes, but I am actually quite happy with my average two.)
      So, I've cut down on that quite a bit and now have a subscription with an organic farm nearby that delivers so called Abokisten (subscription boxes?) that are delivered weekly and contain different vegetables, fruit, a loaf of bread and some cheese. The boxes' content is kind of randomized, so you get something different every week. It's a pretty neat service, since the food is really great, the price is reasonable, it's delivered right to my door, and (most of all) it makes me cook! So, here's another Keep that up!
  2. So much for the keeping, now for the changes/tasks: I guess the first is, of course, my thesis and exams. I plan to do those as good as possible. I'll be something of a challenge though. This is the first time I do such a large "project" (the thesis takes six months) all on my own, and (most worrying) at home. So here's a test on self-discipline!
  3. Although I've done a lot of acting in my "younger years" (haha) I've always been rather unmusical. This has been nagging on me for quite a while, so I've taken up playing the Blues Harp last month. I picked that instrument since I love the Blues and it's also easy to learn but still very flexible (and cheap). So far it's been huge fun but the art is, as always, keeping it up.
  4. There's this little blog I'm maintaining, that has been horribly neglected over the last year, so another resolution is to post here more often. (This way posts also won't have to be so horribly long, such as this one.)
  5. I couldn't help but notice that that geek girls top ten which Erinn mentioned (congrats by the way :)) contains but one European women. So here's something to do as well. There's quite a bunch of pretty impressing ladies over here, too. (Even AFTER 1950,dear CNET) And it seems, they need a bit more visibility. Maybe there are some things that can be done about that too ...
So, lots of plans. I hope publishing them here will help sticking to them. This also concludes my "little post", I hope the next will follow in a more timely manner.

Erich Schubert: RDF representation of packages?

I wonder if we should do some RDF representation of packages - especially including dependency data. That way we can maybe use some RDF reasoners to query our data, and maybe extract some interesting information. On the other hand, people with interest in RDF to use our real-world data for their experiments, and maybe we get something back from them. There is a couple of package metadata we currently are not tracking inside the actual archive, but in different places. Including licensing information (debian/copyright), homepage location (on packages.qa.debian.org), download location (debian/watch) - it would be nice to aggregate these into some RDF store, and export them somehow. For most of the package information (especially dependency information), we'll have to write our own ontology (I wonder if we can map version numbers to some standard rule language, or if applications will need an external reasoner to process them?); for some things we can reuse the FOAF (Friend-of-a-friend) or DOAP (Description of a project) ontologies. The first is rather common for describing people, people-people and people-thing relationships; the latter was designed for describing opensource projects (but won't be directly applicable to packages of a project). I've blogged about my RDF export of Debtags data before; the canonical first step would actually have been to export the package data, and enrich it with the Debtags collected data... Note that RDF is designed in a way that you can have one site provide metadata for another site. For example, the Debtags RDF export contains "category" information for Debian packages, but does not contain e.g. the description of the packages it talks about via an URI. So there is nothing wrong from a RDF point of view of keeping e.g. the licensing, watch or homepage data separate. For the Google Summer of Code, there was a proposal including "collaborative repository of meta-informations about source packages (CRMI)"; but the first part of the proposal, the "distribution wide tracker tool (DWTT)" showed to be a bigger task than expected. But maybe we'll still see CRMI at some point, and maybe we can have it provide an RDF export of data (using a semantic wiki might be a good starting point for CRMI maybe?). [P.S. this blog posting maybe belongs more into the en/linux/debian category. But only the xml category is also syndicated on planet.XMLhack, and I want this post to go there to reach more RDF users. I really need to switch my blog to some software which supports tagging...]

Alexander Schmehl: Teaching me how to administrate computers...

That's why I went to the university today. Fascinating... After working as system administrator for several years I must visit a university course showing me, how a computer works. They started with the very basics (That's a CPU... that's a mother board...) I think we spend the first four weeks to "learn" that if you buy a mother board, you must take care that the CPU works with it. So far we covered hard discs and some peripheries, too. Sigh. If that course wouldn't have compulsory attendance... Well. But at least I can amuse myself about the lecturer. Often he muddles up technical term -- which is quite a achievement when reading the text on the slides. Maybe he's a bit dyslexic, would explain some of his... uhm... strangenesses. But back to topic: Today the topic of the course was Operating System Installation. And to my pleasure, he did not only install an operating system made by a company in Redmond, but he wanted to install a Linux System, too. Well... First he tried to install the new Vista he just got instead of the older Windows Version he should knew better. Bad choice... Often new introduces features seemed to confuse him. After he finished with that, he installed an opensuse system. And sometimes he tried to explain a bit about Unix philosophy. Another bad idea. Those of us, who are familiar with that stuff could see, that didn't know what he was talking about, and those of us who are not familiar with Unix/Linux philosophy didn't learned it from him. For example he choose not to use grub or any other Linux Boot loader but the one shipped with Windows, which means he needs to tell Linux not to install the mbr, to boot later from DVD, to extract the first bytes of the partition via dd, to copy it to a floppy, to reboot to windows and to add it with some commands in the dosbox thingy. When I asked him, why he didn't used the boot loader from Linux, he told me, that in former lilo times, in was quite easy to make the system unbootable. And when I then informed him, that that's the reason, grub has been invented, he said, we use the windows boot loader, because he wants to do so. Oh, and as part of a test, we must install those two system our self. Including the brain dead stuff he does. Sigh. Some times courses, which should be quite easy for you, can turn out to be really depressing... I'm really looking forward for part two of the system administration course, which will try to teach me windows administration and networking. The Unix Course has been cancelled. Don't know why.

Stefano Zacchiroli: functional ruby s threads

Ruby's thread more "functional" than OCaml's I'm relaxing some of mine initial bad impressions on Ruby. This is mainly due to the fact that the Ruby book I ordered on Amazon finally arrived (after a lost shipment, the first of my whole customer story with Amazon, happily they refunded me completely). In the book I managed to find a rigorous (though not formal as I would have liked) description of Ruby's semantics and even some snippets of the grammar of the language (Rant: how the heck is possible that a modern language like Ruby lacks a complete description of its grammar????). Anyhow, now I'm feeling more comfortable with the language and I'm starting to put in the right setting some of what I believed to be its rough edges. Today, playing with Ruby's threads, I discovered a function in Ruby's Thread API that I can't help noticing is "more functional" than corresponding features in the Thread API of my beloved OCaml. Using Thread#value indeed the value returned by the last statement executed in a given thread can be retrieved (note that in Ruby every statement returns a value: yet another functional pearl). It's like a Thread#join on steroids. In OCaml the only way (that comes into my mind) to do the same is establishing a (typed) channel among the thread creator and the created thread, sending a return value from the thread, and having the creator block on the matching receive. Or (please don't) ... you can use a global variable ... Neat Ruby threads. To balance this, according to my first read of Ruby's threading capability, it's my impression that not only at most one thread can execute Ruby code at a time (limitation shared by OCaml, due to the non-distributed nature of mark and sweep garbage collectors), but also a thread blocked on a syscall will block all other threads to run. Dumb Ruby threads (but I still hope I'm wrong ...)

Erich Schubert: DBus user hooks

Andreas Schuldei asked how to hook into gnome-power-manager. I'm assuming you want to do some user hooks, too; the solutions using the low level hooks in /etc won't help you then. Using a small user daemon that listens for DBus events is much nicer (though you won't be able to have the suspend process wait for you to finish...) - because every user can setup his own stuff. It would be cool to extend the following to a more general solution. I could imagine a combination of a dbus-monitor (logging incoming signals) and a general event handler. You could then either type in the signal you want to hook or choose one of the logged signals, setup some properties (e.g. the SSID you just connected to) and setup reactions (start VPN script etc.). I havn't hooked gnome power manager yet, but I've been doing this for NetworkManager. Here's a python script:
#!/usr/bin/python
import dbus, dbus.glib
 
def device_now_active(path, ssid=None):
  pass
 
def device_no_longer_active(path):
  pass
 
sysbus = dbus.SystemBus()
nm_obj = sysbus.get_object('org.freedesktop.NetworkManager', '/org/freedesktop/NetworkManager')
nm_if = dbus.Interface(nm_obj, 'org.freedesktop.NetworkManager')
 
nm_if.connect_to_signal('DeviceNowActive', device_now_active)
nm_if.connect_to_signal('DeviceNoLongerActive', device_no_longer_active)
 
mainloop = gobject.MainLoop()
mainloop.run()
To hook to gnome-power-manager, use dbus-monitor to find out the appropriate signals to connect to. I've been using this to start a VPN client when connecting to some wireless networks, and to have gaim automatically logon when network is available:
sesbus = dbus.SessionBus()
gaim_obj = sesbus.get_object("net.sf.gaim.GaimService", "/net/sf/gaim/GaimObject")
gaim = dbus.Interface(gaim_obj, "net.sf.gaim.GaimInterface")
 
# then use
gaim.GaimConnectionsDisconnectAll()
# or
accounts = gaim.GaimAccountsGetAllActive()
for account in accounts:
  gaim.GaimAccountConnect(account)
Dynamic languages like python can be very sweet to use.

Ross Burton: Devil's Pie "Wearing That Dress" 0.20

Devil's Pie (someones favourite window manipulation tool) 0.20 is out. New features galore! Downloads are in the usual place.

Erich Schubert: Configuration file mess

Aigars Mahinovs mentioned that it would be nice if applications would not clutter the home directory with their config files as much. I agree a lot. Dotfiles for configuration suck badly. If you start a new application (or if you are in an early stage and have a small userbase), please follow the Freedesktop.org XDG base directory specification. I.e. use .config/applicationname instead of .applicationname for configuration files (unless an overriding environment variable is set), and .local/share/applicationname for data files. And for cache files, use .cache/applicationname (anyone writing a patch for firefox?) What I'd also like to propose is to reduce the number of different configuration file syntaxes. It sucks having to find out which syntax an application uses again and again, because every application is different. We probably won't be able to convince everybody on one format, but we could maybe cut it down to, like 3 formats, please? There is no reason that one application needs to start comments with "#" and another with ";" while a third application uses "//" but doesn't allow "/* comment */"... A small set of syntaxes (preferrably with standardized parsers) should be good enough for just about every application: If we had just these few syntaxes and an appropriate schema description language, we could write generic configuration file editors. That would be very nice. Also we avoid having config file parser bugs by using libraries, and if someone prefers using e.g. gconf or dconf, this could be handled by the library, transparently for the application. (Note that many application lack error handling when writing their configuration files, especially when the disc is full... - they really should be using a library. IIRC xchat also has some bugs of this kind, I remember having tried to patch some of them once when we were preparing for the sarge release, just to find out that there might be many more of them...)

Martin F. Krafft: Publishing files to the masses, temporarily

Especially on IRC, I am often faced with the task to share a file with someone. There are pastebins, but they don't help with binary files, quick updates, or sharing directories. Over the past year, I thus developed the pub shell script, which you can obtain from my SVN repository (you can check out the parent directory with several other helpers, or all my non-admin shell scripts). I documented it in the header, so if I excited your interest, have a look there for details. pub requires an SSH-accessible machine with a directory to which you can write, and which is exported via HTTP or FTP (it would be nice to support WebDAV in the future). In my case, that's madduck@scratch.madduck.net:/srv/apache2/stuff.madduck.net/htdocs/scratch, which is available as http://scratch.madduck.net/. Thus, I created ~/.pubrc with the following contents:
TARGETHOST="madduck@scratch"
TARGETDIR="/srv/apache2/stuff.madduck.net/htdocs/scratch"
PUBBASE="http://scratch.madduck.net/"
Here's what I can do now (lines are truncated after 80 characters):
## publish a simple file
$ pub /etc/fstab
http://scratch.madduck.net/__etc__fstab 1446 885c2219df938a059a5f0a13e65e8f9
## ... with optional verification by downloading and comparing md5sums
$ pub --verify /etc/fstab
http://scratch.madduck.net/__etc__fstab 1446 885c2219df938a059a5f0a13e65e8f9
I: successfully uploaded: /etc/fstab
$ HEAD http://scratch.madduck.net/__etc__fstab   head -1
200 OK
## remove the published file
$ pub --delete --verify /etc/fstab
I: successfully deleted: /etc/fstab
$ HEAD http://scratch.madduck.net/__etc__fstab   head -1
403 Forbidden
## bzip2 the file while publishing
$ pub --bzip2 /etc/fstab
http://scratch.madduck.net/__etc__fstab.bz2 501 16e3b533f6588b670c75160dce1f
$ pub --bzip2 --delete /etc/fstab
## same with gzip
$ pub --gzip /etc/fstab
http://scratch.madduck.net/__etc__fstab.gz 423 ea28b1fc537690a0344b74ad2f2d7
$ pub --gzip --delete /etc/fstab
## sometimes I don't want the filename to be guessable:
$ pub --obscure /etc/fstab
http://scratch.madduck.net/__etc__fstab__7eb7d8881a02e47e2906131dec256115 14
$ pub --obscure --delete /etc/fstab
## and this even works with extensions, properly:
$ pub --obscure /etc/a2ps.cfg
http://scratch.madduck.net/__etc__a2ps.9b411100f9d144d090d540c9879dd26b.cfg
$ pub --obscure --delete /etc/a2ps.cfg
## and finally: directories:
$ pub --bzip2 /etc/init.d
http://scratch.madduck.net/__etc__init.d.tar.bz2 59758 1f94314ff9fd472f28172
$ pub --bzip2 --delete /etc/init.d
You'll see how the name is chosen: __etc__fstab. If you're publishing a file from underneath $HOME, the base is truncated:
$ pub ~/debian/misc/security/debsec.zuml
http://scratch.madduck.net/debian__misc__security__debsec.zuml 14366 537b7f7
Of course, all of the above take an arbitrary number of arguments:
$ pub /etc/fstab /does/not/exist /etc/init.d
W: skipping nonexistent file: /does/not/exist
http://scratch.madduck.net/__etc__init.d.tar 337920 c350629b859e1369ed29a98c
http://scratch.madduck.net/__etc__fstab 1446 885c2219df938a059a5f0a13e65e8f9
$ pub -d /etc/fstab /does/not/exist /etc/init.d
W: skipping nonexistent file: /does/not/exist
Over time, the scratch space will fill up. Thus, I am using tmpreaper to delete files which have not been accessed in 30 days. The script in use, as well as the files that givern the way the HTTP server presents the scratch space, are available in this SVN repository. I hope this tool will be useful to some, and I am looking forward to patches and suggestions! NP: No-Man / Returning Jesus

Erich Schubert: Tomcat shutdown problems - resolved

I had trouble with tomcat. It started fine, but shutdown took a very long time (enough for eclipse to suggest killing it, for example). Some people suggested I try the tarball from Apache, instead of using the Debian package, but that didn't help either. By not running tomcat from eclipse and waiting a long time for the shutdown, I finally managed to get some actual error messages: This was usually the last message I was seeing:
INFO: Pausing Coyote HTTP/1.1 on http-8080
After some timeout, I now got these messages:
Protocol handler pause failed
java.net.NoRouteToHostException: No route to host
No route to localhost? WTF? I resolved it by putting all hostnames it might try (localhost.localdomain, although I use that nowhere, as well as the FQDN I'm using) into my /etc/hosts and forcing them to point to 127.0.0.1 - and voila, tomcat actually shuts down instead of pausing and then failing to notice it has successfully paused...

Gustavo Franco: iPhone random thoughts and multitouch on iMacs someday?

iPhone is cool in a lot of ways (except in the freedom side, but not too different than the current iPods). I wish to buy one until the xmas and replace my now obsolete looking LG model. I think if Apple is trying to promote this product as 'more an iPod than a phone' - as Steve Jobs said in an inteview. They give it the wrong name, it should be called: iPod Phone. Yes, same deal as they did with the iPod video thing until they 'merged' the feature on the iPod brand. Remember that it would save them from the current trouble with Cisco/Linksys too.

The multitouch screen on that thing looks promising. I'm sure that there are a lot of cooler screens in development out there right now, but if Apple (or the real manufacturer behind the screen) can manage to make larger ones, i can see some time in the next year the motto: "Do you remember where did the computer go?" "Where did the keyboard and mouse go now?". Ok, maybe a bit too optimistic (they could keep the keyboard and throw away the mouse), but i think the iMacs could be a interesting target for the multitouch thing. Considering they've iSight already in place, with a larger multitouch screen in a good position and shiny cool gestures software, there we've minority report ready desktops, some time after laptops. Can you hear chairs?

11 January 2007

David Moreno Garza: Fatherland! Socialism or death, I swear it!

From The New York Times:

CARACAS, Venezuela, Jan. 10 President Hugo Ch vez was sworn in to a new six-year term at a ceremony here on Wednesday in which he described Jesus as “the greatest socialist in history” and pledged to speed Venezuela s metamorphosis into a Socialist country. “Fatherland! Socialism or death, I swear it!” Mr. Ch vez yelled as he was sworn in and given the presidential sash and a golden key to the tomb where the remains of Sim n Bol var, the South American liberator, are interred.

/me cheers :)

Jesus Climent: Icons on crack.

Yeah, I know. This is a rant. Yeah, I know. I could do better and create the icons myself and yadayada, but I am no designer. So, the problem is I restarted my desktop this morning (the sound had been locked by a runaway application) and I got the new iceLOVE icons: icons on crack Which one would you say is the one for iceape (the applicacion previously known as mozilla), icedove (thunderbird) and iceweasel (firefox)? Exactly! Once I changed to something more visual, you can see the difference: icons reloaded

Next.

Previous.