Welcome to Planet openSUSE

This is a feed aggregator that collects what openSUSE contributors are writing in their respective blogs.

To have your blog added to this aggregator, please read the instructions.


Sunday
26 April, 2015


face

Σε προηγούμενο άρθρο είδαμε πως μπορεί να γίνει εγκατάσταση το KDE Plasma 5. Εδώ θα δούμε πως γίνεται η φόρτωση του πυρήνα 4.

Κανονικά ο πυρήνας στο Tumbleweed είναι ο 3.19.4-1. Έβαλα ένα αποθετήριο για να το τραβήξω. Ας δούμε λοιπόν την διαδικασία.

1. Προσθέστε το αποθετήριο.

sudo zypper ar http://download.opensuse.org/repositories/Kernel:/stable/standard/ kernel_4


2. Κάντε μια ανανέωση και αποδεχτείτε το κλειδί.

sudo zypper ref


3. Εάν είστε του τερματικού, δώστε την εντολή:

sudo zypper in --repo kernel_4 kernel-default

θα εγκατασταθούν και άλλα πακέτα (εγώ το έκανα μέσω του YaST. Το K3B είναι άσχετο)


όταν θα τελειώσει, θα ζητήσει επανεκκίνηση.


Να δηλαδή τι έχει κάνει...


4. Μετά την επανεκκίνηση, όλα είναι ΟΚ.


Χρειάζομαι λίγο χρόνο για να δω εάν υπάρχει κάποιο θεματάκι αλλά μέχρι στιγμής δουλεύει μια χαρά.

face

Hace un tiempo hablé de SuperTuxKart, el juego de karts de linux que compite con el famoso SupeMario Kart de Nintendo en diversión y entretenimiento. La buena noticia es que, como prometieron, se acaba de lanzar la versión SuperTuxKart 0.9 que nos ofrece un nuevo y mejorado motor. Sigue leyendo y descubrirás un gran y espectacular juego.

SuperTuxKart 0.9 listo para su descarga

El pasado 21 de abril fue lanzado SuperTuxKart 0.9, la nueva versión del magnifico juego de carreras de Karts en 3D libre y con Tux como protagonista.

Según podemos leer en Ochobitshacenunbyte, esta  nueva versión se ha estado trabajando dos años en nuevo motor gráfico, llamado Antarctica, que utiliza el renderizado OpenGL,  para obtener unas increibles luces dinámicas, sombreados en tiempo real, entre otras mejoras.

Y lo cierto es que el resultado no puede ser más espectacular, como podemos ver en el trailer oficial de SuperTuxKart 0.9.

Más información: SuperTuxKarts | ochobitshacenunbyte

¿Qué es SuperTux Kart?

SuperTuxKart es un juego libre de carreras de karts en 3D, con un gran número de circuitos, karts y objetos que dan emoción y diversión infinita para Linux. Evidentemente se trata de la versión del clásico de SupeMario Kart, es decir, un sencillo juego de carreras donde no solo debes correr más que tus adversarios sino que también puedes emplear algunos trucos para deshacerte de ellos.

En SuperTuxKarts pueden jugar hasta 4 jugadores simultáneamente en un mismo PC o competir contra la máquina, ya sea en modo historia o campeonato.

Las opciones de configuración son amplias para que funcione fluído en cualquier máquina (resolución, detalles gráficos, modos de pantalla, etc) y además tiene la posibilidad de añadir nuevos circuitos y karts bajándolos de internet.

Cómo instalar SuperTuxKart 0.9

En esta ocasión, al ser una novedad, SuperTuxKart todavía no está en los repositorios habituales pero si tenemos prisa o curiosidad podemos bajar directamente el binario desde la página de descargas, como he hecho yo y probarlo. Realmente se notan las mejoras.

 

Más información: SuperTuxKart


Saturday
25 April, 2015


Victorhck: 4 años en línea

16:05 UTCmember

face

Este blog que ahora estás leyendo cumple 4 años en la red, y amenazo con seguir otros 4!!

cabecera_blog2.png

La verdad es que este año se me había pasado… pero WordPress muy amablemente me ha recordado que hace 4 años tal día como hoy empecé este blog…

Cumple el blog 1 año más. Este año no he preparado nada especial, como el anterior donde el amigo Replicante tuvo a bien escribir un artículo en mi blog, que me gustó mucho!

Este año me ha pillado algo desprevenido, y además hoy es mal día para cumplir años, ya que toda la actualidad se centra en el esperado lanzamiento de la nueva versión de Debian.

Un nuevo año bloguero, con más de 200 artículos escritos en este año, sobre openSUSE, GNU/Linux, software libre … y de todo un poco.

Un año que ha pasado con sus cosas buenas, y también con alguna cosa mala, de todo tiene que haber, aunque son duros esos momentos malos…

Pero el blog sigue adelante… me sirve para sobrellevar esos momentos menos buenos, y también para compartir esos momentos mejores. Escribo, aprendo, disfruto, comparto y nos leemos.

Mi agradecimiento a todos los incondicionales del blog, tanto vosotros como las visitas esporádicas de usuarios siguen dándome ánimos para continuar, y es un placer ver crecer el blog.

En este año, el blog sobrepasó la cifra acumulada del millón de visitas, y desde hace unas cuantas semanas no baja de las 1000 visitas diarias de media, algunas veces más…

El blog, me ha servido para conocer de manera virtual a mucha gente con la que comparto aficiones, y también gracias a él y a la afición, me ha servido para conocer a personas ya no de manera virtual, sino en persona, lo que es mucho más enriquecedor!! ;)

4 años detrás de la pantalla y el teclado escribiendo, traduciendo, leyendo, compartiendo, ayudando, divirtiéndome… gracias a los que al otro lado del cable de internet leeis y compartís esto.

Nos seguimos leyendo!!

gne28184linux.png



Michael Meeks: 2015-04-25 Saturday

15:00 UTCmember

face
  • Breakfast, J. out for a seminar on teenage kids at church. Fed three babes - sawed up the last bits of the sofa to bin them; dis-assembled the malfunctioning toilet door - somehow broken its spring(s) - made some split-ring pliars from screws & a bolt with N. cannibalised pantry door for toilet door & ordered new parts.

face

Ya tenemos entre nosotros una nueva versión de a una de las grandes distribuciones gnu/linux. Me da bastante rabia cuando un acontecimiento como es el lanzamiento de una de las grandes me pilla con el tiempo superlimitado, como me ha ocurrido esta vez con Kubuntu 15.04. No obstante, como más vale tarde que nunca, bienvenidos a la pequeña reseña del lanzamiento de esta nueva revisión que viene cargada de novedades a la espera de ofreceros un artículo mucho más extenso en un futuro cercano.

Kubuntu 15.04 listo para su descarga

El pasado 22 de abril fue lanzado Kubuntu 15.04 y esto merece una pequeña celebración para los simpatizantes del escritorio Plasma de KDE porque significa la presentación para el gran público de Plasma 5.

Las dos novedades principales de este lanzamiento son las siguientes:

  • El nuevo escritorio Plasma 5 de la Comunidad KDE por defecto. Los desarrolladores de Kubuntu consideraron que la segunda versión de Plasma 5.2 era suficiente estable para ofrecerla al gran público y ya podemos empezar a disfrutar de todas sus ventajas.
  • La colección de aplicaciones de KDE Applications 14.12, muchas de ellas migradas ya a Qt5 o KF5, junto con otras no pertenecientes a KDE como LibreOffice 4.4 y Firefox 37.

Kubuntu 15.04

Y para finalizar, un pequeño vídeo demostrativo de Kubuntu 15.04 de la mano de MrNolucas que nos muestra el magnífico tema visual Breeze, la posibilidad de recuperar plasmoides eliminados, las notificaciones mejoradas, la bandeja de sistema vitaminada, Muon Discover funcionando a tope, el nuevo Preferecias del Sistema remodelador, etc.

Ahora solo resta encontrar un par de horas en mi vida (tarea complicada este fin de semana) para realizar la migración definitiva a Plasma 5 en mi portátil para poder ir contadoos las ventajas e inconvenientes, asi como reportar los errores al equipo de calidad de KDE.

 

Más información: Kubuntu | Descarga de Kubuntu 15.04 Vivid Vervet


Friday
24 April, 2015


Michael Meeks: 2015-04-24 Friday

21:00 UTCmember

face
  • Mail chew, admin, misc. calls; got the VclPtr bits passing make check, and building on Mac / Linux / Windows. Not good to merge just before the weekend I suspect. H. out for a sleepover.
  • Watched Jane Eyre on the BBC in the evening with Julia - horrific compared to the nuance depth of the book; hardly explicable without reference to it either.

face

Esta noticia se sale un poco de la temática del blog, aunque está relacionado con el Software Libre, ya que esta entrada solo es para anunciar que este domingo estaré en la Feria Experimenta 2015 de Valencia con mis alumnos de 4º de ESO.

Nos vemos en Experimenta 2015 de Valencia

Para los que no conocéis la Feria Experimenta, se trata de un concurso anual que organiza la Facultad de Física de la Universidad de Valencia, que este 2015 llega a la décima edición del concurso Experimenta 2015, que pretende convertir a los estudiantes de enseñanza media (ESO, bachillerato y ciclos formativos de grado medio) en protagonistas activos y creativos de la Ciencia.

Feria Experimenta_02

Este año se celebra el próximo domingo 26 de abril en las Arquerías del Museo de las Ciencias Príncipe Felipe, de las 10 a las 13 horas. La entrada es libre y los asistentes tendrán la posibilidad de votar el proyecto que más les haya gustado.

Feria Experimenta_01

Este serà el tercer año que mi colegio, San Pedro Apóstol del Puerto de Sagunto, se presenta al mismo con el objetivo de que nuestro alumnado aprenda, además de elaborar un proyecto tecnológico, a presentarlo y defenderlo delante del público.

El primer año (el más meritorio por ser el que rompió el hielo) con un pequeño proyecto de una persiana que subía o bajaba según la luz incidente y el segundo año con una magnífica impresora 3D con la colaboración de y que consiguió una meritoria Mención de Honor.

Este tercer año hemos tenido la oportunidad de presentar dos proyectos:

  • Sumobot: un proyecto que está basado en las peleas de sumo reales, en los que dos robots exáctamente iguales pelean por tirar al otro del «Dojo». Son de fácil montaje y diseño simple, que han sido programado para que, según la información que reciban gracias a los sensores externos, actuen de una forma determinada.

IMG-20150421-WA0046

  • Robot Air Hockey: un proyecto que consiste en adaptar un Air Hockey para que pueda jugar un solo jugador. El segundo jugador ha sido sustituido por un robot que detecta la posición y la trayectoria del disco para interceptarlo y evitar que entre por su portería. Una idea que cogimos del blog Ciencia y Cacharreo, que hemos ido adaptando y resolviendo los problemas que nos han ido saliendo.

IMG-20150131-WA0001

Como podéis ver, dos grandes proyectos que han servido para que nuestros alumnos aprendar a utilizar materiales, a montar, a medir, a conocer mejor los componentes electrónicos, a programar, a pensar alternativas y a exponer su trabajo.

Y si queréis verlos en formato real ya sabéis, ¡no olvidéis venir a vernos!

¡Nos vemos en la Feria!


Thursday
23 April, 2015


Michael Meeks: 2015-04-23 Thursday

21:00 UTCmember

face
  • Reminded by Claire to update my blog; good idea.
  • Mail chew; amused to see the pictures from Keith of what building LibreOffice can do to your laptop paint job; though I'm rather a fan of Thinkpads.
  • Great to see Tobias and Jennifer's interview written up by Sam; nice work guys.
  • Partner call; lunch; ESC call; pushed minutes. Poked at CI builds of VclPtr bits.

face

One of the perks of working at SUSE is hackweek, an entire week you can dedicate working on whatever project you want. Last week the 12th edition of hackweek took place. So I decided to spend it working on solving one of the problems many users have when running an on-premise instance of a Docker registry.

The Docker registry works like a charm, but it’s hard to have full control over the images you push to it. Also there’s no web interface that can provide a quick overview of registry’s contents.

So Artem, Federica and I created the Portus project (BTW “portus” is the Latin name for harbour).

Portus as an authorization service

The first goal of Portus is to allow users to have a better control over the contents of their private registries. It makes possible to write policies like:

  • everybody can push and pull images to a certain namespace,
  • everybody can pull images from a certain namespace but only certain users can push images to it,
  • only certain users can pull and push to a certain namespace; making all the images inside of it invisible to unauthorzied users.

This is done implementing the token based authentication system supported by the latest version of the Docker registry.

Docker login and Portus authentication in action

Portus as a front-end for Docker registry

Portus listens to the notifications sent by the Docker registry and uses them to populate its own database.

Using this data Portus can be used to navigate through all the namespaces and the repositories that have been pushed to the registry.

repositories view

We also worked on a client library that can be used to fetch extra information from the registry (i.e. repositories’ manifests) to extend Portus’ knowledge.

The current status of development

Right now Portus has just the concept of users. When you sign up into Portus a private namespace with your username will be created. You are the only one with push and pull rights over it; nobody else will be able to mess with it. Also pushing and pulling to the “global” namespace is currently not allowed.

The user interface is still a work in progress. Right now you can browse all the namespaces and the repositories available on your registry. However user’s permissions are not taken into account while doing that.

If you want to play with Portus you can use the development environment managed by Vagrant. In the near future we are going to publish a Portus appliance and obviously a Docker image.

Please keep in mind that Portus is just the result of one week of work. A lot of things are missing but the foundations are solid.

Portus can be found on this repository on GitHub. Contributions (not only code, also proposals, bugs,…) are welcome!


face

You probably saw this phoronix article which references the log of the #dri-devel channel on freenode. This was an attempt to trash my work on lima and tamil, using my inability to get much in the way of code done, and my unwillingness to throw hackish tamil code over the hedge, against me. Let me take some time to explain some of that from my point of view.

Yes, I have lost traction.

Yes, i am not too motivated to work on cleaning up code at this time. I haven't been too motivated for anything much since FOSDEM 2014. I still have my sunxi kms code to fix up/clean up, and the same is true for the lima driver for mesa. It is also pretty telling that i started to write this blog entry more than two months ago and only now managed to post it.

Under the circumstances, though, everyone else would've given up about 2 to 3 years ago.

Due to my usual combination of stubbornness and actually sitting down and doing the work, I have personally kickstarted the whole open ARM GPU movement. This is the third enormous paradigm shift in Linux graphics that i have caused these past almost 12 years (after modesetting, and pushing ATI to a point of no return with an open source driver). All open ARM GPU projects were at least inspired by this, some actually use some lima code, others would simply not have happened if I hadn't done Lima and/or had kept my mouth shut at important junctions. This was not without sacrifices. Quite the opposite.

From March 2011 on, I have spent an insane amount of time on this. Codethink paid, all-in-all, 6 weeks of my time when i was between customer projects. Some of the very early work was done on Nokia time, as, thanks to our good friend Stephen Elop, operations were winding down severely in late 2011 to the point where mostly constant availability was needed. However, I could've used that extra free time in many other useful ways. When I got a job offer at SuSE in november 2011 (basically getting my old job back due to Matthias Hopf taking up a professorship), I turned it down so I could work on the highly important Lima work instead.

When Codethink ran into a cashflow issue in Oktober 2012 (which apparently was resolved quite successfully, as codethink has grown a lot more since then), I was shown the door. This wasn't too unreasonable a decision given my increasing disappointment with how lima was being treated, the customer projects i was being sent on, and the assumption that a high profile developer like me would have an easy time getting another employer. During the phonecall announcing my dismissal, I did however get told that ARM had already been informed about my dismissal, so that business relations between ARM and codethink could be resumed. I rather doubt that that is standard


face
osemnewsby Alex Vennos

What is OSEM?

OSEM is an event management web application, tailored to the needs of FOSS conferences. You can visit http://osem.io/ to find out more about it.

You can contribute too!

The guide is based & tested on openSUSE 13.2 and it will help you get started with your development right away!

How to install OSEM

Step 1. Install Ruby & Bundler (version >= ruby 2.1.2)

sudo zypper in ruby rubygem-bundler

Step 2. Install git to your system

sudo zypper in git

Step 3. Clone the repository locally to your machine

git clone https://github.com/openSUSE/osem/

Step 4. Install the basic packages, you will need them for the next steps in order for bundle install to work.

sudo zypper in make ruby-devel libxml2 libxml2-devel libxslt libxslt-devel libmysqlclient-devel libqt4-devel libQtWebKit-devel nodejs

Step 5. Move in the folder osem and install the necessary gems in your local project folder

cd osem

bundle install –standalone

Step 5.1. Optional: You may need to configure nokogiri, so that bundle install succeeds

bundle config build.nokogiri –use-system-libraries

Step 6. You can also generate your secret keys for devise and the rails app with

bundle exec rake secret

Step 7. Copy the sample configuration files

cp config/config.yml.example config/config.yml

cp config/database.yml.example config/database.yml

cp config/secrets.yml.example config/secrets.yml

Step 8. Setup the database

bundle exec rake db:setup

Step 9. Start your rails server and run OSEM

bundle exec rails server

Step 10. And you are all set! Visit OSEM at http://localhost:3000

…and let the coding begin! The fun starts here!

Finally I want to thank Stella Rouzi for her help!

Contact us!!

Have questions? Contact us!

By email: info@osem.io

By IRC: irc://freenode.net/osem

Found a bug? Please open a new issue directly in github.

https://github.com/openSUSE/osem/issues/new

GitHub issue tracking is the best, and fastest, way to ensure your bug

will be properly reported and fixed

Have ideas? Develop them and send us a Pull Request with your new feature!

https://github.com/openSUSE/osem/blob/master/CONTRIBUTING.md

Either way, JOIN US!


Wednesday
22 April, 2015


Michael Meeks: 2015-04-22 Wednesday

21:00 UTCmember

face
  • Customer call, interview, interesting lunch with Andrew Haley. Partner call, sync. with Tomaz, reviewed a nice blog.

face

jogo de corrida SuperTuxKart

Depois de quase um ano e meio desde a última versão, finalmente saiu uma nova versão estável do SuperTuxKart, o jogo de corrida de kart open source. Aqui você verá como instalar ele no Linux.

Leia o restante do texto "Como instalar o jogo de corrida SuperTuxKart no Linux"

Não está aparecendo algo?

Este post é melhor visualizado acessando direto da fonte. Para isso, clique nesse link: Como instalar o jogo de corrida SuperTuxKart no Linux.



face

¿Cuantos usuarios de GNU/Linux crees que habrá en el mundo? ¿Existen cifras o estadísticas de los usuarios que usan Linux en el mundo?

Desde hace ya muchos años LinuxCounter ha sido el sitio de referencia donde consultar cifras, de usuarios de Linux en el mundo. Regístrate para dejar constancia de que tu también eres un usuario más y registra tus máquinas bajo GNU/Linux.

Ahora está en la web LinuxCounter.net pero el proyecto nació en 1993 en otro dominio. Durante todos estos años el proyecto se ha ido mejorando y manteniendo.

Es el sitio donde se registran muchos usuarios de GNU/Linux para conseguir la imagen que encabeza este artículo, y dejar constancia así de que eres un usuario más de la gran comunidad de Linux.

Además de los registros de los usuarios, la web en función de varios parámetros determina una estadística del número de usuarios de Linux que existen actualmente, no deja de ser una aproximación estadística, quien sabe si refleja una realidad.

Puedes registrarte en su web, y si en dos años no vuelves a visitar su web te darán de baja, y dejarán de contabilizarte. También puedes registrar tus equipos con GNU/Linux.

Y puedes descargarte un pequeño script que recopila información (no recopilan información personal) y la envía periódicamente a la web como datos estadísticos. Muy sencillo de descargar, y ejecutar, con todos los pasos necesarios para que funcione.

Yo ya hace años me registré y por aqui en el blog, ya había hablado del proyecto, hoy lo retomo porque veo que hace un tiempo han mejorado y actualizado su web. Además he colaborado en la traducción de su web al español. Tú también puedes hacerlo de una manera sencilla gracias a la herramienta que han implementado.

El proyecto me parece un ejercicio de constancia admirable, que quería destacar aqui. Como ellos mismos dicen, aunque sólo mencionan Linux también entienden que el proyecto GNU y la FSF son parte esencial.

Date una vuelta por su renovada web, regístrate si quieres contribuir, y registra tus máquinas. Súmate al número de usuarios de Linux que hay en el mundo!!

extremista

Enlaces de interés

—————————————————-



Tuesday
21 April, 2015


Michael Meeks: 2015-04-21 Tuesday

21:00 UTCmember

face
  • Meetings with UKTI in the morning, good to catch up with the team. Collabora Quarterly meeting in the afternoon. Acutely irritated by parts2repair.com which appears unable to send me what I ordered; I guess the moral is to check scam adviser first or somesuch.

face

Editor de legendas para Linux Gaupol

Procurando um editor de legendas para Linux para criar ou consertar arquivos desse tipo? Então instale e experimente a ferramenta Gaupol.

Leia o restante do texto "Editor de legendas para Linux? Instale o Gaupol"

Não está aparecendo algo?

Este post é melhor visualizado acessando direto da fonte. Para isso, clique nesse link: Editor de legendas para Linux? Instale o Gaupol.



face

Θα αναρωτιέστε, τι δουλειά έχει ένας GNOME-άκιας να δοκιμάζει KDE; Μην χαίρεστε... Αφορμή για το παρόν άρθρο ήταν το post του Αλέξανδρου. Ο Αλέξανδρος το εγκατέστησε στην 13.2. Εγώ προτίμησα να δοκιμάσω στην έκδοση Tumbleweed. Θα αναρωτηθείτε γιατί τόση μανία; Η Tumbleweed είναι η rolling έκδοση του openSUSE. Για να πάει κάποιο πακέτο εκεί περνάει από 2 δοκιμές από μηχανή, μια από τον release manager και μια από όλη την κοινότητα. Επομένως εάν κάτι δεν δουλεύει, πολύ πιθανό να κοπεί εκεί. Αυτό που καταλαβαίνω είναι ότι όταν θα έρθει η ώρα της 13.3 (επόμενη έκδοση), απλά θα πάρουν το στιγμιότυπο της Tumbleweed που δουλεύει, άντε να γίνουν και ελάχιστες δοκιμές 1 μήνα πριν και θα είναι έτοιμη για να δωθεί στους χρήστες.

Πάμε να δούμε λοιπόν πως μπορεί να εγκατασταθεί το Plasma 5.

1. Κατεβάστε το Net Install του Tumbleweed (64bit ή 32bit). Εγκαταστήστε το KDE. Εγώ προτιμώ το NET Install γιατί κατεβάζει πάντα ότι τελευταίο πακέτο κυκλοφορεί και δεν έχω να κάνω αναβάθμιση σε νέες εκδόσεις προγραμμάτων.

2. Στην συνέχεια ανοίξτε το YaST στην εγκατάσταση προγραμμάτων και αναζητείστε το plasma5-session.


3. Όταν πατήσετε αποδοχή, θα σας ερωτήσει αν θέλετε να απεγκαταστήσετε το KDE 4. Επιλέξτε να απεγκατασταθεί.


4. Θα δείτε μια ενημέρωση τι πακέτα θα αλλάξουν.


5. Και εδώ χρειάζεται λίγο αναμονή.


6. Όταν τελειώσει, πατήστε Finish και κάντε μια επανεκκίνηση.


Όταν θα μπει, εάν έχετε ενεργοποιημένη την επιλογεί να μπαίνει αυτόματα στον λογαριασμό σας, θα μπεί σε ICEWM. Οπότε θα χρειαστεί να εξέλθετε (Logout) και όταν εισέλθετε να επιλέξετε το KDE Plasma 5.


Εντυπωσιάστηκα διότι το είχα εγκαταστήσει σε Virtual Box, άνοιξα το Firefox και η μνήμη ήταν στα 510ΜΒ. Εντάξει, το Firefox δεν έπαιζε Youtube ή παρόμοιες τεχνολογίες. Έστω και έτσι, είχε καλή ανταπόκριση στο άνοιγμα των προγραμμάτων κλπ. Πολύ καλή δουλειά. Μπράβο.

face

I might be the first one that started using ownCloud in Greece. Don't remember the version (I think it was version 4.x.x back in 2011-2012). My main contributions to the project are translation and promotion. For the past years I made many presentations around Greece. You can see my blog is full of tutorials. I also wrote documentation for openSUSE. Finally, I made a huge (in my opinion) contribution to Greek translation.

The past few presentations and all the help I got from the community, I managed to engage more people to contribute to our community. I went to continue translation and I saw that it was 100%.


Although I'm not the coordinator of translations, I would like to thank everyone who helped. Now it's the hard part to check for the quality of the translations and also keep the 100%. ownCloud community is pretty active and they change strings almost everyday.


face

Update April 2015: Reading it again years later, I regret the tone of this post. I was frustrated at the time and it comes across now as just smarmy. Still, I stand by the principal idea: that you should avoid Python’s daemon threads if you can.

The other day at work we encountered an unusual exception in our nightly pounder test run after landing some new code to expose some internal state via a monitoring API. The problem occurred on shutdown. The new monitoring code was trying to log some information, but was encountering an exception. Our logging code was built on top of Python’s logging module, and we thought perhaps that something was shutting down the logging system without us knowing. We ourselves never explicitly shut it down, since we wanted it to live until the process exited.

The monitoring was done inside a daemon thread. The Python docs say only:

A thread can be flagged as a “daemon thread”. The significance of this flag is that the entire Python program exits when only daemon threads are left.”

Which sounds pretty good, right? This thread is just occasionally grabbing some data, and we don’t need to do anything special when the program shuts down. Yeah, I remember when I used to believe in things too.

Despite a global interpreter lock that prevents Python from being truly concurrent anyway, there is a very real possibility that the daemon threads can still execute after the Python runtime has started its own tear-down process. One step of this process appears to be to set the values inside globals() to None, meaning that any module resolution results in an AttributeError attempting to dereference NoneType. Other variations on this cause TypeError to be thrown.

The code which triggered this looked something like this, although with more abstraction layers which made hunting it down a little harder:

try:
    log.info("Some thread started!")
    try:
        do_something_every_so_often_in_a_loop_and_sleep()
    except somemodule.SomeException:
        pass
    else:
        pass
finally:
    log.info("Some thread exiting!")

The exception we were seeing was an AttributeError on the last line, the log.info() call. But that wasn’t even the original exception. It was actually another AttributeError caused by the somemodule.SomeException dereference. Because all the modules had been reset, somemodule was None too.

Unfortunately the docs are completely devoid of this information, at least in the threading sections which you would actually reference. The best information I was able to find was this email to python-list a few years back, and a few other emails which don’t really put the issue front and center.

In the end the solution for us was simply to make them non-daemon threads, notice when the app is being shut down and join them to the main thread. Another possibility for us was to catch AttributeError in our thread wrapper class – which is what the author of the aforementioned email does – but that seems like papering over a real bug and a real error. Because of


Monday
20 April, 2015


Michael Meeks: 2015-04-20 Monday

21:00 UTCmember

face
  • Wrote status report, 1:1 meetings, 2x team meetings, admin.

face

I often see people asking how to contribute to an open source project on GitHub. Some are new programmers, some may be new to open source, others aren’t programmers but want to make improvements to documentation or other parts of a project they use everyday.

Using GitHub means you’ll need to use Git, and that means using the command-line. This post gives a gentle introduction using the git command-line tool and a companion tool for GitHub called hub.

Workflow

The basic workflow for contributing to a project on GitHub is:

  1. Clone the project you want to work on
  2. Fork the project you want to work on
  3. Create a feature branch to do your own work in
  4. Commit your changes to your feature branch
  5. Push your feature branch to your fork on GitHub
  6. Send a pull request for your branch on your fork

Clone the project you want to work on

$ hub clone pydata/pandas

(Equivalent to git clone https://github.com/pydata/pandas.git)

This clones the project from the server onto your local machine. When working in git you make changes to your local copy of the repository. Git has a concept of remotes which are, well, remote copies of the repository. When you clone a new project, a remote called origin is automatically created that points to the repository you provide in the command line above. In this case, pydata/pandas on GitHub.

To upload your changes back to the main repository, you push to the remote. Between when you cloned and now changes may have been made to upstream remote repository. To get those changes, you pull from the remote.

At this point you will have a pandas directory on your machine. All of the remaining steps take place inside it, so change into it now:

$ cd pandas

Fork the project you want to work on

The easiest way to do this is with hub.

$ hub fork

This does a couple of things. It creates a fork of pandas in your GitHub account. It establishes a new remote in your local repository with the name of your github username. In my case I now have two remotes: origin, which points to the main upstream repository; and joeshaw, which points to my forked repository. We’ll be pushing to my fork.

Create a feature branch to do your own work in

This creates a place to do your work in that is separate from the main code.

$ git checkout -b doc-work

doc-work is what I’m choosing to name this branch. You can name it whatever you like. Hyphens are idiomatic.

Now make whatever changes you want for this project.

Commit your changes to your feature branch

If you are creating new files, you will need to explicitly add them to the to-be-commited list (also called the index, or staging area):

$ git add file1.md file2.md etc

If you are just editing existing files, you can add them all in one batch:

$ git add -u 

Sunday
19 April, 2015


Michael Meeks: 2015-04-19 Sunday

21:00 UTCmember

face
  • NCC, Tony spoke, slugged much of the afternoon.

Richard Brown: Hackweek 12 & openQA

19:09 UTCmember

face

Last week was SUSE’s Hackweek 12.
Hackweeks are special weeks at SUSE where all of SUSE Engineering get to work on whatever they’d like, to try cool things and learn new stuff.

This Hackweek was my first at SUSE’s Nuremberg office, and it was quite an experience. The whole place had a ‘buzz’ about it all week. Every day the company sponsored Lunch or Breakfast, which got everyone together and triggered many interesting conversations. Some times we were serenaded by the ‘SUSE Band‘ who were working on their musical abilities and technology for hackweek.

I had lots of conversations about the upcoming openSUSE conference, some of SUSE’s planned projects around openSUSE, and of course openQA, which was a big part of lots of peoples Hackweek.

Bernhard Wiedemann worked on adding subtitles to openQA’s video recordings so users can see what openQA is doing when it produces the recorded screen output.

Max Lin worked on a chrome extension to provide live status monitoring of an openQA instance and its workers.

Bernhard, Stephan Kulow, and Klaus Kämpf looked at getting openQA to test bare metal hardware.
While openQA already has support for IPMI for bare metal testing of servers, pushing the already established limits is exactly the spirit of Hackweek :)
Bernhard started experimenting with the idea of using ARM development boards to emulate a keyboard and relay openQAs keyboard commands. Next Hackweek he hopes to have a HDMI grabber so it will be able to see the video output also.
Klaus and Coolo were successful in getting openQA to control hardware with Intel vPro/AMT (as found in Thinkpads and other common laptop/desktop hardware). This demonstration video shows it working on my very own X220 Thinkpad.

And Xudong Zhang from Beijing and myself worked on testing openQA by using openQA

Testing openQA on openQA, are you crazy?

Actually, only a little crazy.
We made life easy for ourselves by creating two disk images (one for SLES 12 and another for openSUSE 13.2) to represent the same production environments we have for http://openqa.opensuse.org and the internal SUSE openQA instance.

These images were created following the regular openQA Documentation and setup to test a ‘known good’ Distribution with a static set of tests (openSUSE 13.2 with the tests and needles from our GitHub project)

We then configured openQA to treat this disk image as a different ‘distribution’, and we wrote new tests for testing openQA (See the source code HERE)

A little bit of ‘needling’ later (Capturing the reference screenshots and defining the areas of interest to openQA, which can be found HERE) we had a working test run which was able to test openQA running on openSUSE 13.2

and also for testing openQA on SLES 12

These tests successfully test all the core functionality of openQA, including Upgrading from the official OBS repository, Confirming the Worker is running, Scheduling an openQA job from the shell, Confirming a Job is running


face

Hello ;=)

Je me posais quelques questions sur le projet openSUSE , je me suis donc adressé à Bruno Friedmann (BF) qui en tant que membre du Board openSUSE m'a paru l'un des plus au fait de ces questions et ainsi mieux à même de me répondre. Voici ici retranscrite notre conversation car ces informations pourront intéresser les utilisateurs openSUSE.




Saturday
18 April, 2015


Michael Meeks: 2015-04-18 Saturday

21:00 UTCmember

face
  • A busy week chasing and missing the Alpha 1 deadline (today). Into Cambridge, fun customer meeting all day with Bob, lunch, museum, punting, etc.

face

Tuning PIDs is one of those things you really don’t want to do, but can’t avoid it in the acrobatic quad space. Flying camera operators don’t usually have to deal with this, but the power/weight ratio is so varied in the world of acro flying you’ll have hard time avoiding it there. Having a multirotor “locked in” for doing fast spins is a must. Milliseconds count.

FPV Weekend

So what is PID tuning? The flight controller’s job is to maintain a certain position of the craft. It has sensors to tell it how the craft is angled and how it’s accellerating, and there’s external forces acting on the quad. Gravity, wind. Then there’s a human giving it RC orders to change its state. All this happens in a PID loop. The FC either wants to maintain its position or is given an updated position. That’s the target. All the sensors give it the actual current state. Magic happens here, as the controller gives orders to individual ESCs to spin the motors so we get to there. Then we look at what the sensors say again. Rinse and repeat.

PID loop is actually a common process you can find in all sorts of computer controllers. Even something as simple as a thermostat does this. You have a temperature sensor and you drive a heater or an air conditioner to reach and maintain a target state.

The trick to a solid control is to apply just the right amount of action to get to our target state. If there is difference between where we are and where we want to be, we need to apply some force. If this difference is smaller, only a small force is required. If it’s big, a powerful force is needed. This is essentially what the P means, proprotional. In most cases, as a controller, you are truly unhappy if you are elsewhere to where you were told to be. You want to correct this difference fast, so you provide a high proportional value/force. However, in the case of a miniquad, the momentum will continue pulling you when you reached your target point and don’t apply any force anymore. At this point the difference occurs again and the controller will start correcting the craft pulling it back in the opposite direction. This results in an unstable state as the controller will be bouncing the quad back and forth, never reaching the target state of “not having to do anything”. The P is too big. So what you need is a value that’s high enough to correct the difference fast, but not as much so the momentum gets you oscillating around the target.

So if we found our P value, why do we need to bother with anything else? Well sadly pushing air around with props is a complicated way to remain stationary. The difference between where you are and where you want to


Friday
17 April, 2015


face

oSC15Уже менее чем через 2 недели, у нас, разработчиков openSUSE, снова выпадает возможность встретиться всем вместе. На этот раз конференция пройдет в Голландии, в городе Den Haag. Майские праздники пройдут на берегу Северного моря.

На этот раз моё путешествие начнется практически у самого подножия Альп, в Мюнхене, столице Баварии, откуда на рассвете я отправлюсь в столь любимый и родной Нюрнберг. В Нюрнберге, как вы помните, проходила наша первая конференция в 2009 году. Как и обычно, SUSE организует автобус для своих разработчиков и активных участников проекта. На этом поддержка разработчиков не заканчивается: так называемая Travel Support Program поможет с оплатой отеля. Совсем покрыть расходы за счет фонда не получится, но больше половины всей суммы я получаю из-за своего участия в проекте как майнтейнер.

Что из себя представляет эта конференция и почему стоит ее посетить? Сначала о двух главных изменениях, наметившихся за последние годы. Во-первых, конференция стала немного меньше. К сожаленью. Я помню когда ее посещало приблизительно столько же хакеров сколько и FOSDEM. Тем не менее, качество презентаций и вообще организация конференции на мой взгляд ничуть не уступают. Во-вторых, тематика стала намного шире. Если первая конференция целиком и полностью была посвящена openSUSE, то через 5 лет на ней выступают с докладами сотрудники Oracle и других компаний. Ее посещают разработчики как openSUSE так и других GNU-дистрибутивов.

На несколько дней ты погружаешься в эту атмосферу, когда новые люди рассказывают о новых проектах. Субкультура, и тот факт, что в той или иной степени мы относимся к ней, хотя в повседневной жизни об этом не задумываемся. Этот энтузиазм в глазах, любовь своего дела, желание создавать что-то действительно классное, удобное, нужное… Делиться этим! После возвращения состояние транса будет оставаться еще пару недель. Как правило, те, кто работает только ради денег, редко посещают подобные мероприятия.

Для меня лично посещение openSUSE Conference не похоже ни на одну из других Free Software конференций. На ней я встречаю своих бывших коллег, с которыми закончил свое обучение, с которыми прошел столь непростое и в то же время интересное время Novell/SUSE. Там же в это время я получил свой первый реальный рабочий опыт. Принципами, которые использовались там, я пользуюсь в работе до сих пор и вряд ли буду от них отходить в ближайшее время. Очередная конференция, как и любой подобный event, подразумевает обмен опытом, идеями и это всегда новые знакомства.

На openSUSE Conference можно будет сдавать экзамены LPI. Мой шеф обещает перенять расходы за сдачу экзамена. И хотя на подобных конферециях цена за экзамен не превышает и 100€, все равно приятно чувствовать поддержку. Сейчас я делаю уже второй LPI-сертификат, и его наличие обещает мне не только очередное повышение в зарплате, но это просто интересно.

Ну и наконец, конечно же это здорово хотя бы на недельку сменить обстановку, вырваться заграницу, посмотреть новый город, тем более если он расположен на побережье моря, и погулять по пляжу ;)



face

Lanzada la nueva versión de uno de los grandes editores de vídeo de software libre.

Ayer se anunció el lanzamiento de la versión 15.04.0 de Kdenlive, con muchas mejoras, y donde se da un paso adelante no sólo en el código, sino en la comunidad.

Desde que empecé en esto de GNU/Linux, con KDE como escritorio por defecto, Kdenlive ha sido una de esas aplicaciones necesarias. Me gusta la edición de vídeo, y siempre he hecho alguna que otra cosilla, y Kdenlive ha sido mi opción frente a a otras.

Es sencillo de utilizar, y aunque con ciertas limitaciones, se ve que va mejorando y se está trabajando en ello. Todavía me acuerdo cuando hace algunos años, se cerraba de forma intempestiva perdiéndose todo el trabajo desde la última vez que habías guardado el proyecto. Ahora se le nota más maduro, y esos inconvenientes son cosa del pasado.

Ayer en su web pude leer que el proyecto trae una nueva actualización y muchas otras novedades. El anuncio oficial lo puedes leer en el siguiente enlace:

Como es normal, cada nuevo lanzamiento supone una mejora en el código y en las características del programa, pero además este lanzamiento es especial porque ¡Kdenlive pasa a ser una aplicación oficial del proyecto KDE! ¿esto qué significa?

  • Se beneficiarán de la infraestructura que ofrece KDE, lo que a su vez implica menos preocupaciones para los desarrolladores.
  • Ceñirse al calendario de lanzamientos de aplicaciones KDE, lo que significa que habrá un lanzamiento mensual de corrección de errores, y un lanzamiento de mejoras de versión cada 4 meses. Esto es un gran cambio frente al antiguo lanzamiento de manera aleatoria cada año, más o menos. Esto es posible gracias al que el equipo de KDE se encarga de los lanzamientos, en vez de su pequeño grupo de desarrolladores.
  • Ahora utilizarán el método de seguimiento y reporte de errores de KDE https://bugs.kde.org
  • Se benefician de los servidores y equipo de KDE, que posibilita que en futuro quizás exsta versiones de Kdenlive para Mac, y Windows.
  • Adoptan el esquema de numeración para las aplicaciones de KDE. De ahora en adelante, las versiones de Kdenlive serán numeradas con el Año.Mes.Bugfix. Esto explica la versión actual 15.04.0
  • Cada colaborador de KDE puede ayudarnos a mejorar Kdenlive.

Y todo esto ¿qué cambios implica a los usuarios? Pues que la mayoría del trabajo de esta nueva versión fue portar el código a QT5 y KDE Frameworks 5 lo que les hace estar preparados para el futuro. Algunos cambios en esta versión incluyen:

  • Para ejecutar esta versión NECESITAS KDE Frameworks 5.
  • Mejoras en la estabilización de vídeo.
  • Auto guardado de nuevos proyectos.

Pronto todas las distribuciones de GNU/Linux


face
Nom : oSC15.png
Affichages : 970
Taille : 36.8 Ko
La septième openSUSE Conference se tiendra cette année du 1er au 4 mai à La Haye, aux Pays-Bas. L'occasion pour des contributeurs des quatre coins du monde de se rassembler, d'échanger et de créer sur le thème qui leur tient à cœur : le logiciel libre ! Au programme : des conférences, des ateliers, YaST, IoT, Cloud et fun !

face

Après une petite pause sur mon blog, une migration de serveur, un nouveau thème et quelques bugs (merci à Pinaraf pour son aide) pas mal d’actualités sont passées sur KDE et openSUSE. Voici une info plutôt sympa dont je voulais parler ici.

incones-appli-LO

En novembre 2014 Jonathan Riddell demande sur le planet kde si un set d’icônes Breeze peut être fait pour LibreOffice. Breeze est le thème d’icônes de KDE Plasma 5. Fin novembre Uri, le dessinateur principal, fait 150 icônes pour LibreOffice. Maintenant, 4 mois plus tard, l’équipe de design est fière de présenter le nouveau set d’icônes Breeze pour LibreOffice avec plus de 2500 icônes !

capture-LO-Breeze
Apriori il ne resterait qu’une icône manquante… à vous de trouver laquelle.

En plus de LibreOffice, l’équipe de design a fait des icônes pour Kdenlive, Labplot, Yakuake et le travail est commencé pour Digikam.

incones-appli-Breeze
N’hésitez pas à rejoindre l’équipe, il reste des nombreux icônes à dessiner pour couvrir toutes les applications afin que l’intégration soit parfaite dans Plasma 5 pour les deux thèmes clair et sombre.

icones-breeze-LO-2Vivement que le résultat arrive dans nos distributions préférées.

Trouver toutes les infos et l’article original ici : [en]
https://kdeonlinux.wordpress.com/2015/03/25/breeze-love-libre-office/

Syvolc

Older blog entries ->