0

INTERACTING TWO MATLAB GUIS PROGRAMATICALLY

A good knowledge in developing GUI by using MATLAB GUIDE is required. For those who do not have any, this site is a good place to start. If it is offline, there are tons out there, find one.
Acknowledgement: this example is based on Doug Hull’s work. While he use GUIDE for building this example, I approach it programmatically.

1.     Develop GUI

On command window, type:
guide
a new window will appear, see (figure 1).
Click menu ‘Tools’ à GUI Options. A Popup window will appear (figure 2). Click ‘Generate FIG-file only’. Click ‘OK’ to close the window. Add and arrange several uicontrols to the plane so that it will look like figure 3. Save the GUI to ‘appDataTest1’ or whatever one likes.

Now, open MATLAB editor, save the file to the same name as the GUI one just built. Actually one can save the mfile to any name, but it is a good practice, though. One will know later why.

First step, call the GUI one just built, by calling the GUI’s name.
fig1 = openfig('appDataTest1.fig');

read more... 




0

Get A Slideshow Desktop Background

I've been wanting to create a background slideshow on my Ubuntu desktop. But, I don't know how. When I check on one of the default slideshow background available --the 'cosmos--, I found that there's an xml file within that folder which control the slideshow.

When I opened the file, "Wow!", I was surprised. I couldn't edit or copy that file to make my own slideshow, it was too complex especially because I wanted to add many image for my background slideshow.

So, I look over to internet and ask good-ol'-uncle Google. I found several ways to do that from several websites--mostly from Ubuntu Forum.
There's the resume I gathered from those websites.


The Repository
The first one is of course to search into the repository. There are several application for this, I haven't got the chance to test them all. Also, some of the application recommended by forum members are there anymore. I could name a few: drapesgbackground, wallpaper, and wally. I installed gbackground though, it works great. I'll make a review on gbackground if I have the time.

Manual Script
This one is actually an executable code provided by some generous Linux user out there. I have looked on to some and mostly coded in Python. For example, the one provided by Meithan.

PPA Repository
There are lots of application for Ubuntu distribution in which not supported officially by Ubuntu or put into Ubuntu's official repository by individual Ubuntu users and/or its community. One application that very good for creating background slideshow is Create Background Slideshow a.k.a. CreBS (hence, the name ^^). You can get a nice explanation on installing this application here.

Independent 'Contributor'
And last but not least, there are some --which I'd call-- independent application made by serious programmer which contribute to the community. One of them is Wallpapoz. It's a good application with a nice user-friendly graphical interface. Check this site for the installation guide.

And that's a wrap! That's all, folks.
Have it a try and enjoy your slideshow desktop background ^^



0

Cleaning Up a Meshed-Up Background Image

I got this task from my friend. She needs the image for her journal publication, but the committee want a more 'clear' picture instead of the actual picture taken from her lab's machine (dunno the name, she's studying some chemical thing).

At the end I agree to help, but I didn't promise I could clean it up because the background seem very mesh-up! With gradation of color there and here, it looks very hard to clean.

Well, after several trial I finally able to clean it. In case I would forget how to do it, here are the documentation.

1) Open the picture in Photoshop; here is the original




0

How to Install Player/Stage on OpenSuSE

Installing Player/Stage on a computer with OpenSuSE was the easiest and funnest installation I've ever done. Why?

Because by default, many of Player/Stage dependency packages are already installed by OpenSuSE. So you don't have to install a new ones. And to be honest, personally I still think OpenSuSE installation manager is the best and the easiest installation manager ever compared to others. Note: I was using OpenSuSE 10.3 when writing this post.

Anyway, how to install Player/Stage on OpenSuSE, then?
Well, let's first check the dependency packages required by OpenSuSE. For the general requirement, read this post.

The dependencies available by-default are:

  • gcc-fortran or related;
  • libgnomecanvas;
  • imagemagick;
  • openssl;
  • libjpeg, libusb;
  • libdc1394 and libraw1394;
  • sed, gsl, statgrab;
  • libtool, libltdl;
  • swig, gawk, gtk;
  • freeglut;
  • cmake, and
  • boost
The complete list was uploaded here. The rest is still need to be installed. If you can't find the package in your DVD repository, you can always check OpenSuSE's website and search the package there.

The next step is the same as installing Player/Stage on PCLinuxOS, though Player was not in OpenSuSE's repository.
So, the same first step is to compile Player from its source.
cd ~/player-<version>
make uninstall
make clean
./configure --prefix=/home/$USER/playerstage
make
make install
export PATH=$PATH:/home/$USER/playerstage/bin/
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/$USER/playerstage/lib/pkgconfig
export PLAYERPATH=$PLAYERPATH:/home/$USER/playerstage/share/stage/worlds:/home/$USER/playerstage/lib/
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/$USER/playerstage/include:/home/$USER/playerstage/lib:/home/$USER/playerstage/share/player/examples/plugins/logplugin
Next step is to add these lines into /etc/ld.so.conf.
/home/$USER/playerstage/lib/
/usr/local/lib
Then, test the installation using pkg-config:
pkg-config --libs playercore
pkg-config --cflags playercore
player ~/playerstage/share/stage/worlds/simple.cfg &
cd ~/stage-<version>
make uninstall
make clean
./configure --prefix=/home/$USER/playerstage
sudo make
sudo make install
pkg-config --libs stage
pkg-config --cflags stage
That would be all.



0

How to Install Player/Stage on PCLinuxOS

It's been a while since my last post. This time I'd like to share my experience about installing Player/Stage on PCLinuxOS. So, how to install Player/Stage on PCLinuxOS?

First of all, some of you might wondering what Player/Stage is. Player/Stage is a software released under GNU GPL license to support development in robotic research. It was from a project formerly known as Player Project founded by Brian Gerkey, Richard Vaughan and Andrew Howard.

For more information about Player/Stage, visit its project website at SourceForge. If you are installing Player/Stage on OpenSuSE go to this post. Let's get to the main topic, "How to install Player/Stage on PCLinuxOS?"

The first thing you need to do is to install the dependencies for Player/Stage. To do this, make sure you already have the latest link on your repositories and you are connected to internet. Click here to read on how to update your repository on PCLinuxOS.

After updating your repository, type these words on Synaptic's search box. These packages are compulsory for installing Player/Stage. fortran, libconfig, libtool, pkg-config, gtk, sed, cmake, geos, statgrab, swig, gnomecanvas, imagemagick, glut, libltdl and gsl.

For a more general packages for solving dependency issue before installing Player/Stage, read my post about General Requirement for Player/Stage.

After installing those dependency packages, you'll have to install Player first before installing Stage. Although Player was available in PCLinuxOS repository, from my experience it's best to build the application from source.

Installing Player
If you decide to install Player from the repository, you'll get difficulty to run the code you made. I still don't know why, but I guess it has something to do with the library linkages.

If you build Player from the source, you could define the library linkages and the directory to which Player will be installed. By the way, PCLinuxOS didn't provide Stage in its repository.

To install Player, it's best to switch to superuser account. Since by default,  player will be installed in /usr/local/. Although it's not really necessary. The first step is to download the source and extract it to your local directory (I'll assume you know how to extract an archive in Linux). Note that this guide uses Player version 2.1.2 although the latest version available on its website is 3.0.0. And instead of installing it in the default location, it'll be installed in user directory (/home/$USER/playerstage).

cd ~/player-<version>
make uninstall
make clean
./configure --prefix=/home/$USER/playerstage
In my case, I put extra options. I enabled lasertoranger and sonartoranger and disabled vec2map. Hence, my code becomes:
/configure --prefix=/home/$USER/playerstage --enable-lasertoranger --enable-sonartoranger --disable-vec2map
make
make install
The next step is to add the Player's executables and libraries path to system path. Type these lines in terminal (or konsole):
export PATH=$PATH:/home/$USER/playerstage/bin/
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/$USER/playerstage/lib/pkgconfig
export PLAYERPATH=$PLAYERPATH:/home/$USER/playerstage/share/stage/worlds:/home/$USER/playerstage/lib/
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/$USER/playerstage/include:/home/$USER/playerstage/lib:/home/$USER/playerstage/share/player/examples/plugins/logplugin
Or you can manually add them to the your local profile file by editing these files: .bashrc or .bash_profile.
Next step is to add these lines into /etc/ld.so.conf.
/home/$USER/playerstage/lib/
/usr/local/lib
The last step is to test this installation configuration by typing this line in terminal.
pkg-config --libs playercore
It should return something like this, (might be different depending on your machine)
-L/home/$USER/playerstage/lib -lplayercore -lltdl -lpthread -lplayererror
And this line again:
pkg-config --cflags playercore
Again, it should return something like this, (might also be different)
-I/home/$USER/playerstage/include/player-2.1
If your machine return something like those, then you could try to run the application:
player ~/playerstage/share/stage/worlds/simple.cfg &
If it run well, then the installation is complete.

Installing Stage
The installation for Stage is almost the same as installing Player.
cd ~/stage-<version>
make uninstall
make clean
./configure --prefix=/home/$USER/playerstage
sudo make
sudo make install
pkg-config --libs stage
pkg-config --cflags stage

I summarized all steps above and upload it to my Google Docs, you can read the file too. If you notice that there is the word "OpenCV" in that file, just ignore it if you don't need to install it.

OpenCV is a computer vision library for researches having image manipulation/processing. If your robot involves such sensor behavior, then you'll need to install this library.

I hope this guide is useful. Inform me if you have any thing to say.



0

How To Update Your PCLinuxOS Repository Using Synaptics

It's been quite easy and simple to add an application onto Linux distribution these days. Since most of Linux distribution has what they call repository to provide support for its distribution. It's even more easier with the graphical package manager included in its distribution.

Some of them even have mirrored their repository to local website on certain region. And some of them provide a limited repository during their distribution release in a form of DVD or extra CD companion.

In this post, I'd like to share my experience on updating repository in PCLinuxOS. Let's get started step-by-step.

  1. Make sure you are connected to the internet before going on to the next step. Otherwise, it won't work.
  2. Open your Synaptics package manager. Click KMenu (or press Windows logo on your keyboard), point to System, Configuration, Packaging, then click on Synaptics Package Manager.






  3. Type in your root password. I'll assume you're the administrator on your Linux machine.
  4. After the Synaptic window popped out, click Settings on the menu bar, then click Repositories.
  5. Another window will pop up showing you the list of repository mirrors available. Check on the box to enable it. Make sure it is the site closest enough to your local region.
  6. A little note. Do not remove the link on the last list, since it is for openoffice related packages.
  7. When you finish, click OK to close the window.
  8. Then on the main window, click Reload to get any changes you made loaded. Synaptic will download the package lists from the site you've checked before. it might takes several minutes depending on your internet speed.
That's all you need to do. You can install an application as usual, with the latest version of course. :)



    0

    General Requirements for Solving Dependency Issue Before Installing Player/Stage

    There are always several packages required before installing an application on Linux operating system or at least, one. Since an application in Linux environment almost always never embed the dependency packages required upon its release. Take for example, installing Player/Stage. Visit this website for more information about Player/Stage.

    Depending on the distribution, each Linux distribution require different packages installed before installing the same application.

    I've been wandering the internet to solve the dependency issues while installing Player/Stage on my Linux machine. I've tried installing in onto Mandriva 2008 and 2009, OpenSuSE 9.3 and 10.0, and lastly onto PCLinuxOS.

    I couldn't install Player/Stage on Ubuntu, since my machine cannot boot Debian-based Linux distribution. Although, most of the information available on the internet are about installing Player/Stage on Ubuntu.

    Hence, I thought I need to write a more general information regarding requirements before installing Player/Stage, regardless of the distribution.
    Once again, depending on your distribution, the name of the packages might differ.

    gcc42-fortran, gcc-fortran, libgfortran42 (or g77 or any fortran compiler)
    gcc, g++
    opencv
    libusb, -devel
    libconfig (install the most recent version)
    imagemagick, -devel, (or libmagick10, libmagick++10, libmagick10-devel)
    libopenssl, -devel, openssl, -certs
    libjpeg, -devel, libpng, -devel, libjasper, -devel, zlib, -devel, libtiff, -devel
    libdc1394, -devel, libraw1394, -devel
    sed
    gsl
    libtool (or libltdl3, -devel)
    boost, -devel (might be one of these:
        libboost-dev
        libboost-thread1.33.1
        libboost-thread-dev
        libboost-signals1.33.1
        libboost-signals-dev)
    swig
    gawk
    pkg-config
    python
    gtk, gtk2, -devel and gdk (the gtk is a must before installing stage)
    freeglut, -devel (this is the OpenGL library)
    cmake
    fltk, -devel
    geos or libgeos
    statgrab
    gnomecanvas (or libgnomecanvas)
    xmms-config
    gtk, -devel, (or gtk+2, -devel, gtk2, -devel)
    howl
    ffmpeg
    ode (this package is a must before installing gazebo)


    I've wrote them on a file and uploaded it to my Google Docs. You can read it there.

    Write to me if you find an error or there is something needs correction. Happy installing Player/Stage.



    How to Add Unique Tag to Your Blog Post


    How to add unique meta tag to each of your blogger post.

    I've been googling around this topic for a while and I found a lot of tips. Some of them you can read on:

    1. http://www.jackbook.com/seo-tips/how-to-get-on-the-first-place-on-google-search-engine-result-page
    2. http://www.bloggertricks.com/2008/08/how-to-add-different-meta-tags-to.html
    In this post, I would like to show you how I implemented it on my blog.
    1. Firstly, go to your Blogger dashboard;
    2. Go to tab Layout;
    3. Click on Edit HTML;
    4. Locate this line: <head>;
    5. Add these lines below it:

      <b:include data='blog' name='all-head-content'/>
      <meta content='SHORT DESCRIPTION' name='description'/>
      <meta content='COMMA-SEPARATED-WORDS' name='keywords'/>
      <meta content='YOUR-NAME' name='author'/>
      <b:if cond='data:blog.pageType == "item"'>
      <meta expr:content='data:blog.pageName' name='Description'/>
      </b:if>
      <b:if cond='data:blog.url == "http//www.abqorian.co.cc/"'>
      <title><data:blog.pageTitle/></title></b:if>
      <b:if cond='data:blog.pageType == "item"'>
      <title><data:blog.pageName/> | YOURSITENAME</title>
      </b:if>
    6. That's all.
    Enjoy.

    Disclaimer !

    This site and its contents are copyrighted to Abqori Aula unless otherwise mentioned. The images, videos, and other artworks are belong to their authors. This site does not host any copyrighted files.