Migrating from WordPress to Jekyll

Untitled Blog Post Name

Hi everyone!

I am looking at how to migrate my blog to Jekyll.

It looks like an easier and more agile alternative to wordpress, based on Markdown.

Apparently, you can use github pages for your blog (for free), and then you can just synchronize your local copy using git.

The idea is that you only need to care about the content, and not that much about plugins and other elements.

I will let you know how it goes, in the mean time, here are some useful links:


WordPress.com blogging tools


I know my blog has not been so in use since 2012… But recently I have been thinking about trying to write more on it.

One of the problems I had was that the interface on wordpress.com to edit / publish new posts is not so useful or simple, at least for me. I have been looking for editing tools for blogs and now I have found some interesting options to analyze here:

Mac OS X:

    • Blogilo (KDE)
    I will try them all to see which one is more complete, but for now on Mac OS X PixelPumper seems to be really nice. It has autocorrect options and the interface is easy to use.

    Jolla, Sailfish, Blackberry 10.. for a great 2013

    Hello people,

    Most of you already know that there are two companies trying to play a different game, and one of them is a finnish startup from formers exployee from nokia.

    I´m talking about Jolla and also about Blackberry with its Blackberry 10 OS..

    I´ve always have been a fan of linux for the desktop, and I´ve entered the world of mobile phones blogs at the times of Nokia 6600, then with the 6680 and so on… I had of course the nokia n900 with its Maemo OS that was epic for the time, and of course I have the last great nokia, the n9 with its Meego Harmattan OS that after one year continues to receive great reviews or comments.

    I know that both iOS and Android are doing well, but I´m kind of bored to see al that people with iphones or androids out there. I have to admit that I do like new nokia´s lumias, specially the 920, but I think WP8 suffer the same problem of the previouos platforms.

    For me those OS doesn´t offer all the control to the user, and I think an important feature that they haven´t been able to meet until the moment is multitasking, a needed feature at least for me at the time to choose a phone (that should be smart by its name;)).

    I hope we will have more options in 2013 in terms of mobiles OS and I like the idea to have two proper Linux mobile OS, with Blackberry 10 and SailfishOS from Jolla.

    These are some interesting videos of what I´m talking about, if you haven´t already heard of them.

    I can only say… what a nice 2013 we will have in terms of mobile phones 😀

    Article about Jolla in Il sole 24 ore:


    Article on BBC about new Blackberry 10:


    Oracle Database Silent Installation

    Hi all!

    Last weeks have been a little busy, and from several tasks I had to do, there was an Oracle Database installation.

    There was a funny discussion about the version to install, where people recommended installing 10g only because was the version they worked with or because the how to they use it’s only for 10g.

    At the end, we decided to install last version, 11.2, as the main use for this database would be a huge quantity of data in a data warehouse like use, and I had to install it.

    I thought that it would be easy, as you have the possibility of doing remote X from the server (yes, it was a server so we only had remote access), and you know the most “boring” part of installing Oracle Database it’s the steps previous to installation, you know, kernel parameters, directories, users, permissions..

    But when I talked to my colleague and he told me that the server was installed without any X server package, and that they don’t install it as a policy, I had to deal with a silent installation using only command line, so after some look on the internet, I found the process really straight forward, and in a few hours I had the software installed, the database created, and both the listener and enterprise manager console configured. And most important thing: the team waiting for the database happy for having it ready! 🙂

    Ok, you maybe like to know which are the steps or how difficult is an Oracle Database silent installation using response files? You have some examples and templates of response files in the directory response, where you have extracted the database software, so you only need to copy it and modify it to fit your needs.

    Here you are some examples on how my installation went:

    Software installation:

    ./runInstaller -silent \
    -responseFile /home/oracle/install/database/response/db_install.rsp \
    oracle.install.option=INSTALL_DB_SWONLY \
    oracle.install.db.InstallEdition=EE \
    security_updates_via_myoraclesupport=false \
    decline_security_updates=true \
    oracle.install.db.DBA_GROUP=dba \
    oracle.install.db.OPER_GROUP=oper \
    ORACLE_BASE="/oracle/app/oracle" \

    When you have your response files ready, you only have to input the previous command, specifying the Oracle BASE and Oracle Home environment variables, and other options as groups or type of Database Installation, from the path when you have the oracle software extracted.

    When it finish the installation, the next step would be configuring the listener for the database. In this case, I used a almost default listener configuration, using the following command.

    netca /silent /responsefile /oracle/netca.rsp

    When your listener is ready, you can create your database with a command like this, when you specify the DB name, in this case TESTDB, the template or model for the new database and other data as the type of storage (Filesystem or ASM) and passwords.

    dbca -silent -createDatabase -gdbName TESTDB -templateName Data_Warehouse.dbc \
    -datafileDestination /oracle/oradata -sysPassword myPWD -systemPassword myPWD
    -storageType FS \

    The most tricky part from the installation was Enterprise Manager or DB console configuration, as it was needed by the team who is going to use the database created.

    It’s important to have all Oracle environment variables like ORACLE_HOME, ORACLE_UNQ_NAME or ORACLE_BASE set to ensure that dbconsole configuration would be executed successfully:

    emca dbcontrol db -repos recreate -ORACLE_HOSTNAME gsc-analitics -SID TESTDB -PORT 1521 -ORACLE_HOME $ORACLE_HOME -DBDNMP_PWD sys

    STARTED EMCA at May 17, 2012 12:48:46 PM
    EM Configuration Assistant, Version Production
    Copyright (c) 2003, 2005, Oracle. All rights reserved.

    Enter the following information:
    Listener ORACLE_HOME [ /oracle/product/11.2.0/db ]:
    Password for SYS user:
    Password for DBSNMP user:
    Password for SYSMAN user:
    Email address for notifications (optional):
    Outgoing Mail (SMTP) server for notifications (optional):

    You have specified the following settings

    Database ORACLE_HOME ……………. /oracle/product/11.2.0/db

    Local hostname ……………. gsc-analitics
    Listener ORACLE_HOME ……………. /oracle/product/11.2.0/db
    Listener port number ……………. 1521
    Database SID ……………. TESTDB
    Email address for notifications ……………
    Outgoing Mail (SMTP) server for notifications ……………

    Do you wish to continue? [yes(Y)/no(N)]: Y

    With this simple steps, you have installed your Oracle Database software, created a new database, configured a listener and also Enterprise Manager for the new database.

    And all without using X forwarding, only by command line. In fact, I’ll have to think which way yo go for my next Oracle Database installation, as the response files method seems pretty fast, and very useful in case of many or similar database creation / installation.

    I hope this steps would be useful to someone and please feel free to post any comment or improvement! 🙂


    Low Power Techniques in multicore systems based in ARM architecture (Part III)

    Ok so I promised to show you the test I’ve done with pandaboard to test CPU HotPlug technique right? So come on… I’ve talk before about Pandaboard development board, and if you didn’t hear about it before, now it’s a good time. Pandaboard ships with an OMAP4 4430 chip, with dual core ARM Cortex A9  processor @1GHz, 1 GB low power RAM and Bluetooth 2.1, Ethernet, Wireless, HDMI… as you can see, great connectivity and great details for such a little device.


    For the tests, I set up two different scenarios, one playing video file on SD card and the good one with  an Apache Web Server on Pandaboard, and running several loads with JMeter to see how it performs. As OS I used Ubuntu 11.04 with kernel 2.6.38-1208-omap4, and to measure the power consumption, I had to use a multimeter (with USB connection, what a great idea!!) because at the moment it seemed impossible to get voltage or power values directly from the board.

    Test Environment with PandaBoard and Digital Multimeter

    Here you can see the results of playing the same video file, using 2 cores and using only 1 core, after having the second core disabled by CPU Hotplug. As you can see, power consumption is lower, but not as much as to prefer to use 1 core instead of two, and specially for playing video.

    Power consumption results for video playing test with 1 and 2 cores

    Maximum Power consumption during video playing

    The next tests are more interesting. These are the tests done with Apache Web Server and JMeter load testbench. In the next images, you can see the power consumption of the Pandaboard using 1 or 2 cores, with different threads values: 5, 10, 25 and 50. Those are threads or connections opened on Apache Web Server. For the application used for the tests, GLPI (www.glpi.org), there was also a MySQL on Pandaboard, but as the configuration was the same for all the tests, the important part is the load behaviour on Apache.

    Jmeter test with 5 threads / connections using 1 and 2 cores

    Jmeter test with 10 threads / connections using 1 and 2 cores

    Jmeter test with 25 threads / connections using 1 and 2 cores

    Jmeter test with 50 threads / connections using 1 and 2 cores

    As you can see in the graphics, using only 1 core power consumption on Pandaboard was near half of the power consumption when using 2 cores, even if for a higher number of threads, HTTP requests delay was higher. After doing this test I reach the following conclusion / question: It’s better to do the job with less power but more time, or faster but with more power consumption? When I was thinking about it and about the behaviour or CPU HotPlug, I realized that I could try to use it in a dynamic behaviour, so instead of processing all jobs with 1 or 2 cores, it would be possible to enable or disable the second core of ARM Cortex A9 processor using the system load. With this “dynamic” core management, we can enable the second core when system load is too high for only 1 core, and even if the power consumption would raise, the results of doing this could be interesting. The following test are showing this particular behaviour, and you can see how the yellow line which represents Dynamic Core Management, performs compared to the same system load with 1 and 2 cores.

    Jmeter test with 5 threads / connections using 1 and 2 cores and Dynamic Core Management

    Jmeter test with 10 threads / connections using 1 and 2 cores and Dynamic Core Management

    Jmeter test with 25 threads / connections using 1 and 2 cores and Dynamic Core Management

    Jmeter test with 50 threads / connections using 1 and 2 cores and Dynamic Core Management

    As you can see, using a medium system load, the power consumption obtained using our script for Dynamic Core Management performs as the 1 core execution for lower loads, but as the 2 core execution when system load becomes higher. The benefit here could be in medium or more detailed system loads, when power consumption could be lower then using 2 cores, but with better performance than using only 1 core. In terms of Maximum Power Consumption, you can see how it goes in the four scenarios tested, and is very interesting to see how for the test with a higher number of threads, the use of our script enabling the second core has a higher power consumption than the same case with 2 cores.

    Maximum Power consumption for 5 threads

    Maximum Power consumption for 10 threads

    Maximum Power consumption for 25 threads

    Maximum Power consumption for 50 threads

    After this last result, where power consumption using the script that enables the second core is higher than using 2 cores, I was curious of such behaviour, so I decided to test and measure only the period when CPU Hotplug enables (CPU UP) and disables (CPU Down) the second core. After doing those tests, I realized that as the studies showed, the use of CPU HotPlug technique was not free in terms of power consumption, and here you can see how the power consumption behaves during the process of CPU up and CPU down.

    Maximum Power activating the second core with CPU Hotplug

    Maximum Power disabling the second core with CPU Hotplug

    After all these test and the research done about CPU Hotplug, the conclusion is that could be a interesting technique for embedded devices, when idle time and battery saving are really important (Are you thinking on mobile phones?? Yes, they meet those conditions).

    But for other scenarios this technique is not the best as we have seen, and there are different studies about a “low power scheduler” for ARM multicore systems or similar techniques without the power consumption overhead present in CPU HotPlug activating and disabling the second core. Examples of those techniques are sched_mc and CPU Set developed by Linaro Power Management Working Group.

    The most interesting thing is not only the grow of ARM based systems, and not only on embedded devices, but also how ARM processors performance is increasing thinking also in power management, essential for embedded devices.

    Low Power Techniques in multicore systems based in ARM architecture (Part II)

    Hello my friends! 🙂

    In the previous post I introduced a little the idea about low power techniques in multicore systems based in ARM architecture but, what are those techniques? Well, we can divide them in two groups, those techniques from general Linux power management (and working in actual embedded devices) and those developed and implemented for recent multicore embedded devices.

    As Linux Power Management techniques the most relevant are:

    • Suspend and Resume
    • Runtime Power Management
    • CPU Idle
    • Dynamic Frequency and Voltage Scaling
    • Power Management QoS

    Most of them, are really good for classical embedded devices, where there’s only one processor or core, but what would happen with those techniques with multicore embedded devices like Pandaboard and its OMAP4 chip?

    The OMAP4 chip is based in two ARM Cortex A9 Processors, so it can balance the use of both CPU to achieve the best performance / power saving ratio:

    As you can imagine, power management using two cores in embedded devices is very different from the usual power management on laptops or pcs: here you usually have a big constraint to your product, battery life.

    So some months ago, there was an important development activity looking for differents power management techniques for multicore ARM systems, and most of them were developed and supported by Linaro Power Management Group, who is doing such a great job trying to simplify one of the most common problems for all kind of embedded devices.

    The most interesting power management techniques developed for multicore systems are:

    • CPUIdle
    • CPUFreq
    • CPUHotPlug
    • Thermal
    • CPUSet
    • MultiScheduling

    I’d based my studies  in CPUHotplug, a cool technique that gives you the possibility of switching of one of the cores of the processor by a simple echo command from the terminal like this

    $ echo 1 > /sys/devices/system/cpu/cpu1/online

    The most important advantages of this techniques are the lower consumption obtained using only one of the cores, and an easier condition to enter in processors low power modes. Of course there are some performance issue, but we are looking for a good low power environments and techniques, so we would look to performance effects later on.

    In the next post, we’ll see the testing environment and several tests done with the pandaboard using CPU Hotplug, so stay tuned     😉


    Low Power Techniques in multicore systems based in ARM architecture (Part I)

    Hi all,

    This is my second post, and as I promised, I’ll talk about my Master Thesis about Low Power Techniques in multicore systems based in ARM architecture.

    This thesis was the end of a Master Degree started two years ago, when I became (finally!) a Computer Science Engineer and I was looking for a good job opportunity. As this opportunity was a little lazy to came, I decided to start a Master Degree, with Embedded and Reconfigurable Systems as mayor and Computer Networks and Technologies as minor specializations.

    I decide to study Embedded Systems because it was the most interesting path for me, and I was a little curious about embedded systems, FPGAs and this kind of devices.

    In the differente subjects we’ve worked more with VHDL and FPGAs, Xilinx, PowerPC, but most of all related to VHDL – FPGAs. Even if I liked the different subjects and labs, I was more interested in Embedded Linux, so finally, when I had to choose the subject for the thesis, I was sure that Embedded Linux would be a great subject to study. Two main reasons were that I would have to write my thesis while working  in very different area, and so I’ll have to write and prepare it by myself at home in my free time.

    During the master degree, I discovered the world of embedded Linux with beagleboard or gumstix, and also played with a beagleboard like board called IGEPv2, based in an OMAP3 chip.

    While I was struggling myself to decide the final subject of the thesis, I suddenly had THE idea: buying a Pandaboard and doing something related with low power and power management in Linux. The pandaboard development board has an OMAP4 chip, with two ARM Cortex A9 processor, so I thought it could be a good idea to study and to do some research about power management on a dual core ARM board.

    If you don’t know what a pandaboard is… Well… I now it’s embarrassing but you can check it here: http://www.pandaboard.org 🙂

    So once I bought the Pandaboard and after some days got it at home, I started to play with it, trying and choosing the best distribution for my needs. I tried first with Debian, but after some time I realized that Ubuntu for ARM was doing a good job, and would contain more recent packages and kernel, so I installed Ubuntu ARM 10.04.

    Now the last version is 11.10, but I did my developments and research on 10.10. (https://wiki.ubuntu.com/ARM/OMAP).

    Once I had the system working, with HDMI, wireless connection, usb mouse and keyboard, I began to study and find how can I retrieve power management information from the system and also interact with it.

    If you dont’ know it, there is a great project sponsored by IBM, Canonical, ARM, Samsung, Texas Instruments or Freescale, called Linaro (www.linaro.org), and its mission is to create a common ecosystem for ARM based systems, in order to organize and merge the different projects and work done for all ARM embedded devices. With this, they said that manufacturers could achieve faster time to market, and also would mean easier work for developers and integrators of this products.

    So the great about Linaro are the Linaro Working Groups, different Teams that work with a different mission to achieve the proposal of Linaro Foundation. Thera are several Working Groups, for UX / Design, for Kernel related work, for Graphics section and the one I’ve most appreciated, the Power Management Working Group (WG).

    I spend some weeks in research  different posibilities to manage power consumption in Linux and most specifically in Embedded Linux, but most of them were designed  for systems with only one processor. One day I came back to Linaro Power Management Group and found a new technique designed in particular for multicore systems, and so I decided to try it on my Pandaboard.

    In my next post, I’ll cover the different techniques I found for power management in Linux and the one I choosed to test and to study more in detail, with the different results obtained during the research.

    Thanks for your time reading here! 🙂