ashttp: vt100 screen scraping exported over HTTP

Posted on Sat 27 August 2011 in blog

Originally written for logtop I just wrote a vt100 screen scraper that listen to a port and serve the screen over HTTP. Basically, you want a top (or logtop ;-) ) to be displayed in your website back office ? But top outputs in your terminal and you don't know how to capture …

Continue reading

squid: (101) Network is unreachable when DNS returns IPv6

Posted on Fri 24 June 2011 in blog

If you have a Squid proxy configured on a machine that have no IPv6 connectivity, and try to reach an IPv6 compatible site, you squid will try to reach the site using IPv6 (I use squid 3.1.6 from Debian Squeeze) and will fail without even trying IPv4, displaying …

Continue reading

emacs: Highlighting errors for c, python, and other languages

Posted on Sat 11 June 2011 in blog

This is a deprecated article about flymake, you should check for flycheck instead.

Hi! Today we'll see how to highlight syntax errors in emacs, with exemples for C and Python. First you should learn about flymake-mode In a nutshell Flymake is a minor mode to perform on the fly checks …

Continue reading

Emacs: replace tabs with spaces

Posted on Fri 06 May 2011 in blog

When you want to replace tab with spaces or vice versa don't use M-% (query-replace) but M-x tabify or M-x untabify. They work on the current selection so if you want it to be applied to a whole buffer, try C-x h (mark-whole-buffer) before to select the whole buffer.

Searching and replacing in emacs

Posted on Tue 03 May 2011 in blog

Day two of my serie about emacs, about searching and replacing.

  • Function name: isearch-forward
  • Typical Key binding: C-s
  • How to get help: C-h f isearch-forward

isearch-forward let you type a string to be searched incrementally in the current buffer, successive following C-s will jump to the next match.

  • Function name …

Continue reading

Numeric arguments in emacs

Posted on Mon 02 May 2011 in blog

I'm starting an 'emacs trick of the day' sequence with:

  • Function name: universal-argument
  • Typical Key binding: C-u
  • How to get help: C-h f universal-argument
  • Usage: C-u

Receive a numeric argument that is given to the next called function, when no numeric argument is typed, the value defaults to 4. So …

Continue reading

nfsmount: rpc failed: 2

Posted on Mon 18 April 2011 in blog

For those, here on the internet, asking themselves what is this fscking rpc failed: 2 while mounting an NFS, it's possible that the response is here: Your NFS client trying to mount the NFS share will use RPC to communicate with the serveur, il will go like:


Continue reading

Python: Introducing ppipe : Parallel Pipe

Posted on Fri 15 April 2011 in blog

/!\ this was highly experimental code written in 2011. Today you should NOT use it, just look at it if the subject amuses you. Better take a look at asyncio if you want this kind of tools.

I'll speak about my pipe python module so if you didn't know it, you …

Continue reading

Python: Consulting PEPs from command line, while being offline

Posted on Wed 13 April 2011 in blog

One day I wished I could read PEPs in the tube on my laptop... so I searched for a convenient way to do so, and I didn't found ... So I wrote a very simple shell script you can found here : I'm currently packaging it for …

Continue reading

echo and backslash-escaped caracters / new lines: how to write portable scripts ?

Posted on Fri 08 April 2011 in blog

While writing shell scripts you are using a lot of echo but did you think about portability of this simple statement? Can you say what will be diplayed, without testing, on your shell, the following tests:

echo \n \c '\n' '\c' "\n" "\c"
echo -e \n \c '\n' '\c' "\n …

Continue reading