My BLOG on DIY, Hacking and notes
This includes mostly useful information for myself and my BLOG about various free time projects.
Which are currently mostly hardware and electronics hacks
.
Besides this I'm fully occupied with programming the final parts of MPL, extending my software generation tools such as the precompiler. And finishing my PhD thesis text which is about Creating the integrated programming environment Multi Precision Lab using source code generation tools.
First time visitors, people with comments or questions are welcome to sign my guestbook . Some of my projects in my blog hit the masses like www.hackaday.com featuring binary clock and makezine featuring my Wii-remote hack resulting in 10000 new visitors on the day they appeared in my blog. Cya and have a nice day
.
Clearance gem and VIM replaces TextMate!
Written by Walter on 10/01/2010 16:08:37.Today found out about the clearance gem. Up to now I was using login sugar but this seems much better/up to date like using formtastic views etc.
And this just made me laugh so much I had to post it, it's Bert And Ernie the MC's
:
I've also switched from textmate to vim (vim works both on my debian server and os x). And it's free and basically after doing a vim tutorial and installing some plugin's it rocks even better than textmate
. Thanks to Adam Lowe for the following tips:
Install MacVim or Gvim (For Debian based distros install with apt-get). I do frequently use terminal Vim or Vi but I like having both available. If you're on Windows you probably want to spin up a Linux box or a VM. Ruby on Rails development on Windows is going to painful.
Let's Get Plugged In
Download pathogen.vim it makes managing Vim plugins a lot simpler. Create a ~/.vim/autoload/ directory and copy pathogen.vim into it.
$ mkdir ~/.vimNext you need to create and edit your .vimrc file so that pathogen gets loaded in the correct order.
$ mkdir ~/.vim/autoload
$ cp ~/Downloads/pathogen.vim ~/.vim/autoload/
$ mvim ~/.vimrcContent:
call pathogen#runtime_prepend_subdirectories(expand('~/.vimbundles'))Create a .gvimrc to specify colorscheme
set tabstop=2
set smarttab
set shiftwidth=2
set autoindent
set expandtab
$ mvim ~/.gvimrcContent:
colorscheme vividchalkCreate a ~/.vimbundles directory and install plugins. I prefer to clone them from github.com when I can. Some plugins still need to be downloaded from vim.org, extracted and copied to your .vimbundles directory. Either way go vote up plugins you find useful on vim.org. If you don't have git installed check out git-scm.com
$ mkdir ~/.vimbundlesInstall rails.vim
$ cd ~/.vimbundles
$ git clone git://github.com/tpope/vim-rails.gitInstall cucumber.vim
$ git clone git://github.com/tpope/vim-cucumber.gitInstall vividchalk.vim
$ git clone git://github.com/tpope/vim-vividchalk.gitInstall haml.vim (There are two. I use Tim Pope's.)
$ git clone git://github.com/tpope/vim-haml.gitInstall endwise.vim
$ git clone git://github.com/tpope/vim-endwise.gitInstall surround.vim
$ git clone git://github.com/tpope/vim-surround.gitInstall unimpaired.vim
$ git clone git://github.com/tpope/vim-unimpaired.gitInstall abolish.vim
$ git clone git://github.com/tpope/vim-abolish.gitInstall repeat.vim
$ git clone git://github.com/tpope/vim-repeat.gitInstall NERD_tree.vim
$ git clone git://github.com/scrooloose/nerdtree.gitInstall NERD_commenter.vim
$ git clone git://github.com/scrooloose/nerdcommenter.gitRestart Vim and you now have a super powerful Rails editor at your fingertips.
First my .vimrc looked like this:
call pathogen#runtime_prepend_subdirectories(expand('~/.vimbundles'))
set background=dark
colorscheme railscasts
syntax on
set tabstop=2
set smarttab
set shiftwidth=2
set autoindent
set expandtab
autocmd VimEnter * NERDTree
autocmd VimEnter * wincmd p
This loads pathogen, uses railscasts colors and finally auto-loads NERDTree and switches to the right slice (wincmd p, or ctrl-w w works too).
Problem is not always we want vim to look like textmate.
So instead I left out the last two lines in .vimrc and made the following alias
in .bashrc:
alias mate='vim -c NERDTree'
Now when I go to a rails project and enter 'mate' I see something like this:
Quick reminder: cmd+shift+3 takes screenshot in os x
.
To close and save all, I use
It does autocompletion, has quick switching between MVC by doing :Rmodel, :Rview, etc. Has rake tasks etc. built right in. Basically it is as good (maybe better?) as textmate but then open-source/cross-platform
. Hooray!
Have to admit it does take some time to get used to all those vim shortcuts but I found it was time to dump my good ol' joe and finally go the vim way
Here is my sweet vim setup:
vim_settings.tar.gz
Resume secure copy scpresume
Written by Walter on 27/12/2009 17:55:53.Yesterday needed to sync two laptops. Started a big copy but it did not finish in time before I had to leave. So what now?
I did:
scp -r Pictures Documents cppWork rubyWork wschrep@192.168.1.113:
But after about 4Gig I had to stop transferring. The total was 6Gig but then it hit me that scp does not have a resume function.
Luckily after some googling there is a really simple solution, use rsync with an alias to mimic scpresume:
alias scpresume="rsync --partial --progress --rsh=ssh"
After this alias I can now enter:
scpresume -r Pictures Documents cppWork rubyWork wschrep@192.168.1.113:
So exactly the same but this time it will skip the copied documents and resume the partial uploads. Hooray, exactly what we needed
www.sitweb.eu cleaned up
Written by Walter on 23/12/2009 15:11:06.Cleaned up www.sitweb.eu
And added a little animation, go check it out
.
Thanks to scriptaculous for the nice effects library. Ah yes and this also works
on an iPhone!
All I needed to add for iphone support was :
<% content_for(:head) do %>
<% if iphone_user_agent? # Show message for iPhone users -%>
<meta name="viewport" content="width=510" />
<body style="background-color:#fff;"/>
<% end -%>
And for 'no javascript' fall back mode I used the following trick:
<link rel="stylesheet" type="text/css" media="screen"
href="/stylesheets/chairs_noscript.css" id="sitstylesheet"/>
<script type="text/javascript">
document.getElementById('sitstylesheet').href="/stylesheets/chairs.css";
window.onload = start;
//...
This way if either javascript is off or getElementById does not work we show a regular view with chairs_noscript.css, otherwise we slide the chairs under the table with the chairs.css
.
Thanks to Anthony Liekens for teaching me some new inkscape tricks to
clean up my logo.
Thanks to Rails for just being fun to work with
Next projects: finish the webshops, convert my blog and kasteelpark.be from my aging php cms to my new rails cms !