Override certificate error in Cisco AnyConnect Client on Ubuntu 12.04 64 bit

Problem: Cisco Anyconnect client does not give an option to override the “invalid certificate error” and go ahead using the current certificate of the server.

Reason: The current libraries used by Anyconnect client does not support this feature.

Fix: Add libraries from Firefox, as below:

  1. If firefox is not installed, install firefox from Ubuntu Software Center.
  2. On terminal run: sudo cp /usr/lib/firefox/lib*.so /opt/cisco/vpn/lib/
  3. Restart Anyconnect client and connect to required host. The certificate acceptance prompt should appear now.

A Malayalam language text editor for MS DOS/Windows console

A console driven malayalam language editor. Serves as a reference to basics of bit mapping. Suits as a high school project or mid term project for undergraduate courses.

Download : Code | Windows Binaries

Note: Given on as is basis (written by author during high school – 1999 to 2001). Uses plain array as the character buffer – using a linked list would make it faster and can help reduce the flicker. Last successful compilation done almost a decade before.

If you want to create your own font for other languages, heres how –

  1. Make a cross reference of characters and the ascii of the keyboard button to relate that to.
  2. Get a “square line” book. ( one we used for doing maths at lower primary school)
  3. Reserve each page for each character.
  4. On a page outline a rectangle having 16 squares horizontally and 10 squares vertically.
  5. Draw each character inside the above rectangle.
  6. Mark “1”s in all squares where the character’s edges pass through. ( the blank boxes can be imagined as  zeroes). Now each character can be seen as 10 lines each having 16 ones or zeroes. This is the bitmap of the character, to be entered in the font-maker later.
  7. Do the above in a new page for each of the characters in the serial order defined in the cross reference.
  8. Compile and run fntmaker.cpp. Give any name for font file when prompted. Add each character as 10 lines of 1s and 0s (using the interactive menu).
  9. Compile and run refmkr.cpp. Give any name for the reference file when prompted. Enter each of the character to ascii mapping created in step 1.
  10. Rename the font file to font1 and ascii-to-character reference file to ref.

Update, August 2026 — the Windows binaries have been salvaged from the author’s original media and the download is working again (Sree.exe plus the kjxmal1 bitmap font). The C++ source archive could not be salvaged and remains lost.

Eclipse fails to start up in Ubuntu after installing Oracle Java

Problem: Eclipse fails to start, with message –

java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
	no swt-gtk-3740 in java.library.path
	no swt-gtk in java.library.path

Reason: Tries to find these libraries in the corresponding location for OpenJDK.

Fix:
In terminal,sudo gedit/etc/eclipse.ini
Append line (VM args section being last): -Djava.library.path=/usr/lib/jni
Save close the file.
Eclipse should launch successfully now.

Install LAMP on Ubuntu 12.04 LTS

To install LAMP server on Ubuntu –

On terminal, do –

sudo apt-get install tasksel
sudo tasksel install lamp-server

Test Apache

Go to URL http://localhost/ in the browser. The message “It Works!” should be displayed.

Test PHP

sudo vi /var/www/testphp.php

Add the line :

<?php phpinfo(); ?>

Save and close the file

Got to the URL http://localhost/testphp.php in the browser. The php status page should be displayed.

Test MySql

Open MySQL monitor In the terminal with the following command –

mysql -u <username> -p

Provide the username ( and password when prompted) which you had set during the setup above.
The program should advance to display the “msql>” prompt.
Close mysql monitor by command exit.

Fix : Ubuntu Boot error – Boot device not found (after partitioning)

Problem: Ubuntu gives the message “Boot device not found” after partitioning using Gparted (done from a usb instance).

Reason : Unknown. Could be that no partition was mapped to /boot.

Fix: Open terninal – Run these commands

  1. sudo mkdir /media/fix
  2. sudo mount /dev/sda2 /media/fix(replace /dev/sda2 by your drive name.)
  3. sudo chroot /media/fix su
  4. apt-get update
  5. apt-get upgrade

Reference: Zee’s 6 Step Ubuntu Fix

School TimeTable Creator

School timetable creator is a program to create Timetables for schools written in C++. The features are –

  1. Allows for manual setting of class teachers.
  2. Checks whether there are enough number of teachers to teach each subject before running timetable creation routines.
  3. Creates timetables in 5 seconds in most of the cases.
  4. Default date provided for testing straightaway.
  5. Common periods like MPT, CCA are supported.
The method followed is as follows –
  1. The subject list created according to the probability of occurrence of each subject. This subject list is used to distribute subjects to time slots, in accordance with teacher and subject level constraints.
  2. In case of a no go using above step, a subject swap is tried within same day.
  3. In case of a no go using above step, a subject swap is tried from a previous day.
  4. A recursive swap of time slots is done where an available teacher is introduced to the chain of swaps which solves the current conflict.

This can be a good project for high school/undergraduate course in Computer science. Please find the code here.

Update, August 2026 — this download was lost when the site went down and has been salvaged from the author’s original media. GTIMETBL.CPP is restored in full, along with the original MakeS.exe / Manager.exe binaries and sample data tables. The source depends on kjmenu.cpp and tmhdr.cpp, neither of which survived, so it will not compile as-is — but the binaries still run under DOSBox.

Hibernate calls hang after giving message “opening JDBC connection”

Bug: Hibernate calls hang after giving the message “opening JDBC connection” in the logs. No exception/error message is thrown.

Reason: Connection timeout not set for the connection pooled datasource.

Solution: Set connection timeout for the datasource. In case of a basic datasource (apache), add and set property maxwait to the number of microseconds after which a timeout error is to be thrown.

Hibernate Gives Connection Pool Error: Timeout waiting for idle object

Bug: Hibernate connection times out (after the maxWait duration set for the datasource), and gives error message in the log – “Timeout waiting for idle object”

Reason: Some operations were done using Hibernate session instead of Spring HibernateTemplate ; which were obtained using HibernateTemplate.getSession() function, and were not released by calling the HibernateTemplate.releaseSession();

Solution: Call this.releaseSession() from inside a spring-hibernateDao after the db operations. (ideally in a finally block).

ClassCastException for same class on slim3 for Google App Engine

Bug: A class cast exception like the following is thrown – class x.y.z.MyClass cannot be cast to class x.y.z.MyClass

Reason: The class loaders for both these class instances are different. One of the classloader is the usual one used by AppEngine JVM, while other one is used by the hot reloader.

Solution: Remove the Filter and Filter-Mapping for HotReloadingFilter from web.xml.