Planet GNU

Aggregation of development blogs from the GNU Project

May 12, 2016

FSF Blogs

ABYSS - the genesis of a fully free streaming software package used at LibrePlanet

"Make it better every year."

As an FSF intern during the winter and spring of 2016, I had the opportunity to be around FSF's tech team during LibrePlanet preparation, and we spent a lot of time making the streaming and recording work as well as possible so that people who were not in each talk could still watch it (all the recordings are already up on media.libreplanet.org).

Each room at the LibrePlanet conference has a streaming set-up staffed by a volunteer. There are many skilled volunteers, but we need to minimize the risk of failed recordings due to over-complex or error-prone software systems. So, in order to improve streaming we decided to quickly develop a GPLv3 program to provide a seamless interface for an audio and/or video streaming console.

As a newcomer to the free software community, I have been looking for ways to contribute by coding. The huge amount of projects in progress have overwhelmed me a bit. So, when it was proposed to create a piece of software to be used directly by the community at the conference, I was full of joy about beginning a project.

How it works

It all began with creating a new prototype, named ABYSS Broadcast Your Stream Successfully (ABYSS), for LibrePlanet 2016. The first goal of ABYSS was to move past command-line based streaming, by automating what we could. The second goal was to provide audio/video feedback for the volunteer at the station to monitor the streaming. I chose to write ABYSS in Python 3.4, using the Gstreamer 1.0 and GTK3+ modules.

Gstreamer pipelines are the core element of ABYSS. They allows ABYSS to behave slightly differently according to user actions or loss of the feed. With the GTK3+ graphical user interface, it is easy to switch from test mode -- for testing the audio and video chain without broadcasting -- to stream mode, which broadcasts the feeds. In the event of main camera source failure, ABYSS changes the pipeline to fetch the video source from a backup USB webcam and then starts broadcasting again. In addition, each stream is actually recorded locally in three forms to allow easy post-processing: audio-only, raw-video, and audio-video.

This early version (which I consider v0.1) was definitely a proving ground for ABYSS. It was used in each room during LibrePlanet (except for the Snowden opening keynote) and it performed well despite the relative lack of testing and some network problems at the venue.

The next version

ABYSS version 1.0 will integrate plenty of new functionality like:

  • better input/output devices management
  • a complete strategy in case of main feed loss
  • more resilient GStreamer pipelines
  • a control-room mode
  • a monitoring mode

The last two bullets are the most visible ones for users. Control-room mode will allow a user to effectively control several streams from a single computer. This will be an extension of the functionality of ABYSS 0.1. The monitoring mode, unlike control-room mode, will be a completely new functionality. It will allow users to simply watch what is being streamed on the computer next to the camera, so that user can check the framing/focus of the camera, for example, instead of worrying if feeds are even being broadcast. This mode is designed to cooperate with control-room mode. The stream will be launched/stopped only from the control-room computer and monitoring mode users will be free to focus on improving the quality of the stream by focusing only on the video and/or audio as inputs and leaving the remaining operations to the control-room mode user.

For a smaller set-up, the control-room mode will work as a standalone. Nevertheless, the real advantage of using computers for monitoring and one computer as a control-room is that you can centralize heavy duty feeds processing on one powerful control-room computer. The more powerful your workstation is, the better the stream quality will be.

Hack on ABYSS

If this post whets your appetite you can download ABYSS at https://vcs.fsf.org/?p=libre-streamer.git;a=summary. Disclaimer: this is version 0.1, tested only on x86 computers running Trisquel 7. This is not a package, and you will probably have to download some other software to get it running.

To see the whole system of which ABYSS is a part, check out the documentation for the 2015 and 2016 LibrePlanet streaming systems on the LibrePlanet wiki.

Thanks!

I would like to end here with a special thanks to some people at the FSF: Lisa Marie Maginnis, senior sysadmin, for proposing this project to me and letting me do things my way. Ruben Rodriguez, senior sysadmin, for providing a working pipeline for LibrePlanet 2016 and giving ideas and advice on the upcoming ABYSS 1.0. And John Sullivan, executive director, for giving me the opportunity to do an internship at FSF headquarters. Nothing would have been done without them.

See you in one year at the next LibrePlanet, when ABYSS 1.0 will emerge from the depths.

Happy hacking

May 12, 2016 07:48 PM

Friday the 13th <insert scary sounds> Free Software Directory IRC meetup: May 13th

Join the FSF and friends Friday, May 13th, from 12pm to 3pm EDT (16:00 to 19:00 UTC) to help improve the Free Software Directory.

Participate in supporting the Free Software Directory by adding new entries and updating existing ones. We will be on IRC in the #fsf channel on freenode.

Tens of thousands of people visit directory.fsf.org each month to discover free software. Each entry in the Directory contains a wealth of useful information, from basic category and descriptions, to providing detailed info about version control, IRC channels, documentation, and licensing info that has been carefully checked by FSF staff and trained volunteers.

While the Free Software Directory has been and continues to be a great resource to the world over the past decade, it has the potential of being a resource of even greater value. But it needs your help!

If you are eager to help and you can't wait or are simply unable to make it onto IRC on Friday, our participation guide will provide you with all the information you need to get started on helping the Directory today! There are also weekly FSD Meetings pages that everyone is welcome to contribute to before, during, and after each meeting.

May 12, 2016 03:49 PM

May 11, 2016

FSF Blogs

Ethics in, ethics out -- promote user-respecting software development platforms

This post was written by FSF campaigns manager Zak Rogoff and community member Andrew Ferguson.

In April, the Free Software Foundation and the GNU Project announced evaluations of several major repository-hosting services. These services are the bedrock infrastructure that our community uses to collaborate and communicate while building software, and therefore a big part of what we put into the construction process that creates free software. Using the GNU Ethical Criteria for Code Repositories, the evaluations judge code-hosting services for their commitment to user privacy and freedom. Now we are asking you to help support sites that meet the criteria and improve those that do not.

Currently, Savannah and GitLab meet or surpass the baseline standards of the criteria. You can explore the completed evaluations on the evaluation page. The criteria page offers more information on the evaluation process, as well as the criteria themselves.

Ethical code hosting is important not just for developers, but for users of free software, too. Repositories usually provide Web sites with downloadable executable programs compiled from the code they host, and are thus a popular way for users to get up-to-date copies of free software. The sites also host issue trackers that let users submit bug reports and provide feedback to developers.

Because they are central to free software in so many ways, the practices of code hosting services have ripples into the world of free software, and software in general. The repository evaluations promote and honor good ethical practices by repositories, and make it easy for users to find services that respect them.

There are four things you can do to help, depending on how you participate in the free software community:

  • Share the criteria and evaluations with the administrators of hosting services, and discuss them in communities of developers that use such sites.
  • Propose a service to be evaluated, and/or contribute to the evaluation process. Start by joining the Repo Criteria Discuss email list.
  • If you are a developer, use code hosting services that score at least an acceptable rating per the criteria.
  • If you help administer a repository-hosting service, contact the experts at [email protected] for help improving your score. We are friendly and eager to help!

"More volunteers with coding ability are needed to aid the development of existing repository services to help them meet these criteria," said Andrew Ferguson, a community member who played a leadership role in the evaluation project. "All community members are encouraged to write the administrators of code-hosting services, to build awareness and a motivation to improve their ethical evaluations. GitHub has responded to some requests from the free software community and has recently updated its license chooser to include the GPLv3 license. However more community advocacy is required, as GitHub still fails to meet the criteria."

Indeed, political pressure and technical assistance from the free software developer community are the best tools we have for improving the ethical practices of code hosting sites. We expect many successes in this journey in the years to come, as projects like the ethical criteria for code hosting repositories build awareness of the infrastructure of free software development.

May 11, 2016 02:57 PM

denemo @ Savannah

Version 2.0.8 is out.

New features:

Copy and Paste
Applies to note/chord attributes
CtrlC, Ctrl-V work for these
Copied marking is highlighted
Selection changes color when copied
Improved Acoustic Feedback
Trill makes a short trill sound on entry
Copy attributes sounds
Improved Visual Feedback
Status bar notices are animated
Characters are highlighted in Lyric Verses
Directives are made more legible when cursor is on them
Cadenza Time
For un-metered music
Music can still display in “bars”
New Commands
Tuplet Positioning
Curved Tuplet Brackets
Cadenza on/off uses Cadenza Time, sets smaller note size, editable text
Notes without stems
Multi-line text annotation
Bold, Italic etc now apply to selection
A guard prevents accidental syntax collision
Updated Manual
More detail
Now indexed
Bug Fixes
Command Center search now reliable
Standalone Multi-line text with backslash editing
Pasting into measures that precede a time signature change

by Richard Shann at May 11, 2016 09:58 AM

May 09, 2016

GNUtls

GnuTLS 3.5.0

Released GnuTLS 3.5.0 which is the first release of the new stable-next branch. An overview of the most prominent changes is provided at Nikos' blog.

by Nikos Mavrogiannopoulos ([email protected]) at May 09, 2016 12:00 AM

May 08, 2016

guile-ncurses @ Savannah

guile-ncurses 1.7 released

There is a new release (1.7) of the guile-ncurses package.

guile-ncurses is a library for the creation of text user interfaces using the GNU Guile dialect of the Scheme programming language. The text user interface library is based on the Ncurses's base, form, panel, and menu libraries.

The NEWS for the present release is as follows.

This release is primarily about merging panels and windows into
a single Guile type.

Release 1.7
- the previously undocumented (ncurses curses) procedure 'window?' is now public and documented
- the previously undocumented (ncurses panel) procedure 'panel?' has been moved to (ncurses curses) and had been documented
- the (ncurses curses) procedure 'delwin' always returns #t now
- the (ncurses curses) procedures 'cursyncup', 'syncup', and
'syncdown' are no longer broken
- 'posix-explorer' demo program now works on Guile 1.8.8
- panels are now a sub-class of windows
- the #<panel> type is eliminated
- the (ncurses panel) procedures 'new-panel' and 'del-panel' are eliminated
- new (ncurses curses) procedures 'make-panel!' and 'del-panel!' convert/deconvert a plain window into a panel window
- all panel functions now operate on panel window #<window> types
- the previously undocumented 'window?' routine now returns #t
on plain windows and panel windows
- the previously undocumented 'panel?' routing now returns #t
on panel windows and #f on plain windows.
- the (ncurses curses) procedures 'newwin', 'derwin', and 'subwin' now have a key parameter #:panel that, when #t, creates the windows as panel windows.

The web-page for guile-ncurses is http://www.gnu.org/s/guile-ncurses

The primary download location is http://ftp.gnu.org/gnu/guile-ncurses/

Or you can find a local mirror at http://ftpmirror.gnu.org/guile-ncurses/

Please send any questions or bug report to the mailing list
[email protected]

To subscribe to the mailing list, see
https://lists.gnu.org/mailman/listinfo/bug-guile-ncurses

by Mike Gran at May 08, 2016 11:04 PM

German Arias

New design of FisicaLab website

Well, I had to learn HTML and CSS to make a more nice website for FisicaLab. This is not a big work but I think in these days is important have an attractive website. So I hope you like:)


by Germán Arias at May 08, 2016 06:10 PM

May 05, 2016

FSF Blogs

Special Friday Free Software Directory IRC meetup and LIVE STREAM: May 6th

Join the FSF and friends Friday, May 6th, from 12pm to 3pm EDT (16:00 to 19:00 UTC) to help improve the Free Software Directory. This week's meet-up will include a live video stream, featuring the FSF's licensing & compliance manager, Joshua Gay (see "screen capture" from our test run of the video stream, below).

Participate in supporting the Free Software Directory by adding new entries and updating existing ones. We will be on IRC in the #fsf channel on freenode.

Tens of thousands of people visit directory.fsf.org each month to discover free software. Each entry in the Directory contains a wealth of useful information, from basic category and descriptions, to providing detailed info about version control, IRC channels, documentation, and licensing info that has been carefully checked by FSF staff and trained volunteers.

While the Free Software Directory has been and continues to be a great resource to the world over the past decade, it has the potential of being a resource of even greater value. But it needs your help!

If you are eager to help and you can't wait or are simply unable to make it onto IRC on Friday, our participation guide will provide you with all the information you need to get started on helping the Directory today! There are also weekly FSD Meetings pages that everyone is welcome to contribute to before, during, and after each meeting.

XXXXXXXXXXoooooonnvvvvvvvvlvlliiiiiiiiWWWWWWWmWWW#XnnnnnnnnnnnnnnnInnIInnnnnnnXXXXXXXXXXnnXXXXXXXdXXXXXdXXXXdXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXZXZXXXXX#X
nnSXXXXXXXXXXXXXooonnnvvvvvvvvvliiiiiQiQQQWWWWWWWmW#XnnnnnnnnnnnnnInnnnnnnnnnnn3XXXXXXXXXXXnXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXZXXXXXXXXX
vnnoXXXXXXXXXXXXXXXoooonnvvvvvvvvviiiiiQiiQWQWWWWWW#mmnnnnnnnnnnnnnnnnnnnnnnnnnnnXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX#XXXXXXXXXX#XXXXmZXXX#Xm#
iiIvnnSXXXXXXXXXXXXXXXXoonnnvvvvvvvvviiiiiiiQiiWWWWWWWWwnnnnnnnnnnnnnnnnnnnnnnnnnn3XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXZXXXX#XXXZXZ#ZXm
liiilIvnoXXZZmmmZXXXXXXXXooonnnnvvvvvvviiiiiiiiiiWWWWWWWmXnnnnn1nnnnnnnnnnnnnnnnnnnnXXXXXXXXXXXXXXXXdXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX#XXXXXXZX##ZZ#X#m
iiiivivvvnoSXX##m##mZXXXXXXXooonnvvvvvvvviiiiiiiiQQQWWWWWWmwn3nnnnnnnnnnnnnnnnnnnnnnnXXXXXXXXXXXXXXXXXXXXXXXXXXXdXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX#XXXXXmX##mm
lvvivvvvvvvvnoXXX#####mXXXXXXXoooonnnvvvvvvliiiiiQiQQWiWWWWWmnnnnnn1nnnnnnnnnn3nnnnnn3nXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXmZ#X#####
ii%ivvvvvvvvvvvnSXX######ZXXXXXXoooonnvvvvvvvvliiiiiiiiiWWWQWmwnnnnnnnnnnnnnnnnnnnnnnnnnXXXXXXXXZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXmXZX#Xm#X#ZmZXZ#Wm
iiiilvvvvvvvvvvvv1nSXX#####XXXXXXXooooonnvvvvvvvvviiiiiiiiQWWWWmXnn3nnnnnnnnnnnnnnnnXnnn3XXXXXXXXXXXXXXXXXXXXXXXXXdXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX#XX##Xm##
iiiivvvvvvvvvvvvvvvv1nSXX####ZXXXXXXoXooonnvvvvvvvvviiiiiiiQQQWWWZXdX1Xnnn1X3n1nnnnnXnnn1X1XXXXXmXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX#X#mXXXXm#Z#ZXXZW#Wm
iiiivlvvvvvvvvvvvvvvvvv1noXX####XXXXXXXXooonnnvvvvvlvvviiiiiiiiiiQmZX2nnn312nnnn333nnn3nndnnXXXXXmX#XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXZmXXXXXX##m#WW#m
iiiiiivvlvvvvvvvvvvvvvvvvv1noSXX#XXXXXXXXXooonnnvvvvvvvvv%iiiiiiiiiQmXndXXnnXn1nnnn31nX3n3XnXXXXXXXmXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX#ZXZ#XXZX#mZ###m
iiiiiiivvlvvvvvvvvvvvvvvvvvvvvnnSXXZXXXXXXXooooonnvvvvvvvvvviiiiiiiiiiZXXXXXXX1nn3XXXX21X2dXXXXXXX#ZXmXZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXZXZZXXXX#Z###XZWWm#
iiiiiii%iilvvvvvvvvvvvvvvvvvvvvvvnnSXXXXXXXXXoooonnnvvvvvvvvvvviiiiiiiimZXXXXn2n3XnXXX1nXXnXXXXnXXZZmXZmmmXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX#XXX#XXZ#mXXW#X#####
iiiiiiiiillillvvvvvvvvvvvvvvvvvvvlIvvnSSXXXXXXXXooonnvvvvvvvvvvviiiiiiiiQmXXXXXdnXXXdXXnX3Xd13XXXXXXXZ#ZX#mXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXZ#X##XZXmXXmm#WWW
iiiiiiiiiiiiiiivvvlvvvvvvvvvvvvvlvivllvv1SSXXXXXXoooonovvvvvvvvvvvivliiiiiQZXXX2nXXXXXXdXXXXnXXXXXXXXm#W####XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXZXXXXXXXXX#m##Xm#mm#
iiiiiiiiiiiiiiiiiivlvvvvvvvvvvvvvvvv%liiIvvnnSXXXXXooooonvnvvvvvvvvviiiii|WZXXXXXXXXXXX2XdXXdXXXXXXXXXX####mm#XXXXXXXXXXXXXXXXXXXXXXXXXXZXXXXXXXXXmX#XZZ###m##Wm
iiiiiiiiiiiiiiiiiliilivllvvvvvvvvvvvvviiiiiIvvvnSSXXXXoooonvvvvvvvvvli|8eIl<<<=<<%II3XXXdXXdXXXXXXXXXXXX#WW#m###XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX#XXXXmm##Z#mmmm#
liiiiiiiiiiiQiiiiiiiiiili%llvvvvvvvvlvvliiiiiilvvnnnSXXXoooonnvvvvlMHXnn<v<<<<<<<<<<%IXXXXX3XXXXXXXXXdXXXZ#WW####ZXXXXXXXXXXXXXXXXXXXXXXXXXZXXXXX#XXXXXmZZmm####
viiiii|iiiiiiiiiiiiiiiiiiiillivvvvvvvvvlvilliiiiilvvvnnSooooonvl0XnnnnnnnnIIvvsnIsn{nnnvIIXXXdXXXXXXXXXXXXX#####WmXXXZ#XXXXXXXXXXXXXXXXXXXXXXXXXXX#XXmXZX#X#####
viiiiiiiiiiiiiQiiiiiiiiiiiiiiiiilvlvvvvvvvvliiiiiiiilvvv1nnonIN5nnnnnnnInnnnnnnnnInnnnnnnv%I33XdXXXXXXXXXXXX#mW##WWmXXXXXXXXXXXXXXXXXXXXXXXXXZXXXXXXXXXZ#Xm##W##
viiiiiiiiiiiiiQiQiiiiiiiiiiiiiiiiliiillliilliliiiiiiiQlilll01<n3nnnnIInnnvnnnnnnnnnnnnnnnnns%>3XXXXXXXXXXXXXXZWWmWmWmZXXXXXXXXXXXXXXXXXXXXXXXXXXXXX#XXXXZ###m##m
liiiiiiiiQi|iQWiiiQiQ|iiiiiiiiiiiiiiiiliilililiiiiiiiQiW|81<<nnnnnnnlInnInnnnnnnnnnnnnnnnnnnn%<<XXXXXXXXXXXXXXZ#mWWW#WmmXXZZXXXXXXXXXXXXXXXXXXXXXXXXXXXXm##Z###W
iiiiiiiiiQQWWWWWWWW|QWQQWiQiiiiiiiiiiiiiiiiiiiiiiiiiiii#C<<<nnncIc%<InInnnnnnnnnnnnnnnnnnnnnnns><3XXXXXXXXXXXXXX##WWWWWmZXZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXmX#Z#m##
iiiiiQWQi|QWWWWQWWWWW|QWWQiQiiiQiiiiiiiiiiiiiiiiiiiiiiQC<<{nnIIIlIlInIIInnnnnnnnnnnnnnnnnnnnnnnn<>3XXXXXXXXXXXXXXZ###mWW#XXXXXXXXXXXXXXXXXXXXXXXXX#XX##X###XW#mZ
iiiiiiQWWWWWWWWWWWWWWWWWWW|WWW|WiiQiiiiiiiiiiiiiiiiiiiC<<<InIlnsn%{clsnInnnnnnnnnnnnnnnnnnnnnnnnc<={XXXXXXXXXXXXXXXZW#W#m#mXXXXXXXXXXXXXXXXXXXXXXXXXmXXZXZ#####m
iiiiQiWWWWWWWWWWWWWWWWWWWWQWWWW|iWWiiiQiiiiiiiiiiiiiiWl<<<<%IIIIl%<IIIInnnnnnnnnnnnnnnnnnnnnnnnIc>==3XXXXXXXXXXXXXXXZ#WWW####XXXXXXXXXXXXXXXXXXXXXXXX#XXX#Z#Xm#W
iiiQWW|WWWWWWWWWWWWWWWWWWWWWWWWWQWQWWWWiQiiiiiiiiiiiQG<<<<<l%<<II%l<lIIIInnnnnnnnnnnnnnnnnnInInnc<=={XXXXXXXXXXXXXXXXX#WW##m##ZXZXXXXXXXXXXXZXXXXXXXZmX#Z#ZXm###
iiiWQWQWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW|WWQiiQiiiiWiQWe<<<<ns%<<<<<<+++++<<<IIIInIIllIl+++<<<<<%nc<===3XXXXXXXXXXXXXXXXXX#WmWZmmXXXXXXXXXXXXXXXXXXXXXmXXXX#XXX#Zm
iQQWWWWWWWWWWWWWmWWW#WWWWWWWWWWWWWWWWWWWWQWWWQWWWWiQWe<<<<nns<<<<<<<=<===<<<<%{l<<<===<=<<<<<<<%Is==={XXXXXXXXXXXXXXXXXXXmW##W#mXXXXXXXXXXXXXXXXXXXXXXXXXZ####X#
i|QWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWQW|WWQ|WWe>=<nnnl<<<<<<<<<<<<<==<%nnc<=<<<<<<%<<<<<<%Ic==)XXXXXXXXXXXXXXXXXXXXZ##m#mWXXXXXXXXXXXXXXXXXXXmX#XXXX#X###
iWWWWWWWWWWWWWWmWWWWWWmWWWWW#WWWWWWWWWWWWWWWWWWWWWWWW6=={nII<<<<+===^+`===<=<<nnn<<<=== --=++<<%InI<==3XXXXXXXXXXXXXXXXXXXXXZWW##WmZXXXXXXXXXXXXXXXXXZXXZXXXmmXZ
iWWWWWWWWWWmWWWWW##WmWWW#WWWW#WWWWWWWWWWWWWWWWWWWWWWW2>={n%<<<<=====__==<<<<<%nnnl<<<<<===<<<<%vnnnc==dXXXXXXXXXXXXXXXXXXXXXX###W###XXX#XXXXXXXXXXZZ#ZXZZXZX#mZ#
|WWWWWWWWWWWWWWWm#mW###W#WWWWWWWWW#WWWWWWWWWWWWWWWWWWm=={nnIIl<<<<<<<<<<<<<<<<InIlI<%vv%<<svnnnnnnnc=vQmZXXXXXXXXXXXXXXXXXXXXXX#mW##Z#XXXXXXXZXXXXXXXXX######Z##
WWWWWWWWW#mW#W#W###WWW#####m#WWWWW#WWWWWWWWWWWWWWWWWW#%=<nnnnIInlvns%<<v<<<<<<<IIcl<<Innnnnnnnnnnnnc<3iiimXZXXXXXXXXXXXXXXXXXXXXXXZ##mmXXXXXXXXXXXXXXXX#XXZXm#Zm
WWWWWWWWmWWWWWm#X####m#####mWWWW#WWW#WWWWWWWWWWWWWWWWWa<{nnvl<<%IIvnv%I<<<<<<<<vnns<<<InnnnnnnnnnnIn<#WQiiQZXXXXXXXXXXXXXXXXXXXXXX#W#WmmXXXXXXXXXXmXXXXXXX######
WWWWWWWW#m#m#W#Z#Z###XZ#Xm#m#W#W#WmWWWWWWWWWWWWWWWWWWWe<{nnI<<<<<<<<I<%<<<<>+<lIl<<+<<<%I%snIIIInnl%{#WW|||imZXXXXXXXXXXXXXXXXXXXXXXX#####XXXXXXXXXXXXZX##mX#m#X
WWWWWWWW##m####X#XZ##ZXm#mZmm###W###WWWWWWWWWWWWWWWWWWm%%II<<<<<<<<<l<<<====_=====__==<<<{<vIlvII%<%{X#W#WWWWQmXXXXXXXXXXXXXXXXXXXXXX#Z#ZW#XXXXXXXXXXXXXmXX#mm##
WmWWmm##W#####mZZZXZ#X#X########W#WW#ZWWWWWWWWWWWWWWWW#nnc<%l<<<<<<<<<<<<<======<<<=<<<<<<<<<%l%<l<<<3XZX###WWWWXXXXXXXXXXXXXXXXXXXXXXXW#W#ZZXXXXXXXXXXXXXXXm#Z#
WWW#mZW#Z#ZXmmZmZ#Z#ZX#X#X#X#XZ#W#####mm#W#WmWWWWWWWWW#nnnv<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<IXXXXX####WWWmXXXXXXXXXXXXXXXXXXXXXZ#######XXXXXZZZX#mZX#mZX
WW#m#####ZXZZXXXXX#XXXXXXXXXmXZXZ#ZWm##W#W#WWWWWWWWWWWW#nII%<<<<<<+<<=><+>==<<<<<<<<<>>><<>=<<<<<<<<3XXXXXXXXXX#m##ZXXXXXXXXXXXXXXXXXXXXXX####mZXXXXXXXXXXZXZmm#
m#W#W#m#XXZW#XXXZXZXZX#mXXXXZ##X#mm#Z###Z#WWWW##mWWWWWWWZa<<<<<<<<<<======+===++++=+++++<><<<<<<<<<<3XXXXXXXXXXX#XXXXXXXXXXXXXXXXXXXXXXXdXX#WWWmmZm#XXZXmZXXXmmZ
#m##ZX##ZX#mXZXXXX#XXXXm#XXXXX#Z#XXX##mZ##m####Wm#W#W#W#WX%<<<<<><<<<=====_=_==<==========<<<<<<<<<{XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX#Wm#mmZXZ#XXXmXZZ###
W###Z##ZXXXXZXXXXXXXXXXXXXXXXXXXZXXXX#XZ####Z###m##WW#WWmma<<<<><<<<<<<<<<<====<===<<<<<<<<<<<<<<><dXXXXXXXXXXXXXXX3XXXXXXXXXXXXXXXXXXXXXXXXXZ#WWWWmZXXmZZXZ####
mZXXXXZXXXXXXZXXXXXXXXXXXXXXXXXX#ZXXXZmZZX#m#ZZ###m#######Xa<<<====<<<<<<<<<<<==<===<<<<<<<<<<+===3XXXXXXXXXXXXXXXXXXX1XXXXXXXXXXXXXXXXXXXXXXXX#W#Wmm#mXX#XXZX##
##XXZ#mXXZXXXXXXXXXXXXXXXXXXXXXXZXXXXXXXXmXXX#Xm#X#Z##Z#XXXXs=======+<<<<<<<<<<<<<<<<<<<<<<<+====   --=+!!XXXXXXXXXXXdXXnnXXXXXXXXXXXXXXXXXXXXXX#WWmWW#ZXZXXmm#X
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX#XXXXXXZX#XXX#ZXmXXe!=-===========<<<<<<=<=<<<<<<<<>=+==_-      -=--==|!XXXXXXXXnXXnn1XXXXXXXXXXXXXXXXXXXXXX#WW#W####XXmmX
XXXZXZXX#XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX3XXe!`-   _=======-=========+++++=><>====== _          -_-===++|||!XXnnnnn3XXXXXXXXXXXXXXXXXXXXX#W#WWmmZXZX#m
XXZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXe+-    ---       -==----=_==-=-=-===========---=- _-             ----===-==_+||InnnXXXXXXXXXXXXXXXXXXXXXZW#WWWm#XX#X
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXe1|+-         _       ==__=-----       -- --      -   -                -= - `_ -_-=-==+|IXXXXXXXXXXXXZXXXXXXXZWWWWW#ZZ#Z
XXXXXXXdXXXXXXXXXXXXXXXXXXXXXXXXXXXe1|`--             `       ===-                          _=                 - -   `-= _-=_=====+{3XXXXXXXXXXXXXXXXXXZ#WWWmZXX
XXXXXXXXXXXXXXXXXdXXXXXXXXXXXXX!|^---                          =--=                       _==-                          -_--=-=-=====+I3XXXXXXXXXXXXddXXZ#W#m##X
XXXXXXXXXXXXXXXXXdXXXXXXnXXe|^`                                -===_                    _===-                         --- _ -=`==-- ===<XXdXXX2XXXXXXXXXXX#WWWWm
XXXXXXXXXXXXXXXdXXXXXXXXX}--                                    -=====`_             _=====-                          -    -  _ _`` ====={XXXXX2XXXXXXXXXXXX##WW
X2XXdXXXXXXXXXXXXXXXXXd}=                                         _=======__ _`   =_=====-                                   -- `-` -=====I2XXXnXdX2XXXXXXXXXZWW
dXXnXXXXndXXXXXXXXXXX}`_-                                           --====`-=- =--=-_=--                                     _ ` -- ----===I2XXnXnXXXXXXXXdXXXX#
2Xn21nX1XXXX23XnXXXX>-                                                  --_ --- `- --                                 _      -       `=`_==={nXX21Xd22ndXnXXXXXX
XX232Xd1XXX1XX1Xnn}`                                                                                                                 __- ==_=<nnXndd23X2XXXXnXXn
33XnnXnn23Xn13321+                                                                                                                   --`- -===<3nnX13n22nXXX1dXd
nnnn3XnXXn1nX3nn+`                                                                                                                   -- _=-====<XXXXXXX1dXX2XdXn

May 05, 2016 05:30 PM

GNU Spotlight with Brandon Invergo: Twenty new GNU releases in the last month (as of April 25, 2016):

20 new GNU releases in the last month (as of April 25, 2016):

For announcements of most new GNU releases, subscribe to the info-gnu mailing list: https://lists.gnu.org/mailman/listinfo/info-gnu.

To download: nearly all GNU software is available from https://ftp.gnu.org/gnu/, or preferably one of its mirrors from https://www.gnu.org/prep/ftp.html. You can use the url https://ftpmirror.gnu.org/ to be automatically redirected to a (hopefully) nearby and up-to-date mirror.

This month, we welcome Russell Hyer as a new co-maintainer of GNU PDF.

A number of GNU packages, as well as the GNU operating system as a whole, are looking for maintainers and other assistance: please see https://www.gnu.org/server/takeaction.html#unmaint if you'd like to help. The general page on how to help GNU is at https://www.gnu.org/help/help.html.

If you have a working or partly working program that you'd like to offer to the GNU project as a GNU package, see https://www.gnu.org/help/evaluation.html.

As always, please feel free to write to us at [email protected] with any GNUish questions or suggestions for future installments.

May 05, 2016 04:50 PM

librejs @ Savannah

GNU LibreJS 6.0.13 released

There's a new version of LibreJS - version 6.0.13.

LibreJS is a Mozilla add-on that prevents nonfree JavaScript programs
from running in your web browser.

Originally this release was going to be 6.0.11, but I had some trouble
registering this add-on with Mozilla which required me to increment
the version to 6.0.13.

Here's the changes since 6.0.10:
* Added Unlicense to the list of recognized licenses. Thanks
to Adam Plaice for the patch.

* Added some library whitelist updates from James Kruth.

* William Cummings pointed out a piece of code that was using
non-standard syntax that might not be supported in the future.
I've re-written this to use more standard syntax.

* Fixed a problem where the LibreJS icon wasn't displaying in
the add-ons view.

This project's website is here:
https://www.gnu.org/software/librejs/

The source files are here:
https://ftp.gnu.org/gnu/librejs/librejs-6.0.13.tar.gz (462K)

And here's the xpi package you can install in your browser:
https://ftp.gnu.org/gnu/librejs/gnu_librejs-6.0.13-fx.xpi (601K)

by Nik Nyby at May 05, 2016 01:32 AM

May 04, 2016

FSF Blogs

No one should have to use proprietary software to communicate with their government

Proprietary JavaScript is a threat to all users on the Web. When minified, the code can hide all sorts of nasty items, like spyware and other security risks. Savvy users can protect themselves by blocking scripts in their browser, or by installing the LibreJS browser extension and avoiding sites that require proprietary JavaScript in order to function. But some sites are harder to avoid than others. This is particularly the case when the site is required for citizens to communicate or interact with their own government. If no free alternative means are provided, then users can be blocked from participating in the democratic process.

The FSF long ago called on Regulations.gov to free its JavaScript, but as of yet we have not succeeded in getting the message through. Increasingly, protecting and promoting free software requires interacting with government agencies, so this impediment directly impacts the FSF's core mission. Most recently, the Copyright Office refused our comment calling for an end to the DMCA's anti-circumvention provisions because we would not submit it via their proprietary interface. Kevin R. Amer, Senior Counsel for Policy and International Affairs told us they would not accept our DMCA comment unless we used Regulations.gov. Jacqueline C. Charlesworth, General Counsel and Associate Register of Copyrights confirmed once we had submitted that the submission was unacceptable. Over twelve hundred co-signers signed-on to amplify our voice, but the proprietary JavaScript on Regulations.gov made sure that the Copyright Office's ears were shut.

On March 1st, 2016, the Copyright Office announced a call for comments on an update to their technology infrastructure. We submitted a comment urging them to institute a policy that requires all software they develop and distribute to be free software. Further, we also urged them to not require people to run proprietary software in order to communicate or submit comments to them. Unfortunately, once again, the Copyright Office requires the use of proprietary JavaScript in order to submit the comment and they are only accepting comments online unless a person lacks computer or Internet access. However, we mailed a copy via the post and we are posting it publicly in the hopes that they will read it and understand that their infrastructure is so broken that we cannot even tell them that it is broken. At this time, we have received no response from the Copyright Office, and once again our comment has not been published.

The most absurd part of all this is that other government agencies, while still using Regulations.gov, are perfectly capable of offering alternatives to submission. At the end of 2015 we were able to submit comments to the Department of Education via the post. Our comments regarding the White House's Federal Source Code Policy could be submitted via email. While we urge those agencies to provide a simple Web form for submitting comments that does not rely on proprietary JavaScript, the fact that they do offer other ways to submit at least means that free software users are not completely shut out. The Copyright Office is the only agency we have dealt with that refuses to offer any method of submission that doesn't require proprietary software.

The threat of proprietary JavaScript won't go away on its own. We need your help to rid the Web of proprietary JavaScript, and to ensure that citizens in every country can communicate freely with their own government. Here's what you can do to help:

  • Help the Free JavaScript Campaign by joining the Free JavaScript Action Team. You can help in particular on the issue of government mandated proprietary JavaScript by finding and listing government run Web sites in your country that require proprietary JavaScript and planning actions to make those sites free.
  • If you microblog, please share the following message or your own. We strongly suggest that if you use Twitter, you do it in a way that avoids using proprietary software:

No one should be forced to use proprietary software to communicate with their government. https://u.fsf.org/1s1 cc @CopyrightOffice

  • Consider supporting our work on proprietary JavaScript and other kinds of government proprietary software requirements by making a donation.

May 04, 2016 04:45 PM

May 03, 2016

FSF News

Allies join Defective by Design for the tenth anniversary of the International Day Against DRM

BOSTON, Massachusetts, USA -- Tuesday, May 3rd, 2016 -- Today community groups, activist organizations, and businesses are taking part in the International Day Against DRM, celebrating ten years since the first global day of action in 2006. The groups are united in envisioning a world without Digital Restrictions Management (DRM), technology that polices what people can do with digital media by spying on them and compromising their computer security. As the largest anti-DRM event in the world, the International Day Against DRM is intended as a counterpoint to the pro-DRM message broadcast by powerful media and software companies. The Day is coordinated by Defective by Design, a campaign of the Free Software Foundation.

At the time of publication, community members and activists have organized eleven events in Mexico, Bangladesh, Spain, Belgium, the Netherlands, Italy, and the US. Fifteen organizations are participating, including the Electronic Frontier Foundation, Creative Commons, the Document Foundation (home of LibreOffice), and the Free Software Foundation sister organizations in India and Europe. Bookstores and publishers, including O'Reilly Media, are offering sales on DRM-free media

Today Defective by Design released a timeline recounting the first ten years of the International Day Against DRM. Community members are encouraged to continue the timeline by envisioning future victories against DRM on social media.

Zak Rogoff, campaigns manager for the Free Software Foundation said, "Giving its owners power over our cars, medical devices, phones, computers, and more, DRM opens a deep crack in our digital rights and freedoms. That crack will only get wider and more dangerous as our societies continue to interweave with technology. Governments and corporations steer the massive technosocial system that perpetuates DRM and makes it profitable, often steering it away from the best interests of the technology's actual users. Committed to a more ethical technological future, our movement pushes back. Today, looking back on ten years since the first International Day Against DRM, we have a lot of progress to celebrate, and we still have a lot of work to do."

Individuals can participate with a variety of online and in-person actions on dayagainstdrm.org, from DRM-free media purchases to gatherings. To be part of Defective by Design's year-round anti-DRM campaigns, supporters can join the low-volume action alerts email list, the DRM Elimination Crew discussion list and the #dbd IRC channel on Freenode. Media stores, activist organizations and other groups interested in participating in the International Day Against DRM in 2017 should join the email discussion list to get reminders and support when the event is near.

About Defective By Design

Defective by Design is the Free Software Foundation's campaign against Digital Restrictions Management (DRM). DRM is the practice of imposing technological restrictions that control what users can do with digital media, creating a good that is defective by design. DRM requires the use of proprietary software and is a major threat to computer user freedom. It often spies on users as well. The campaign, based at defectivebydesign.org, organizes anti-DRM activists for in-person and online actions, and challenges powerful media and technology interests promoting DRM. Supporters can donate to the campaign at https://www.defectivebydesign.org/donate.

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 fsf.org and 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.

Media Contact

Zak Rogoff
Campaigns Manager
Free Software Foundation
+1-617-542-5942 x31
[email protected]

May 03, 2016 02:29 AM

April 29, 2016

FSF News

Hundreds explore ways to Fork the System with free software at LibrePlanet 2016

Edward Snowden on the screen talking with Daniel Kahn Gillmore at LibrePlanet 2016

Edward Snowden talks with Daniel Kahn Gillmor at LibrePlanet 2016.

At a ceremony on Saturday, March 21st, Free Software Foundation President Richard M. Stallman announced the winners of the FSF's annual Free Software Awards. Two awards were given: the Award for the Advancement of Free Software was presented to Werner Koch for his work on GNU Privacy Guard, the defacto tool for encrypted communication, and the Award for Projects of Social Benefit was presented to the Library Freedom Project, a partnership among librarians, technologists, attorneys, and privacy advocates which aims to make real the promise of intellectual freedom in libraries.

Software Freedom Conservancy executive director Karen Sandler closed out the conference with "Companies, free software, and you," in which she urged free software developers to push their employers to allow them to retain copyleft on their code.

Karen Sandler speaking at LibrePlanet 2016

Software Freedom Conservancy Executive Director Karen Sandler closed out LibrePlanet 2016.

A video of the opening keynote conversation between Edward Snowden and Daniel Kahn Gillmor is available now at http://media.libreplanet.org/u/libreplanet/m/libreplanet-2016-the-last-lighthouse/. Videos of all the conference sessions, along with photographs from the conference, will soon be available on https://media.libreplanet.org, the conference's instance of GNU MediaGoblin, a free software media publishing platform that anyone can run.

LibrePlanet 2016 was produced in partnership by the Free Software Foundation and the Student Information Processing Board (SIPB) at MIT.

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 fsf.org and gnu.org, are an important source of information about GNU/Linux. Donations to support the FSF's work can be made at https://my.fsf.org/donate. 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 Contacts

Georgia Young
Program Manager
Free Software Foundation
+1 (617) 542 5942
[email protected]

April 29, 2016 03:20 PM

April 28, 2016

FSF Blogs

Friday Free Software Directory IRC meetup: April 29th

Join the FSF and friends Friday, April 29th, from 12pm to 3pm EDT (16:00 to 19:00 UTC) to help improve the Free Software Directory.

Participate in supporting the Free Software Directory by adding new entries and updating existing ones. We will be on IRC in the #fsf channel on freenode.

Tens of thousands of people visit directory.fsf.org each month to discover free software. Each entry in the Directory contains a wealth of useful information, from basic category and descriptions, to providing detailed info about version control, IRC channels, documentation, and licensing info that has been carefully checked by FSF staff and trained volunteers.

While the Free Software Directory has been and continues to be a great resource to the world over the past decade, it has the potential of being a resource of even greater value. But it needs your help!

If you are eager to help and you can't wait or are simply unable to make it onto IRC on Friday, our participation guide will provide you with all the information you need to get started on helping the Directory today! There are also weekly FSD Meetings pages that everyone is welcome to contribute to before, during, and after each meeting.

April 28, 2016 08:20 PM

April 26, 2016

gzip @ Savannah

gzip-1.8 released [stable]

by Jim Meyering at April 26, 2016 09:28 PM

denemo @ Savannah

Version 2.0.8 is imminent, please test

Binaries (labelled 0.0.0) are at
http://denemo.org/~jjbenham/gub/uploads/?C=M;O=D
The new features are:

Copy and Paste
Applies to note/chord attributes
CtrlC, Ctrl-V work for these
Copied marking is highlighted
Selection changes color when copied
Improved Acoustic Feedback
Trill makes a short trill sound on entry
Copy attributes sounds
Improved Visual Feedback
Status bar notices are animated
Characters are highlighted in Lyric Verses
Directives are made more legible when cursor is on them
Cadenza Time
For un-metered music
Music can still display in “bars”
New Commands
Tuplet Positioning
Curved Tuplet Brackets
Cadenza on/off uses Cadenza Time, sets smaller note size, editable text
Notes without stems
Multi-line text annotation
Bold, Italic etc now apply to selection
A guard prevents accidental syntax collision
Updated Manual
More detail
Now indexed
Bug Fixes
Command Center search now reliable
Standalone Multi-line text with backslash editing
Pasting into measures that precede a time signature change

by Richard Shann at April 26, 2016 04:08 PM

April 25, 2016

remotecontrol @ Savannah

Release of GNU remotecontrol - Version 2.0

The GNU remotecontrol Team is proud to announce our first major upgrade release. The following changes comprise Version 2.0.

CHANGES:
-The code has been rewritten to adopt the Model-View-Controller software architectural pattern. This pattern eases code modification.

-Implemented a Data Abstraction Layer. This functionality mediates access between application and database, allowing implementations across different platforms and systems.

-A single configuration file. This simplicity eases installation effort and helps with diagnosing system performance problems.

-Added enhanced support for time zone offset and daylight savings time. MySQL Server Time Zone Support is used to identify time zone offset from UTC, in combination with input from the GUI web pages.

-Added enhanced management features for application user, thermostat device, thermostat group, and thermostat location.

-Added role-based security. This approach simplifies separating administrative accounts from user accounts.

-Added enhanced error reporting for code performance problems.

-A new Nagios monitoring check, check_forecast. This new check expands the monitoring capability of a HVAC energy system by complementing the existing check_thermostat and check_weather functionality with weather forecast information, to assist estimating future HVAC system performance.

SVN VERSION DIRECTORY:
svn checkout svn://svn.sv.gnu.org/remotecontrol/branches/Version2.0 remotecontrol-2.0

by Stephen H. Dawson at April 25, 2016 10:58 PM

FSF News

GNU releases ethical evaluations of code-hosting services

The completed evaluations can be viewed on the evaluation page, while the criteria page offers more information on the evaluation process, as well as the criteria themselves.

Repositories are used not only by software developers but also by software users, and they have a large impact on the free software community. The evaluations promote and honor good ethical practices on the part of repositories, and make it easy for users to find services that respect them.

Version 1.0 of the criteria ranks sites on a score from F (unacceptable) to A+ (extra credit). No site has yet received extra credit, but Savannah achieved an A grade. An F grade shows the service has not met even the minimum ethical standards expected for the hosting of a GNU package. GNU's Repo Criteria Discussion list is happy to offer assistance to repository-hosting organizations seeking to improve their service's score.

One service which has passed the criteria is GitLab. "We want to allow everyone to contribute to software. We recognize that many people have a need for free software to do this," said GitLab's CEO Sytse Sijbrandij, adding that "as a former developer myself, I think it is natural that you can contribute to the software you use to collaborate." Many repository sites require the user to run proprietary JavaScript to access their full functionality, but GitLab has addressed this by relicensing its JavaScript as free software.

Savannah, which has also passed these criteria, "host[s] projects for the sake of the ideals of freedom and community that the free software movement stands for," according to its Web site, which also makes clear that "[t]he space given to you on this server is given for the expressed purpose of advancing free software." Savannah is hosted by the FSF but run almost entirely by a dedicated team of volunteers.

Andrew Ferguson, a community member who played a leadership role in the evaluation project, said "More volunteers with coding ability are needed to aid the development of existing repository services to help them meet these criteria. All community members are encouraged to write the administrators of code-hosting services, to build awareness and a motivation to improve their ethical evaluations. GitHub has responded to some requests from the free software community and has recently updated its license chooser to include the GPLv3 license. However more community advocacy is required, as GitHub still fails to meet the criteria."

General discussion regarding the criteria or evaluations can be directed to the libreplanet-discuss mailing list. If you'd like to lend your help evaluating repositories, please join the repo-criteria-discuss list.

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 fsf.org and 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 Contacts

Zak Rogoff
Campaigns Manager
Free Software Foundation
+1 (617) 542 5942 x31
[email protected]

April 25, 2016 07:55 PM

German Arias

First release of eiffel-iup

I’m glad to announce the first release of eiffel-iup. A wrapper that allow create graphical applications with Liberty Eiffel using the IUP toolkit. In this first release are available all the dialogues at IUP and all standard controls (except IupFlatButton). All controls has been tested, but not all its features. So, could be problems. But this is enough mature to create graphical interfaces. So let’s look at some screenshots of the examples that comes with this package. The image below show a simple editor with a tool bar that can be detached. Only one button works at that tool (the button to underline), the rest are just examples of buttons with predefined images at IUP stack.

eiffel-iup-1

The example number 5, show how use several predefined dialogues, as show the images below:

eiffel-iup-2

eiffel-iup-3

eiffel-iup-4

The same example show, in other tabs, the use of many other controls, like popups, combo box, sliders, calendars, spin box, splits and others:

eiffel-iup-5

eiffel-iup-6

Other example show how use a tree, an expander and a sbox:

eiffel-iup-7

To get an idea about how use this package, the image below show the code of a small app to display a dialog with a label and a button to close the app (you should insert the class IUP_INTERFACE):

my_example

You can download this first release here. So, let me know if you have problems, and wait for upcoming lessons on how to use eiffel-iup. Happy Hacking!


by Germán Arias at April 25, 2016 01:55 AM

April 24, 2016

guix @ Savannah

GNU Guix welcomes four students for GSoC

We are glad to announce that four students will join GNU Guix for the 2016 Google Summer of Code (GSoC):

All four projects sound exciting to us and we are happy to see progress on these fronts. Happy hacking!

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 or x86_64 machine. It is also possible to use Guix on top of an already installed GNU/Linux system, including on mips64el and armv7.

by Ludovic Courtès at April 24, 2016 07:45 PM

April 23, 2016

health @ Savannah

GNU Health Federation

Dear all

The upcoming 3.2 version will bring lots of new features, but today I want to concentrate in two:

  • My Gnu Health
  • GNU Health Federation

We could also give the new version codename GHINT (GNU Health is Not Tryton), as it really expands its functionality beyond the Tryton framework. Of course, Tryton is nice and we will still use it.

This approach exemplifies our philosophy in GNU Solidario, where Free Software and GNU Health represent a philosophy, and technology is just a way to deliver it.

My GNU Health

A mobile application with the functionality of Personal Health Record (PHR) and Patient Portal. MyGNUHealth empowers the person and makes her / him an active member in the health system.
From recording and transmitting the blood pressure or glucose level, to make the appointments or update the demographic information. All from the mobile device.

GNU Health Federation

The obsolescence of the Tryton synchronization engine led me to start the design a new model: a truly federated system. That is :

  • Decentralized
  • Autonomous
  • Heterogeneous
  • Scalable

Under this model GNU Health will integrate information from different data sources (not only from Tryton); each system can work autonomously (even in the event. of network failure), information will be shared across the nodes, and aggregated in a highly scalable model.

This new model on GNU Health 3.2 will combine the transactional / relational DB system (eg, PostgreSQL) with the big data, highly scalable NoSQL model (eg, MongoDB).

This new design brings the best of the two worlds: The transactional processes in a health institution (evaluations, stock management, prescriptions, hospitalizations, ... ) as well as the non-transactional information used by the health authorities (demographics, epidemiology, ...).

By the way, data and exchange standards (eg, HL7 FHIR) will be key, so the existing GNU Health FHIR server will play an even greater role.

Anyways, quite exciting news that I wanted to share with you.

Time to work !

Bests,
Luis

by Luis Falcon at April 23, 2016 09:27 PM

April 22, 2016

grep @ Savannah

grep-2.25 released [stable]

by Jim Meyering at April 22, 2016 05:16 AM

April 21, 2016

parallel @ Savannah

GNU Parallel 20160422 ('PanamaPapers') released

GNU Parallel 20160422 ('PanamaPapers') has been released. It is available for download at: http://ftp.gnu.org/gnu/parallel/

Haiku of the month:

xapply too strict?
:::+
is just made for you
-- Ole Tange

New in this release:

  • :::+ and ::::+ work like ::: and :::: but links this input source to the previous input source in a --xapply fashion. Contrary to --xapply values do not wrap: The shortest input source determines the length.
  • --line-buffer --keep-order now outputs continuously from the oldest job still running. This is more what you would expect than the earlier behaviour where --keep-order had no effect with --line-buffer.
  • env_parallel supports tcsh, csh, pdksh. In fish it now supports arrays. In csh/tcsh it now supports variables, aliases, and arrays with no special chars. In pdksh it supports aliases, functions, variables, and arrays.
  • Function exporting on Mac OS X works around old Bash version.
  • Better CPU detection on OpenIndiana.
  • Bug fixes and man page updates.

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/) | bash

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

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

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

O. Tange (2011): GNU Parallel - The Command-Line Power Tool, ;login: The USENIX Magazine, February 2011:42-47.

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://www.gnu.org/s/parallel/merchandise.html
  • 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 GNU Parallel for research:

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

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.

by Ole Tange at April 21, 2016 10:51 PM

FSF News

FSF Job Opportunity: Operations Assistant

This position works closely with FSF staff and management to ensure all administrative functions of the FSF run smoothly and efficiently, preserving our 4-star Charity Navigator rating and boosting all areas of our work.

The Operations Assistant is responsible for handling phone calls, managing office operations, and being a friendly face for visitors to our office at the center of Boston's Downtown Crossing. Examples of job responsibilities include, but are not limited to:

  • fulfilling orders for FSF merchandise and related bookkeeping,
  • blogging about merchandise-related news,
  • processing incoming donations,
  • coordinating volunteers,
  • updating our contact database,
  • organizing fundraising mailings, membership mailings, and similar communications,
  • assisting with local and special events, including our annual LibrePlanet conference,
  • assisting with website maintenance, and
  • looking after the office space.

This is a great opportunity for a team-oriented self-starter who thrives on multitasking, is calm under pressure, has an eye for detail, and wants to make a difference. The position must be worked from the Boston office, and the position must be able to lift small to medium-size packages (up to 50 pounds) on a regular basis. With our small staff of thirteen, each person makes a clear contribution. We work hard, but offer a humane and fun work environment.

Because our mission is worldwide, language skills and a demonstrated ability to interact with people across cultures and age groups will be highly valued. While the position does not require advanced computer skills, a willingness to learn and work with new software is a must. We use free software like CiviCRM, Plone, Emacs, and LibreOffice, all running on GNU/Linux.

The FSF is a growing organization and provides great potential for advancement; existing staff get the first chance at any new job openings. Previous Operations Assistants have often gone on to hold other positions within the organization.

Benefits and salary

This job is a union position. The salary is fixed at $51,646/year and is non-negotiable. Other benefits include the following:

  • full family health coverage through Blue Cross/Blue Shield's HMO Blue program,
  • subsidized dental plan,
  • four weeks of paid vacation annually,
  • seventeen paid holidays annually,
  • public transit commuting cost reimbursement,
  • 403(b) program through TIAA-CREF, and
  • yearly cost-of-living pay increases (based on government guidelines).

Resumes and cover letters must be submitted via email to [email protected]. The email must contain the subject line, "Operations Assistant". Resumes should be attached in text, PDF, or OpenDocument. No Word documents, please. Email submissions that do not follow these instructions will be ignored.

Applications must be received by Friday, May 20, 2016.

The FSF is an equal opportunity employer and will not discriminate against any employee or application for employment on the basis of race, color, marital status, religion, age, sex, sexual orientation, national origin, handicap, or any other legally protected status recognized by federal, state or local law.

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 fsf.org and 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.

April 21, 2016 03:23 PM

April 20, 2016

pyconfigure @ Savannah

Release of GNU pyconfigure 0.2.3

I am pleased to announce the release of GNU pyconfigure 0.2.3.

GNU pyconfigure is a set of template files for Python developers to use
to easily implement the standard GNU configure/install process for their
packages. The standard GNU process generally consists of two familiar
steps:

$ ./configure --prefix=/usr/
$ make install

By using the templates provided by GNU pyconfigure, the Python developer
gains the power and flexibility of the time-tested, language-agnostic
GNU installation process, while the user or the software packager
encounters a familiar and convenient interface.

GNU pyconfigure is designed to work either alongside of or in place of
the Python 'distutils' module's setup.py script. Thus, if your project
already has a setup.py script, pyconfigure can simply wrap its
functionality, leveraging the work you have already done.

To learn more and to read the documentation, visit the website at:
http://www.gnu.org/software/pyconfigure

Here are the compressed sources and a GPG detached signature[*]:
pyconfigure/pyconfigure-0.2.3.tar.gz
pyconfigure/pyconfigure-0.2.3.tar.gz.sig

Here are the MD5 and SHA1 checksums:

8a64b3187cf2d43e3230d1ee68d607b5 pyconfigure-0.2.3.tar.gz
0590628eab986d8cf2755d93c9f71e0953e50516 pyconfigure-0.2.3.tar.gz

[*] 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 pyconfigure-0.2.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 EB7AB74D

and rerun the 'gpg --verify' command.

This release was bootstrapped with the following tools:
Autoconf 2.69
Automake 1.15

NEWS

This is a bugfix release.

  • Uninstallation of scripts was fixed and uninstallation was made safer in general. A bug in uninstalling scripts via the Makefile has been fixed. Uninstallation via the Makefile was previously safe if the relevant targets and variables were used correctly, however it was possible to implement some Very Bad Ideas. It should be a lot more difficult to do that now.
  • Checking for python interpreters is more robust. Previously the macros could still be confused depending on whether the "python" executable points to "python2" or "python3". The correct version should be detected in all cases now.

by Brandon Invergo at April 20, 2016 05:40 PM

FSF Blogs

Friday Free Software Directory IRC meetup: April 22nd

Join the FSF and friends Friday, April 22nd, from 12pm to 3pm EDT (16:00 to 19:00 UTC) to help improve the Free Software Directory.

Participate in supporting the Free Software Directory by adding new entries and updating existing ones. We will be on IRC in the #fsf channel on freenode.

Tens of thousands of people visit directory.fsf.org each month to discover free software. Each entry in the Directory contains a wealth of useful information, from basic category and descriptions, to providing detailed info about version control, IRC channels, documentation, and licensing info that has been carefully checked by FSF staff and trained volunteers.

While the Free Software Directory has been and continues to be a great resource to the world over the past decade, it has the potential of being a resource of even greater value. But it needs your help!

If you are eager to help and you can't wait or are simply unable to make it onto IRC on Friday, our participation guide will provide you with all the information you need to get started on helping the Directory today! There are also weekly FSD Meetings pages that everyone is welcome to contribute to before, during, and after each meeting.

April 20, 2016 03:10 PM

Gary Benson

Infinity client library

This past few weeks I’ve been working on an Infinity client library. This is what GDB will use to execute notes it finds. It’s early days, but it executed its first note this morning so I thought I’d put something together so people can see what I’m doing. Here’s how to try it out:

  1. Install elfutils libelf development stuff if you don’t have it already, the tlsdump example program needs it:
    sudo yum install elfutils-libelf-devel  # Fedora, RHEL, etc...
    sudo apt-get install libelf-dev         # Debian, Ubuntu, etc...
  2. Download and build the Infinity client library and example program:
    git clone -b libi8x-0.0.1 https://github.com/gbenson/libi8x.git libi8x-0.0.1
    cd libi8x-0.0.1
    ./autogen.sh
    ./configure --enable-logging --enable-debug
    make
  3. Check the tlsdump example program built:
    bash$ ls -l examples/tlsdump
    -rwxr-xr-x. 1 gary gary 5540 Apr 20 12:52 examples/tlsdump

    Yeah, there it is! (if it’s not there go back to step 0)

  4. Build a program with notes to run the example program against:
    gcc -o tests/ifact tests/ifact.S tests/main.c
  5. Run the program you just built:
    bash$ tests/ifact &
    [2] 8301
    Hello world I'm 8301
  6. Run the libi8x tlsdump example program with the test program’s PID as it’s argument:
    $ examples/tlsdump 8301
    0! = 1
    1! = 1
    2! = 2
    3! = 6
    4! = 24
    5! = 120
    6! = 720
    7! = 5040
    8! = 40320
    9! = 362880
    10! = 3628800
    11! = 39916800
    12! = 479001600

What just happened? The executable test/ifact you built contains a single Infinity note, test::factorial(i)i, the source for which is in tests/ifact.i8. The tlsdump example located the ifact executable, loaded test::factorial(i)i from it, and ran it a few times printing the result:

  err = i8x_ctx_get_funcref (ctx, "test", "factorial", "i", "i", &fr);
  if (err != I8X_OK)
    error_i8x (ctx, err);

  err = i8x_xctx_new (ctx, 512, &xctx);
  if (err != I8X_OK)
    error_i8x (ctx, err);

  for (int i = 0; i < 13; i++)
    {
      union i8x_value args[1], rets[1];

      args[0].i = i;
      err = i8x_xctx_call (xctx, fr, NULL, args, rets);
      if (err != I8X_OK)
	error_i8x (ctx, err);

      printf ("%d! = %d\n", i, rets[0].i);
    }

To see some debug output try this:

I8X_LOG=debug examples/tlsdump PID

Also try I8X_DEBUG=true in addition to I8X_LOG=debug to trace the bytecode as it executes.

by gbenson at April 20, 2016 02:21 PM

April 19, 2016

FSF Events

Roaming Teach-in for Digital Freedom (Washington, DC)

We'll distribute information about DRM in front of the office of the MPAA and RIAA, major industry groups that coordinate lobbying for laws that support DRM and unjust prosecution of those that circumvent it. Our last stop will be the Martin Luther King Jr. Memorial Library, to call attention to DRM's harm on libraries, and celebrate the possibility of a DRM-free future.

The goal of the teach-in is to use engaging materials get people thinking about the realities of DRM and excited about DRM-free media. Come to do whatever is best for your comfort level - you can hand out info, or take it to the next level and have educational conversations with passersby. Only a basic understanding of DRM issues is required -- we'll provide handouts and flyers, as well as a knowledgeshare session beforehand to practice the explaining DRM.

We'll gather afterwards at Austin Grill (750 E St NW) to talk about DRM activism and share snacks and drinks courtesy of the Free Software Foundation. If you can only come for the flyering, or only come for Austin Grill, you are still more than welcome. RSVP encouraged.

  • MEETING TIME: 5:45 PM, Tuesday, May 3
  • MEETING POINT: Pret A Manger restaurant on 17th & K street, right next to the Farragut North Metro Station.
  • PLAN:
    • 5:45 - 6:15 Sign-making, knowledge-share at Pret a Manger
    • 6:15 - 7:30 Teach-in at the MPAA, RIAA and Library (walking between destinations)
    • 7:45 - 9:00 Austin Grill
  • RSVP ENCOURAGED: <[email protected]>

In total, the event will involve about 1.4 miles of walking. The sidewalks have wheelchair ramps and the all the locations we are visiting are wheelchair accessible.

April 19, 2016 07:50 PM

April 15, 2016

dejagnu @ Savannah

DejaGnu 1.6 released

DejaGnu 1.6 was released on April 15, 2016. Important changes include decent SSH support, many bug fixes and a much improved manual. Many old and defunct board files have been removed.

by Ben Elliston at April 15, 2016 10:42 PM

FSF Events

Richard Stallman - "Free Software and Your Freedom" (Rochester, MI)

Richard Stallman will speak about the goals and philosophy of the Free Software Movement, and the status and history of the GNU operating system, which in combination with the kernel Linux is now used by tens of millions of users world-wide.

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

Location: Banquet Room A, Oakland University, 2200 N Squirrel Road, Rochester, MI

Registration, which can be done anonymously, while not required, is appreciated; it will help us ensure we can accommodate all the people who wish to attend.

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

April 15, 2016 02:50 PM