To begin with, a hotlink is when someone links any kind of file from an external site to your server. The link can be targeted to an image, a video, a pdf document, a zip file, etc, etc. There’s nothing wrong about this except for two possible reasons:
- You have private files you don’t want to be accessed by everyone
- Your hosting service provides a limited bandwidth (and so you don’t want to become a file hosting service).
The best way to block hotlinking on your site is by editing .htaccess and configure the RewriteCond. The .htaccess is nothing but a plain text file located on your www folder (and/or a subfolder) which tells your apache server what access restrictions apply to the files in the folder it is located at; The RewriteCond is a “command” which rewrites the URL of your site, is used for a lot more things than just blocking hotlinks. For example to change the .php extensions from your web pages, or to show the URL as a permalink. It’s php voodoo as some say.
In order to use the RewriteCond, the mod_rewrite.so needs to be enabled in your apache2 configuration. In ubuntu, this module is not loaded by default in a standard repository-based apache install, and the process to enable it a slightly different from the process – wide spread on google first results – followed in other apache installs (older versions, different linux distros, etc etc). Moreover, .htaccess directives are not enabled by default. But let’s not worry too much, all this can be solved in a few steps… let’s get it working
First thing to do is to get straight to the action and create an .htaccess file and test to see if it works. If it does work you can be happy right away, if it doesn’t, you will have to follow step 3 to get it working.
Step 1. Creating the .htaccess file
Open a new text editor and paste this:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteRule \.(jpg|jpeg|png|gif|zip|rar|docx|xlsx)$ - [NC,F,L]
You should replace”yourdomain.com” with… your domain name, duh, and the file tipes you want to block from hotlinking.
Let me explain what this lines mean:
First line will enable the RewriteEngine.
Second line will allow blank referers, this is usually enabled because some firewalls block the HTTP_REFERER data, so if someone have a strong antivirus + firewall thing enabled, he might be unable to download a file or see an image even when its not a hotlink.
Third line will block any referrer that is not your own domain, with or without the www and case insensitive ([NC]).
Fourth line will block all file types specified inside the brackets, case insensitive [NC] and will show a the “403 forbbiden” [F] message, The [L] means “Last Rule”, no more rules will be proccessed if this one was successful.
There are a lot of sites that will help you generate all this lines for you, here’s one.
save this file and name it .htaccess (starting with a dot). The rules in .htacces will apply to the folder it is located at and all it’s subfolders. So if you want to protect all your sites you should place .htaccess in your web server root folder (usually /var/www).
Step 2. Testing
First of all, load your own site from a browser and see if it works, if you see some “misconfiguration error” thing, rename the .htaccess file you’ve just created to anything else and everything will be back to normal, we’ll get back to it later. This error points that you don’t have the rewrite_mod enabled in your server, and you have to enable it by following step 3.
On the other hand, if no error is shown, copy any image *location* (right click, copy image location) from your site and send yourself an email with the link. CLEAR YOUR BROWSER’S CACHE and then try to click the link. You should see the 403 forbidden page.
Also, this page has a hotlink testing tool, remember to clear your browser’s cache each time, otherwise the image may show up directly from your computer’s HDD.
If everything worked you are done, you can be happy now, no need to do anything else…
if not, go to step 3.
Step 3. Enable mod_rewrite.so and AllowOverride in ubuntu (only if step 1 didn’t work)
To enable this module in ubuntu, first you’ll need to copy
/etc/apache2/mods-available/mod_rewrite.so
to
/etc/apache2/mods-enabled/mod_rewrite.so
Now, in order to allow the .htaccess policies to apply, you need to edit this file
etc/apache2/sites-enabled/000-default
And make the proper changes to the sections shown here:
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order deny,allow
allow from all
</Directory>
And finally restart apache
sudo /etc/init.d/apache2 restart
Done!, now go back to step 2 and test that everything works. Remember to rename back the .htaccess file.
Cheers
77 million paintings is the title of the most recent Brian Eno’s video-installation. It can be described as a conception machine which produces an ever-evolving visual metamorphosis based on the random combination of a set of hand-made graphical work painted by Brian Eno himself. The resulting images are formed by the use of superposition and fading among the original graphic work, and are proyected over a variety of sites and surfaces. Each “light-painting” lasts only for a brief lap of time until it evolves into a different one.

photo by dailymail.co.uk
Even when the artist has a certain control over the input images and the time they last, the resulting image is unpredictable and thus the name Autogenerative Art. With 77 million possible combinations, the probability of seeing the same painting (or sequence) twice is the same as the probability of one person to win the lottery and get struck by a lightning, in the same day.
The background music is also a random combination of a set of samples and electronic ambient sounds, very characteristic of Brian Eno. Although the music blends really well, in my opinion, the sonic diversity is not as vast as the graphic work.
A plus is that this installation can be – to a certain point – experimented by anyone with a minimum of electronic gear. This is because the software with the original artwork used during this installation was released by Brian Eno in a DVD… ed2k link.
photo by Scott Beale
Here’s a video of Brian Eno’s presentation during an instalation of 77 million paintings
Lessons of Darkness – Werner Herzog 1992

This is a magnificent work by Werner Herzog about the aftermaths of the most stupid thing ever invented by men: the war. This film is a mixture of documentary and sci-fi with footage of real post-war scenarios on the kuwait desert, although the film never mentions any relevant political or geographical information.
The music included in this film is a excellent selection on classical pieces from big symphonies and operas and it plays a fundamental role in the film. It transforms a real life post apocalyptic scenario into a powerful and strangely cautivating visual symphony with in-location sound recordings as interludes along with werner’s own voice narrations and interviews.
This is a fragment of the film, the music is Wagner’s Sigefried’s funeral march:
Sountrack
- Edvard Grieg – Peer Gynt Suite No. 1, Op. 46 (Death of Aase)
- Gustav Mahler – Symphony No. 2
- Arvo Pärt – Stabat Mater
- Sergei Prokofiev – Sonata No. 2 Op.56
- Franz Schubert – Notturno op. 148
- Giuseppe Verdi – Messa da Requiem – Recordare (begins at minute 37:24)
- Richard Wagner – Das Rheingold
- Richard Wagner – Parsifal
- Richard Wagner – Götterdämmerung
The second beta release of Ubuntu 10.04 LTS (Long-Term Support) is out! Here’s a quick view of the new exciting features it comes with:
- A dramatic look and feel overhaul with the new radiance and ambience themes.
- The task panel comes with renewed indicators and provides integration with instant messaging (empathy), email (evolution) and social networks integration (Gwibber).
- Active Directory authentication and server support has been improved with the new “likewise-open” release.
- The latest version of GNOME desktop comes with the new GNOME bluetooth module… now you can pair your phone and connect to the internet through bluetooth.
- A renewed software center along with the latest open source software catalogue… there’s a new “featured software” section and the ratting stars are back!
- Faster boot time and a new boot experience
Some screenshots:
I love the new login screen, clean and simple… less is more

This is the new radiance theme and the Gwibber integration, right from the task panel

Here you can see software center’s featured applications and the new ambience theme

The installation process is just beautiful, after 4 configuration questions, a few “next” buttons and a 10 minute wait you get the new system up and running
Prepare your disk, if you have windows installed you’ll see a dual boot option

You can download this beta release from here. Remember, this is still a beta version and should not be installed on production systems. The final Lucid Lynx 10.04 LTS should be released on april 29th.
Cheers!
This is a way to create an incremental automatic periodic backup of any folder located in a remote machine via SSH in a linux/unix machine. A pair of rsa keys are used for authentication with the remote server, rsync is used to copy the archives and cron to run the script periodically. All in all, it’s a fairly simple way to accomplish a full backup of a web server (or any server for that matter), specially when combined with a true incremental DB backup with rotation like the one described in this previous post.
1. The first thing to do is to get rsync working properly. This same command will be used later with crontab.
Run this in a terminal
rsync -avz -e ssh username@server:/var/www/FOLDER /home/local_username/backup
if you have ssh configured with a custom ssh port you can specify your port number like this:
rsync -avz -e ’ssh -p1234′ username@server:/var/www/FOLDER /home/local_username/backup
1234 beeing your port number
What this command does it to recursively transfer all files from the directory “/var/www/FOLDER” on the remote (server) machine into the “/home/loca_username/backup” directory on the local machine.
The files are transferred in “archive” mode, which ensures that symbolic links, devices, attributes, permissions, ownerships, etc. are preserved in the transfer. Additionally, compression will be used to reduce the size of data portions of the transfer.
2. Now that you got the previous command working, you need to set up a way to log to the remote server without prompting for a password. To accomplish this we need to generate a pair of rsa keys with a blank password.
On the local machine type
ssh-keygen -t rsa
When it prompts you for a phasprasse just hit enter. This will generate a private and a public key in /home/username/.ssh/ named id_rsa and id_rsa.pub.
Note: If security is critical and you are paranoid, you should generate a pair of keys with a strong passphrase and use ssh-agent and ssh-add to remeber the passphrase during to whole session. This way you only need to enter the passphrase during startup and no security risks are taken.
3. Now we need to copy the id_rsa.pub contents into the authorized_keys file in the server. Please note, it is the content of the public key what needs to be copied, not the key file itself, although if you only have one public key to authorize coping and renaming the file will have the same result. One way to do this is using the cat command.
On the local machine run
cat .ssh/id_rsa.pub | ssh username@server ‘cat >> .ssh/authorized_keys’
it should prompt you for your password for the last time
note: if you have changed the default ssh port you should run this command instead
cat .ssh/id_rsa.pub | ssh -p1234 username@server ‘cat >> .ssh/authorized_keys’
now test it
ssh username@server
again, for custom ports use this instead:
ssh username@server -p1234
At this point you should be able to connect to your remote machine via SSH without any password prompts.
4. Ok! now let’s create a .sh script with the rsync command we tested in step one
in a text file type this
/usr/bin/rsync -avz -e ’ssh -p1234′ remote_username@server:/var/www/FOLDER /home/local_username/backups
OR, if you are using a custom port number
/usr/bin/rsync -avz -e ’ssh -p1234′ remote_username@server:/var/www/FOLDER /home/local_username/backups
save this file as sshbackup.sh, remember to give execution permissions to this file, otherwise it won’t work with cron.
5. Almost there, now we just have to add a job with crontab to run the script periodically.
In a terminal type
crontab -e
Note: Do not use sudo before this command as it is user specific. If this is the first time you use crontab it should prompt you to choose the default editor (ed, nano or vim tiny) I suggest nano.
A window will open, add this line:
00 16 * * * /path to file/sshbackup.sh
This line means that the script mysqlBackup.sh will run everyday at minute 00, hour 16 (4pm). Obviously you should replace “path to file” and “ftpbackup.sh” with your data… you can change the time and periodicity of execution by changing cron parameters:
* * * * * command to be executed
- - - - -
| | | | |
| | | | +—– day of week (0 – 6) (Sunday=0)
| | | +——- month (1 – 12)
| | +——— day of month (1 – 31)
| +———– hour (0 – 23)
+————- min (0 – 59)
now exit nano by pressing CTRL + X, it will ask you if you want to save, say yes and accept the name by default as it is only a temporary name and the data will be merged into the user’s cron schedule anyway.
That’s it, now you should have fully automated incremental ssh backup running daily at 4 pm. Remember to burn the transferred backup to external media at least once a month and send it to your grandma to keep safe, just in case both of your machines explode at the same time
Cheers!
A new firmware version (50.0.5) is out . You can follow the same steps described in this tutorial to update your nokia 5800 with this latest firmware. The mayor improvements over v40 are kineting scrolling in all the phone menus (including app menu, etc) and a new look for music player, along with bug fixes and improved stability.

The firmware 40 for the nokia 5800 phone has been out since january 2010 for european phones, however this version didn’t work on NAM phones since the 3G network’s frequency is different in both continents. Now, after a two-month wait, nokia finally released the american version of this firmware.

The new firmware v40 has a lot of improvements such as:
- Kinetic scrolling
- New home screen with shortcuts to apps, email and widgets for contacts and music player.
- if you rotate the phone horizontally, it automatically activates the QWERTY keyboard
- OVI maps 3, Ovi Contacts, Nokia email, Real Player updated…
- New screen alarm, but only when the screen is locked
- New screen incoming call, also only when the screen is locked
- Improved performance and stability.
It is important to point out that the firmware updates are normally done via OVI suite or via Nokia Software Updater, there’s no need to hack or change anything. However, the latest firmware updates can take a ridiculously long time to become available in your country/zone (even years). In this cases, what you can do is to change the product code of your phone to match one of the areas in which the latest firmware is already available, and this is what this guide is about…
Every single guide I have found online to change the product code does not mention the most important part of the process: What product code is right for my phone?. This is a crucial aspect in this process since a wrong product code can brick your phone!
1. Find out what’s the right product code for your phone
- First we have to find out the type of our phone, enter *#0000# as if you were to make a call, you should see a screen with a list of info about your phone

Search for the type value, american phones should be of the RM-428 type, while european phones should have a value of RM-356. - Download and run NAVIFIRM, this is a small program that checks for every released firmware version worldwide, for a variety of nokia phones
When you open navifirm, you should see a windows like this:
- In the first list – left to right – select the model and type of your phone (for a NAM phone this should be nokia 5800 RM-428). Is very important that you select the correct type of phone!
- In the second list you’ll see all the firmware versions available for that specific type of phone, select the latest firmware version (40.2)
- Finally, in the third list you’ll see all the variants of the firmware. Select any variant that matches your phones color. At the end of the line you should see the product code you should use for your phone this is a 7 digit number starting with zero. Write down this number
2. Update your OVI software and install Nokia Software Updater
If you don’t have Nokia Software Updater yet (it’s not included in the nokia OVI suite), download it from here:
DOWNLOAD NOKIA SOFTWARE UPDATER
3. Backup your mobile
Make a full backup of your personal data with OVI suite. In further steps we must hard-reset the phone and all the personal info will be deleted while restoring the phone to factory settings. With this backup you will be able to restore your data later.
4. Download and install JAF
You can get JAF from here:
Unrar the file jaf_emulator.rar, the antivirus software should be turned off because it may detect “jaf pkey emulator.exe” as a trojan. This program is necessary to change your’s mobile’s product code and makes no harm to your PC.
Next close all running nokia / OVI apps and then install jaf setup.exe to your PC.
If you have windows 7 you should install this programm with windows XP SP2/3 compatibility (right click->properties-> compatibility).
5. Open jaf pkey emulator
Plug your phone in PC-suite mode, turn off the antivirus and execute jaf pkey emulator.exe. Again, if you have windows 7, you should run this program with windows XP SP2/3 compatibility.
Note: You may get an error while opening this program prompting “BOX DRIVER NOT INSTALED”, no problem, just dismiss this error.
6. Change the product code
Follow this steps:
- Click on the BB5 tab
- Check “Prod. Manager”
- Click the SERVICE button
- In the window that pops up click “READ VALUES”
- Now write the product code you got in step 1 and click “WRITE VALUES”.
7. Hard reset
Now hard reset your phone so it loads it’s new product code
After a hard reset, all the info will be reset to factory settings and the personal info stored in the phone’s memory will be erased (contacts, messages, etc). So if you did not make a backup in step 3, it’s a good idea to go back and do it now.
- Enter *#7370#
- When it asks for the block code enter 12345
- The phone will restart itself and load the new product code on startup.
8. Update to the latest firmware
Now open Nokia Software Updater (NOT ovi suite). This should find the latest firmware version for our new product code (version 40.2…)
Make sure your phone is pluuged to the AC and the battery is fully charged. Now click on UPDATE, it’s important that you do not interrupt the update process so you don’t end up with a bricked phone.
When the update is over the phone will restart itself and… that’s it. Now you have your phone with the latest firmware in it. You may want to restore your backup at this point in order to get your personal info back. Good luck!
This is a guide on how to set up dreamweaver on ubuntu, it requires to have windows installed on a different partiton. This was tested on ubuntu 8.04, 8.10, 9.04 and 9.10 (karmic) with winXP/vista/7… should work in any version tough.
A working windows system (dual boot) on the same computer with dreamweaver already installed in it.
Here we go:
1. Install wine
in a terminal, type:
sudo apt-get install wine
you can also go to Applications -> Add/Remove, search for wine and install it from there.
2. Download the Visual C++ redistributable package from micro$oft
save this exe file to your computer, when finished, right click on the file it and select open with -> Wine Windows Program Loader from the context menu. Click next on everything.
Note: you may need to change the permissions of the file in order to allow execution, right click on the file -> properties -> permissions ->allow executing file as a program
That’s it! now you can launch Dreamweaver from a terminal with this command (one line):
wine /windows/Program\ Files/Adobe/Adobe\ Dreamweaver\ CS3/Dreamweaver.exe
You should change the above route to suit your windows partiton mount point and the Dreamweaver’s exe file route. Here’s a screen shoot of dreamweaver on ubuntu:
Optionaly you can create a Launcher in your desktop, in order to do this, right click anywhere on your desktop and select “Create launcher”, enter the following values:
Name: Dreamweaver
Command: wine /windows/Program\ Files/Adobe/Adobe\ Dreamweaver\ CS3/Dreamweaver.exe
Comment: yup yup, this is dreamweaver on ubuntu

You could also select a cooler icon by clicking on the image at the left. Most system icons are located at /usr/share/icons folder
Cheers!
This is a quick and very useful tip, you can open a terminal with the path of the current folder from the context menu (right click -> open in terminal) by installing the nautilus-open-terminal package…
1. In a terminal type
sudo apt-get install nautilus-open-terminal
2. Restart you GDM session (or restart the computer) to see this option in the context menu
sudo /etc/init.d/gdm restart
3. Done, right click anywhere inside a folder…
This will save you a lot of typing in the future.
Cheers!
Windows 7 is the most recent of microsoft’s operative systems. There are mixed reviews about windows 7’s performance on the internet but all of them seem to agree with one point: it’s better than windows Vista.
So if you have windows vista just go ahead and install win 7. If you have XP it depends, windows XP still performs better on old computers and netbooks.
1. Insert the installation DVD and reboot your computer, press any key to boot from CD/DVD.
![]()
2. It should start loading windows files, and when it’s done you will see this:
3. Select your language and click next
4. Click “install now” and accept the license terms in the next screen.
5. Select Custom (advanced) installation, if you already have a previous windows version installed you could select upgrade, but a clean install is always better.
6. Select the disk to install windows to. Here I’d suggest going to “advanced”, delete every partition and creating a new one, your disk should look something like this:
7. In the next screen windows will copy all the necessary files, and “install features”.
8. After completing the “installing updates” step, windows will restart.
9. After restarting the computer the “completing installation” step will show up and when it’s done it will restart the computer again.
10. Almost done, windows will ask you for a few configuration options:
Enter you user name and a computer name
You can set a password for your account, this is optional as it’s not a safe way to protect your data. If you want safety you should encrypt your HD.
You can type your windows key if you have one, or leave it blank if you want to activate windows later, or hack it :6
The next step is really up to you, you can see my choice…

Set the date and time zone
And chose your loaction in order to apply a security profile
Finishing the settings…
11. Done!
































English







Recent Comments