lundi 9 février 2009
SLOCCount, compter le nombre de lignes de code
en déterminant automatiquement grace à différentes heuristiques de quel langage il s'agit.
Page web :
SLOCcount
lundi 19 janvier 2009
HotCRP Conference Management Software
HotCRP is conference management software: it accepts paper submissions and manages the review process. Many conference management packages are available nowadays, including START/Softconf, Linklings, EasyChair, and Dirk Grunwald's original CRP. (I haven't used Conferencereview.com or Continue.) HotCRP is better than the original CRP. Relative to the others, as of early 2007 it is easier for PC members to navigate from paper to paper and to search for papers in HotCRP, but START's single-page paper submission form is easier than HotCRP's paper submission process (HotCRP includes an email validation step). If you don't like HotCRP try START. Linklings is not in the same class.
HotCRP is open source and requires that you run your own server, although the initial setup process is quite easy and should take about 15 minutes on a modern Linux or BSD box. Software requirements: Apache, PHP version 5 or higher, and MySQL version 5 or higher, plus several PHP packages. The README for the latest release has more.
HotCRP was written for the HotNets V workshop in 2006, and used thereafter for USENIX 2007, SIGCOMM 2007, and SOSP 2007, among many others. It is based on Dirk Grunwald's CRP but is mostly rewritten by now.
Git repository
git clone git://read.cs.ucla.edu/git/hotcrp LOCALDIR
Gitweb source code browsing
jeudi 15 janvier 2009
Tomboy and python, using dbus
Dbus is a kind of component-oriented middleware comunicating by messages.
Here http://arstechnica.com/journals/linux.ars/2007/09/26/using-the-tomboy-d-bus-interface
I found a description of the dbus interface that tomboy propose to the programmer, so I gave it a try in order to implement a few scripts :
- showAllNotes
- showNotebook myNbkName
The previously cited blog article on arstechnica cites this deeper plugin example.
showAllNotes
#!/usr/bin/env python
## In Tomboy, display all the notes.
## Licence : GPL
## Date : 2009-01-14
# This uses the tomboy dbus interface and the methods exposed by tomboy
import sys, dbus, gobject, dbus.glib
# Get the D-Bus session bus
bus = dbus.SessionBus()
# Access the Tomboy D-Bus object
obj = bus.get_object("org.gnome.Tomboy", "/org/gnome/Tomboy/RemoteControl")
# Access the Tomboy remote control interface
tomboy = dbus.Interface(obj, "org.gnome.Tomboy.RemoteControl")
# Show every note
for n in tomboy.ListAllNotes(): tomboy.DisplayNote(n)
showNotebook
#!/usr/bin/env python
## In Tomboy, display all the notes labeled under a given "Notebook"
## Licence : GPL
## Date : 2009-01-14
# This is based on the underliying Tomboy tag mechanism (unused)
# knowing that a given notebook "mynotebookname" will be under the
# tag : "system:notebook:mynotebookname"
# (Thanks to irc.gnome.org#tomboy:sandy for the hint)
import sys, dbus, gobject, dbus.glib
# Get the D-Bus session bus
bus = dbus.SessionBus()
# Access the Tomboy D-Bus object
obj = bus.get_object("org.gnome.Tomboy", "/org/gnome/Tomboy/RemoteControl")
# Access the Tomboy remote control interface
tomboy = dbus.Interface(obj, "org.gnome.Tomboy.RemoteControl")
if len(sys.argv) > 1:
for note in tomboy.GetAllNotesWithTag("system:notebook:" + "".join(sys.argv[1:])):
tomboy.DisplayNote(note)
else : sys.stderr.write("Notebook name not specified. Exiting.\n")
Visual Diff and merge tool : meld
Meld
"Meld is a visual diff and merge tool. You can compare two or three files and edit them in place (diffs update dynamically). You can compare two or three folders and launch file comparisons. You can browse and view a working copy from popular version control systems such such as CVS, Subversion, Bazaar-ng and Mercurial. Look at the screenshots page for more detailed features."
http://meld.sourceforge.net/.
Alternative tools (see meld page) :
Kdiff3, Xxdiff, TkDiff, GtkDiff.
mardi 13 janvier 2009
mercredi 7 janvier 2009
Copier-coller X
Copier :
avec la souris, comme d'habitude
Coller :
shiftt+insert
lundi 5 janvier 2009
Molly-guard (for ssh)
Found on http://packages.ubuntu.com/fr/intrepid/molly-guard
protects machines from accidental shutdowns/reboots
The package installs a shell script that overrides the existing shutdown/reboot/halt/poweroff commands and first runs a set of scripts, which all have to exit successfully, before molly-guard invokes the real command.
One of the scripts checks for existing SSH sessions. If any of the four commands are called interactively over an SSH session, the shell script prompts you to enter the name of the host you wish to shut down. This should adequately prevent you from accidental shutdowns and reboots.
This shell script passes through the commands to the respective binaries in /sbin and should thus not get in the way if called non-interactively, or locally.
mardi 16 décembre 2008
bash 'type' function
echo is a shell builtin
$ type toto
bash: type: toto: not found
$ type which
which is /usr/bin/which
NAME
type - write a description of command type
SYNOPSIS
type name...
DESCRIPTION
The type utility shall indicate how each argument would be interpreted
if used as a command name.
jeudi 11 décembre 2008
distribution-specific information
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 8.04.1
Release: 8.04
Codename: hardy
lsb_release(1) lsb_release(1)
NAME
lsb_release - print distribution-specific information
SYNOPSIS
lsb_release [options]
DESCRIPTION
The lsb_release command provides certain LSB (Linux Standard Base) and
distribution-specific information.
If no options are given, the -v option is assumed.
mardi 2 décembre 2008
eee bug: Randomly changing mac-address [SOLVED ?]
à chaque suspend, ma carte réseau se retrouve avec une nouvelle mac-address.
En soit c'est bien pour quand je suis dans un point d'accès anodin, mais au labo où l'IP est alloué en fonction de la mac-addr enregistrée, cela me pose justement pb.
Bon, reprenons.
Diagnostique :
dans le fichier /etc/udev/rules.fr/70-persistent-net.rules à chaque suspend ou hibernate je me retrouve avec une nouvelle entrée de la forme
# Converted from /etc/iftab on upgrade
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="xx:xx:xx:xx:xx:xx", ATTRS{type}=="1", KERNEL=="eth*", NAME="eth1"
mais ce fichier semble généré par "75-persistent-net-generator.rules".
Il y a des chances que ce soit le driver qui se plante et n'aille pas chercher au bon endroit en mémoire l'adresse MAC, donnant ainsi l'impression de la générer à chaque fois.
TO DO
SOLUTION ??? :: http://ge.ubuntuforums.com/showthread.php?s=4d9cb6139d81046390c9da0ac5f7e48f&t=770173&page=6
Autre solution ?????
http://forum.ubuntu-fr.org/viewtopic.php?id=168719
sudo modprobe -r forcedeth
sudo modprobe forcedeth
sudo /etc/init.d/networking restart
et donner les dernières lignes d'un dmesg après cette manip?
solution
Solution trouvée : remplacer le module atl1e par la version trouvée ici :
ATL1E Linux Driver for Ethernet controller: Attansic Technology Corp. Unknown device 1026 (rev b0)
CAUTION: Do NOT confuse this with the ATL1 Driver (without the "E" at the end)
Copy from : http://jan.ucc.nau.edu/wal2/atheros_attansic.html
in order not to loose it.
########################################################################################
ATL1E Linux Driver for Ethernet controller: Attansic Technology Corp. Unknown device 1026 (rev b0)
CAUTION: Do NOT confuse this with the ATL1 Driver (without the "E" at the end)
Symptoms: On an Asus Eee PC 1000H running Ubuntu 8.04 (Hardy Heron) with the 2.6.24-19-generic kernel
lspci yields:
03:00.0 Ethernet controller: Attansic Technology Corp. Unknown device 1026 (rev b0)
and the wired ethernet is nonfunctional.
In addition to what I've written below, you should also read:
http://ubuntuforums.org/showthread.php?t=770173&page=2
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=492029
(In Debian, the module will be included in the 2.6.26 kernel.)
In my case, since I had rebooted the machine many times before building the module (see below for building),
udev had added a bunch of lines for "newly discovered"
ethernet cards with all different MAC addresses,
so I had to edit /etc/udev/rules.d/70-persistent-net.rules and delete ALL lines for ethernet devices
named eth0, eth1, eth2, etc.
(See
http://ubuntuforums.org/showthread.php?p=3869356
but do NOT change
75-persistent-net-generator.rules as that post says).
The following worked for me to build the module on an Asus Eee PC 1000H running Ubuntu 8.04 (Hardy Heron).
Jie Yang at Atheros mailed me the Version 1.0.1.0 driver source,
and I saved it as filename
l1e-linux-v1.0.1.0.tar.gz .
md5sum for the tarball above: d83196e507f9b2bea47514ba97fffd6f
sha1sum for the tarball above: 1f6a1ee6280add6e4c8d2f110ecd176c6f0e9134
Do all of the following as root:
Install the build-essential package: apt-get install build-essential
Make a new directory somewhere named l1e-linux-v1.0.1.0
cd into that new empty directory and tar -zxvf /some/dir/l1e-linux-v1.0.1.0.tar.gz
cd to the "src" directory in the module source tree
KBUILD_NOPEDANTIC=1 make
The above should succeed with no errors or warnings.
KBUILD_NOPEDANTIC=1 make install
Expect a warning like "cannot write to /var/cache/man/cat7/atl1e.7.gz in catman mode".
Edit /etc/modules and add on a line by itself,
atl1e
as the first non-comment line, then reboot.
After rebooting, verify the driver loaded as follows:
$ dmesg|grep Atheros
Atheros(R) AR8121/AR8113/AR8114 PCI-E Ethernet Network Driver - version 1.0.1.0
Copyright (c) 2007 Atheros Corporation.
$ sudo modprobe -l atl1e
/lib/modules/your-kernel-version/kernel/drivers/net/atl1e/atl1e.ko
This driver, atl1e, should NOT
be confused with the atl1 driver (which has a lot of info at http://atl1.sourceforge.net/
but which is not pertinent here).
Until the atl1e kernel driver module is included in the Linux kernel, the above build process
will have to be repeated every time you start running a new kernel.
Some links
Reduire l'utilisation du ventillo :
http://hartvig.de/2008/howto-reduce-fan-noise-level-on-the-eee-pc-900-1000-1000h-part-ii/
Laisser le dd se reposer :
http://doc.ubuntu-fr.org/laptop_mode
Contrôler quelles itf réseau sont ouvertes, lesquelles ne le sont pas :
http://greg.geekmind.org/eee-control/
Plus général :
http://doc.ubuntu-fr.org/asus_eee_pc_1000h
encore plus général :
http://www.netvibes.com/ramvi#Ubuntu_Eee