Search Results: "spa"

29 September 2007

Martin F. Krafft: Uninformed slagger

Scott, I would have expected a little more from you than your previous post on why you chose bazaar! Update: my initial post was offensive towards Scott, so I edited it a little, following a good discussion with Scott via Email. Even though his post didn't make it explicit, his post was meant to be a reaction to someone else praising Git above everything else. Or, in his words:
You're responding with a defence of git because I posted a defence of bzr in response to championing of git.
I decided to leave most of the original post untouched, nevertheless, but please read it in this context. I guess the sensible conclusion is (as always): to each their own. Inline updates are enclosed in [brackets].
Git is less of a version control system than it is a filesystem and a means to communicate among developers, and when used in that sense, it's extremely powerful and intuitive to use. And it is also a version control system, like Bazaar. It's blazing speed isn't the only killer feature. By no means, however, is it "heavily optimised for the 'I only apply patches' development model, at the expense of ordinary development models" [anymore]. It also supports centralised workflows just as well as it supports distributed approaches, and you can switch between them [this is not really true when compared to how Bazaar mimiques CVS/SVN behaviour; Git cannot do that]. Here are the git commands needed to do the same things Scott showed off in your post:
$ cd myproject
$ git init
$ editor .gitignore
$ git add .    # git rm ...
Let's branch before we commit. checkout -b is a shortcut to create a branch (git branch myproject-foo) and immediately switch to it (git checkout myproject-foo):
$ git checkout -b myproject-foo
$ git commit
Git keeps all branches within the same repository and lets you switch between them. Now, that is a killer feature: whether I'm versioning code or stuff like webpages, I often have external pointers to my code. For instance, I may have libfoo as a sibling of foo-ng and the latter refers to libfoo in the Makefile. If I wanted to try a new approach in libfoo, I'd have to change foo-ng's Makefile to point to libfoo-newbranch instead, or juggle directories around. That sucks. With git, I just checkout a different branch in the same space:
$ git checkout master
And even better: if you don't like it, you could just as well copy the repository to create a separate (remote) branch from which you can later pull or cherry-pick changes to the main branch:
$ git remote add foo ../myproject-foo
$ git fetch foo
$ git merge foo/master
Now back to your steps, and I'll stick to the git way of branching. Note how git does not differentiate between pulling and merging in the sense that you do. If there are no local modifications, git just fast-forwards the branch with the commits on the master:
$ git merge myproject-foo
Even better, say you don't want the last two commits:
$ git merge myproject-foo~2
Unless git can fast-forward, it also treats a merge as a single commit and the ancestry information allows you to inspect its component commits just like you would. gitk is another killer feature, which I believe bazaar copied from git, just like the bazaar folks adopted the concept of rebasing, which basically lets you rewrite history quite freely, another killer feature (which can be quite badly abused if you don't know what you're doing). And then there is git bisect and git-svn and git filter-branch and git describe and git stash and gitweb and, and, and So if I compare the git commands I used to the way you used bazaar, I fail to see much of a difference. Do you? It is true that git comes with an astounding number of additional commands, most of which you never have to use, but which are available to the user [but its interface is a huge improvement over GNU arch, nevertheless, and if only because the commands are named more logically and revisions and branches do not have to adhere to one of the strangest syntaxes ever]. I don't deny that their sheer abundance is overwhelming and confusing at first (a general rule for Git for beginners seems to be just to ignore ever command with a hyphen in it). But once you get out of the newbie stage (it took me about two weeks, the duration of Debconf7 to become an acquainted git user; in fact, David Nusinow placed me among the ranks of real git wizards Pierre and Keith before the conference was over) arghs, I hate long remarks in parenthesis; once you leave the newbie stage, you'll appreciate all these commands, which make it really easy to script complex tools with git, making any plugin architecture pretty obsolete. Finally, I found myself trusting git way more than any other version control system I've tried simply because it's so transparent and you are allowed to edit stuff under .git, which is mostly plan text files (and objects, which you [could but] don't have to touch). It's transparent, and it stays true to the Unix way of letting small tools do their jobs instead of the monolithic approach. NP: Enchant: Tug of War Update: Carl Worth has a similar beef with people thinking that Git is too complicated and has ported a chapter from a book on Mercurial to Git to show how that's not the case. It's a good read. Update: Scott replied (quoted with permission), and I include my replies inline:
"I can tell you why you chose bazaar: because you had to, because you are being paid to use it."
Sorry, that just isn't true. I'm paid to lead the Ubuntu Desktop Team; this has nothing to do with version control, except that the various upstreams and packages use different systems.
I am sorry about this accusation. It was low.
You appear to miss my point about Git, or maybe I didn't make it strong enough. It's not that I don't understand it; it's that I had to take time and effort to understand it. And I've noticed that every reply to my post misses out the fact that with Git, you have to take action to ensure your changes are actually incorporated into the commit; either with git add or commit -a. This exactly the kind of anti-social behaviour that I have issues with.
Well, Git people call this a feature and it is very handy, but I see your point. There is no way to configure git-commit to always include -a, so you'll have to work around it:
git config alias.ci 'commit -a'
This creates git ci to do exactly what you want. You cannot overwrite commit that way though. But it could be trivial to add a configuration option to git-commit, if you think that the way that Git exposes the index is an adoption-stopper:
$ file -L =git-commit
/usr/local/bin/git-commit: POSIX shell script text executable
Your post also introduces yet more over-complication by demonstrating about making a branch (in an empty branch) before you commit.
Your post does the same ("A common operation is realising that the commit you re about to make should really go on a new branch for now"), which is why I did it. You don't have to do that at all.
(Side-bar: bzr's design also permits multiple branches within the same repository.)
So I read the manpage and found bzr init-repository, but no way to add a branch to an existing clone, and also no way to switch between branches within a clone. In your original post, you claimed: " Bazaar s command set works the way you do." Well, the way I work is by "switching" between or "checking out" a new branch in-place, but I could not trivially find the command to do this. This is probably because I have not invested enough time into understanding Bazaar, but isn't that what your claim is all about: that "[you] had to take time and effort to understand [Git]" and that Bazaar just works for you?
My post was why I choose bazaar, and why I have rejected other revision control systems that I have attempted to use.
So why did you post it? Surely because you wanted to express your preference over Git. In doing so, you made a couple of claims about Git which are simply untrue, which is why I replied. And the reason I replied is simply because other people who try to make a choice between Git and Bazaar may find your post and take away from it the information that Bazaar is superior to Git, which it is not.
I'm glad that you prefer a different system; but please don't insult me by suggesting that I'm being paid to use the one I prefer, or that I haven't bothered to learn one I'm "slagging off".
But you did slag Git in that you basically present its shortcomings side-by-side to Bazaar's greatness, which is a common PR/marketing thing to do. So just like I failed to create an in-place branch above because I did not bother to learn Bazaar, you did not bother to learn how to do with Git what you showed off with Bazaar, or else I'll have to assume you would not have written up the comparison as you did.
I have to use git as much as I use bzr, and I simply prefer bzr.
That was not the message I took from your original post.

Russell Coker: Upgraded to Wordpress 2.3

I just upgraded to Wordpress 2.3. When using Konqueror (my favourite browser) the comment approval is slightly broken (when I tag a comment as spam it usually just turns red and doesn’t disappear from the main Comments tab) and I have to refresh that window more often than usual to make sure I got the result I desired. Also the Sidebar Widget editing is totally broken in Konqueror, I guess I’ll have to login with Firefox to get the new tags feature working. Also I have got a few Wordpress errors about the table “$table_prefix” . “post2cat” not existing. The table in question doesn’t exist in any of my blogs. So far this is the worst Wordpress upgrade experience I’ve had (I started on 2.0).

Christian Perrier: Interesting improvement to my spam handling setup

I use a rather simple CRM114-based setup to handle spam in my incoming mail. Nothing really funky here as I essentially used examples from the Debian package's examples/ directory. The only personal touch is using a two-step method for this. All mails are received on my home server and delivered to the "bubulle" user there. A non aggressive CRM114 setup runs there for this user. Mails identified as spam are sorted in a specific folder on the server and are theoretically examined regularly. Indeed, this is something I can't do anymore, given the number of identified spams (about 1000 per day, most of them in Debian mailing lists and Debian BTS). After a quick look, this spam is re-teached as being spam to CR114, then stored as backup in a giant mail folder, which allows me to retrieve a possible false positive later. All other mails are left in /var/mail/bubulle waiting for my laptop to grab them. This gives very few false positives, but still lets a lot of spam slip through. This is why I also run CRM114 on my laptop when mail is grabbed from my home server (I use fetchmail between my laptop and my home server, wherever I am). There, spams are again identified (more aggressively than what's done on my home server) by CRM114. The identified spams are sorted in a folder which I routinely investigate carefully for false positives (there are several a day, but the numbers are low because of the prefiltering done on my home server). Spams are teached as spam to CRM114 and, of course, ham is teached as "ham". I recently added the following to my mutt setup so that SPAM/UNSURE/HAM mails are easy to identify in mutt's index:
spam "X-Spam-Status: Yes"                     "90+/SA"
spam "X-CRM114-Status: SPAM"                     "90+/CRM"
spam "X-CRM114-Status: UNSURE"                     "40+/CRM"
set spam_separator=", "
color index red       default    ~H90    # Spam
color index cyan       default    ~H40    # Unsure
With this, messages identified as "Spam" are shown in red in the index, "unsure" messages are showed in cyan and regular messages have their normal colors. This is really helpful as I can spot messages that are "unsure" and very quickly tell CRM114 that they're ham or spam, with:
macro index \es ""s/home/bubulle/Mail/Administration_systeme/Spams\ncrmlearn --learnspam\n" "crm114 learn as spam"
macro index \eh "crmlearn --learnnonspam\n" "crm114 learn as ham"
macro pager \es ""s/home/bubulle/Mail/Administration_systeme/Spams\ncrmlearn --learnspam\n" "crm114 learn as spam"
macro pager \eh "crmlearn --learnnonspam\n" "crm114 learn as ham"
with the "crmlearn" script being:
#!/bin/sh
 grep -a -v "^X-CRM114"   \
 $HOME/.crm114/mailfilter.crm -u $HOME/.crm114/ $1 --force   \
 grep -a "^X-CRM114"
Shortly speaking, for any cyan message I see in mutt, I hit "ESC-h" if I consider it to be ham or "ESC-s" if I consider it to be spam. Finally, all mails identified as spam are grouped in a dedicated mail folder (/home/bubulle/Mail/Administration_systeme/Spams above) which is sent daily to my home server, where it is used to teach CRM114 about spam, then deleted on my laptop. All this makes spam handling pretty easy with a not so complicated setup (the trickiest part is the nightly laptop->home server synchronization).

28 September 2007

Martin F. Krafft: Counting developers

For my research I wanted to know how to obtain the exact number of Debian developers. Thanks to help from Andreas Barth and Manoj Srivastava, I can now document the procedure:
$ ldapsearch -xLLLH ldap://db.debian.org -b ou=users,dc=debian,dc=org \
  gidNumber=800 keyFingerPrint \
    sed -rne ':s;/^dn:/bl;n;bs;:l;n;/^keyFingerPrint:/ p;bs ' \
    wc -l
1049
This actually seems enough as I do not recall any new maintainers being added since the last call for votes, which gives 1049 as well. Andreas told me to count the number of entries in LDAP with GID 800 and an associated key in the Debian keyring. Manoj's dvt-quorum script also takes the Debian keyrings (GPG and PGP) into account, so I did the same:
$ ldapsearch -xLLLH ldap://db.debian.org -b ou=users,dc=debian,dc=org \
  gidNumber=800 keyFingerPrint \
    sed -rne ':s;/^dn:/bl;n;bs;
              :l;n;/^keyFingerPrint:/ s,keyFingerPrint: ,,p;bs ' \
    sort -u > ldapfprs
$ rsync -az --progress \
  keyring.debian.org::keyrings/keyrings/debian-keyring.gpg \
  ./debian-keyring.gpg
$ gpg --homedir . --no-default-keyring --keyring debian-keyring.gpg \
  --no-options --always-trust --no-permission-warning \
  --no-auto-check-trustdb --armor --rfc1991 --fingerprint \
  --fast-list-mode --fixed-list-mode --with-colons --list-keys \
    sed -rne 's,^fpr:::::::::([[:xdigit:]]+):,\1,p' \
    sort -u > gpgfprs
$ rsync -az --progress \
  keyring.debian.org::keyrings/keyrings/debian-keyring.pgp \
  ./debian-keyring.pgp
$ gpg --homedir . --no-default-keyring --keyring debian-keyring.pgp \
  --no-options --always-trust --no-permission-warning \
  --no-auto-check-trustdb --armor --rfc1991 --fingerprint \
  --fast-list-mode --fixed-list-mode --list-keys \
    sed -rne 's,^[[:space:]]+Key fingerprint = ,,;T;s,[[:space:]]+,,gp' \
    sort -u > pgpfprs
$ sort ldapfprs pgpfprs gpgfprs   uniq -c \
    egrep -c '^[[:space:]]+2[[:space:]]'
1048
MAN OVER BOARD! Who's the black sheep? Update: In the initial post, I forgot the option --fixed-list-mode and hit a minor bug in gnupg. I have since updated the above commands. Thus, there is no more black sheep and the rest of this post only lingers here for posterity.
while read i; do
  grep "^$ i $" pgpfprs gpgfprs   echo $i >&2
done < ldapfprs >/dev/null
which returns 9BF093BC475BABF8B6AEA5F6D7C3F131AB2A91F5
$ gpg --list-keys 9BF093BC475BABF8B6AEA5F6D7C3F131AB2A91F5
pub   4096R/AB2A91F5 2004-08-20
uid                  James Troup <james@nocrew.org>
our very own keyring master James Troup. So has James subverted the project? Is he actually not a Debian developer? Given the position(s) he holds, does that mean that the project is doomed? Ha! I am so tempted to end right here, but since my readers are used to getting all the facts, here's the deal: James is so special that he gets to be the only one to have a key in our GPG keyring which can be used for encryption, or so I found out as I was researching this. Now this bug in gnupg actually causes his fingerprint not to be printed. Until this is fixed (if ever), simply leave out --fast-list-mode in the above commands. NP: Oceansize: Effloresce

Ingo Juergensmann: Swap sizes

On planet.d.o I find Russell Cokers blog one of the most interesting blogs at all. Today he blogged about swap sizes in the past and nowadays.
I agree with him that having 16 GB swap space on a 8 GB system is next to useless, but I disagree with this:

A Linux machine with 16M of RAM and 32M of swap MIGHT work acceptably for some applications (although when I was running Linux machines with 16M of RAM I found that if swap use exceeded about 16M then the machine became so slow that a reboot was often needed).


I think this is not always true. Instead it all depends on your swap setup, even more bigger machines (2-8 GB RAM). As some might know, I'm running some m68ks as autobuilders. All of these Amigas are quite low on RAM compared to today standards: 64 MB and 128 MB. On the other hand, some packages are require lots of memory during the build, sometimes even 700-800 MB (rare cases), which means lots and lots of swapping.

The trick is (of course) to distribute the swap space to several disks instead of just one big swap area. This gives a great performance boost while swapping, especially when swapping is not linear. Using 2 SCSI host adapters and 7 SCSI disks in one of the m68k made that machine very responsive even when using 300-400 MB of swap.

So, distributing the swap space to several disks (with same swap priority) gives a performance boost. But keep in mind that it might crash your machine, when one of the disk dies. Alas, this happens of course as well, when you use just a single swap partition. ;)

Mario Iseli: Asirra Plugin for Wordpress installed

Hello World :) Today I found “Asirra” on one of my favourite Newssites. Ok, I have mostly disabled comments on my blog due to the spam, but since I have a funny protection they are allowed again. Thanks to Microsoft for writing as an exception a good piece of Software which is also free and you find even an installation guide for Debian Have fun commenting! :)

Russell Coker: Swap Space

There is a wide-spread myth that swap space should be twice the size of RAM. This might have provided some benefit when 16M of RAM was a lot and disks had average access times of 20ms. Now disks can have average access times less than 10ms but RAM has increased to 1G for small machines and 8G or more for large machines. Multiplying the seek performance of disks by a factor of two to five while increasing the amount of data stored by a factor of close to 1000 is obviously not going to work well for performance. A Linux machine with 16M of RAM and 32M of swap MIGHT work acceptably for some applications (although when I was running Linux machines with 16M of RAM I found that if swap use exceeded about 16M then the machine became so slow that a reboot was often needed). But a Linux machine with 8G of RAM and 16G of swap is almost certain to be unusable long before the swap space is exhausted. Therefore giving the machine less swap space and having processes be killed (or malloc() calls fail - depending on the configuration and some other factors) is probably going to be a better situation. There are factors that can alleviate the problems such as RAID controllers that implement write-back caching in hardware, but this only has a small impact on the performance requirements of paging. The 512M of cache RAM that you might find on a RAID controller won’t make that much impact on the IO requirements of 8G or 16G of swap. I often make the swap space on a Linux machine equal the size of RAM (when RAM is less than 1G) and be half the size of RAM for RAM sizes from 2G to 4G. For machines with more than 4G of RAM I will probably stick to a maximum of 2G of swap. I am not convinced that any mass storage system that I have used can handle the load from more than 2G of swap space in active use. The reason for the myths about swap space size are due to some old versions of Unix that used to allocate a page of disk space for every page of virtual memory. Therefore having swap space less than or equal to the size of RAM was impossible and having swap space less than twice the size of RAM was probably a waste of effort (see this reference [1]). However Linux has never worked this way, in Linux the virtual memory size is the size of RAM plus the size of the swap space. So while the “double the size of RAM” rule of thumb gave virtual memory twice the size of physical RAM on some older versions of Unix it gave three times the size of RAM on Linux! Also swap spaces smaller than RAM have always worked well on Linux (I once ran a Linux machine with 8M of RAM and used a floppy disk as a swap device). As far as I recall some time ago (I can’t remember how long) the Linux kernel would by default permit overcommitting of memory. For example if a program tried to malloc() 1G of memory on a machine that had 64M of RAM and 128M of swap then the system call would succeed. However if the program actually tried to use that memory then it would end up getting killed. The current policy is that /proc/sys/vm/overcommit_memory determines what happens when memory is overcommitted, the default value 0 means that the kernel will estimate how much RAM and swap is available and reject memory allocation requests that exceed that value. A value of 1 means that all memory allocation requests will succeed (you could have dozens of processes each malloc 2G of RAM on a machine with 128M of RAM and 128M of swap). A value of 2 means that a different policy will be followed, incidentally my test results don’t match the documentation for value 2. Now if you run a machine with /proc/sys/vm/overcommit_memory set to 0 then you have an incentive to use a moderately large amount of swap, safe in the knowledge that many applications will allocate memory that they don’t use, so the fact that the machine would deliver unacceptably low performance if all the swap was used might not be a problem. In this case the ideal size for swap might be the amount that is usable (based on the storage speed) plus a percentage of the RAM size to cater for programs that allocate memory and never use it. By “moderately large” I mean something significantly less than twice the size of RAM for all machines less than 7 years old. If you run a machine with /proc/sys/vm/overcommit_memory set to 1 then the requirements for swap space should decrease, but the potential for the kernel to run out of memory and kill some processes is increased (not that it’s impossible to have this happen when /proc/sys/vm/overcommit_memory is set to 0). The debian-administration.org site has an article about a package to create a swap file at boot [2] with the aim of making it always be twice the size of RAM. I believe that this is a bad idea, the amount of swap which can be used with decent performance is a small fraction of the storage size on modern systems and often less than the size of RAM. Increasing the amount of RAM will not increase the swap performance, so increasing the swap space is not going to do any good.

Neil Williams: Associating events with contacts

This is more of a reminder to myself to investigate this within GPE. The basic problem is that many events recorded in applications like gpe-calendar have a direct relationship with a specific person in the contact database and can also be linked to records in the expenses database. Expenses are relatively easy if the time of the expense occurring can be related to the duration of the event but a formal link may be more useful for extra granularity.
Relating an event to a person would typically involve the event being a work placement, a project name, a customer name or the name of an organisation. It could link an event to the organiser of the event or provide a quick lookup for the location of the event to eliminate entry duplication. (Why have the address of the event in the event record if the address is already in the contacts database? Equally, why have the dates of an event in the contact record for the organiser of the event when the same organiser may well be putting on a similar event again in the future?)
I'm thinking that gpe-calendar and equivalent applications could have a field within the event record for an ID in the contact database and a preference setting for the "category" of contacts to be shown in that field, e.g. Business or Conferences. Entry of the association would simply be a drop-down box of contacts that have the appropriate category set. A similar associative field can be implemented in expenses.
This all makes creating an invoice much more reliable. The current pilot-qof method depends on the user specifying the name of the contact as the description of the event and the "vendor" or "city" of the expense.
I'm sure there are other uses for associating events with contacts and/or expenses.
No time to investigate this just yet but it is another essential step in migrating PIM into a business-friendly format, SBIM (for want of a better name).
Small business support is lacking in current free software programs, IMHO. The applications that do exist do not work together to ease the administration burden of a small business the way that the system tools work together to ease the sysadmin burden. Understandable, yes, but small businesses need this kind of support to migrate to free software. "Joined-up thinking" is the buzzword but it's basically eliminating duplication in data entry/retrieval, associating business data across disparate data sources and enabling queries and data mining to support tax calculations, business plans, time management, project management, customer data handling ... the usual small office/home office workload.
I'm inevitably concentrating on data integration in an embedded devices like iPAQs, smart phones or blueberry-type handhelds but similar requirements need to be met within the rest of the free software world too. Once I've got time to investigate this, expect some threads on debian-devel looking at how Lenny could be made more business-friendly; not seeking an "Enterprise" version but simply making it easier to administer a small business using Debian.

27 September 2007

Simon Richter: #!

Dirk, actually it is suggested that there is a single space between the shebang and the path to the interpreter. It's not particularly important on Linux, but there are systems out there that use "#! /" as the magic value for scripts, thereby ensuring that the interpreter path is indeed absolute.

Dirk Eddelbuettel: Dear Samsung,

Your ML-3051N is a lovely little 'network printer. Hopefully, it will serve us well in the next few years as a replacement for the thirteen year old HP Laserjet ML we bought (for about five times the price: a native postscript printer was rather expensive in 1994) a long time ago. And you even mention that it can talk to Linux! But still, I have a few things to talk to you about:
  1. as you mention Linux, it's a tad odd that you enumerate various flavours (RH 8 to 9; FC 1 to 3; Mandrake 9 to 10.2; SuSE 8.2 to 9.2) but happen to exclude the two variants that run around here: Debian and its cousin Ubuntu. Besides, the versions of those other flavours are a tad old, no?
  2. as you ship Linux software on a cdrom, it is even odder that the install shell script fails (note: spaces between #! and /bin/sh may not be a good idea). Fails not once, but twice: you say /bin/sh, but you meant /bin/bash as you use features of the latter. Oh well, I guess we all made that mistake in our youth. Irregardless, the software never installed. Which is a pity as this would be about the first 'household appliance' I bought with native Linux support. So close, and yet so far.
  3. the control panel is a cumbersome way to set a static IP and to turn the odd protocol off.
  4. did I really have to install all this windoze stuff on my wife's laptop just to learn that the printer does in fact have a nice web interface? You could have mentioned that with Linux info, no? It is in fact a rather nice and complete web interface.
  5. as you supply networking support, do you really have to enable every possible protocol under the sun? I mean slp, snmp, multicast dns, dynamic dns, raw tcp, ipp, ethertalk, netware ...? I still see my cable modem go down 'seemingly randomly' rigth after I print even though I now disabled just about everything but raw tcp to port 9100 as well as ipp to 613. Still, dropping the cable connection just because the printer wakes up is odd, isn't it?
  6. Cups, foomatic and all the other printing goodies do not yet know the ML-3050 family, so we are making do with the ML-2151NPS settings for postscript. Works fine, so I won't bother copying the ppd file from the cdrom to the handful of computers around here.
Kind regards, Dirk Updated to fix a markup error. And the shebanh space is standard, I am told.

26 September 2007

MJ Ray: New to the Forum? Say hello! / Re: Hello, how do we keep this running?

"We got a few more members now. The forum platform is now Simple Machines instead of Invision, I should have listened to Slef!"
Well, I have been doing this a long time... unfortunately, that means I also sound bitter and should be ignored sometimes ;-)

We're still not exactly in danger of filling up the new WSMForum yet.  How should we promote this?  Door-to-door cards?  Flame-bait the letters pages of the newspapers?

Also, how do we ensure the forum survives in the long term?  Could we try a web-co-op-2.0 idea to reward the community?
http://tom.acrewoods.net/blog/2007/apr/enclosure-co-operative-2-0

Alastair McKinstry: GIT Changelog comments

My job involves working on other peoples scientific codes, and recently I've been experimenting with using GIT as a VCS. Its very handy for making a quick repository while you change one or two files, nice and lightweight. What distinguishes science codes from other software projects, both open-source and proprietary, is the comparative lack of formal releases. Often the developers are the users, making changes for their own use. They make a model, write a paper, done. They'll take their old code and edit it to add features, but don't plan on "releasing" it in any formal way. So, often you get a tarball from a fellow researcher with the name 'astro.tar.gz', and beyond the paper describing the science, you'll be lucky to find a changelog. Online repositories, test suites, etc. are a rarity. So I've been wondering how to improve on this, in terms of refactoring, etc. and how GIT and other Distributed VCS's can best be used in science. Some ideas: Has anyone else seen similar techniques or tags in use, particularly for science ? Tags , ,

25 September 2007

Russell Coker: Census

I’m just completing Jeff and Pia Waugh’s Australian Open Source Industry & Community Census [1]. There are some things that can be improved with that survey in particular and surveys in general. It seems to be assumed that everyone is trying to work full-time. I admit that there are probably few people who have decided that they don’t need as much money as they would earn in full-time work and reduced their work hours to match their financial needs (as I have done). Surveys that just ask a for a figure of how much is earned add to the pressure to earn as much as possible, which isn’t what’s best for most people. I have the impression that the questions about “how long have you been doing X” assume that doing so is contiguous. If that’s the case then asking “when did you first do X” and giving a drop-down list-box of the last 20 years to select from would probably be better (more precise and remove confusion). Debian wasn’t listed as a Linux distribution! It only has Ubuntu, RHEL, Fedora, and SUSE. The question mixing kernels and distributions was a little strange. It gives BSD as a kernel option but no BSD option in user-space, so apparently it’s assumed that there is only one user-space/distribution for BSD (there have been some attempts to release Debian with the various BSD kernels). Also it wasn’t clear what you have to do regarding the kernel to select it (is the couple of hundred lines of patches I submitted to the Linux kernel adequate to let me list it?). There were a bunch of questions that would get very predictable answers. Do you want to have access to official government web-sites and documents with free software? I guess that they want to get a large number of people requesting such things. Incidentally much of that is in the Greens IT policy… Immediately below the buttons on the screen to go to the Next and Previous pages there is a link to clear the form and exit. When doing something difficult like sys-admin work it’s expected that a command to wipe out your work will be immediately next to something innocuous, but for something that generally doesn’t require much concentration (such as filling out a survey) it would be good to have the dangerous options a little further away. At the end of the survey there are questions about whether you want to be contacted about events held by various companies. I think that it would be better to have an RSS feed of such events that we can poll when we have spare time. I’m sure that the PR people running the events are happy when they see a good number of people signed up to their mailing list. But if you actually want to get people to sign up without prior contact the best thing to do is have it on a web site with an RSS feed (either a blog or a CMS) so that it can be polled, syndicated, and googled.

24 September 2007

Romain Francoise: Echoes and other releases

PopMatters reviews the new Foo Fighters album:
This leads, inevitably, to the question I ve persistently pondered while listening to Echoes. Who exactly is this record for? Who does Grohl expect to buy and/or like the thing?
Hmm. One for the fans?

In unrelated news, Vic Chesnutt's North Star Deserter (reviewed here) is a jewel, and Gravenhurst's The Western Lands is refreshingly rockier than its predecessors. Get them both.

Ross Burton: Icon Madness

Last week I had to use Vicky's laptop briefly, which sadly runs Windows XP. I was greated with this monstrosity: The baby Jesus is beyond crying. For the curious, from left to right there is battery charge, wireless network status, InstallShield Update Manager, Java Updates, Windows Updates, Lastfm Scrobbler, Lenovo Client Security Password Manager, Bluetooth network connection (never used), Wired LAN network connection (never used), volume, ThinkVantage Access Connections wireless status, IBM Message Centre, Epson printer status, ThinkVantage Access Connections, Adobe Photo Downloader, GoogleTalk, Bluetooth status, QuickTime, Windows Security Alerts. After 30 minutes of removing software and disabling some more, I finally got this down to seven icons. I wish there was a way to disable Windows from showing the status of every network connection though. NP: Sketches of Spain, Miles Davis

Adeodato Sim : Dear Lazyweb, an RSS reader that with new != unread count?

I’m looking (or I’m desperate) for an RSS reader which differentiates between new and unread articles, and can show a count that only includes new articles for each feed. My current reader, Akregator, sort of fulfills the first requirement, but not the second. If you know of one, please let me know. I’m willing to give it a try even if it’s written for another desktop environment than my own, or in a language that I don’t like. If I can’t find one, I will try to go back to rss2email and Mutt. But I really, really, really dislike the management of feeds with rss2email. I would love to have it read a simple text file where feeds are listed in groups, each group has a keyword to add as an email header, and I’m free to add/delete/move feeds in the text file with changes being effective in the next r2e run. Any suggestions on this side?

Masayuki Hatta: CAPTCHA installed

I got fed up with comment spams, so finally I made some time and installed Bill Ward's excellent Captcha plugin for Blosxom. Seems it works nicely. I'd better migrate PyBlosxom or such, maybe someday...

Tag this post with del.icio.us!

Adam Rosi-Kessel: Headline Dissonance

Observed simultaneously via Google News:
CNN: Brzezinski: U.S. seems to be on course for Iran war Al Jazeera: Iran ‘not headed for war with US’
More typically the Google News groupings contain many articles with nearly the same content.

23 September 2007

Biella Coleman: Kaltura, lowering the bar

I have a number of friends who are finishing PhDs and then I have those “special” friends who are wrapping up their dissertation and manage to do something else quite extraordinary right at the same time. Shay David is one such friend who is currently wrapping up a fascinating dissertation on the social implications of openness and collaboration in various contexts (software, biology) but is also pushing the boundaries of what we mean by collaboration by helping to create a new vision, platform, medium, tool, and site, Kaltura. As you can read about more on their about page, Kaltura basically lowers the technical bar for video editing bringing the power of editing to anyone, at least anyone who registers for an account. Kaltura provides an easy-to-use tool kit that allows you and others to hack away to create, edit, & mashup videos. In lowering the bar, they are significantly expanding the mind (and actual space) for video collaboration. Some more good news is that Kaltura is soon going to GPL its technology, and they are looking for developers who want to contribute to this exciting project. The project is in PHP and Flex/ActionScript3, if anyone is interested, they should email developers@kaltura.com! Happy (video) hacking…

Ross Burton: Devil's Pie "A Love Supreme" 0.21

Devil's Pie (someones favourite window manipulation tool) 0.21 is out. Now with even more actions! Downloads are in the usual place.

Next.

Previous.