rails new blog -d postgresql
Nov 19, 2012
Aug 7, 2012
The performance of SAMSUNG 830 Series 2.5-Inch 256GB on Mountain Lion
Here is the result from Xbench:
Results 565.10
System Info
Xbench Version 1.3
System Version 10.8 (12A269)
Physical RAM 8192 MB
Model MacBookPro8,2
Drive Type SAMSUNG SSD 830 Series
Disk Test 565.10
Sequential 374.59
Uncached Write 593.36 364.31 MB/sec [4K blocks]
Uncached Write 598.18 338.45 MB/sec [256K blocks]
Uncached Read 164.58 48.17 MB/sec [4K blocks]
Uncached Read 803.01 403.59 MB/sec [256K blocks]
Random 1149.93
Uncached Write 847.69 89.74 MB/sec [4K blocks]
Uncached Write 967.11 309.61 MB/sec [256K blocks]
Uncached Read 2547.83 18.05 MB/sec [4K blocks]
Uncached Read 1146.40 212.72 MB/sec [256K blocks]
After trim enabler:
Results 563.27
System Info
Xbench Version 1.3
System Version 10.8 (12A269)
Physical RAM 8192 MB
Model MacBookPro8,2
Drive Type SAMSUNG SSD 830 Series
Disk Test 563.27
Sequential 373.48
Uncached Write 583.23 358.09 MB/sec [4K blocks]
Uncached Write 596.24 337.35 MB/sec [256K blocks]
Uncached Read 164.58 48.17 MB/sec [4K blocks]
Uncached Read 804.85 404.51 MB/sec [256K blocks]
Random 1145.28
Uncached Write 1268.14 134.25 MB/sec [4K blocks]
Uncached Write 705.85 225.97 MB/sec [256K blocks]
Uncached Read 2562.21 18.16 MB/sec [4K blocks]
Uncached Read 1114.80 206.86 MB/sec [256K blocks]
Almost the same, as expected.
Posted by Lono at 21:02 0 comments
Apr 25, 2012
HOWTO: use pathogen to manage vim plugins
I am now using pathogen and GitHub to manage my vim plugins.
They are not difficult to use, but you need a few git commands to set it up, which I found very annoying.
To init .vim folder in Linux (or vimfiles for Windows), type:
mkdir .vim
cd .vim
git init
wget https://raw.github.com/tpope/vim-pathogen/HEAD/autoload/pathogen.vim -P ~/.vim/autoload
git add .
git commit -m 'initial commit'
To install each vim plugin, type: (here I use neocomplcache-snippets-complete as an example)
git submodule add https://github.com/Shougo/neocomplcache-snippets-complete.git bundle/neocomplacahe-snippets-complete
git add .gitmodules bundle/neocomplcache-snippets-complete
git submodule init
Posted by Lono at 10:45 0 comments
Labels: VIM
Apr 16, 2012
iOS errors
Posted by Lono at 06:44 0 comments
Apr 13, 2012
How To: Install TouchXML for ios
1. download TouchXML from github
2. add the sources to your project
3. In project->build settings->header search paths:
add /usr/include/libxml2
4. In project->targets->build phases->link library with binaries:
add "libxml2.2.7.3.dylib"
Posted by Lono at 07:10 0 comments
Mar 30, 2012
How To: Install lxml on Ubuntu
sudo apt-get install libxml2-dev
sudo apt-get install libxslt1-dev
sudo apt-get install python2.6-dev
easy_install --allow-hosts=lxml.de,*.python.org lxml
Posted by Lono at 13:27 0 comments
List of commands for MySql and Django
mysqladmin.exe -u root -p create myapp
python manage.py syncdb
mysql -u root -p
sudo /etc/init.d/apache2 restart
Posted by Lono at 11:36 0 comments
Mar 18, 2012
OpenSSH configuration file
Putty is a lovely ssh program, but I love console2 even more.
To use ssh to connect to Amazon EC2 server, you need cygwin to run openssh in Windows environment.
The command is (under cygwin):
ssh -i MySite.pem ubuntu@xxx.amazonaws.com
To make the command shorter, create "~/.ssh/config"
and add:
Host MySite
User ubuntu
Port 22
IdentityFile ~/.ssh/MySite.pem
HostName xxx.amazonaws.com
To connect, just type:
ssh MySite
Posted by Lono at 17:10 0 comments
Mar 16, 2012
Setting selective sync of Dropbox on Amazon EC2 server
Dropbox provides an easy to backup the server. However, the default setting synchronizes all of the files to the server, which is very annoying.
I don't want all of my personal stuff to be stored in a public server.
In order to select the file which you would like to sync, download dropbox.py
and type the following commands in the terminal:
python dropbox.py exclude add ~/Dropbox/*
python dropbox.py exclude remove ~/Dropbox/<folder-to-sync>
The first command excludes all of files from your dropbox.
The second one adds the folder which is going to be synchronized.
Posted by Lono at 05:33 0 comments
Mar 7, 2012
Setting up Django on ubuntu
- sudo apt-get update
- sudo apt-get install apache2
- wget http://www.djangoproject.com/download/1.3/tarball/
- mv index.html Django-1.3.tar.gz
- tar xzvf Django-1.3.tar.gz
- cd Django-1.3
- sudo python setup.py install
- sudo apt-get install libapache2-mod-wsgi
- create "/home/ubuntu/mysite/django-server.wsgi"
- sudo /etc/init.d/apache2 start
- cd /etc/apache2/sites-available
- sudo cp default mysite
- edit "mysite"
- a2ensite mysite
- sudo /etc/init.d/apache2 reload
- sudo /etc/init.d/apache2 restart
- cd ~
- django-admin startproject mysite
- cd ~/mysite
- django-admin startapp myapp
- python manage.py runserver 0.0.0.0:8000
import os, sys
sys.path.append('/home/ubuntu/')
sys.path.append('/home/ubuntu/mysite')
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Listen 8000
<VirtualHost *:8000>
WSGIScriptAlias / /home/ubuntu/mysite/django-server.wsgi
WSGIDaemonProcess server1piece user=www-data group=www-data processes=1 threads=10
ServerAdmin webmaster@localhost
DocumentRoot /home/ubuntu/
Alias /static/admin/ /home/ubuntu/Django-1.3/django/contrib/admin/media/
Posted by Lono at 03:01 0 comments
Labels: Django
Dec 10, 2011
Open source software for Windows Mobile
Just played around my phone, and saw a list of "software disclaimer", that includes:
- Boost
- FreeImage
- Lua
- Luabind
- OpenGL
- STLPort 5.0
- RapidXML
- SWIG
- BString
Posted by Lono at 18:37 0 comments
Labels: Software
Nov 17, 2011
My Google Chrome extensions
Here is the list of my Chrome extensions:
1. Google Mail Checker
2. Google Dictionary
3. Yet Another Google Bookmarks Extension
4. Evernote : Google Notebook is the best online notebook, but Google has stopped to its support. Evernote is an acceptable replacement, but not as easy-to-use as Google Notebook. Evernote is my temporary solution for now.
Posted by Lono at 16:18 0 comments
Labels: Software
Goodbye Firefox!!!
Firefox was a good browser. However, the newer versions of Firefox have very poor compatibility with existing extensions. I am tired of finding new extensions for every new update. New technologies should help us finish our tasks efficiently, instead of giving us more tasks to do.
My #1 candidate for browser is Google Chrome. It is fast, stable and has the replacements for all of my current Firefox extensions. Good job Google!
Posted by Lono at 15:58 3 comments
Labels: Software
Jul 11, 2011
A Sleep function for VIM
I need to let VIM wait for cscope.exe to rebuild the tag file, but there are no build-in sleep function for VIM, so I made one here:
"a sleep function which allows vim to wait for the other processes to finish
com! -complete=command -nargs=+ Sleep call s:Sleep(<q-args>)
fun! s:Sleep(millisec)
  let ct = localtime()
  let dt = 0
  while dt < (a:millisec/1000)
    let dt = localtime() - ct
  endwhile
endfun
Just put it into your _vimrc.
To invoke it, type ":Sleep 10000" to let VIM wait for 10 secs.
Posted by Lono at 23:04 0 comments
Labels: VIM
Apr 1, 2011
igoogle gadget malfunction
After my firefox is upgraded to 3.6.16, the igoogle compound gadget suddenly disappears,
and all of my gadget spreads all over my igoogle homepage.
I tried to add it back, but the system says
"The Compound gadget is no longer supported and the individual gadgets that it contained have been added to your iGoogle page."
Solution: delete all cookies in my firefox.
Posted by Lono at 12:55 2 comments
Nov 20, 2010
Ubuntu notes
Install GVIM: sudo apt-get install gnome-vim
Install boost: sudo apt-get install libboost*
Link a boost library: g++ -lboost_filesystem
Location of boost header: /usr/include
Location of boost lib: /usr/lib
Modify "autoexec.bat": sudo vim /etc/profile
Modify environment variable: export RCSSBASEDIR=/home/username/rcss
Remove resource limitation: ulimit -s unlimited
Posted by Lono at 13:19 0 comments
Labels: Ubuntu
Aug 5, 2010
Draw confusion matrix in Matlab
Generate confusion matrix in Matlab:
data = rand(10, 10)
imagesc(data)
colormap(gray)
colorbar
Result:
Posted by Lono at 22:41 0 comments
Labels: Matlab
Jun 25, 2010
My neocomplcache setting
As requested, here is my .vimrc setting for neocomplcache.
Beware that the following setting works only for "ver.5" branch.
You have to check it out from github.
"------------------------------neocomplcache---------------------------------------
" Use neocomplcache.
let g:neocomplcache_enable_at_startup = 1
" Use smartcase.
let g:neocomplcache_enable_smart_case = 1
" Use camel case completion.
let g:neocomplcache_enable_camel_case_completion = 1
" Use underbar completion.
let g:neocomplcache_enable_underbar_completion = 1
let g:neocomplcache_auto_completion_start_length = 3
let g:neocomplcache_manual_completion_start_length = 3
let g:neocomplcache_lock_buffer_name_pattern = '\*ku\*'
" Define keyword.
if !exists('g:neocomplcache_keyword_patterns')
let g:neocomplcache_keyword_patterns = {}
endif
let g:neocomplcache_keyword_patterns['default'] = '\h\w*'
" snippets expand key
imap <silent><expr><TAB> neocomplcache#plugin#snippets_complete#expandable() ? "\<Plug>(neocomplcache_snippets_expand)" : (pumvisible() ? "\<C-e>" : "\<TAB>")
"imap <silent><expr><TAB> neocomplcache#plugin#snippets_complete#expandable() ? "\<Plug>(neocomplcache_snippets_expand)" : "\<C-e>"
smap <TAB> <RIGHT><Plug>(neocomplcache_snippets_jump)
inoremap <expr><C-e> neocomplcache#complete_common_string()
Posted by Lono at 13:35 2 comments
Jun 17, 2010
SuperTab complete for neocomplcache
As I said in my previous post, neocomplcache is a very powerful vim plugin.
It incoporates the funtionality of SnipMate and AutoComplPop while providing efficient search
for potential completion items.
However, SuperTab does not support neocomplcache. It is very bad since I like to tab complete
everything, including snippets. Here is the solution -- put the following in you .vimrc:
The above setting allows you to trigger a snippet with "tab" key when possible. If not, it will simply trigger omni completion. I set it to complete the longest common string. It is just a personal taste. You can set it to other type of completion as well.
*Update 2010/12/11 for necomplcache V5.2 compatiblity
*Update 2012/04/24 for necomplcache V7 compatiblity
Posted by Lono at 16:25 2 comments
Labels: VIM
May 20, 2010
Access Windows XP files from Windows 7
I spent 4 hours today to figure out how to enable the file sharing of Windows XP.
The key difficulty is that there are too many possible reasons to make the file sharing stop working.
Microsoft should make it easier for such a common task.
Basically, all you need is to follow the instruction from
http://www.crn.com/white-box/59200376
1. To enable the network Guest account on XP Home and Pro, click Start, click Run, type: net user guest /active:yes, and hit Enter.
2. Ensure there is no password for the Guest account: click Start, click Run, type: control userpasswords2, and hit Enter. Click once on Guest, click Reset Password, and then click OK without entering a new password.
3. Be aware that Windows XP, when installed on an NTFS disk partition and using simple file sharing, blocks network access to the Program Files and Windows directories as well as users folders within the Documents and Settings directory. This behavior is by design.
4. There are two registry keys to check on XP that have the potential to cause network headaches. The first is: HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/Lsa
5. Ensure that restrictanonymous is set to 0. Ignore the restrictanonymoussam entry that looks similar and may also appear.
6. Older versions of Norton Anti-Virus set a value for IRPStacksize in the registry that is too low for XP. In fact, XP doesn't even need this registry key. If you have it in your registry, thank Symantec (NSDQ:SYMC) and then delete it. If you determine that the XP registry has this unneeded entry, check this registry location:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Lanmanserver/Parameters. You can read more about this issue from Symantec and Microsoft.
Basically, all you need is to follow the instruction from
But it is not enough. You also need to turn "simple file sharing" on.
from http://support.microsoft.com/?scid=kb;en-us;304040&x=5&y=10
To turn Simple File Sharing on or off in Windows XP Professional, follow these steps:
- Double-click My Computer on the desktop.
- On the Tools menu, click Folder Options.
- Click the View tab, and then select the Use Simple File Sharing (Recommended)check box to turn on Simple File Sharing. (Clear this check box to turn off this feature.)
Posted by Lono at 19:37 0 comments
