Thursday, August 20, 2009

Gavick Pro Photoslide translation with Joomfish

Recently I was looking for a way to translate slides from the popular Phothoslide GK2 Joomla component and noticed there was not so much information out there about it, after a few minutes I found out that it was quite easy to do it, just follow this steps:

1) In the backend of your Joomla site go to Components -> Gavick Photoslide GK2
2) If you have a group "main_group_EN" then create a group for your translation like "main_group_ES" (Spanish translation) by clicking on "Add Group"
3) Add the translated slides to this new group
4) Go to Components -> Joom!Fish -> Translation
5) Choose your language in the "Languages" combo box
6) Choose "Modules" from the "Content elements" combo box
7) Find and open the "Gavick News Image I" module
8) Find the "Slides group" combo box and choose the new translated slides group you created on step 2 (main_group_ES)
8) Tick on the "Published" option and save the changes

That's it! now you can translate your slide show to any language you want ;)

Monday, August 17, 2009

Removing old Linux Kernels

After a couple of years using Linux as my main operative system I noticed that the size occupied in the hard was growing and growing with each upgrade, also my grub list was including more and more kernel options that I don't use anymore so I decided to remove old kernels to "clean" a bit my hard drive.

First you should check your current available kernel version with this command:

"uname -r"

You will get a reply similar to this one:

"2.6.27-9-generic"

Open "Synaptic" package manager and search for "linux-image" and after scrolling down you'll find options similar to this:

linux-image-2.6.24-21-generic
linux-image-2.6.22-14-generic

Remove kernel versions you are not using anymore, in my case I decided to keep the current one and the previous one just in case I need it.

Just make sure you don't remove the current version otherwise you'll have a long week ;)

Sunday, August 16, 2009

Adding Xmap Joomla plugin to Google

A couple of days ago I had to move one of my Joomla sites to a new hosting company (obviously because of a better deal) and after checking Google webmaster tools I noticed that the xml sitemap wasn't working anymore, so I took a look at the Joomla extensions for something that could help me solve this issue and with a few clicks I found Xmap 1.2.

It is a very popular component with lots of downloads and a detailed documentation, simple to install and use:

  1. Download the latest Xmap version version here.
  2. Unzip it and install both files (com_xmap-x.x.x and plg_xmaplink)
  3. In the backend go to the Xmap configuration window at Components --> Xmap.
  4. It is easy to add a new menu or modify default priority options.
  5. Now go to Options --> Preferences and copy the Xml sitemap url.
  6. Click on Add Sitemap on Google Webmaster Tools dashboard
  7. Add the copied url and make it "fit", just copy what's after yoursite.com/ this should be something like index.php?option=com_xmap&sitemap=1&view=xml
  8. That's it!
Now you don't have to worry about your site's xml sitemap anymore ;)

Sunday, August 9, 2009

Google Blogger Label Cloud Widget

Today I decided to "pimp" my blog a bit and found a few interesting widgets, the one that I liked the most was the Label Cloud, it is way better than the ugly and not so useful Label widget provided by Google.

You can Take a look at mine and if you feel like using it, follow the instructions available here.

Ferbar: Autonomous mobile robot control system

The main problem was to create an autonomous control system for a mobile robot in order for him to move from point A to point B avoiding obstacles and making all the decisions without the intervention of a human being.


To solve this problem we used an ultrasonic sensor on top of step-by-step engine in order to take samples from the area and the obstacles surrounding the robot. This information was sent to the motherboard on the robot with a DSL Linux distribution on a usb drive (to avoid using a delicate HDD on our rover robot).

Ferbar was running on that machine, its main requirement is a 1.4 JDK or higher and some libraries included on the zip file, there is a tricky configuration of the comm.jar that allows the software to sent the information of each movement using the serial port, but the details are explained on a txt install file.

The core of the brain is using a SOM neural network trained by JKam. The application includes a simulator with a 2D map on which you can set obstacles of different sizes and shapes and then you can set the point A and B on the map and test the performance of the robot with the current neural network. It's also possible to change the neural network being used.

The software includes two other control systems, one of them allows the user to preset the path that is going to be used by the robot, this is useful in case if you want to take the robot to a presentation and you already know the place and you know the moves you want him to do.

The third type of control allows the user to have live control of the robot, basically is a sort of remote control, this ones is pretty useful in case the scenario is too complex for the neural network and you want to take over the control of the robot.

Ferbar can save paths previously used in case you need to reuse them later, it is also possible to save and reuse training scenarios.

There is a panel not being used right now, it's the vision panel, it was supposed to show the view of a camera on the robot, but usb for java a couple wasn't so popular as it is right now.

Well one more time, if someone is interested on using it just let me know and I will gladly send you the files.

Kohonen Neural Networks and JAVA

Well as you can see on the title of the post, I decided to talk a bit more about what I do 3/4 of my day: JAVA, hopefully to share the problems I have everyday will help somebody else and also I'm pretty sure they will also help me.

My whole Java career started 3 years ago just by coincidence, I was in charge of the development of the "brain" of a mobile robot and the best way to have an OS independent software is using Java, so I ended up buying a Java book and started messing around with my computer and Netbeans.

Anyway, to make a long story short I developed two softwares to create the robot's brain, the requirement was that the robot could be able to move from position A to position B making all the decisions by himself in order to avoid obstacles and reach its destination.

To accomplish this goal I decided to use Self Organizing Maps also called Kohonen Networks, a self-organizing artificial neural network that selects the winner neuron by using the euclidean distance.

The learning process for the SOM is to make that different areas of the network can be activated by similar input patterns, and this resembles a lot to the way our brains work when we receive auditory or visual information and different areas of our brain generate the response.

JKam is the name of the software I developed for this task, its goal is to make easier the training process for Kohonen Networks and it has the following features:
  • It allows you to define the structure of the map (Input Neurons, X Neurons and Y Neurons)
  • Bubble and Gaussian neighborhood functions
  • Exponential, Linear or Inverse Time learning factor functions
  • Training variables such as amount of steps, radius, training sets and initial learning factor rate.
  • It also allows you to save and re-use training sets and neural networks on an XML format.


I stopped working with this software a couple of years ago but I think it can be pretty useful on different fields so if anyone is interested on using it, just send me an email and I will gladly send you the files.

Well that's it, on the next post I'll talk about the software using a SOM trained with JKam, the brain of the robot: Ferbar.