Planet GNU

Aggregation of development blogs from the GNU Project

March 21, 2019

parallel @ Savannah

GNU Parallel 20190322 ('FridayforFuture') released

GNU Parallel 20190322 ('FridayforFuture') has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/

The change in signalling makes this release experimental for users that send SIGTERM to GNU Parallel.

Quote of the month:

There are so many things to love about GNU parallel. You could honestly teach a whole parallel computing course with it and never have to leave it for a real language.
-- Aubrey Bailey @DNAvinci@twitter

New in this release:

  • SIGTERM is changed to SIGHUP, so sending SIGHUP will make GNU Parallel start no more jobs, but wait for running jobs to finish.
  • SIGTERM SIGTERM is changed to SIGTERM, so sending SIGTERM will make GNU Parallel kill all running jobs.
  • GNU Parallel now includes a cheat sheet: parallel_cheat.pdf
  • Bug fixes and man page updates.

Get the book: GNU Parallel 2018 http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html

GNU Parallel - For people who live life in the parallel lane.

About GNU Parallel

GNU Parallel is a shell tool for executing jobs in parallel using one or more computers. A job can be a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. A job can also be a command that reads from a pipe. GNU Parallel can then split the input and pipe it into commands in parallel.

If you use xargs and tee today you will find GNU Parallel very easy to use as GNU Parallel is written to have the same options as xargs. If you write loops in shell, you will find GNU Parallel may be able to replace most of the loops and make them run faster by running several jobs in parallel. GNU Parallel can even replace nested loops.

GNU Parallel makes sure output from the commands is the same output as you would get had you run the commands sequentially. This makes it possible to use output from GNU Parallel as input for other programs.

You can find more about GNU Parallel at: http://www.gnu.org/s/parallel/

You can install GNU Parallel in just 10 seconds with:
(wget -O - pi.dk/3 || curl pi.dk/3/ || fetch -o - http://pi.dk/3) | bash

Watch the intro video on http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

Walk through the tutorial (man parallel_tutorial). Your command line will love you for it.

When using programs that use GNU Parallel to process data for publication please cite:

O. Tange (2018): GNU Parallel 2018, March 2018, https://doi.org/10.5281/zenodo.1146014.

If you like GNU Parallel:

  • Give a demo at your local user group/team/colleagues
  • Post the intro videos on Reddit/Diaspora*/forums/blogs/ Identi.ca/Google+/Twitter/Facebook/Linkedin/mailing lists
  • Get the merchandise https://gnuparallel.threadless.com/designs/gnu-parallel
  • Request or write a review for your favourite blog or magazine
  • Request or build a package for your favourite distribution (if it is not already there)
  • Invite me for your next conference

If you use programs that use GNU Parallel for research:

  • Please cite GNU Parallel in you publications (use --citation)

If GNU Parallel saves you money:

About GNU SQL

GNU sql aims to give a simple, unified interface for accessing databases through all the different databases' command line clients. So far the focus has been on giving a common way to specify login information (protocol, username, password, hostname, and port number), size (database and table size), and running queries.

The database is addressed using a DBURL. If commands are left out you will get that database's interactive shell.

When using GNU SQL for a publication please cite:

O. Tange (2011): GNU SQL - A Command Line Tool for Accessing Different Databases Using DBURLs, ;login: The USENIX Magazine, April 2011:29-32.

About GNU Niceload

GNU niceload slows down a program when the computer load average (or other system activity) is above a certain limit. When the limit is reached the program will be suspended for some time. If the limit is a soft limit the program will be allowed to run for short amounts of time before being suspended again. If the limit is a hard limit the program will only be allowed to run when the system is below the limit.

21 March, 2019 10:15PM by Ole Tange

FSF News

Seven new devices from ThinkPenguin, Inc. now FSF-certified to Respect Your Freedom

BOSTON, Massachusetts, USA -- Thursday, March 21st, 2019 -- The Free Software Foundation (FSF) today awarded Respects Your Freedom (RYF) certification to seven devices from ThinkPenguin, Inc.: The Penguin Wireless G USB Adapter (TPE-G54USB2), the Penguin USB Desktop Microphone for GNU / Linux (TPE-USBMIC), the Penguin Wireless N Dual-Band PCIe Card (TPE-N300PCIED2), the PCIe Gigabit Ethernet Card Dual Port (TPE-1000MPCIE), the PCI Gigabit Ethernet Card (TPE-1000MPCI), the Penguin 10/100 USB Ethernet Network Adapter v1 (TPE-100NET1), and the Penguin 10/100 USB Ethernet Network Adapter v2 (TPE-100NET2). The RYF certification mark means that these products meet the FSF's standards in regard to users' freedom, control over the product, and privacy.

TPE-N300PCIED2_2

These are not the first devices from ThinkPenguin to receive RYF certification. This fresh batch joins four previously certified devices in the ThinkPenguin lineup. With these additions, ThinkPenguin becomes one of the largest retailers of RYF-certified devices.

"I'm excited about this announcement, because this collection of devices includes some for which there previously was no certified option. These certifications get us closer to our goal of making sure there is a certified device in each product category, to meet all users' needs," said the FSF's executive director, John Sullivan.

Today's certification broadly expands the availability of RYF-certified peripheral devices. The Penguin Wireless G USB Adapter and Penguin Wireless N Dual-Band PCIe Card enable wireless network connectivity. The PCIe Gigabit Ethernet Card Dual Port, PCI Gigabit Ethernet Card, Penguin 10/100 USB Ethernet Network Adapter v1, and Penguin 10/100 USB Ethernet Network Adapter v2 provide a direct Ethernet connection. Finally, the Penguin USB Desktop Microphone for GNU / Linux helps users to connect to one another by providing a freedom-respecting microphone.

"I've always believed that the biggest difficulty for users in the free software world has been in obtaining compatible hardware, and so I'm glad to be participating in the expansion of the RYF program" said Christopher Waid, founder and CEO of ThinkPenguin.

ThinkPenguin, Inc. was one of the first companies to receive RYF certification, gaining their first and second certifications in 2013, and adding several more over the years since.

"ThinkPenguin has excelled for years in providing users with the tools they need to control their own computing. We are excited by these new additions today, and look forward to what they have in store for the future," said the FSF's licensing and compliance manager, Donald Robertson, III.

To learn more about the Respects Your Freedom certification program, including details on the certification of these ThinkPenguin devices, please visit https://fsf.org/ryf.

Hardware sellers interested in applying for certification can consult https://www.fsf.org/resources/hw/endorsement/criteria.

About the Free Software Foundation

The Free Software Foundation, founded in 1985, is dedicated to promoting computer users' right to use, study, copy, modify, and redistribute computer programs. The FSF promotes the development and use of free (as in freedom) software -- particularly the GNU operating system and its GNU/Linux variants -- and free documentation for free software. The FSF also helps to spread awareness of the ethical and political issues of freedom in the use of software, and its Web sites, located at https://fsf.org and https://gnu.org, are an important source of information about GNU/Linux. Donations to support the FSF's work can be made at https://donate.fsf.org. Its headquarters are in Boston, MA, USA.

More information about the FSF, as well as important information for journalists and publishers, is at https://www.fsf.org/press.

About ThinkPenguin, Inc.

Started by Christopher Waid, founder and CEO, ThinkPenguin, Inc., is a consumer-driven company with a mission to bring free software to the masses. At the core of company is a catalog of computers and accessories with broad support for GNU/Linux. The company provides technical support for end-users and works with the community, distributions, and upstream projects to make GNU/Linux all that it can be.

Media Contacts

Donald Robertson, III
Licensing and Compliance Manager
Free Software Foundation
+1 (617) 542 5942
licensing@fsf.org

ThinkPenguin, Inc.
+1 (888) 39 THINK (84465) x703
media@thinkpenguin.com

Image Copyright 2016 ThinkPenguin, Inc., licensed under Creative Commons Attribution-ShareAlike 4.0.

21 March, 2019 08:45PM

FSF Blogs

LibrePlanet is coming in two days! Here's how you can participate

It's almost time for LibrePlanet -- the Free Software Foundation annual conference and associate members' meeting -- and we couldn't be more excited! There is so much going on at the conference, great events in the evenings, a raffle, an exhibit hall, and an amazing collection of free software enthusiasts from around the world. We hope to see you there! Registration may be closed, but you can still register for the conference on-site, space permitting.

In the event you can't make it to LibrePlanet, at the Massachusetts Institute of Technology in Cambridge, MA, there are ways to get involved! We have three ways to enable remote participation: IRC, mumble, and, of course, the livestream. We provide these resources, along with video streaming, so that free software supporters who are unable to travel to the US for economic and/or political reasons are still able to participate.

IRC

You can log onto IRC through your IRC client or our Web IRC interface, powered by Kiwi IRC. You have four options for channels: A general #libreplanet chat, and then a chat for each of our three session rooms. Volunteers will be on hand at the conference to help you ask questions submitted over IRC during the Q&A section of talks.

Mumble

If you prefer to talk over voice chat rather than typing, you can use Mumble to communicate with other free software supporters on-site or remotely. Mumble is a free software voice chat system, and we're hosting our own Mumble server for the duration of the conference. Rather than just typing to other in person and remote attendees, you can now chat over voice as well. There will be a dedicated computer that is set up and connected to Mumble in the exhibit hall at the conference, which you can use.

Livestream

As we do every year, we will be streaming and recording every session using our entirely free software system. You can watch the livestream online. recordings will be available after the conference via GNU Media Goblin.

T-shirts

Whether you're at the conference or watching from home, you can remember your LibrePlanet 2019 experience with this year's conference T-shirt. If you'll be there, you can pick it up in person. If you won't be in attendance, we can still ship you a shirt after the conference. Please note that quantities are limited, and we won't know until after the conference if we can fulfill every order.

Raffle

Be sure to check your badges for the free raffle ticket each attendee gets to enter to try to win an amazing prize. FSF associate members can pick up a second free ticket at the raffle booth!

Thank you to our sponsors!

LibrePlanet 2019 is supported by several generous sponsors. Big thanks to Red Hat and Private Internet Access!

We look forward to seeing you this weekend, whether in person or online!

21 March, 2019 07:00PM

March 19, 2019

RMS article: "Install fests: What to do about the deal with the devil"

In "Install fests: What to do about the deal with the devil," Richard Stallman issues both a caveat to free software novices who would like to transition to using free software exclusively via an install-fest, and a plea to install-fest organizers and volunteers not to make injurious ethical decisions for the people availing themselves of their help.

Stallman explains that, because of obstacles deliberately devised to thwart back engineering, not all computers can function properly with a completely free distro. And that a choice, therefore, often has to be made, between freedom and convenience, between installing a fully free distro that won't function as intended, and installing a nonfree distro that will. He argues that this choice should be made by the informed user alone, not silently by the install-fest volunteer.

Stallman appeals to install fests to forgo the "tacit deal with the devil" that suppresses the free software movement's message about freedom and justice, and to take advantage of the teachable moment, to introduce the user to the "moral dimension" of their computing choices. He suggests a number of things an install-fest could do (implement visual demarcations that help users understand when they're about to "forfeit their freedom," give technical advice regarding free software and free hardware, encourage users to lobby offending manufacturers) in order to "retain full moral authority when it talks about the imperative for freedom." Better the devil you know than the devil you don't, and, ultimately, better no devil at all.

19 March, 2019 07:24PM

About Musix's removal from our list of endorsed distributions

In 2018 we updated our list of free GNU/Linux distributions to add a "Historical" section. We retired BLAG Linux and GNU at that time, as it was no longer maintained. We are sad to announce today that Musix will also being moving to the Historical section, as it is likewise no longer maintained. Founded in 2004, Musix was on the list of free GNU/Linux distributions for over a decade. The list helps users to find operating systems that come with only free software and documentation, and that do not promote any nonfree software. Being added to the list means that a distribution has gone through a rigorous screening process, and is dedicated to diligently fixing any freedom issues that may arise.

Musix was maintained by a sole developer, Marcos Guglielmetti, as a volunteer effort, a truly impressive accomplishment. Maintaining a distribution is a difficult task. Dealing with technical and security issues across an entire system, as well as upholding the ethical standards required for inclusion on our list, takes a great deal of effort.

While it is sad that Musix will now reside in our Historical section, we can all still be thankful for the maintainer's work over the years, and for the fact that there are still many endorsed distributions available. Users of Musix should consider switching to another distro on our list to ensure that the security and freedom of their system is up to date.

19 March, 2019 03:39PM

FSF Events

Richard Stallman - « Logiciels libres, société libre » (Anthy-sur-Leman, France)

Richard Stallman décrira les buts et la philosophie du mouvement des logiciels libres et évoquera les enjeux majeurs du monde numérique d'aujourd'hui. Il abordera les Droits de l'Homme des utilisateurs d'un logiciel : liberté de contrôler ce qu'il fait pour eux, égalité dans la communauté des développeurs et des utilisateurs, fraternité entre eux. Richard Stallman traitera enfin la question des modèles économiques pour l'utilisation et le développement des logiciels libres.

Ce discours de Richard Stallman ne sera pas technique, l'entrée sera libre, et tout le monde est invité à assister.

Lieu: Fablac, Maison des Assocations, 2 place de l'église, 74200 Anthy-sur-Léman, France

Veuillez complèter notre formulaire de contact, pour que nous puissions vous annoncer de futurs événements dans la région de Anthy-sur-Léman.

19 March, 2019 01:55PM

March 18, 2019

FSF Blogs

Your guide to LibrePlanet 2019, March 23-24!

Are you planning on joining us for LibrePlanet 2019, coming up this weekend, March 23-24, at the Stata Center, Massachusetts Institute of Technology (MIT)? If you haven't registered yet, there's still time -- registration is open through Tuesday, March 19 at 10:00 EDT, and we also welcome walk-ins (space permitting)! Remember, students and Free Software Foundation (FSF) associate members get in gratis.

We also hope you'll join us for the Friday night open house at the FSF office, here in Boston -- you can pick up your badge early to skip the line Saturday morning (more details below).

Here's your guide to maximum enjoyment of LibrePlanet:

  • If you haven't seen it yet, the full conference program is now available.

  • Badge pickup, registration, and coffee begin at 09:00 on Saturday at the conference site, the Stata Center at the Massachusetts Institute of Technology (MIT), 32 Vassar Street, Cambridge, MA 02139.

Social events

You're invited to social and community events happening before the conference and during the conference weekend. All ages are welcome at all social events, and we strongly recommend using public transportation.

  • On Friday evening, the FSF is hosting an open house at the FSF office, 51 Franklin Street, 5th Floor, Boston, MA 02110 from 17:00 to 19:30. The FSF office is a short walk from the Downtown Crossing, State, and Park Street MBTA stops. The FSF office is an accessible space. We will provide beverages and light refreshments.

  • After the open house, all women, genderqueer, non-binary, and gender non-conforming people interested in free software are invited to the Welcome Dinner. This is a gratis meal with some great people in free software -- keep an eye on the social activities page for the details.

  • We'll celebrate on Saturday, March 23rd, after the Free Software Awards, from 19:00 to 22:00, at Scholars Bistro, 25 School Street, Boston, MA 02108, near the FSF office. All ages are welcome until 21:00. Gratis snacks will be provided, and your first drink is on the FSF. A full dinner menu is also available for purchase. The venue is accessible.

  • Prefer a quieter social space? The FSF office will be open late for hacking and hanging out on Saturday from 19:00 to 21:30. Snacks, beverages, and power are provided. This is an alcohol-free event.

  • On Sunday afternoon, during the lunch break from 12:35-13:35, we'll be holding an FSF members meeting at the LibrePlanet site (room TBA), where you can join other associate members to discuss successes from the past year and what you'd like to see in the future of the FSF. Pizza and salad will be provided. Please RSVP at https://libreplanet.org/wiki/LibrePlanet:Conference/2019/sunday_members_lunch.

  • On Sunday night, starting at 21:00, join us at Grendel's Den, a Cambridge pub that is popular with local free software and free culture folks, located at 89 Winthrop Street in Harvard Square. This afterparty is not an official conference event, but is a standing tradition of many years. There is elevator access upon request. Call 617-491-1160 to have someone from Grendel's assist you.

  • Want to plan a group dinner or other social gathering during LibrePlanet? Use the wiki to plan an event or join someone else's event.

More at LibrePlanet

  • We're continuing our popular five-minute lightning talks by conference attendees about their free software passions. Sign up to give one!

  • We're hosting an exhibit hall for a select group of projects and businesses in the free software world. Come by from 09:00 until 18:00 on both days of the conference to check out tables from 3NWeb, CivicActions, FreedomBox Foundation, GNOME, MIT Libraries' Program on Information Science, Private Internet Access, Purism, Technoethical, ThinkPenguin, and the Tor Project.

  • You can use the #libreplanet IRC channel on freenode (irc.freenode.org) to participate in the online discussion before, during, and after the conference. You can also use Mumble voice chat on the mumble server at mumble.fsf.org. We provide these resources, along with video streaming, so that free software supporters who are unable to travel to the US for economic and/or political reasons are still able to participate.

  • You can pre-order your LibrePlanet 2019 T-shirt until Wednesday, March 20, at midnight EDT -- or, just wait and buy yours at the GNU Press table at the conference!

Resources

  • Logistics info, including transportation, accommodations, and restaurants, is available to make it easy for you to figure out travel and choose lodging near the conference.

  • The libreplanet-discuss mailing list is great for planning ride-shares or social events during the conference weekend, and also for participating in the year-round conversation about free software events and issues.

  • Are there two LibrePlanet sessions you want to see, and they're at the same time? Fear not, recordings will be available after the conference at https://media.libreplanet.org.

Win a raffle prize!

This year LibrePlanet will be having another awesome raffle. Buy tickets to support free software while also getting a chance to win:

All attendees get a gratis raffle ticket, FSF associate members get a second gratis ticket, and everyone can buy more chances to win at the GNU Press table during LibrePlanet, as well as at the Friday open house and Saturday evening social events! Buy one ticket for $2, 3 tickets for $5, one arm's length for $20, cash or credit. FSF staff and board members are not eligible to participate in the raffle.

Weather

Keep an eye on the weather and dress accordingly.

Thank you to our sponsors!

LibrePlanet 2019 is supported by several generous sponsors. Big thanks to Red Hat and Private Internet Access!

18 March, 2019 08:36PM

health @ Savannah

GNU Health installer 3.4.1

Dear community

The GNU Health installer (gnuhealth-setup) has been updated to 3.4.1.

It basically fixes an issue due to the removal of the the pybarcode library from pypi (https://savannah.gnu.org/bugs/?55942)

We have also updated the documentation to always download the latest installer as the first step (https://en.wikibooks.org/wiki/GNU_Health/Installation#Downloading_and_Installing_GNU_Health)

This applies for new installations / migrations.

Best
Luis

18 March, 2019 01:59PM by Luis Falcon

March 15, 2019

FSF Events

Richard Stallman à Lausanne, Suisse (Lausanne, Switzerland)

Ce discours de Richard Stallman ne sera pas technique, l'entrée sera libre, et tout le monde est invité à assister.

Thème du discours à déterminer.

Lieu: Bâtiment SG, EPFL (École polytechnique fédérale de Lausanne), Lausanne, Switzerland

Veuillez complèter notre formulaire de contact, pour que nous puissions vous annoncer de futurs événements dans la région de Lausanne.

15 March, 2019 05:19PM

Richard Stallman - "Free Software, Free Society" (Bern, Switzerland)

The Free Software Movement campaigns for computer users' freedom to cooperate and control their own computing. The Free Software Movement developed the GNU operating system, typically used together with the kernel Linux, specifically to make these freedoms possible.

Richard Stallman's speech will be nontechnical, admission is gratis, and the public is encouraged to attend.

Location: (room number to be determined), Institut fĂźr Wirtschaftsinformatik, Engehaldenstrasse 8, UNI-Bern, Switzerland

Please fill out our contact form, so that we can contact you about future events in and around Bern.

15 March, 2019 05:15PM

Richard Stallman à Grandvaux, Suisse (Grandvaux, Switzerland)

Ce discours de Richard Stallman ne sera pas technique, l'entrée sera libre, et tout le monde est invité à assister.

Thème du discours à déterminer.

Lieu: Living Lab Ecopol, Smala Ecovillage, rue Gare 17, 1091 Grandvaux, Suisse

Veuillez complèter notre formulaire de contact, pour que nous puissions vous annoncer de futurs événements dans la région de Grandvaux.

15 March, 2019 05:03PM

Richard Stallman à Genève, Suisse (Geneva, Switzerland)

Ce discours de Richard Stallman ne sera pas technique, l'entrée sera libre, et tout le monde est invité à assister.

Thème du discours à déterminer.

Lieu: Aula, Campus de Battelle, HEG-GE (Haute écolde de gestion de Genève), 1227 Carouge, Genève, Suisse

Veuillez complèter notre formulaire de contact, pour que nous puissions vous annoncer de futurs événements dans la région de Genève.

15 March, 2019 04:55PM

GNU Guix

Documentation video creation

Over the last few months, I have been working as an Outreachy intern with the GNU Guix crowd to develop videos presenting and documenting the project. My goal in this round as an Outreachy intern for the December 2018 to March 2019 period consists of creating introductory documentation videos about different topics for people who would like to use GNU Guix, admins and/or those who would like to join Guix community and don’t know where to start. Even interested or having a clear documentation, they might feel overwhelmed by it. I experienced this issue in the past with people in another context.

My main tasks consist of creating a workflow for automating as much as possible the process of creating the videos, as well as, of course, creating the videos themselves. Creating the videos is not that easy as it might seem, I have to design them (I cannot automate that part), let the audio match the video, and matching the exact timing is quite difficult. Something very important that I should mention is that the workflow currently allows translations to other languages.

It is a work in progress for too many reasons, specially because it keeps being improved all the time.

Also, I had to study tools deeply both for the creation of the workflow and the videos because I did not know them beforehand or I knew just the basics.

After trying several approaches for the workflow, the current one consists of creating “pieces of videos” and gluing them together in the end.

These “pieces of videos” may consist of:

  • Slide videos: they contain only a sequence of one or more slides.
  • Command line session videos: they contain only Guix or shell commands and their output, without showing any slide at all.
Workflow for creating each slide video.

slide

The inputs are SVG files and audio files. First, SVGs are converted to PNGs (“the slides”). Then, a text file having the order in which each slide will appear and the duration of the audio that matches it is created. An audio text file containing all the audio files sorted to have a complete audio file is created too. Lastly, with the slides' text file that has the reference to the slide files and the glued audio file the final slide video is made.

Workflow for creating each command line session video.

cli

The input is a session text file that has commands or meta-commands that are used to simulate, for example, the typing of a command, or the printing of it’s output. This file is passed to a Guile script that is in charge of executing the commands defined in the input text file and take text snapshots at a fixed time interval. Then, all these files are converted to postscript format. After that, they are transformed to SVG format. Finally, the process is repeated and the audio and the slides are glued to have final command line session video.

Workflow for creating the final video.

gluing

Slide videos and command line videos are a “bunch of videos” that need to be glued into the final one. They are sorted, and using the same tool for video creation our final introductory video is created.

The code for this video creation workflow is available on Savannah. Enjoy!

About GNU Guix

GNU Guix is a transactional package manager and an advanced distribution of the GNU system that respects user freedom. Guix can be used on top of any system running the kernel Linux, or it can be used as a standalone operating system distribution for i686, x86_64, ARMv7, and AArch64 machines.

In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. When used as a standalone GNU/Linux distribution, Guix offers a declarative, stateless approach to operating system configuration management. Guix is highly customizable and hackable through Guile programming interfaces and extensions to the Scheme language.

15 March, 2019 11:00AM by Laura Lazzati

March 14, 2019

FSF News

Activists and experts gather in Cambridge for ethical tech conference to celebrate software freedom on March 23-24

CAMBRIDGE, Massachusetts, USA -- Thursday, March 14, 2019 -- Next weekend, the Free Software Foundation (FSF) presents the eleventh annual LibrePlanet free software conference in Cambridge, March 23-24, 2019, at the Stata Center at the Massachusetts Institute of Technology. LibrePlanet is an annual conference for people who care about their digital freedoms, bringing together software developers, policy experts, activists, and computer users to learn skills, share accomplishments, and tackle challenges facing the free software movement, including 3D printing, cryptography, medical devices, privacy, security, and current issues in software licensing. LibrePlanet 2019 will focus on the exploration of software freedom and how to bring to life trailblazing, principled new technologies.

LibrePlanet 2019 will include four keynotes. Tarek Loubani, an emergency physician, will talk about his work on making medical devices accessible through free designs that meet medical industry standards. Micky Metts, a member of the Agaric Design Collective, will talk about your collective and individual roles in maintaining your freedoms, with free software as the foundation. Bdale Garbee, longtime free software contributor and former Debian Project Leader, will tell us about the fun in free software, using personal anecdotes as examples. Richard Stallman, founder of the FSF and president of the board of directors, will discuss current issues facing user freedom, and announce the winners of the 2018 Free Software Foundation awards.

"What makes LibrePlanet great is how it brings everyone from old hand activists to new free software enthusiasts from around the world to exchange ideas, collaborate, and take on challenges to software freedom," said John Sullivan, executive director of the FSF. "We run the event using entirely free software, putting our ideals into action. This conference builds the software community, by offering opportunities for those who cannot attend to participate remotely via watching a multi-channel livestream and online voice and text conversations."

In addition to keynote presentations, LibrePlanet will include: 36 sessions; a party and a hack night on Saturday; an exhibit hall with exciting free software projects, nonprofits, and companies; and community organized meetups. Sessions include such topics as "The Tor Project: State of the Onion," "Australia's decryption law and free software," "Free software in the 3D printing community," and the "The Right to Repair & the DMCA." There will be talks on activism, case studies, communities, licensing and legal issues, and technical issues.

Attendees may register online until Tuesday, March 19 at 10:00 EDT, after which point they can register onsite at the conference, space permitting. Attendance is gratis for students and FSF members. Journalists interested in press passes should contact campaigns@fsf.org.

LibrePlanet is financially supported in part by Red Hat and Private Internet Access.

About LibrePlanet

LibrePlanet is the annual conference of the Free Software Foundation. What was once a small gathering of FSF members has grown into a larger event for anyone with an interest in the values of software freedom. LibrePlanet is always gratis for associate members of the FSF and students. Sign up for announcements about the LibrePlanet conference here.

LibrePlanet 2018 was held at MIT from March 24-25, 2018. About 350 attendees from all over the world came together for conversations, workshops, and keynotes centered around the theme of "Freedom Embedded." You can watch videos from past conferences at https://media.libreplanet.org, including keynotes by Deb Nicholson, Seth Schoen, and Benjamin Mako Hill.

About the Free Software Foundation

The FSF, founded in 1985, is dedicated to promoting computer users' right to use, study, copy, modify, and redistribute computer programs. The FSF promotes the development and use of free (as in freedom) software -- particularly the GNU operating system and its GNU/Linux variants -- and free documentation for free software. The FSF also helps to spread awareness of the ethical and political issues of freedom in the use of software, and its Web sites, located at https://fsf.org and https://gnu.org, are an important source of information about GNU/Linux. Donations to support the FSF's work can be made at https://donate.fsf.org. Its headquarters are in Boston, MA, USA.

More information about the FSF, as well as important information for journalists and publishers, is at https://www.fsf.org/press.

Media Contact

Molly de Blanc
Campaigns Manager
Free Software Foundation
+1 (617) 542 5942
campaigns@fsf.org

14 March, 2019 09:01PM

March 11, 2019

coreutils @ Savannah

coreutils-8.31 released [stable]

11 March, 2019 12:48AM by Pádraig Brady

March 10, 2019

health @ Savannah

Thalamus 0.9.8 is out. HIS Migration from MongoDB to PosrgreSQL

Dear all

I am proud to announce the availability of Thalamus 0.9.8, which has been migrated from MongoDB to now interact with PostgreSQL .
(see related news https://savannah.gnu.org/forum/forum.php?forum_id=9366 )

Please make sure you update the package

$ pip3 install --user --upgrade thalamus

The interaction for the enduser and from GNU Health HMIS node will be transparent.

The Health Information System installation has been updated in Wikipedia. You can refer to https://en.wikibooks.org/wiki/GNU_Health/Federation_Technical_Guide#Installing_Thalamus

Please don't forget to report any issues you find to health@gnu.org

Bests
Luis

10 March, 2019 03:50AM by Luis Falcon

GNU Health HMIS 3.4.1 released

Dear community

GNU Health HMIS 3.4.1 patchset has been released !

Priority: High

Table of Contents

  • About GNU Health Patchsets
  • Updating your system with the GNU Health control Center
  • Summary of this patchset
  • Installation notes
  • List of issues related to this patchset

About GNU Health Patchsets

We provide "patchsets" to stable releases. Patchsets allow applying bug fixes and updates on production systems. Always try to keep your production system up-to-date with the latest patches.

Patches and Patchsets maximize uptime for production systems, and keep your system updated, without the need to do a whole installation.

NOTE: Patchsets are applied on previously installed systems only. For new, fresh installations, download and install the whole tarball (ie, gnuhealth-3.4.1.tar.gz)

Updating your system with the GNU Health control Center

Starting GNU Health 3.x series, you can do automatic updates on the GNU Health and Tryton kernel and modules using the GNU Health control center program.

Please refer to the administration manual section ( https://en.wikibooks.org/wiki/GNU_Health/Control_Center )

The GNU Health control center works on standard installations (those done following the installation manual on wikibooks). Don't use it if you use an alternative method or if your distribution does not follow the GNU Health packaging guidelines.

Summary of this patchset

Patch 3.4.1 fixes issues related to the generation of the Federation Account, and it adapts the ID field on the federation objects.

The gnuhealth-control program and the documentation / man page have also been updated.

It is important to know that since 3.4.1 and Thalamus 0.9.8, the Health Information System has been migrated from MongoDB to PostgreSQL.

Refer to the List of issues related to this patchset for a comprehensive list of fixed bugs.

Installation Notes

In most cases, GNU Health Control center (gnuhealth-control) takes care of applying the patches for you.

You must apply previous patchsets before installing this patchset.
You can find the patchsets at GNU Health main download site at GNU.org (https://ftp.gnu.org/gnu/health/)

Follow the general instructions at

After applying the patches, make a full update of your GNU Health database as explained in the documentation.

  • Restart the GNU Health Tryton server

List of issues and tasks related to this patchset

  • bug #55595: Remove unimplemented functionality fields from Federation Country
  • bug #55594: Traceback when creating a person without a system institution

For detailed information about each issue, you can visit https://savannah.gnu.org/bugs/?group=health
For detailed information about each task, you can visit https://savannah.gnu.org/task/?group=health

For detailed information you can read about Patches and Patchsets

10 March, 2019 03:37AM by Luis Falcon

March 07, 2019

FSF Blogs

What talks will you attend at LibrePlanet 2019?

LibrePlanet 2019 is coming up in only two weeks, and it's finally time to talk about... talks! The official schedule is now live, and we've got so many exciting presentations in store, addressing the social, ethical, legal, and technological past, present, and future of free software. Together, we'll explore the theme of "Trailblazing Free Software," asking the question, "How will free software continue to bring to life trailblazing, principled new technologies and new approaches to the world?"

If you're not already registered to attend LibrePlanet 2019, happening on March 23-24 at the Massachusetts Institute of Technology (MIT), in Cambridge, MA, register here! Free Software Foundation (FSF) members and students can attend gratis!

This year's schedule is packed with important project reports, debates, and discussions on the future of software freedom. Along with keynote speeches by Bdale Garbee, Micky Metts, Tarek Loubani, and Richard Stallman, you can choose from LibrePlanet talks that include:

On a lighter note, we're also looking forward to hearing Adam Monsen's talk on "Free software for safe and happy chickens." And of course, LibrePlanet 2019 will include the usual social events, with the traditional Friday evening social at the FSF office, and the Saturday night party in downtown Boston, location to be announced.

Pre-order your LibrePlanet 2019 T-shirt!

This year's T-shirt design imagines this year’s theme, “Trailblazing Free Software,” as a space journey to unexplored frontiers, featuring a cute little spaceship zooming out of a wormhole filled with eerie green planetoids. The space journey design is printed on a bold purple T-shirt made of soft, high-quality cotton.

You can pre-order yours before Wednesday, March 20, at midnight, EDT, to collect at the conference: just place the order for your shirt here; on the order page, you'll find a coupon code to reserve your shirt for pick-up at the GNU Press booth at the conference with no shipping fee. If you're not attending, you can still preorder, and we will ship you your shirt after the conference (in April). Either way, you wind up with an eye-catching limited edition tee that is sure to start conversations about the universe of possibilities presented by free software.

Last call for sponsors, exhibitors, and raffle prizes

Join LibrePlanet partner Red Hat and other free software supporters by becoming a LibrePlanet sponsor! Email us at campaigns@fsf.org if you'd like a booth in our lively exhibit hall. The deadline for sponsor and exhibitor registration is March 10.

We are also still looking for prizes to raffle off at this year's conference. If you or your company have a prize you would like to donate, please email campaigns@fsf.org. Examples of past LibrePlanet raffle prizes include a 3D printer running free software, a laptop with free BIOS and free GNU/Linux distro, and DRM-free eBook gift certificates.

Supporting LibrePlanet is a great way to support software freedom while engaging the diverse audience who attends the conference. Thanks to sponsors, exhibitors, and raffle prize donors, we can offer free admission to students, travel scholarships, welcoming event space and social activities, and refreshments for attendees and volunteers. Your generosity also enables LibrePlanet to run on free software infrastructure, including livestreaming and session recordings. Supporters receive acknowledgment on the Web, via social media, in the program book, and at the conference.

Whether you're exhibiting, sponsoring, or just attending, please spread the word about LibrePlanet 2019: blog or microblog to let people know that you'll be there, using the hashtag #libreplanet.

LibrePlanet needs volunteers -- maybe you!

In ten years, LibrePlanet has grown in size and scope -- and its continued success is thanks to dozens of volunteers who help prepare for and run the conference. Volunteering is a great way to meet fellow community members and contribute to the conference, even if you can't attend in person! If you are interested in volunteering for LibrePlanet 2019, email resources@fsf.org. We thank all of our volunteers by offering them gratis conference admission, lunch, and a LibrePlanet T-shirt.

07 March, 2019 08:15PM

March 06, 2019

unifont @ Savannah

GNU Unifont 12.0.01 Released

5 March 2019

GNU Unifont 12.0.01 is now available. This is a major release incorporating glyphs added in Unicode 12.0.0, which also was just released today.

Significant changes in this version include contributions from David Corbett and Johnnie Weaver. Notably, the Unifont Upper font has now reached 11,000 Unicode Plane 1 glyphs. New Unicode script ranges introduced in Unicode Standard version 12.0.0 that are included in this release are (in order of appearance in Unifont Upper): Elymaic, Tamil Supplement, Nandinagari, Egyptian Hieroglyph Format Controls, Small Kana Extension, Nyiakeng Puachue Hmong, Wancho, Ottoman Siyaq Numbers, Chess Symbols, and Symbols and Pictographs Extended-A. Full details are in the ChangeLog file.

This release also includes two new programs: unibmpbump and unihexrotate. unibmpbump, by Paul Hardy, adjusts images created by unihex2png but saved as Bitmap (".bmp") format files, for processing with unibmp2hex. unihexrotate, by David Corbett, rotates a set of glyphs in Unifont ".hex" format clockwise or counterclockwise by a specified number of quarter turns.

Download this release at:

https://ftpmirror.gnu.org/unifont/unifont-12.0.01/

or if that fails,

https://ftp.gnu.org/gnu/unifont/unifont-12.0.01/

or, as a last resort,

ftp://ftp.gnu.org/gnu/unifont/unifont-12.0.01/

Enjoy!

Paul Hardy
GNU Unifont Maintainer

06 March, 2019 05:49AM by Paul Hardy

March 02, 2019

health @ Savannah

GNU Health control center 3.4.1 is out !

Dear all

We just released GNU health control center 3.4.1 !

It mainly fixes an issue with the file format of the translation files from pootle on our GNU Health translation portal, when executing the getlang command.

You can update automatically the gnuhealth control center using the command

$ gnuhealth-control update

You can also find the program at our GNU FTP site (https://ftp.gnu.org/gnu/health/)

Best
Luis

02 March, 2019 07:26PM by Luis Falcon

February 28, 2019

GNUnet News

2019-02: GNUnet 0.11.0 released

2019-02: GNUnet 0.11.0 released

We are pleased to announce the release of GNUnet 0.11.0.

This is a major release after about five years of development. In terms of usability, users should be aware that there are still a large number of known open issues in particular with respect to ease of use, but also some critical privacy issues especially for mobile users. Also, the nascent network is tiny (about 200 peers) and thus unlikely to provide good anonymity or extensive amounts of interesting information. As a result, the 0.11.0 release is still only suitable for early adopters with some reasonable pain tolerance.

Download links

Note that due to mirror synchronization, not all links might be functional early after the release. For direct access try http://ftp.gnu.org/gnu/gnunet/

Note that GNUnet is now started using gnunet-arm -s. GNUnet should be stopped using gnunet-arm -e.

Noteworthy changes in 0.11.0

  • The Web site and manuals have undergone significant rework. You can find an archive of the old Web site at old.gnunet.org.
  • The code now builds again on macOS. GNUnet on macOS is experimental. While it builds and seems to run fine, some tests are known to fail.
  • Build process now works properly with libidn2
  • Except for gnunet-qr, all Python code was migrated to Python 3.7.
  • Fixed security issues in secret sharing cryptography logic
  • Services running out of file descriptors on accept() no longer busy wait
  • Fixed crash in gnunet-gns2dns proxy
  • GNS responses are now padded to minimize information disclosure from the size
  • Fixed API issues and (rare) crash bugs in CADET
  • The experimental SecuShare code is not included in the release, you can now find it in the gnunet-secushare Git repository.
  • The Ascension tool (separate download) now allows importing DNS zones into GNS via AXFR.
  • GNUnet now includes a decentralised identity attribute sharing service: reclaimID. A ready-to-use client can be found in an external repo.
  • The code now builds again on NetBSD. GNUnet on NetBSD is experimental. While it builds and seems to run fine, full support requires more changes in the core of GNUnet It will soon be available via pkgsrc.
  • Many things changed on the build system side. If you package GNUnet for an operating system or otherwise package manager, make sure that you read the README.

The above is just the short list, our bugtracker lists over 100 individual issues that were resolved since 0.11.0pre66.

Known Issues

  • There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.
  • There are known moderate implementation limitations in CADET that negatively impact performance. Also CADET may unexpectedly deliver messages out-of-order.
  • There are known moderate design issues in FS that also impact usability and performance.
  • There are minor implementation limitations in SET that create unnecessary attack surface for availability.
  • The RPS subsystem remains experimental.
  • Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.

In addition to this list, you may also want to consult our bug tracker at bugs.gnunet.org which lists about 150 more specific issues.

28 February, 2019 12:00AM

February 26, 2019

dico @ Savannah

February 24, 2019

Sylvain Beucler

Android Free dev repository

Android Rebuilds, which provides freely-licensed Android development tools, starts a public repository with F-Droid :)

https://mirror.f-droid.org/android-free/repository/

We're now trying to make it usable for sdkmanager, which should vastly ease the installation process (download what you need, rather than huge mono-version bundles).
Help is welcome to format the repository and possibly adding a way to override sdkmanager's default repositories, join the conversation!

https://forum.f-droid.org/t/call-for-help-making-free-software-builds-of-the-android-sdk/4685

24 February, 2019 08:26PM

February 23, 2019

tar @ Savannah

Version 1.32

GNU tar version 1.32 is available for download.

New in this release:

  • Fix the use of --checkpoint without explicit --checkpoint-action
  • Fix extraction with the -U option

See http://lists.gnu.org/archive/html/bug-tar/2019-01/msg00015.html,
for details

  • Fix iconv usage on BSD-based systems
  • Improve the testsuite

23 February, 2019 01:15PM by Sergey Poznyakoff

cflow @ Savannah

Version 1.6

Version 1.6 is available for download. New in this version:

New option --all (-A)

Produce graphs for all global functions in the program. Use this
option if your program contains functions which are not directly
reachable from main().

The output consist of separate flow graphs for each global function
defined in the program. These graphs will be placed after the graph
for main() (if it exists), and will be ordered lexicographically by
the function name.

New option --no-main

This option has the same effect as '--all', except that the graph for
main() function (if it exists) is treated same way as all the other
graphs, i.e. it will not be placed at the top of output, but in its
place as per the lexicographic ordering of function names.

23 February, 2019 12:54PM by Sergey Poznyakoff

mailutils @ Savannah

Version 3.6

Version 3.6 is available for download.

For the list of changes in this version, please see the NEWS file entry.

23 February, 2019 12:20PM by Sergey Poznyakoff

February 22, 2019

parallel @ Savannah

GNU Parallel 20190222 ('Baghuz') released

GNU Parallel 20190222 ('Baghuz') has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/

Quote of the month:

With GNU Parallel you sure can!
I like getting things done

--Kyle Lady @kylelady@twitter

New in this release:

  • --shard makes it possible to send input to the same jobslot based on the value in one column of the input. It is similar to sharding in databases.
  • --shellquote --shellquote will shell quote the input twice.
  • Parallelizing Freesurfer blog.cogneurostats.com/?p=148
  • Bug fixes and man page updates.

Get the book: GNU Parallel 2018 http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html

GNU Parallel - For people who live life in the parallel lane.

About GNU Parallel

GNU Parallel is a shell tool for executing jobs in parallel using one or more computers. A job can be a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. A job can also be a command that reads from a pipe. GNU Parallel can then split the input and pipe it into commands in parallel.

If you use xargs and tee today you will find GNU Parallel very easy to use as GNU Parallel is written to have the same options as xargs. If you write loops in shell, you will find GNU Parallel may be able to replace most of the loops and make them run faster by running several jobs in parallel. GNU Parallel can even replace nested loops.

GNU Parallel makes sure output from the commands is the same output as you would get had you run the commands sequentially. This makes it possible to use output from GNU Parallel as input for other programs.

You can find more about GNU Parallel at: http://www.gnu.org/s/parallel/

You can install GNU Parallel in just 10 seconds with:
(wget -O - pi.dk/3 || curl pi.dk/3/ || fetch -o - http://pi.dk/3) | bash

Watch the intro video on http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

Walk through the tutorial (man parallel_tutorial). Your command line will love you for it.

When using programs that use GNU Parallel to process data for publication please cite:

O. Tange (2018): GNU Parallel 2018, March 2018, https://doi.org/10.5281/zenodo.1146014.

If you like GNU Parallel:

  • Give a demo at your local user group/team/colleagues
  • Post the intro videos on Reddit/Diaspora*/forums/blogs/ Identi.ca/Google+/Twitter/Facebook/Linkedin/mailing lists
  • Get the merchandise https://gnuparallel.threadless.com/designs/gnu-parallel
  • Request or write a review for your favourite blog or magazine
  • Request or build a package for your favourite distribution (if it is not already there)
  • Invite me for your next conference

If you use programs that use GNU Parallel for research:

  • Please cite GNU Parallel in you publications (use --citation)

If GNU Parallel saves you money:

About GNU SQL

GNU sql aims to give a simple, unified interface for accessing databases through all the different databases' command line clients. So far the focus has been on giving a common way to specify login information (protocol, username, password, hostname, and port number), size (database and table size), and running queries.

The database is addressed using a DBURL. If commands are left out you will get that database's interactive shell.

When using GNU SQL for a publication please cite:

O. Tange (2011): GNU SQL - A Command Line Tool for Accessing Different Databases Using DBURLs, ;login: The USENIX Magazine, April 2011:29-32.

About GNU Niceload

GNU niceload slows down a program when the computer load average (or other system activity) is above a certain limit. When the limit is reached the program will be suspended for some time. If the limit is a soft limit the program will be allowed to run for short amounts of time before being suspended again. If the limit is a hard limit the program will only be allowed to run when the system is below the limit.

22 February, 2019 09:34PM by Ole Tange

February 21, 2019

GNU Guix

Guix Days: Bootstrapping ARM

During the Guix Days before FOSDEM, some of us discussed bootstrapping on ARM architectures. We focused on how to port Mes to ARM. This post consists of notes from that discussion.

Recap: i686/x86_64 Reduced Binary Seed

We started our discussion by reviewing the current status for i686-linux and x86_64-linux. Jan (janneke) Nieuwenhuizen gave a similar summary a few days later at FOSDEM, and you can read the slides online.

Previously, the size of Guix's binary seed totaled about 250 MB. Now, on the core-updates branch, it's been reduced to about 130 MB. This is nearly a 50% reduction in size, which is great progress! Using this 130 MB reduced binary seed, it's currently possible to bootstrap Guix for both i686-linux and x86_64-linux.

To bootstrap x86_64-linux, we actually "cheat" and bootstrap from the i686-linux bootstrap binaries. This is possible because an x86_64-linux system can natively run i686-linux executables, and also because Guix automatically cross-compiles for the host platform during the bootstrap process. In other words, on an x86_64-linux system, Guix uses the i686-linux bootstrap binaries to build a cross-compilation toolchain, which it then uses to build a final, normal x86_64-linux toolchain. Guix then uses this final toolchain to build everything else for the x86_64-linux system.

That's great news for owners of i686 and x86_64 machines! But what about ARM? Although we could cross-compile the bootstrap binaries for ARM from an x86_64 machine, this isn't great because it would increase the number of things a person or organization would have to verify in order to audit the system. Perhaps more importantly, it would force owners of ARM machines to implicitly trust an x86_64 machine. The dominant vendors of CPUs implementing the x86_64 architecture, Intel and AMD, both include a management engine in many of their products, which represents a serious risk to user freedom.

In the short term, cross-compilation is better than nothing, but in the long term, we'd prefer to bootstrap ARM without cross-compiling from another architecture. Concretely, we'll need to complete at least the following tasks.

TODO: Implement a Mes backend for ARM

We need to implement a new Mes backend for an ARM architecture. We should choose an ARM instruction set that can work on a variety of ARM platforms with minimal fuss. The following candidates were suggested:

  • ARMv4. We would need to avoid unaligned memory accesses because they can behave in different ways depending on the CPU. This is the latest version of ARM that GCC 2.95 supports, which matters because GCC 2.95 is the latest version that the Mes C Library supports.

  • ARMv7. If we avoid extensions and unaligned memory accesses, it might still work for our needs. It was mentioned in the session that TinyCC will probably work with either ARMv4 or ARMv7. In TinyCC, as a first step, it's probably fine to depend on ARMv7 since it's the most common recent architecture version (and it is more forgiving). Later, if we remove unaligned accesses, it will also work on ARMv4 and thus on basically all ARM CPUs.

After the session concluded, Danny Milosavljevic committed some changes to the wip-arm branch of mes which enabled many of the tests to pass - but some tests still fail, and you can help finish the work!

TODO: Port mescc-tools to ARM, also

The mes project depends upon the mescc-tools project, which also must be ported. The mescc-tools project contains an M1 macro assembler, which would need to be extended to support ARM branches. Currently, ARM branches are very broken.

TODO: Improve Guix integration and merge core-updates

Even if we had a new Mes backend and mescc-tools for ARM, there would still be more to do. The Guix integration is not quite complete - the core-updates branch still needs to be merged with master, and we'll need to fix any problems that arise. Even on i686-linux, the bottom of the bootstrap path is incomplete. Preliminary Guix code exists on the wip-bootstrap branch to achieve a scheme-only bootstrap, but help would be welcome!

You can help!

In summary, you can help the Mes project by doing any of the following things:

  • Help implement an ARMv7 (or ARMv4) backend for Mes! This entails machine code and assembly. It should be fun for anyone who wants to play around close to the metal.

  • Help port mescc-tools to ARM. This entails writing an assembler in M1 macro code and probably goes hand-in-hand with work on Mes itself.

  • Help firm up core-updates and merge it to master! This involves Guix package definitions and troubleshooting build failures. It should be fun for anyone who wants to learn more about the bigger picture of how Guix bootstraps all of its software from the new reduced binary seed.

  • Help complete the i686-linux and x86_64-linux bootstrap. You can hack on the bleeding edge scheme code in the wip-bootstrap branch, or maybe you can help extend the bootstrap path all the way down to approximately 500 bytes of auditable assembly code!

There's still plenty of meaty work left to be done! If you're interested, get in touch and we'll help you get started.

Think Big: Bootstrapping without an OS

In addition to the immediate tasks necessary for porting Mes to ARM, we also took some time to think about the long term hopes and dreams of the bootstrappable project.

We discussed how in the long term, in parallel with the aforementioned tasks, it should be possible to investigate how to bootstrap an entire system without relying on a OS or even a kernel running on the machine. For example, one can imagine loading the transitive closure of source (including a tiny, human-readable machine code program to kick off the entire process) into a computer as a kind of "firmware image". When the computer runs, it would execute this "firmware image" and eventually produce a fully bootstrapped system.

Think Bigger: Bootstrapping Hardware

We also briefly talked about how even after we achieve full source software bootstrap, we will still need to tackle the problem of "hardware bootstrap". It isn't clear what form this will eventually take, but surely free hardware design will play an important role in ensuring that we can trust our hardware, too.

About Bootstrappable Builds and Mes

Software is bootstrappable when it does not depend on a binary seed that cannot be built from source. Software that is not bootstrappable - even if it is free software - is a serious security risk for a variety of reasons. The Bootstrappable Builds project aims to reduce the number and size of binary seeds to a bare minimum.

GNU Mes is closely related to the Bootstrappable Builds project. Mes aims to create an entirely source-based bootstrapping path for the Guix System and other interested GNU/Linux distributions. The goal is to start from a minimal, easily inspectable binary (which should be readable as source) and bootstrap into something close to R6RS Scheme.

Currently, Mes consists of a mutual self-hosting scheme interpreter and C compiler. It also implements a C library. Mes, the scheme interpreter, is written in about 5,000 lines of code of simple C. MesCC, the C compiler, is written in scheme. Together, Mes and MesCC can compile a lightly patched TinyCC that is self-hosting. Using this TinyCC and the Mes C library, it is possible to bootstrap the entire Guix System for i686-linux and x86_64-linux.

About GNU Guix

GNU Guix is a transactional package manager and an advanced distribution of the GNU system that respects user freedom. Guix can be used on top of any system running the kernel Linux, or it can be used as a standalone operating system distribution for i686, x86_64, ARMv7, and AArch64 machines.

In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. When used as a standalone GNU/Linux distribution, Guix offers a declarative, stateless approach to operating system configuration management. Guix is highly customizable and hackable through Guile programming interfaces and extensions to the Scheme language.

21 February, 2019 11:00PM by Chris Marusich

February 19, 2019

Sylvain Beucler

RenPyWeb - Ren'Py in your HTML5 web browser

I like the Ren'Py project, a popular game engine aimed at Visual Novels - that can also be used as a portable Python environment.

One limitation was that it required downloading games, while nowadays people are used to Flash- or HTML5- based games that play in-browser without having to (de)install.

Can this fixed? While maintaining compatibility with Ren'Py's several DSLs? And without rewriting everything in JavaScript?
Can Emscripten help? While this is a Python/Cython project?
After lots of experimenting, and full-stack patching/contributing, it turns out the answer is yes!

Live demo:
https://renpy.beuc.net/
The Question Tutorial Your game

At last I finished organizing and cleaning-up, published under a permissive free software / open source license, like Python and Ren'Py themselves.
Python port:
https://www.beuc.net/python-emscripten/python/dir?ci=tip
Build system:
https://github.com/renpy/renpyweb

Development in going on, consider supporting the project!
Patreonhttps://www.patreon.com/Beuc

19 February, 2019 06:38PM

Riccardo Mottola

ArcticFox has working DevTools again

The past release of 27.9.15 ArcticFox has the Developer Tools working again, they were broken previously because of excessive work on Private browsing.

You can see them here in full action:


ArcticFox continues the work as a fork of PaleMoon trying to catch up with past releases of FireFox.
It has been succesfully backported up to MacOS 10.6 SnowLeopard, is working reliably on Linux x86, amd64 and PowerPC 32bit and 64bit.

If you like the browser, we need your help!

19 February, 2019 03:46PM by Riccardo (noreply@blogger.com)

February 17, 2019

texinfo @ Savannah

Texinfo 6.6 released

We have released version 6.6 of Texinfo, the GNU documentation format.

It's available via a mirror (xz is much smaller than gz, but gz is available too just in case):

https://ftp.gnu.org/gnu/texinfo/texinfo-6.6.tar.xz
https://ftp.gnu.org/gnu/texinfo/texinfo-6.6.tar.gz

Please send any comments to bug-texinfo@gnu.org.
Full announcement:
http://lists.gnu.org/archive/html/info-gnu/2019-02/msg00004.html

17 February, 2019 09:03AM by Gavin D. Smith

freedink @ Savannah

GNU FreeDink 109.6

Here's a new release of GNU FreeDink :)
https://ftp.gnu.org/gnu/freedink/freedink-109.6.tar.gz
https://www.gnu.org/software/freedink/
https://play.freedink.org/

This is the first official announcement for the new 109.x line with updated technologies (SDL2, OpenGL), WebAssembly support and many fixes and improvements.

About GNU FreeDink:

Dink Smallwood is an adventure/role-playing game, similar to classic Zelda, made by RTsoft. Besides twisted humor, it includes the actual game editor, allowing players to create hundreds of new adventures called Dink Modules or D-Mods for short.

GNU FreeDink is a new and portable version of the game engine, which runs the original game as well as its D-Mods, with close compatibility, under multiple platforms.

17 February, 2019 12:48AM by Sylvain Beucler

February 16, 2019

remotecontrol @ Savannah

2019 Amazon Alexa vs. Google Home

https://www.androidcentral.com/thrifter-deal-honeywell-programmable-7-day-wi-fi-thermostat

Amazon is winning the hardware war with Google for device supremacy in the consumer market. Honeywell is almost giving their Alexa-enabled thermostat device away to customers as a rapid advancement maneuver.

16 February, 2019 12:59PM by Stephen H. Dawson DSL

February 12, 2019

health @ Savannah

GNU Health Federation Information System moves from MongoDB to PostgreSQL

Dear all

Thalamus is one of the components of the GNU Health project. It is the GNU Health Federation message and authentication server, and currently connects to MongoDB to manage the demographics and health data from all the participating nodes of the Federation.

As you may know, by the end of 2018, MongoDB decided to change license of the server to their Server Side Public License (SSPL)
(https://www.mongodb.com/blog/post/mongodb-now-released-under-the-server-side-public-license)

Due to the license change in MongoDB, many GNU/Linux distributions are no longer including the mongodb server (see references)

SSPL has not gotten the approval from OSI, and the Free Software Foundation is still reviewing it, but they have expressed concerns.

Versions of MongoDB server previous to October 2018 are still on GPL v3, but, sadly, MongoDB will no longer maintain them. No bugs fixes or security patches will be provided under this GPL license.

The combination of license change, rejection of large part of the Libre software community and the immediate end of support from GPL versions of MongoDB forced us to look for an alternative fast. I have taken the decision to move to a community-based platform that delivers the current GNU Health Federation functionality.

In this context, after evaluating different possibilities and listening to the community, I have chosen PostgreSQL to interact with Thalamus. PostgreSQL is a solid, community-based database server. The recent JSON(B) support provides the flexibility and scalability found in document oriented engines.

GNU Health has been using PostgreSQL since 2008 for its Hospital Management System functionality, so we are familiar with it. We are excited and looking forward to adopting PostgreSQL as our Person Master Index and Health Information System.

Development of the upcoming Thalamus server supporting PostreSQL has already started, and technical documentation will be updated accordingly.

All the best
--
Dr. Luis Falcon, M.D., BSc
President, GNU Solidario
GNU Health: Freedom and Equity in Healthcare
http://health.gnu.org
GPG Fingerprint :ACBF C80F C891 631C 68AA 8DC8 C015 E1AE 0098 9199

References:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=915537#15
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/IQIOBOGWJ247JGKX2WD6N27TZNZZNM6C/
https://bugzilla.opensuse.org/show_bug.cgi?id=1122267

12 February, 2019 10:18PM by Luis Falcon

February 11, 2019

FSF News

FSF Fiscal Year 2017 Annual Report now available

The report is viewable as a Web site or high resolution PDF.

The Annual Report reviews the FSF's activities, accomplishments, and financial picture from October 1, 2016 to September 30, 2017. It is the result of a full external financial audit, along with a focused study of program results. It examines the impact of the FSF's events, programs, and activities, including the annual LibrePlanet conference, the Respects Your Freedom (RYF) hardware certification program, and the fight against Digital Restrictions Management (DRM).

"Software filters the information we receive about the world, the messages we put out into the world, and even the way we physically move in the world," said FSF executive director John Sullivan in his introduction to the FY2017 report. "If the software is not free 'as in freedom'... the consequences for the rest of us will be loss of democracy, privacy, security, freedom of speech, freedom of movement -- and even loss of life."

The FSF publishes its financials and annual report as part of their commitment to transparency. Along with its strong financial health, accountability and transparency are the reasons the FSF is a Charity Navigator Four Star Charity.

As with all of the Foundation's activities, the Annual Report was made using free software, including Pelican, Scribus, GIMP, and Inkscape, along with freely licensed fonts and images. If you would like a printed copy of the Annual Report, or have any questions or comments, please email campaigns@fsf.org.

About the Free Software Foundation

The Free Software Foundation, founded in 1985, is dedicated to promoting computer users' right to run, change, share, and contribute to computer programs. The FSF promotes the development and use of free (as in freedom) software -- particularly the GNU operating system and its GNU/Linux variants -- and free documentation for free software. The FSF also helps to spread awareness of the ethical and political issues of freedom in the use of software, and its Web sites, located at https://fsf.org and https://gnu.org, are an important source of information about GNU/Linux. Donations to support the FSF's work can be made at https://donate.fsf.org. Its headquarters are in Boston, MA, USA.

More information about the FSF, as well as important information for journalists and publishers, is at https://www.fsf.org/press.

Media Contact

Molly de Blanc
Campaigns Manager
Free Software Foundation
+1 (617) 542 5942
campaigns@fsf.org

11 February, 2019 07:25PM

February 08, 2019

Christopher Allan Webber

Libre Lounge

Did I somehow not blog here that I started co-hosting a podcast named Libre Lounge with my friend Serge Wroclawski? We're talking about all sorts of topics facing user freedom. Take a look at the archive and you might find something you like!

At the time of writing we've also had on one guest, Karen Sandler. This was a really nice treat since the show Free as in Freedom, which Karen co-hosts, is clearly a big influence on Libre Lounge. Anyway, we plan to have on lots more guests in the future.

Hope you enjoy!

08 February, 2019 02:13PM by Christopher Lemmer Webber

February 07, 2019

Riccardo Mottola

GIMP 2.10.6 working on MacOS Leopard!

My white MacBook is a perfectly fine computer, has an excellent screen and keyboard (superior to later models I have) so even if it is running a legacy OS version, I'd love to continue using it and, perhaps, other of you are in the same situation.

Besides ArcticFox (which I got running on 10.6, but not on 10.5 yet) and various developer tools, the most essential tool I like to have is GIMP, also given the excellent LCD this Laptop has.

Some work from macports to get up-to-date tools and dependent libraries, I patched its package.

Little work was needed in GIMP itself, I shared all the patches upstream and I hope they will be accepted. The remaining issues are in GEGL, but different solutions are available: essentially realpath doesn't like a null argument.

Enjoy this screenshot as a proof.



Next question: will it work on PowerPC too? I hope so! Getting GIMP to work on 10.5 opens this possibility.

P.S.: this post was written directly on the MacBook i386 using TenFourFox running natively on Intel!

07 February, 2019 10:56PM by Riccardo (noreply@blogger.com)

FSF News

Vikings D8 Mainboard and D8 Workstation now FSF-certified to Respect Your Freedom

D8 workstation Image

These are the fourth and fifth devices from Vikings to receive RYF certification. The Vikings D8 Mainboard is an ASUS KCMA-D8 that comes with Trisquel GNU/Linux. Like the previously certified Vikings D16, it is a powerful mainboard suitable for use as a workstation or server. The Vikings D8 Workstation brings the D8 Mainboard together with a variety of options to provide a robust workstation for users. Both are available for purchase at https://store.vikings.net.

"The more options users have for RYF-certified mainboards, the easier it is for them to build a machine that is completely under their control. Having an already assembled workstation available as an option is also a great improvement to the program. This is an area in which we hope to see continued growth, so that every user can get what they want when it comes to a server or workstation," said the FSF's licensing and compliance manager, Donald Robertson, III.

Vikings received their first three certifications in spring of 2017, and has steadily worked to continue offering new RYF-certifiable devices.

"When we announced the first certifications for Vikings we knew they would be back soon with even more. Vikings is building an impressive lineup of freedom-respecting hardware and we're excited to see the D8 Mainboard and Workstation as their latest additions," said the FSF's executive director, John Sullivan.

"The Vikings Store is dedicated to helping users purchase ready to go, libre-friendly systems. Together with the Free Software Foundation, we have put a lot of effort into offering a high-performance, owner-controllable system at an affordable price. This machine is aimed at the security-conscious, as well as users who prefer a computer that runs free software from the ground up as an ethical choice. That is why we are pleased to see the Vikings D8 Workstation receive RYF certification. We would like to thank Timothy Pearson of Raptor Engineering, Inc. for their reverse engineering and porting work which laid the very foundation for making this possible," said Vikings CEO Thomas Umbach.

To learn more about the Respects Your Freedom certification program, including details on the certification of the Vikings D8 Workstation and Mainboard, please visit https://fsf.org/ryf.

Hardware sellers interested in applying for certification can consult https://www.fsf.org/resources/hw/endorsement/criteria.

About the Free Software Foundation

The Free Software Foundation, founded in 1985, is dedicated to promoting computer users' right to use, study, copy, modify, and redistribute computer programs. The FSF promotes the development and use of free (as in freedom) software -- particularly the GNU operating system and its GNU/Linux variants -- and free documentation for free software. The FSF also helps to spread awareness of the ethical and political issues of freedom in the use of software, and its Web sites, located at https://fsf.org and https://gnu.org, are an important source of information about GNU/Linux. Donations to support the FSF's work can be made at https://donate.fsf.org. Its headquarters are in Boston, MA, USA.

More information about the FSF, as well as important information for journalists and publishers, is at https://www.fsf.org/press.

About Vikings

Vikings ships libre-friendly hardware world-wide and has an ever-growing number of FSF RYF certfified devices that truly respects your freedom. Vikings is also the world's first libre-friendly hosting company running on fully libre hosting software and a libre-friendly and owner-controllable hardware platform. All services are based on 100% libre software and are powered by 100% certified green energy.

Media Contacts

Donald Robertson, III
Licensing and Compliance Manager
Free Software Foundation
+1 (617) 542 5942
licensing@fsf.org

Vikings GmbH
Thomas Umbach
+49 69 247 54 91 0
hello@vikings.net
https://www.vikings.net/
https://store.vikings.net/

Updated on February 11th, 2019, to correct some details.

Image by Vikings GmbH is licensed under a CC0 1.0 Universal (CC0 1.0) Public Domain Dedication license.

07 February, 2019 08:25PM

GNU Guix

QA on non-Intel at Guix Days

During the second day of Guix Days (a FOSDEM fringe event) we split up into smaller working groups based on our areas of interest. I led a group which aimed to address some of the package issues which exist on non-Intel architectures. Of course not everyone has access to an ARM board, but with the qemu-binfmt-service service it is possible to use QEMU and the binfmt_misc functionality of the Linux kernel to emulate these systems. Many have reported that this system emulation is comparable in speed to many of the available ARM boards on the market. Yet another possibility would be to do the hacking on an x86_64 system and, when we had a working prototype, to test it with QEMU or on actual ARM hardware.

Our group decided to tackle Go, which was lacking support in Guix on armhf and aarch64. Upon checking the build logs from Cuirass and the source code for Go we determined that Go did indeed require the gold linker from the GNU Binutils. We didn't want to modify the copy of Binutils in Guix since it is part of our bootstrap story, so we quickly put together a new package definition which added the configure flag to enable gold.

(define-public binutils-gold
  (package
    (inherit binutils)
    (name "binutils-gold")
    (arguments
     (substitute-keyword-arguments (package-arguments binutils)
       ((#:configure-flags flags)
        `(cons "--enable-gold=default" ,flags))))))

This was an obvious first step, and one which we knew would fail. Had it been this easy gold would have been enabled back in 2012 when it was first added. Our error came in the form of one of the binaries not being able to link against libstdc++.so, which is in the gcc:lib output. This was quickly added and we were off and building again.

(define-public binutils-gold
  (package
    (inherit binutils)
    (name "binutils-gold")
    (arguments
     (substitute-keyword-arguments (package-arguments binutils)
       ((#:configure-flags flags)
        `(cons "--enable-gold=default" ,flags))))
    (inputs
     `(("gcc:lib" ,gcc "lib")))))

Once again this failed. What were we missing? The correct paths were included, the file was indeed in the gcc:lib output. We inspected the original binutils package again noticed that it was built against a static libgcc, so of course it wouldn't find the shared library. In order to work quickly we copied the configure flags rather than inheriting them from binutils and tried our build again.

(define-public binutils-gold
  (package
    (inherit binutils)
    (name "binutils-gold")
    (arguments
     (substitute-keyword-arguments (package-arguments binutils)
       ((#:configure-flags flags)
        `(cons* "--enable-gold=default"
                "--enable-new-dtags"
                "--with-lib-path=/no-ld-lib-path"
                "--enable-install-libbfd"
                "--enable-deterministic-archives"))))
    (inputs
     `(("gcc:lib" ,gcc "lib")))))

This time we made it through the full build phase and we knew we were almost there. Our enthusiasm was quickly dampened when we got the error during the tests: unable to find the 'dc' program. What is this dc program? This isn't any package any of us had heard of before. It definitely wasn't packaged in Guix. A quick apt-cache search dc search in Ubuntu showed they didn't have package either. A second search of Ubuntu, apt-file search dc | grep '/bin/dc' quickly showed us it was in the bc package, and soon we were building binutils-gold again.

(define-public binutils-gold
  (package
    (inherit binutils)
    (name "binutils-gold")
    (arguments
     (substitute-keyword-arguments (package-arguments binutils)
       ((#:configure-flags flags)
        `(cons* "--enable-gold=default"
                "--enable-new-dtags"
                "--with-lib-path=/no-ld-lib-path"
                "--enable-install-libbfd"
                "--enable-deterministic-archives"))))
    (native-inputs
     `(("bc" ,bc)))
    (inputs
     `(("gcc:lib" ,gcc "lib")))))

Approaching the end of the check phase we soon ran into another error, there was an unpatched /bin/sh somewhere in the source code which was generated during the check phase. Based on the build logs we were able to track down approximately where the code should be, so we downloaded the source tar xf $(guix build --source binutils) and started looking. There were many obvious /bin/sh calls which we cross-referenced with the build logs and the patch-source-shebangs phase, and this left us with some code in gold/Makefile.in, which by default is not included in the patch-source-shebangs and would need to be fixed manually.

(define-public binutils-gold
  (package
    (inherit binutils)
    (name "binutils-gold")
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-after 'patch-source-shebangs 'patch-more-shebangs
           (lambda _
             (substitute* "gold/Makefile.in"
               (("/bin/sh") (which "sh")))
             #t)))
       ,@(substitute-keyword-arguments (package-arguments binutils)
         ((#:configure-flags flags)
          `(cons* "--enable-gold=default"
                  "--enable-new-dtags"
                  "--with-lib-path=/no-ld-lib-path"
                  "--enable-install-libbfd"
                  "--enable-deterministic-archives")))))
    (native-inputs
     `(("bc" ,bc)))
    (inputs
     `(("gcc:lib" ,gcc "lib")))))

One more build cycle later and we did it! /gnu/store/…-binutils-gold-2.31.1 existed! We now did two things, we copied our patch over to an aarch64 build machine and we started cleaning up our package definition on our x86_64 build machine, where we knew we had a working package definition.

(define-public binutils-gold
  (package
    (inherit binutils)
    (name "binutils-gold")
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-after 'patch-source-shebangs 'patch-more-shebangs
           (lambda _
             (substitute* "gold/Makefile.in"
               (("/bin/sh") (which "sh")))
             #t)))
       ,@(substitute-keyword-arguments (package-arguments binutils)
         ((#:configure-flags flags)
          `(cons* "--enable-gold=default"
                  (delete "LDFLAGS=-static-libgcc" ,flags))))))
    (native-inputs
     `(("bc" ,bc)))
    (inputs
     `(("gcc:lib" ,gcc "lib")))))

Fortunately for us the changes in the code worked on x86_64 and we still got a working binutils-gold output. On our aarch64 side the build was progressing nicely and everything seemed fine... until we suddenly were presented with big red errors about unrelocatable code. How could it? Everything was working so well! Undeterred, we built the source again, this time targeting armhf and were unfortunately presented with similar errors. Deciding to address the test failures later (It's ARM! It's not as well tested as other architectures! Right?) we disabled the tests and unsurprisingly binutils-gold built on both aarch64 and armhf.

(define-public binutils-gold
  (package
    (inherit binutils)
    (name "binutils-gold")
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-after 'patch-source-shebangs 'patch-more-shebangs
           (lambda _
             (substitute* "gold/Makefile.in"
               (("/bin/sh") (which "sh")))
             #t)))
       ,@(substitute-keyword-arguments (package-arguments binutils)
         ((#:tests? _ #f) #f)
         ((#:configure-flags flags)
          `(cons* "--enable-gold=default"
                  (delete "LDFLAGS=-static-libgcc" ,flags))))))
    (native-inputs
     `(("bc" ,bc)))
    (inputs
     `(("gcc:lib" ,gcc "lib")))))

Now for the real test. Due to bootstrapping issues with Go and aarch64, aarch64 uses Go@1.4 built for armhf. Go@1.11 failed to build until now because it was missing the gold linker. Surely using the gold linker would be a good test if our package worked. Since Go for aarch64 is 'more complex' due to the bootstrapping using armhf's Go, we decided to test armhf first. binutils-gold was added and our build started.

    (native-inputs
     `(("go" ,go-1.4)
+      ,@(match (%current-system)
+          ((or "armhf-linux" "aarch64-linux")
+           `(("gold" ,binutils-gold)))
+          (_ `()))
       ,@(package-native-inputs go-1.4)))

First build, success! /gnu/store/…-go-1.11.5 exists! OK, but does it actually work? guix build syncthing --system=armhf-linux. /gnu/store/…-syncthing-1.0.0 exists too! A quick check of guix refresh --list-dependent go@1.4 showed that we had unlocked 176 new packages for armhf. Even better, since they had all failed by default due to go@1.11 failing to build, for each package that did build meant one fewer package which failed to build which should take a big bite out of our build failures.

Our next test was syncthing for aarch64. /gnu/store/…-go-1.11.5 exists! /gnu/store/…-syncthing-1.0.0 ... does not. "unknown architecture 'armv7-a'." It seems that Go is confused which architecture it is building for. Unfortunately we were reaching the end of our time for hacking, so that will have to wait for another day. All that was left now was the test failures on binutils-gold for the ARM systems. Some attempts at cargo-culting other code failed (per-architecture tests we had and overriding flags in substitute-keyword-arguments we had, but not together), but after some attempts we were able to create a working package definition we were happy with.

(define-public binutils-gold
  (package
    (inherit binutils)
    (name "binutils-gold")
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-after 'patch-source-shebangs 'patch-more-shebangs
           (lambda _
             (substitute* "gold/Makefile.in"
               (("/bin/sh") (which "sh")))
             #t)))
       ,@(substitute-keyword-arguments (package-arguments binutils)
         ; Upstream is aware of unrelocatable test failures on arm*.
         ((#:tests? _ #f)
          (if (any (cute string-prefix? <> (or (%current-target-system)
                                               (%current-system)))
                   '("i686" "x86_64"))
              '#t '#f))
         ((#:configure-flags flags)
          `(cons* "--enable-gold=default"
                 (delete "LDFLAGS=-static-libgcc" ,flags))))))
     (native-inputs
      `(("bc" ,bc)))
     (inputs
      `(("gcc:lib" ,gcc "lib")))))

This patch was pushed to the master branch as 28317d499034b00cf1f08a9efd39bd2bc3425b19, and the commit following uses it as a native-input for Go@1.9 and Go@1.11. Go@1.4 was added in June 2016 and Go@1.6 that August, with our first go packages being added in October 2017. That same October Go@1.4 had support limited to Intel and armhf and in October 2018, in an effort to work toward a resolution, a patch was added to have aarch64 use Go@1.4 built for armhf for it's bootstrap path. Basically since the addition of the Go language support into Guix there was not a time when it was usable on armhf or aarch64. Hopefully we will soon finish getting full Go support on aarch64 and we can move all 352 dependents of Go@1.4 from "failing" to "succeeding" and have these architectures better supported.

About GNU Guix

GNU Guix is a transactional package manager and an advanced distribution of the GNU system that respects user freedom. Guix can be used on top of any system running the kernel Linux, or it can be used as a standalone operating system distribution for i686, x86_64, ARMv7, and AArch64 machines.

In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. When used as a standalone GNU/Linux distribution, Guix offers a declarative, stateless approach to operating system configuration management. Guix is highly customizable and hackable through Guile programming interfaces and extensions to the Scheme language.

07 February, 2019 08:30AM by Efraim Flashner

February 01, 2019

Christopher Allan Webber

I've been awarded the Samsung Stack Zero Grant

Good news everyone! I've been awarded the Samsung Stack Zero Grant. But why not quote them?

Christopher Lemmer Webber is the co-editor and co-author of the now-ubiquitous ActivityPub protocol. While it provides a great framework for creating, updating, and deleting content across applications, it doesn’t provide any standardised mechanism for secure authorisation. With Spritely, Webber will work on extending the protocol in a backward-compatible manner, while at the same time building tools and applications that showcase its use. This will enable developers to build applications that enable richer interactions through a federated standard.

This should fund my next couple of years of work on full time advancement of the fediverse.

You may remember that I've talked about Spritely before. In fact I am finally in launch-mode... I am currently sitting in a wizard's tower at a hackathon, getting out the first release of Golem, a Spritely artifact.

Anyway, I'll be at FOSDEM 2019 giving a talk and on a panel. And after that I'll be speaking at CopyleftConf. Maybe I'll see you?

More news soon...

01 February, 2019 12:26AM by Christopher Lemmer Webber

GNUnet News

2019-02: Topics for GSoC 2019

See the website for the updated list of GSoC job offerings.

01 February, 2019 12:00AM

January 29, 2019

GNU Guile

GNU Guile at FOSDEM

GNU Guile will be present this year again at FOSDEM, which is just a few days away. The Guiler’s lair this time (in addition to the Guix Days right before FOSDEM for some of us!) will be the minimalist languages track. Among the great talks this Saturday, don’t miss:

We’re looking forward to meeting you in Brussels!

29 January, 2019 01:50PM by Ludovic Courtès (guile-devel@gnu.org)

January 28, 2019

GNU Guix

Meet Guix at FOSDEM

As usual, GNU Guix will be present at FOSDEM in the coming days with a couple of talks:

The minimalist languages track will also feature talks about GNU Guile and about Racket that you should not miss under any circumstances!

Guix Days logo.

For the second time, we are also organizing the Guix Days as a FOSDEM fringe event, a two-day Guix workshop where contributors and enthusiasts will meet. The workshop takes place on Thursday Jan. 31st and Friday Feb. 1st at the Institute of Cultural Affairs (ICAB) in Brussels.

This year there will be few talks; instead, the event will consist primarily of “unconference-style” sessions focused on specific hot topics about Guix, the Shepherd, continuous integration, and related tools and workflows. We are also happy to welcome fellow Nix hackers, which should allow us to develop cross-distro cooperation.

Attendance to the workshop is free and open to everyone, though you are invited to register (there are only a few seats left!). Check out the workshop’s wiki page for registration and practical info. Hope to see you in Brussels!

About GNU Guix

GNU Guix is a transactional package manager and an advanced distribution of the GNU system that respects user freedom. Guix can be used on top of any system running the kernel Linux, or it can be used as a standalone operating system distribution for i686, x86_64, ARMv7, and AArch64 machines.

In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. When used as a standalone GNU/Linux distribution, Guix offers a declarative, stateless approach to operating system configuration management. Guix is highly customizable and hackable through Guile programming interfaces and extensions to the Scheme language.

28 January, 2019 11:00AM by Ludovic Courtès

January 26, 2019

bison @ Savannah

Bison 3.3 released [stable]

We are very happy to announce the release of Bison 3.3!

The new option --update replaces deprecated features with their modern
spelling, but also applies fixes such as eliminating duplicate directives,
etc. It is now possible to annotate rules with their number of expected
conflicts. Bison can be made relocatable. The symbol declaration syntax
was overhauled, and in particular, %nterm, that exists since the origins of
Bison, is now an officially supported (and documented!) feature. C++
parsers now feature genuine symbol constructors, and use noexcept/constexpr.
The GLR parsers in C++ now support the syntax_error exceptions. There are
also many smaller improvements, including a fix for a bug which is at least
31 years old.

Please see the NEWS below for more details.

Many thanks to Askar Safin, Derek Clegg, Étienne Renault, Frank Heckenbach,
Rici Lake, Wolfgang Thaller and the members of the Bison mailing lists for
their feedback during the development of this version.

Here are the compressed sources:
https://ftp.gnu.org/gnu/bison/bison-3.3.tar.gz (4.1MB)
https://ftp.gnu.org/gnu/bison/bison-3.3.tar.xz (2.1MB)

Here are the GPG detached signatures[*]:
https://ftp.gnu.org/gnu/bison/bison-3.3.tar.gz.sig
https://ftp.gnu.org/gnu/bison/bison-3.3.tar.xz.sig

Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html

[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:

gpg --verify bison-3.3.tar.gz.sig

If that command fails because you don't have the required public key,
then run this command to import it:

gpg --keyserver keys.gnupg.net --recv-keys 0DDCAA3278D5264E

and rerun the 'gpg --verify' command.

This release was bootstrapped with the following tools:
Autoconf 2.69
Automake 1.16.1
Flex 2.6.4
Gettext 0.19.8.1
Gnulib v0.1-2382-g34881aff4

NEWS

26 January, 2019 02:15PM by Akim Demaille

January 25, 2019

freeipmi @ Savannah

FreeIPMI 1.6.3 Released

http://ftp.gnu.org/gnu/freeipmi/freeipmi-1.6.3.tar.gz

FreeIPMI 1.6.3 - 01/23/19
-------------------------
o In ipmi-locate, support parsing SPMI tables exported via sysfs.
o Support Intel S2600GZ OEM sensor and SEL events.
o Support Intel S2600WP OEM sensor and SEL events.
o Support Gigabyte MG20-OP0-ZB OEM SEL events.
o Fix DISCRETE_READING workaround in libipmimonitoring.
o In libfreeipmi, add workaround for packets that are re-ordered
during sensor bridging.
o Minor bug fixes.
o Various documentation updates/fixes.

25 January, 2019 12:24AM by Albert Chu

January 21, 2019

parallel @ Savannah

GNU Parallel 20190122 ('Shutdown') released

GNU Parallel 20190122 ('Shutdown') has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/

Quote of the month:

Ok! GNU Parallel is one of the best things out there. Almost as good as vanilla ice cream.
-- @coffe@mastodon.art

New in this release:

  • 'env_parallel --end-session' makes it possible to nest 'env_parallel --session'
  • Bug fixes and man page updates.

Get the book: GNU Parallel 2018 http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html

GNU Parallel - For people who live life in the parallel lane.

About GNU Parallel

GNU Parallel is a shell tool for executing jobs in parallel using one or more computers. A job can be a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. A job can also be a command that reads from a pipe. GNU Parallel can then split the input and pipe it into commands in parallel.

If you use xargs and tee today you will find GNU Parallel very easy to use as GNU Parallel is written to have the same options as xargs. If you write loops in shell, you will find GNU Parallel may be able to replace most of the loops and make them run faster by running several jobs in parallel. GNU Parallel can even replace nested loops.

GNU Parallel makes sure output from the commands is the same output as you would get had you run the commands sequentially. This makes it possible to use output from GNU Parallel as input for other programs.

You can find more about GNU Parallel at: http://www.gnu.org/s/parallel/

You can install GNU Parallel in just 10 seconds with:
(wget -O - pi.dk/3 || curl pi.dk/3/ || fetch -o - http://pi.dk/3) | bash

Watch the intro video on http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

Walk through the tutorial (man parallel_tutorial). Your command line will love you for it.

When using programs that use GNU Parallel to process data for publication please cite:

O. Tange (2018): GNU Parallel 2018, March 2018, https://doi.org/10.5281/zenodo.1146014.

If you like GNU Parallel:

  • Give a demo at your local user group/team/colleagues
  • Post the intro videos on Reddit/Diaspora*/forums/blogs/ Identi.ca/Google+/Twitter/Facebook/Linkedin/mailing lists
  • Get the merchandise https://gnuparallel.threadless.com/designs/gnu-parallel
  • Request or write a review for your favourite blog or magazine
  • Request or build a package for your favourite distribution (if it is not already there)
  • Invite me for your next conference

If you use programs that use GNU Parallel for research:

  • Please cite GNU Parallel in you publications (use --citation)

If GNU Parallel saves you money:

About GNU SQL

GNU sql aims to give a simple, unified interface for accessing databases through all the different databases' command line clients. So far the focus has been on giving a common way to specify login information (protocol, username, password, hostname, and port number), size (database and table size), and running queries.

The database is addressed using a DBURL. If commands are left out you will get that database's interactive shell.

When using GNU SQL for a publication please cite:

O. Tange (2011): GNU SQL - A Command Line Tool for Accessing Different Databases Using DBURLs, ;login: The USENIX Magazine, April 2011:29-32.

About GNU Niceload

GNU niceload slows down a program when the computer load average (or other system activity) is above a certain limit. When the limit is reached the program will be suspended for some time. If the limit is a soft limit the program will be allowed to run for short amounts of time before being suspended again. If the limit is a hard limit the program will only be allowed to run when the system is below the limit.

21 January, 2019 02:44AM by Ole Tange

January 20, 2019

freedink @ Savannah

New FreeDink game data release

Here's a new release of freedink-data :)
https://ftp.gnu.org/gnu/freedink/freedink-data-1.08.20190120.tar.gz

It adds 4 new sounds replacements, 1 update sound, 1 new translation and 2 updated translations.

About GNU FreeDink:

Dink Smallwood is an adventure/role-playing game, similar to Zelda, made by RTsoft. Besides twisted humor, it includes the actual game editor, allowing players to create hundreds of new adventures called Dink Modules or D-Mods for short.

GNU FreeDink is a new and portable version of the game engine, which runs the original game as well as its D-Mods, with close
compatibility, under multiple platforms.

freedink-data contains the original game story, along with free sound and music replacements.
Your help is welcome to fill the gap!
https://www.gnu.org/software/freedink/doc/sounds/

20 January, 2019 05:18PM by Sylvain Beucler

January 16, 2019

Parabola GNU/Linux-libre

caution regarding the 'libidn2' package with systemd

if you are using systemd (the default parabola system) and have the 'libidn2' package installed, upgrading it could break your system until the next version of systemd is in the repos

if this has already happened to you, here is a temporary work-around:

sudo ln -s /usr/lib/libidn2.so /usr/lib/libidn2.so.0

refer to this bug report for follow-ups: https://labs.parabola.nu/issues/2139

16 January, 2019 03:44AM by bill auger

January 08, 2019

mdk @ Savannah

GNU MDK 1.2.10 released

This new release fixes some long standing bugs and adds compatibility with Guile 2.2 and Flex 2.6.

08 January, 2019 07:44PM by Jose Antonio Ortega Ruiz

January 07, 2019

mit-scheme @ Savannah

MIT/GNU Scheme 10.1.4 released

See the release notes.

07 January, 2019 03:01AM by Chris Hanson

January 03, 2019

recutils @ Savannah

recutils 1.8 released

I am happy to announce a new release of the GNU recutils, version 1.8.

The changes in this release are:

  • Utilities:
    • Fix the build of readrec with recent bash headers.
  • librec:
    • Fix evaluation of sexes containing #NAME expressions.
    • Make numeric results from aggregated functions signed.
  • readred:
    • readrec --help now shows the help message and returns, instead of waiting for input.
  • Emacs mode:
    • rec-mode.el now supports case-insensitive searches.
    • rec-mode.el now defines it's own faces.
    • ob-rec.el was switched to lexical binding to satisfy later org-mode versions.
  • It is now possible to run the testsuite in parallel.
  • Other fixes:
    • gnulib updated.
    • GNU/Hurd build fixed.
    • Aggregate functions now work properly in Aarch64 and powerpc.
  • Internal cleanup and code factorization.
  • Other bug fixes.

The release can be found in the GNU ftp:
ftp://ftp.gnu.org/gnu/recutils/recutils-1.8.tar.gz

Alternatively, http://ftpmirror.gnu.org/recutils/ will automatically
redirect to a nearby mirror.

==About GNU recutils==

GNU recutils is a set of tools and libraries to access human-editable,
text-based databases called recfiles. The data is stored as a
sequence of records, each record containing an arbitrary number of
named fields. Advanced capabilities usually found in other data
storage systems are supported by GNU recutils: data types, data
integrity (keys, mandatory fields, etc) as well as the ability of
records to refer to other records (sort of foreign keys). Despite its
simplicity, recfiles can be used to store medium-sized databases.

Please see the GNU recutils homepage for more information:
http://www.gnu.org/software/recutils

03 January, 2019 10:20AM by Jose E. Marchesi

January 02, 2019

tar @ Savannah

Version 1.31

Version 1.31 is available for download. New in this release:

  • Fix heap-buffer-overrun with --one-top-level.
  • Support for zstd compression.
  • The -K option interacts properly with member names given in the command line.
  • Fix CVE-2018-20482

02 January, 2019 07:17PM by Sergey Poznyakoff

January 01, 2019

diffutils @ Savannah

diffutils-3.7 released [stable]

01 January, 2019 02:52AM by Jim Meyering

December 30, 2018

gzip @ Savannah

gzip-1.10 released [stable]

30 December, 2018 06:08AM by Jim Meyering

December 28, 2018

gnuastro @ Savannah

Gnuastro 0.8 released

The 8th release of GNU Astronomy Utilities (Gnuastro) is now available for download. Please see the announcement for details.

28 December, 2018 02:58PM by Mohammad Akhlaghi

December 22, 2018

parallel @ Savannah

GNU Parallel 20181222 ('Jacob Sparre') released

GNU Parallel 20181222 ('Jacob Sparre') has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/

Quote of the month:

GNU parallel is a seriously powerful flexible and tool.
-- Greg Hurrell @wincent

New in this release:

  • Better /proc/cpuinfo parser.
  • Simpler job scheduling flow.
  • Bug fixes and man page updates.

Get the book: GNU Parallel 2018 http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html

GNU Parallel - For people who live life in the parallel lane.

About GNU Parallel

GNU Parallel is a shell tool for executing jobs in parallel using one or more computers. A job can be a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. A job can also be a command that reads from a pipe. GNU Parallel can then split the input and pipe it into commands in parallel.

If you use xargs and tee today you will find GNU Parallel very easy to use as GNU Parallel is written to have the same options as xargs. If you write loops in shell, you will find GNU Parallel may be able to replace most of the loops and make them run faster by running several jobs in parallel. GNU Parallel can even replace nested loops.

GNU Parallel makes sure output from the commands is the same output as you would get had you run the commands sequentially. This makes it possible to use output from GNU Parallel as input for other programs.

You can find more about GNU Parallel at: http://www.gnu.org/s/parallel/

You can install GNU Parallel in just 10 seconds with:
(wget -O - pi.dk/3 || curl pi.dk/3/ || fetch -o - http://pi.dk/3) | bash

Watch the intro video on http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

Walk through the tutorial (man parallel_tutorial). Your command line will love you for it.

When using programs that use GNU Parallel to process data for publication please cite:

O. Tange (2018): GNU Parallel 2018, March 2018, https://doi.org/10.5281/zenodo.1146014.

If you like GNU Parallel:

  • Give a demo at your local user group/team/colleagues
  • Post the intro videos on Reddit/Diaspora*/forums/blogs/ Identi.ca/Google+/Twitter/Facebook/Linkedin/mailing lists
  • Get the merchandise https://gnuparallel.threadless.com/designs/gnu-parallel
  • Request or write a review for your favourite blog or magazine
  • Request or build a package for your favourite distribution (if it is not already there)
  • Invite me for your next conference

If you use programs that use GNU Parallel for research:

  • Please cite GNU Parallel in you publications (use --citation)

If GNU Parallel saves you money:

About GNU SQL

GNU sql aims to give a simple, unified interface for accessing databases through all the different databases' command line clients. So far the focus has been on giving a common way to specify login information (protocol, username, password, hostname, and port number), size (database and table size), and running queries.

The database is addressed using a DBURL. If commands are left out you will get that database's interactive shell.

When using GNU SQL for a publication please cite:

O. Tange (2011): GNU SQL - A Command Line Tool for Accessing Different Databases Using DBURLs, ;login: The USENIX Magazine, April 2011:29-32.

About GNU Niceload

GNU niceload slows down a program when the computer load average (or other system activity) is above a certain limit. When the limit is reached the program will be suspended for some time. If the limit is a soft limit the program will be allowed to run for short amounts of time before being suspended again. If the limit is a hard limit the program will only be allowed to run when the system is below the limit.

22 December, 2018 03:47PM by Ole Tange

December 21, 2018

GNU Guix

Reproducible Builds Summit, 4th edition

As it has become tradition, a sizeable delegation of Guix developers attended this year's Reproducible Builds Summit in Paris a little over one week ago. In the Mozilla offices around 50 people representing dozens of free software projects (and also Microsoft) got ready to share ideas and work together on reproducibility problems for three days. As the agenda unfolded we would split up into small groups, each focusing on a different issue. This blog post is an attempt to share impressions from some of these group sessions.

Opam

Opam is the OCaml package manager, and a number of sessions were dedicated to addressing reproducibility problems that affect Opam, such as the lack of accounting for common system packages. One of the outcomes of the session is a script to catch common sources of non-determinism, which should improve the quality of OCaml packages in general, including those that are available through Guix.

Some very productive hack session resulted in a new Guix package importer for Opam packages and various fixes for the Opam package in Guix. The Opam website now also includes instructions on how to install Opam with Guix.

“User stories”

The “user stories” session focused on a couple of questions: How can we put reproducible builds into the hands of users? How do they benefit from it? This has been an on-going theme in Reproducible Builds Summits. We shared ideas about this before: users should be able to choose their provider of package binaries, it should be easy for them to (re)build packages locally, and it should be easy for them to challenge servers that publish binaries. Guix satisfies these requirements but could probably go further. These and other ideas were explored. In particular it was interesting to see several distros work on setting up rebuilders that would allow them to have more diversity and thus more confidence in the binaries that they ship.

Distributing packages over IPFS

Developers of IPFS offered a session on package distribution over IPFS. IPFS implements peer-to-peer unencrypted data storage; there are privacy and censorship-resistance issues that it leaves unaddressed, but its efficiency and convenience are appealing for the distribution of package binaries. An IPFS package landed in Guix right in time for the summit, which allowed us to play with it. Together with fellow Nix hackers, we sketched an incremental path towards IPFS integration in Guix and Nix. We hope to be able to deliver a first implementation of that in Guix soon—stay tuned!

Java and other JVM languages

The Java reproducibility working group discussed what was needed to reproduce builds of Java packages. We focused mainly on reproducing builds with Maven and realized that differences in vocabulary affect our goals. For instance, Maven developers don't consider plugins to be dependencies for the build, while in the context of Guix anything contributing to the build is declared as an input. Our interactions with other projects throughout the summit has led to similar revelations and contributed to improved mutual understanding.

In Guix we have packages for two more JVM languages other than Java itself: Groovy and Clojure. Other JVM languages, such as Scala and Kotlin (both dependencies of Gradle), however, come with additional challenges. The Scala compiler, for example, is written in Scala, and although there are other implementations of the compiler, they are also written in Scala. Julien started writing a bootstrap compiler for Scala in Java, which is already able to produce an AST for Scala files and produce JVM bytecode. In cases like this where it is not feasible to retrace historic steps to bootstrap a language, writing a new compiler implementation may surprisingly be the most reasonable thing to do.

Bootstrapping

We were excited to see increased interest in bootstrapping, which may have been sparked by recent major successes in the early Scheme/C bootstrap for GNU+Linux systems. While a few of us successfully hunted down a confusing miscompilation bug, parts of the early C bootstrap were ported to Nix, demonstrating that the bootstrapping work that started in the context of Guix can benefit other GNU+Linux distributions with minor adaptations.

With the addition of Gash as a Bash and GNU coreutils replacement on the horizon, we are looking forward to another dramatic reduction of the "binary seed" used to bootstrap the GNU system --- first via Guix and hopefully for other free software system distributions in the future.

Thanks!

We would like to thank the organizers who helped make the Reproducible Build Summit a productive, enjoyable and friendly workshop: Beatrice and Gunner of Aspiration, Holger, Nicolas, Vagrant, Chris and Mattia.

About GNU Guix

GNU Guix is a transactional package manager for the GNU system. The Guix System Distribution or GuixSD is an advanced distribution of the GNU system that relies on GNU Guix and respects the user's freedom.

In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. Guix uses low-level mechanisms from the Nix package manager, except that packages are defined as native Guile modules, using extensions to the Scheme language. GuixSD offers a declarative approach to operating system configuration management, and is highly customizable and hackable.

GuixSD can be used on an i686, x86_64, ARMv7, and AArch64 machines. It is also possible to use Guix on top of an already installed GNU/Linux system, including on mips64el and aarch64.

21 December, 2018 10:30AM by Julien Lepiller, Gábor Boskovits, Ludovic Courtès, Ricardo Wurmus

sed @ Savannah

sed-4.7 released [stable]

21 December, 2018 06:14AM by Jim Meyering

grep @ Savannah

grep-3.3 released [stable]

21 December, 2018 04:51AM by Jim Meyering

December 20, 2018

grep-3.2 released [stable]

20 December, 2018 03:58PM by Jim Meyering