Jose Manuel Mota translated FireStats to Spanish without any guidance from me.
He agreed to maintain the translation.
The new translation is available here.

Thanks a lot, Jose!

I bumped into a simple trick to poison the database of nasty spam crawlers.
a but the will bump into the spam posion link on the sidebar will get an endless suply of random email addresses, to his endless enjoyment.
spam posion

FireStats 0.9.5-beta is in the wild.

New:
* Hebrew translation
* Popular pages
* Improved browser and OS trees display
* The entry page on WordPress moved from Manage to Dashboard.
In adition, FireStats have a new logo, By Arun:

FireStats logo

I created a new project site for FireStats here.
The new project site is running the wornderful trac, and supports source browsing, tickets systen (bugs, enhancement requests), A wiki and more.
To create a ticket or change the Wiki, you need to be registered (there is a register link in the top bar).
please take a look.

FireStats 0.9.4-beta is out.
it was painful, but now FireStats runs on the abomination called Mysql 4.0.
after I was done, when I did some testing, I managed to wipe the directory containing the code, BEFORE I commited the changed from today to CVS.
luckily I have an automated daily backup, but it cost me about 3 hours to re-write the changes.
bah.

After migrating my company from a CVSNT server which ran on Windows to a CVS server that runs on Linux, and thinking everything went fine, I suddenly received a complaint about binary files checking out as ascii, which cause them to break.
after an investiation, I found that CVSNT has a slightly differnt repository version than the what CVS is using.
specifically, CVSNT uses “kopt b” to specify a binary file, while CVS is using “expand @b@;”.
once this was clear, I wrote this little script, that fixes all the “broken” files (files that have kopen b and does not have expand @b”), and add the “expand @b@” line to the.

before you use it, backup your repository.
for each “file,v” the script is modifying, a new backup file named “file,v.bak” is created, and the original file is fixed.
after you fix your repository make sure to tell your users to update all the binary files.


find . -not -name "*,v.bak" -exec grep -q "kopt.*b" \{\} \; -not -exec grep -q "expand.*@b@;" \{\} \; -print0  | xargs -0 -i sh -c  "echo conv {};cp \"{}\" \"{}.bak\";cat \"{}.bak\" | sed 2a\"expand  @b@;\" > \"{}\""

I am working on a soluition to the Mysql 4.0 problem.

A new version of FireStats is on the loose!
New:
* Initial release of Standalone edition
* Added new-version detection machanism
* Improved display of recent referers tree
* Fixed various bugs with the links in the hits table
* Made automatic refresh the detault

Go fetch it here.

CVS supports virtual users, which have access to the repository, but not to the system.
Those users names and passwords are stored in CVSROOT/passwd file, but there is no standard method CVS provides to add users to this file.
So, how do you add a user to cvs CVSROOT/passwd file?
cvs passwd file has the following stucture:
user_name:hashed_password[:real_user]

the first row is the user name which the user is aware of (what he preceives as his user name).
the second row is the user password, encrypted with the standard unix crypt() function.
the third row is an optional real user name to map this user to. this is useful if you want all users to act under the same user.
in my case, I wanted all users to act under the user ‘cvs’ with the group ‘cvs’.
I wrote this script, which uses htpasswd, which is a standard apache tool, to create the passwd file.
(change /cvs to your actual repository path)
add-cvs-user:


#!/bin/bash
if [ $# = 0 ]; then
  echo user name not specified
  exit
fi
PASS=`htpasswd -n $1`
echo $PASS:cvs >> /cvs/CVSROOT/passwd

make sure you change the file ownership to root:root, and change the permissions for it so that only root can read its content.

See the changelog in the usual place.

« Previous PageNext Page »