February 11, 2012

OAuth Support in Nautilus Flickr Uploader

Flickr is upgrading their API authentication mechanism to OAuth 1.0, and they’re removing the old Flickr Auth by July 31st this year.

It means that current version of Nautilus Flickr Uploader will stop working, so I’ve added OAuth support (the code it’s in the git repo, and I’d like to make a release tomorrow).

I’ll update the package for Fedora 15 and 16 (if you’re using the repository, you don’t need to do anything at all), and any user of the previous Fedora versions will need to upgrade from source code.

The new OAuth code required changing some strings, so most of the translations are now incomplete:

  • ar, de, fr, gl, gu, it, pl, pt, ru and uk need at least the new strings. It’s just a couple, so it shouldn’t take long for a native speaker.
  • ca needs some love, although the important stuff is there. I translated most of the file, but I must admit my Catalan is not what it used to be :(. My partner will help me with this one, so it’ll be 100% complete this weekend.
  • en and es are 100% complete!

Finally I stopped using Transifex. It doesn’t work for me anymore and I can’t make it work (is git support gone?), so I think is better to stop using it completely to avoid people sending translations for outdated files.

The bad thing of not using Transifex is that helping with the translations is not as friendly as it used to be. If you’re a git or GitHub user… you know what to do, but if you don’t know what I’m talking about but still want to help… just download the .po file you want to translate (click on the language file and then “Save As” in the raw link), fill the gaps and send it to me by mail. Thanks!

I want to release 0.11 as soon as possible, but I can push a minor release later with some extra translations.

If you want to see how the new OAuth user interface looks like, you can check this video: Nautilus Flickr Uploader and OAuth.


Filed under: Fedora Tagged: authentication mechanism, flickr, flickr uploader, gnome, gtk, nautilus-flickr-uploader, oauth, opens source
Fusion Linux 16 sneak peak ;)

Fusion Linux 16 sneak preview


Filed under: Fedora, Fusion Linux, linux, News
moc – music on consol player (RPMs)
From its homepage: “MOC (music on console) is a console audio player for LINUX/UNIX designed to be powerful and easy to use.“ In these days i had fun to build RPM packages (Fedora 14/15/16) for this beatiful software. According to moc devel team, i have added a patch to compile moc with ffmpeg =>0.7.1 (since [...]
Name your Goddess

 
In the past we had lots of lengthy discussions how to name Fusion Linux releases. We will use female Goddess names for naming future Fusion Releases.
 
If you have any suggestion how to name next Fusion Linux release please share any Goddess name you like the most.
 


Filed under: Fusion Linux, News Tagged: goddess, name, release
libguestfs RHEL 6.3 preview packages updated

I’ve updated the libguestfs RHEL 6.3 preview packages to libguestfs 1.16.4. Barring any bugs that we find over the next few months, these should be close to what we ship in RHEL 6.3.

http://people.redhat.com/~rjones/libguestfs-RHEL-6.3-preview/

You can install these on RHEL 6.2, but make sure you read the README file first.


oVirt 3.0

oVirt 项目发布首个正式版本 3.0。

本次发布包括三个组件,SDK,引擎和节点。

Engine 3.0:提供功能丰富的虚拟化管理系统,提供以 Jboss AS7 为基础的应用服务器,支持进程优先级管理。

SDK 1.3:利用 Python 针对引擎暴露的 API 进行应用程序开发,REST 风格。

Node 2.2.2:提供最小化的 Linux 镜像,作为虚拟化的主机,并提供了 oVirt 引擎链接的功能,使用了部分 Fedora 16 中的组件

oVirt 由 Canonical, Cisco, IBM, Intel, NetApp, Red Hat, SUSE 合作开发,该项目于 2008 年由 Red Hat 发起,皆在建立一套开放的虚拟化解决方案。

在 Fedora 16 下安装 oVirt 引擎:

sudo wget http://www.ovirt.org/releases/stable/fedora/16/ovirt-engine.repo -P /etc/yum.repos.d

sudo yum install -y ovirt-engine

之后的内容请参照安装配置手册

如果对 oVirt 相关技术感兴趣的话,欢迎参加今年 3 月 21 日在北京 IBM Campus 举行的 oVirt 工作坊活动

英文邮件列表发布公告

分类: Productivity, Virtual Machine | 永久链接 | 收藏到 del.icio.us | Email 给好友 | 无评论 | 捐助本站

Group Managers in FreeIPA

The power of a hierarchical database lies in its access controls. FreeIPA gives you a set of tools that you can use in order to delegate authority using those access controls.

Here’s an example.  Let say you are running a web site where people can create projects.  In order to create a project,  you send in a ticket to  request the project creation.  Once that project has been created,  people ask you to join their projects.  Once the project is created,  as the project lead,  you can add and remove people from the project,  but they have to be in the system.

Yes,  I know,  very theoretical,  where would we ever see an organization like that?

A user named admiyo requests a project for people interested in Beowulf projects.  The IPA Admin creates it. In addition,  the admin has to create a Role, a Privilege, and a Permission  that will allow the user to manage that group,  assign the Permission to the Privilege and the Privilege to the Role.  Finally,  the Admin has to assign that role to the user admiyo.

[root@f16server ~]# ipa group-add beowulf --desc "Imagine a Beowulf Cluster...."
---------------------
Added group "beowulf"
---------------------
  Group name: beowulf
  Description: Imagine a Beowulf Cluster....
  GID: 500400007
[root@f16server ~]# ipa role-add
Role name: beowulf-managers
Description: Manage the Assets of the Beowulf project
-----------------------------
Added role "beowulf-managers"
-----------------------------
  Role name: beowulf-managers
  Description: Manage the Assets of the Beowulf project
[root@f16server ~]# ipa privilege-add
Privilege name: beowulf-manage
Description: Manage the Assets of the Beowulf project
--------------------------------
Added privilege "beowulf-manage"
--------------------------------
  Privilege name: beowulf-manage
  Description: Manage the Assets of the Beowulf project

For user groups, the simplest way to create the permission is to user the targetgroup keyword.

[root@f16server ~]# ipa permission-add 'beowulf-manage-group' --targetgroup=beowulf --permissions=write --attrs=member
---------------------------------------
Added permission "beowulf-manage-group"
---------------------------------------
  Permission name: beowulf-manage-group
  Permissions: write
  Attributes: member
  Target group: beowulf

Now the assignments:

[root@f16server ~]# ipa role-add-privilege Role name: beowulf-managers
[privilege]: beowulf-manage
  Role name: beowulf-managers
  Description: Manage the Assets of the Beowulf project
  Privileges: beowulf-manage
----------------------------
Number of privileges added 1
----------------------------
[root@f16server ~]# ipa privilege-add-permission Privilege name: beowulf-manage
[permission]: beowulf-manage-group
  Privilege name: beowulf-manage
  Description: Manage the Assets of the Beowulf project
  Permissions: beowulf-manage, beowulf-manage-group
  Granting privilege to roles: beowulf-managers
-----------------------------
Number of permissions added 1
-----------------------------
[root@f16server ~]# ipa role-add-member
Role name: beowulf-managers
[member user]: admiyo
[member group]:
[member host]:
[member host group]:
  Role name: beowulf-managers
  Description: Manage the Assets of the Beowulf project
  Member users: admiyo
  Privileges: beowulf-manage
-------------------------
Number of members added 1
-------------------------

I’d like to point out that I had very little idea what the CLI was going to ask for on these. I just trusted it to walk me through, and it did. The one exception was the creation of the permission,  as it doesn’t prompt for the –attrs field

Now to test it out.

[root@f16server ~]# kinit admiyo
Password for admiyo@F16SERVER.AYOUNG.BOSTON.DEVEL.REDHAT.COM:
[root@f16server ~]# ipa group-add-member
Group name: beowulf
[member user]: kfrog
[member group]:
  Group name: beowulf
  Description: Imagine a Beowulf Cluster....
  GID: 500400007
  Member users: kfrog
-------------------------
Number of members added 1
-------------------------

This same technique can be used with the other entities in FreeIPA. In the future, I’ll show how to do delegation for Host Groups and Netgroups. In theory, delegation of a DNS domain can be done the same way, but I haven’t worked through that yet.

This process can and should be streamlined (I’ve already submitted a ticket for that)  but could be fairly easily scripted, too.

kernel weekly news – 11.09.2012

Hello, world!

-We start with Takashi Iwai who has sound fixes for -rc3, Nicolas
Ferre updates linux-at91, Greg KH announces 3.0.19, 2.6.32.56
, 3.2.3 and 3.2.4, Olof Johansson updates arm-soc for 3.3-rc and
John W. Linville has wireless updates, as follows:

We have a fix from Eliad Peller for an off-by-one error in mac80211 that
was preventing a timeout. Emmanuel Grumbach provides an iwlwifi fix to
avoid incorrect manipulations on non-QoS frames that were stalling the
Tx queues. Hauke Mehrtens provides another off-by-one fix, this one for
the SSB bus. Jesper Juhl provies us with a fix for a memory leak in the
BCMA code. A fix to avoid some log spam from iwlwifi is provided by me.
Finally, Luigi Tarenga provides an rt2800 fix to correctly report signal
strength.

-Rafael J. Wysocki updates linux-pm for -rc3, Guenter Roeck updates hwmon
(-rc3 will be assumed from now on), Avi Kivity updates kvm for -rc2, Samuel
Ortiz updates mfd, Grant Likely has gpio bugfixes, Grant Likely has SPI
changes for -rc2, Jiri Kosina updates HID and Greg KH is back with the
announcement of kernels 3.0.20 and 3.2.5.

-Florian Tobias Schandinat has fbdev fixes for 3.3, Arnaldo Carvalho de
Melo has perf/urgent fixes, John W. Linville has wireless fixes intended
for 3.3, and Linus announces 3.3-rc3:

Another week, another -rc.

No big surprises, which is just how I like it. About a third of the
patches are in ARM, but the bulk of that is due to the removal of the
unused DMA map code form the bcmring support. So no complaints.

The rest is fairly flat in the diffstat (== random small changes all
over), although mostly drivers. More sound/hda (and asoc) updates,
some target and IB updates, etc etc.

Shortlog appended for your perusal, you can see the kind of largely
“fix small details” almost all of it is,

-Greg KH has -rc3 updates for USB, char, driver core, staging and TTY,
and that’s about it for this week. Take care.


February 10, 2012

Eclipse at FOSDEM recap

Last weekend was FOSDEM in Brussels, Belgium. We had a lot of people come by the Eclipse stand to say they were happy users which was great to hear. It’s understandable that many people did not know about the diversity of Eclipse projects so it was great having Gunnar to show off RT stuff, Mike to show Orion, and myself to demonstrate some of the CDT and Linux Tools functionality.


Booth photo, shamelessly stolen from Gunnar

My lightning talk (slides here) was right after Gunnar’s and IMO both did what they set out to do: to provide an introduction to some parts of Eclipse and hopefully pique people’s interest to learn more. More than one person came up to me afterwards asking for more details or telling me they were going to try things out and report any bugs they find. I look forward to hearing from those people.


Gary Benson and Xerxes Rånby looking at Eclipse running on OpenJDK on ARM

Beer event at Delirium Cafe

It’s Scientastic!

View from Eclipse booth. There was a giant stuffed camel looking the other way.

Omair Majid and Jon VanAlten debuting Thermostat

Mike’s future O’Reilly book

Andrew Dinn, Chris Phillips, Jon ValAlten, and Gunnar Wagenknect

Krzysztof Daniel, Stano Ochotnicky, and Deepak Bhole

It was a really awesome experience, living up to Dalibor‘s description as “Oktobefest for Free Software hackers”. Many hands were shook and much delicious beer was consumed. The organizers and volunteers who keep the conference running smoothly are absolutely amazing; thanks for providing this great service! I hope I can attend in the future!

A few things that I’m thankful for

Wow… My heart is really full this week, and I’ve been overwhelmed with all the “thank you”s and and other kind wishes from people in the Fedora community as I’ve passed the torch on to Robyn Bergeron as the next Fedora Project Leader.  I always knew that I was only going to be the FPL for a couple of years, but now that the time has come to move on, it’s a bit surreal.  As I’ve said numerous times, the job is a difficult and stressful one, yet it’s very rewarding at the same time.  I couldn’t have done it without the support and hard work of the thousands of Fedora community members who continue to make Fedora an awesome place to participate in free and open source software.

In particular, I’d like to take this opportunity to share several things that I’ve been very thankful for during my tenure as the FPL.

First of all, I’m thankful for my friends… not only friends that made me laugh when I was stressed out, or friends that helped get things done, but also for friends that weren’t afraid to tell me when I made a mistake, or needed to view things from a different perspective.  I’m humbled by friends who have inspired me, and taught me, and set a good example for me, and listened to me when I needed to vent.  I’ve made a lot of new friends over the past couple of years, and I value those friendships as the number one thing I’ve taken aware from the experience.  I look forward to continuing to rub shoulders with my FLOSS friends in the future.  Thank you for your kindness and your support.

Next, I’m thankful for the perspective I’ve gained.  It’s so easy to get “tunnel vision” when working on a program or a project.  Many of us enjoy free and open source software because we learn about so many different things and become experts in many different areas.  Unfortunately, this also means we can assume that our world view is the correct world view, or perhaps even the only world view that matters.  If there’s one lesson I’ve learned from being the Fedora Project Leader, it is that there are many different perspectives on each issue, and that most of them have something valuable to add to the equation.  I’m thankful for the new perspectives I have gained, and for the experiences that have helped me to gain a wider view.

I’m also thankful for the many thousands of hours that hard-working Fedora contributors have put forth to make Fedora better.  In looking back over the past three releases (Fedora 14, 15, and 16), we’ve made a lot of forward progress.  That’s not to say that there hasn’t been some controversy along the way.  Looking to the future, I hope that we can continue to chart new territory in Fedora, while not forgetting the lessons of the past.  As one of my favorite songs puts it, “Fly your mind… fly it like a kite.  But keep your feet on the ground.”  I have no doubt that the Fedora community can continue to add new features and still do the necessary communication and integration work to make the disparate pieces come together to make a more unified whole.  Not only have we made the distribution better, but even more importantly we’ve made the community better and stronger.

Last but not least, I’m also thankful for Red Hat, and their continued support on behalf of Fedora, and for the great trust they place in the Fedora community.  I could go on and on about the relationship between Red Hat and Fedora, but let me just say that I’m thankful for Red Hat’s continued efforts to do the right thing and to practice what it preaches about open source communities.  During my tenure at FPL, I never once felt pressured by Red Hat to do anything that wasn’t in the community’s best interest, and I think that says volumes about a corporate sponsor.

 

RBL (Real Time Block List) con qmail

La implementación de RBL en qmail es bastante simple en la instalación estandard. Solo debemos modificar el script qmail-smtpd agregando las lineas “-r algun_rbl”.

Este es un ejemplo de la parte del exec del script:

exec /usr/local/bin/softlimit -m 30000000 \
 /usr/local/bin/tcpserver -v -R -l "$LOCAL" -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" \
 -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp \
 /usr/local/bin/rblsmtpd -b -r list.dsbl.org \
 -r cbl.abuseat.org \
 -r combined.njabl.org \
 -r relays.ordb.org \

Identi.ca<iframe class="addtoany_special_service twitter_tweet" scrolling="no" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fhvivani.com.ar%2F2012%2F02%2F10%2Frbl-real-time-block-list-con-qmail%2F&amp;counturl=http%3A%2F%2Fhvivani.com.ar%2F2012%2F02%2F10%2Frbl-real-time-block-list-con-qmail%2F&amp;count=horizontal&amp;text=RBL%20%28Real%20Time%20Block%20List%29%20con%20qmail" style="border:none;overflow:hidden;width:130px;height:20px"></iframe><iframe class="addtoany_special_service google_plusone" scrolling="no" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fhvivani.com.ar%2F2012%2F02%2F10%2Frbl-real-time-block-list-con-qmail%2F&amp;size=medium&amp;count=true" style="border:none;overflow:hidden;width:90px;height:20px"></iframe><iframe class="addtoany_special_service facebook_like" scrolling="no" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fhvivani.com.ar%2F2012%2F02%2F10%2Frbl-real-time-block-list-con-qmail%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=like&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" style="border:none;overflow:hidden;width:90px;height:21px"></iframe>Share

login(1) changes
I have completely refactored login(1). The new login(1) merges features from Suse login(1) back into util-linux version and is more compatible with login(1) from shadow-utils. I believe that now we have login(1) implementation which is usable in all mainstream Linux distributions.

The original util-linux login(1) code is derived from 4.3 BSD (so older than Linux kernel).

Changes:
  • PAM only

    It's obvious that in all mainstream distributions is PAM de facto standard for users authentication and maintain any non-PAM methods in login(1) is waste of time.

    If you don't like this change (really?) than you can use login(1) from shadow-utils.

  • support /etc/login.defs(5) config file

    Supported options: MOTD_FILE, LOGIN_TIMEOUT, LOGIN_RETRIES, FAIL_DELAY, TTYPERM, TTYGROUP HUSHLOGIN_FILE, DEFAULT_HOME, LOG_UNKFAIL_ENAB, ENV_PATH, ENV_ROOTPATH, ENV_SUPATH

  • print hostname in the login prompt, the default prompt is compatible with initial prompt from agetty

  • add -H for compatibility with Suse version. This option suppresses the hostname printing in the login prompt.

  • global hush mode for all accounts (enabled if /etc/hushlogins exists, but is empty). The global hush mode allows to use PAM for "Last login" message.
More details: http://thread.gmane.org/gmane.linux.utilities.util-linux-ng/4866
Verificar servicios SMTP y POP con telnet por consola

Muchas veces necesitamos verificar o probar si los servicios POP o SMTP están levantados y en dicho caso establecer diálogo con el servidor de mail para verificar que no hay errores en sus instalación.

Para estos casos, estas son las pruebas básicas:

Leemos los mails disponibles para descarga por POP3:

# telnet localhost 110
Trying 192.168.1.10...
Connected to 192.168.1.10.
Escape character is '^]'.
+OK <16658.1054485137@yourserver.com>
user postmaster@mydomain.com (ingresar direccion de mail completa)
+OK
pass your_password
+OK
list
+OK
1 1349     (aqui muestra la lista de e-mails disponibles en la casilla)
.
quit
+OK
Connection closed by foreign host.
This is the sign of a successfull POP

Verificamos servicio SMTP con TLS (Transport Layer Security):

# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 somewhere.anywhere.com ESMTP
ehlo localhost
250-somewhere.anywhere.com
250-AUTH LOGIN CRAM-MD5 PLAIN
250-AUTH=LOGIN CRAM-MD5 PLAIN
250-STARTTLS
250-PIPELINING
250 8BITMIME
starttls
220 ready for tls
quit
quit
Connection closed by foreign host.

 

Identi.ca<iframe class="addtoany_special_service twitter_tweet" scrolling="no" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fhvivani.com.ar%2F2012%2F02%2F10%2Fverificar-servicios-smtp-y-pop-con-telnet-por-consola%2F&amp;counturl=http%3A%2F%2Fhvivani.com.ar%2F2012%2F02%2F10%2Fverificar-servicios-smtp-y-pop-con-telnet-por-consola%2F&amp;count=horizontal&amp;text=Verificar%20servicios%20SMTP%20y%20POP%20con%20telnet%20por%20consola" style="border:none;overflow:hidden;width:130px;height:20px"></iframe><iframe class="addtoany_special_service google_plusone" scrolling="no" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fhvivani.com.ar%2F2012%2F02%2F10%2Fverificar-servicios-smtp-y-pop-con-telnet-por-consola%2F&amp;size=medium&amp;count=true" style="border:none;overflow:hidden;width:90px;height:20px"></iframe><iframe class="addtoany_special_service facebook_like" scrolling="no" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fhvivani.com.ar%2F2012%2F02%2F10%2Fverificar-servicios-smtp-y-pop-con-telnet-por-consola%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=like&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" style="border:none;overflow:hidden;width:90px;height:21px"></iframe>Share

Photo Printer

Last night we needed to print photos for our son’s project. We currently have a color laser which is great for printing lots of text documents with some graphics, but the Xerox Phaser 6130n is NOT a photo printer.

I’m looking for a printer that can print decent photos nothing perfect, if
I want better photos I can order them online from a photo place on real photo paper. But I have a laundry list of requirements.

Requirements:

  • Must work with Linux specifically Fedora
  • Must work with Mac OS X
  • Network capable (prefer hardwired no need for wireless)
  • Prefer ink tanks over cartridges, like my Canon S750.
  • Must have separate tanks for colors

Here’s an example of the Canon ink tank. It’s pretty cheap and doesn’t need a new print head. This was great but the Canon S750 I have has very little
driver support for either Linux or Mac and doesn’t print very well anymore.

ink tank

Leave your recommendations in the comment area, thanks.


Obtener IP externa o pública desde consola

Para obtener la IP que externa que tenemos en un determinado momento, usualmente debemos consultar el router o facilmente entrando a algún sitio como www.cualesmiip.com.

Para hacerlo directamente por linea de comandos o consola, bastara ejecutar la utilidad cURL para lograrlo.

Si no tenemos instalado el paquete curl:

$ sudo yum install curl

Luego, para consultar la IP externa o pública que estamos usando:

$ curl ifconfig.me

Identi.ca<iframe class="addtoany_special_service twitter_tweet" scrolling="no" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fhvivani.com.ar%2F2012%2F02%2F10%2Fobtener-ip-externa-o-publica-desde-consola%2F&amp;counturl=http%3A%2F%2Fhvivani.com.ar%2F2012%2F02%2F10%2Fobtener-ip-externa-o-publica-desde-consola%2F&amp;count=horizontal&amp;text=Obtener%20IP%20externa%20o%20p%C3%BAblica%20desde%20consola" style="border:none;overflow:hidden;width:130px;height:20px"></iframe><iframe class="addtoany_special_service google_plusone" scrolling="no" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fhvivani.com.ar%2F2012%2F02%2F10%2Fobtener-ip-externa-o-publica-desde-consola%2F&amp;size=medium&amp;count=true" style="border:none;overflow:hidden;width:90px;height:20px"></iframe><iframe class="addtoany_special_service facebook_like" scrolling="no" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fhvivani.com.ar%2F2012%2F02%2F10%2Fobtener-ip-externa-o-publica-desde-consola%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=like&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" style="border:none;overflow:hidden;width:90px;height:21px"></iframe>Share

Rebuilding older rpms

Today I needed an xml diff tool. There seem to be an xmldiff and a diffxml, neither of them packaged by Fedora at the moment. I found an old src.rpm for Fedora 6 for xmldiff 0.6.8

The src.rpm doesn’t rebuild as is for various reasons: its %check stage imports unittest2, so I disabled check. Then it didn’t find debuglist.files, so I disabled building a debug package. And then it found an installed egg file which it didn’t like, so I disabled checking for installed files.

Since I’m going to forget how I did this in the future when I will need this again for some obscure reason, and because if you ever build rpms you may find this useful, here is the command that did it for me for Fedora 15:
rpmbuild --rebuild -D '%check exit 0' -D 'debug_package %{nil}' -D '_unpackaged_files_terminate_build exit 0' xmldiff-0.6.8-1.fc6.src.rpm

Now, back to comparing xml files.

Instalar KDE 4.8 en Fedora 16

Lo primero que debemos hacer es configurar el repositorio de kde:

su -c 'wget http://apt.kde-redhat.org/apt/kde-redhat/fedora/kde.repo -O /etc/yum.repos.d/kde.repo'

tenemos que habilitar testing y unstable:

su -c 'sed -i 's/enabled=0/enabled=1/g' /etc/yum.repos.d/kde.repo'

Ahora si ya tenemos instalado una versión anterior de kde, ejecutamos:

su -c 'yum update'

Si no lo tenemos instalado:

su -c 'yum install @kde-desktop'

 

Fuente: http://fedorigen.wordpress.com/2012/01/24/instalar-kde-4-8-en-fedora-16/

GPG keysigning made easy with Pius

A few months back the Red Hat KVM team held a mass keysigning party to setup a web of trust between each others keys. IIRC, there were approximately 20 people participating in this, which potentially meant alot of tedious typing of GPG commands, with the potential for error such tedium implies. Fortunately we had Jim Meyering on hand to give us some tips for facilitating/optimizing the process, the most important of which was to introduce us to the ‘Pius‘ tool.  To quote from its website

pius (PGP Individual UID Signer) helps attendees of PGP keysigning parties. It is the main utility and allows you to quickly and easily sign each UID on a set of PGP keys. It is designed to take the pain out of the sign-all-the-keys part of PGP Keysigning Party while adding security to the process.

That can already be time consuming, but preferrably, you want to verify the identity in each UID, which means verifying the email addresses. There are a few ways to do this, but one of them is to sign each UID on the key individually (which requires import-sign-export-delete for each UID), encrypt-emailing that key to the email address in the UID. This can be incredibly time consuming.

That’s where pius comes in. Pius will do all the work for you – all you have to do is confirm the fingerprint for each key. It will then take care of signing each UID cleanly, minimizing the key, and using PGP/Mime email to send it, encrypted, to the email address in the UID.

The steps Jim defined for us to follow using Pius were as follows

  1. Collate a list of everyone’s key IDs. Our list looked like this (cut down to save space)
     # cat > keyids.txt <<EOF
     4096R/000BEEEE 2010-06-14 Jim Meyering
     4096R/E1B768A0 2011-10-11 Richard W.M. Jones
     4096R/15104FDF 2011-10-11 Daniel P. Berrange
     ...
     EOF
  2. Download all the keys from a key server (it is assumed everyone has already uploaded their own key to a server)
     # id_list=$(perl -nle 'm!^\d{4}R/(\S{8}) ! and print $1' keyids.txt)
     # gpg --recv-keys  $(echo $id_list)
  3. Generate a list of fingerprints for all keys that are to be signed
     # gpg --fingerprint $(echo $id_list)
  4. Verify all the fingerprints and their owners’ identities.
    This is the security critical part. You generally want to meet the person face-to-face, verify their identity via some trusted means (passport, driving license, etc). They should read their key fingerprint out to you, and you should verify that it matches the fingerprint of that downloaded from the key server.
  5. Use Pius to sign all the keys whose fingerprints were verified.
    MAIL_HOST=smtp.your.mail.server.com
    me=your@email.address.com   (eg dan@berrange.com)
    my_id=XXXXXXXXXXX  (Your GPG Key ID eg  15104FDF)
    # pius --mail-host=MAIL_HOST --no-pgp-mime --mail=$me --signer=$my_id $(echo $id_list)

What Pius does here is that for each key ID it is given, it will sign each individual identity (email address). The signature will be ascii-armoured and then sent to the email address associated with that identity. If a user has multiple email addresses on their key, they will receive one signature email per address. The email contains instructions for what the receipient should do. The email will look something like this

From: eblake@redhat.com
To: berrange@redhat.com
Subject: Your signed PGP key

[-- Attachment #1 --]
[-- Type: text/plain, Encoding: 7bit, Size: 0.7K --]

Hello,

Attached is a copy of your PGP key (0x15104fdf) signed by my key
(0xa7a16b4a2527436a).

If your key has more than one UID, than this key only has the UID associated
with this email address (berrange@redhat.com) signed and you will receive
additional emails containing signatures of the other UIDs at the respective
email addresses.

Please take the attached message and decrypt it and then import it.
Something like this should work:

   gpg -d  | gpg --import

Then, don't forget to send it to a keyserver:

   gpg --keyserver pool.sks-keyservers.net --send-key 15104fdf

If you have any questions, let me know.

Generated by PIUS (http://www.phildev.net/pius/).

[-- Attachment #2: 15104fdf__berrange_at_redhat.com_ENCRYPTED.asc --]
[-- Type: application/octet-stream, Encoding: 7bit, Size: 4.6K --]

The final thing, once everyone has dealt with the emails they received, is to refresh your local key database to pull down all the new signatures

# gpg --recv-keys  $(echo $id_list)

I should point out that Pius isn’t just for mass key signing parties. Even if you only have 1 single key you want to sign, it is still a very convenient tool to use. The simplified set of steps to go through would be

# gpg --recv-key XXXXXXXX
# gpg --fingerprint XXXXXXXX
# ...verify person's identity & fingerprint
# pius --mail-host=MAIL_HOST --no-pgp-mime --mail=$me --signer=$my_id XXXXXXX
# ....some time later...
# gpg --recv-key XXXXXXXX

Thanks again to Jim Meyering for pointing out Pius and doing the organization for our key signing party & defining the steps I describe above. BTW, Pius is available in Fedora from F16 onwards.

February 09, 2012

Is GPL usage really declining?
Matthew Aslett wrote about how the proportion of projects released under GPL-like licenses appears to be declining, at least as far as various sets of figures go. But what does that actually mean? In absolute terms, GPL use has increased - any change isn't down to GPL projects transitioning over to liberal licenses. But an increasing number of new projects are being released under liberal licenses. Why is that?

The figures from Black Duck aren't a great help here, because they tell us very little about the software they're looking at. FLOSSmole is rather more interesting. I pulled the license figures from a few sites and found the following proportion of GPLed projects:

RubyForge: ~30%
Google Code: ~50%
Launchpad: ~70%

I've left the numbers rough because there's various uncertainties - should proprietary licenses be included in the numbers, is CC Sharealike enough like the GPL to count it there, that kind of thing. But what's clear is that these three sites have massively different levels of GPL use, and it's not hard to imagine why. They all attract different types of developer. The RubyForge figures are obviously going to be heavily influenced by Ruby developers, and that (handwavily) implies more of a bias towards web developers than the general developer population. Launchpad, on the other hand, is going to have a closer association with people with an Ubuntu background - it's probably more representative of Linux developers. Google Code? The 50% figure is the closest to the 56.8% figure that Black Duck give, so it's probably representative of the more general development community.

The impression gained from this is that the probability of you using one of the GPL licenses is influenced by the community that you're part of. And it's not a huge leap to believe that an increasing number of developers are targeting the web, and the web development community has never been especially attached to the GPL. It's not hard to see why - the benefits of the GPL vanish pretty much entirely when you're never actually obliged to distribute the code, and while Affero attempts to compensate from that it also constrains your UI and deployment model. No matter how strong a believer in Copyleft you are, the web makes it difficult for users to take any advantage of the freedoms you'd want to offer. It's as easy not to bother.
So it's pretty unsurprising that an increase in web development would be associated with a decrease in the proportion of projects licensed under the GPL.

This obviously isn't a rigorous analysis. I have very little hard evidence to back up my assumptions. But nor does anyone who claims that the change is because the FSF alienated the community during GPLv3 development. I'd be fascinated to see someone spend some time comparing project type with license use and trying to come up with a more convincing argument.

(Raw data from FLOSSmole: Howison, J., Conklin, M., & Crowston, K. (2006). FLOSSmole: A collaborative repository for FLOSS research data and analyses. International Journal of Information Technology and Web Engineering, 1(3), 17–26.)

comment count unavailable comments
IPython GUI

Did you know that IPython has GUI? I didn’t. Then I’ve found ipython-gui package by accident. Wow, what is this?

This package contains the gui of ipython, which requires PyQt.

Nice, let’s try that out. I installed ipython-gui and… nothing. No new desktop launcher installed. No new executable installed. No new man page. No documentation of any kind. Nothing. Inspecting man ipython yielded same (no) results.

After dozens minutes spent Googling, I finally found the magic command:

$ ipython qtconsole

Hah, you are no match for me, ipython developers, I’ve found it in the end!

So once we know how to run it, what does it do? Well it is an improved IPython console. Main features I noticed in the first few minutes:

  • Syntax highlighting.
  • Tab completion hints disappear nicely and don’t “reset” your current line.
  • Methods docstrings are shown in the form of tooltips immediately after typing the opening parenthesis.
  • True multi-line editing support. You can finally invoke a multi-line command from history and easily change a single line. Yes!

 

Flattr this


Doom3 demo benchmarking made easy
So i decided to give another shoot at using doom3 as benchmark for my GPU work. As i don't have the full game (shame on me) i have to use the demo but the demo is not usefull for recording and playing back anything. But now things are opensource yeah ! So with git://git.iodoom.org/iodoom3/iodoom3.git and http://people.freedesktop.org/~glisse/0001-doom3-fix-demo-allow-demo-to-replay-demo-file.patch i was able to build doom3 demo on linux :) (scons . TARGET_DEMO=1 NOCURL=1).

Then just uncompress doom3-linux-1.1.1286-demo.x86.run replace gamex86.so by one from iodoom gamex86-demo.so. At that point you can launch the demo start a game and when ever you think it's good time recorddemo mystuff in doom3 console to start recording then stoprecording once you think you have enough frames. To replay your demo doom3-demo +timedemoquit mystuff.

Note you need 1.1.1286 as iodoom have a checksum for this file hardcoded (i haven't try with older demo but skipping the checksum check might work).

So now i have something a little more recent and different from other benchmark i often use (openarena, nexuiz). I wish their were some free advance GL demo with nice content we could use...
Fielding common questions at your Eucalyptus talk

As the Eucalyptus community picks up steam, more and more folks who aren’t Eucalyptus employees are giving talks about EuCa at various events around the world – which is fantastic. How do we get everyone the information they need to give a successful talk? Ah, that’s the fun challenge.

Sometimes we just fill in gaps as we go along. For instance, Shaon’s talk, “Next generation cloud deployment: Self help is the best help!” just got accepted to SoftExpo 2012. Subsequently, a few of us had a spontaneous discussion on how to field a couple tricky questions when giving EuCa talks – the post below is based on these meeting logs. (Disclaimer: these represent individual opinions and don’t speak for Eucalyptus as a company, etc.)

Why is Eucalyptus using the Amazon API?

Because AWS is way farther ahead than the others, and we believe it to be the most worthy of focus. We may support other APIs in the future, but we prefer to focus now on the best API, and that’s AWS. See this post by Mark Shuttleworth for reference – it’s about OpenStack, but makes the same point.

How much does Eucalyptus support cost?

Varies widely. Contact Eucalyptus for details.

What third party apps are available for Eucalyptus management?

There are a few options for apps that run on Eucalyptus and provide Amazon-RDS-like support. The top three:

Providers of IaaS services need a usage monitoring tool. What does Eucalyptus offer?

There are hooks in Euca 3.0 for reporting usage; this is a new feature. We don’t have details yet, but they will be in the docs when we release them (which will hopefully be soon).

In Euca 2.0, instances cannot be recovered once the node goes down. Ks there any solution?

Boot from EBS is a new feature in Euca 3, and may be able to help with that problem somewhat. However, redundancy (multiple instances running at all times) is the way to survive instance failures. If you have multiple zones, start instances on all zones.

Instances are supposed to be spendible. HA (High Availability) is for the infrastructure: the app will still need to be designed with the cloud in mind to be fully HA. EBS and Walrus are the persistent storages to be used to keep the states and backup.

Wait, wouldn’t EBS and Walrus use more resources? I thought cloud was supposed to minimize resource usage.

Yep. HA wastes resources by design.

What are the alternatives to Eucalyptus, and why would someone choose Eucalyptus over them?

  • Openstack: Broad community supported by many companies, modular design. Both a blessing and a curse. Openstack is much more a set of tools for building a cloud; Euca is cloud-in-a-box. And openstack, honestly, just isn’t as far along.
  • Cloudstack: Good product, good UI. Integration with AWS isn’t as good.
  • Opennebula: Again, more of a toolkit approach. Not too many components — just more flexibility about how you put them together. Seems like Openstack and Opennebula are both good for the service provider market, and Euca and cloudstack are more all-inclusive products for the enterprise market.

That’s all we had time for — what other questions would you ask, and how would you answer these?

Not for sale

It’s been quite a while since I last wrote anything on this blog. Apparently, since November. I’ve been busy with work related stuffs, and haven’t had a chance to contribute anything news-worthy to the Open Source world. I did commit something for CyanogenMod 9′s keyboard. but that’s not entirely news-worthy afaik.

Over the past few weeks, I’ve gotten a couple of spam(?) emails asking to advertise on the site. This site is not for sale. What I write about is stuff I’d like to write about. Who I link to is people I’d like to link to and what I work on is stuff I’d like to work on. And that won’t change.

Lets see how long till my next blogpost :P

Org-mode syntax highlighting for GtkSourceView

If you’re an old-school Emacs user, and you are into GTD organizers, outliners, or would like a less messy way of generating LaTeX documents (from papers to presentations), you’re probably already familiar with Org-mode.

Org-mode is really quite tightly integrated with Emacs — so under normal circumstances there’s no reason to support it elsewhere. But at work we’ve recently had to collaboratively edit Org documents, and alas, Emacs’ Rudel no longer work reliably on newer Linux releases. We’re forced to use Gobby, which is a fine collaborative editor but is simply not Emacs. What is one to do?

I’ve thus started a GitHub project to create a language definition file for GtkSourceView (and, by extension, any editors on the GNOME desktop, including gedit and Gobby. Do check it out here — I’m adding support for language elements as I need them, and my schedule is rather busy these days, but feel free to file requests and/or enhancement patches (but if you do the latter, please include a statement licensing your contribution under the same MIT license you can see in the header of org.lang


Cool stuff – sftp+chroot+SELinux

Petr Lautrbach (openssh package maintainer) wrote a great blog about cool stuff – sftp+chroot+SELinux


F15 and F16 updated Livecds and new location

With the release of the new F15 and F16 kernels i am proud to release the F15-20120209 and the F16 -20120206 update livecd.isos

From now on the isos will be found at  http://alt.fedoraproject.org/pub/alt/live-respins/


Linux Workshop At SASTRA University, Thanjavur

Last weekend I visited Thanjavur with Arun and Srishti. We were invited in SASTRA University for a two days Linux workshop. The college is situated between Thanjavur and Trichy, closer to Thanjavur. They are very strict with discipline, clothes, timings for hostel and most of the things which I found superficial but that is just my personal opinion. I was initially asked to talk about Linux kernel and I was astonished. Students in Indian colleges don’t usually have basic Linux skills, kernel was something way beyond the reach. Till date, I am not sure if I understand kernel well enough to talk about it. We created a talk schedule comprising of some basic talks on Linux, python, git, vim, django and similar topics and handed it over to the organizers from SASTRA.

We reached there on Sat, 4 Feb after 6-7 hours of bus journey on bumpy roads. I hardly slept for 2-3 hours, same for Arun. We had two classrooms full of students. Arun picked one and started with Introduction of FOSS and Linux while I took the other one and started with Python Introduction. Srishti talked about Qt after that. The day went by and we had talks on Vim, Emacs, Python, Qt, RPM packaging by Arun, Srishti and me. As my initial expectation, the level of Linux awareness was not much. I guess that is the problem with most of the colleges in India.

Day two started with me talking about the basics of DNS and Load balancing and Arun talking about Django. We dialed down things to the beginner level and tried to explain things in as simple form as we could. I was kinda skeptical about both of my talks, Load Balancing as well as Puppet, because these are fairly advanced topics but students kept their patience which I should appreciate. I asked them to configure a puppet master on the spot and all of them were able to do the same after an hour of debugging session. We closed on a good note (I hope) and some fun moments.

We visited a temple afterwards, a huge temple. I still fail to understand why would they spend so much time, resources and money to build a temple but i guess faith is something which is beyond my understanding. A few non-linux points about this workshop:

  • We saw a doll which Arun loved. The doll, made up of wood, i think, swings its head.
  • Srishti likes to click photographs even when food is at stake.
  • Arun has replaced pink slippers with yellow ones.
  • Food at SASTRA canteen is far better than what we had in my college canteen (Birla Institute of Technology).
GNUnify, Pune this weekend :)

February 08, 2012

nueva placa icaro basada en pinguino-usb
Una de las principales preocupaciones que tuve a la hora de encarar el proyecto de robótica ICARO era la de poder fabricar componentes de hardware de bajo costo y fácil adquisición para poder usar en ámbitos escolares (donde los alumnos podrían romper los equipos por falta de experiencia). Aparte la idea principal de ICARO, es hacer la robótica accesible para la mayor cantidad de personas, por lo tanto cualquier hardware que diseñara tendria que tener estas caracteriscticas minimas:

Bajo costo:

Como el desarrollo es para uso educativo, en el balance de costos calidad, un hardware caro y potente no es tan útil como uno barato y con mas posibilidades de adquisición por las instituciones (sobre todos colegios públicos)

Fácil fabricación:

la idea es que cualquier persona pueda fabricar las placas con un mínimo de conocimientos y herramientas como un soldador de estaño y una perforadora de mano. Eso genera algunas limitaciones con respecto al PCB.
  1. preferentemente debe ser un PCB de una sola cara.
  2. No usar componentes SMD (soldadura superficial).
  3. El ancho de las pistas debe  ser lo suficientemente grande para poder usar tecnicas de armados caseras como la transferencia termica de tonner mediante una plancha.
  4. tiene que ser posible usar PCBs universales para armar las placas
 accesible:

Mientras mas común sea el componente electrónico, sera mas fácil de adquirir en cualquier país.
Usar dispositivos difíciles de conseguir, no sirve para un proyecto que busca integrar la robótica en las aulas.

Reciclable:

No solo se abarata costos reciclando componentes, también permite dar una respuesta a la basura electrónica reutilizando motores, sensores y partes de impresoras, lectoras de CD y CPUS viejas. Aparte no encasilla tanto el desarrollo de los alumnos al obligarlo a usar piezas pre definidas.


Con lo expuesto arriba, son los avances que fui desarrollando a lo largo de los años con respecto al hardware de ICARO.
Actualmente, con la entrega de notebooks a los colegios por parte del gobierno (plan conectar igualdad en argentina, plan ceibal en uruguay), la necesidad de contar con un hardware capas de trabajar con USB se volvió fundamental. 
Si bien las placas ICARO np03 (puerto serie) son muy baratas (us$ 13 aprox), el tener usar un conversor serie/usb (FTL232) encarecia el costo total del circuito (un conversor serie/USB esta costando casi us$ 20), en ese sentido la idea de pasar a un microcontrolador 18F4550 o 18F2550, fue para poder trabajar con la netbooks que se entregan masivamente en los colegios publicos.
Un pic 18f45550 es casi 9 veces mas caro que un 16f628A, pero si restamos el conversor serie/usb (que aparte es cada ves mas dificil de conseguir) tenemos un costo mas o menos parecido y con muchas mas posibilidades de trabajo (señales analogicas, mayor velocidad de procesamiento, PWM, etc).
En el desarrollo de esta nueva placa tambien quise aprovechar para integrar electronica que normalmente tenia que armar por separado para manejar motores, servos o sensores. La idea es poder tener una placa-todo-en-uno, para que los alumnos o personas que esten interesadas en la robotica, puedan hacer proyectos con minimos conocimientos.
En esta nueva placa, el driver de control para motores CC esta integrado, ahora solo hay que conectar los dos motores, sin necesidad de usar hardware periferico (y tambien modifique el software para poder directamente mandar ordenes de "adelante", "atras", "izquierda", "derecha").


Un robot fabricado con la placa pinguicaro



Vista de arriba donde se puede apreciar la placa




Toda la electronica del robot queda en la placa pinguicaro




De costado



El pcb armado a mano con una impresora laser

 vista 3d echa con kicad

otra vista



plano y dimensiones


características de pinguicaro




Video de prueba del robot.


El nuevo esquema de trabajo que voy a implementar en función del hardware disponible, se centrara en 3 software:

turtleart (tortucaro) como interface de control conectado a la notebook

pycaro para generar ventanas de control remoto

icaro-bloques para las placas pinguicaros para cargar codigo C++ (sdcc) y armar robots autónomos (sin necesidad de tener la netbook conectada).


diagrama esquemático del proyecto ICARO.

Con este diagrama, dejo el lenguaje ICARO C++ para maquinas de muy bajo recursos y con puerto paralelo, el resto del hardware trabajar con turtleart, pycaro e icaro-bloques.
nueva placa icaro basada en pinguino-usb
Una de las principales preocupaciones que tuve a la hora de encarar el proyecto de robótica ICARO era la de poder fabricar componentes de hardware de bajo costo y fácil adquisición para poder usar en ámbitos escolares (donde los alumnos podrían romper los equipos por falta de experiencia). Aparte la idea principal de ICARO, es hacer la robótica accesible para la mayor cantidad de personas, por lo tanto cualquier hardware que diseñara tendria que tener estas caracteriscticas minimas:

Bajo costo:

Como el desarrollo es para uso educativo, en el balance de costos calidad, un hardware caro y potente no es tan útil como uno barato y con mas posibilidades de adquisición por las instituciones (sobre todos colegios públicos)

Fácil fabricación:

la idea es que cualquier persona pueda fabricar las placas con un mínimo de conocimientos y herramientas como un soldador de estaño y una perforadora de mano. Eso genera algunas limitaciones con respecto al PCB.
  1. preferentemente debe ser un PCB de una sola cara.
  2. No usar componentes SMD (soldadura superficial).
  3. El ancho de las pistas debe  ser lo suficientemente grande para poder usar tecnicas de armados caseras como la transferencia termica de tonner mediante una plancha.
  4. tiene que ser posible usar PCBs universales para armar las placas
 accesible:

Mientras mas común sea el componente electrónico, sera mas fácil de adquirir en cualquier país.
Usar dispositivos difíciles de conseguir, no sirve para un proyecto que busca integrar la robótica en las aulas.

Reciclable:

No solo se abarata costos reciclando componentes, también permite dar una respuesta a la basura electrónica reutilizando motores, sensores y partes de impresoras, lectoras de CD y CPUS viejas. Aparte no encasilla tanto el desarrollo de los alumnos al obligarlo a usar piezas pre definidas.


Con lo expuesto arriba, son los avances que fui desarrollando a lo largo de los años con respecto al hardware de ICARO.
Actualmente, con la entrega de notebooks a los colegios por parte del gobierno (plan conectar igualdad en argentina, plan ceibal en uruguay), la necesidad de contar con un hardware capas de trabajar con USB se volvió fundamental. 
Si bien las placas ICARO np03 (puerto serie) son muy baratas (us$ 13 aprox), el tener usar un conversor serie/usb (FTL232) encarecia el costo total del circuito (un conversor serie/USB esta costando casi us$ 20), en ese sentido la idea de pasar a un microcontrolador 18F4550 o 18F2550, fue para poder trabajar con la netbooks que se entregan masivamente en los colegios publicos.
Un pic 18f45550 es casi 9 veces mas caro que un 16f628A, pero si restamos el conversor serie/usb (que aparte es cada ves mas dificil de conseguir) tenemos un costo mas o menos parecido y con muchas mas posibilidades de trabajo (señales analogicas, mayor velocidad de procesamiento, PWM, etc).
En el desarrollo de esta nueva placa tambien quise aprovechar para integrar electronica que normalmente tenia que armar por separado para manejar motores, servos o sensores. La idea es poder tener una placa-todo-en-uno, para que los alumnos o personas que esten interesadas en la robotica, puedan hacer proyectos con minimos conocimientos.
En esta nueva placa, el driver de control para motores CC esta integrado, ahora solo hay que conectar los dos motores, sin necesidad de usar hardware periferico (y tambien modifique el software para poder directamente mandar ordenes de "adelante", "atras", "izquierda", "derecha").


Un robot fabricado con la placa pinguicaro



Vista de arriba donde se puede apreciar la placa




Toda la electronica del robot queda en la placa pinguicaro




De costado



El pcb armado a mano con una impresora laser

 vista 3d echa con kicad

otra vista



plano y dimensiones


características de pinguicaro




Video de prueba del robot.


El nuevo esquema de trabajo que voy a implementar en función del hardware disponible, se centrara en 3 software:

turtleart (tortucaro) como interface de control conectado a la notebook

pycaro para generar ventanas de control remoto

icaro-bloques para las placas pinguicaros para cargar codigo C++ (sdcc) y armar robots autónomos (sin necesidad de tener la netbook conectada).


diagrama esquemático del proyecto ICARO.

Con este diagrama, dejo el lenguaje ICARO C++ para maquinas de muy bajo recursos y con puerto paralelo, el resto del hardware trabajar con turtleart, pycaro e icaro-bloques.
Añadir menu KDE en barra de tareas / add KDE menu to panel

Si perdimos el botón de menú en KDE (3.5.x), hacemos lo siguiente para agregarlo nuevamente:

Click con el botón derecho del mouse sobre la barra de tareas –> Add Applet o Añadir aplicación.

En el cuadro de búsqueda que aparece buscamos “K Menu”. Lo seleccionamos y presionamos “Añadir al panel”.

Listo.

Identi.ca<iframe class="addtoany_special_service twitter_tweet" scrolling="no" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fhvivani.com.ar%2F2012%2F02%2F08%2Fanadir-menu-kde-en-barra-de-tareas-add-kde-menu-to-panel%2F&amp;counturl=http%3A%2F%2Fhvivani.com.ar%2F2012%2F02%2F08%2Fanadir-menu-kde-en-barra-de-tareas-add-kde-menu-to-panel%2F&amp;count=horizontal&amp;text=A%C3%B1adir%20menu%20KDE%20en%20barra%20de%20tareas%20%2F%20add%20KDE%20menu%20to%20panel" style="border:none;overflow:hidden;width:130px;height:20px"></iframe><iframe class="addtoany_special_service google_plusone" scrolling="no" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fhvivani.com.ar%2F2012%2F02%2F08%2Fanadir-menu-kde-en-barra-de-tareas-add-kde-menu-to-panel%2F&amp;size=medium&amp;count=true" style="border:none;overflow:hidden;width:90px;height:20px"></iframe><iframe class="addtoany_special_service facebook_like" scrolling="no" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fhvivani.com.ar%2F2012%2F02%2F08%2Fanadir-menu-kde-en-barra-de-tareas-add-kde-menu-to-panel%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=like&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" style="border:none;overflow:hidden;width:90px;height:21px"></iframe>Share

Caching woes…over!

Four months ago, I mentioned here that feedmug.com was facing problems because the backend caching service was stopped citing excessive resource usage. This service, which was written in Perl, would start consuming 24MB of memory instantly upon invocation. This would later grow and shrink, but mostly fluctuate between 34-40MB. When there were feeds to be merged it used to consume more than 90% CPU cycles.

I started writing a new caching service in C, using libcurl, libmysqlclient and libxml2. I was excited, but I had no idea how to use any of these libraries. And before I could dive deeper, I got busy with organizing FUDCon India 2011. After FUDCon, there was other pending work which needed immediate attention. By the time I got back to writing the caching service again, December was half gone.

The first step was to read the list of feeds from the database, fairly straightforwad, connect to MySQL server and do a query – done. Second was to use libcurl and download each feed to the local disk. Though libcurl project has decent documentation and examples available, finding the list of options to set took some time – done. The final step, which took most of the time was to parse and merge XML feeds. The problem here was, though xmlsoft.org has lots of documentation published, none of it was readily useful. And the other tutorials I found were just as confusing. In the end it was gdb(1) which helped me realise that the XML nodes are arranged like a linked list with separate pointers pointing to its sibling and children nodes. This was enough to read and traverse the XML structure, but not enough to actually read the feed content. I’ve one request for the folks who write the RFCs and standards: Please do not have optional fields and parameters in the standard, this will only lead to non-uniform documents and inconsistant implementations.

After catching errors like missing blog links, date & time of publication, authors name etc. I had merged all the three feed formats: RSS, RDF and Atom, with CPU usage below 5% for majority of the time. Still there were two problems:

  1. couple of elusive segmentation faults, which I could not reproduce no matter how I try.
  2. Memory consumption, it was still more than 15MB and growing.

After debugging for close to a week, I finally found the glitch that was leading to one of the segmentation fault. It was a bug in the merging algorithm which would creep-in while merging last node of the list. For the memory consumption issue, I decided to try Valgrind to find memory leaks in the service. Valgrind(1) not only helped me to fix the memory leaks but also help me find another problem in the merge function.

With most of the leaks fixed, the servers memory consumption now fluctuates between 7MB-10MB starting from 3.9MB upon invocation.

There are still few leaks, they mostly seem to be in one of the linked libraries. I’m yet to figure out how to go about fixing them.

===
...
==31922== 213,216 bytes in 6,663 blocks are possibly lost in loss record 721 of 721
==31922== at 0x4A05BB4: calloc (vg_replace_malloc.c:467)
==31922== by 0x7A94449: nss_ZAlloc (arena.c:892)
==31922== by 0x7A85371: pem_CreateObject (pobject.c:1157)
==31922== by 0x7A89688: nssCKFWSession_CreateObject (session.c:1353)
==31922== by 0x7A8E4F9: NSSCKFWC_CreateObject (wrap.c:1994)
==31922== by 0x3FF0446419: PK11_CreateNewObject (pk11obj.c:412)
==31922== by 0x3FF04478B2: PK11_CreateGenericObject (pk11obj.c:1359)
==31922== by 0x397D40984F: nss_create_object (nss.c:350)
==31922== by 0x397D40993C: nss_load_cert (nss.c:412)
==31922== by 0x397D43F238: Curl_nss_connect (nss.c:1129)
==31922== by 0x397D436758: Curl_ssl_connect (sslgen.c:199)
==31922== by 0x397D40F70F: Curl_http_connect (http.c:1307)
==31922==
==31922== LEAK SUMMARY:
==31922== definitely lost: 312 bytes in 3 blocks
==31922== indirectly lost: 0 bytes in 0 blocks
==31922== possibly lost: 2,000,465 bytes in 17,637 blocks
==31922== still reachable: 602,346 bytes in 2,609 blocks
==31922== suppressed: 0 bytes in 0 blocks
==31922== Reachable blocks (those to which a pointer was found) are not shown.
==31922== To see them, rerun with: --leak-check=full --show-reachable=yes
==31922==
===

Another possible way to save memory could be to de-link from the numerous libraries. Even though I directly link with just 10 libraries at compile time, ldd(1) and pmap(1) show that the server is actually linked with some 38 differerent dynamic libraries, all of which add-up to the total memory consumption of the server.

Hope this works-out well now. :)


Useful Tips for DevConf Attendants

Developer Conference 2012 is just 9 days away and we – organizers -  become more and more thrilled and busy. DevConf goes really large this year. As I’ve already mentioned several times there will be 60 talks, 10 labs, and several other events (hackfests,…). It’s really great to see how many interesting people are coming to the conference. And they are not only from Red Hat. There are community people, people from other companies, or government agencies coming.

If you’re going to attend Developer Conference, I’ve got a few tips for you:

To make your stay in Brno a pleasant experience, we’ve created a special (Google) map of Brno that shows all kinds of points of interest. You won’t have to feel like a foreigner in Brno any more. It shows recommended restaurants, pubs, hotels, grocery stores, cafés,  train and bus stations, sightseeing stuff etc. We really took time to pick the best ones and got input from many local fellow red hatters, so you can be sure that the map shows really good pubs and restaurants. Google Maps are also great to look for public transport directions in Brno. It shows all bus and tram lines in the city and can combine walking and public transport to calculate you the best way to get from one location to another.

If you’re a Twitter user. Remember #devconf for the next week. It’s going to be a continuous stream of information during the conference.

What kind of geek would it be without a smartphone, right? :) That’s why we’ve made mobile apps for several platforms. Apps for webOS and Maemo/Harmattan are already in app stores/catalogs, and more platforms are coming. You don’t have to be sorry if there is no app for your platform. We’ve also made a generic web app that is optimized for small touch screens. Check it out: m.devconf.cz.  All apps contain talk and lab schedules, organizers’ contact information (in case you get in trouble), maps, and Twitter #devconf stream.

All information is also available on www.devconf.cz.

See you in a few days!


Goodbye GDM (for the moment)

Our school system has been running Fedora on our desktops since early 2008. During that time, our login screen has been managed by GDM and our desktop session has been GNOME. It doesn’t look like our desktop session is going to change any time soon, as we transitioned to GNOME Shell in Fedora 13 and the students and teachers have overwhelmingly preferred it to GNOME 2.

At our school we have a couple of IT policies that affect our login sessions. All lab computers that aren’t logged in have some form of screensaver running (not a black screen) as it helps students identify which computers are on and which aren’t at a glance. It also helps IT see which computers need to be checked. Logged in computers should never have a screensaver running and screen-locking is disabled as we have far more users than computers. Some may argue that these policies should be amended, but, for the moment, they are what they are.

In older versions of Fedora, gnome-screensaver was set to run in gdm with the floating Fedora bubbles coming on after a minute of disuse. The screensaver was inhibited during the login session (I experimented with changing the gconf settings so it didn’t come on for 100 hours and other such nonsense, but inhibiting the screensaver was the only way I found that worked reliably over long periods of time).

With Fedora 16 we now have a much more beautiful new version of GDM, but, unfortunately, the gnome-screensaver that comes with it no longer allows you to actually show a screensaver. I decided to try using xscreensaver instead, but it cannot run in GDM. It keeps complaining that something else is grabbing the keyboard, and I can only assume that something is GDM. Finally, I can’t even write a simple screensaver program in python as it seems I can’t even run a full-screen app over the GDM screen.

Add to all that the fact that we have 1000+ students in the school who are able to log into any lab computer and GDM lists all users who ever logged into the computer. Which theoretically could be 1000. Urgh!

So for our Fedora 16 system, I’ve switched over to lxdm. A quick configuration change to tell it to boot gnome-shell as its default session (and some hacks so it doesn’t try to remember what language the last user used to log in) and it was set. Xscreensaver runs just fine over it and we now have some pretty pictures of Lebanon and the school in a carousel as our login screensaver.

It looks like the screensaver functionality will get merged straight into gnome-shell, and, if it does, we may be able to have extensions that actually implement the screensaver. If that happens, and if GDM re-acquires the ability to not show the user list, we’ll switch back to GDM. Until then, we’ll stick with lxdm.

Now I just need to work out how to inhibit gnome-screensaver during login as gnome-screensaver --inhibit no longer works. I’m sure there was a good reason for removing that code, but for the life of me I can’t work out what it was…


movie session @ DevConf.cz

DevConf.CZ comes up and as Radek Vokál wrote, there will be a movie session on the end of the second day. I will doing that session, its not my first time I do that. I started with that kind of event as a social event on Chemnitzer Linux-Tage and did it there 2 years. But I did that also on LinuxTag in a session and on openSUSE Conference. So what is it? It’s a mix between a talk and a movie show, of course I show a lot of movies in there. But I explain also what is an Open Source Movie and that has nothing to do with what tools they are made, as Radek wrote. So its an session where you can just enjoy some funny movies, and the best thing if you like them I can give you the movies ;)

Public Board IRC meeting today, and related things.

For those who don’t know, the Fedora Board meets on a weekly basis to take care of Board-related business.  These meetings alternate back and forth between phone meetings and IRC meetings, with minutes posted to the advisory board mailing list in a timely fashion after the end of the meeting.

This will be my first Board meeting as FPL, and really, my first Board meeting ever as a Board member.  In the past, my Board meeting participation has been on the other side of the fence — as an interested community person (and occasional stickler for meeting minutes, transparency, and follow-ups on actions). It’s important to note that the public IRC board meetings are OPEN TO EVERYONE, input is accepted, feedback encouraged, etc. (Though there is a minor amount of protocol requested, which you can read about here.)  It will be interesting to be on the flip side for a change… though I won’t make any jokes about taking the heat instead of dishing it, since that would be a totally obvious joke to make. :D

I’d also like to point out that open Q & A is on the agenda for today (you can read the agenda in its entirety here), and as such, I’d really like to see us go through the open business rapidly so that we can actually have more than 30 seconds of Q & A time.

The meeting is normally announced ahead of time, along with an agenda, on the Board mailing list, which anyone can subscribe to.

If you’re interested in checking it out, meeting details are as follows:

When: 18:30 UTC (1:30pm US-Eastern), on Wednesday, February 8, 2012
Where: in #fedora-meeting on irc.freenode.net
Meeting Info: http://fedoraproject.org/wiki/Board/IRC


Tagged: bacon makes meetings happier
Debugging dracut on your live EFI System with qemu

Turn on cttyhack in dracut.conf (as of dracut >= 015):

# echo 'cttyhack="yes"' > /etc/dracut.conf.d/cttyhack.conf

Recreate the initramfs:

# dracut -f

Download the qemu EFI BIOS:

# mkdir ~/efiboot
# cd ~/efiboot/
# wget 'http://downloads.sourceforge.net/project/edk2/OVMF/OVMF-X64-r11337-alpha.zip'
# unzip OVMF-X64-r11337-alpha.zip
# mv OVMF.fd bios.bin
# mv CirrusLogic5446.rom vgabios-cirrus.bin

Sync the live system:

# umount /boot/efi
# umount /boot
# sync; echo 3 > /proc/sys/vm/drop_caches; umount /

Start qemu (you can omit "-L ~/efiboot" on a non EFI system):

# qemu-kvm -L ~/efiboot -m 512 -snapshot -hda /dev/sda -serial stdio

Enter the qemu window (you can use <tab> in the second line):

Shell> blk0:
blk0:\> EFI\redhat\grub.efi

Append to the grub kernel command line:

rd.shell rd.break console=ttyS0 rd.ctty=ttyS0

Boot the kernel

Now, you should see the dracut prompt in the terminal, where you started qemu.

dracut Warning: Break before switch_root

Dropping to debug shell.

switch_root:/# 

Warning: Any CTRL-C goes to qemu instead of the dracut shell.

If you don't want this, you can specify "-serial telnet:localhost:55555,server" and "telnet localhost 55555" for the terminal.

After the debugging, remount the boot partitions:

# mount /boot
# mount /boot/efi
The status of free media program in India: A quick update

Have some time, and a few bucks to spare? Accept a ticket and give someone the gift of fedora today!


February 07, 2012

How Kubuntu Did Not Change

There appears to be some confusion regarding the meaning of yesterday’s announcement that Kubuntu 11.10 is going to be the last release Canonical is offering commercial support for.

For those who have not yet read about it, let me quickly recap the situation. Up until now Kubuntu was a Canonical supported flavor of Ubuntu. This essentially means that you can buy a support contract from Canonical to help you with your Kubuntu infrastructure. Every once in a while Canonical would stamp ‘LTS’ on a Kubuntu release to indicate that they would support this release for 3 or 5 of years to come (delivering security and major bug fixes primarily). The 11.10 release is the last release for which Canonical offers these services. As a direct consequence Jonathan Riddell, a good friend of mine and fearless leader of Kubuntu, will work on other technology during work hours.

You might have noticed that I was writing a lot about Canonical just now, and the reason for this is that the change mostly is about Canonical and not Kubuntu.
Kubuntu is and always has been a mostly community driven project. To give you an idea what mostly means in this case: out of the 25 people who notably contributed in the past year, 1 person was employed by Canonical to do so (i.e. 4% of general Kubuntu work was financed by Canonical). Please do not get me wrong though. Jonathan is a great developer and does a considerable amount of work, particularly in those areas where the community currently lacks motivation, hence some workflow revision is in order to make the ‘new’ Kubuntu equally efficient.

So what changes for real?

  • No commercial support from Canonical for future releases.
  • Jonathan Riddell will work on non-Kubuntu stuff during work hours.
  • Alignment of Kubuntu with other siblings like Edubuntu, Lubuntu and Xubuntu.
    For those who care: on a technical level this means that a considerable amount of Kubuntu maintained software will be moved from the main to the universe archive.
  • Probably some workflow changes that are yet to be discussed.

Is this bad?
It probably is if you wanted to adopt Kubuntu in your company and were counting on a Canonical support contract. However this is probably more of Canonical’s loss than your’s. As noted earlier there is a pool of more than 25 people one could employ directly to get the same result, perhaps even better. It is certainly sad that Jonathan will not be able to continue getting payed for working on his baby though.

Is this good?
Moving to universe bares a great deal of opportunities for Kubuntu. Primarily it gives the community yet bigger control over what the distribution looks like as we do not need to get software approved to be worthy of Canonical’s support. At the same time it also reduces the policy overhead (main inclusion for those who have heared of it). The detanglement allows us to move even closer to KDE without having to worry about conflicting interests, as what is good for KDE is not necessarily what is good for Canonical.
All in all I expect Kubuntu to become more agile and continue to regularly deliver an easy to use Linux distribution featuring the latest and greatest KDE software.

There is an occasional and not very amusing urban myth that Kubuntu is a stepchild of Ubuntu based on the idea that Canonical is not giving the same amount of care to Kubuntu as other flavors of Ubuntu. It’s not true because Canonical has given much more care to Kubuntu than many other flavours. But all those who believe in this myth may now rejoice as the stepchild is moving out and going to share a flat with its much loved siblings \o/


Gimp and CMYK
Reading an post about CMYK support on Gimp is fascinating. For years, GIMP is my image editor of choice in completion of Krita for web publishing, photography and desktop publishing. The CMYK support debate shows how many designers forgot they mostly work screen in RGB and CMYK is mainly for printing. Because of the different process of ink, there is no guarantee the colours from CMYK will be the same on every printers.
Thankfully, majority of printing computer requires RGB file to avoid headache.


Führungswechsel bei Fedora

Jared K. Smith hat heute auf der Fedora-Liste für Ankündigungen bekanntgegeben, das er die Leitung des Fedora-Projektes an Robyn Bergeron abgeben wird.

Bergeron war bislang vor allem in den Marketing und Cloud SIGs aktiv und dürfte dadurch keine unbekannte innerhalb des Fedora-Projektes sein. Nebenbei ist sie die erste Frau, die ein Linux-Distributions-Projekt leitet.

flattr this!

FOSDEM 2012

You know, there is an event which is the biggest Free and Open Source Software Developers' European Meeting in Europe, in my humble opinion. In this year, I was at FOSDEM 2012 as well! This was my first FOSDEM like first FUDCon in Blacksburg, VA, USA.

I went to Brussels with my friend, Zoltán Hoppár who is an ambassador in Hungary. Our accomodation was in Hotel Queen Anne, it's a "small" hotel but very nice. By Friday night we were getting tired because from Charleroi to Brussels we had some difficulties :) You know, which bus/train/airport shuttle is good for us and the weather....
Saturday morning we had breakfast at around 7am then went to the venue of event. We arrived too early because it started at 11am :)
I met a lot of Fedora guys who came from around the world, for example Jörg Simon, Cristoph Wickert, Sirko Kemter, Bert Desmet, Kévin Raymond, Nicu Buculei, Tom Callaway. On Saturday there were some good presentations, especially "Trolls, Drama and Gossip". Here I noted that, I didn't know but there is a french linux association which name is Borsalinux-fr. As you know my surname is Borsa, but I think there is no connection between my surname and their association name, just, this is interesting :)
We had lunch with Jörg, were talking about FUDCon Budapest bid and my American trip. It was so good, Jörg is a very sympathic guy, I like to talk to him. At the end of day we ate two pizzas in Drug Opera. I have never been to Brussels and of course Drug Opera but that restaurant is pretty nice.

We were at a round table (Working with contributor communities (round table)), where Jörg and Cristoph talked to audience, each other and other speakers about difficulties, problems, suggestions. This was very instructive. If you weren't there then that's a big pity. Afternoon there was another round table where Tom Callaway also spoke about infrastructure things at ease. Tom is clever and funny guy, I enjoyed this round table as well. :)
Later, Zoltán and I talked about Hungarian translation, we have some problems and trying to solve these. We figured it out what will be our next step. I think Sunday was a successful day to us. I got a yubikey after nirik (Kevin Fenzi) mentioned that Tom brought me one. After FOSDEM, we went to eat something with Tom. Tom told some interesting story, for example when he and Máírin Duffy were in India :)
I like to listen to people when they tell various stories. It's always impressive, fascinating.

We went home on Monday afternoon but that's not so interesting, there wasn't special thing. This is my short story about first FOSDEM, thanks for everything. I hope I'll be able to attend the next FOSDEM, or at least I'll try ;)

secommunicate is a handy little tool to analyze policy communication
I wrote about setrans back in October. 

setrans is a tool that you could use to analyze policy to see if how one process domain transitions to another process domain.

Today I got asked what type should a user assign to a file so that one process type "syslogd_t" could write and another process type "httpd_t" could read.   

I answered the question that httpd_log_t would be a good candidate.  Then he asked could figure this out? 

My suggestion was he could use these commands.

# sesearch -A -s syslogd_t -c file -p write

Which will search for all types that syslogd_t can write.

# sesearch -A -s httpd_t -c file -p read

Which will search for types httpd_t can read, then he could look at the intersection of these commands.  

Only that did not work...

# sesearch -A -s syslogd_t -c file -p write

Does not return my suggestion of httpd_log_t.  It did however return an attribute "logfile" which includes httpd_log_t.
Attributes are the way to group lots of types together.  And the sesearch command does not expand out the attributes.

I decided to go off an play with python and create secommunicate.  The goal of this command is to print out a list of types that a source process type can write and a target process type can read.

This little python script takes a source process type and a target process type and an optional class, defaulting to "file".  It uses the sesearch python bindings to search the selinux policy for:
  • What class types can the source type write?
  • What class types can the target type read? 
  • It expands all attributes into the associated types
  • Then it generates the intersection of these types, and prints them out. 

./secommunicate syslogd_t httpd_t
puppet_tmp_t
afs_cache_t
dirsrv_var_log_t
nagios_log_t
httpd_log_t
user_cron_spool_t
root_t


./secommunicate -c chr_file syslogd_t httpd_t
user_tty_device_t
devtty_t
initrc_devpts_t
null_device_t
zero_device_t


Seems like it could be a handy tool.  

Not sure how we should package or ship setrans and secommunicate, or what the correct syntax would be, but for those struggling to understand policy these seem to be handy tools.

./secommunicate -h
usage: secommunicate [-h] [-c TCLASS] [-s SOURCEACCESS] [-t TARGETACCESS]
                     source target

SELinux Communication Analysys Tool

positional arguments:
  source                Source type
  target                Source type

optional arguments:
  -h, --help            show this help message and exit
  -c TCLASS, --class TCLASS
                        Class to use for communications, Default 'file'
  -s SOURCEACCESS, --sourceaccess SOURCEACCESS
                        Comma separate list of permissions for the source type
                        to use, Default 'open,write'
  -t TARGETACCESS, --targetaccess TARGETACCESS
                        Comma separated list of permissions for the target
                        type to use, Default 'open,read'


Note:
If you wanted to know if a one domain can communicate with another domain via signals, you could just use

sesearch -A -s syslogd_t -t httpd_t -c process
Found 1 semantic av rules:
   allow syslogd_t domain : process getattr ;
یک زن مدیر پروژه فدورا

Rob

در یک خبر شگفت انگیز جرد اسمیت مدیر پروژه فدورا خبر  کناری گیری خود از این سمت را اعلام کرد. پس از انتشار نسخه ۱۳ فدورا جرد کار خود را به عنوان مدیر فدورا آغاز کرد. او در پروژه‌های مستندات و زیرساخت فدورا کار می کند.

او اعلام کرد که دیگر وقت آن است که این سمت را به فرد دیگری از تیم فدورا تحویل بدهد. او رابین برگرن (Robyn Bergeron) را به عنوان مدیر آینده این پروژه معرفی کرد. رابین مدتی است که مدیر برنامه ریزی فدورا است. او در همچنین مدیر تیم بازاریابی،عضو گروه علاقه‌مندی کلود در فدورا است. از کارهای اخیر او برگزاری کنفرانس فدو-کن (کنفرانس کاربران و توسعه‌دهندگان فدورا) در سال ۲۰۱۱ در تمپ آریزونا می باشد.

من از شنیدن این خبر در مرحله اول شوکه و خوشحال شدم. این یک اتفاق مهم در تاریخچه فدورا و پروژه‌های کدباز است که زنی از آن مجموعه مدیریت پروژه‌ای با این وسعت را برعهده می گیرید. البته چنین اتفاقی نادر نیست چون چند سال پیش بانوی به نام استورمی پیترز رییس هیئت مدیره گنوم بود.

Fedora

Meteo wifi mesh točke

 
Krenula je zanimljiva rasprava na CWN (Croatian Wireless Networks) google grupi o Meteo stanicama. Prenosim svoj dio rasprave i pošto vjerujem da će ova tema biti biti zanimljiva i široj geek publici ;)

Ako nekoga zanima i pristup CWN grupi samo se treba javiti i dobije pozivnicu.
 

>
> @Valent: što to točno radite? nisam upućen
 

Za prave profi i manje profi vremenske stanice je definitivno najupućenija Istramet ekipa [1] pošto su oni napravili po Istri čitavo čudo meteo stanica i bolje prognoze imaju od DHMZ-a ;) Bili su i na tv-u [2]. Vjerujem da oni najbojle znaju koje stanice valjaju i koje ne, ovisno o kvaliteti i uvjetima u kojima trebaju raditi.
 
Ono što se radi preko projekta sa ekipom iz Wlan-Slovenije je da se od malih tp-link routera naprave senzorske stanice za sve tipove podataka, pa tako i za meteo podatke [3] ali i za razne druge tipove podataka. Evo kako to može lijepo izgledati [4].
 
Bila je i super usporedba 5 meteo stanica u emisiji Gadget Show u rangu 1000-2000 kn [5] ali emisiju mozes pogledati online jedino ako imas vpn do engleske ;( ali našao sam i komentare na tu emisiju na nekom forumu [6]
 
Po meni najbolje uzeti tp-link wr741 i na njega staviti DS18B20+ senzore kao što to radi ekipa iz Wlan-Slovenije [7] i za par sto kuna imaš online meteo stanicu. Mi smo sada naručili 10 senzore i krećemo u
izradu pločice za 1-wire sabirnicu, tako da ćemo uskoro u Osijeku imati 10-ak meteo wifi mesh stanica.
 
Pozivam i sve ostale da se uključe i u svoja mjesta postave mesh meteo nodove… sada dok je snijeg vani je pravo vrijeme, kada se okopni sve treba biti spremno samo za nakačiti na zidove i krovove ;)
 

Ako vas zanima više projekt Otvorena mreža možete pročitati članak [8]. Svi novi sudionici na ovome međunarodnome projektu su dobrodošli, ako ste u Slavoniji i Baranji samo se meni javite ili pokrenite ogranak ovog projekta i u svome mjestu ili kvartu ako je veći grad u pitanju. Za sva dodatna pitanja stojim vam na raspolaganju.
 

[1] http://www.istramet.com/
[2] http://mojtv.hr/video/v/aTfOKdSGduE/istramet-u-dnevniku-nove-tv.aspx
[3] http://dev.wlan-si.net/wiki/Modifications/SimpleThermometer
[4] https://nodes.wlan-si.net/node/kozolectest/
[5] http://fwd.channel5.com/gadget-show/videos/jon-test/jon-test-weather-stations
[6] http://www.hardytropicals.co.uk/forum/viewtopic.php?f=1&t=8456
[7] http://dev.wlan-si.net/wiki/Modifications/SimpleThermometer
[8] http://kernelreloaded.blog385.com/index.php/archives/projekt-otvorena-mreza/

Congratulations to New Fedora Project Leader!
Robyn Bergeron has been announced[1] as the New Leader of the Fedora Project by Jared K. Smith. 



Congratulations to Robyn Bergeron on being named Fedora Project Leader!

http://lists.fedoraproject.org/pipermail/announce/2012-February/003039.html
Manners matters.

I was checking out this fabulous new book called Open Advice after seeing a link on a mailing list. The book is a collection of reflections by experienced (and often well-known) free and open source software contributors on things they wish they’d known when they started in FOSS.

I found a particularly wonderful section among a wealth of other wonderful text. In fact, I probably could have opened the book at random and found something just as quotable and insightful. But this piece struck a sympathetic nerve, probably because one of my pet issues is treating each other with kindness. This excerpt is from the chapter called “Good Manners Matter” by the amazing Rich Bowen, and I’ll reproduce it here, thanks to the author’s and editors’ enlightened use of the CC BY-SA 3.0 license:

I had been doing technical support, particularly on mailing lists, for about two years, when I first started attending technical conferences. Those first few years were a lot of fun. Idiots would come onto a mailing list, and ask a stupid question that a thousand other losers had asked before them. If they had taken even two minutes to just look, they would have found all the places the question had been answered before. But they were too lazy and dumb to do that.

Then I attended a conference, and discovered a few things.

First, I discovered that the people asking these questions were people. They were not merely a block of monospaced black text on a white background. They were individuals. They had kids. They had hobbies. They knew so much more than I did about a whole range of things. I met brilliant people for whom the technology was a tool to accomplish something non-technical. They wanted to share their recipes with other chefs. They wanted to help children in west Africa learn how to read. They were passionate about wine, and wanted to learn more. They were, in short, smarter than I am, and my arrogance was the only thing between them and further success.

When I returned from that first conference, I saw the users mailing list in an entirely different light. These were no longer idiots asking stupid questions. These were people who needed just a little bit of my help so that they could get a task done, but, for the most part, their passions were not technology. Technology was just a tool. So if they did not spend hours reading last year’s mailing list archives, and chose instead to ask the question afresh, that was understandable.

And, surely, if on any given day it is irritating to have to help them, the polite thing to do is to step back and let someone else handle the question, rather than telling them what an imbecile they are. And, too, to remember all of the times I have had to ask the stupid questions.

Well said, Rich. Any of us helping users or newcomers to any endeavor, whether it’s Fedora, some other FOSS project, or a volunteer organization in your town, can learn from Rich’s experience above, assuming that we haven’t already lived it ourselves. Any user can be the contributor of tomorrow. It pays real dividends to extend them a helping hand.

I do highly recommend you check out Open Advice at the website. It’s chock full of insight, anecdotes, and lessons about the powerful, transformational, and exciting journey of free and open source software. The book is a free download, but you can also purchase a copy from Lulu (and, according to the site, from Amazon soon).

Multitouch in X - Multitouch-touchpads
This post is part of a series on multi-touch support in the X.Org X server.
  1. Multitouch in X - Getting events
  2. Multitouch in X - Pointer emulation
  3. Multitouch in X - Touch grab handling
In this post, I'll outline the handling of touch events for multitouch-capable touchpads. Multi-touch touchpads that are supported are those that provide position information for more than one finger. The current version of the synaptics X driver does some tricks to pretend two-finger interaction on single-finger touchpads - such devices are not applicable here.

Touchpads are primarily pointer devices and any multi-touch interaction is usually a gesture. In the protocol, such devices are of the type XIDependentDevice and the server does adjust touch event delivery. I've already hinted at this here but this time I'll give a more detailed explanation.

Touch event delivery

Unlike for direct touch devices such as touchscreens, dependent devices have a different picking mechanism in the server. We assume that all gestures are semantically associated with the cursor position. For example, for scrolling, you would move the cursor on top of the window to be scrolled, then you would start scrolling. The server thus adjusts event delivery accordingly. Whereas for direct touch devices the touch events are delivered to whichever window is at the position of the touch, touch events from dependent devices are always delivered to the window underneath the pointer (grab semantics are adjusted to follow the same rules). So if you start a gesture in the top-left corner of the touchpad, the window underneath the cursor gets the events with the top-left coordinates. Note that the event and root coordinates always reflect the pointer position.

The average multi-touch touchpad has two modes of operation: single-finger operation where the purpose is to move the visible cursor and multi-finger operation which is usually interpreted into a gesture on the client. These two modes are important, as they too affect event delivery. The protocol specifies that any interaction with the device that serves to move the visible cursor only should not generate touch events, and that touch events will start once that interaction becomes a true multi-touch interaction. This leaves the drivers a little bit of leeway, but the current implementation in the synaptics driver is the following:
  1. A user places one finger on the touchpad and moves. The client will receive regular pointer events.
  2. The user places a second finger on the touchpad. The client will now receive a TouchBegin event for the first and the second touch, at their respective current positions in device coordinate range.
  3. Movement of either finger now will generate touch events, but no pointer events.
  4. Any other fingers will generate touch events only.
  5. When one of two remaining fingers on the touchpoint ceases the touch, a TouchEnd is sent for both the terminating touch and the remaining touch. The remaining finger will revert to sending pointer events.

Legacy in-driver gestures

As you are likely aware, the synaptics driver currently supports several pseudo gestures such as tap-to-click or two-finger scrolling. These gestures are interpreted in the driver, thus the server and client never see the raw data for them.

With proper multi-touch support these gestures are now somewhat misplaced. On the one hand, we want the clients to interpret multitouch, on the other hand we want the gestures to be handled in the same manner in all applications. (Coincidentally, this is also a problem that we need to solve for Wayland).

We toyed with ideas of marking emulated events so clients can filter but since we do need to be compatible to the core and XI 1.x behaviours, we only found one solution: any in-driver gestures that alter event deliver must not generate touch events. Thus, if the driver is set to handle two-finger scrolling, the clients will only see the pointer events and scroll events, they will not see touch events from two-fingers. To get two-finger scrolling handled by the client, the in-driver gesture must be disabled. The obvious side-effect of that is that you then cannot scroll in applications that don't support the gestures. Oh well, it's the price we have to pay for having integrated gesture support in the wrong place.
Transitions, Soapboxes, and the like…

Well, hi there.

By now, most of you have probably heard that yours truly is the new Fedora Project Leader. I’m not going to get too preachy or soapbox-y here, but I have a few things to say:

Big shoes to fill, I have before me.  Some of the smartest and wisest and most inspiring people I know have sat in this seat; over the years since I joined the Fedora Project, they’ve become dear friends, co-workers, the peeps I can count on for advice, and guidance.  (And in many cases, people from whom I can extract money in a poker game.)

These are interesting times, folks, and we have a TON of stuff going on in Fedora right now that is on the hockey-stick path to Awesomeness.  The *rest* of smartest and wisest and most inspirational people I know are the diverse group of contributors who drive the Fedora Project forward every day; you all are the Doers, the people who make things happen, the people who take ideas and turn them into actions.

And so, I intend to wear those shoes proudly.  While I don’t plan on following in the footsteps of anyone (because, you know, that would be walking in circles, which isn’t highly productive), I do aspire to step with the same spirit that those before me have — honestly, transparently, communicative-ly (new word!), with humor, and with care. And I aspire to Get Stuff Done, sans red tape.

And I fully expect all of you to call BS on me when I’m not. :)

As for the imminent future: YES, in terms of Getting Stuff Done, there are things I’d like to Get Done. I don’t want to be Cloudy about it, but I see many ARMs up in the air, wondering what we might be getting done for our Users and Developers — and to that end, I’ll be spelling out a few of those things in the coming days. (Hint: THERE MAY HAVE BEEN HINTS IN THAT SENTENCE.) I think we have a tremendous number of shorter-term tasks to tackle as well; making it easier to get things done, improving processes, improving contributor onramping — all in the name of generally being a more agile community.  I will come out and say that one of the things that is important to me, personally, is recognizing those successes when we hit them, and being able to measure them, and as such, one of the things that I want to tackle is statistics — figuring out what we track, why, if it even makes any sense, what we do with the data, if we can make it actionable.

But that is just me. I recognize that I can’t go anywhere without others — the Doers, the Owners.  What is important to you, where you want to go, what you want to achieve, are the things that truly drive the Fedora Project. I’m here to listen, and help you get there, and hopefully help make it easier to do so.

In other news:

I would be an IDIOT to not capitalize on eyeballs with a bit of advertising right now.  Thus, I bring you:

Impending Milestones, Schedule Reminders, and General Pleading

The complete Fedora 17 Schedule is viewable, in all of its meaty glory, here.


pacemaker cloud and openstack - FOSDEM 2012 presentation
A presentation report from FOSDEM 2012
Back from FOSDEM

It was definitly damn cold in Brussel, but warmer then at home. The FOSDEM begun with a damn hard ride to Brussel, we needed 12 hours to go there. But we had some time to meet some friends at the beer event. As Jörg said the booth wasnt really good prepared. On saturday I spent the whole day on the booth ( I dont know why because I didnt add me to the personal list in the wiki). But I had still some time to say personally THX to some people who donated to the “Tatica Travel Campaign” on pledgie, like the guys from Libre Graphics Magazin. On the evening I went together with Nicu to the Libre Graphics Dinner and we had some chats about graphic stuff and the upcoming LGM in Vienna. Btw, there is also a campaign for donations on pledgie, so if you use GIMP, Inkscape, Krita, Blender and all the other cool graphic software you can say THX with a small donation.


On sunday I spent most of the time in the OpenICC dev room, listen to the talks about color managment, I also had a talk about Taxi DB there. The cool thing was some asked in the talk about the OpenICC organization exactly for an application like this, so I had a good idea :D After the track the FOSDEM ended and we left for riding home another 14 hours horror trip.