Nmap Development mailing list archives

Re: Nmap Source Code Evolution...


From: Paulino Calderon <paulino () calderonpale com>
Date: Sun, 14 Oct 2012 15:32:31 -0500

Wow, that was awesome! Good work!

On 14/10/2012 03:28 p.m., Luis MartinGarcia. wrote:
Hi all,

Today I've been working on a couple of things that show the evolution of
Nmap's source code over the years. The most interesting one is this video:

   http://youtu.be/7rlF1MSAbXk (YouTube version)
   http://recursos.aldabaknocking.com/nmap_video/nmap_evolution.mpg
(high res file for direct download)

The other thing is a report in HTML format:

   http://recursos.aldabaknocking.com/nmap_stats/

Here's some info about how I made it:

VIDEO:

The animation is done using the gource tool. It is based on the entire
SVN repo. At first I did it only against the nmap dir, but then I
realized that,  that way, only bugfixes and merges are shown, missing
all commits people do on their nmap-exp branches.

Note that the data is only from 2005 until now. For some reason, the SVN
repo does not contain proper commit information until 2005.

Here's the process I followed:

- Get gource v0.38 from: http://code.google.com/p/gource/

- Install gource:
   - Dependencies:
     - SDL 1.2 (libsdl1.2-dev)
     - SDL Image 1.2 (libsdl-image1.2-dev)
     - PCRE3 (libpcre3-dev)
     - Freetype 2 (libfreetype6-dev)
     - GLEW (libglew-dev)
     - GLM (libglm-dev) >= 0.9.3
     - Boost Filesystem >= 1.46 (libboost-filesystem-dev)
     - In a Debian-based system:
       - sudo apt-get install libsdl1.2-dev  libsdl-image1.2-dev
libpcre3-dev libfreetype6-dev libglew1.6-dev libglm-dev
libboost-filesystem-dev
   - I modified a few of the images that gource uses by default (dir
gource-0.38/data)
     - Changed the default circles that represent files with small squares
     - Changed the user image with this one:
       - http://en.opensuse.org/images/0/0b/Icon-user.png
     - Changed default font to "Ubuntu Mono Regular"
       - http://font.ubuntu.com/
       - Replacing the FreeSans.ttf included in gource.
   - In the gource source dir: ./configure && make && sudo make install

- Clone the SVN repo with git:
   - git svn clone https://svn.nmap.org
   - Takes a long time...

- Extract logs from the git repo:
   - Gource can work directly against the git dir but it errored out for
the whole nmap
     repo. It works if you only checkout part of it, like nmap-exp. So
for it to work
     on the whole thing I had to generate the log manually:
   - git log --reverse --raw --pretty=raw > nmap_log.txt

- Do the magic:
   - gource --viewport 1024x768 --max-files 99999 -disable-progress
-stop-at-end -s 0.15 -user-scale 2 -highlight-all-users
-background-colour 000000 --elasticity 0.001 --output-ppm-stream -
--output-framerate 60 nmap_log.txt |  avconv -y -r 60 -f image2pipe
-vcodec ppm -i - -b 16484K nmap.mp4

- Install kdenlive
   - sudo apt-get install kdenlive

- Edit the video with kdenlive, adding the intro, the credits, and the
soundtrack.

- Re-encode the video with kdenlive.

- Done!

STATS:

For this I simply used gitstats.

  - sudo apt-get install gitstats
  - gitstats svn.nmap.org/ nmap_stats/

Best regards,

Luis MartinGarcia.



_______________________________________________
Sent through the nmap-dev mailing list
http://cgi.insecure.org/mailman/listinfo/nmap-dev
Archived at http://seclists.org/nmap-dev/


--
Paulino Calderón Pale
Website: http://calderonpale.com
Twitter: http://twitter.com/calderpwn

_______________________________________________
Sent through the nmap-dev mailing list
http://cgi.insecure.org/mailman/listinfo/nmap-dev
Archived at http://seclists.org/nmap-dev/


Current thread: