You are here

Bits from Debian

Subscribe to Feed Bits from Debian
Planet Debian -
Përditësimi: 1 ditë 20 orë më parë

Louis-Philippe Véronneau: membernator -- validate membership cards

Enj, 20/06/2019 - 5:45pd

I currently work part-time for student unions in Montreal and they often have large general assemblies (more than 2000 people). As you can likely figure out by yourself, running through paper lists to validate people's identity is a real PITA and takes quite a long time.

For example, even if you have 4 people checking names, if validating someone's identity takes 5 seconds on average (that's pretty fast), it takes around 40 minutes to go through 2000 people.

Introducing membernator, a python program written using pygame that validates membership cards against a CSV database! The idea is to use barcode scanners to scan people's school ID cards and see if they are in our digital lists. Hopefull, it will make our GA process easier for everyone.

I want to thank Jonathan Carter who provided the inspiration (and a codebase) for this project. membernator is a heavily-modified fork of ToeTally, a program currently in developpement for the DebConf Video Team.

membernator will eventually be packaged in Debian (I've started packaging stuff!), but for now you can either install it manually or get it from PyPi.

Here's a quick video of what running membernator looks like. I'm typing the IDs by hand since I left my barcode scanner at work. Excuse the weird screen glitches, it seems I'm somewhat bad a screen recording.

Debian GSoC Kotlin project blog: Finished converting all the buildfiles to groovy and downgraded to gradle 4.4.1; week 3+ update

Mër, 19/06/2019 - 7:49md
Converting build files to groovy

During the third week I mainly spent my time converting all the buildfiles in the "dist" task graph to groovy from kotlin-dsl.

I finished converting all the build files from kotlin-dsl to groovy. I then proceeded to build the entire project with only the subprojects required for the dist task so that we can avoid converting all the uneeded subproject buildfiles to groovy. Ran tests on the binary obtained from the newly onverted project and compared it to the test result on an original unconverted project. Since the new project only contains the needed subprojects this new project is unable to run all the needed tests. So inorder to overcome this we copy the binaries built by our new project and run the tests using the original unaltered projects. The compiler test task we need is "compilerTest"; this is the only aplicalbe test for out build binary from the "dist" task. I have run "distTest" for the unaltered project and uploaded it here; "distTest" task encompasses compilerTest task within it. Here is the log of the "compilerTest" run on the geenrated binaries.

Downgrading the Project to gradle 4.4.1

I also have downgraded the project to gradle 4.4.1 decrementaly from 5.1 to 4.7 to 4.4.1. Since gradle 4.4.1 isn't defaulty compatible with Openjdk-11 (defualt Java version in Debian Sid) I used an external JDK-9 to build the project with an external gradle 4.4.1 and confirmed it has indeed been downgraded. Next step would be begining to make this project buildable with Debian Sid gradle.

Closing notes and things to note

I figure that to those unfamiliar with Debian packaging it would be useful to know that we are going to upload a non-free prebuilt pacakge containing only the necessary binaries for bootstraping. Then using this we can build this project in a more Debian way. Also I am posting the enviornment vraibles followed by build command to build this project as of this blog. 1. export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64" 2. export JDK_16="/usr/lib/jvm/java-8-openjdk-amd64" 3. export JDK_17="/usr/lib/jvm/java-8-openjdk-amd64" 4. export JDK_18="/usr/lib/jvm/java-8-openjdk-amd64" 5. export JDK_9="/home/Java/jdk-9.0.4_linux-x64_bin/jdk-9.0.4" 6. ./gradlew -Pteamcity=true dist

Here is a link to the work I have done so
far. You can find me as m36 or m36[m] on #debian-mobile and #debian-java in OFTC.

I ll try to maintain this blog and post the major updates weekly.

Neil McGovern: GNOME ED Update – April/May

Mër, 19/06/2019 - 12:04md

It’s time for another update on what the GNOME Foundation has been up to, this time in April and May.


We’ve been to a number of events in the last couple of months. April saw myself, Kristi, Bastian, Anisa and Stefano at FOSS-North in Sweden. Zeeshan Ali presented a talk on Open Source Geolocation.

At the end of April, Molly de Blanc and Sri Ramkrishna were at Linux Fest North West. Additionally, Molly delivered a talk related to community guideline enforcement, which was featured on the LFNW web page.

We also had a couple of hackfests in may – Rust+GNOME Hackfest #5 in Berlin at the start of the month, and the GStreamer Spring Hackfest 2019 in Oslo at the end of May.

Coming up in July, we’ll be attending OSCON and having a West Coast Hackfest – a combined 3-in-1 hackfest bringing in GTK, Documentation and Engagement teams!


GUADEC and GNOME.Asia planning is now very much underway, and they’ve now both announced their venues and dates – GUADEC will be in Thessaloniki, Greece at the end of August, and GNOME.Asia will be in Gresik, Indonesia mid October! As always, we’re after sponsors for both of these, so if you know of any organisations who can help, please pass along our sponsorship brochure.


For those that didn’t see my announcement, Molly de Blanc joined the Foundation as our Strategic Initiatives Manager! Molly comes from the Free Software Foundation where she was the Campaigns Manager, working on community organising around digital rights issues.
She’s also the President of the Board of Directors of the Open Source Initiative, and on the Debian Outreach and Anti-harassment teams. Regularly speaking at conferences around the world, she has represented multiple projects in community and corporate contexts.


We’ve also been trying something new – we moved the gtk lists away from Mailman and over to The uptake has been rather impressive – we’re now seeing more topics on Discourse then all gtk-* lists grouped together, and more and more people engaged. We also moved over builder, and are looking at other lists, with a possible goal of eventually retiring mailman all together for general purpose discussions. If you’re interested, let me know!

Google Summer of Code

The Google Summer of Code internships are now underway, and we have a total of 10 students working for GNOME:

  • Sajeer Ahamed Riyaf – Converting GStreamer plugins to Rust
  • Srestha Srivastava – Improve GNOME Boxes express-installations by adding support to tree-based installations
  • AJ Jordan – Implement a Migration Assistant
  • Andrei Lişiţă – Add a saved states manager for GNOME Games
  • Xiang Fan – Update of gtk-rs to support GTK4
  • Stefanos Dimos – Adding the ability to preview links in Polari
  • Mayank_Sharma – Improve Google-Drive support for Gvfs
  • Ravgeet Dhillon – Rework the GTK website
  • Sumaid – Full stack MusicBrainz integration for GNOME Music
  • Gaurav Agrawal – Implement side by side diffs in Gitg

This is a fantastic set of projects, and I’m sure all students will be welcomed warmly!

Petter Reinholdtsen: Jami/Ring, finally functioning peer to peer communication client

Mër, 19/06/2019 - 8:45pd

Some years ago, in 2016, I wrote for the first time about the Ring peer to peer messaging system. It would provide messaging without any central server coordinating the system and without requiring all users to register a phone number or own a mobile phone. Back then, I could not get it to work, and put it aside until it had seen more development. A few days ago I decided to give it another try, and am happy to report that this time I am able to not only send and receive messages, but also place audio and video calls. But only if UDP is not blocked into your network.

The Ring system changed name earlier this year to Jami. I tried doing web search for 'ring' when I discovered it for the first time, and can only applaud this change as it is impossible to find something called Ring among the noise of other uses of that word. Now you can search for 'jami' and this client and the Jami system is the first hit at least on duckduckgo.

Jami will by default encrypt messages as well as audio and video calls, and try to send them directly between the communicating parties if possible. If this proves impossible (for example if both ends are behind NAT), it will use a central SIP TURN server maintained by the Jami project. Jami can also be a normal SIP client. If the SIP server is unencrypted, the audio and video calls will also be unencrypted. This is as far as I know the only case where Jami will do anything without encryption.

Jami is available for several platforms: Linux, Windows, MacOSX, Android, iOS, and Android TV. It is included in Debian already. Jami also work for those using F-Droid without any Google connections, while Signal do not. The protocol is described in the Ring project wiki. The system uses a distributed hash table (DHT) system (similar to BitTorrent) running over UDP. On one of the networks I use, I discovered Jami failed to work. I tracked this down to the fact that incoming UDP packages going to ports 1-49999 were blocked, and the DHT would pick a random port and end up in the low range most of the time. After talking to the developers, I solved this by enabling the dhtproxy in the settings, thus using TCP to talk to a central DHT proxy instead of peering directly with others. I've been told the developers are working on allowing DHT to use TCP to avoid this problem. I also ran into a problem when trying to talk to the version of Ring included in Debian Stable (Stretch). Apparently the protocol changed between beta2 and the current version, making these clients incompatible. Hopefully the protocol will not be made incompatible in the future.

It is worth noting that while looking at Jami and its features, I came across another communication platform I have not tested yet. The Tox protocol and family of Tox clients. It might become the topic of a future blog post.

As usual, if you use Bitcoin and want to show your support of my activities, please send Bitcoin donations to my address 15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.

Dirk Eddelbuettel: anytime 0.3.4

Mar, 18/06/2019 - 1:28md

A new minor release of the anytime package is arriving on CRAN. This is the fifteenth release, and first since the 0.3.3 release in November.

anytime is a very focused package aiming to do just one thing really well: to convert anything in integer, numeric, character, factor, ordered, … format to either POSIXct or Date objects – and to do so without requiring a format string. See the anytime page, or the GitHub for a few examples.

This release is mostly internal and switches to the excellent new tinytest package, a tweak the iso8601() format helper which now uses T between date and time (which is a breaking change with the usual addition of a option to get the old behaviour back) and a little more. The full list of changes follows.

Changes in anytime version 0.3.4 (2019-06-18)
  • Documentation was updated about a 'Europe/London' conversion issue (#84, inter alia).

  • The package is now compiled under the C++11 standard.

  • The package now uses tinytest for unit tests.

  • The iso8601() function now places a ‘T’ between date and time; an option switches to prior format using a space.

  • The vignette is now pre-made and included as-is in a Sweave document reducing the number of suggested packages.

Courtesy of CRANberries, there is a comparison to the previous release. More information is on the anytime page. The issue tracker tracker off the GitHub repo can be use for questions and comments.

This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.

Steinar H. Gunderson: 0 bytes left

Mar, 18/06/2019 - 12:45pd

Around 2003–2004, a friend and I wrote a softsynth that was used in a 64 kB intro. Now, 14 years later, cTrix and Pselodux picked it up and made a really cool 32 kB tune with it! Who would have thought.

(For the record, the synth plus the original Nemesis tune fit under 16 kB given the right packer and some squeezing, even with some LPC samples. But there's heck of a lot more notes in this one :-) )

Emmanuel Kasper: Normalize a bunch of audio files to the same loudness

Hën, 17/06/2019 - 4:30md
I had a bunch of audio files in a directory, each recorded live with different devices, and it proved very ear-painful to hear the audio files in a playlist because of the difference of loudness.
To normalize audio filesm  you can find a number of tool working with ID3 tags, but after testing with vlc, mplayer, and the pogo mp3 player none of them did produce a measurable change. So I converted everything to wav, normalized the wav files, then converted back to mp3.

delete funny chars and spaces in file names
detox music_dir
converting files to wav is just a matter of
# this uses zsh recursive globbing
for file in **/*.mp3 ; do ffmpeg -i $file  "$(basename $file .mp3).wav"; done
normalizing files with the normalize-audio program, from the debian package of the same name.
# this uses zsh recursive globbing
normalize-audio **/*.wav
converting back to mp3
for file in **/*.wav ; do ffmpeg -b:a 192k -acodec libmp3lame -i $file "$(basename $file .wav).mp3"; done