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.


Monday
27 February, 2017


face

Uma nova revisão do que aconteceu esta semana em openSUSE Tumbleweed a versão “rolling release” de atualização contínua da distribuição de GNU/Linux openSUSE.



O anúncio original você pode ler no blog de Dominique Leuenberger, no link abaixo:

http://dominique.leuenberger.net/blog/2017/02/review-of-the-week-201708/


Esta semana foram cancelados alguns snapshots, pois uma regressão no grub foi detectada, o que causou problemas de carregamento em cadeia. Mas graças aos geniais mantenedores, o problema poder ser encontrado, fixado e integrado no Tumbleweed. Apesar dos snapshots cancelados, esta revisão ainda abrangerá 4 revisões: 0216, 0218, 0219 e 0224.

As novidades mais impactantes foram:

  • Linux kernel 4.9.10 & 4.9.11
  • Python 3.6
  • Mesa 17.0
  • KDE Plasma 5.9.2
  • Libreoffice 5.3.0.3
O que mais está acontecendo em breve?
  • RPM 4.13.0.1 - Uma regressão já foi detectada durante a fase 4.13.0 e a montante corrigida. Um punhado de pacotes ainda precisa de ajustes
  • GLibc 2.25 - Ninguém parece estar fornecendo correções para qualquer uma das falhas ... Chamada de ajuda! Por favor, vamos avançar
  • Linux Kernel 4.10 (instantâneo 0225+)
  • Python single-spec trabalho: construção de código para vários python alvos fora de um único spec arquivo, primeiros envios iniciados.
Se você quiser descobrir onde você pode ajudar nas várias áreas de preparação, você pode sempre olhar para as falhas listadas no painel que você pode encontrar em:
https://build.opensuse.org/project/staging_projects/openSUSE:Factory

As ISO’s são instáveis, porém se você já utiliza openSUSE Tumbleweed em seu equipamento, simplesmente deverá atualizá-lo mediante o comando “zypper up” assim seu sistema receberá as atualizações.Para realizar o download acesse o link abaixo:

https://en.opensuse.org/openSUSE:Tumbleweed_installation

Mantenha-se atualizado e você sabe: Divirta-se!

face
Como instalar o Harmony Music Player no Ubuntu, Mint e Arch Linux

Se você procura um reprodutor de áudio parecido com o iTunes da Apple, veja como instalar o Harmony Music Player no Linux Ubuntu, Debian, Mint, Fedora e Arch Linux.

Leia o restante do texto "Como instalar o Harmony Music Player no Linux"

face
Como gravar uma imagem ISO usando o Terminal

Se você precisa gravar uma imagem ISO usando o Terminal, veja nesse tutorial como fazer isso e entenda um pouco mais sobre o processo.

Leia o restante do texto "Como gravar uma imagem ISO usando o Terminal"

face

When I run a parallel reading performan testing on a md raid1 device with two NVMe SSDs, I observe very bad throughput in supprise: by fio with 64KB block size, 40 seq read I/O jobs, 128 iodepth, overall throughput is only 2.7GB/s, this is around 50% of the idea performance number.

The perf reports locking contention happens at allow_barrier() and wait_barrier() code,

|        – 41.41%  fio [kernel.kallsyms]   [k] _raw_spin_lock_irqsave
|             – _raw_spin_lock_irqsave
|                         + 89.92% allow_barrier
|                         + 9.34% __wake_up
|        – 37.30%  fio [kernel.kallsyms]  [k] _raw_spin_lock_irq
|              – _raw_spin_lock_irq
|                         – 100.00% wait_barrier

The reason is, in these I/O barrier related functions,

– raise_barrier()
– lower_barrier()
– wait_barrier()
– allow_barrier()

They always hold conf->resync_lock firstly, even there are only regular reading I/Os and no resync I/O at all. This is a huge performance penalty.

The solution is a lockless-like algorithm in I/O barrier code, and only holding conf->resync_lock when it has to.

The original idea is from Hannes Reinecke, and Neil Brown provides comments to improve it. I continue to work on it, and make the patch into current form.

In the new simpler raid1 I/O barrier implementation, there are two wait barrier functions,

  • wait_barrier()

Which calls _wait_barrier(), is used for regular write I/O. If there is resync I/O happening on the same I/O barrier bucket, or the whole array is frozen, task will wait until no barrier on same barrier bucket, or the whold array is unfreezed.

  • wait_read_barrier()

Since regular read I/O won’t interfere with resync I/O (read_balance() will make sure only uptodate data will be read out), it is unnecessary to wait for barrier in regular read I/Os, waiting in only necessary when the whole array is frozen.

The operations on conf->nr_pending[idx], conf->nr_waiting[idx], conf->barrier[idx] are very carefully designed in raise_barrier(), lower_barrier(), _wait_barrier() and wait_read_barrier(), in order to avoid unnecessary spin locks in these functions. Once conf->nr_pengding[idx] is increased, a resync I/O with same barrier bucket index has to wait in raise_barrier(). Then in _wait_barrier() if no barrier raised in same barrier bucket index and array is not frozen, the regular I/O doesn’t need to hold conf->resync_lock, it can just increase conf->nr_pending[idx], and return to its caller. wait_read_barrier() is very similar to _wait_barrier(), the only difference is it only waits when array is frozen. For heavy parallel reading I/Os, the lockless I/O barrier code almostly gets rid of all spin lock cost.

This patch significantly improves raid1 reading peroformance. From my testing, a raid1 device built by two NVMe SSD, runs fio with 64KB blocksize, 40 seq read I/O jobs, 128 iodepth, overall throughput
increases from 2.7GB/s to 4.6GB/s (+70%).

 

Thanks to Shaohua and Neil, very patient to explain memory barrier and atomic operations to me, help me to compose this patch in a correct way. This patch is merged into Linux v4.11 with commit ID 824e47daddbf.


face

‘Commit 79ef3a8aa1cb (“raid1: Rewrite the implementation of iobarrier.”)’ introduces a sliding resync window for raid1 I/O barrier, this idea limits I/O barriers to happen only inside a slidingresync window, for regular I/Os out of this resync window they don’t need to wait for barrier any more. On large raid1 device, it helps a lot to improve parallel writing I/O throughput when there are background resync I/Os performing at same time.

The idea of sliding resync widow is awesome, but code complexity is a challenge. Sliding resync window requires several variables to work collectively, this is complexed and very hard to make it work correctly. Just grep “Fixes: 79ef3a8aa1” in kernel git log, there are 8 more patches to fix the original resync window patch. This is not the end, any further related modification may easily introduce more regression.

Therefore I decide to implement a much simpler raid1 I/O barrier, by removing resync window code, I believe life will be much easier.

The brief idea of the simpler barrier is,

  • Do not maintain a global unique resync window
  • Use multiple hash buckets to reduce I/O barrier conflicts, regular I/O only has to wait for a resync I/O when both them have same barrier bucket index, vice versa.
  • I/O barrier can be reduced to an acceptable number if there are enough barrier buckets

Here I explain how the barrier buckets are designed,

  • BARRIER_UNIT_SECTOR_SIZE

The whole LBA address space of a raid1 device is divided into multiple barrier units, by the size of BARRIER_UNIT_SECTOR_SIZE.

Bio requests won’t go across border of barrier unit size, that means maximum bio size is BARRIER_UNIT_SECTOR_SIZE<<9 (64MB) in bytes. For random I/O 64MB is large enough for both read and write requests, for sequential I/O considering underlying block layer may merge them into larger requests, 64MB is still good enough.

Neil Brown also points out that for resync operation, “we want the resync to move from region to region fairly quickly so that the slowness caused by having to synchronize with the resync is averaged out over a fairly small time frame”. For full speed resync, 64MB should take less then 1 second. When resync is competing with other I/O, it could take up a few minutes. Therefore 64MB size is fairly good range for resync.

  • BARRIER_BUCKETS_NR

There are BARRIER_BUCKETS_NR buckets in total, which is defined by,

#define BARRIER_BUCKETS_NR_BITS (PAGE_SHIFT – 2)
#define BARRIER_BUCKETS_NR (1<<BARRIER_BUCKETS_NR_BITS)

this patch makes the bellowed members of struct r1conf from integer to array of integers,

– int     nr_pending;
– int     nr_waiting;
– int     nr_queued;
– int     barrier;
+ int   *nr_pending;
+ int   *nr_waiting;
+ int   *nr_queued;
+ int   *barrier;

number of the array elements is defined as BARRIER_BUCKETS_NR. For 4KB kernel space page size, (PAGE_SHIFT – 2) indecates there are 1024 I/O barrier buckets, and each array of integers occupies single memory page. 1024 means for a request which is smaller than the I/O barrier unit size has ~0.1% chance to wait for


face

Last week was SUSE Hackweek and one of my projects was to get Let's Encrypt configured and working on my NAS.

Let's Encrypt is a project aimed at providing SSL certificates for free, in an automated way.

I wanted to get a SSL certificate for my Synology NAS. Synology now supports natively Let's Encrypt but only if the NAS accepts incoming HTTP / HTTPS connections (which is not always what you want).

Fortunately, the protocol used by Let's Encrypt to validate a hostname (and generate a certificate), Automatic Certificate Management Environment (ACME) has a alternative validation path, DNS-01, based on DNS.

DNS-01 requires access to your DNS server, so you can add a validation token used by Let's Encrypt server, to ensure you own the domain name you are requesting a certificate for.

There is a lot of ACME implementations, but very few supports DNS-01 validation with my DNS provider (gandi.net).

I ended-up using acme.sh, fully written in shell script and tried to plug Gandi DNS support in it.

After some tests, I discovered Gandi current DNS service is not allowing fast changing DNS zone informations (which is somehow a requirement for DNS-01 validation). Fortunately, Gandi is now providing a new LiveDNS server, available in beta, with a RESTful HTTP API.

I was able to get it working quite rapidly with curl, and once the prototype was working, I've cleaned everything and created a pull request for integrating the support in acme.sh.

Now, my NAS has its own Let's Encrypt certificate and will update it every 90 days automatically. Getting and installing a certificate for another server (running openSUSE Leap) only took me 5 minutes.

This was a pretty productive hackweek !


face

LinuxFest Northwest 2017, coming up the first weekend in May, promises to continue its tradition of providing a unique, active, fun experience for open-source enthusiasts at all experience levels. openSUSE continues its long-term sponsorship of the event, and we are looking forward to having a lot of fun! Submit your session proposals by March 1, 2017!

LinuxFest Northwest, if you’re not familiar, is one of the largest community-centric conferences in the USA, and a free+libre event (no attendance fees and registration is optional) promoting open source, open hardware, and community involvement. Now in its 16th year, with an audience rapidly approaching 2,000 people, the event continues to grow, attract a broader audience, and redefine the experience of a weekend conference. With a Linux Game Den, a Robotics Lab, a Job Fair (new this year), community mini-summits, as well as the expo hall and 8 – 10 parallel tracks of sessions, LFNW is a week of conference stuffed into a weekend.

 

left to right: Peter Linnell, Bryan Lunduke, Jon Hall (with the SUSE Chameleon), James Mason, Michael Miller at LinuxFest Northwest 2014

openSUSE has been a fixture at LFNW for years; I fondly recall my first LFNW, when ‘Reverend’ Ted Haeger demonstrated “compiz” on a tricked out SUSE laptop… I’ve been hooked on the event since; volunteering with (and for the last few years – organizing) the openSUSE presence there. Over the years, we’ve had an all-star group come out and represent SUSE & openSUSE at LFNW:

  • Richard Brown, chairman of the openSUSE board and SUSE QA Technical Lead, who opined “Linuxfest Northwest is such a civilized, enjoyable conference you would be forgiven for mistaking it as Canadian”;
  • Bryan Lunduke, openSUSE board member and SUSE cheerleader-at-large responded “LinuxFest NW embodies the best of what it means to be a red-blooded American in a tech conference: donuts, burgers, robots, and Free Software”;
  • Ross Brunson, Certification Architect at SUSE , ran a SUSE certification course for free last year;
  • Michael Miller, President – Strategy, Alliances & Marketing at SUSE, and Bellingham resident;
  • Alan Clark, Linux Foundation board member;

They are assisted by a dedicated group of local volunteers: openSUSE users looking to give back to the community that supports their technical pursuits.

 

openSUSE community volunteers like Caleb (left), an avid Steam gamer, and Adrian (right), a Python and Postgres consultant, represent the technical diversity in our community.

LFNW’s Call for Papers is still open, until March 1, so it’s not too late to submit a talk, and join the openSUSE community at LFNW. For the first time, the event has a theme: “The Mechanics of Freedom”; inviting talks on AI and IoT, but sessions are welcome on a variety of topics. There’s room for everyone here, and the event is always looking for good ‘beginner’ content as well as technical deep dives, so whether you’d like to explain the mechanics of live kernel patching, or walk people through their first editing session in Gimp, your proposal is welcome. When you


face
Como instalar o Oracle Java 9 no Ubuntu, Debian e derivados

Java é uma linguagem e ao mesmo tempo uma plataforma importante. No Linux, cada distribuição tem seu modo de fornecer o Java e para dar aos usuários um método que funcione na maioria delas, hoje mostrarei como instalar Java no Linux manualmente (nesse caso o Java da Oracle).

Leia o restante do texto "Java no Linux: veja como Instalar manualmente"

face
Como instalar a versão mais recente do Redshift no Linux

Você está passando muitas horas na frente do PC a noite? Pois para ajudá-lo a dormir melhor depois disso, veja como instalar a versão mais recente do Redshift no Linux.

Leia o restante do texto "Como instalar a versão mais recente do Redshift no Linux"

face

Getting Started in Android Development: Part 1: Building the First App

Do you know programming and want to start with the Android platform? Just like me! Read on.

Thanks to SUSE, my employer, for sponsoring a company-wide Hack Week which this project was a part of!

In case you wonder why Android: it is a good balance of work and play. Android is not the coolest toy to play with at the moment, but it is the most versatile device that people are likely to have at hand, especially when traveling. And Android already outnumbers openSUSE and all other OSs in my household.

This is a three part series: 1) building an app, 2) publishing it on Google Play, 3) trimming it down. In this part, we'll set up the development environment, follow the official tutorial to build a trivial app, then build a trivial yet useful app of our own.

a screenshot of my first app

a screenshot of my first app

Installing the SDK

I am using openSUSE Leap 42.1 (x86_64). You will notice that I keep tallying the disk space taken. This is because I am a bit short of space on one of my machines, and need to have an idea how much cleanup is needed.

Went to https://developer.android.com/.

Downloaded Android Studio (2.2.3 for Linux, 438 MiB, unpacks to 785 MiB), followed the instructions, unpacking to /opt (getting /opt/android-studio).

Ran /opt/android-studio/bin/studio.sh. Was greeted by an "Android Studio Setup Wizard": chose a Standard setup. Additional download of 890MB (1412MB unpacked) to ~/Android/Sdk.

Got a slightly confusing notice about KVM emulator acceleration. It seems that if you have used KVM before on your machine, the SDK will use it out of the box. But even with acceleration, don't expect the emulator to be fast. If you have a real device, use that.

"Building Your First App"

For the most part I simply followed the tutorial for building, installing, and running a trivial app that asks for a message and then displays it. The documentation feels excellent!

The one non-obvious part was choosing which Android version, in other words, which API level, to target. in the Target Android Devices dialog, the preselected option is API 15: Android 4.0.3 (IceCreamSandwich). That is presumably based on the current active device statistics which result in the app being compatible with 97% of devices. The oldest one is API 9: Android 2.3 (Gingerbread), which was a bit disappointing since my older phone from 2010 runs API 8, 2.2 (Froyo). (Don't worry, I eventually solved that in part 3.) Fortunately my newer phone has API 22: Android 5.1.1. Installed the API 22 platform too, to match the phone, about 100MB.

Connected my phone with a USB cable, pressed Run, and there it was! Don't worry, a buggy app will just crash and not affect the rest of your phone.

Just Roll One Die

Now it looked like I


face

openSUSE Tumbleweed es una distribución “Rolling Release” en desarrollo continuo. Aquí puedes estar al tanto de las últimas novedades.

Empieza una nueva semana del mes de febrero, con las fiestas de carnavales de por medio, pero echemos un vistazo a lo sucedido la semana anterior en openSUSE Tumbleweed la versión “rolling release” o de actualización continua de la distribución de GNU/Linux openSUSE.

El anuncio original lo puedes leer en el blog de Dominique Leuenberger, en este enlace:

Las ISO’s son instalables, pero si ya estás disfrutando de openSUSE Tumbleweed en tu equipo, simplemente deberás actualizarlo mediante “zypper up” o este otro comando que recomiendan en las listas de correo, para disfrutar de esas actualizaciones.

Esta semana pasada hubo que cancelar un par de “snapshots”, por unos problemas con grub que se detectaron a tiempo. Pero gracias a los mantenedores de los paquetes se solucionó el problema.

Esta semana veremos los paquetes más importantes que han llegado a las siguientes “snapshots”: 0216, 0218, 0219 and 0224 la semana pasada.

  • Linux kernel 4.9.10 & 4.9.11
  • Python 3.6
  • Mesa 17.0
  • KDE Plasma 5.9.2
  • Libreoffice 5.3.0.3

¿Y qué nos espera en un futuro próximo a los usuarios de Tumbleweed? Pues actualizaciones tan importantes como:

  • RPM 4.13.0.1
  • GLibc 2.25
  • Linux Kernel 4.10
  • python single-spec work

Si quieres estar a la última con software actualizado y probado utiliza openSUSE Tumbleweed la opción rolling release de la distribución de GNU/Linux openSUSE.

Mantente actualizado y ya sabes: Have a lot of fun!!

Enlaces de interés

——————————–



face
Como instalar a versão mais recente do Opera no Linux

Foi lançada mais uma versão do Opera estável e de desenvolvimento para Linux. Se você quiser instalar o Opera no Linux Ubuntu, Debian, Fedora e sistemas derivados, veja aqui como fazer.

Leia o restante do texto "Como instalar a versão mais recente do Opera no Linux"

face

Stardicter 0.11, the set of scripts to convert some freely available dictionaries to StarDict format, has been released today. There are mostly minor changes and it's time to push them out in official release. The most important being fixed sorting of ascii dictionaries, what did break searching in some programs.

Full list of changes:

  • Improved deaccent filter.
  • Fixed sorting of ASCII dictionaries.

As usual, you can install from pip, download source or download generated dictionaries from my website.

Filed under: Debian English StarDict SUSE | 0 comments


face

A pesar de que la atención del equipo de desarrolladores de KDE tiene un nuevo foco de interés con Plasma 5.9 no ha dejado de lado su anterior escritorio. Por ello me congratula anunciar la sexta actualización de Plasma 5.8 LTS, la cual es bienvenida y recomendada para todos los usuarios que estén utilizando la versión de soporte extendido.

Sexta actualización de Plasma 5.8 LTS

El pasado 4 de octubre de 2016 fue lanzado Plasma 5.8 LTS, tal y como estaba previsto en su calendario como es habitual en el proyecto KDE. Hay que recordar que esta rama es muy especial porque es el símbolo de la madurez de este escritorio por el gran tiempo de soporte de esta versión.

Casi cinco meses más tarde, el pasado 21 de febrero de 2017, fue lanzada la sexta actualización de Plasma 5.8. Y como es habitual el equipo de desarrolladores recomiendan su actualización ya que aunque no ofrece novedades si corrige errores molestos y mejoras en las traducciones.

Cuarta actualización de Plasma 5.8

Las novedades, claro está son nulas, simplemente se trata de ir arreglando pequeños errores aquí y allá. Si queréis ver toda la lista de cambios os recomiendo leer el changelog,

Más información: KDE.org

Las novedades de Plasma 5.8

Los desarrolladores han trabajado muy duro para que este Plasma 5.8 sea el más rápido y fluido de todos los lanzados hasta la fecha. Por ello han dedicado mucho tiempo a optimizar su funcionamiento. Es notable la optimización de los recursos del sistema y la fluidez que presenta toda la interfaz.

Podemos ver algunas de las novedades mirando el siguiente vídeo:

Y, como complemento del vídeo, os redacto algunas de ellas:

  • Aspecto visual unificado para las pantallas de bienvenida y cierre del sistema.
  • Soporte mejorado para idiomas que escriben de derecha a izquierda.

Sexta actualización de Plasma 5.8 LTS

  • Mejoras en widgets como el paginador o el gestor de tareas
  • Grandes mejoras en los atajos de teclado globales.
  • Mejoras en el soporte de multimonitores
  • Discover ha sido portado a Kirigami
  • Soporte para Wayland, incluso para aplicaciones GTK

En definitiva, otro paso en la evolución de Plasma, un escritorio que sigue sumando adeptos y mejorando versión tras versión.


Sunday
26 February, 2017


face

Is someone using notebook as an alarm clock? Yes, it would be easy if I did not suspend machine overnight, but that would waste power and produce noise from fans. I'd like version that suspends the machine...


face

Weblate should be released by end of February, so it's now pretty much clear what will be there. So let's look at some of the upcoming features.

There were many improvements in search related features. They got performance improvements (this is especially noticeable on site wide search). Additionally you can search for strings within translation project. On related topic, search and replace is now available for component or project wide operations, what can help you in case of massive renaming in your translations.

We have worked on improving machine translations as well, this time we've added support for Yandex. In case you know some machine translation service which we do not yet support, please submit that to our issue tracker.

Biggest improvement so far comes for visual context feature - it allows you to upload screenshots which are later shown to translators to give them better idea where and in which context the translation is used. So far you had to manually upload screenshot for every source string, what was far from being easy to use. With Weblate 2.12 (and this is already available on Hosted Weblate right now) the screenshots management got way better.

There is now separate interface to manage screenshots (see screenshots for Weblate as an example), you can assign every screenshot to multiple source strings, however you can also let Weblate automatically recognize texts on the screenshots using OCR and suggest strings to assign. This can save you quite a lot of effort, especially with screenshots with lot of strings. This feature is still in early phase, so the suggestions are not always 100% matching, but we're working to improve it further.

There will be some more features as well, you can look at our 2.12 milestone at GitHub to follow the process.

Filed under: Debian English SUSE Weblate | 0 comments


face

Tengo poco tiempo, así que hoy quiero aprovecharme del trabajo de elav, el cual ha realizado un magnífico vídeo titulado “8 buenos motivos para usar Plasma Desktop” en el que destaca las razones que él considera más importantes para utilizar el extraordinario escritorio de la Comunidad KDE.

8 buenos motivos para usar Plasma Desktop

En poco más de 15 minutos, elav nos presenta algunas de las razones por los que es conveniente a un usuario utilizar Plasma Desktop de la Comunidad KDe.

De esta forma:

  • Repasa las funcionalidades de Krunner.
  • Las infinitas posibilidades de Dolphin, tanto en su aspecto gráfico como en su comportamiento diario.
  • Algunas funcionalidades de Gwenview como el recorte de imágenes o compartir imágenes.
  • Las propiedades visuales de las ventanas de las aplicaciones.
  • El control del audio independiente de los dispositivos que tenemos conectados.
  • La configuración del gestor gráfico.
  • El nuevo Look and feel para cambiar de una tacada todo el aspecto gráfico de Plasma.
  • Los efectos de escritorio.

Si os ha gustado, como suelo decir, no olvidéis dar un Like y, si os animáis, realizar un comentario. Estoy seguro que en el canal donde Elav ha publicado el vídeo System Inside os lo agradecerán. Será vuestra buena acción del día para la promoción del Software Libre en general y del proyecto KDE en particular.


face

Introducción

La siguiente guía explica como compartir una carpeta entre un Linux (anfitrión) y un Windows 7 (máquina virtual), de modo que ambos puedan leer y escribir en el mismo directorio. Para poder compartir una carpeta es necesario instalar las Guest Additions.

 

¿Qué son las guest additions?

Guest Additions es una aplicación que se instala en la máquina virtual y que permite, entre otras cosas, mejorar la integración del cursor, compartir el portapapeles, compartir carpetas y mejorar el soporte de vídeo.

 

¿Cómo instalo las guest additions?

Instalar las Guest Additions es sencillo, con la máquina virtual encendida vas a Dispositivos → Insertar imagen de CD de las «Guest Additions»
Insertar imagen guest additions

Cuando la descarga ha terminado VirtualBox pregunta si quieres insertar el disco, tras lo cual Windows ya puede acceder a las Guest Additions.
Se instala desde “Equipo” como si fuera un CD normal y corriente (siguiente, siguiente, siguiente), a mitad de instalación va a preguntar si “confias” en el software de Oracle, le dices que se calle de una puñetera vez y listo.

Trust me, i'm an engineer


Saturday
25 February, 2017


face
Old build workers, rack mounted

Old build workers, rack mounted

One year after introducing a new kind of Open Build Service worker machines, the “lambkins”, the openSUSE Build Service got a big hardware refresh. The new machines, sponsored by SUSE, are equipped with:

  • 2,8GHz AMD Opteron Processors (6348)
  • 256 GB RAM
  • one 120 GB SSD

Four of them are located in a chassis with a height of 2 units and run 12-16 workers on them (virtual machines, that are building packages).

That new build power allowed us to remove some of old machines from the pool. The unified hardware makes the management of the machines a lot easier now, even if there are still the most powerful old machines left.

For those who like some more pictures, feel free to check the rest of the entry…

8 servers and 2 switches

A view at the backside of two racks, containing 8×4 servers and 2 switches.

View to 6.5 Racks from their back

Some OBS worker Racks from the back. The white one on the left contains old x86 machines, the four in the middle contain the lamb workers, the right Rack contains the cloud workers.


face

While we had some fun and good food and drinks, we also managed to discuss a lot during the three days in the Nuremberg headquarter. This was needed because this was the first time that the Heroes came together in their current form. In the end, we managed to do no coding and even (nearly) no administration – but instead we started to discuss our (internal and external) policies and work flows – and did some decisions regarding the next steps and the future of the openSUSE infrastructure.

openSUSE Heroes meeting

So what are our results – and how does the prioritized action item list look like?

First of all: the complete meeting minutes can be found on our mailing list. The list items below are just a condensed subset containing the most important parts of the three days.

We identified the following list of tasks and assigned priorities and people behind it:

Priority Task Assignee
1 Setup FreeIPA darix
1 openVPN setup for NUE and PRV machine access by admins darix, tbro
2 Saltifying services cboltz, skriesch, tampakrap, CyReVolt, darix, tbro
2 openSUSE Cloud in Provo gschlotter, cmueller
3 Updating our documentation tampakrap, CyReVolt, lrupp
3 Progress clean up (Projects and Tickets tampakrap, lrupp
4 Provide a hardware wishlist cmueller, tbro
4 Setup external monitoring skriesch, lrupp
4 Mediawiki separation and upgrade cboltz, skriesch
5 CDN77 testing tampakrap, darix
5 handle connect.opensuse.org tampakrap, lrupp
6 Hermes shut down tbro
6 migrate scanner-opensuse tampakrap, darix
6 handle paste.o.o and planet.o.o tampakrap

There are – for sure – a lot more “TODO’s” and “action items” on our list (just read the minutes to get an idea), but we think that we might see a big progress if we can finish the above list in a reasonable time. While we just started and can not provide much documentation or “junior jobs”, yet, we are always looking for people who want to join our team and want to help. In such a case: just get in contact with us!


face

During last year's Summer of Code I had the honor of mentoring Nanduni Indeewaree Nimalsiri. She worked on Inqlude, the comprehensive archive of third party Qt libraries, improving the tooling to create a better structured web site with additional features such as categorization by topic. She did an excellent job with it and all of her code ended up on the master branch. But we hadn't yet made the switch to change the default layout of the web site to fully take advantage of all her work. As part of SUSE's 15th Hack Week, which is taking place this week, I took some time to change that, put up some finishing touches, and switch the Inqlude web site to the new layout. So here we are. I proudly present the new improved home page of Inqlude.


All libraries have additional meta data now to group them by a number of curated topics. You can see the topics in the navigation bar on the left and use them to navigate Inqlude by categories. The listing shows more information on first view, such as the supported platforms, to make it easier to find libraries according to your criteria without having to navigate between different pages. The presentation in general is cleaner now, and some usability testing has shown that the page works better now than before. In addition to the visible changes, Nanduni has also done quite a bit of improvements under the hood, including better automated testing. I'm proud of what we have achieved there.

It always has been a privilege for me to act as mentor as part of Google's Summer of Code or other programs. This is one of the most rewarding parts of working in free software communities, to see how new people learn and grow, especially if they decide to stay involved after the program has ended and become valuable members of the community for the long term. Being able to help with that I feel is one of the most satisfying investments of your time in the community.

face

Dear Tumbleweed users and hackers,

This week we had to cancel a couple snapshots, as a regression in grub was detected, that caused issues on chain-loading bootloaders. But thanks to our genius maintainers, the issue could be found, fixed and integrated into Tumbleweed (and this despite being busy with hackweek! A great THANK YOU!). Despite those canceled snapshots, this review will still span 4 revisions: 0216, 0218, 0219 and 0224. And believe me, there have been quite some things coming your way.

The most impacting were:

  • Linux kernel 4.9.10 & 4.9.11
  • Python 3.6
  • Mesa 17.0
  • KDE Plasma 5.9.2
  • Libreoffice 5.3.0.3

Python 3.6 did cause some trouble for users of applications beyond the rings (remember: only ring-packages are tested on integration of any updated package). You can find a list of packages still failing at goo.gl/3AX7sK – Help to get those sorted is appreciated from all sides.

What else is coming our way in the near future:

  • RPM 4.13.0.1 – A regression was already spotted during 4.13.0 staging and upstream corrected it. A handful of packages still needs adjustments
  • GLibc 2.25 – Nobody seems to be providing fixes for any of the failures… Call for help! Please let’s move this forward
  • Linux Kernel 4.10 (snapshot 0225+)
  • python single-spec work: building code for multiple python targets out of a single spec file; first submissions started

As a reminder, here once again the link to the Factory dashboard, where you can see which staging areas are in need of help. All build failures need to be addressed in one way or another for a staging project to be moving forward.

With all this said, go forth and have a lot of fun!


face

Casi finalizo una semana complicada laboralmente hablando y con muy poco tiempo para dedicar el blog. Y casi como siempre, coincidiendo con el lanzamiento de una versión especial de Kubuntu. No obstante, he encontrado el hueco adecuado para anunciar que ha sido lanzada la beta de Kubuntu 17.04, lo cual me alegra y me complace compartir con todos vosotros, ya que aunque la distribución ha pasado por mejores momentos sigue siendo una referencia obligada en el mundo GNU/Linux y que esté en buen estado de forma es positivo para todo nuestro ecosistema.

Lanzada la beta de Kubuntu 17.04

Si todo va como está previsto, en abril será lanzada Kubuntu 17.04, que lleva como nombre código Zesty Zapus.

Lanzada la beta de Kubuntu 17.04Esta nueva versión, que no es de soporte extendido, trae las siguientes novedades relacionadas con el mundo de la Comunidad KDE:

  • Plasma 5.9
  • KDE Aplicaciones 16.12.1

Además, Kubuntu 17.04 beta nos ofrece LibreOffice 5.2 y Firefox 50.1.

Para probar esta versión tienes dos opciones.

Evidentemente, y como todas las betas, esta versión no está recomendada para usuarios finales y está pensada para su testeo. Así que si te gusta encontrar errores y reportarlos no lo dudes y ayuda a la Comunidad.

 

Más información: Kubuntu

¿Qué es una versión beta?

Para los que estén aterrizando en el mundo del desarrollo del Software, una beta no es más que una versión de pruebas de una distribución (o de una aplicación). La idea de los desarrolladores es hacerla pública para que el máximo número de probadores trabajen con ella, detecten errores y los mandes a los desarrolladores, los cuales se dedicarán a solucionarlos antes del lanzamiento definitivo.

Es por ello que no está recomendado su uso a los usuarios finales, los cuales suelen preferir que sus aplicaciones o sus distribuciones sean lo más estables posible.


Friday
24 February, 2017



face
  • Griping about parsers and shitty specifications

    The last time, I wrote about converting librsvg's tree of SVG element nodes from C to Rust — basically, the N-ary tree that makes up librsvg's view of an SVG file's structure. Over the past week I've been porting the code that actually implements specific shapes. I ran into the problem of needing to port the little parser that librsvg uses for SVG's list-of-points data type; this is what SVG uses for the points in a polygon or a polyline. In this post, I want to tell you my story of writing Rust parsers, and I also want to vent a bit.

    My history of parsing in Rust

    I've been using hand-written parsers in librsvg, basically learning how to write parsers in Rust as I go. In a rough timeline, this is what I've done:

    1. First was the big-ass parser for Bézier path data, an awkward recursive-descent monster that looks very much like what I would have written in C, and which is in dire need of refactoring (the tests are awesome, though, if you (hint, hint) want to lend a hand).

    2. Then was the simple parser for RsvgLength values, in which the most expedient thing, if not the prettiest, was to reimplement strtod() in Rust. You know how C and/or glib have a wealth of functions to write half-assed parsers quickly? Yeah, that's what I went for here. However, with this I learned that strtod()'s behavior of returning a pointer to the thing-after-the-number can be readily implemented with Rust's string slices.

    3. Then was the little parser for preserveAspectRatio values, which actually uses Rust idioms like using a split_whitespace() iterator and returing a custom error inside a Result.

    4. Lastly, I've implemented a parser for SVG's list-of-points data type. While shapes like rect and circle simply use RsvgLength values which can have units, like percentages or points:

      <rect x="5pt" y="6pt" width="7.5 pt" height="80%/">
      
      <circle cx="25.0" cy="30.0" r="10.0"/>
      		

      In contrast, polygon and polyline elements let you specify lists of points using a simple but quirky grammar that does not use units; the numbers are relative to the object's current coordinate system:

      <polygon points="100,60 120,140 140,60 160,140 180,60 180,100 100,100"/>
      		

    Quirky grammars and shitty specs

    The first inconsistency in the above is that some object types let you specify their positions and sizes with actual units (points, centimeters, ems), while others don't — for these last ones, the coordinates you specify are relative to the object's current transformation. This is not a big deal; I suspect it is either an oversight in the spec, or they didn't want to think of a grammar that would accomodate units like that.

    The second inconsistency is in SVG's quirky grammars. These are equivalent point lists:

    points="100,-60 120,-140 140,60 160,140 

face
Firefox no Linux: veja como instalar manualmente

Se você precisa ter a última versão do navegador da Mozilla no seu sistema, veja aqui como instalar o Firefox no Linux manualmente. O procedimento deve funcionar nas principais distribuições Linux.

Leia o restante do texto "Firefox no Linux: veja como instalar manualmente"

face
Como instalar a versão multiplataforma do IRPF 2017 no Linux manualmente

E chegou a hora de acertar as contas com o leão, por isso, se você quer fazer sua declaração do imposto de renda pessoa física no Linux, veja aqui como instalar o programa IRPF 2017 no Linux.

Leia o restante do texto "Como instalar o programa IRPF 2017 no Linux"

Thursday
23 February, 2017


face
Como instalar a versão mais recente do Lightworks no Linux

Precisando a instalar a versão mais recente do Lightworks no Linux? Siga os passos desse tutorial e veja como fazer isso.

Leia o restante do texto "Como instalar a versão mais recente do Lightworks no Linux"

face
Como instalar o editor de vídeo Shotcut no Linux manualmente

Foi lançada recentemente mais uma versão de um dos melhores editores de vídeo para Linux. Se você quiser experimentar, veja a seguir como instalar o editor de vídeo Shotcut no Linux manualmente.

Leia o restante do texto "Como instalar o editor de vídeo Shotcut no Linux manualmente"

Wednesday
22 February, 2017


Older blog entries ->