OK, so here's what crazy computer geeks come up with when they're bored of just sitting in the subway and staring out of the window.
Web servers usually run on port 80. TCP/UDP ports range from 1 to 65535 (port 0 is reserved). You can run multiple web servers on different ports at the same time... Do you think what I think?
Well, first you need a web server (duh). I decided to use lighttpd, as it's said to be small and memory-efficient (which sounded pretty important given what I was trying to do). Apache would probably not be a good choice here. Mind you, I have not done any benchmarks at all, I'm just guessing...
$ apt-get install lighttpd
Then, I wrote a little shell script containing a loop, which invoked lighttpd on port 1, 2, 3, 4, ..., 65535. That's it ;)
#!/bin/bash
TMPDIR=/tmp
CONFFILE="server.document-root = \"/var/www/\"
index-file.names = ( \"index.html\" )"
for ((i = 1; i < 300; i = i + 1)) do
echo "+++ Starting web server on port $i"
echo $CONFFILE > $TMPDIR/lighttpd.conf
echo "server.port = $i" >> $TMPDIR/lighttpd.conf
/usr/sbin/lighttpd -f $TMPDIR/lighttpd.conf
rm -f $TMPDIR/lighttpd.conf
done
I'm sure this can be optimized a lot, but it's sufficient for now, and it works.
You can test any of the web servers by running "wget http://localhost:3556/" (for example). You can kill them all with killall lighttpd. If you already run some other daemons on some ports, you cannot start a lighttpd on the same port, so you'll end up with fewer than 65535 servers.
In case you try this on your hardware, make sure you have lots of RAM and lots of swap. Don't run this on production hardware. Feel free to post your experiences in the comments.
I'm back. Yes, really. With new music. This time from Sao Lourenco, Portugal... Enjoy!
Song: Anamar - Pais oceano (3:24 min, 1.8 MB)
License: CC-by-nc-sa 1.0
Source: magnatune.com
Purchase from: Magnatune
I found out about TinEye a few minutes ago. It's a nice little search engine which allows you to find exact copies of a photo or even similar versions of it. You can either upload an image for comparison with their database, or point TinEye to a URL of the image you want to check.
For instance, checkout this this search for my unreasonably popular "Sugar" photo. Or have a look at this list of sample searches.
The site is also used in Wikipedia for detecting the original source of uploaded images.
I know there is some other website which also allows similarity search of images, but I just can't remember the URL. Please leave a comment if you know of other such sites, thanks!
After a long pause in this podcast, let me continue with more great music, this time from Scott Altham — a very nice ambient/chillout tune...
Song: Scott Altham - Hear Us Now (poptastic mix) (4:49 min, 8.9 MB)
License: CC-by-nc 3.0
Source: ccmixter.org
Purchase from: ?
Say you have a bunch of PDFs and you want to know how many pages each of them has. You could of course use some graphical software to display every single PDF and check the page count (xpdf, evince, whatever), but that gets tedious very fast.
So here's (mostly as a reminder for myself) one way to count pages of many PDFs (in the current directory) using pdfinfo from the xpdf-utils package:
$ cat countpdfpages
#!/bin/sh
for f in *.pdf; do
echo -n "$f: "
pdfinfo "$f" 2>/dev/null | grep Pages | cut -d ":" -f 2
done
A sample run:
$ ./countpdfpages S71147.pdf: 25 S71226.pdf: 38 S71242-01.pdf: 25 S71258.pdf: 26 S71315.pdf: 35 S72045.pdf: 2
I'm sure there are many other ways to do this, e.g. using pdftk foo.pdf dump_data (in the pdftk package), please leave a comment if you know a simpler way to achieve this. Especially so if you don't need an extra script to do it (i.e. if there's a PDF command line tool which can already count pages in multiple PDFs). Thanks!
Recent comments
21 weeks 2 days ago
47 weeks 4 days ago
1 year 2 weeks ago
1 year 3 weeks ago
1 year 3 weeks ago