Gnu Planet
health @ Savannah: GNUHealth Hospital Management 4.2.2 patchset released
Dear community
GNU Health 4.2.2 patchset has been released !
Priority: High
- About GNU Health Patchsets
- Updating your system with the GNU Health control Center
- Installation notes
- List of other issues related to this patchset
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-4.2.2.tar.gz)
Starting GNU Health 3.x series, you can do automatic updates on the GNU Health HMIS 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.
You must apply previous patchsets before installing this patchset. If your patchset level is 4.2.1, then just follow the general instructions. You can find the patchsets at GNU Health main download site at GNU.org (https://ftp.gnu.org/gnu/health/)
In most cases, GNU Health Control center (gnuhealth-control) takes care of applying the patches for you.
Pre-requisites for upgrade to 4.2.2: None
Now follow the general instructions at
https://en.wikibooks.org/wiki/GNU_Health/Control_Center
After applying the patches, make a full update of your GNU Health database as explained in the documentation.
When running "gnuhealth-control" for the first time, you will see the following message: "Please restart now the update with the new control center" Please do so. Restart the process and the update will continue.
- Restart the GNU Health server
- bug #64269: get_serial function of LabTest class in health_crypto_lab.py need conside add units.name
- bug #64386: Automatically update the appointment sequence when state is confirm
- bug #64432: Gestational weeks show floating point instead of weeks
- bug #64457: Patient automatic critical information entries should be unique
- bug #64530: traceback on evaluation page of life if no institution is given
- bug #64665: Product cost_price needs to be passed as an argument in stock moves
For detailed information about each issue, you can visit :
https://savannah.gnu.org/bugs/?group=health
About each task, you can visit:
https://savannah.gnu.org/task/?group=health
For detailed information you can read about Patches and Patchsets
GNU Health: Caminos Cruzados and GNU Solidario join forces in healthcare for Gambia with GNU Health
We’re very happy to announce that “Caminos cruzados”, a Spanish non-for-profit organization, has signed an agreement with GNU Solidario to implement GNU Health in health institutions from Gambia.
María Eugenia Ramos, president of the organization traveled to Gran Canaria to meet with Luis Falcón, president of GNU Solidario to formalize the agreement and to plan the next actions in the Gambia.
During these three days we went through the main functionality of the GNU Health HMIS, with focus in the areas of Social Medicine, Primary Care and Public Health.
Classroom before the renovation (source: Caminos Cruzados)
Caminos Cruzados and GNU Solidario share the goals of health and education are indivisible entities. In fact education is health, and there is no healthy person or society without education.
Current state of some classrooms after renovation process (Source: Caminos Cruzados)In the area of health, the NGO collaborates with the Ndungu Kebbeh health center, that takes care of a population around 8000 people, in addition to the surrounding villages.
Ndungu Kebbeh health center (Source: Caminos Cruzados)We are very excited about this agreement, and can’t wait to start collaborating with Caminos Cruzados and the local team in Gambia to implement GNU Health in the different Health institutions. GNU Health will definitely help optimizing the internal processes and resources in the health institutions, and most importantly, will contribute to optimize the health promotion and disease prevention programs for the betterment of their people.
Resources:Caminos Cruzados: http://www.caminoscruzados.org
GNU Solidario: https://www.gnusolidario.org
GNU Health: https://www.gnuhealth.org
FSF Blogs: GNU40 - Celebration in the US
unifont @ Savannah: Unifont 15.1.01 Released
12 September 2023 Unifont 15.1.01 is now available.
This is a major release. This release no longer builds TrueType fonts by default, as announced over the past year. They have been replaced with their OpenType equivalents. TrueType fonts can still be built manually by typing "make truetype" in the font directory.
This release also includes a new Hangul Syllables Johab 6/3/1 encoding proposed by Ho-Seok Ee. New Hangul supporting software for this encoding allows formation of all double-width Hangul syllables, including those with ancient letters that are outside the Unicode Hangul Syllables range. Details are in the ChangeLog file.
Download this release from GNU server mirrors at:
https://ftpmirror.gnu.org/unifont/unifont-15.1.01/
or if that fails,
https://ftp.gnu.org/gnu/unifont/unifont-15.1.01/
or, as a last resort,
ftp://ftp.gnu.org/gnu/unifont/unifont-15.1.01/
These files are also available on the unifoundry.com website:
https://unifoundry.com/pub/unifont/unifont-15.1.01/
Font files are in the subdirectory
https://unifoundry.com/pub/unifont/unifont-15.1.01/font-builds/
A more detailed description of font changes is available at
https://unifoundry.com/unifont/index.html
and of utility program changes at
https://unifoundry.com/unifont/unifont-utilities.html
Information about Hangul modifications is at
https://unifoundry.com/hangul/index.html
and
http://unifoundry.com/hangul/hangul-generation.html
FSF Events: Free Software Directory meeting on IRC: Friday, September 15, starting at 12:00 EDT (16:00 UTC)
GNU Guix: A new Quality Assurance tool for Guix
Maintaining and expanding Guix's collection of packages can be complicated. As a distribution with around 22,000 packages, spanning across around 7 architectures and with support for cross-compilation, it's quite common for problems to occur when making changes.
Quality Assurance (QA) is a general term to describe the approach taken to try and ensure something meets expectations. When applied to software, the term testing is normally used. While Guix is software, and has tests, much more than those tests are needed to maintain Guix as a distribution.
So what might quality relate to in the context of Guix as a distribution? This will differ from person to person, but these are some common concerns:
- Packages successfully building (both now, and without any time bombs for the future)
- The packaged software functioning correctly
- Packages building on or for a specific architecture
- Packages building reproducibly
- Availability of translations for the package definitions
There's a range of tools to help maintain Guix. The package linters are a set of simple tools, they cover basic things from the naming of packages to more complicated checkers that look for security issues for example.
The guix weather tool looks at substitute availability information and can indicate how many substitutes are available for the current Guix and system. The guix challenge tool is similar, but it highlights package reproducibility issues, which is when the substitutes and local store items (if available) differ.
For translations, Guix uses Weblate which can provide information on how many translations are available.
The QA front-pageThen there's the relatively new Quality Assurance (QA) front-page, the aim of which is to bring together some of the existing Quality Assurance related information, as well as new being a good place to do additional QA tasks.
The QA front-page started as a service to coordinate automated testing for patches. When a patch or patch series is submitted to guix-patches@gnu.org, it is automatically applied to create a branch; then once the information is available from the Data Service about this branch, the QA front-page web interface lets you view which packages were modified and submits builds for these changes to the Build Coordinator behind bordeaux.guix.gnu.org to provide build information about the modified packages.
A very similar process applies for branches other than the master branch, the QA front-page queries issues.guix.gnu.org to find out which branch is going to be merged next, then follows the same process for patches.
For both patches and branches the QA front-page displays information about the effects of the changes. When this information is available, it can assist with reviewing the changes and help get patches merged quicker. This is a work in progress though, and there's much more that the QA front-page should be able to do as providing clearer descriptions of the changes or any other problems that should be addressed.
How to get involved?There's plenty of ways to get involved or contribute to the QA front-page.
If you submit patches to Guix, the QA front-page will attempt to apply the patches and show what's changed. You can click through from issues.guix.gnu.org to qa.guix.gnu.org via the QA badge by the status of the issue.
From the QA front-page, you can also view the list of branches which includes the requests for merging if they exist. Similar to the patch series, for the branch the QA front-page can display information about the package changes and substitute availability.
There's also plenty of ways to contribute to the QA front-page and connected tools. You can find some ideas and information on how to run the service in the README and if you have any questions or patches, please email guix-devel@gnu.org.
AcknowledgmentsThanks to Simon Tournier and Ludovic Courtès for providing feedback on an earlier draft of this post.
About GNU GuixGNU 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 Hurd or the Linux kernel, or it can be used as a standalone operating system distribution for i686, x86_64, ARMv7, AArch64 and POWER9 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.
FSF Blogs: The GNU System is turning forty: Come and celebrate with us
FSF News: FSF job opportunity: Operations assistant
gnuboot @ Savannah: Testers needed for GNU Boot 0.1 RC1
Hi,
GNU Boot has published its first release candidate, and we need help
for testing, at first from people who are able to recover from
computers that don't boot anymore.
This is because, while we have very minimal changes on top of the code
used by the last Libreboot release that didn't contain nonfree
software, we didn't test all the images ourselves yet, so there is still
risks of ending up with computers that don't boot anymore.
If the code works fine, we will most likely be able to release it as-is
but we (the current maintainers) still have a lot of work to do before
the release.
For instance we still need to integrate the code from the website, find
good ways to deploy it, make sure that the installation documentation
works (for instance by asking for help from testers and fixing it), etc.
As for accepting patches, we're not ready yet to do that yet, but we
plan to have that done for the first release, or before that depending
on how things work.
For reporting what images work, you can reply to this mail (or open a
bug report).
The GNU Boot maintainers.
FSF Blogs: Call for sessions for LibrePlanet 2024: Cultivating Community now open
FSF Events: GNU40: Hacker meeting in Switzerland
FSF Events: GNU40 - Celebration in the US
Simon Josefsson: Trisquel on ppc64el: Talos II
The release notes for Trisquel 11.0 “Aramo” mention support for POWER and ARM architectures, however the download area only contains links for x86, and forum posts suggest there is a lack of instructions how to run Trisquel on non-x86.
Since the release of Trisquel 11 I have been busy migrating x86 machines from Debian to Trisquel. One would think that I would be finished after this time period, but re-installing and migrating machines is really time consuming, especially if you allow yourself to be distracted every time you notice something that Really Ought to be improved. Rabbit holes all the way down. One of my production machines is running Debian 11 “bullseye” on a Talos II Lite machine from Raptor Computing Systems, and migrating the virtual machines running on that host (including the VM that serves this blog) to a x86 machine running Trisquel felt unsatisfying to me. I want to migrate my computing towards hardware that harmonize with FSF’s Respects Your Freedom and not away from it. Here I had to chose between using the non-free software present in newer Debian or the non-free software implied by most x86 systems: not an easy chose. So I have ignored the dilemma for some time. After all, the machine was running Debian 11 “bullseye”, which was released before Debian started to require use of non-free software. With the end-of-life date for bullseye approaching, it seems that this isn’t a sustainable choice.
There is a report open about providing ppc64el ISOs that was created by Jason Self shortly after the release, but for many months nothing happened. About a month ago, Luis Guzmán mentioned an initial ISO build and I started testing it. The setup has worked well for a month, and with this post I want to contribute instructions how to get it up and running since this is still missing.
The setup of my soon-to-be new production machine:
- Talos II Lite
- POWER9 18-core v2 CPU
- Inter-Tech 4U-4410 rack case with ASPOWER power supply
- 8x32GB DDR4-2666 ECC RDIMM
- HighPoint SSD7505 (the Rocket 1504 or 1204 would be a more cost-effective choice, but I re-used a component I had laying around)
- PERC H700 aka LSI MegaRAID 2108 SAS/SATA (also found laying around)
- 2x1TB NVMe
- 3x18TB disks
According to the notes in issue 14 the ISO image is available at https://builds.trisquel.org/debian-installer-images/ and the following commands download, integrity check and write it to a USB stick:
wget -q https://builds.trisquel.org/debian-installer-images/debian-installer-images_20210731+deb11u8+11.0trisquel14_ppc64el.tar.gz tar xfa debian-installer-images_20210731+deb11u8+11.0trisquel14_ppc64el.tar.gz ./installer-ppc64el/20210731+deb11u8+11/images/netboot/mini.iso echo '6df8f45fbc0e7a5fadf039e9de7fa2dc57a4d466e95d65f2eabeec80577631b7 ./installer-ppc64el/20210731+deb11u8+11/images/netboot/mini.iso' | sha256sum -c sudo wipefs -a /dev/sdX sudo dd if=./installer-ppc64el/20210731+deb11u8+11/images/netboot/mini.iso of=/dev/sdX conv=sync status=progressSadly, no hash checksums or OpenPGP signatures are published.
Power off your device, insert the USB stick, and power it up, and you see a Petitboot menu offering to boot from the USB stick. For some reason, the "Expert Install" was the default in the menu, and instead I select "Default Install" for the regular experience. For this post, I will ignore BMC/IPMI, as interacting with it is not necessary. Make sure to not connect the BMC/IPMI ethernet port unless you are willing to enter that dungeon. The VGA console works fine with a normal USB keyboard, and you can chose to use only the second enP4p1s0f1 network card in the network card selection menu.
If you are familiar with Debian netinst ISO’s, the installation is straight-forward. I complicate the setup by partitioning two RAID1 partitions on the two NVMe sticks, one RAID1 for a 75GB ext4 root filesystem (discard,noatime) and one RAID1 for a 900GB LVM volume group for virtual machines, and two 20GB swap partitions on each of the NVMe sticks (to silence a warning about lack of swap, I’m not sure swap is still a good idea?). The 3x18TB disks use DM-integrity with RAID1 however the installer does not support DM-integrity so I had to create it after the installation.
There are two additional matters worth mentioning:
- Selecting the apt mirror does not have the list of well-known Trisquel mirrors which the x86 installer offers. Instead I have to input the archive mirror manually, and fortunately the archive.trisquel.org hostname and path values are available as defaults, so I just press enter and fix this after the installation has finished. You may want to have the hostname/path of your local mirror handy, to speed things up.
- The installer asks me which kernel to use, which the x86 installer does not do. I believe older Trisquel/Ubuntu installers asked this question, but that it was gone in aramo on x86. I select the default “linux-image-generic” which gives me a predictable 5.15 Linux-libre kernel, although you may want to chose “linux-image-generic-hwe-11.0” for a more recent 6.2 Linux-libre kernel. Maybe this is intentional debinst-behaviour for non-x86 platforms?
I have re-installed the machine a couple of times, and have now finished installing the production setup. I haven’t ran into any serious issues, and the system has been stable. Time to wrap up, and celebrate that I now run an operating system aligned with the Free System Distribution Guidelines on hardware that aligns with Respects Your Freedom — Happy Hacking indeed!
coreutils @ Savannah: coreutils-9.4 released [stable]
This is to announce coreutils-9.4, a stable release.
This is a stabilization release coming about 19 weeks after the 9.3 release.
See the NEWS below for a summary of changes.
There have been 162 commits by 10 people in the 19 weeks since 9.3.
Thanks to everyone who has contributed!
The following people contributed changes to this release:
Andreas Schwab (1) Jim Meyering (1)
Bernhard Voelker (3) Paul Eggert (60)
Bruno Haible (11) Pádraig Brady (80)
Dragan Simic (3) Sylvestre Ledru (2)
Jaroslav Skarvada (1) Ville Skyttä (1)
Pádraig [on behalf of the coreutils maintainers]
==================================================================
Here is the GNU coreutils home page:
http://gnu.org/s/coreutils/
For a summary of changes and contributors, see:
http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=shortlog;h=v9.4
or run this command from a git-cloned coreutils directory:
git shortlog v9.3..v9.4
Here are the compressed sources:
https://ftp.gnu.org/gnu/coreutils/coreutils-9.4.tar.gz (15MB)
https://ftp.gnu.org/gnu/coreutils/coreutils-9.4.tar.xz (5.8MB)
Here are the GPG detached signatures:
https://ftp.gnu.org/gnu/coreutils/coreutils-9.4.tar.gz.sig
https://ftp.gnu.org/gnu/coreutils/coreutils-9.4.tar.xz.sig
Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html
Here are the SHA1 and SHA256 checksums:
7dce42b8657e333ce38971d4ee512c4313b8f633 coreutils-9.4.tar.gz
X2ANkJOXOwr+JTk9m8GMRPIjJlf0yg2V6jHHAutmtzk= coreutils-9.4.tar.gz
7effa305c3f4bc0d40d79f1854515ebf5f688a18 coreutils-9.4.tar.xz
6mE6TPRGEjJukXIBu7zfvTAd4h/8O1m25cB+BAsnXlI= coreutils-9.4.tar.xz
Verify the base64 SHA256 checksum with cksum -a sha256 --check
from coreutils-9.2 or OpenBSD's cksum since 2007.
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 coreutils-9.4.tar.gz.sig
The signature should match the fingerprint of the following key:
pub rsa4096/0xDF6FD971306037D9 2011-09-23 [SC]
Key fingerprint = 6C37 DC12 121A 5006 BC1D B804 DF6F D971 3060 37D9
uid [ unknown] Pádraig Brady <P@draigBrady.com>
uid [ unknown] Pádraig Brady <pixelbeat@gnu.org>
If that command fails because you don't have the required public key,
or that public key has expired, try the following commands to retrieve
or refresh it, and then rerun the 'gpg --verify' command.
gpg --locate-external-key P@draigBrady.com
gpg --recv-keys DF6FD971306037D9
wget -q -O- 'https://savannah.gnu.org/project/release-gpgkeys.php?group=coreutils&download=1' | gpg --import -
As a last resort to find the key, you can try the official GNU
keyring:
wget -q https://ftp.gnu.org/gnu/gnu-keyring.gpg
gpg --keyring gnu-keyring.gpg --verify coreutils-9.4.tar.gz.sig
This release was bootstrapped with the following tools:
Autoconf 2.72c.32-cb6fb
Automake 1.16.5
Gnulib v0.1-6658-gbb5bb43a1e
Bison 3.8.2
NEWS
* Noteworthy changes in release 9.4 (2023-08-29) [stable]
** Bug fixes
On GNU/Linux s390x and alpha, programs like 'cp' and 'ls' no longer
fail on files with inode numbers that do not fit into 32 bits.
[This bug was present in "the beginning".]
'b2sum --check' will no longer read unallocated memory when
presented with malformed checksum lines.
[bug introduced in coreutils-9.2]
'cp --parents' again succeeds when preserving mode for absolute directories.
Previously it would have failed with a "No such file or directory" error.
[bug introduced in coreutils-9.1]
'cp --sparse=never' will avoid copy-on-write (reflinking) and copy offloading,
to ensure no holes present in the destination copy.
[bug introduced in coreutils-9.0]
cksum again diagnoses read errors in its default CRC32 mode.
[bug introduced in coreutils-9.0]
'cksum --check' now ensures filenames with a leading backslash character
are escaped appropriately in the status output.
This also applies to the standalone checksumming utilities.
[bug introduced in coreutils-8.25]
dd again supports more than two multipliers for numbers.
Previously numbers of the form '1024x1024x32' gave "invalid number" errors.
[bug introduced in coreutils-9.1]
factor, numfmt, and tsort now diagnose read errors on the input.
[This bug was present in "the beginning".]
'install --strip' now supports installing to files with a leading hyphen.
Previously such file names would have caused the strip process to fail.
[This bug was present in "the beginning".]
ls now shows symlinks specified on the command line that can't be traversed.
Previously a "Too many levels of symbolic links" diagnostic was given.
[This bug was present in "the beginning".]
pinky, uptime, users, and who no longer misbehave on 32-bit GNU/Linux
platforms like x86 and ARM where time_t was historically 32 bits.
Also see the new --enable-systemd option mentioned below.
[bug introduced in coreutils-9.0]
'pr --length=1 --double-space' no longer enters an infinite loop.
[This bug was present in "the beginning".]
shred again operates on Solaris when built for 64 bits.
Previously it would have exited with a "getrandom: Invalid argument" error.
[bug introduced in coreutils-9.0]
tac now handles short reads on its input. Previously it may have exited
erroneously, especially with large input files with no separators.
[This bug was present in "the beginning".]
'uptime' no longer incorrectly prints "0 users" on OpenBSD,
and is being built again on FreeBSD and Haiku.
[bugs introduced in coreutils-9.2]
'wc -l' and 'cksum' no longer crash with an "Illegal instruction" error
on x86 Linux kernels that disable XSAVE YMM. This was seen on Xen VMs.
[bug introduced in coreutils-9.0]
** Changes in behavior
'cp -v' and 'mv -v' will no longer output a message for each file skipped
due to -i, or -u. Instead they only output this information with --debug.
I.e., 'cp -u -v' etc. will have the same verbosity as before coreutils-9.3.
'cksum -b' no longer prints base64-encoded checksums. Rather that
short option is reserved to better support emulation of the standalone
checksum utilities with cksum.
'mv dir x' now complains differently if x/dir is a nonempty directory.
Previously it said "mv: cannot move 'dir' to 'x/dir': Directory not empty",
where it was unclear whether 'dir' or 'x/dir' was the problem.
Now it says "mv: cannot overwrite 'x/dir': Directory not empty".
Similarly for other renames where the destination must be the problem.
[problem introduced in coreutils-6.0]
** Improvements
cp, mv, and install now avoid copy_file_range on linux kernels before 5.3
irrespective of which kernel version coreutils is built against,
reinstating that behavior from coreutils-9.0.
comm, cut, join, od, and uniq will now exit immediately upon receiving a
write error, which is significant when reading large / unbounded inputs.
split now uses more tuned access patterns for its potentially large input.
This was seen to improve throughput by 5% when reading from SSD.
split now supports a configurable $TMPDIR for handling any temporary files.
tac now falls back to '/tmp' if a configured $TMPDIR is unavailable.
'who -a' now displays the boot time on Alpine Linux, OpenBSD,
Cygwin, Haiku, and some Android distributions
'uptime' now succeeds on some Android distributions, and now counts
VM saved/sleep time on GNU (Linux, Hurd, kFreeBSD), NetBSD, OpenBSD,
Minix, and Cygwin.
On GNU/Linux platforms where utmp-format files have 32-bit timestamps,
pinky, uptime, and who can now work for times after the year 2038,
so long as systemd is installed, you configure with a new, experimental
option --enable-systemd, and you use the programs without file arguments.
(For example, with systemd 'who /var/log/wtmp' does not work because
systemd does not support the equivalent of /var/log/wtmp.)
GNUnet News: GSoC Work Product: GNUnet over QUIC
Hi, my name is Marshall and throughout the summer of 2023 I worked on developing a new communicator for the GNUnet transport service. I learned a lot about GNUnet through my development experience. Here are some details about the journey!
Goals of the Project.The goal of this project was to develop a new transport, QUIC, for the Transport Next Generation (TNG) service . TNG is a successor to the previous transport plugins and will be running in the fall 2023 GNUnet release. At the time of writing, GNUnet currently supports transports over TCP, UDP, and UNIX sockets. I chose to implement a QUIC transport communicator due to the rising popularity and speed of this protocol. Because of this popularity, QUIC will be a great transport protocol for GNUnet traffic to sit on top of. QUIC is intended to be a faster alternative to TCP and tries to address some issues that TLS has.
What I completed.One of the first steps was deciding on a library that can process QUIC packets and would be available to users running different operating systems. We chose to go with Cloudflare's Quiche library because the C API seemed simpler than other available libraries. Installing cloudflare-quiche via the Homebrew package manager (MacOS) did not actually install the libraries properly for linking with other C programs so I made a pull request in the Homebrew repository and fixed the formula . After this, I worked on handling the receiving functionality of the communicator. This involved reading from the socket then processing the QUIC packets using the Quiche library. Then I implemented the ability to send messages in a similar manner. One of the last steps involved connecting everything together with the transport service so that the communicator can receive information about peers and relay messages. Once I finished these tasks, the QUIC communicator got merged upstream and is currently an experimental feature. This is due to the packaging situation with Quiche as it is difficult for some users to install the library, and there still may be bugs lingering in the QUIC communicator. More testing and refinement is needed to offer a truly robust and reliable communicator. Link to source code: QUIC communicator .
The current state.The QUIC communicator currently functions and passes basic communicator tests. That being said, there are some latency issues that need to be addressed. Since the communicator suite is designed to run alongside the new TNG service, it is currently not usable since TNG is still under development (as mentioned previously). Mentioned below are some other things that have yet to be implemented in the QUIC communicator, but will be fixed in the future.
Future Work.We still need to develop a more permanent solution to the certificate generation so that the Quiche API functions properly. This certificate generation has been done in previous implementations (for example the HTTPS plugin). Currently, we are using static, example certificates. Adding timers to each QUIC connection so that a timeout will trigger a connection to close also needs to be implemented. Finally, we should look into lowering the latency by finding points where the communicator is too slow and optimizing it.
Challenges I Encountered.One of the challenges was reverse engineering the Quiche C API because it has such limited documentation. I learned how to make use of the API by looking at the very simple example client and server examples that are provided in the Quiche repository. There is documentation for the Rust API which seems to operate pretty similarly, so this was helpful too at times. I overcame this challenge with the help and guidance of my mentor Martin Schanzenbach.
Final notes. Overall, my experience with GNUnet was fantastic. My mentors were friendly and consistently available when I needed help, and I thank them for that. I'm thankful for the GNUnet community for being welcoming and understanding toward new open source developers like myself. I had a lot of fun learning how GNUnet works while developing my project. I am looking forward to contributing to GNUnet in the future!parallel @ Savannah: GNU Parallel 20230822 ('Chandrayaan') released [stable]
GNU Parallel 20230822 ('Chandrayaan') has been released. It is available for download at: lbry://@GnuParallel:4
Quote of the month:
GNU parallel is your friend. Unleash your cores! #GNU
-- Blake L @BlakeDL@twitter
New in this release:
- Bug fixes and man page updates.
News about GNU Parallel:
- GNU Parallel, where have you been all my life? https://alexplescan.com/posts/2023/08/20/gnu-parallel/
- Parallel (multithreaded) music download from Youtube https://hrna.moe/?p=parallel-multithread-music-download
GNU Parallel - For people who live life in the parallel lane.
If you like GNU Parallel record a video testimonial: Say who you are, what you use GNU Parallel for, how it helps you, and what you like most about it. Include a command that uses GNU Parallel if you feel like it.
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.
For example you can run this to convert all jpeg files into png and gif files and have a progress bar:
parallel --bar convert {1} {1.}.{2} ::: *.jpg ::: png gif
Or you can generate big, medium, and small thumbnails of all jpeg files in sub dirs:
find . -name '*.jpg' |
parallel convert -geometry {2} {1} {1//}/thumb{2}_{1/} :::: - ::: 50 100 200
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 || lynx -source pi.dk/3 || curl pi.dk/3/ || \
fetch -o - http://pi.dk/3 ) > install.sh
$ sha1sum install.sh | grep 883c667e01eed62f975ad28b6d50e22a
12345678 883c667e 01eed62f 975ad28b 6d50e22a
$ md5sum install.sh | grep cc21b4c943fd03e93ae1ae49e28573c0
cc21b4c9 43fd03e9 3ae1ae49 e28573c0
$ sha512sum install.sh | grep ec113b49a54e705f86d51e784ebced224fdff3f52
79945d9d 250b42a4 2067bb00 99da012e c113b49a 54e705f8 6d51e784 ebced224
fdff3f52 ca588d64 e75f6033 61bd543f d631f592 2f87ceb2 ab034149 6df84a35
$ bash install.sh
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:
- (Have your company) donate to FSF https://my.fsf.org/donate/
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.
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.
poke @ Savannah: GNU poke 3.3 released
I am happy to announce a new release of GNU poke, version 3.3.
This is a bugfix release in the 3.x series.
See the file NEWS in the distribution tarball for a list of issues
fixed in this release.
The tarball poke-3.3.tar.gz is now available at
https://ftp.gnu.org/gnu/poke/poke-3.3.tar.gz.
GNU poke (http://www.jemarch.net/poke) is an interactive, extensible
editor for binary data. Not limited to editing basic entities such
as bits and bytes, it provides a full-fledged procedural,
interactive programming language designed to describe data
structures and to operate on them.
Thanks to the people who contributed with code and/or documentation to
this release.
Happy poking!
--
Jose E. Marchesi
Frankfurt am Main
20 August 2023
gzip @ Savannah: gzip-1.13 released [stable]
This is to announce gzip-1.13, a stable release.
Thanks to Paul and Bruno for contributing.
There have been 50 commits by 3 people in the 71 weeks since 1.12.
See the NEWS below for a brief summary.
Thanks to everyone who has contributed!
The following people contributed changes to this release:
Bruno Haible (4)
Jim Meyering (15)
Paul Eggert (31)
Jim
[on behalf of the gzip maintainers]
==================================================================
Here is the GNU gzip home page:
http://gnu.org/s/gzip/
For a summary of changes and contributors, see:
http://git.sv.gnu.org/gitweb/?p=gzip.git;a=shortlog;h=v1.13
or run this command from a git-cloned gzip directory:
git shortlog v1.12..v1.13
Here are the compressed sources:
https://ftp.gnu.org/gnu/gzip/gzip-1.13.tar.gz (1.3MB)
https://ftp.gnu.org/gnu/gzip/gzip-1.13.tar.xz (820KB)
Here are the GPG detached signatures:
https://ftp.gnu.org/gnu/gzip/gzip-1.13.tar.gz.sig
https://ftp.gnu.org/gnu/gzip/gzip-1.13.tar.xz.sig
Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html
Here are the SHA1 and SHA256 checksums:
9cc4f2220c8028823433e9d869dc07610aefefb5 gzip-1.13.tar.gz
IPyBiu666Hzb8gnTUUGtnTzzErNaXmvmG/z7+e3dISo= gzip-1.13.tar.gz
a793e107a54769576adc16703f97c39ee7afdd4e gzip-1.13.tar.xz
dFTraTXbF8ZlVXbC4bD6vv04tNCTbg+H9IzQYs6RoFc= gzip-1.13.tar.xz
Verify the base64 SHA256 checksum with cksum -a sha256 --check
from GNU coreutils-9.2 or OpenBSD's cksum since 2007.
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 gzip-1.13.tar.gz.sig
The signature should match the fingerprint of the following key:
pub rsa4096/0x7FD9FCCB000BEEEE 2010-06-14 [SCEA]
Key fingerprint = 155D 3FC5 00C8 3448 6D1E EA67 7FD9 FCCB 000B EEEE
uid [ unknown] Jim Meyering <jim@meyering.net>
uid [ unknown] Jim Meyering <meyering@fb.com>
uid [ unknown] Jim Meyering <meyering@gnu.org>
If that command fails because you don't have the required public key,
or that public key has expired, try the following commands to retrieve
or refresh it, and then rerun the 'gpg --verify' command.
gpg --locate-external-key jim@meyering.net
gpg --recv-keys 7FD9FCCB000BEEEE
wget -q -O- 'https://savannah.gnu.org/project/release-gpgkeys.php?group=gzip&download=1' | gpg --import -
As a last resort to find the key, you can try the official GNU
keyring:
wget -q https://ftp.gnu.org/gnu/gnu-keyring.gpg
gpg --keyring gnu-keyring.gpg --verify gzip-1.13.tar.gz.sig
This release was bootstrapped with the following tools:
Autoconf 2.72c.32-cb6fb
Automake 1.16i
Gnulib v0.1-6631-g5651802c60
NEWS
* Noteworthy changes in release 1.13 (2023-08-19) [stable]
** Changes in behavior
zless now diagnoses gzip failures, if using less 623 or later.
When SIGPIPE is ignored, gzip now exits with status 2 (warning)
instead of status 1 (error) when writing to a broken pipe. This is
more useful with programs like 'less' that treat gzip exit status 2
as a non-failure.
** Bug fixes
'gzip -d' no longer fails to report invalid compressed data
that uses a dictionary distance outside the input window.
[bug present since the beginning]
Port to C23, which does not allow K&R-style function definitions
with parameters, and which does not define __alignas_is_defined.
More in Tux Machines
- Highlights
- Front Page
- Latest Headlines
- Archive
- Recent comments
- All-Time Popular Stories
- Hot Topics
- New Members
digiKam 7.7.0 is releasedAfter three months of active maintenance and another bug triage, the digiKam team is proud to present version 7.7.0 of its open source digital photo manager. See below the list of most important features coming with this release. |
Dilution and Misuse of the "Linux" Brand
|
Samsung, Red Hat to Work on Linux Drivers for Future TechThe metaverse is expected to uproot system design as we know it, and Samsung is one of many hardware vendors re-imagining data center infrastructure in preparation for a parallel 3D world. Samsung is working on new memory technologies that provide faster bandwidth inside hardware for data to travel between CPUs, storage and other computing resources. The company also announced it was partnering with Red Hat to ensure these technologies have Linux compatibility. |
today's howtos
|
Recent comments
1 year 12 weeks ago
1 year 12 weeks ago
1 year 12 weeks ago
1 year 12 weeks ago
1 year 12 weeks ago
1 year 12 weeks ago
1 year 12 weeks ago
1 year 12 weeks ago
1 year 12 weeks ago
1 year 12 weeks ago