Analysis of Algorithms

If you were interested in algorithms and interested in some mathematical foundations for algorithm analysis? For example if you are interested in proof techniques, probability, Amortization analysis techniques, Case studies and Asymptotic notions (such as Big-Oh, Big-Omega, Little-oh, little-omega, Big-Theta) then check out these lecture notes (in ppt, 224kb) from California State University.

Interesting Find #21

Next post in the Interesting Find series.
  1. InstEd It – an interesting tool that allows one to edit MSI files – handy when you don’t want to install the full Windows SDK just to get the Orca editor. (you can also just download the SDK samples and use that instead of the full SDK).
  2. WHS backup to LAN – If for some reason you don’t want to use WHS’s built-in backup option and prefer to back it up to LAN
  3. 10 Beautiful Login screen for Ubuntu – very nice themes to change your login screen.
  4. Fast Car Wallpapers – name says it all.
  5. Microsoft Pivot – Pivot makes it easier to interact with massive amounts of data in ways that are powerful, informative, and fun.
  6. PlantUML – UML add-in (jar file) for Eclipse. You cannot draw a diagram, instead you describe it using a language.
  7. Papyrus 4 UML – another UML add-in (also for Eclipse), which seems to be more professional looking than PlantUML. However this does not support Activity diagrams (yet), which PlantUML does.
  8. Spinlocks, page frame number locks (and the meaning of life) – I don’t think any more needs to be said. 🙂
  9. – write upside down (: sıɥʇ ǝʞıl.
  10. Google Goggles – use pictures to search the web.
  11. Haystack – very interesting idea which encrypts your data and then hides it in regular http traffic. Mainly used to help out the citizens of Iran, but useful elsewhere as well.
  12. BeRTOS – a real-time OS hits a major stable milestone.

RDP from Ubuntu

I did not know until today that there is something called gnome-rdp using which one can RDP to Windows machines from Ubuntu (or any other linux flavour I imagine). Installation is simple on Ubuntu, with it available in Synaptic Package Manager. To start it you can type in gnome-rdp in a console or go to Applications -> Internet -> Gnome-RDP. Once it has started, usage is quite simple – though you might want to change the remote desktop size and colours. Interestingly this also supports VNC and SSH.

Finding out which version of Ubuntu you are running

If you ever need to find out which version of Ubuntu you are running (if you have a few machines it is quite easy to forget what is running where), the easiest way is to run the following command in a terminal:

cat /etc/issue

For example here is the output from the machine I am on now:

amit@xps:~$ cat /etc/issue
Ubuntu 9.04 \n \l

Printing code and making it look pretty

If you are on Linux and want to print some code and also make it look pretty then check out a2ps (Any to postscript filter). Of course if you can avoid printing in the first place and saving paper and trees and make it greener that is ideal – however there are times that is not possible. I tried printing from CDT, but the printing options from CDT just looks plain ugly and big fonts and can spread over 10 pages for a simple code file (spanning 293 lines). Sure I can tweak the font in CDT, but that is the only option available – enter a2ps. It seems to have more options, but I have not had a chance to play with those.

For example if I wanted a C++ code file called MOOSSniffer.cpp and “print it” out as PDF then use the command shown below. Here “-E” is the option to make the code look pretty and the “-P pdf” is the option for printing to PDF. Next comes the source file (you can also provide multiple files such as *.cpp) and finally the -o option is for the output filename. Of course you will need to install a2ps, which you can do via System -> Admin -> Synaptic Package Manager

a2ps -E -P pdf MOOSSniffer.cpp -o MOOSSniffer.pdf

Now, for some reason the resulting PDF could not be opened in Acrobat Reader, but on my Ubuntu machine, I could open it using the “Document Viewer” and print it using that. And in case you were curious, the pretty page option came to 3 pages instead of the original 10.

Also no trees were harmed in the making of this post – my printouts were all to PDF and not real paper – but in the end I did print out the 3 page version. 🙂