July 23, 2016

Fedora Brazil in telegram. https://telegram.me/fedorabr
Fedora Brazil in telegram.

https://telegram.me/fedorabr



All systems go
New status good: Everything seems to be working. for services: Fedora Wiki, Fedora People, Zodbot IRC bot, The Koji Buildsystem, Darkserver, Tagger, Package Database, Fedora pastebin service, Blockerbugs, Badges, FedoraHosted.org Services, Mirror Manager, Koschei Continuous Integration, Ipsilon, Mirror List, Fedora Infrastructure Cloud, Account System, Package maintainers git repositories, Fedora websites, Documentation website, COPR Build System, Package Updates Manager, Ask Fedora, Fedora Packages App, FreeMedia, Fedora Messaging Bus, Fedora elections, Mailing Lists, Fedora Calendar
Minor service disruption
New status minor: Unknown network outage occured for services: Fedora Wiki, Fedora People, Zodbot IRC bot, The Koji Buildsystem, Darkserver, Tagger, Package Database, Fedora pastebin service, Blockerbugs, Badges, FedoraHosted.org Services, Mirror Manager, Koschei Continuous Integration, Ipsilon, Mirror List, Fedora Infrastructure Cloud, Account System, Package maintainers git repositories, Fedora websites, Documentation website, COPR Build System, Package Updates Manager, Ask Fedora, Fedora Packages App, FreeMedia, Fedora Messaging Bus, Fedora elections, Mailing Lists, Fedora Calendar
Major service disruption
New status major: Network disruption to main datacenter for services: Fedora Wiki, Fedora People, Zodbot IRC bot, The Koji Buildsystem, Darkserver, Tagger, Package Database, Fedora pastebin service, Blockerbugs, Badges, FedoraHosted.org Services, Mirror Manager, Koschei Continuous Integration, Ipsilon, Mirror List, Fedora Infrastructure Cloud, Account System, Package maintainers git repositories, Fedora websites, Documentation website, COPR Build System, Package Updates Manager, Ask Fedora, Fedora Packages App, FreeMedia, Fedora Messaging Bus, Fedora elections, Mailing Lists, Fedora Calendar
PHP on the road to the 7.1.0 release

Version 7.1.0beta1 is released. It's now enter the stabilisation phase for the developpers, and the test phase for the users.

RPM are available in the remi-php71 repository for Fedora  23 and Enterprise Linux  6 (RHEL, CentOS) and as Software Collection in the remi-safe repository.

 

emblem-important-4-24.pngThe repository provides developement versions which are not suitable for production usage.

Also read:

emblem-notice-24.pngInstallation : read the Repository configuration or the Configuration Wizard and choose installation mode.

Replacement of default PHP by version 7.1 installation (simplest):

yum-config-manager --enable remi-php71
yum update php\*

Parallel installation of version 7.1 as Software Collection (x86_64 only, recommended for tests):

yum install php71

emblem-important-2-24.pngTo be noticed :

  • EL7 rpm are build using RHEL-7.2
  • EL6 rpm are build using RHEL-6.8
  • various extensions are also available, see the PECL extension RPM status page
  • follow the comments on this page for update until final version.

emblem-notice-24.pngInformations, lire :

Base packages (php)

Software Collections (php70)

New "remi-php71" repository

I've just open the remi-php71 repository for Fedora ≥ 23 and Enterprise Linux ≥ 6.

Current version is PHP 7.1.0beta1 with about 75 extensions which are already compatible.

emblem-important-4-24.pngThis repository provides developement versions which are not suitable for production usage.

The repository configuration is provided by the latest version of the remi-release package:

  • remi-release-23-4.fc23.remi
  • remi-release-24-2.fc24.remi
  • remi-release-6.8-1.el6.remi
  • remi-release-7.2-1.el7.remi

emblem-notice-24.pngAs for other remi's repositories, it is disabled by default, so the update is an administrator choice.

E.g. to update the PHP system version:

yum --enablerepo=remi update remi-release
yum --enablerepo=remi-php71 update php\*

emblem-important-2-24.pngAs some extensions are not yet available, the update may fail, in this case you have to remove not yet compatible extensions, or wait for their update.

PHP 7.1 as Software Collection stay in "remi-safe" as there is no conflicts with the base packages.

Arrancamos con el temario de la LPIC
Hace un tiempo se me pasaba por la cabeza llevar a acabo los exámenes de la LPIC para obtener bajo papel mi conocimiento sobre Linux, y desde entonces no he parado de darle vueltas hasta llegar a sentarme y ponerme a ello. A finales de este año, espero al menos obtener LPIC 1 y 2.

Para quiénes no sepan que es la LPIC (Linux Professional Institute Certification), son unas certificaciones ofertadas por la LPI, la Linux Professional Institute. Una organización sin ánimo de lucro fundada en Canadá en diciembre del 1999 que trata de impulsar la tecnología Linux, Software Libre y de Open Source mediante los programas de certificación.

LPI logo, obtenido de LinkedIN
La diferencia de este programa frente a las certificaciones de Red Hat o Novell, es que se encuentra dirigida a todas las distribuciones Linux. No solo a los productos de Red Hat como RHEL (Red Hat Enterprise Linux); o Novell con SUSE por poneros un ejemplo.

Este programa de certificación está compuesto por 3 niveles:
  • LPIC-1: Compuesta por dos exámenes 101 y 102 en el que obtienes nivel Junior. 
  • LPIC-2: Como LPIC-1, son dos exámenes 201 y 202, por el cuál obtienes el nivel Intermedio.
  • LPIC-3: Este nivel sin embargo, está compuesto por 3 exámenes, siendo el último escalón del programa y recibirías el nivel de Senior.
En cuánto a los exámenes, según el libro Preparación para la certificación LPIC-I de la editorial Eni, pueden ser en español pero cabe la posibilidad de que tengas que realizar el examen en inglés. Y el tiempo del examen es de 90 minutos en los que no se podrá salir del aula o zona habilitada para ello.

Este pueden contener 3 tipos de respuestas para las preguntas que se les hace:
  • Única respuesta para dar (Escrita o introducida)
  • Examen tipo test con una única respuesta correcta.
  • Tipo test con varias respuestas posibles.
Hay que aprobar el examen con un procentaje del 60%. Y se puede hacer tanto en un equipo como en un papel. Si es a través de un ordenador, se sabe el resultado de inmediato, pero en caso de ser en papel, la respuesta tardará en un periodo de tres a cinco semanas. Si se suspende un examen, se tiene una oportunidad gratuita.

Estos exámenes conllevan un precio que supongo que varía según el centro asociado en el que te examinas. Por ejemplo en PUE Barcelona tiene un costo/examen de 226€ + (21%) IVA y gastos de administración incluidos, puedes buscar tu centro desde aquí. Y como me dijo el responsable de turno de LPI en España, se puede llevar a cabo los dos exámenes, a pesar de no saber la nota del primero.

Cuando finalices cada uno de estos niveles, obtendrás una certificación independiente que respalda tus conocimientos sobre el amplio abanico de distribuciones del mercado como por ejemplo:
  • Trabajar en línea con los comandos Linux
  • Ejecutar tareas de mantenimiento desde las más sencillas hasta las más complejas
    Tux la mascota de Linux.
    Imagen obtenida de Wikipedia.
  • Gestionar usuarios y grupos desde GUI o línea de comandos
  • Instalar y configurar una estación de trabajo
  • Diseñar, instalar, mantener y dotar de seguridad a sistemas Linux
  • Gestionar servidores
  • Trabajar con FTP, LDAP, SSH, PAM...
  • Gestionar systemd
  • Automatizar tareas
Y mucho más

En caso de que se animen ha hacerlo, que sepan que el temario está descentralizado, es decir, tienes la posibilidad de elaborarte tus propios apuntes en base a los objetivos de cada examen ya que no es obligado adquirir un libro. Y si te gusta seguir un curso tutorizado, hay academias que imparten cursos formativos de los distintos niveles de LPIC incluyendo bonos, ofertas..etc, pero obviamente ya encarece el precio llegando hasta los 1000€ por nivel.

Como estoy haciendo con CCNA, iré publicando contenidos relacionados con la LPIC, los cuáles contendrán la palabra clave LPIC.

Referencias

PhantomJS 2.1.1 in Ubuntu different from upstream

For some time now I've been hitting PhantomJS #12506 with the latest 2.1.1 version. The problem is supposedly fixed in 2.1.0 but this is not always the case. If you use a .deb package from the latest Ubuntu then the problem still exists, see Ubuntu #1605628.

It turns out the root cause of this, and probably other problems, is the way PhantomJS packages are built. Ubuntu builds the package against their stock Qt5WebKit libraries which leads to

$ ldd usr/lib/phantomjs/phantomjs | grep -i qt
    libQt5WebKitWidgets.so.5 => /lib64/libQt5WebKitWidgets.so.5 (0x00007f5173ebf000)
    libQt5PrintSupport.so.5 => /lib64/libQt5PrintSupport.so.5 (0x00007f5173e4d000)
    libQt5Widgets.so.5 => /lib64/libQt5Widgets.so.5 (0x00007f51737b6000)
    libQt5WebKit.so.5 => /lib64/libQt5WebKit.so.5 (0x00007f5171342000)
    libQt5Gui.so.5 => /lib64/libQt5Gui.so.5 (0x00007f5170df8000)
    libQt5Network.so.5 => /lib64/libQt5Network.so.5 (0x00007f5170c9a000)
    libQt5Core.so.5 => /lib64/libQt5Core.so.5 (0x00007f517080d000)
    libQt5Sensors.so.5 => /lib64/libQt5Sensors.so.5 (0x00007f516b218000)
    libQt5Positioning.so.5 => /lib64/libQt5Positioning.so.5 (0x00007f516b1d7000)
    libQt5OpenGL.so.5 => /lib64/libQt5OpenGL.so.5 (0x00007f516b17c000)
    libQt5Sql.so.5 => /lib64/libQt5Sql.so.5 (0x00007f516b136000)
    libQt5Quick.so.5 => /lib64/libQt5Quick.so.5 (0x00007f5169dad000)
    libQt5Qml.so.5 => /lib64/libQt5Qml.so.5 (0x00007f5169999000)
    libQt5WebChannel.so.5 => /lib64/libQt5WebChannel.so.5 (0x00007f5169978000)

While building from the upstream sources gives

$ ldd /tmp/bin/phantomjs | grep -i qt

If you take a closer look at PhantomJS's sources you will notice there are 3 git submodules in their repository - 3rdparty, qtbase and qtwebkit. Then in their build.py you can clearly see that this local fork of QtWebKit is built first, then the phantomjs binary is built against it.

The problem is that these custom forks include additional patches to make WebKit suitable for Phantom's needs. And these patches are not available in the stock WebKit library that Ubuntu uses.

Yes, that's correct. We need additional functionality that vanilla QtWebKit doesn't have. That's why we use custom version.

Vitaly Slobodin, PhantomJS

At the moment of this writing Vitaly's qtwebkit fork is 28 commits ahead and 39 commits behind qt:dev. I'm surprised Ubuntu's PhantomJS even works.

The solution IMO is to bundle the additional sources into the src.deb package and use the same building procedure as upstream.

July 22, 2016

Festival une arte e tecnologia

Festival Internacional de Linguagem Eletrônica

Festival une arte e tecnologia

Festival une arte e tecnologia Robinson, obra de Taiwan e Reino Unido, possui várias expressões faciais que mudam de acordo com a narrativa de uma história contata ao fundo.

No mês de Julho a cidade de São Paulo recebe mais uma edição da File (Festival Internacional de Linguagem Eletrônica), mostra mais de obras que unem a arte e a tecnologia, como instalações, projeções, video-arte, animações, games e mídias para os óculos 3d. Além da exibição interna, o prédio da Fiesp, na Av Paulista, onde acontece o evento, é iluminado pro projeções todas as noites com video-artes que dialogam com a proposta do evento.

Trazer para uma via de ampla circulação um evento gratuito com o que é de mais atual no meio da arte é sempre extraordinário. As obras procuram trazer novas visões para a tecnologia, menos utilitarista e hierárquica, mas sempre conversando com seu fator efêmero dos eletrônicos na era contemporânea. Mas o mais interessante é a quantidade de obras interativas: o contato não se limita às grandes televisões que formavam corredores no salão com controles e puffs para o publico jogar o que tem de mais original no mercado de games alternativos, alguns com óculos 3d e fones. Grandes objetos coloridos e barulhentos vindos do outro lado do oceano pediam para serem manipulados. Até uma máquina de Pinball totalmente digital estava disponível aos visitantes, e um óculos 3d que nos leva para dentro das pinturas de Van Gogh.

Festival une arte e tecnologia Podia ser nossa amizade, mas você não colabora: The Indivisible veio do Japão e projeta píxels coloridos por uma parede

Uma das obras que mais chavama a atenção era a TAPE, que transpassava as paredes do evento e corria pelo lado externo do prédio. Era uma teia feita de fita adesiva, formando duto por onde era possível caminhar. A atração feita por artistas croatas e austríacos era cercada por uma extensa fila de pessoas ávidas a passear por ela.

Outra atração concorrida era "Be boy Be girl", obra holandesa que nos levava a uma praia através de óculos 3d, fones, aquecedores e uma leve brisa marinha feita por um ventilador enquanto deitamos em uma espreguiçadeira. Ao iniciar a atividade, podemos escolher se queremos um corpo feminino ou masculino, o qual teremos a impressão de nos pertencer durante o procedimento.

Além das obras puramente interativas, a exposição também conta com animações, video-arte e uma galeria de gifs. Aos domingos, conta também com shows musicais brasileiros, como a cantora Érica Alves. Alguns workshops também estarão acontecendo, consulte a programação no site.

O evento está em sua 17ª edição me pareceu ligeiramente menor do que a edição do ano passado. O site do evento também traz seu catalogo de obras, porem tem uma navegação difícil, o que é bem irônico. O catálogo físico pode ser adquirido na loja ao lado do salão de exposição por 30 golpes.

Festival une arte e tecnologia Kalenjdoskop é uma obra alemã e que muda de cor ao ser tocada.

Evento

FILE 2016 – Festival Internacional de Linguagem Eletrônica
12 de julho a 28 de agosto

Galeria de Arte do SESI-SP | Centro Cultural Fiesp – Ruth Cardoso
Avenida Paulista, 1.313 – em frente à estação Trianon-Masp do Metrô

Diariamente, das 10h às 20h (entrada até às 19h40)
Livre para todos os públicos. Entrada gratuita.
Mais informações no site www.file.org.br
Agendamentos de grupos: segunda a sexta, das 10h às 16h,
pelo telefone (11) 3146-7439
http://www.sesisp.org.br/cultura/exposicao/file-2016.html

Setting up a telnet handler for OpenStack Zuul CI jobs in GNOME 3

The OpenStack Zuul system has gone through some big changes recently, and one of those changes is around how you monitor a running CI job. I work on OpenStack-Ansible quite often, and the gate jobs can take almost an hour to complete at times. It can be helpful to watch the output of a Zuul job to catch a problem or follow a breakpoint.

New Zuul

In the previous version of Zuul, you could access the Jenkins server that was running the CI job and monitor its progress right in your browser. Today, you can monitor the progress of a job via telnet. It’s much easier to use and it’s a lighter-weight way to review a bunch of text.

Some of you might be saying: “It’s 2016. Telnet? Unencrypted? Seriously?”

Before you get out the pitchforks, all of the data is read-only in the telnet session, and nothing sensitive is transmitted. Anything that comes through the telnet session is content that exists in an open source repository within OpenStack. If someone steals the output of the job, they’re not getting anything valuable.

I was having a lot of trouble figuring out how to set up a handler for telnet:// URL’s that I clicked in Chrome or Firefox. If I clicked a link in Chrome, it would be passed off to xdg-open. I’d press OK on the window and then nothing happened.

Creating a script

First off, I needed a script that would take the URL coming from an application and actually do something with it. The script will receive a URL as an argument that looks like telnet://SERVER_ADDRESS:PORT and that must be handed off to the telnet executable. Here’s my basic script:

#!/bin/bash

# Remove the telnet:// and change the colon before the port
# number to a space.
TELNET_STRING=$(echo $1 | sed -e 's/telnet:\/\///' -e 's/:/ /')

# Telnet to the remote session
/usr/bin/telnet $TELNET_STRING

# Don't close out the terminal unless we are done
read -p "Press a key to exit"

I saved that in ~/bin/telnet.sh. A quick test with localhost should verify that the script works:

$ chmod +x ~/bin/telnet.sh
$ ~/bin/telnet.sh telnet://127.0.0.1:12345
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
Press a key to exit

Linking up with GNOME

We need a .desktop file so that GNOME knows how to run our script. Save a file like this to ~/.local/share/applications/telnet.desktop:

[Desktop Entry]
Version=1.0
Name=Telnet
GenericName=Telnet
Comment=Telnet Client
Exec=/home/major/bin/telnet.sh %U
Terminal=true
Type=Application
Categories=TerminalEmulator;Network;Telnet;Internet;BBS;
MimeType=x-scheme/telnet
X-KDE-Protocols=telnet
Keywords=Terminal;Emulator;Network;Internet;BBS;Telnet;Client;

Change the path in Exec to match where you placed your script.

We need to tell GNOME how to handle the x-scheme-handler/telnet mime type. We do that with xdg utilities:

$ xdg-mime default telnet.desktop x-scheme-handler/telnet
$ xdg-mime query default x-scheme-handler/telnet
telnet.desktop

Awesome! When you click a link in Chrome, the following should happen:

  • Chrome will realize it has no built-in handler and will hand off to xdg-open
  • xdg-open will check its list of mime types for a telnet handler
  • xdg-open will parse telnet.desktop and run the command in the Exec line within a terminal
  • Our telnet.sh script runs with the telnet:// URI provided as an argument
  • The remote telnet session is connected

The post Setting up a telnet handler for OpenStack Zuul CI jobs in GNOME 3 appeared first on major.io.

First round of Fedora 24 Updated Lives now available. (torrents expected later this week)

As noted by my colleague on his blog   the first round of  F24  Updated Lives are now available and carry the date 20160720, Also as mentioned last week on his blog F23 Respins are not  going to be actively made, however we and the rest of the volunteer team will field off-off requests as time and resources permit.  We are considering a new/second tracker for the Updated Spins but as of  today there are only  .ISO files available at https://alt.fedoraproject.org/pub/alt/live-respins [shortlink] F24 Live-Respins .  The F24 respins carry the 4.6.4-200 Kernel and roughly ~500M of updates since the Gold ISOs were released just 5 weeks ago.  (some ISOs have more updates, some less)

CHECKSUM512-20160720 is hosted on above link as well as on my  usual people space fedorapeople hosting

HASHSUM512-20160720 is also hosted on my  fedorapeople space tracker should be back up and running within the week.

Updates & Notables:

4.6.4-200 Kernel

 


Filed under: Community, F24, Fedora, Fedora 24 Torrents, PSAs, Volunteer Tagged: Fedora, Fedora 24, Fedora 24 Respins, Fedora 24 Torrents, Fedora Live Respins, Torrents
Video Thumbnail in Dolphin – Fedora 23/24

After a long, long, long time, finally I can view my videos thumbnails in Dolphin.

I reported a Bug in RPMFusion Bugzilla back in Januay 2016 and earlier this morning I got the surpise that it was Resolved!

I want to thank Leigh Scott for getting this done. I’m really happy about it, since I have lots and lots of videos and being able to look at a small thumbnail is really helpful.

So, to get the package installed, all you need to do is:

$sudo dnf install ffmpegthumbs

After that, just need to enable it in Dolphin by going to Preferences > Configure Dolphin > General > Previews > Video files (ffmpegthumbs) and that’s it!

Thanks again for making this happen.


How to set the hostname on Fedora

A Fedora system has a hostname that helps it identify and distinguish itself on a network. Sometimes this name appears as part of a fully qualified domain name (FQDN). A FQDN includes not just the system’s name, but the Internet domain, separated by periods (.).

Hostname conventions

To be valid, a hostname may only contain letters a-z, numerals 0-9, and dashes (-). An example is office-01. The FQDN for that machine might be office-01.example.com, where example.com is the domain.

Each Fedora system also has a special reserved name, localhost, which it sometimes uses to refer to itself. This may sound like overkill, but it’s useful. The localhost lets the system easily access services that it is providing itself. You may also see this reserved name as a FQDN in the form localhost.localdomain.

Setting the hostname

To set the name of a single, modern Fedora system such as a home computer that isn’t part of a network, use the hostnamectl command:

hostnamectl set-hostname new-name

Getting fancy

The hostnamectl utility distinguishes between three different kinds of names:

  1. The static name used by default at system bootup
  2. The transient name assigned by network configuration
  3. The pretty name which may be more descriptive, like “Mary’s living room laptop”

The pretty name isn’t limited to just the valid characters for static or transient name.

The command above sets all names to the same value. To set only one of them, use one or more of the options –static, –transient, or –pretty.

The static name is stored in the /etc/hostname file for later reference. You can also check the current status of all names with this command:

hostnamectl status

The utility tracks other information, such as icons that may be used to represent the system in graphical interfaces. For more information, check out this Freedesktop.org page.

Using Cockpit

You can also use Cockpit to control the hostname settings in your system, or a remote system. If you’re not familiar with Cockpit, check out this overview we published earlier. Cockpit allows you to set the system name with a point and click operation.

First, from the dashboard select System. Notice this dashboard refers to localhost, which is your local system itself.

Cockpit dashboard view - System

Select the Host Name to modify the current settings:

Cockpit - changing the system names


Image courtesy Travis Wise – originally posted to Flickr as Hello My Name Is.

My work on changing CirrOS images

What is CirrOS and why I was working on it? This was quite common question when I mentioned what I am working on during last weeks.

So, CirrOS is small image to run in a cloud. OpenStack developers use it to test their projects.

Technically it is yet another Frankenstein OS. Built using Buildroot 2015.05 uses uclibc or glibc (depending on target architecture). Then Ubuntu 16.04 kernel is applied on top and “grub” (also from Ubuntu) is used to make it bootable.

The problem was that it was not done in UEFI bootable way…

My first changes were: switch images to GPT, create EFI system partition and put some bootloader there. I first used CentOS “grub2-efi” packages (as they provided ready to use EFI binaries) and later switched to Ubuntu ones as upstream maintainer (Scott Moser) prefers to have all external binaries to came from one source.

When he was on vacations (so merge request had to wait) I started digging more and more into scripts.

Fixed getopt use as arguments passed between scripts were read partly via getopt, partially by assigning variables to ${X} (where X is a number).

All scripts were moved to use Bash (as /bin/sh in Ubuntu is usually Dash which is minimalist POSIX shell), whitespace got unified between all scripts and some other stuff happened as well.

At one moment all scripts had 1835 lines and my diff was 2250 lines (+1018/-603) long. Hopefully Scott was back and we got most of that stuff merged.

Recent (2016.07.21) images are available and work fine on all platforms. If someone uses them with OpenStack then please remember about setting “short_id” property to “ubuntu16.04” — otherwise there may be a problem with finding rootfs (no virtio-scsi in disk images).

Summary:

architecture booting before booting after
aarch64 direct kernel UEFI or direct kernel
arm direct kernel UEFI or direct kernel
i386 BIOS or direct kernel BIOS, UEFI or direct kernel
powerpc direct kernel direct kernel
ppc64 direct kernel direct kernel
ppc64le direct kernel direct kernel
x86-64 BIOS or direct kernel BIOS, UEFI or direct kernel
CCNA 5.0 Nivel 1 Capítulo 1
Buenos días,

Aquí os traigo los primeros apuntes de CCNA 5.0 en español del nivel 1 empezando por el capítulo 1. Para que puedan disfrutarlos e ir más directo a las cosas importantes. Ya que, desafortunadamente, este capítulo contiene mucha, pero que mucha información irrelevante para decorar lo importante.

Os hago un pequeño resumen para que entiendan que contiene este primer tema:

  • Evolución de los distintos modelos y tendencias de redes
  • Algunas formas de comunicación haciendo uso de redes
  • Escalamiento de redes, domésticas, SOHO, medianas y/o grandes y mundiales
  • Ejemplos de redes compartidas
  • Equipos servidor y/o cliente
  • Redes punto a punto
  • Categorías de componentes de infraestructuras de red
  • Ejemplo de dispositivos de red como switches, routers...
  • Criterios de selección de medios de red
  • Tipos de diagramas
  • Y mucho más...
Para descargarlo, tenéis acceso a dos repositorios de git llamados #ptlabs. Tengo un archivo CHANGELOG que registra todos los cambios del repositorio, es decir, si hay alguna modificación de alguna errata, información extra...etc queda registrado en él.

También he añadido un fichero CHECKSUM para que puedan ustedes comprobar la integridad del archivo en caso de que se os haya descargado mal, saberlo fehacientemente.
Recuerden que si queréis practicar con el software Packet Tracer y no os arranca el programa, pueden optar por utilizar mi script válido para openSUSE Leap, Debian, Fedora y Gentoo.
Make your Gnome title bar smaller – Fedora 24 update

I wrote similar post before about making the massive title bar in Gnome smaller. But it doesn’t work anymore in Fedora 24!

Don’t worry, I have created an update for you – so you can enjoy more space on your desktop again!

gnome-window-title-barAll you need to do is to put the following css code into ~/.config/gtk-3.0/gtk.css

window.ssd headerbar.titlebar {
    padding-top: 4px;
    padding-bottom: 4px;
    min-height: 0;
}

window.ssd headerbar.titlebar button.titlebutton {
    padding: 0px;
    min-height: 0;
    min-width: 0;
}
All systems go
New status good: Everything seems to be working. for services: Fedora Infrastructure Cloud, COPR Build System
PHP version 5.5.38, 5.6.24 and 7.0.9

RPM of PHP version 7.0.9 are available in remi-php70 repository for Fedora and Enterprise Linux (RHEL, CentOS).

RPM of PHP version 5.6.24 are available in remi repository for Fedora ≥ 21 and  remi-php56 repository for Enterprise Linux.

RPM of PHP version 5.5.38 are available in remi-php55 repository for Enterprise Linux.

emblem-important-2-24.pngPHP version 5.5 have reached its end life. Version 5.5.38 is the last update. So it is important to plan an upgrade to version 5.6 or 7.0.

emblem-important-2-24.pngPHP version 5.4 have reached its end of life and is no longer maintained by the project. Given the very important number of downloads by the users of my repository the version is still available in  remi repository for Enterprise Linux (RHEL, CentOS...) and includes  security fix (from version 5.5.38). The upgrade to a maintained version is strongly recommended.

These versions are also available as Software Collections.

security-medium-2-24.pngThese versions fix some security bugs, so update is strongly recommended.

Version announcements:

emblem-important-2-24.png 5.5.27 release was the last planned release that contains regular bugfixes. All the consequent releases contain only security-relevant fixes, for the term of one year (July 2016).

emblem-notice-24.pngInstallation : use the Configuration Wizard and choose your version and installation mode.

Replacement of default PHP by version 7.0 installation (simplest):

yum-config-manager --enable remi-php70
yum update

Parallel installation of version 7.0 as Software Collection (x86_64 only):

yum install php70

Replacement of default PHP by version 5.6 installation (simplest):

yum-config-manager --enable remi-php56
yum update

Parallel installation of version 5.6 as Software Collection (x86_64 only):

yum install php56

Replacement of default PHP by version 5.5 installation (simplest):

yum-config-manager --enable remi-php55
yum update

Parallel installation of version 5.5 as Software Collection (x86_64 only):

yum --enablerepo=remi install php55

And soon in the official updates:

emblem-important-2-24.pngTo be noticed :

  • EL7 rpm are build using RHEL-7.2
  • EL6 rpm are build using RHEL-6.8
  • a lot of new extensions are also available, see the PECL extension RPM status page

emblem-notice-24.pngInformation, read:

Base packages (php)

Software Collections (php55 / php56 / php70)

There are scheduled downtimes in progress
New status scheduled: Infra cloud update in progress for services: Fedora Infrastructure Cloud, COPR Build System
Fedora - Checking boot time, verify journal log, calculate journal log size and clean logs
$ systemd-analyze
Startup finished in 1.569s (kernel) + 5.077s (initrd) + 1min 36.483s (userspace) = 1min 43.131s

$ systemd-analyze blame
1min 8.481s plymouth-quit-wait.service
51.288s dnf-makecache.service
10.577s systemd-udev-settle.service
9.210s dev-sdb6.device
8.583s systemd-journal-flush.service
8.491s libvirtd.service
7.880s firewalld.service

$ journalctl --disk-usage
Archived and active journals take up 656.1M on disk.

$ du -sh /var/log/journal
657M /var/log/journal

$ journalctl --verify
000000: Invalid tail monotonic timestamp
File corruption detected at /var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/user-1000@e19a1761a0fc4727890e4fa88254cb1f-0000000000000786-0005359d746a34ff.journal:6502ed0 (of 109051904 bytes, 97%).
FAIL: /var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/user-1000@e19a1761a0fc4727890e4fa88254cb1f-0000000000000786-0005359d746a34ff.journal (Bad message)
PASS: /var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/system@08b143a153724281a97d3e93b86c3eef-0000000000000001-0005373c30e6e1be.journal
PASS: /var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/system@0005341267b01ae6-23ce9c5d42e3dba7.journal~
PASS: /var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/system@0005341ebbbf8870-02b44febe18a6235.journal~
5aa8278: Unused data (entry_offset==0)
PASS: /var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/user-1000@0005345c23726fd6-d4b9e97e2b2c7246.journal~
PASS: /var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/system@0005345c1bfe8603-b0df6d6afd47b76d.journal~
PASS: /var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/system@0005370259dbb3e2-cdd6e212043dc4bf.journal~
PASS: /var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/system@0005357801a4efc4-2a7a09659026f270.journal~
PASS: /var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/user-1000.journal
000000: Invalid tail monotonic timestamp
File corruption detected at /var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/system@000537357ccb5cc8-168a8bb731df29f9.journal~:ee6b38 (of 16777216 bytes, 93%).
FAIL: /var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/system@000537357ccb5cc8-168a8bb731df29f9.journal~ (Bad message)
PASS: /var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/user-1000@0005359d7468c197-df87dd623a6a7deb.journal~
PASS: /var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/system.journal
PASS: /var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/system@0005341ec7e54f38-1ff1cfcb111bc56b.journal~
PASS: /var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/user-1000@0005357804ffa241-e7dc957cecea3ba5.journal~
PASS: /var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/system@0005359d6fa407a3-8e3c6afba238749a.journal~
PASS: /var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/system@000533ab149fbd05-2893f465d26bbe5a.journal~

$ ls /var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/*
/var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/system@000533ab149fbd05-2893f465d26bbe5a.journal~
/var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/system@0005341267b01ae6-23ce9c5d42e3dba7.journal~
/var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/system@0005341ebbbf8870-02b44febe18a6235.journal~
/var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/system@0005341ec7e54f38-1ff1cfcb111bc56b.journal~
/var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/system@0005345c1bfe8603-b0df6d6afd47b76d.journal~
/var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/system@0005357801a4efc4-2a7a09659026f270.journal~
/var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/system@0005359d6fa407a3-8e3c6afba238749a.journal~
/var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/system@0005370259dbb3e2-cdd6e212043dc4bf.journal~
/var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/system@000537357ccb5cc8-168a8bb731df29f9.journal~
/var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/system@08b143a153724281a97d3e93b86c3eef-0000000000000001-0005373c30e6e1be.journal
/var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/system.journal
/var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/user-1000@0005345c23726fd6-d4b9e97e2b2c7246.journal~
/var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/user-1000@0005357804ffa241-e7dc957cecea3ba5.journal~
/var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/user-1000@0005359d7468c197-df87dd623a6a7deb.journal~
/var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/user-1000@e19a1761a0fc4727890e4fa88254cb1f-0000000000000786-0005359d746a34ff.journal
/var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/user-1000.journal

$ sudo rm -rf /var/log/journal/0cfa1379b4e94fd4bd1cdc4bb20a8a25/*


July 21, 2016

PXCAB

A long time ago (2007 or 2008) I was developing firmware for Cell processor based systems. Most of the Slimline Open Firmware (SLOF) has been released and is also available in Fedora as firmware for QEMU: SLOF.

One of the systems we have been developing firmware for was a PCI Express card called PXCAB. The processor on this PCI Express card was not the original Cell processor but the newer PowerXCell 8i which has a much better double precision floating point performance. A few weeks ago I was able to get one of those PCI Express cards in a 1U chassis:

PXCAB

This chassis was designed to hold two PXCABs: one running in root complex mode and the other in endpoint mode. That way one card was the host system and the other the PCI express connected device. This single card is now running in root complex mode.

I can boot a kernel either via TFTP or from the flash. As writing the flash takes some time I am booting it right now via TFTP. Compiling the latest kernel from git for PPC64 is thanks to the available cross compiler (gcc-powerpc64-linux-gnu.x86_64) no problem: make CROSS_COMPILE=powerpc64-linux-gnu- ARCH=powerpc.

The more difficult part was to compile user space tools but fortunately I was able to compile it natively on a PPC64 system. With this minimal busybox based system I can boot the system and chroot into a Fedora 24 NFS mount.

I was trying to populate a directory with a minimal PPC64 based Fedora 24 system with following command:

dnf --setopt arch=ppc64 --installroot $PWD/ppc64 install dnf --releasever 24

Unfortunately that does not work as there currently seems to be no way to tell dnf to install the packages for another architecture. I was able to download a few RPMs and directly install them with rpm using the option --ignorearch. In the end I also installed the data for the chroot on my PPC64 system as that was faster and easier.

Now I can boot the PXCAB via TFTP into the busybox based ramdisk and from there I can chroot in to the NFS mounted Fedora 24 system.

The system has one CPU with two threads and 4GB of RAM. In addition to the actual RAM there is also 256MB of memory which can be accessed as a block device using the axonram driver. My busybox based ramdisk is copied to that ramdisk and thus freeing some more actual RAM:

# df -h
Filesystem         Size    Used Available Use% Mounted on
/dev/axonram0    247.9M   15.6M    219.5M   7% /

System information from the firmware:

SYSTEM INFORMATION
 Processor  = PowerXCell DD1.0 @ 2800 MHz
 I/O Bridge = Cell BE companion chip DD3.0
 Timebase   = 14318 kHz (external)
 Config     = SMP disabled
 SMP Size   = 1 (2 threads)
 Boot-Date  = 2016-07-21 19:37
 Memory     = 4096MB (CPU0: 4096MB)
Fedora Badges & Creative Freedom

During my first week of this internship, the first design that I tackled was one of the famed “Fedora Badges” and now about seven weeks, they are one of my favorite things to design. Since my first badge design, I’ve worked on quite a few badges and badge-related designs (and received a few badges along the way *mini happy dance* which was pretty cool too!).

These badges really are, at least for me, a great test of my ability to design and of my general creativity. With the badges being small in size (typically 5opxX50px) and needing to convey a strong message while still keeping true to the Fedora style and spirit, badges can take a lot of though but I truly feel like designing them has strengthened my skill set. Having a happy medium between strict guidelines and complete creative liberty is a very comfortable place for me as a designer, and these badges fit that bill nicely:)

So here’s a few of my favorite badges that I’ve designed throughout the weeks:

1.) “You Suggested a Flock 2016 Location”

badge_ticket#199_attempt2_revised1

2.) “You Attended the Flock 2016 Brewery & Boat Party!”

badge ticket #465_attempt 2.5

3.) “You Participated in Fedora 24 Internationalization Test Day” (this one is still in-progres)

badge ticket #446_attempt 1

 


Using modern gettext

gettext has seen quite some enhancements in recent years, after Daiki Ueno started maintaining it. It can now extract (and merge back) strings from diverse file formats, including many of the formats that are important for desktop applications. With gettext 0.19.8, there is really no need  anymore to use intltool or GLib’s dated gettext glue (AM_GLIB_GNU_GETTEXT and glib-gettextize).

Since intltool still sticks around in quite a few projects, I thought that I should perhaps explain some of the dos and don’ts for how to get by with plain gettext. Javier Jardon has been tirelessly fighting a battle for using upstream gettext, maybe this will help him reaching the finish line with that project.

Extracting strings

xgettext is the tool used to extract strings from sources into .pot files.

In addition to programming languages such as C, C++, Java, Scheme, etc, it recognizes the following files by their typical file extensions (and it is smart enough to disregard a .in extension):

    • Desktop files: .desktop
    • GSettings schemas: .gschema.xml
    • GtkBuilder ui files: .ui
    • Appdata files: .appdata.xml and .metainfo.xml

You can just add these files to POTFILES.in, without the extra type hints that intltool requires.

One important advantage of xgettext’s xml support, compared to intltool, is that you can install .in files that are valid; no more tag mutilation like <_description> required.

Merging translations

The trickier part is merging translations back into the various file formats. Sometimes that is not necessary, since the file has a reference to the gettext domain, and consumers know to use gettext at runtime: that is the case for GSettings schemas and GtkBuilder ui files, for example.

But in other cases, the translations need to be merged back into  the original file before installing it. In these cases, the original file from which the strings are extracted often has an extra .in extension. The tool that is doing this task is msgfmt.

Intltool installs autotools glue which can define make rules for many of these cases, such as @INTLTOOL_DESKTOP_RULE@. Gettext does not provide this kind of glue, but the msgfmt tool is versatile enough that you can write your own rules fairly easily, for example:

%.desktop: %.desktop.in
        msgfmt --desktop -d $(top_srcdir)/po \
               --template $< -o $@

Extending gettext

Gettext can be extended to understand new xml formats. To do so, you install .its and .loc files. The syntax for these files is explained in detail in the gettext docs. Libraries are expected to install these files for ‘their’ formats (GLib and GTK+ already do, and  PolicyKit will do the same soon.

If you don’t want to wait for your favorite format to come with built-in its support, you can also include its files with your application; gettext will look for such files in $XDG_DATA_DIRS/gettext/its/.

 

All systems go
New status good: Everything seems to be working. for services: Fedora Wiki, Fedora People, Zodbot IRC bot, The Koji Buildsystem, Darkserver, Tagger, Package Database, Fedora pastebin service, Blockerbugs, Badges, FedoraHosted.org Services, Mirror Manager, Koschei Continuous Integration, Ipsilon, Mirror List, Fedora Infrastructure Cloud, Account System, Package maintainers git repositories, Fedora websites, Documentation website, COPR Build System, Package Updates Manager, Ask Fedora, Fedora Packages App, FreeMedia, Fedora Messaging Bus, Fedora elections, Mailing Lists, Fedora Calendar
Major service disruption
New status major: Datacenter has network issues, being looked into. for services: Fedora Wiki, Fedora People, Zodbot IRC bot, The Koji Buildsystem, Darkserver, Tagger, Package Database, Fedora pastebin service, Blockerbugs, Badges, FedoraHosted.org Services, Mirror Manager, Koschei Continuous Integration, Ipsilon, Mirror List, Fedora Infrastructure Cloud, Account System, Package maintainers git repositories, Fedora websites, Documentation website, COPR Build System, Package Updates Manager, Ask Fedora, Fedora Packages App, FreeMedia, Fedora Messaging Bus, Fedora elections, Mailing Lists, Fedora Calendar
Fedora APAC FAD KL 2016



Fedora APAC budget panning FAD 2016 was held on 9th-10th of July 2016 in Malaysia. I was there with Fedora ambassadors from other countries within APAC region.



Planning for Fedora activities for the period of March 2017 - February 2018 and also APAC budget planning for the same period were the main goals of the event.



We had a discussion on ways to increase Fedora reach and also regional issues as well. One of the issue discussed on first day was few people tend to ignore the reporting and complete the reimbursement process though its done by very few people within the community. If you asked someone to purchase a flight ticket or/and do a hotel reservation, you must write the report within two weeks instead of the person who paid, chasing you all the time. For those who ignore the procedure should not get sponsored next time.

There was a discussion on producing quality swags by with the support of design team.  It was really good to make awareness on standard and common mistakes done by printers and also what information we should pass to design team when we request an art work.



Then increase our participation at Flock was next topic and we discussed about FUDCon bidding as a part of main topic. Finally we agreed to host the FUDCon every two years as its really important to us, yes we won't stop it.

Going forward we do not follow the usual bidding system though we prefer to collectively select a country/community to increase Fedora reach. But still interested parties who willing to host the event from such regions where there was no FUDcon hosted before, can show their interest of hosting FUDCon.  And also we plan to announce next FUDCon location at the end of each FUDCon.

Everyone agreed on hosting Fedora APAC budget planning FAD just two days before the FUDCon on the same country in order to reduce specially the travel budget and some other expenses.

After first day of the event Izhar host a dinner with his family. We enjoyed Malay food and there was a cake cutting for Tuan's birth day.


Dinner at Izhar's place

 with Izhar's family after dinner. :)

Late birth day celebration of Tuan

I would like to thank Izhar for organizing the event and his company offered to office space to host the event. It was really convenient for us, specially I had to work overnight to finish some of my office work.

Working late night from Izhar's office to provision bunch of servers 
GPG, Smartcard and ssh

This blog posts shows how to tweak Fedora, if you want to use a smartcard with OpenPGP and use it also as a ssh key. It also serves me as a recipe for fresh installations.

First, you have to disable gnome-keyring-ssh by:
$ cp /etc/xdg/autostart/gnome-keyring-ssh.desktop $HOME/.config/autostart
$ echo "Hidden=true" >> $HOME/.config/autostart/gnome-keyring-ssh.desktop

Because the pcscd daemon does not play nicely with scdaemon from gpg, we have two options.

  1. disable pcscd completely (recommended) by
    $ sudo systemctl mask --now pcscd.socket
    $ sudo systemctl mask --now pcscd.service
  2. or $HOME/.gnupg/scdaemon.conf with
    pcsc-driver /usr/lib64/libpcsclite.so.1
    disable-ccid

In $HOME/.gnupg/gpg.conf “use-agent” should be enabled (should be the default anyway).

$HOME/.gnupg/gpg-agent.conf should have:
enable-ssh-support

To point ssh to the gpg-agent my .bashrc contains the line:
unset SSH_AGENT_PID
export SSH_AUTH_SOCK=$HOME/.gnupg/S.gpg-agent.ssh

Relogin or reboot to get rid of gnome-keyring-ssh.

Now gpg2 --card-status and ssh-add -L should work as expected:

$ gpg2 --card-status
Reader ...........: 1050:0116:X:0
Application ID ...: D2760001240102000006045502760000
Version ..........: 2.0
Manufacturer .....: Yubico
Serial number ....: XXXX
Name of cardholder: Harald Hoyer
Language prefs ...: de
Sex ..............: male
URL of public key : hkp://pool.sks-keyservers.net
Login data .......: [not set]
Signature PIN ....: forced
Key attributes ...: rsa2048 rsa2048 rsa2048
Max. PIN lengths .: 127 127 127
PIN retry counter : 3 3 3
Signature counter : 23
Signature key ....: 8745 5B0B B9F9 CDC3 619D C4FE 7BDB F42F AF81 54A2
created ....: 2016-07-11 18:25:14
Encryption key....: 380C 0F4C A077 779A D4D4 93D6 F3FC E22D CDB8 95CB
created ....: 2016-07-11 18:25:14
Authentication key: 8D02 04DF 42FC 2133 8356 DDFB EB09 2344 9913 9572
created ....: 2016-07-11 18:25:14
General key info..: [none]

$ ssh-add -L
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCSMiUCfHXItvZuUP3xO7hjIBukVl9cILSjSapM8WNS8IdyJJrZE00fy30jUwxCeCzSGDMi3WwLlAby99jVyTRgdxb5qHPWaT0k7MmkWLs9vydpZBLLeeyS3KQBrGcwrIA0h0p7A1kCXesiVL6cQCsGMxfQf1YWFBaL5VamXxpfSmz6ia8BEtQJjhJ2NpsyAuAJEs2dPdc5xn/ZRbY+pHV8ruoK0JJdH3c/us6rbrNHKfGnkE5anbKNoMposie3ADjc5ElEFjfAmJ7WxFGvRHA5P51B3jcjSYx4YQvUGq3sW3AhBjfD9VuBIjXDR6B6PKNZSAesWjatTA4fJY1mcw1x cardno:000604550276

To forward your gpg-agent and ssh-agent to remote machines, I add the following lines to my .ssh/config:
RemoteForward /home/harald/.gnupg/S.gpg-agent /home/harald/.gnupg/S.gpg-agent
RemoteForward /home/harald/.gnupg/S.gpg-agent3 /home/harald/.gnupg/S.gpg-agent3
StreamLocalBindUnlink yes
ForwardAgent yes

OpenSSH has a bug, so that StreamLocalBindUnlink yes does not work in the client configuration and thus, you have to add that option to the remote server /etc/ssh/sshd_config

A Moment to Cherish

It was June when I was interviewed by opensource.com for my Opensource (FOSS) journey and Summer training in Dgplug.

https://opensource.com/life/16/6/how-community-taught-me-code

Heartfelt Thanks to my family, mentors and friends I have come across so far!

Definitely a moment that I would love to cherish for lifelong:).

Contributions:  https://github.com/trishnaguha  https://pagure.io/user/trishnag

<script async="async" charset="utf-8" src="https://platform.twitter.com/widgets.js"></script>


Search for Code in Pagure

I was trying to get into code search in Pagure, thing that I land up on got really interesting and amazing.  If you want to have a code searching mechanism in your website you need to look into something called Indexing.

The way search happens in some E-commerce sites like Amazon or be it the search happening on Google, with Google its web scrapping and then indexing on the results. The point being the response time , while you are searching for something you get results in few microseconds.

Now imagine going through such a huge database and going through them in few micro second how much ever power you have but what you need is a clever way to manage it. I was looking at a CS50 video in which Mark Zuckerberg was telling about how he managed his DB, the first architectural design he took was have different MySql instance for different school so that they reduce time taken to search and form relation.

That was a really clever move.

While I was searching for ways to have code search feature on Pagure, I landed up on a pyhton based library called Whoosh. It blew me off with the way it was doing its searches and maintaining the database. I actually looked for a lot for tutorials on how one can understand indexing.

I landed up on Building Search Engines using Python and the way he explained things like N-grams , edge N-grams and how different files store different index words with the frequency and path to documents. I am yet to analyze git grep v/s whoosh.

While I was going through whoosh I saw that it has performance issues and then I started contemplating on the fact that if search is not fast enough then there is no point in having it. I actually looked into HyperKitty I figured out they were using Whoosh before and I assumed even they suffered form performance issues or may be because Django introduce Haystack . As the name suggest you can also use this to find the needle in haystack.

Yeah! you are right, I started looking for Haystack in Flask and I found Flask-whoosh. Again the draw back I had was it use to search through databases and not files, where as my application was to search through files on the system

There came the xapian there are a lot of core concepts involved while using or writing utilities in xapian. I went through the documentation for Xapian. They have covered a lot of concepts and have given examples of it, the bottleneck still persist when it comes to file searching and performance. I found a nice application Building Document Search which might give me some hope but still a lot of work is required there.

The whole concept being you need to do two things on a really high level:

  1. Indexing
  2. Search

Indexing

Indexing is required to go through the each file or record and build something called Index which has the search words filtering  stop words and the new database is build having the frequency and location of the word , this is the most time consuming process.

Search

This comprises of forming a query and searching through the formulated database and return the document in which word or phrase is found.

If you need to see a demo.

Till then Happy Coding an Bingo!


Think DSP

A few months ago, Professor Allen Downey of Olin College wrote to me about a DSP textbook he's working on at think-dsp.com. He sent me links to his chapter about the sampling theorem, plus a blog post with an iPython notebook for playing with sampling a bit.

[I've been meaning to write back ever since, but I royally suck at email. So let me blog about it first, then perhaps extend the minimal courtesy of actually writing back.]

As he puts it, his approach is computational. Where many books on sampling and DSP in general throw a lot of dry equations at you without explaining much practical context (and I take the opposite approach, providing intuition and context, leaving the math out almost completely), he explores the practical arithmetic that gets us from point A to point B. "What happens if I do this..."

It's a slightly sneaky approach that builds up toward sampling through AM modulation (yes, as in AM radio), but this works toward a great illustration of how the Nyquist rate, the sampling theorem, and time-frequency duality aren't just sideshow theory, or a bag of cute tricks. They're practical truth that underlies nearly everything we do with signals and audio, even when we're neither sampling, nor working digitally.

Untitled Post
I need to just start writing again, or I'm never going to get to it. Lets see if I can start a little motivation rolling this week.

July 20, 2016

Votez cette semaine pour le FESCo et le Conseil de Fedora !

En ce mois de juillet 2016, comme régulièrement, la communauté de Fedora est invitée à voter pour des postes à des organes décisionnaires du projet Fedora.

En effet, comme le projet Fedora est communautaire, une partie du collège des organisations suivantes doit être renouvelée : Council et FESCo. Et ce sont les contributeurs qui décident ! Chaque candidat a bien sûr un programme et un passif qu'ils souhaitent mettre en avant durant leur mandat pour orienter le projet Fedora dans certaines directions. Je vous invite à étudier les propositions des différents candidats pour cela.

J'ai voté

Pour voter, il est nécessaire d'avoir un compte FAS actif et de faire son choix sur le site du scrutin. Vous avez jusqu'au mardi 26 juillet à 2h du matin heure française pour le faire. Donc n'attendez pas trop.

Je vais profiter de l'occasion pour résumer le rôle de chacun de ces comités afin de clarifier l'aspect décisionnel du projet Fedora mais aussi visualiser le caractère communautaire de celui-ci.

Council

Le Council est ce qu'on pourrait qualifier le grand conseil du projet. C'est donc l'organe décisionnaire le plus élevé de Fedora. Le conseil définit les objectifs à long terme du projet Fedora et participe à l'organisation de celui-ci pour y parvenir. Cela se fait notamment par le biais de discussions ouvertes et transparentes vis à vis de la communauté.

Mais il gère également l'aspect financier. Cela concerne notamment les budgets alloués pour organiser les évènements, produire les goodies, ou des initiatives permettant de remplir les dits objectifs. Ils ont enfin la charge de régler les conflits personnels importants au sein du projet, tout comme les aspects légaux liés à la marque Fedora.

Les rôles au sein du conseil sont complexes.

Ceux avec droit de vote complet

Tout d'abord il y a le FPL (Fedora Project Leader) qui est le dirigeant du conseil et de facto le représentant du projet. Son rôle est lié à la tenue de l'agenda et des discussions du conseil, mais aussi de représenter le projet Fedora dans son ensemble. Il doit également servir à dégager un consensus au cours des débats. Ce rôle est tenu par un employé de Red Hat et est choisi avec le consentement du conseil en question.

Il y a aussi le FCAIC (Fedora Community Action and Impact Coordinator) qui fait le lien entre la communauté et l'entreprise Red Hat pour faciliter et encourager la coopération. Comme pour le FPL, c'est un employé de Red Hat qui occupe cette position avec l'approbation du conseil.

Il y a deux places destinées à la représentation technique et à la représentation plus marketing / ambassadrice du projet. Ces deux places découlent d'une nomination décidée au sein des organes dédiées à ces activités : le FESCo et le FAmSCo. Ces places sont communautaires mais ce sont uniquement ces comités qui décident des attributions.

Il reste deux places communautaires totalement ouvertes et dont tout le monde peut soumettre sa candidature ou voter. Cela permet de représenter les autres secteurs d'activité comme la traduction ou la documentation mais aussi la voix communautaire au sens la plus large possible. C'est pour l'une de ces places que le vote est ouvert cette semaine !

Ceux avec le droit de vote partiel

Un conseiller en diversité est nommé par le FPL avec le soutien du conseil pour favoriser l'intégration au sein du projet des populations le plus souvent discriminées. Son objectif est donc de déterminer les programmes pour régler cette problématique et résoudre les conflits associés qui peuvent se présenter.

Un gestionnaire du programme Fedora qui s'occupe du planning des différentes versions de Fedora. Il s'assure du bon respect des délais, du suivi des fonctionnalités et des cycles de tests. Il fait également office de secrétaire du conseil. C'est un employé de Red Hat qui occupe ce rôle toujours avec l'approbation du conseil.

FESCo

Le FESCo (Fedora Engineering Steering Committee) est un conseil entièrement composé de membres élus et totalement dévoués à l'aspect technique du projet Fedora.

Ils vont donc traiter en particulier les points suivants :

  • Les nouvelles fonctionnalités de la distribution ;
  • Les sponsors pour le rôle d'empaqueteur (ceux qui pourront donc superviser un débutant) ;
  • La création et la gestion des SIGs (Special Interest Group) pour organiser des équipes autour de certaines thématiques ;
  • La procédure d'empaquetage des paquets.

Le responsable de ce groupe est tournant. Les 9 membres sont élus pour un an, sachant que chaque élection renouvelle la moitié du collège.

Notons par ailleurs que le contributeur francophone Haïkel Guémar renouvelle sa candidature pour ce comité.

Fin de vie de Fedora 22

Depuis le 19 juillet 2016, Fedora 22 a été déclaré comme en fin de vie.

Qu'est-ce que c'est ?

Un mois après la sortie d'une Fedora version n, ici Fedora 24, la version n-2 (donc Fedora 22) est déclarée comme en fin de vie. Ce mois sert à donner du temps aux utilisateurs pour faire la mise à niveau. Ce qui fait qu'en moyenne une version est officiellement supportée pendant 13 mois.

En effet, la fin de vie d'une version signifie qu'elle n'aura plus de mises à jour et plus aucun bogue ne sera corrigé. Pour des questions de sécurité, avec des failles non corrigées, il est vivement conseillé aux utilisateurs de Fedora 22 et antérieurs d'effectuer la mise à niveau vers Fedora 24 ou 23.

Que faire ?

Si vous êtes concernés, il est nécessaire de faire la mise à niveau de vos systèmes. Vous pouvez téléchargez des images CDs plus récentes par Torrent ou par HTTP.

Il est également possible de faire la mise à niveau sans réinstaller via DNF. Pour cela, taper les commandes suivantes en root dans votre terminal :

# dnf install dnf-plugin-system-upgrade
# dnf system-upgrade download --releasever=23
# dnf system-upgrade reboot

Notez que vous pouvez également passer directement à Fedora 24 par ce biais en changeant le numéro de version correspondante dans la ligne idoine. Cependant cette procédure est plus risquée car moins testée.

La prochaine fois, lors de la fin de vie de Fedora 23, vous pourrez utiliser GNOME Logiciels pour effectuer cette action. ;)

Now Available: The Ultimate Fedora T-Shirt!

If you’ve been involved in free and open source projects like Fedora for very long, you know one of the most sought-after “swag” items is a t-shirt with your projects’ logo. Until now, the easiest way to get a Fedora T-shirt has been to go to a big event like Flock, or through events organized & supported by our Fedora Ambassadors around the world.

This month, our friends over at Unixstickers.com released the “Ultimate Fedora T-shirt” in their online store. Since they ship to most countries around the world, you can now get your hands on a Fedora t-shirt even if you’ve missed one of our events! The shirts are heavy-duty “classic fit” style in a variety of sizes, and are available in black and white with the Fedora logo screen printed on the front. And even better, as a bonus with your t-shirt order, they’ll throw in one of the cool Fedora stickers they also sell for your laptop or other device at no extra charge!

One of the great things about Unixstickers is their financial support of all the different awesome projects in their store. With every Fedora t-shirt order, a portion of your purchase is donated back to those projects and to other charities.

So what are you waiting for? Head over & pick up a shirt or two today!

Fedora T-Shirt (Black) Fedora T-Shirt (White)

IoT Gateways

After discussing the “thing” part of IoT in Devices – the “Thing” in IoT let’s take a look at overall IoT system design.

IoT Gateways connect IoT Devices to IoT back-end systems. Gateways connect to devices using interfaces like Ethernet, WiFi, Bluetooth, 6LoWPAN, RS-485 and CANbus. Gateways connect to back-end systems through the Internet, commonly using Ethernet, WiFi, or cellular connections. Gateways perform multiple tasks, including concatenation of multiple devices, protocol conversion, device management, and security. Gateways may also perform application processing.

Since IoT Gateways are connected directly to IoT Devices they have to be co-located with the Devices. This means that gateways are deployed in hostile environments. They are accessed through network interfaces connecting both to local devices and to the Internet. People have physical access to the gateways. Users need access to the gateway to perform a variety of functions such as device discovery and registration. These users may be inexperienced, malicious, or both.

Gateways will often need to function which disconnected from the Internet. Such disconnected operation may be deliberate – a low power sensor may only connect to the network once a day, and spend the rest of the time in a low power sleep state. A system on a moving vehicle such as a truck, train, or ship may have critical communications through an expensive, low bandwidth cellular link, and then intermittently connect to a high bandwidth link such as WiFi. This might occur when a truck pulls into a warehouse or service station, when a ship docks, or when a train enters a station. These systems would be designed for disconnected operation. Another case might be a hospital, which needs to continue operations, perhaps in a degraded mode, in events where network connectivity, power, and other resources fail. It is clearly unacceptable for a hospital to shut down if it loses connection to the cloud!

These situations mean that a complete software stack needs to be installed on the gateway, with all of the management, update, and access challenges that this presents.

While gateways will most commonly be structured as application specific appliances there are many ways to use gateways.


Release of Fedora 24 updated Lives

I am happy to release the F24-20160720 updated lives isos.

as always these respins can be found at http://tinyurl.com/Live-respins2

Using the updated isos will save about 500M of updates after install  YMMV (Gold MATE install updates as of 20160720 is 513M)

I would like to thank the community and the seeders for their dedication to this project.


Recording from my talk on Rust features used by Froyo

I spoke at PDXRust this month. A recording of the talk is available here.

How many mobile phone accounts will be hijacked this summer?

Summer vacations have been getting tougher in recent years. Airlines cut into your precious vacation time with their online check-in procedures and a dozen reminder messages, there is growing concern about airport security and Brexit has already put one large travel firm into liquidation leaving holidaymakers in limbo.

If that wasn't all bad enough, now there is a new threat: while you are relaxing in the sun, scammers fool your phone company into issuing a replacement SIM card or transferring your mobile number to a new provider and then proceed to use it to take over all your email, social media, Paypal and bank accounts. The same scam has been appearing around the globe, from Britain to Australia and everywhere in between. Many of these scams were predicted in my earlier blog SMS logins: an illusion of security (April 2014) but they are only starting to get publicity now as more aspects of our lives are at risk, scammers are ramping up their exploits and phone companies are floundering under the onslaught.

With the vast majority of Internet users struggling to keep their passwords out of the wrong hands, many organizations have started offering their customers the option of receiving two-factor authentication codes on their mobile phone during login. Rather than making people safer, this has simply given scammers an incentive to seize control of telephones, usually by tricking the phone company to issue a replacement SIM or port the number. It also provides a fresh incentive for criminals to steal phones while cybercriminals have been embedding code into many "free" apps to surreptitiously re-route the text messages and gather other data they need for an identity theft sting.

Sadly, telephone networks were never designed for secure transactions. Telecoms experts have made this clear numerous times. Some of the largest scams in the history of financial services exploited phone verification protocols as the weakest link in the chain, including a $150 million heist reminiscent of Ocean's 11.

For phone companies, SMS messaging came as a side-effect of digital communications for mobile handsets. It is less than one percent of their business. SMS authentication is less than one percent of that. Phone companies lose little or nothing when SMS messages are hijacked so there is little incentive for them to secure it. Nonetheless, like insects riding on an elephant, numerous companies have popped up with a business model that involves linking websites to the wholesale telephone network and dressing it up as a "security" solution. These companies are able to make eye-watering profits by "purchasing" text messages for $0.01 and selling them for $0.02 (one hundred percent gross profit), but they also have nothing to lose when SIM cards are hijacked and therefore minimal incentive to take any responsibility.

Companies like Google, Facebook and Twitter have thrown more fuel on the fire by encouraging and sometimes even demanding users provide mobile phone numbers to "prove they are human" or "protect" their accounts. Through these antics, these high profile companies have given a vast percentage of the population a false sense of confidence in codes delivered by mobile phone, yet the real motivation for these companies does not appear to be security at all: they have worked out that the mobile phone number is the holy grail in cross-referencing vast databases of users and customers from different sources for all sorts of creepy purposes. As most of their services don't involve any financial activity, they have little to lose if accounts are compromised and everything to gain by accurately gathering mobile phone numbers from as many users as possible.


Can you escape your mobile phone while on vacation?

Just how hard is it to get a replacement SIM card or transfer/port a user's phone number while they are on vacation? Many phone companies will accept instructions through a web form or a phone call. Scammers need little more than a user's full name, home address and date of birth: vast lists of these private details are circulating on the black market, sourced from social media, data breaches (99% of which are never detected or made public), marketing companies and even the web sites that encourage your friends to send you free online birthday cards.

Every time a company has asked me to use mobile phone authentication so far, I've opted out and I'll continue to do so. Even if somebody does hijack my phone account while I'm on vacation, the consequences for me are minimal as it will not give them access to any other account or service, can you and your family members say the same thing?

What can be done?

  • Opt-out of mobile phone authentication schemes.
  • Never give the mobile phone number to web sites unless there is a real and pressing need for them to call you.
  • Tell firms you don't have a mobile phone or that you share your phone with your family and can't use it for private authentication.
  • If you need to use two-factor authentication, only use technical solutions such as smart cards or security tokens that have been engineered exclusively for computer security. Leave them in a locked drawer or safe while on vacation. Be wary of anybody who insists on SMS and doesn't offer these other options.
  • Rather than seeking to "protect" accounts, simply close some or all social media accounts to reduce your exposure and eliminate the effort of keeping them "secure" and updating "privacy" settings.
  • If your bank provides a relationship manager or other personal contact, this
    can also provide a higher level of security as they get to know you.

Previous blogs on SMS messaging, security and two factor authentication, including my earlier blog SMS Logins: an illusion of security.

New release: usbguard-0.5.10

Good news everyone! A new release of USBGuard is finally available. As usual there are many bugfixes, several new features and some other changes. USBGuard has gotten a D-Bus component so the integration possibilities are endless now :D The usbguard-applet-qt subproject was merged into the main project repository. Thanks to that it will hopefully receive more love in the near future. One of the more important bugfixes delivered by this release is the rewrite of the USB descriptor parsing code which previously didn’t work correctly for many devices.

It seems that the community around the project is growing. There is an effort to package the project for Debian and so far it resulted in many improvements in the upstream code and workflows.

Major changes

  • Changed versioning scheme to include a release number. Releases will be rolled out more often during a milestone (x.y – currently 0.5) development.
  • Merged usbguard-applet-qt (sub)project into usbguard.
  • Added a D-Bus bridge component which exposes a D-Bus interface to usbguard.
  • Enhancements of the usbguard command-line interface.
  • Fixed USB descriptor data parsing. Previously, many real-world cases of descriptors weren’t parsed correctly because of a naive implementation of the parser.
  • Fixed systemd integration.
  • Manual pages are now generated from their source (markdown) during the build process.
  • A default usbguard-daemon configuration file is now installed.
  • Fixed issues: #84, #83, #80, #79, #78, #77, #76, #75, #74, #73, #72, #71, #70, #69, #68, #56, #54, #53, #51, #50, #44.

Thanks

Many thanks to the following people for contributions to this release and to the USBGuard project:

Updating

If you are using Fedora or the USBGuard Copr repository, run:

$ sudo dnf update usbguard

Download

Signed release tarball can be downloaded from the USBGuard release page at GitHub:

SHA256(usbguard-0.5.10.tar.gz)= f51a302ad6222ba87ac5a2f96d033c9ba514c0d20027983798e97746d879ac28
Council Elections: Interview with Langdon White (langdon)
Fedora Ambassador Mentor badge used for Council

Fedora Council Elections begin soon

This is a part of the Council Elections Interviews series. Voting is open to all Fedora contributors. The voting period starts on Tuesday, July 19 and closes promptly at 23:59:59 UTC on Monday, July 25th. Please read the responses from candidates and make your choices carefully. Feel free to ask questions to the candidates here (preferred) or elsewhere!

Interview with Langdon White

What is your background in Fedora? What have you worked on and what are you doing now?

Simply put, I have been actively involved and an active user of Fedora for about 4.5 years. I have been, almost exclusively, a Linux user for 10 years and I had dabbled in Linux before that. I have been a Linux sysadmin and a Linux developer (mostly a developer) for approximately 15 years.

Over the past few years, I have learned what an astonishingly complex beast a Linux distro is. Not only the distro itself, but also the infrastructure it takes to create one. Not only from a purely technical perspective, but also in the vast number of contributors who provide things like packaging, tooling, infrastructure, and the softer things like marketing and advocacy (aka ambassadors). I am amazed by how regularly Fedora ships with a shockingly low failure rate and with very little drama given how huge and complex it is.

I have also learned that the type of system architecture that I have been doing for the last fifteen years is becoming increasingly important to Fedora’s evolution into Fedora.next. With the advent of containers and microservices, ignoring the specific technologies employed, we see demands on the Linux distro to evolve into something that is significantly more “service-oriented.” By that I mean, not just what microservices and SOA promise, but also the usage of computer systems in ways that are significantly more focused on enabling users to accomplish their goals with a minimum of fuss over the details. Office users, developers, admins, whatever — they deal with multiple systems (office computers, laptops, servers, phones, tablets, etc) and they want to manage them simply, but with control over the details when necessary. They also want more automation and more flexibility.

Day to day, I am working on driving the Modularity Objective (phase 3 of Fedora.next) in Fedora with the team from the Modularity WG. We are going to have some cool demos at Flock, so I hope you can attend, if not, check out our YouTube channel where we will post videos of the demos.

What are the most pressing issues facing Fedora today? What should we do about them?

Fedora’s impact on the Linux and software world(s) has diminished greatly over the years. However, Fedora continues to enable some of the most innovative work going on in software today. Obviously, this dichotomy is bad for everyone.

How do we fix it? Through outreach and by embracing all comers. Now, I know that sounds like a job solely for the Marketing and Ambassador teams, which don’t get me wrong, is no small part. However, the technology also has to change. We need to encourage clear, guided pathways for open source projects to be part of Fedora when the apps are young, when they “do things differently”, and when they operate at a different cadence from our Editions.

What are your interests and experience outside of Fedora? What of those things will help you in this role?

Well, I play soccer once a week with a team of people who are also old. We are regularly trounced by teams with people who are younger and in better shape :). I also read a fair amount, and in order to not re-read books, I use goodreads to track them, which has a cool stats feature. So far this year, I’ve read 21 books, mostly fiction. I also have three kids, so I spend a lot of time supporting their interests: soccer, track, softball, chess, singing and acting to name a few.

I have a lot of experience managing teams and working with customers as a long time consultant. These days, most of my experience is working with the Fedora and Red Hat communities to drive the changes related to Fedora.next and modularity.

Working with teams, from soccer to work, even theater productions many years ago, is kinda what I do. I try to bring that experience to the Council in order to drive discussions to mutually beneficial conclusions. I also think I reflect the viewpoint of a career developer which is sometimes different than many of the Fedora contributors.

What can the Council do to attract more packagers and other contributors? How should Fedora change in this regard?

So, I didn’t read all the questions first, and I kinda answered this above (question 2). 🙂 Essentially, the pressing concern is to attract more people to Fedora. We are on the right track.

I would also add, Fedora.next is unlike anything any other distro is doing, really any other operating system. I truly believe we can change the world if we can pull it off. If we do, we will provide such a positive experience for contributors and users alike that Fedora will be most people’s first choice. We even have some proof, see the steady climb in impact as evidenced in Matthew Miller’s various “State of Fedora” talks (just one example).

What’s the area where you would most like to see improved collaboration among the Linux distributions? What would you do to help?

As with most software, I find diversity of participants/contributors to be a huge issue. I would like to see a multi-distro, diversity effort move forward. We have dedicated some effort to addressing diversity in Fedora, however, we could do more and collaboration with other distros might be an interesting method.

While not strictly what this question is asking, I also would like to see an increased feedback loop from CentOS to Fedora. In other words, more regularly gather feedback on how new features have landed and performed in CentOS after appearing in Fedora. In a related way, with the increase of advanced CentOS SIGs, a tighter collaboration between those SIGs and Fedora would probably also be beneficial. I would encourage the Council to adopt an Objective to actively drive a stronger relationship.

Conclusion

I want to mention how much I appreciated Justin’s nice remark in his post. I was searching for my name, trying to find my last Q&A answers. I, surprisingly, came across his post, which I’m not planning on reading until after I submit these questions to avoid skewing my answers, but I searched for my, pretty unique name and his closing came up so I did read that part!

Justin has been incredibly visible in Fedora and has been fantastic to me in particular. You, the voters, can’t lose in this election!

And, in the tradition of every American politician ever, “Don’t forget to vote!”

The post Council Elections: Interview with Langdon White (langdon) appeared first on Fedora Community Blog.

New badge: Long Life to Pagure (Pagure VI) !
Long Life to Pagure (Pagure VI)Pushed 1000 commits to a Pagure repository. Wow! That's a lot!
New badge: Long Life to Pagure (Pagure V) !
Long Life to Pagure (Pagure V)Pushed 500 commits to a Pagure repository.
New badge: Long Life to Pagure (Pagure IV) !
Long Life to Pagure (Pagure IV)Pushed 150 commits to a Pagure repository.
New badge: Long Life to Pagure (Pagure III) !
Long Life to Pagure (Pagure III)Pushed 50 commits to a Pagure repository.
New badge: Long Life to Pagure (Pagure II) !
Long Life to Pagure (Pagure II)Pushed 10 commits to a Pagure repository.
New badge: Long Life to Pagure (Pagure I) !
Long Life to Pagure (Pagure I)Pushed 1 commit to a Pagure repository.
LIBOCon: get around Brno

Yesterday I added Get around Brno page to the LibreOffice Conference website. There you can find comprehensive information about public transport in Brno, how to buy tickets, how to get to the hotel/venue if you arrive by train/bus/car/plane etc. All accompanied with maps and pictures of described places. So hopefully no one will get lost on their way to the hotel or venue, or struggle purchasing tickets.

If you’re coming to LibreOffice Conference 2016, definitely check it out. You may also want to download the page for offline usage in case you won’t mobile data.

libocon16-logo


Gigabyte Cavium ARM servers

http://b2b.gigabyte.com/products/list.aspx?s=92&p=190&v=1029&ck=102

Gigabyte just announced a bunch of full ARM servers, with between 32 and 96 cores. They are based around the Cavium ThunderX processors that we’ve had at Red Hat for a while so they should run RHEL either out of the box or very soon after release.


libinput is done

Don't panic. Of course it isn't. Stop typing that angry letter to the editor and read on. I just picked that title because it's clickbait and these days that's all that matters, right?

With the release of libinput 1.4 and the newest feature to add tablet pad mode switching, we've now finished the TODO list we had when libinput was first conceived. Let's see what we have in libinput right now:

  • keyboard support (actually quite boring)
  • touchscreen support (actually quite boring too)
  • support for mice, including middle button emulation where needed
  • support for trackballs including the ability to use them rotated and to use button-based scrolling
  • touchpad support, most notably:
    • proper multitouch support on touchpads [1]
    • two-finger scrolling and edge scrolling
    • tapping, tap-to-drag and drag-lock (all configurable)
    • pinch and swipe gestures
    • built-in palm and thumb detection
    • smart disable-while-typing without the need for an external process like syndaemon
    • more predictable touchpad behaviours because everything is based on physical units [2]
    • a proper API to allow for kinetic scrolling on a per-widget basis
  • tracksticks work with middle button scrolling and communicate with the touchpad where needed
  • tablet support, most notably:
    • each tool is a separate entity with its own capabilities
    • the pad itself is a separate entity with its own capabilities and events
    • mode switching is exported by the libinput API and should work consistently across callers
  • a way to identify if multiple kernel devices belong to the same physical device (libinput device groups)
  • a reliable test suite
  • Documentation!
The side-effect of libinput is that we are also trying to fix the rest of the stack where appropriate. Mostly this meant pushing stuff into systemd/udev so far, with the odd kernel fix as well. Specifically the udev bits means we
  • know the DPI density of a mouse
  • know whether a touchpad is internal or external
  • fix up incorrect axis ranges on absolute devices (mostly touchpads)
  • try to set the trackstick sensitivity to something sensible
  • know when the wheel click is less/more than the default 15 degrees
And of course, the whole point of libinput is that it can be used from any Wayland compositor and take away most of the effort of implementing an input stack. GNOME, KDE and enlightenment already uses libinput, and so does Canonical's Mir. And some distribution use libinput as the default driver in X through xf86-input-libinput (Fedora 22 was the first to do this). So overall libinput is already quite a success.

The hard work doesn't stop of course, there are still plenty of areas where we need to be better. And of course, new features come as HW manufacturers bring out new hardware. I already have touch arbitration on my todo list. But it's nice to wave at this big milestone as we pass it into the way to the glorious future of perfect, bug-free input. At this point, I'd like to extend my thanks to all our contributors: Andreas Pokorny, Benjamin Tissoires, Caibin Chen, Carlos Garnacho, Carlos Olmedo Escobar, David Herrmann, Derek Foreman, Eric Engestrom, Friedrich Schöller, Gilles Dartiguelongue, Hans de Goede, Jackie Huang, Jan Alexander Steffens (heftig), Jan Engelhardt, Jason Gerecke, Jasper St. Pierre, Jon A. Cruz, Jonas Ådahl, JoonCheol Park, Kristian Høgsberg, Krzysztof A. Sobiecki, Marek Chalupa, Olivier Blin, Olivier Fourdan, Peter Frühberger, Peter Hutterer, Peter Korsgaard, Stephen Chandler Paul, Thomas Hindoe Paaboel Andersen, Tomi Leppänen, U. Artie Eoff, Velimir Lisec.

Finally: libinput was started by Jonas Ådahl in late 2013, so it's already over 2.5 years old. And the git log shows we're approaching 2000 commits and a simple LOCC says over 60000 lines of code. I would also like to point out that the vast majority of commits were done by Red Hat employees, I've been working on it pretty much full-time since 2014 [3]. libinput is another example of Red Hat putting money, time and effort into the less press-worthy plumbing layers that keep our systems running. [4]

[1] Ironically, that's also the biggest cause of bugs because touchpads are terrible. synaptics still only does single-finger with a bit of icing and on bad touchpads that often papers over hardware issues. We now do that in libinput for affected hardware too.
[2] The synaptics driver uses absolute numbers, mostly based on the axis ranges for Synaptics touchpads making them unpredictable or at least different on other touchpads.
[3] Coincidentally, if you see someone suggesting that input is easy and you can "just do $foo", their assumptions may not match reality
[4] No, Red Hat did not require me to add this. I can pretty much write what I want in this blog and these opinions are my own anyway and don't necessary reflect Red Hat yadi yadi ya. The fact that I felt I had to add this footnote to counteract whatever wild conspiracy comes up next is depressing enough.

July 19, 2016

Fedora 22 end of life

As of July 19, 2016, Fedora 22 has reached its end of life for updates and support. No more updates, not even security fixes, will be provided for Fedora 22. Fedora 23 will be maintained with updated packages until approximately one month after the release of Fedora 25.

Upgrading to Fedora 23 or Fedora 24 is highly recommended for all users still running Fedora 22. For more information on upgrading Fedora, check out the DNF System Upgrade page on the Fedora Project wiki.

About the Fedora Release Cycle

The Fedora Project community provides updated packages for a Fedora release until about a month after the second following release. For example, updates for Fedora 23 continue until about a month after the release of Fedora 25. Fedora 24 continues to be supported until approximately one month after the release of Fedora 26.

The Fedora Project wiki contains more detailed information about the entire Fedora Release Life Cycle. This page includes how each version of Fedora progresses from development, to release, to post-release support, to end of life.