Thursday, May 13, 2010

Apache Collection

Change Default Directory:

sudo vim /etc/apache2/sites-available/default

Start/Stop Apache server:

sudo /etc/init.d/apache2 start/stop

Friday, January 22, 2010

Can't find .xsession in ubuntu karmic?

here is what happened:

Xsession
The very first thing I noticed was that I was not able to start my beloved window manager xmonad using my .xsession file; the option was conspicuously missing from the set of allowed sessions.

As it turns out, the Gnome developers decided that Xsession should not be an option by default, and that system administrators should manually install a package that adds support for it. Ubuntu, of course, was blithely unaware.

After a lot of experimentation (and a wrong desktop file supplied by Ray Strode), creating the file /usr/share/Xsessions with the following contents fixes the problem:

[Desktop Entry]
Name=Xsession
Comment=This runs ~/.xsession
Exec=/etc/X11/Xsession

via: http://ezyang.com/karmic.html

Saturday, January 2, 2010

Tether Palm pre without apps

http://forums.precentral.net/web-os-development/191082-tethered-pre-without-any-apps-ssh-scripts.html

1) ssh to the phone, sudo to root and go to /usr/bin

2) cp PmNetConfigManager PmNetConfigManager.orig just in case you mess something up

3) stop PmNetConfigManager

4) vi PmNetConfigManager and do a find for "forward" (with vi you use / then the string you are looking for)

5) the fourth "forward" you find should say "Disabling IP Forwarding^@0^@^@^@"

6) change the 0 to a 1, save and quit

7) iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

8) echo 1 > /proc/sys/net/ipv4/ip_forward

8) start PmNetConfigManager

Thursday, November 26, 2009

Long DNS Resolving time in Ubuntu 9.10

It all begins after the first update of a fresh ubuntu 9.10 install. Everytime I opened a browser and go any website, it takes 5-10 seconds for it to resolve the DNS. This applies to both Chrome and Firefox. I did tons of research on the internet. Lots of people concluded it is caused by the new DNS mechanism in Firefox 3.5. In this version, Firefox tend to use ipv6 to resolve DNS at first. Then after 3 failures, it will start to use ipv4. So people suggested to config firefox so that ipv6 is disabled. Also, some others suggested this is not enough, an update on the Grub to completely block ipv6 is necessary. I tried both, but neither of them solves the issue.

By "time dig www.google.ca", it still takes nearly 5 sec to "looking for host".

Then I read this:

http://www.unixmen.com/linux-tutorials/567-internet-connexion-is-very-slow-on-karmic-koala-solution-

By manually specifying DNS address (I got it from my router's config, do not use your router as the DNS server), the issue is solved.

Wednesday, November 25, 2009

100 Vim commands a programmer should know

From: http://www.catswhocode.com/blog/100-vim-commands-every-programmer-should-know

Search

/word Search “word” from top to bottom
?word Search “word” from bottom to top
/jo[ha]n Search “john” or “joan”
/\<> Search “the”, “theatre” or “then”
/the\> Search “the” or “breathe”
/\<> Search “the”
/\< ….\> Search all words of 4 letters
/\/ Search “fred” but not “alfred” or “frederick”
/fred\|joe Search “fred” or “joe”
/\<\d\d\d\d\> Search exactly 4 digits
/^\n\{3} Find 3 empty lines
:bufdo /searchstr/ Search in all open files

Replace

:%s/old/new/g Replace all occurences of “old” by “new” in file
:%s/old/new/gw Replace all occurences with confirmation
:2,35s/old/new/g Replace all occurences between lines 2 and 35
:5,$s/old/new/g Replace all occurences from line 5 to EOF
:%s/^/hello/g Replace the begining of each line by “hello”
:%s/$/Harry/g Replace the end of each line by “Harry”
:%s/onward/forward/gi Replace “onward” by “forward” , case unsensitive
:%s/ *$//g Delete all white spaces
:g/string/d Delete all lines containing “string”
:v/string/d Delete all lines containing which didn't contain “string”
:s/Bill/Steve/ Replace the first occurence of “Bill” by “Steve” in current line
:s/Bill/Steve/g Replace “Bill” by “Steve” in current line
:%s/Bill/Steve/g Replace “Bill” by “Steve” in all the file
:%s/\r//g Delete DOS carriage returns (^M)
:%s/\r/\r/g Transform DOS carriage returns in returns
:%s#<[^>]\+>##g Delete HTML tags but keeps text
:%s/^\(.*\)\n\1$/\1/ Delete lines which appears twice
Ctrl+a Increment number under the cursor
Ctrl+x Decrement number under cursor
ggVGg? Change text to Rot13

Case

Vu Lowercase line
VU Uppercase line
g~~ Invert case
vEU Switch word to uppercase
vE~ Modify word case
ggguG Set all text to lowercase
:set ignorecase Ignore case in searches
:set smartcase Ignore case in searches excepted if an uppercase letter is used
:%s/\<./\u&/g Sets first letter of each word to uppercase
:%s/\<./\l&/g Sets first letter of each word to lowercase
:%s/.*/\u& Sets first letter of each line to uppercase
:%s/.*/\l& Sets first letter of each line to lowercase

Read/Write files

:1,10 w outfile Saves lines 1 to 10 in outfile
:1,10 w >> outfile Appends lines 1 to 10 to outfile
:r infile Insert the content of infile
:23r infile Insert the content of infile under line 23

File explorer

:e . Open integrated file explorer
:Sex Split window and open integrated file explorer
:browse e Graphical file explorer
:ls List buffers
:cd .. Move to parent directory
:args List files
:args *.php Open file list
:grep expression *.php Returns a list of .php files contening expression
gf Open file name under cursor

Interact with Unix

:!pwd Execute the “pwd” unix command, then returns to Vi
!!pwd Execute the “pwd” unix command and insert output in file
:sh Temporary returns to Unix
$exit Retourns to Vi

Alignment

:%!fmt Align all lines
!}fmt Align all lines at the current position
5!!fmt Align the next 5 lines

Tabs

:tabnew Creates a new tab
gt Show next tab
:tabfirst Show first tab
:tablast Show last tab
:tabm n(position) Rearrange tabs
:tabdo %s/foo/bar/g Execute a command in all tabs
:tab ball Puts all open files in tabs

Window spliting

:e filename Edit filename in current window
:split filename Split the window and open filename
ctrl-w up arrow Puts cursor in top window
ctrl-w ctrl-w Puts cursor in next window
ctrl-w_ Maximise current window
ctrl-w= Gives the same size to all windows
10 ctrl-w+ Add 10 lines to current window
:vsplit file Split window vertically
:sview file Same as :split in readonly mode
:hide Close current window
:o nly Close all windows, excepted current
:b 2 Open #2 in this window

Auto-completion

Ctrl+n Ctrl+p (in insert mode) Complete word
Ctrl+x Ctrl+l Complete line
:set dictionary=dict Define dict as a dictionnary
Ctrl+x Ctrl+k Complete with dictionnary

Marks

mk Marks current position as k
‘k Moves cursor to mark k
d’k Delete all until mark k

Abbreviations

:ab mail mail@provider.org Define mail as abbreviation of mail@provider.org

Text indent

:set autoindent Turn on auto-indent
:set smartindent Turn on intelligent auto-indent
:set shiftwidth=4 Defines 4 spaces as indent size
ctrl-t, ctrl-d Indent/un-indent in insert mode
>> Indent
<< Un-indent

Syntax highlighting

:syntax on Turn on syntax highlighting
:syntax off Turn off syntax highlighting
:set syntax=perl Force syntax highlighting

Sunday, September 13, 2009

add public key

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 247D1CFF

Tuesday, July 21, 2009

Hard Drive Access Time

Hard Drive Latency

Mechanical latencies, measured in milliseconds, include both seek time and rotational latency. "Seek Time" is measured defines the amount of time it takes a hard drive's read/write head to find the physical location of a piece of data on the disk. "Latency" is the average time for the sector being accessed to rotate into position under a head, after a completed seek. It is easily calculated from the spindle speed, being the time for half a rotation. A drive's "average access time" is the interval between the time a request for data is made by the system and the time the data is available from the drive. Access time includes the actual seek time, rotational latency, and command processing overhead time.

Collected From: http://www.pctechguide.com/31HardDisk_Performance.htm