Archive for February, 2010

Git – Fast Version Control System

0

This post is a bit late but better late than never. If you’re still using Subversion it’s high time you had a look at distributed version control.

Git is a free & open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

Every Git clone is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on network access or a central server. Branching and merging are fast and easy to do.

Install on Debian / Ubuntu 9.10 Karmic:

sudo aptitude install git git-core

Then you may find this Git tutorial useful.

I use gitg or gitk for quick-reference visualizing of history:

sudo aptitude install gitg

Gitstats project is interesting. See demo here.

Also Gource is another interesting git visualizer. See demo via YouTube.

I should mention Github as they are pretty awesome and you have no doubt seen their website before. Here’s my page on Github, for those interested. I love their proprietary reports; the charts and graphs are awesome ways to visualize repositories. And their push-button publishing, donations, and social networking aspects are the best.

My ~/.gitconfig file looks like this:

[core]
        editor = vim
[user]
        name = YOUR NAME
        email = YOUR.EMAIL@DOMAIN.TLD
[color]
        branch = auto
        diff = auto
        interactive = auto
        status = auto
        ui = auto
[color "branch"]
        current = yellow reverse
        local = yellow
        remote = green
[color "diff"]
        meta = yellow bold
        frag = magenta bold
        old = red bold
        new = green bold
[color "status"]
        added = yellow
        changed = green
        untracked = cyan
[alias]
        st = status
        ci = commit
        br = branch
        co = checkout
        df = diff
        lg = log -p
        who = shortlog -s --
        up = pull --rebase
[push]
        default = matching

Compass: CSS Stylesheet Framework

0

Compass is a stylesheet authoring framework that makes your stylesheets and markup easier to build and maintain. With compass, you write your stylesheets in Sass instead of CSS. Using the power of Sass Mixins and the Compass community, you can apply battle-tested styles from frameworks like Blueprint to your stylesheets instead of your markup.

Compass

It’s a Ruby on Rails project. You run a CLI utility that watches a directory where your .css and .sass reside. The changes you make to your .sass files get automatically parsed and translated to .css files. The .sass format allows you to have a simplified less repetitive stylesheet markup, in addition to the ability to use variables, functions, mathematic operations, and more.

  • In CSS, ever wished you could store the color palette for your site design in a few variables and then just reference those variables through the stylesheet?
  • Ever wished you could perform cross-browser compatible mathematical addition on layout column widths?
  • Ever wished you could easily gather a library of commonly used CSS, and then selectively include them in your various designs with a single line?

Now you can, with Compass.

Installation on Debian/Ubuntu 9.10 Karmic is like:

sudo aptitude install ruby gem; # dependencies
sudo gem sources --add http://gems.github.com/
sudo gem install chriseppstein-compass; # install
sudo gem install chriseppstein-compass-960-plugin; #optional plugin
compass -f blueprint project; # example usage
compass -r ninesixty -f 960 project; # example plugin usage

Looks promising! See more detailed Compass install instructions.

UPDATE: Since I posted this, I realized that using the Ubuntu/debian package management system (Aptitude) to try to install Ruby and Rubygems is a huge hassle and ultimately will not work. Now I use RVM. Like so for Ubuntu 10.04 64-bit server:

# installing rvm
# see also: http://rohitarondekar.com/articles/installing-rails3-beta3-on-ubuntu-using-rvm
sudo aptitude install curl git-core
bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )
sed -i 's/^\[/# [/' ~/.bashrc
echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"' >> ~/.bashrc
source ~/.bashrc

# dependencies for compiling Ruby
sudo apt-get install curl bison build-essential autoconf zlib1g-dev libssl-dev libxml2-dev libreadline6-dev
# dependencies for compiling my RubyGems gems
sudo aptitude install libpq-dev libmysql-ruby libmysqlclient-dev sqlite3 libsqlite3-dev libxslt-dev libxml2-dev imagemagick

# openssl package for RVM
rvm package install openssl

# readline package for RVM
rvm package install readline

# installing ruby
rvm install 1.9.2 -C --with-openssl-dir=$rvm_path/usr,--with-readline-dir=$rvm_path/usr
sudo -i
echo "gem: --no-ri --no-rdoc" >> /etc/gemrc
rvm use 1.9.2 --default
sudo ln -s `which ruby` /usr/bin/ruby1.9.2

This will get you on edge Rails and Ruby. Then from there its as simple as:

gem install compass
compass watch

And I no longer use 960gs. I prefer Susy now.

Hope this helps!

Keeping Kids Safe Online

0

The National Center for Missing and Exploited Children recommends parents set rules with their children to know what’s allowed and what isn’t when it comes to time spent online. These are the rules they suggest:

1. I will not give out anyone’s personal information such as any part of a name, home address, credit card number, phone number, age, password, school name or location without my parents’ permission.

2. I will tell my parents right away if I come across any information that makes me feel confused or uncomfortable.

3. I will never agree to get together with someone I “meet” online.

4. I will never send a person my picture or anything else without first checking with my parents.

5. I will not respond to any messages that are mean or in any way make me feel uncomfortable. It is not my fault if I get messages like that. If I do receive that kind of message, I will tell my parents right away.

6. I will talk to my parents so we can set up rules for going online. I will not break these rules without their permission.

There are ways to monitor the websites your child visits, as well as chats and e-mails. The Utah Attorney General’s office has information about how to do that, here.

SafeTeens.com is another site with advice to help parents keep their teens safe online. That site also includes advice about cell phone safety for teens.

Go to Top