Once and for all, I’ll try to remember how to reflash a router after installing OpenWRT:
- Download last version of DD-WRT
- Enter terminal
scp dd-wrt.v24_std_generic.bin root@192.168.1.1:
ssh root@192.168.1.1
mtd -r write dd-wrt.bin linux

Yet Another Blog
You are currently browsing alx’s articles.
After few months of wordpress-mu customization for BBVAblogs, we’re currently opening the code so you all can play with it.
Here are the links to follow the dev of this platform:
Project page: manual, feature requests and bugs
Source code: version control with git, clone it, fork it, enjoy it!
It includes wordpress-mu with various plugins, and some homemade templates to manage a blog community, feel free to leave your comments and feature requests and the project page.
Final version should be ready for the Campus Party at Valencia on the 28th of July.
Milestone achieve by Adrian and Vik of the RepRap community, they’ve replicated entirely a Darwin machine, and this child is beginning to print itself another printer!
Adrian (left) and Vik (right) with a parent RepRap machine, made on a conventional rapid prototyper, and the first complete working child RepRap machine, made by the RepRap on the left. The child machine made its first successful grandchild part at 14:00 hours UTC on 29 May 2008 at Bath University in the UK, a few minutes after it was assembled.
With dozens of ssh connections each days, you better need a shortcut way to make it faster. Frustation comes to a end with this script:
Put this ruby script in your bin directory, make it executable, add your servers info hash in the array, and eventually copy your ssh public key in the various servers to never be asked for password.
When executing it, you can give it the ‘id‘ as an argument, and it will connect automatically to the server with the corresponding id!
Pressmark with a Wordpress installation with all you need to start a social bookmarking website (like del.icio.us, sabros.us, …).
You can see a demo of Pressmark installation on bookmark.alexgirard.com
Pressmark includes Wordpress Prologue theme, which has been used by Wordpress team to have a twitter-like dev-blog.
Prologue include Gravatar support, so go to upload your avatar on gravatar.com to have a nicer output!
If you feel like adding your own modification to the code, you can clone/fork the project on Github: http://github.com/alx/pressmark/. All contributions will be welcomed!
Ideas to extend Pressmark:
git clone git://github.com/alx/pressmark.git pressmark
After a week of “502 Bad Gateway” error on blog.feevy.com, it was time to dive in our new Nginx toy on Feevy server and understand what happened.
First, Nginx is not like Apache or Lighttpd, it doesn’t support FastCGI by default. So, you need to be sure you’ve compiled the fcgi module with your PHP installation.
On Centos, to compile a new PHP, just launch: /scripts/easyapache
Then you’ll need to launch the FastCGI process, download this FastCGI script, place it in /usr/local/bin, and add it to your init.d.
At the end, you just need to configure your php server in nginx, that would be the most simple part:
server {
listen 80;
server_name blog.feevy.com;
index index.php;
root /home/wwwfeev/blog;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?q=$1 last;
break;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9999;
fastcgi_index index.php;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param SCRIPT_FILENAME /home/wwwfeev/blog/$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
}
}
Sorry for all the people who couldn’t watch the Reprap move in 3D last friday in Bilbao, it’s finally working tonight!
The code to control the robot is really elegant, and it was not really hard to find the missing part to make it work properly.
I’ve also add a setMax() method on the axises, so the hardware opto-endstop are not needed anymore. but it’ll be cool to keep them just to use them to set the print-header home. I think I’ve seen some example like this somewhere, but I’m not usre yet how it works.
People interesting in downloading/cloning/forking the Arduino firmware for Reprap can go to the project page on Github.
After first days with the Darwin machine, it became clear that something was needed to replace the current Arduino software and upload the RepRap firmware directly from Textmate.
So here comes my first Textmate Bundle, thanks to the elegant work of Arduino team to make it easier to upload program from command line:
Once installed, only one shortcut is available to make and upload your program on the Arduino board: Command-Shift-A
You can clone/fork the project from Github too, make your own repository and I’ll be glad to add your patch to the current simple bundle.
And come back during the week, you’ll surely see some update during the intensive RepRap hack session!
On the way to launch Live Clöthing, I had to hack this morning the register action hooks for Wordpress, that don’t work as simply as excepted.
‘register_post’ action
You won’t be able to add more errors in $errors if you do not make it global in register_new_user() of wp-login.php:
function register_new_user($user_login, $user_email) {
global $errors;
‘user_register’ action
For some strange reason, $user_id is not available, you’ll need to add this hack to read it in your hook function:
$user_id = (int) func_get_arg( 0 );
Because when I see a good link, my main pleasure is to send it to as many friends as possible on IM, here is a simple jabber bot I could use to also save these links to my delicious account:
It uses jabber-bot and rdelicious gem for ruby, you just need to configure the config.yml with your jabber and delicious login information and maje it run with:
ruby delicious-bot.rb
The bot will connect to the master jabber you’ve configured in the config.yml, and you just need to send him the bookmark command:
bookmark url description
You can add your commands easily inside the bot, and fork the project from Github.com: