Thursday, April 26, 2012

Boston vs. Capital (NHL playoff series 2012)

I used to watch hockey (World Cup, Olympic Games) but did not follow the sport for about 10 years. Last few years I was following Washington Capitals in playoffs. They have good team in last few years but experienced bad luck in playoffs.

This year the had not a very good season but played well in first round - eliminating current Stanley Cups holders (Boston Bruins).

Both team played great hockey and I enjoyed every game of the series.

Go Capitals!


Saturday, April 21, 2012

Udacity CS101

I just received first Udacity certificate with high distinction (Building Search Engine).

Thursday, April 12, 2012

Lunch & Learn

I just have 1 hour Lunch & Learn presentation at work. I talked about Python. The presentation went well.

Wednesday, April 11, 2012

Display and replace invisible characters in VIM

set list
setlocal display=uhex
tr -d '\000' < file_in.py > file_out.py

Install Screen on RHEL 5.5

1. Download RPM from
  http://www.rpmfind.net/linux/rpm2html/search.php?query=screen
2. wget ftp://195.220.108.108/linux/centos/5.8/os/x86_64/CentOS/screen-4.0.3-4.el5.x86_64.rpm
3. rpm -ivh screen-4.0.3-4.el5.x86_64.rpm


Screen Tutorial

Tuesday, April 10, 2012

Upgrade to Python 2.5.6 on RHEL 5.5

Here are upgrade instructions for Python 2.4 to Python 2.5.6:
1. http://www.python.org/ftp/python/2.5.6/Python-2.5.6.tgz
2. tar xzf Python-2.5.6.tgz
3. cd Python-2.5
4. ./configure
5. $ make
6. sudo make altinstall
7. sudo mv /usr/bin/python /usr/bin/python_old_2.4
8. sudo ln -s  /usr/local/bin/python2.5 /usr/bin/python

Validate:
# python -V
Python 2.5.6

Friday, April 6, 2012

Wednesday, April 4, 2012

InnoDB Performance Tuning

InnoDB becomes the default storage starting from MySQL 5.5. InnoDB is a transaction, ACID complaint MySQL storage engine (including commit, rollback and crash recovery capabilities, and offers row level locking.

I worked on data migration of millions records from Vignette VCM to Drupal 6. Drupal migrate module is not stable and does not perform well on large data sets. So I rewrote migration using raw SQL queries and modify my.cnf settings. Here some useful settings:

innodb_flush_log_at_trx_commit=1 
Set to 1 if database transaction is more important than performance. Set to 2 if performance is more important than transaction.
innodb_log_file_size=1024M Set the log file size to about 25% of the buffer pool size.
innodb_file_per_table Increase performance in optimize, backup, restore, compress and truncating a table
innodb_buffer_pool_size=4G Default is 128M. 70-80% of memory for dedicated 64bit MySQL server.
Disable AUTOCOMMIT When you need to INSERT lots of data, first call SET AUTOCOMMIT = 0;then execute INSERT statements followung by a manual COMMIT;
Useful Links: InnoDB Performance Tuning Recommended my.cnf Settings for InnoDB

The Five W's of Life

Who - you are is what makes you special. Do not change for anyone
What - lies ahead will always be a mystery. Do not be afraid to explore
When - life pushes you over, you push back harder
Where - there are choices to make, make the one you wont regret
Why - things happend will never be certain. Take it in stride and move forward