Creating functions with Python

We can create functions on Python using the def keyword.

1
2
def printSomething():
    print "something"

Functions in python can have arguments and return statements as in most languages.

1
2
def addNumbers(number1, number2):
    return number1 + number2
Read More

Contributing to OpenHatch project

What is OpenHatch?

OpenHatch.org is a website where you can find ways to contribute to open source projects, mentor people who want to contribute to a project, or give a little more visibility to your open source project so people can help you.

In my opinion the most interesting features are the classification of some bugs as bitesize, which are good bugs for people who want to help but don’t have much experience. This is an awesome place to start. The other interesting feature is the ability to offer yourself as a mentor to fix a bug. If you are an expert on a subject but you don’t have time to fix an specific bug you can list yourself as a mentor and help other people get a bug fixed.

Read More

Rounded corners, the CSS 3 standard way

In this article I am going to explain the CSS 3 standard way of achieving rounded corners. Using only this technique is probably not going to give the cross browser behavior that you are expecting.

Border radius properties

It doesn’t matter which way you specify the radius you want for your corners, the browser is going to compute it in four different properties:

1
2
3
4
border-top-left-radius
border-top-right-radius
border-bottom-right-radius
border-bottom-left-radius
Read More

Pushing and deleting remote branches with git

Creating new branches and deleting them locally is an easy task with git, but when it comes to doing it for a remote repository, happily, it is very easy too.

Pushing a branch

If you have a new branch named mybranch on your local repository and you want to push it to a remote so other people can see it you can do:

1
git push remotename mybranch

Most of the time you will probably want to push to the origin remote, so the command will be something like this:

1
git push origin mybranch
Read More

sudo: unable to resolve host

Today out of the blue (or at least that is what I thought when I first saw it) I started seeing this message everytime I issued a command using sudo:

1
2
$ sudo ls
sudo: unable to resolve host adrian

After a little investigations I found out that it actually didn’t come out of nowhere, but I was the one who made this happened. What happens is that you usually have an entry in the file /etc/hostname where you specify the name of your host. So when you use the sudo command it tries to connect to the host computer to check for permissions. This can get really complicated, but if you are only working on your computer your host is usually the local host.

Read More

Enabling mod-rewrite on Ubuntu

I recently reinstalled the operating system on my computer and thus had to re-install all my applications and development environments.

While I was configuring my web environments I was getting some weird errors when I was trying to access one of my local sites. The error wasn’t really descriptive of the problem, but looking at the error logs I found this:

1
/home/adrian/www/site.dev/.htaccess Invalid command 'RewriteEngine' perhaps misspelled ...

At first it was a little confusing, because I know that RewriteEngine is a valid command, but then I remembered that it is included by the mod-rewrite module that doesn’t come by default with apache. Installing it on Ubuntu is very easy, you just need to input this command on a terminal:

1
sudo a2enmod rewrite

And you will need to restart apache for the changes to take effect:

1
sudo /etc/init.d/apache2 restart

Now RewriteEngine is a recognized command for your .htaccess files.

Read More

Creating a batch file on windows

It is well known that creating a batch file in Linux is an easy and enjoyable task, but right now I find myself in the necessity of automating some tasks on windows so I will need to learn how to do this on windows.

In windows batch files generally have a .bat extension, so I will start by creating a file: examplebatch.bat and trying a very simple command:

1
dir

Now if I navigate to the folder where my batch file is (let’s say C:\Adrian\Batch) I can execute the batch file and the dir command will be executed:

1
2
3
4
5
6
7
8
9
10
11
12
C:\Adrian\Batch>examplebatch.bat

C:\Adrian\Batch>dir
Volume in drive C is OSDisk
Volume Serial Number is C252-78D4

Directory of C:\Adrian\Batch
04/18/2012  08:42 PM    <DIR>          .
04/18/2012  08:42 PM    <DIR>          ..
04/18/2012  08:43 PM                 3 examplebatch.bat
               1 File(s)              3 bytes
               2 Dir(s)  186,052,022,272 bytes free
Read More

Creating and applying patches with git

Creating and applying patches using git is a task relatively easy to do. I will show how it all works using an example scenario.

Let’s say we have a main repository with just one commit on it:

1
2
adrian@laptop:~/repository$ git lg
* ff4c135 - (HEAD, master) first commit (2012-04-12 19:14:39 -0700) <Juanito>

That repository has been copied by other people that are working on the same project. Now lets say that I am the one that cloned the main repository and did some work on it:

1
2
3
4
adrian@laptop:~/copy$ git lg
* be3ec44 - (HEAD, origin/master, origin/HEAD, master) Third commit (2012-04-12 19:16:28 -0700) <Adrian>
* 1551977 - second commit (2012-04-12 19:16:00 -0700) <Adrian>
* ff4c135 - first commit (2012-04-12 19:14:39 -0700) <Juanito>
Read More

Python Sequences - Part 2

This post is a continuation of Python Sequences.

Concatenating Sequences

You can concatenate sequences using the plus (+) operator:

1
2
>>> [1, 2] + [3, 4]
[1, 2, 3, 4]

Multiplying Sequences

You can multiply a sequence by an integer number to repeat it the specified number of times:

1
2
>>> [1, 2] * 3
[1, 2, 1, 2, 1, 2]
Read More