Texmaker

Texmaker is yet another GUI centric tool for LaTeX and a pretty good one. The latest edition (1.9.9) has been spruced up and looks pretty neat. One of the best features in Texmaker that is not available in other tools like Kile, LyX,  is the online spell-check. For a person like me who makes a billion spelling mistakes, the online spell-check is a savior. Texmaker is available across platforms for free. Check the download page for more details.

For Ubuntu users

$ sudo aptitude install texmaker

HDR Photography open source tool

Luminance HDR is an open-source tool for creating HDR images (for example). The idea is to take multiple shots with varying exposure across the dynamic range and then merge all of these together to create one beautiful HDR image.

The package name is called qtpfsqui and it is available via Ubuntu's package manager. I have not installed it yet, would be doing it later. I am waiting to get a tripod first. :)

Graphical SVN clients on Ubuntu

Two ways of doing it.

Kdesvn: (http://kdesvn.alwins-world.de/) - A client that works well with GNOME as well.

But, the winner is:

RabbitVCS: (http://rabbitvcs.org/). RabbitVCS integrates with Nautilus and works like glue. People used to TortoiseSVN on Windows won't miss a thing. Easy to configure and use.

On the same note, if you are looking for free hosting service for your project look at Unfuddle (for a free single user private account) or Google project hosting if you are looking for open-source.

PC Speaker

If you are getting mad by the sound of the PC Speaker while you are working in the console mode, kill it before it drives you mad.

sudo rmmod pcspkr

Update: It is better to do,

sudo modprobe -r pcspkr

Latex tip - how to include graphics

Tools

First convert your PNG file to EPS format. For that the png2eps can be used. To make png2eps work you would need to install the following:
  1. pngcheck (part of netpbm)
  2. pngtopnm (part of netpbm)
  3. pnmtotiff (part of netpbm)
  4. tiff2ps (part of libtiff-tools)
  5. sed basename bc (should come default with your distro)

$ sudo aptitude install pngcheck libtiff4 libtiff-tools netpbm
$ wget http://www.henlich.de/media/png2eps/png2eps
$ chmod a+x png2eps
$ ./png2eps myimage.png > myimage.eps

Using graphics

\documentclass[a4paper,10pt]{article}
\usepackage{graphics}
\usepackage{graphicx}

\begin{figure}
\caption{some figure}
\begin{center}
\includegraphics[bb=0 0 438 476]{myimage.eps}
\end{center}
\end{figure}


NOTE: Although I prefer PNG, if you have a jpj file, the jpg2eps tool can be used.

[Source: A PNG to EPS convertor, Images in LaTeX]

Update:
I have found it much easier to create illustrations in Dia and export them directly in the eps format. Dia is available for Windows, Mac and Linux.

Empathy has a long way to go!

The new IM client on 9.10, Empathy, is not at all impressive or may I say that I am so used to Pidgin that I had to switch back.

What is bad?
  1. Notification mechanism - when someone pings you, the new chat window does not show up but is hidden in the notification area, which is really weird
  2. Does not give too many options under preferences
  3. You can't search for contacts while they are offline (which is required because most of the people are invisible these days)
  4. You can't add a buddy pounce
  5. Empathy would always remember your password. If you tell it not to, it won't log you in and once you give your password, it stays there. (this is really weird)
  6. You can't close a conversation with the ESC key

The GREAT news is that Pidgin now supports voice and video, so can someone please tell me why they hell did Gnome decide to dump Pidgin for Empathy :-o

How to install Pidgin?

sudo aptitude install pidgin pidgin-themes pidgin-facebookchat pidgin-musictracker

Latex tip - don't forget to run bibtex

If you compile your .tex file and end up seeing an error ".bbl could not be located", after you open the .dvi file generated, you will notice that the reference section is missing. This is because in the first run LaTeX created the .aux file which needs to be fed to Bibtex which will generate the .bbl file.

So,

#1 $ latex source.tex
#2 $ bibtex source.aux (generated in Step #1)
#3 $ latex source.tex


Kile does this in one shot, it is able to figure out that bibtex needs to be run in the middle.

Q: Is there any another way to do this in one shot from the command line?

Sqlite

SQLite is a C library that implements an SQL database engine. Programs that link with the SQLite library can have SQL database access without running a separate RDBMS process. (src: aptitude show sqlite)

To install sqlite on Ubuntu

$ sudo aptitude install sqlite3

Help
SQLite documentation,
SQLite in 5 minutes or less,
Using SQLite for simple database storage
C\C++ API reference

Ubuntu 9.10 is here



Ubuntu 9.10 Karmic Koala is here. Download now or upgrade from existing installation.

Check the upgrade notes before going for an upgrade.

[Source: Upgrading to Ubuntu 9.10]

  1. Start System/Administration/Update Manager
  2. Click the Check button to check for new updates
  3. If there are any updates to install, use the Install Updates button to install them, and press Check again after that is complete
  4. A message will appear informing you of the availability of the new release
  5. Click Upgrade
  6. Follow the on-screen instructions
On the blog-sphere

Latex Math symbols


A good online reference to the different Math symbols in LaTeX. The file A.tex has all the symbols for ready reference.

Download the file
$ latex A.tex

Open DVI file in Evince or Okular.

Tools

You would need to install latex(TeX-Live). Also, KBibTex, Kile and Lyx are highly recommended tools

sudo aptitude install texlive-full kile kbibtex lyx

Ubuntu LaTeX help guide

Shared libraries

Remember

gcc -shared -Wl,-soname,your_soname -o library_name file_list library_list

Which means, if you have a.c and b.c

gcc -fPIC -g -c -Wall a.c
gcc -fPIC -g -c -Wall b.c
gcc -shared -Wl,-soname,libmystuff.so.1 \
-o libmystuff.so.1.0.1 a.o b.o -lc


Then create the symbolic links to libmystuff.so and libmystuff.so.1 from libmystuff.so.1.0.1 and don't forget to add the libraries to the standard path /usr/local/lib OR add the path to LD_LIBRARY_PATH before executing.

More details: Creating shared libraries
Very good How-To: Link

pthread

A very good one-shot tutorial to the POSIX thread libraries (pthread). Talks all about threading, synchronization and scheduling with example code.

Deadline scheduling for Linux kernel

A new scheduler class has been proposed for including deadline based scheduling algorithms like EDF
The public git repository is available on gitorious
git clone git://gitorious.org/sched_deadline/linux-deadline.git