Skip to main content

the avatar of Sandy Armstrong

Last Call for GNOME Summer of Code 2010 Ideas! Student proposal period starts Monday!

On Saturday a small group of SoC mentors will sort through the list of ideas on the wiki, clean them up, remove those we don't want to recommend to students, and highlight those we find especially alluring.

If you have ideas for your project, you have today and tomorrow to add them to the wiki before our meeting. Please place new ideas in the "Other Ideas" section.

The student proposal period starts Monday. If you want to help review student proposals, please sign up as a mentor. If you don't use your full name and include details when applying to be a mentor, we may not know who you are, so if you choose to do that please email me, Ruben, or Daniel with your link_id so we don't reject you. :-) We have to be careful because there are some sneaky or confused students out there who try to sign up as mentors.

The ideas page will be under tight control after our meeting on Saturday, but it will still be possible to add ideas if you check with folks in #soc-admin or on the GNOME soc-mentors-list first.
a silhouette of a person's head and shoulders, used as a default avatar

Prague Visit

Finally found the time to travel to the Prague SUSE Office, together with Thomas who was holding a 2 day security design lecture there.

I myself did not have much tasks except to meet people, say hi and see if anything
comes up to discuss, so I mostly did my regular work.

Thomas lecture was a success as far as I see, the hospitality of our SUSE colleagues was very great and the hotel nice.

I took several trips into the inner city to take pictures.

Tuesday: Trip with the 50mm lens on the Nikon D90. Found that 50mm is not well suited to architectural photography, only long shots really possible. Took some nice perspectives though.

Wednesday: Trip with the 35mm lens. Better, I also took some more shake-free pictures of the castle. Enjoyed the Globe Bookstore, recommended by skh.

Thursday: Trip with the 18-200mm Zoom Lens. Went up to the castle, took an interesting cathedral entrace shot, some panaromas and a bit of voyerism shots ;).
a silhouette of a person's head and shoulders, used as a default avatar

Announce: Linux Desktop Testing Project (LDTP) 2.0.4 released

Changes in this release:

LDTPv2 hang in Ubuntu 10.04 is fixed
Don't navigate table cell, as it causes more resource and time in OpenOffice calc
Added new API simulatemousemove for DnD test (VMware Workstation / Player Unity-GHI feature)
Patch by Ara Pulido for b.g.o bug # 612311
Listen all Window events, else new application like Firefox is not listed
waittillguiexist now can wait for state as well
hasstate can wait for given time till the state is True

Special thanks to Eitan Isaacson [1], Ara Pulido [2], James Tatum [3], Anupa Kamath [VMware, India], Slava Podokshik [VMware, USA]

Download source:
http://download.freedesktop.org/ldtp/2.x/2.0.x/ldtp-2.0.4.tar.gz

Download RPM from
http://download.opensuse.org/repositories/home:/anagappan:/ldtp2:/rpm/
Will schedule deb build in openSUSE build service tomorrow

For detailed information on LDTP framework and latest updates visit http://ldtp.freedesktop.org

For information on various APIs in LDTP including those added for this release can be got from http://ldtp.freedesktop.org/user-doc/index.html

Report bugs - http://ldtp.freedesktop.org/wiki/Bugs

IRC Channel - #ldtp on irc.freenode.net

[1] - http://monotonous.org/
[2] - http://ubuntutesting.wordpress.com/
[3] - https://launchpad.net/~jtatum

the avatar of Katarina Machalkova

Celebrating Ada Lovelace Day

Today is Ada Lovelace day - an international day of blogging to celebrate the achievements of women in technology and science ((thanks Sankar for reminding me, although I signed the pledge some time ago already, I would have certainly forgotten it completely in this "moved to a new team" frenzy ;-)).

I'm going to introduce to you one of the most brilliant mathematicians of her era, a heroine that lived in difficult times where women were not admitted to the universities and scientific societies. Despite all the obstacles, she significantly contributed to number theory and her findings helped to solve one of the greatest mathematical mysteries of all times - Fermat's last theorem. Ladies and gentleman, Sophie Germain.

Sophie was born in 1776 into the middle class French family. She discovered magical world of numbers and mathematics as a teenager, to a great dismay of her parents who in the effort to prevent their daughter from pursuing such an unfeminine career used to confiscate her candles and remove heating from her room so that she couldn't study. But in the end, it was her father who financially supported her research and her efforts to break into the male-only community of mathematicians.

In 1794, Ecole Polytechnique was opened in Paris, but unfortunately, its gates were closed to women. In order to pursue studies anyway, Sophie assumed an identity of drop-out student, monsieur Le Blanc and was submitting answer sheets under this pseudonym. It was only after course supervisor, Joseph-Louis Lagrange, astonished by her brilliant answers, insisted on meeting the talented student when her true identity was revealed.

She quickly moved from homework assignments to more difficult problems and being interested in number theory, she had to come across Fermat's theorem sooner or later. She proved the theorem for particular type of primes, making an important step towards the final proof on which later generations of mathematicians could build. In later age, she also explored elasticity theory and received grand prize from Paris Academy of Sciences for her research on the subject. Sophie died of breast cancer in 1831. A particular type of primes (if n is prime, 2n+1 is also prime) is called "Sophie Germain prime" in her honour.

My choice of extraordinary female scientist to blog about was not random - I wanted to introduce a pioneer woman in some field to illustrate how much prejudice and institutionalized misogyny  women had to (and sadly, sometimes still have to) overcome to succeed just as well as men do. Using the words of Carl Friedrich Gauss ("the prince of mathematician") in one of his letters to Germain: "A taste for the abstract sciences in general and above all the mysteries of numbers is excessively rare: one is not astonished at it: the enchanting charms of this sublime science reveal only to those who have the courage to go deeply into it. But when a person of the sex which, according to our customs and prejudices, must encounter infinitely more difficulties than men to familiarize herself with these thorny researches, succeeds nevertheless in surmounting these obstacles and penetrating the most obscure parts of them, then without doubt she must have the noblest courage, quite extraordinary talents and superior genius."

Many thanks to these brave heroines who paved the way to us, modern women in technology and science.

References: Wikipedia, Simon Singh's book (Fermat's Last Theorem - highly recommended read)
the avatar of Carlos Gonçalves

Technical Preview of PySide-Shiboken


Marcelo Lira (PySide developer) announced moments ago on the PySide mailing list the technical preview of PySide-Shiboken:
Hello folks,

today we got the Shiboken generated PySide bindings in a good enough
shape to do a proper release
with tarballs and all the required niceties, instead of rough git
urls. Keep in mind that this is an alfa release,
or a "technical preview" as the kids in my lawn are used to say, some
modules are missing and bugs are not
hard to find.

This PySide release contains bindings for the following modules:

* QtCore
* QtGui
* QtNetwork
* QtWebKit
* QtSvg
* QtXml
* QtTest
* QtOpenGL
* QtSql

Feel free to try your Python code with this version of PySide. You
know how it works: more users == less bugs.
As long as you guys tell us about the bugs: http://bugs.openbossa.org

A noteworthy fact is the first release of the Shiboken C++ binding
generator. Yay!
We strongly encourage it's use to produce non-Qt C++ bindings for
Python, it will make your life easier.
If it turns out to be not so easy, come and talk with us on #pyside
channel (Freenode).

Here follow everything needed for this release, in order of compilation.

API Extractor, version 0.4.0
http://www.pyside.org/files/apiextractor-0.4.0.tar.bz2

Generator Runner, version 0.4.0
http://www.pyside.org/files/generatorrunner-0.4.0.tar.bz2

Shiboken, version 0.2.0
http://www.pyside.org/files/shiboken-0.2.0.tar.bz2

PySide, version 0.3.0
http://www.pyside.org/files/pyside-qt4.6+0.3.0.tar.bz2

You will notice that the size of the generated bindings for the Qt
modules in no way resemble the figures from the Boost.Python version.
And talking about Boost: packagers, be aware that no component depends
on Boost::Graph anymore. Yay^2!

P.S.: cgoncalves, thanks for all the code. And to everyone else that
provided bug reports, patches, beers, etc.


And I followed by adding the usual pos-release-announcement announcement:

Don't want to get your hands dirty and have headaches due to compilation
issues? That's bloody easy! Get this very same release version already
packaged for your distribution from the openSUSE Build Service! Packages
(32bit and 64bit) available for the following distributions:

- openSUSE 11.0, 11.1, 11.2 (for both Qt 4.5 and Qt 4.6 version available),
and Factory
- Fedora 11 and 12
- Mandriva 2009.1 and 2010

You can install PySide package by adding the proper repository from
http://download.opensuse.org/repositories/home:/cgoncalves:/pyside:/shiboken/
to your package manager (zypper, yum, urpi, smart or any other rpm-md
compatible) followed by the installation of package 'python-pyside'.

But (!) in case you are all a bleeding-eye person, or simply if you want to
take an extremely important role on the development by testing it and
reporting back to developers, you can even get the regularly snapshots taken
from PySide's Git mainline by adding the devel repository[1].

Or if you happen to be from the old-school and love PySide Boost based you can
still install and use it[2].

I would like to take the opportunity to congratulate and thanks the PySide
team for their magnificent effort given to the project. You guys rock!


[1] http://download.opensuse.org/repositories/home:/cgoncalves:/pyside:/devel/
[2] http://download.opensuse.org/repositories/home:/cgoncalves:/pyside:/boost/

the avatar of Katarina Machalkova

Back from Israel

 It has been fabulous vacation I can wholeheartedly recommend to everyone. Not taking into account some small things, such as obnoxious security officers at Prague airport who spent almost an hour questioning me (young women traveling on their own are probably the most dangerous criminals ;) maybe because they're so stealth :D ), it'd be perfect.

I brought this hilarious joke home as a souvenir (attention - if you tend to be offended by jokes showing the Palestinians in negative light, don't read on):

What happens when a fly falls into a coffee cup?

The Italian - throws the cup, breaks it, and walks away in a fit of rage.

The German - carefully washes the cup, sterilizes it and makes a new cup of coffee.

The Frenchman - takes out the fly, and drinks the coffee.

The Chinese - eats the fly and throws away the coffee.

The Russian - Drinks the coffee with the fly, since it was extra with no charge.

The Israeli - sells the coffee to the Frenchman, the fly to the Chinese, drinks tea and uses the extra money to invent a device that prevents flies from falling into coffee.

The Palestinian - blames the Israeli for the fly falling in his coffee, protests the act of aggression to the UN, takes a loan from the European Union to buy a new cup of coffee, uses the money to purchase explosives and then blows up the coffee house where the Italian, the Frenchman, the Chinese, the German and the Russian are all trying to explain to the Israeli that he should give away his cup of tea to the Palestinian.
a silhouette of a person's head and shoulders, used as a default avatar

Back from National Free Software Conference - 2010

I, along with Chen, the Maintainer of Gnome Evolution project gave a talk in National Free Software Conference - 2010, Bangalore. Our talk was titled "Developing a Free software, Inside story"

I talked about who all are developing Linux Kernel, and how one can get started etc... Then Chen talked from his perspective. It was an inspiring speech, even I felt greatly motivated by him. He started with how he was excited, when he made changes to the software he used and showed it to his friends when he was new to open-source. Later he talked about Gnome and Evolution community. In the end he had lot of fans around him, and it took him nearly an hour to leave the hall after the talk!

Before our talk, we attended couple of talks. "Free Software Business Model – Software as a service" by someone from CGI. It was the usual corporate talk explaining CGI's business and then what is SaaS, PaaS, IaaS,... There was "Debate on Open Standards draft 2.4" by Venkatesh Hariharan, Policy Director, Red Hat and Prabir Purkayastha, Knowledge Commons. It was about Indian government's policies regarding mandating open standards and formats.

I came to know about this conference only 2 days ago for the first time. It was hosted by the Free Software Movement of Karnataka(FSMK), co-sponsored by Dept of IT Karnataka, Kerala IT Mission and Govt of West Bangal. The punch-line of the conference was "Free Software is the Future... The Future is ours..." I predict in future, Conferences won't provide network as everyone would have mobile Internet themselves. And this conference was ready for tomorrow already!
the avatar of Andrew Wafaa

Community Discussion - Part 2

It’s been a couple of weeks since my first Discussion with the Community, so as a follow on I thought I would cover the topic of Tools for the community. In my mind I split tools into two groups – hard & soft. What I mean by this is “hard” = infrastructure based, and “soft” = software based. Some may seem pretty obvious to you, and some may seem like they aren’t tools at all.

a silhouette of a person's head and shoulders, used as a default avatar

Weird binary!!

I read about weird binary at Varun Kumar's blog (http://varunkumar-n.blogspot.com/2010/03/weird-binary.html)

Number system with base as –2 (minus two) is commonly referred to as “Weird Binary”. Like binary number system, weird binary also uses the binary symbols 0, 1. The bit positions in weird binary represent the powers of (-2). For example: 11001 in weird binary represents 9 in decimal system. Weird binary
This number system reminds me a saying in Tamil regarding tough situations, "For every foot of climbing, Slipping 2 feet". ஜான் ஏறுனா மொழம் சறுக்குது .

So How to convert from decimal to weird-binary(base minus 2)?

But I didn't want to check-out others solutions to the problem, before trying it myself. I wanted to find a pen and paper way to calculate it, similar to the one we use to convert from decimal to binary. And found it interesting!


Just at every alternate step, instead of going for the maximum multiple of 2 less than previous balance, find the minimum multiple of 2, greater than previous balance.
IOW, at alternate steps, if the remainder was 1, add 1 to next balance(quotient).

Weird-binary can be used to represent negative numbers without any special sign-bit. But I still couldn't think of any use for this negative two base system. Can you? Is it being used anywhere?
a silhouette of a person's head and shoulders, used as a default avatar

Выделение памяти в stack

Обычно при динамическом выделении памяти используется heap. Однако такое выделение возможно и в stack’е. Для этого можно использовать набор функций _malloca и _freea, которые задекларированы в заголовочном файле memory.h

Рассмотрим функцию _malloc:

void *_malloca( size_t size ); – size – размер выделяемой области памяти в байтах. Функция возвращает указатель на выделенную память. Если происходит ошибка, то возвращается нулевой указатель (NULL).

Для освобождения памяти используется функция _freea:

void _freea( void *memblock ); – memblock – указатель на участок памяти, который нам необходимо освободить.

Рассмотрим пример использования данных функций:

#include <malloc.h>
#include <string.h>
int main(int argc, char* argv[])
{
    char *p=(char *)_malloca(200);
    if(p){
        char *str="Hello, world!";
        strcpy_s(p,200,str);
        printf("%s", p);
        _freea(p);
    }else
        printf("Cannot allocate memory\n");
    return 0;
}