FLISoL Huancayo 2012

Este año el Perú también fue partícipe de la celebración del  FLISoL. Muchas sedes en Lima, y provincias, gracias a la coordinación de miembros de comunidades de Software Libre y la supervisión general de APESOL, lograron congregar a muchos estudiantes apasionados por el software libre que compartieron sus experiencias en diversos proyectos con los asistentes. Este es mi primer FLISoL y lo que me llevo es, el sentimiento de integración y motivación de emergentes comunidades de Software Libre de diferentes universidades, con muchas ganas de aprender y contribuir .

Nuestro FLISoL 2012 (a nombre de Carlos Ganoza, Pedro Muñoz del Río y José Quiñones), fue celebrado en Huancayo, el cual comenzó con un derrumbe en la carretera y una “pizzada” de gato, siguió con la presentación de nuestras experiencias en proyectos de Software libre. Carlos y su experiencia en Seguridad Informática, José y su pastel de PHP, Pedro y Python, y mis inicios para contribuir con los plugins de Gedit 3.6 para GNOME.

Además tuvimos la suerte de presenciar el entusiasmo y fuerza autodidacta que tienen los estudiantes de Huancayo para poder emprender nuevos proyectos utilizando Software Libre en calidad de freelance o a través de agrupaciones formalizadas como consultorías de sistemas. Esta realidad que fomenta muchos puestos de trabajo, aprendizaje continuo, ánimos de superación y crecimiento financiero en el interior de nuestro país, nos impulsa a mejorar nuestra labor como difusores y propulsores del Software Libre a nivel nacional.

Las charlas cortas de la tarde fueron muy entretenidas y la verdad me impactó la intensidad con la que los alumnos de Huancayo presentaron sus experiencias,  se tuvo una variedad de temas, desde un DJ Pythonero que trabaja con Mixxx 1.10, un apasionado desarrollador web que trabaja con HTML 5.0, aprendí de la comunidad FreeBSD (una muy opción la de PC-BSD),  la charla de los siete pecados de un programador y la participación de Milagros Infante como traductora del proyecto GNOME, a la fecha ya ha contribuido con 4 proyectos!

Finalmente fuimos parte de una mesa “redonda” donde se compartió experiencias Software Libre – empresa – educación. Muchos de los alumnitos se quedaron hasta el final de la noche muy interesados en escuchar nuestras experiencias y también se animaron a participar del debate :)

Agradezco la invitación a Huancayo, a la comunidad LumenHack, a Sergio y Milagros Infantes por la hospitalidad y atención recibida, a los auspiciadores Instituto Continental y Mozilla Perú y felicito la labor de APESOL como organizador del FLISoL 2012!

* Puedes ver más fotitos del evento aquí.

Posted in τεχνολογια :: Technology | Leave a comment

Plantilla para construir un ambiente de desarrollo GNOME 3.6 para usar python

# -*- mode: python -*-

repos['git.gnome.org'] = 'ssh://user@git.gnome.org/git/'

#use_local_modulesets = True

moduleset = 'gnome-world-3.6'
modules = [
  'gedit', 
]

build_policy = 'all'

skip = [
  'libxml2',
  'libxslt',
  'libgpg-error',
  'libgcrypt',
  'rarian',
  'expat',
  'dbus',
  'iso-codes',
  'hal',
  'avahi',
  'NetworkManager',
  'mozilla',
  'mono',
  'ekiga',
  'sqlite3',
  'WebKit',
  'gstreamer','liboil','gst-plugins-base',
  'gjs','gnome-js-common','seed',
]

# the prefix to install things to (user must have write access)
prefix = '/opt/gnome'

# where to put the source code
checkoutroot = os.path.join(os.environ['HOME'], 'git', 'gnome')

# arguments to pass to autogen script
autogenargs='--enable-maintainer-mode --disable-static --disable-gtk-doc'

# parallel build
os.environ['MAKEFLAGS'] = '-j2'

# flags useful for sysprof, gdb etc
os.environ['CFLAGS'] = '-fno-omit-frame-pointer -g -O0 -fno-inline'

addpath('ACLOCAL_FLAGS', '/usr/share/aclocal')
addpath('PKG_CONFIG_PATH', '/usr/lib/pkgconfig')
addpath('PKG_CONFIG_PATH', '/usr/local/lib/pkgconfig')
addpath('PKG_CONFIG_PATH', '/usr/share/pkgconfig')
addpath('PKG_CONFIG_PATH', '/usr/local/share/pkgconfig')
addpath('GI_TYPELIB_PATH', '/opt/gnome/lib64/girepository-1.0')
addpath('PYTHONPATH', '/opt/gnome/lib64/python2.7/site-packages/gtk-2.0')

module_autogenargs['glib'] = '--enable-debug=yes --enable-dtrace=yes --enable-systemtap=yes --disable-visibility'
module_autogenargs['ORBit2'] = '--enable-purify'
module_autogenargs['gimp'] = '--disable-print --enable-python'
module_autogenargs['totem'] = '--disable-mozilla'
module_autogenargs['epiphany'] = autogenargs + ' --with-engine=webkit'
module_autogenargs['libunique'] = '--disable-introspection'
module_autogenargs['poppler'] = '--disable-poppler-qt --disable-poppler-qt4'
module_autogenargs['evince'] = '--enable-nautilus=no'
module_autogenargs['vte-3'] = '--enable-introspection'
#module_autogenargs['dconf'] = '--disable-editor'

# always use master for the core libs
branches['glib'] = 'master'
branches['gtk+'] = 'master'
branches['pygobject'] = 'master'
branches['vala'] = 'master'
Posted in τεχνολογια :: Technology | Leave a comment

FLISoL 2012

Este será mi primer FLISoL, y tengo mucha expectativa porque compartiré lo poco que he aprendido del Software Libre con una comunidad del interior del país (digo poco porque es un mundo donde no terminas de aprender :) , en la sede FLISoL Huancayo 2012. Huancayo está ubicado en la parte sierra del Perú y la comunidad está conformada por alumnos del Instituto Continental.

* Aquí el programa. *

Espero que las charlas del FLISoL puedan aportar si bien es cierto a que tengas un conocimiento extraordinario “literalmente”, podamos más que nada compartir y contagiar el entusiasmo y ánimos de trabajar por una causa que ya tiene miles de contribuyentes a nivel mundial, y tú puedes ser parte de ello.

Posted in Events, τεχνολογια :: Technology | Tagged , , , , , , , , , , , , | Leave a comment

Playing with dconf and gnome-tweak-tool

This experience was based on Micah Carrick post, and I received help from Vincent Untz, Ryan Lortie and David King while I was trying to understand about GSettings and how lockdown works with GSettings. I learned also that this is all delegated to the backend used by GSettings: dconf.

* Before all else, in case you see ‘(your environment path)’, you must replace $(prefix) by what’s appropriate in ‘your environment’.

As the Micah tutorial says “The first step is to create a schema to define the application’s configuration settings. ” He did a great example of creating schema for apps ( applications ).

* In my case, I wanted to work with schemas for gnome-tweak-tool, so I started to analyse the tree and I did realize about the structure used in dconf. I first got shell in the tree: org – gnome – shell [Figure 01] with its schema org.gnome.shell and I also noticed that there are so much to do, I only found two of six “sub schemas for shell”. These were:

- Show date in clock with its schema  org.gnome.shell.clock [Figure 02]

- Show the week date in the calendar with its schema org.gnome.shell.calendar[Figure 03]

[ Figure 01]

[ Figure 02]

[ Figure 03]

* I learned that gsettings works with schemas and keys, so I was looking for those schemas in share/glib-2.0/schemas. This is the list I found:
gschema.dtd                                         org.gnome.desktop.enums.xml                    org.gnome.desktop.thumbnailers.gschema.xml
gschemas.compiled                                   org.gnome.desktop.interface.gschema.xml        org.gnome.desktop.wm.keybindings.gschema.xml
org.gnome.desktop.a11y.applications.gschema.xml     org.gnome.desktop.lockdown.gschema.xml         org.gnome.desktop.wm.preferences.gschema.xml
org.gnome.desktop.a11y.keyboard.gschema.xml         org.gnome.desktop.media-handling.gschema.xml   org.gnome.system.locale.gschema.xml
org.gnome.desktop.a11y.magnifier.gschema.xml        org.gnome.desktop.screensaver.gschema.xml      org.gnome.system.proxy.gschema.xml
org.gnome.desktop.a11y.mouse.gschema.xml            org.gnome.desktop.session.gschema.xml          org.gtk.Demo.gschema.xml
org.gnome.desktop.background.gschema.xml            org.gnome.desktop.sound.gschema.xml            org.gtk.Settings.ColorChooser.gschema.xml
org.gnome.desktop.default-applications.gschema.xml  org.gnome.desktop.thumbnail-cache.gschema.xml  org.gtk.Settings.FileChooser.gschema.xml

* After my reading, I decided to work with org.gnome.desktop.interface.schema.xml

[ Figure 04]

I create a boolean setting using the schema: org.gnome.desktop.interface.gschema.xml.  My boolean setting inserted was called “julita-setting”:

<?xml version="1.0" encoding="UTF-8"?>
<schemalist gettext-domain="gsettings-desktop-schemas">
  <schema path="/org/gnome/desktop/interface/" id="org.gnome.desktop.interface">
    <key type="b" name="julita-settings">
      <default>true</default>
      <summary>Julita setting</summary>
      <description>My first example of boolean setting.</description>
    </key>
...
  </schema>
</schemalist>

This is usually compiled with glib-compile-schemas that usually lives in /usr/bin. In my case, using the environment, it was available in my bin.

glib-compile-schemas /(your environment path)/share/glib-2.0/schemas/

After the compilation, we must run dconf-editor in your little environment… and: [Figure 05]

Note *************************************************************************** If your environment is correctly configured (this happens automatically if you run “jhbuild shell”), then files in /(your environment path)/share/glib-2.0/schemas will be looked at too, in addition to the files in /usr/share/glib-2.0/schemas. This is what the XDG_DATA_DIRS environment variable is responsible for (when it is set).  *****************************************************************************

Finally, the Python part. I searched some py files stored in /(your environment path)/lib/python2.7/site-packages/gtweak/tweaks, and I saw GSettingsComboTweak examples that set default values…. [Figure 06] shows an example of this through “icon-theme”

[Figure 06]

I added python code in  /(your environment path)/lib/python2.7/site-packages/gtweak/tweaks and this is what I got:    [Figure 07]

Posted in GNOME, τεχνολογια :: Technology | Tagged , , , , , , , | Leave a comment

“Jhbuilding” pygobjet, gkt+ and glib in Fedora 16

I stucked on gettext for days when I was building GNOME 3.4 in my Ubuntu 11.10 and then on glib while I was trying in my OpenSUSE 12.1.

I decided to do a third effort in Fedora 16, I built a minimal environment to work with pygobject, so build glib, gobject-introspection, gtk+ and pygobject.

Note ***********************************************
glib is a dependency of gtk+, so it will be built to build gtk+.
A simpler approach would have been:
 jhbuild build glib gobject-introspection gtk+ pygobject

***************************************************

This experience was based on Jhbuild page, so first cloning jhbuild an build it manually:

[yulytas@yulytas ~]$ git clone git://git.gnome.org/jhbuild
[yulytas@yulytas ~]$ cd jhbuild
[yulytas@yulytas jhbuild]$ ./autogen.sh  && make && make install

Following the manual: “If the above steps complete successfully, a small shell script will be installed in ~/.local/bin to start JHBuild.”

[yulytas@yulytas jhbuild]$ cd /home/yulytas/.local/bin/
[yulytas@yulytas bin]$ ls
install-check  jhbuild

After that, I configured a .jhbuilrc folder (created in home) like this:

repos['git.gnome.org'] = 'ssh://jinca@git.gnome.org/git/'
moduleset = 'gnome-world-3.4'
modules = [ 'gtk+', 'pygobject' , 'glib']
checkoutroot = os.path.expanduser('~/checkout/gnome')
prefix = '/home/yulytas/gnome/build'

Create these paths and make them writeable, all is going to be built in /home/yulytas/gnome/build

[yulytas@yulytas ~]$ mkdir checkout  
[yulytas@yulytas ~]$ cd checkout/
[yulytas@yulytas checkout]$ mkdir gnome
[yulytas@yulytas gnome]$ sudo chmod -R 777 .
[sudo] password for yulytas:
[yulytas@yulytas checkout]$ cd
[yulytas@yulytas ~]$ mkdir gnome  
[yulytas@yulytas gnome]$ mkdir build
[yulytas@yulytas gnome]$ cd build/
[yulytas@yulytas build]$ sudo chmod -R 777 .
[sudo] password for yulytas:

Then, you can make sure about dependencies:

[yulytas@yulytas build]$ jhbuild sanitycheck
[yulytas@yulytas build]$ jbuild bootstrap *** Checking out gettext *** [1/4]
 ... *** Error during phase configure of guile: ########## Error running ./configure --prefix /home/julita/gnome/build --libdir '/home/julita/gnome/build/lib64'  --disable-static --disable-gtk-doc  *** [3/4]

– Just pass guile, we do not need it for our purpose –> option 2

*** success *** [4/4]
I: some modules (m4, autoconf, libtool, pkg-config, python) were automatically ignored as a sufficient enough version was found installed on your system. Use --ignore-system if you want to build them nevertheless.

Finally, start building what we need by typing:

[yulytas@yulytas ~]$ jhbuild build glib
*** Checking out gnome-common *** [1/6]
git clone ssh://jinca@git.gnome.org/git/gnome-common
Cloning into gnome-common...
...
*** success *** [6/6]
[yulytas@yulytas ~]$jhbuild build pygobject
*** Building pygobject *** [9/9]
*** success *** [9/9]

[yulytas@yulytas ~]$ jhbuild build gtk+
*** Checking out gtk+ *** [12/12]
*** success *** [12/12]
[yulytas@yulytas ~]$jhbuild build gobject-introspection
...
Current branch master is up to date.
*** Skipping gobject-introspection (package and dependencies not updated) *** [7/7]
*** success *** [7/7]
[yulytas@yulytas ~]$jhbuild build gnome-tweak-tool
*** Checking out gnome-common *** [1/16]
...
*** success *** [16/16]

* It will be great if we can find a place to tell us what modules/modules set are necessary for certain applications and what are the other that we can ignore while we are building, especially if you are trying to build the last version of GNOME. I have to link Klapper & Laura posts about this adventure, as you can see many packages are causing ERROR messages, all you have to do is checking permissions (read carefully the messages) and download the development packages as are required :roll:

Good luck!

Posted in GNOME, τεχνολογια :: Technology | Tagged , , , , , , , , , | 6 Comments

Spreading GNOME project in Lima, Peru

Last week in Peru, we had an event called Linux Week 2012. I want to thank Mozilla Peru, they gave as four Mozilla t-shirt 10 years, Mozilla posters 10 years, many stickers and souvenirs like sport accessories for our attendances. INFOPUCP was also a kind sponsor, they gave us 40 Linux books for the event. We gave those gifts to students that response questions of the “trivias”, which are questions related to many projects of Free Software and Open Source like the official date of the first Linux kernel and launch releases of many projects, among others. We did that during breaks and coffee break.

The public enjoy this, they have fun as the same time they learned more about Linux history, projects features and different parameters for commands in terminal.

I also want to thank the participation of GNOME Women, Marina and Tamara, they were part of our international stuff. It was published in the news of my university Punto Edu online. Tamara talk was about the situation of Free Software in Macedonia and Marina talked about the GNOME programs, OPW and GSoC 2012. It was recording and published. You can see the video in youtube or you can visit Videos PUCP.

At the end, I did some questions to the students and I realized that they do not know so much about GNOME. So, this weekend I am going to give a talk about GNOME in other university, the event is called “Open Day”. I am going to start with a little introduction, this time Boo is going to help me to do that,  and then I am going to show all the benefits GNOME 3.4 offers to our users.  I installed Fedora17 alpha and OpenSUSE 12.1 in my laptop for this purpose.

Posted in Events, GNOME | Tagged , , , , , , , , , , | Leave a comment

GNOME Thursday

We are celebrating in Lima, Peru the event Linux Week 2012. So far, we presented people who work in open source projects like Mozilla, Red Hat, Android, Blender and many others.

On Thursday, we are going to present people from GNOME at 6:30 pm UTC -5.

Marina Zhurakhinskaya (Organizing the GNOME Outreach Program for Women)

Ekaterina Gerasimova (Mentor and OPW 2011)   

Tamara Atanasoska (GSoC 2011)

* Diego Escalante Urrelo (Mentor and GSoC 2009)

* Marco Antonio Villegas (Mentor and GSoC 2009)

* Sergio Infante (GSoC 2010)

They are going to give a talk about their contributions and experiences as students and contibutors.

You can follow us online and you can see some pictures we have so far.

Posted in GNOME, GNU/Linux/Open Source | Tagged , , , , , , | 1 Comment