I am a software developer
I don't want to build software
I want to build experiences!
Eclipse was my IDE of choice. I liked the Python support with Pydev extension, Git integration, multiple project management and Task/Todo support among other things. I have written about some of these before.
What I didn’t like was the high memory usage. Tried a number of things - updating Eclipse and JDK, making sure 64-bit Java is used for the VM, disabling or removing features/plugins not used and closing unused projects. It didn’t help much - ~300MB RAM with a single project opened in workspace!
I have been using Vi/Vim for a long time (~10 years) but only for simple tasks. I even got a book but the learning process was slow. On second thought, I realized it will be quicker if I noted down the features I wanted and focus only on them. So, I came up with this list
I’ve got most of this setup thanks to some really good blog posts, wiki articles and stackoverflow posts [see Links below]. Here is my vimrc. I use solarized for the color scheme and Inconsolata font at 10pt.
Find and highlight occurrences of a word
Press * while cursor is on the word.
To remove highlight, use
:set nohl
Close a file
Also known as delete a buffer.
:bd
Print margin at column 80
This is useful if you want to restrict the number of characters per line.
:set cc=80
For more information, check “Right margin in Vim”
Display line number
:set number
Diff of 2 files
:vert diffsplit second_filename
This did not work on the windows version of vim 7.3. Remove or comment out
set diffexper
in vimrc. You will then need to install diff. I used diff.exe that came
with Git. For more information check
Running diff.
No Qt development (qt-devel) RPM in the SLES 10 SP1 DVD.
The devel files were part of the SDK. Could not download SLES 10 SP1 SDK from Novell (No longer available). The official installer did not work.
./Qt_SDK_Lin64_offline_v1_2_en.run:
/usr/lib64/libstdc++.so.6:version `GLIBCXX_3.4.9' not
found (required by ./Qt_SDK_Lin64_offline_v1_2_en.run)
Cannot upgrade libstdc++ at the moment!.
Downloaded the latest available SDKs for SLES 10 from Novell http://download.novell.com/Download?buildid=JETn_0Tw_XM~
Extracted qt-4.3.4-0.7.1.src.rpm from the 2nd DVD iso
Built RPM from the source RPM
rpmbuild -bb qt.spec
This stopped with error: Failed build dependencies:
cups-devel is needed by qt-4.3.4-0.7.1.x86_64
libjpeg-devel is needed by qt-4.3.4-0.7.1.x86_64
libmng-devel is needed by qt-4.3.4-0.7.1.x86_64
libtiff-devel is needed by qt-4.3.4-0.7.1.x86_64
dbus-1-devel is needed by qt-4.3.4-0.7.1.x86_64
Installed all the above packages using zypper
Compile was successful but these rpmbuild errors occured
suse_update_desktop_file
Due to a bug in /usr/lib/rpm/suse_macros
https://bugzilla.novell.com/show_bug.cgi?id=166170.
unpackaged files found
Updated spec file to include them in sql package.
Removed existing Qt installation and installed new RPMS
zypper rm qt qt-qt3support qt-sql qt-x11
RPM’s installed in this order
qt qt-sql dbus-1-qt qt-x11 qt-qt3support qt-devel
You can download the RPM spec file from http://db.tt/3y0MzGpY
The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog.
Here’s an excerpt:
The concert hall at the Syndey Opera House holds 2,700 people. This blog was viewed about 31,000 times in 2011. If it were a concert at Sydney Opera House, it would take about 11 sold-out performances for that many people to see it.
Some things I’ve learnt recently.
1
| |
1
| |
1
| |
This is a tutorial I delivered at PyCon Ireland 2011.
A quick introduction to developing a GUI to a command line program using PyQt. I used the sphinx-build command from Sphinx documentation project as an example.
The basic command for generating HTML documentation from source is
sphinx-build sourcedir outdir
A GUI (dialog) was designed using Qt Designer to replicate the functionality of the command above. This was then converted to Python code and then a main application was written to make use of the dialog.
Slides for the talk: slides.pdf
Code repository: https://github.com/vkvn/sphinx-build-qt/
You can clone the repo using
git clone git://github.com/vkvn/sphinx-build-qt.git
and checkout like this
1 2 | |
This code works unaltered on Windows too. Thanks to Qt! You would need to have the
C:\Python2*\Scripts in your PATH or wherever you’ve got sphinx-build
installed.
This was a short introduction on using Python with SQL databases that I delivered to a group of visiting researchers.
Slides : python-databases.pdf
Code: https://github.com/vkvn/python-databases
Just created a repository for the Sphinx themes I have been creating for various documentation projects. These themes were created by modifying base themes included with Sphinx. Here are some screenshots.
You can clone or fork the github repo.
conf.py of an existing Sphinx project or create a new
Sphinx project using sphinx-quickstart.html_theme parameter to match the theme name (agni, jal or vlinux-theme).html_theme_path to location of the downloaded theme.CyanogenMod 7 (Android 2.3/Gingerbread) port for Milestone is now available (RC4, but quite stable) - http://android.doshaska.net/cm7
Instructions to update are similar to what I have posted before except there is no need to install OpenRecovery and all three data wipe options should be used including Factory reset.
NOTE: This is going to wipe out all your data. So, backup first!
Also, latest version of Google apps for CM7 needs to be installed.
Honeycomb theme for CM7. Download here.
Honeycomb live wallpaper from Android Market
Power control, Google search, Beautiful Widgets, Google Reader and LauncherPro
Analog Clock from the Honeycomb theme
Also includes Music widget.
New icons from Honeycomb theme
Keyboard
I was trying to do this today and came across couple of different ways
of including content from other documents. My first attempt was to use
.. literalinclude:: but that is only good for including code or text.
What I wanted was to include sections from other documents into the current
document so that any changes made in them will also be reflected in the
document where it was included. This can be done using the .. include::
ReST directive.
Lets take this document usage.rst as an example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Lets say you want to include the Command section. Mark this section by
adding markers like this. In this case begin-command and end-command
is used. This is not really necessary and any string could be used as a
marker but I feel this gives better control as to what is included.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
Note
Spacing is essential.
The .. at the beginning of a line makes it a comment. It will not be included in the final document
To include this section in a different document, add this
1 2 3 | |
Note
The / in the beginning of the path refers to the top level i.e., the ‘source’ directory.
If the file is in the same directory, just filename is sufficient
http://docutils.sourceforge.net/docs/ref/rst/directives.html#including-an-external-document-fragment
Just came to know about Arista, a transcoder for Linux from the Linux Action Show. It was in the pacman repo for openSUSE. Used a 170mb flash video and converted it using the Milestone (Droid/Milestone) preset. The resulting MP4 video was around 143mb. Arista can also generate videos in a number of formats including WebM.
Didn’t know that feature existed!
This is a copy of the post I made in the forums about compiling Boxee from source code under openSUSE 11.3.
I had the required libraries installed before. Most of them can be found in the openSUSE oss or the Packman repositories.
Download the latest sources boxee-sources-0.9.23.15885.tar.bz2
1 2 | |
1 2 3 | |
I only enabled this, you can get all the options using ./configure --help
This resulted in the first error message
1 2 3 | |
config.log had this
1 2 3 | |
libsamplerate and libsamplerate-devel were installed but for some reason
pkg-config was not finding it. I uninstalled both of them after ignoring
the dependencies (not good, I know but wanted to get it to work. besides
this is my test machine…), downloaded the sources for libsamplerate from
http://www.mega-nerd.com/SRC/download.html.
The latest version is 0.1.7
1 2 3 4 5 6 | |
Back to the boxee-sources-0.9.23.15885 directory and running configure
1
| |
Worked fine this time. I then did a
1
| |
There were two undefined references during make. One was related to
TP*Policy and the second ones were referring to mms* functions.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
I found the following posts in forums related to these
http://forums.boxee.tv/showthread.php?t=19958
http://forums.boxee.tv/showthread.php?t=23621
Using information from forums, added the following to end of LIBS configuration in the
Makefile
1
| |
I’ve attached my Makefile with this post
After this, I had to run
1
| |
twice to build the Boxee executable. This was always the case. I have no idea why this is.
Run boxee using
1
| |
or create a symlink to ~/bin
I have tested few apps like Youtube, Revision3, Cnet and Earth-Touch. They all work fine.
PortableApps makes it easy to carry programs on a USB stick. It can also be installed on a hard disk. With the latest beta, it is possible to keep all applications updated automatically.
Launcher in the system tray --> Manage Apps --> Check For Updates
This is a really nice as it eliminates the need to download and update individual programs, as is currently the case with Windows.
Install Gmote on the computer. In Linux, extract the archive and run
./GmoteServer.sh
Install Gmote 2.0 from the Android market.
The phone and computer should be on the same network.
Open Gmote on the phone, bring up the menu and tap Find server.
Browse to play audio/video file and choose the option to play it
on the phone. That’s it!
Links:
Gmote http://www.gmote.org
Today, I had to disable access to some
PostgreSQL databases temporarily.
This can easily be done using pgAdmin.
Under database properties, set Connection Limit to 0 from the default(-1).
The corresponding SQL statement is
1
| |
When you are ready to allow connections, change this back to -1.
Bioinformatist.org is a wiki providing instructions for installation of software used in Bioinformatics. It requires a new logo. Here is something I came up with. Suggestions and comments welcome.
Two designs based on feedback
Decided to go with the second one.
Used icons from the wonderful Faenza theme by tiheum as a base.
I have now upgraded to CyanogenMod 7 (based on Android 2.3). Please check this post for details. Steps are similar to what is mentioned here.
This post is about how I got CyanogenMod installed and running on the Motorola Milestone. More information on CyanogenMod can be found here or here. The Milestone port of CyanogenMod was made by nadlabak
Read! Read! Read!
Proceeding further means you understand what you are doing. I am not responsible for any damages that might occur! This might also void your warranty. This worked for me.
Data on SD card like photos, music will not be affected. SMS messages, call logs and music playlists will be removed. If you have lots of messages, you could try one of the SMS Backup apps from the market, which will save all messages to GMail or SD card. It would be wise to check on a per-app basis to see if data is stored locally or in the cloud.
Without this, remaining steps will not work! Please see this link for instructions.
http://code.google.com/p/androidiani-openrecovery/downloads/list.
Version as of this writing: OpenRecovery-3_3.zip
Use the USB cable and connect in mass-storage mode (Memory card access).
Copy extracted folder to the root of SD card. You will have a folder called OpenRecovery and a zip file called update.zip
http://code.google.com/p/cyanogenmod4milestone/downloads/.
Version as of this writing: update-cm-6.1.2-0.05-10.12.27-Milestone-signed.zip
Copy the zip file to sdcard/OpenRecovery/updates.
Google apps are not included in the CyanogenMod ROM. To get them, download HDPI version for CyanogenMod 6 from http://wiki.cyanogenmod.com/index.php?title=Latest_Version/Google_Apps.
Version as of this writing: gapps-hdpi-20101114-signed.zip
Make sure the Phone is fully charged. Power off and start in recovery mode.
Press and hold the camera button and power on the phone. You will see a screen like the one below.
Press the volume up button and the camera button simultaneously to bring the recovery menu
Using the volume button, highlight the second option apply sdcard:update.zip
Use the middle button on the d-pad of the hardware keyboard to select the highlighted option. This will launch the Androidiani OpenRecovery that was downloaded in the second step.
Using the volume keys, select the three wipe options below and apply them using the d-pad:
Still in OpenRecovery, select Apply Update option and then select the update-cm-6.1.2-0.05-10.12.27-Milestone-signed.zip
Confirm using the d-pad. Once that completes, use the Go Back menu option and choose Reboot system
You should now see the CyanogenMod logo when the phone boots.
Follow steps 1-4 of Flash CyanogenMod, click Apply Update and select gapps-hdpi-20101114-signed.zip
This will install Google apps and the procedure is now complete. You will need to sign in again to GMail, Facebook, Twitter and other services.
The stats helper monkeys at WordPress.com mulled over how this blog did in 2010, and here’s a high level summary of its overall blog health:
The Blog-Health-o-Meter™ reads This blog is on fire!.
A Boeing 747-400 passenger jet can hold 416 passengers. This blog was viewed about 11,000 times in 2010. That’s about 26 full 747s.
In 2010, there were 10 new posts, growing the total archive of this blog to 16 posts. There were 105 pictures uploaded, taking up a total of 24mb. That’s about 2 pictures per week.
The busiest day of the year was December 8th with 141 views. The most popular post that day was Howto: Connect to a PPTP VPN server using Kvpnc.
The top referring sites in 2010 were embraceubuntu.com, outgoing.mozilla.org, ubuntuforums.org, twitter.com, and thunderbird-mail.de.
Some visitors came searching, mostly for android ssh tunnel, movie15 latex, ssh tunnel android, sshfs sles10, and kvpnc pptp settings.
These are the posts and pages that got the most views in 2010.
1 comment20 comments2 comments4 commentsTake up one idea. Make that one idea your life - think of it, dream of it, live on idea. Let the brain, muscles, nerves, every part of your body, be full of that idea, and just leave every other idea alone. This is the way to success.
– Swami Vivekananda –