Wednesday, October 23, 2013

Good techniques for understanding someone else's code

When working with production code the first thing that I always do is to get the current code built and working - and verify that it is as per the production system.
Always aim to understand the minimum possible, and assume that the rest of the code is working as it should (even if it isn't - it's the mental process that is important).
Try to understand the big stuff first - how each part of the code hangs together and what is being achieved at a high level, then work downwards.
A large sheet of paper and a pack of 10cm^2 post-it notes always help me along. Each post-it is a component of the system, and I can move them to aid understanding.

(http://stackoverflow.com/questions/246546/good-techniques-for-understanding-someone-elses-code)

KDE application window settings

Auto stretch ?
KDE Forums / Windows auto-resize width : http://forum.kde.org/viewtopic.php?f=66&t=97839
Window rules
  • Configure settings specifically for a window
System Settings > Window Behavior > Window Rules
Special Window/Application Settings
Right click the window border > Advanced > Special Window/Application Settings > Size & Position
Size - Remember



enter image description here

(http://askubuntu.com/questions/103358/how-can-i-get-kubuntu-to-respect-previous-window-sizes)




































Tuesday, October 15, 2013

Doxygen on Ubuntu 12.04

Doxygen [almost full functionality] install on Ubuntu/Kubuntu 12.04

(let's suppose build-essential, texlive packages are installed)

install dependencies (for some reason it didn't work on a single line):

  sudo apt-get install flex
  sudo apt-get install bison 

get libiconv at
http://www.gnu.org/software/libiconv

install it
  sudo ./configure --prefix=/usr/local
  sudo make
  sudo make install

The manually compiled libiconv must be visible at execution time,
so modify your console profile (ex: ~/.bashrc) to to see the lib:

  export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH

install Qt4 (5 not yet supported by Doxygen as of now)

  sudo apt-get install qt4-dev-tools qt4-designer
 
Download doxygen sources to a temp directory. Configure the Doxygen installation from the temp directory


 sudo ./configure --with-doxywizard
 
Attempt to compile the sources:
 
sudo make

This will probably fail, but in the process, the file Makefile.doxygen will be created. Modify this makefile:


  sudo favorite_editor ~/temp/doxygen-1.8.5/src/Makefile.doxygen

at line

  LIBS    =    -L../lib -ldoxygen -ldoxycfg -lqtools -lmd5 -lpthread -liconv


that -liconv is there, if not, add it.

Finish with installation:

  sudo make
  sudo make install
 
Generate doc if desired

  make pdf


Wednesday, October 9, 2013

SVN basic merging

http://svnbook.red-bean.com/en/1.7/svn.branchmerge.basicmerging.html