Thursday, November 26, 2009
Long DNS Resolving time in Ubuntu 9.10
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 |
| | 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
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
Monday, July 20, 2009
Windows Performance Monitor
Launch Perfmon
Left-hand pane, expand Performance Logs and Alerts, select Counter Logs
Right-click in right-hand pane, select New Log Settings & give it a name
Click Add Counters
Select Performance object: Process
Make your select of counter(s) & instance(s) - your process should be listed as an instance
Hint: Even if I want information on a specific process, I tend to select All counters and All instances, then just filter when I come to review the information
Click Add, then Close
Set your sample interval to suit (default is 1 per 15 seconds)
Click OK (and again if you get prompted that the folder you specified for the log does not exist)
When you want to start monitoring the process, right-click on the counter log and select Start (and later repeat but select Stop when you are ready to stop logging).
When you come to review the data, launch Perfmon and right-click on the graph then select Properties
Go to the Source tab and select Log files, then click Add
Browse to your .BLG file and add it, then click Apply
Select the Data tab and click Add - now you should only see all the processes that were running when you logged the data - find the instance(s) and counter(s) that are interesting and click Add for each, then Close
Click OK and you should see the logged information about the counter(s) selected - the default Y-axis is 0-100 so should work perfectly for percentage counters (for others you can manually the scale of the counter to make it fit, or the scale of the graph itself).
Hint: If you have multiple counters visible, use CTRL-H to highlight the selected one
Sunday, January 25, 2009
Install nvidia official drivers 180.22 on Ubuntu 8.10
https://help.ubuntu.com/community/NvidiaManual
I followed exactly on the instruction says, but the error:
Failed to initialize the NVIDIA kernel module
keeps poping up. And gnome can only start with the resolution of 640*480. After googling around a little bit, I found the following posts:
http://www.nvnews.net/vbulletin/showthread.php?t=38398
To sum up, here is what you need to do:
First, go to System-> Administration -> Hardware Drivers, and disable any active resticted drivers. Ironically, I felt like this step should have already been included in the official instructions posted on ubuntu wiki. However, apparently you need to do this by your own. Then, run
sudo cp -a /dev/nvidia* /etc/udev/devices/
It is funny that this step should have done by the nvidia installation script, well, judging from my m$ experiences. But NO! You still need to googling around and find the answer to it. Well, I am not sure if it is included in the nvidia README.txt, but I got no time to read through the 600 line instruction manual. To summarize, I do not think Ubuntu is for lazy people like me. It is still not a linux for human, as they claimed. It's sad.
Monday, January 19, 2009
Ubuntu 8.10 Intrepid freezing from idle or after suspension
Symptom: Freezing from idle or after suspension, LED of capslock frequently flashing.
Fix: sudo apt-get install linux -backports-modules-intrepid
Wednesday, January 14, 2009
Slow in opening media file with Mplayer/SMplayer in ubuntu
Friday, January 9, 2009
Resetup Virtualbox Installation
[code]sudo /etc/init.d/vboxdrv setup[/code]