Wednesday, August 8, 2012

Latex: Multirow Example


Recently, I found it difficult to create a table with multi-row and multi-column combination. Here is an simple example.

The latex code to create above table.

\begin{tabular}
{|c|c|c|c|}
\hline
\multirow{1}{*}{{1}} & \multirow{2}{*}{{2}} & \multirow{3}{*}{{3}} & \multirow{6}{*}{{6}} \\
\cline{1-1} \multirow{1}{*}{{1}} & & & \\
\cline{1-2} \multirow{1}{*}{{1}} & \multirow{2}{*}{{2}} & & \\
\cline{1-1} \cline{3-3} \multirow{1}{*}{{1}} & & \multirow{3}{*}{{3}}& \\
\cline{1-2} \multirow{1}{*}{{1}} & \multirow{2}{*}{{2}} & & \\
\cline{1-1} \multirow{1}{*}{{1}} & & & \\
\hline
\end{tabular}

Wednesday, July 25, 2012

Samsung Nexus S i9020a: OTA Update to JB 4.1.1 from 4.0.4

Several user have reported the following procedure as successful, but some failures were also reported. Try at your own risk:)

  1. Connect your charger! This is a prerequisite
  2. Go into airplane mode
  3. Under settings->apps->all (scroll the page to the left), 
      • select 'Google Services framework'
      • force stop it and 
      • then delete its data


  4. Enable wifi only (don't leave airplane mode)
  5. Settings->about->system updates->check for update.

Repeat this several times if it doesn't work at first. There is no need to remove the sim card or  reboot.

Monday, April 9, 2012

Samsung Nexus S i9020a: Update to ICS 4.0.4 from 2.3.4/2.3.6 (without rooting)

Update from 2.3.4 (GTJ61)/2.3.6 (GRK39C) to 2.3.6 (GRK39F)

  1. Download this file
  2. Rename the downloaded file to update.zip
  3. Put it update.zip you have downloaded on your sd card. 
  4. Turn off your device 
  5. Go to Bootloader (press&hold volume up button then press&hold power button) 
  6. When in Fastboot mode navigate to Recovery using volume up/down buttons 
  7. Press the power key to select Recovery 
  8. If you see a warning logo, press the power button and then press volume up button then release both to go to the Main Recovery menu
  9. From the menu, select Apply update from /sdcard, and choose update.zip from the list. 
  10. When update is finished go back and select reboot system now. 
Update from 2.3.6 (GRK39F) to 4.0.4 (IMM76D)

  1. Download this file
  2. Use the above steps again to update.
*** The same procedure should work for other devices as well but the file would be different. You will have to find the right update file.

Saturday, December 10, 2011

HowTo: Root HTC Droid Incredible || Android Phone

Follow the steps to get root access of a HTC droid incredible phone and install CyanogenMode Android OS using windows PC.

  1. Install HTC USB Drivers on your PC. Driver can be found here.
  2. Download this kit that contains adb, fastboot and other necessary scripts.
  3. Connect your phone with the PC via usb cable with USB Debugging enabled in the phone. (do not select file transfer mode for the sdcard).
  4. Download revolutionary from http://revolutionary.io/ and collect the Beta Key.
  5. Unzip the revolutionary-x.x.zip inside the folder where adb.exe is available.
  6. Run revolutionary.exe from command line.
  7. Then follow the steps from here to install CyanogenMode.

Wednesday, June 29, 2011

Creating EPS figure in Linux

Use the following steps to create eps figure in linux. 
  1. Use openoffice to draw the figure
  2. Export the file as figure.pdf
  3. Run $pdftops -eps figure.pdf. This will create a file figure.eps
  4. Run $cat figure.eps | ps2eps > MyFigure.eps. This will fix the bounding box of the eps file.

Thursday, June 23, 2011

HowTo: Build GNU RADIO with UHD


 Platform: Ubuntu Lucid 10.04/10.10

** All the following commands (in italic) are to be run at the shell.
  • CMAKE: Check if CMAKE is installed (just try to execute command cmake). If not installed then do the following.
    2. Unzip
    3. Goto the folder by $cd ~/cmake-X.X.X
    4. Run commands $./bootstrap; make; sudo make install
  • GIT: Check if GIT is installed (just try to execute command git). If not then install it from Applications->Ubuntu Software Center
  • LibUSB: If LibUSB is not installed...
    2. Unzip
    3. Goto the folder by $cd ~/libusb-X.X.X
    4. Run commands $./configure; make; sudo make install
  • GNURADIO Pre-Requisites:
    $sudo apt-get -y install libfontconfig1-dev libxrender-dev libpulse-dev swig g++ automake autoconf libtool python-dev libfftw3-dev \
    libcppunit-dev libboost-all-dev libusb-dev fort77 sdcc sdcc-libraries \ 
    libsdl1.2-dev python-wxgtk2.8 git-core guile-1.8-dev \
    libqt4-dev python-numpy ccache python-opengl libgsl0-dev \
    python-cheetah python-lxml doxygen qt4-dev-tools \
    libqwt5-qt4-dev libqwtplot3d-qt4-dev pyqt4-dev-tools python-qwt5-qt4
  • Download and Install UHD
    $git clone git://ettus.sourcerepo.com/ettus/uhd.git
    $cd ~/uhd/host/
    $mkdir build
    $cd build
    $cmake ../
    $make
    $make test
    $sudo make install
    $sudo ldconfig
  • Download and Install GNURADIO
    $git clone git://gnuradio.org/gnuradio.git
    $cd ~/gnuradio
    $git branch --track next origin/next
    $git checkout next 
    $./bootstrap
    $PKG_CONFIG_PATH=~/uhd/host/build/
    $export PKG_CONFIG_PATH
    $./configure --enable-gr-uhd
    $make
    $make check
    $sudo make install
    $sudo ldconfig
  • Configure USRP Support
    $sudo addgroup usrp
    $sudo usermod -G usrp -a <YOUR_USERNAME>
    $echo 'ACTION=="add", BUS=="usb", SYSFS{idVendor}=="fffe", SYSFS{idProduct}=="0002", GROUP:="usrp", MODE:="0660"' > tmpfile
    $sudo chown root.root tmpfile
    $sudo mv tmpfile /etc/udev/rules.d/10-usrp.rules
    $sudo udevadm control --reload-rules

Thursday, June 2, 2011

USPR2 and Boost Problem

USRP2 requires boost package for installation. As of today (2nd June, 2011) USPR2 is supposed to work with Boost 1.36 or greater but it doesn't for 1.45. After trying several versions, I got it working with Boost 1.41.