Language Selection

English French German Italian Portuguese Spanish

Gnu Planet

Syndicate content
Planet GNU - https://planet.gnu.org/
Updated: 6 days 22 hours ago

parallel @ Savannah: GNU Parallel 20210222 ('Ang Sang Su Kyi') released

Sunday 21st of February 2021 09:58:29 PM

GNU Parallel 20210222 ('Ang Sang Su Kyi') has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/

Please help spreading GNU Parallel by making a testimonial video like Juan Sierra Pons: http://www.elsotanillo.net/wp-content/uploads/GnuParallel_JuanSierraPons.mp4

It does not have to be as detailed as Juan's. It is perfectly fine if you just say your name, and what field you are using GNU Parallel for.

Quote of the month:

  GNU Parallel is a priceless timesaver
    -- June "Wakalix" @TWakalix@twitter

 

New in this release:

  • --filter only run jobs where the filter is true. The filter can contain replacement strings and Perl code such as: '{1} < {2}+1'
  • --template takes a text file as a template with replacement strings. Then it replaces the replacement strings and saves it under a new filename.
  • --plus implements {0%} {0#} replacement string for zero padded slot and sequence.
  • Warn that you probably mean -d '\r\n' if the first 3 values end in \r\n (DOS newline).
  • {= perlexpression =} must return the same value, if run twice on the same input.
  • Man pages available as .rst-format.
  • Bug fixes and man page updates.

News about GNU Parallel:

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

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

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.

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.

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 3374ec53bacb199b245af2dda86df6c9
    12345678 3374ec53 bacb199b 245af2dd a86df6c9
    $ md5sum install.sh | grep 029a9ac06e8b5bc6052eac57b2c3c9ca
    029a9ac0 6e8b5bc6 052eac57 b2c3c9ca
    $ sha512sum install.sh | grep f517006d9897747bed8a4694b1acba1b
    40f53af6 9e20dae5 713ba06c f517006d 9897747b ed8a4694 b1acba1b 1464beb4
    60055629 3f2356f3 3e9c4e3c 76e3f3af a9db4b32 bd33322b 975696fc e6b23cfb
    $ 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:

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.

Mike Gran: Guile Potluck 2021

Thursday 18th of February 2021 08:09:56 PM

 Hello All-

In celebration of the (slightly belated) 10-year anniversary of Guile v2.0, we're having another Guile Potluck!  The Guile Potluck is a randomly annual event to give people a chance to show off their Guile projects and skills.  Think of it as a game jam, but, not constrained to games. 

To participate, on or before Mar 6, send an email to guile-user@gnu.org with Potluck in the subject line. Please include instructions on how to find your entry, which could be anything you like.  For example,

   - a script showing off some feature of Guile or your favorite Guile library
   - a blog post describing something interesting about Guile
   - an updated release of a neglected library
   - a mini-game
   - a graphical or audio demoscene-type demo
   
There probably won't be any prizes.  But there will definitely be an e-mail and blog post about the entries.

I'd love to see y'all participate. Feel free to e-mail me at spk121@yahoo.com if you'd like to discuss anything directly.

And please forward this info along, if you know of any other corners of the internet that might be interested.

Regards,
Mike Gran



FSF News: PRESS: Guardian Project's Nathan Freitas to keynote LibrePlanet 2021

Wednesday 17th of February 2021 10:25:00 PM
BOSTON, Massachusetts, USA -- Wednesday, February 17, 2021 -- The Free Software Foundation (FSF) today announced Guardian Project director Nathan Freitas as its second keynote speaker for LibrePlanet 2021. The annual technology and social justice conference will be held online on March 20 and 21, 2021, with the theme "Empowering Users."

poke @ Savannah: GNU poke 0.90 pre-released in alpha.gnu.org

Wednesday 17th of February 2021 09:05:11 PM

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.

The pre-release poke-0.90.tar.gz is now available at
https://alpha.gnu.org/gnu/poke/poke-0.90.tar.gz.

The planned date for releasing 1.0 is Friday 27 February 2021, but this may change depending on the amount of problems found in this pre-release, and the subsequent needed additional pre-releases.

Please report any problem found with the pre-release, comments or
patches to poke-devel@gnu.org.

In behalf of the poke developers, thanks!

--
Jose E. Marchesi    jemarch@gnu.org
GNU Project         http://www.gnu.org

health @ Savannah: GNU Health Hospital Management component 3.8 released!

Sunday 14th of February 2021 10:27:48 PM

Dear community:

I am very proud to announce the release of the series 3.8 from the GNU Health Hospital Management Information System (HMIS) component!

Twelve years old, the GNU Health project has now become a Libre digital Health ecosystem, with different solutions to meet different realities, integrating them in the Federation.

The year 2020, the year of the COVID-19 pandemic, has put our societies against the ropes, and challenging the public health system of every country around the globe.
The GNU Health community responded swiftly to this formidable challenge. Within hours of the official World Health Organization announcement, we were able to deliver the new ICD-10 codes of the COVID-19 disease; Include the pathology in the person record when it was confirmed by laboratory and setting the disease as a notifiable disease so the Min. of Health could have uptodate epidemiological information.

GNU Health has played a crucial role in many public health systems, not only by providing real-time observatory of COVID-19, but also, very importantly, study the impact of the socioeconomic conditions in both the incidence and severity of the disease on the underprivileged.

Our community keeps growing! A notable example is that GNU Health is now also part of the KDE community! KDE has adopted MyGNUHealth, the GH Personal Health record.
We are very grateful to KDE for trusting us! Most GNU/Linux users will have in their favorite GNU/Linux distribution a Personal Health Record focused on privacy and integrated with Libre devices and trackers. MyGNUHealth also runs on the PinePhone!

What is new in GNU Health 3.8 series
  • New Dentistry package with odontogram and dental procedures
  • Enhanced Page of Life generation (PoL)
  • Use FODT (Flat ODT) format for reports
  • Integrated infectious diseases Contact Tracing
  • Epidemiological observatory
  • International Classification of diseases, 11th revision (ICD-11)
  • Improved integration with Weblate (now 23 languages!)
  • Updated the UNIPROT protein natural variants DB from 2020
  • The HL7 FHIR server is now ported to Python3
  • New repositories for the components (HMIS, client, plugins, Thalamus...)
Development focus

In addition of the GH HMIS server, we will focus the development in the following  areas of the GNU Health ecosystem:

  • MyGNUHealth: The GNU Health application for desktop and mobile devices
  • The GNU Health Federation Portal

The GH Federation Portal has already started. It is a VueJS application and provides a single point of entry for individuals, health professionals and epidemiologists to the GNU Health Information system.

The GNU Health Federation integrates information from many health institutions and people from a region or country. The GH Federation portal will allow to manage resources, as well as the main point for analytics and reporting of massive demographics and epidemiological data generated nationwide. People, health centers and research institutions can benefit from the GNU Health Federation and from the GNU Health ecosystem in general.

Upgrading from GNU Health 3.6
  • Make a FULL BACKUP your kernel, database and attach directories !!!
  • Follow the instructions on the Wikibooks.

As always, no matter how hard we try to avoid them, there will be bugs, so please test the new system, upgrade process, languages, and give us your feedback via them via health@gnu.org

The community server has been already migrated to 3.8.0, so you just need to download the GNU Health HMIS client and enjoy it.

Free Software day

Finally, today is the Free Software day. We have chosen this date as the release date of the GH HMIS component, as a way to remind and stress the importance of Libre Software and Open Science in our society.

Happy and Healthy Hacking !

--
Dr. Luis Falcon, M.D.
President, GNU Solidario
Advancing Social Medicine
https://www.gnuhealth.org

freeipmi @ Savannah: FreeIPMI 1.6.7 Released

Saturday 13th of February 2021 10:45:50 PM

FreeIPMI 1.6.7 - 02/12/21
-----------------------------------
o Do not require IPMI access when running ipmi-fru with the --fru-file option.
o Fix default permissions of various config and system files.
o Minor documentation updates.

https://ftp.gnu.org/gnu/freeipmi/freeipmi-1.6.7.tar.gz

mailutils @ Savannah: Version 3.12

Saturday 13th of February 2021 12:46:53 PM

Version 3.12 of GNU mailutils is available for download.  This version includes the following bugfixes:

tar @ Savannah: Version 1.34

Saturday 13th of February 2021 11:53:17 AM

Version 1.34 of GNU tar is available for download (see the download directory for archives in other formats).  This version fixes the following bugs:

FSF Events: Continuing Legal Education Seminar on GPL Enforcement 2021

Friday 12th of February 2021 09:55:00 PM
The FSF Licensing and Compliance Lab will provide a full day licensing seminar for legal professionals, law students, free software developers, and anyone interested in licensing issues.

FSF Blogs: Register to attend the FSF's March 22nd seminar on free software licensing

Friday 12th of February 2021 09:55:00 PM
Registration for the next seminar of free software licensing is now open. While registration is open to the public, this seminar is a special opportunity for legal professionals and law students who can potentially earn Continued Legal Education (CLE) credits for participating (approval pending).

Sylvain Beucler: Godot GDScript REPL

Friday 12th of February 2021 09:33:36 AM

When experimenting with Godot and its GDScript language, I realized that I missed a good old REPL (Read-Eval-Print Loop) to familiarize myself with the language and API.

This is now possible with this new Godot Editor plugin

Try it at:
https://godotengine.org/asset-library/asset/857

FSF Blogs: LibrePlanet needs you: Volunteer remotely!

Thursday 11th of February 2021 08:30:00 PM
LibrePlanet, the world's premier free software conference, is coming up soon. We have two great days of talks planned, with over forty speakers from all over the globe, on March 20th and 21st, 2021.

GNU Guix: Join GNU Guix through Outreachy

Wednesday 10th of February 2021 06:30:00 PM

We are happy to announce that GNU Guix offers a three-month paid internship through Outreachy, the inclusion program for groups traditionally underrepresented in free software and tech.

The initial application deadline is on Feb. 22, 2021 at 4PM UTC.

For further information, check out the timeline, information about the application process, and the eligibility rules.

If you’d like to contribute to computing freedom, Scheme, functional programming, or operating system development, now is a good time to join us. Let’s get in touch on the mailing lists and on the #guix channel on the Freenode IRC network!

Prospective mentors and applicants are encouraged to collect the draft proposals on the Guix Outreachy 2021 summer ideas page.

In the ongoing round, we have the pleasure to work with Magali Lemes as an Outreachy intern, who is working on the guix git log command.

About GNU Guix

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

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

www-zh-cn @ Savannah: Free Software Foundation awarded perfect score from Charity Navigator, plus eighth consecutive four-star rating

Wednesday 10th of February 2021 01:30:50 AM

Dear GNU CTT:

Thank you very much for the hard work in the past years.
Wish you all a good, happy and healthy Chinese New Year!

We are proud to know that:

Boston, Massachusetts, USA -- February 9th, 2021 -- The Free Software Foundation (FSF) has been awarded a four-star and 100% rating, the highest possible, from Charity Navigator, the largest independent evaluator of US-based nonprofit charities. The FSF was also selected for Charity Navigator's "Top Ten List" as one of "10 Charities Worth Watching." These designations exemplify the FSF's strong financial health and commitment to accountability and transparency.
Using objective analysis, Charity Navigator awards only the most fiscally responsible organizations a four-star rating, with metrics including governance, ethical practices, operations in accordance with industry best practices, and openness with donors and stakeholders. This is the eighth year in a row the FSF has received a four-star rating, a record attained by only six percent of the 160,000 charities evaluated by Charity Navigator. The FSF also earned perfect scores on "Financial Health" and "Accountability & Transparency," resulting in the organization's first-ever 100% rating, an accomplishment less than one percent of all charities evaluated by Charity Navigator are able to achieve. This is the second time the FSF has placed in the list of "10 Charities Worth Watching."
"The Free Software Foundation's exceptional four-star rating sets it apart from its peers and demonstrates its trustworthiness to the public,” according to Michael Thatcher, President and CEO of Charity Navigator. “Only a quarter of charities rated by Charity Navigator receive the distinction of our four-star rating. This adds the FSF to a preeminent group of charities working to overcome our world’s most pressing challenges. Based on its four-star rating, people can trust that their donations are going to a financially responsible and ethical charity when they decide to support the Free Software Foundation."
FSF executive director, John Sullivan, shared: "This is truly an accomplishment requiring the whole organization's efforts. It reflects excellence by our board of directors in its leadership, especially overseeing the FSF's financial management and key organizational policies, and by our whole staff, doing their work with exceptional efficiency and diligence, focused precisely on the FSF's mission. This is full validation of our supporters' confidence that when you contribute to the FSF, that hard-earned money will substantially advance the cause of software freedom."
The FSF's Charity Navigator profile can be visited at https://www.charitynavigator.org/index.cfm?bay=search.summary&orgid=8557.

FSF News: Free Software Foundation awarded perfect score from Charity Navigator, plus eighth consecutive four-star rating

Tuesday 9th of February 2021 07:21:10 PM
Boston, Massachusetts, USA -- February 9th, 2021 -- The Free Software Foundation (FSF) has been awarded a four-star and 100% rating, the highest possible, from Charity Navigator, the largest independent evaluator of US-based nonprofit charities. The FSF was also selected for Charity Navigator's "Top Ten List" as one of "10 Charities Worth Watching." These designations exemplify the FSF's strong financial health and commitment to accountability and transparency.

GNU Guix: Risk of local privilege escalation via setuid programs

Tuesday 9th of February 2021 04:00:00 PM

On Guix System, setuid programs were, until now, installed as setuid-root and setgid-root (in the /run/setuid-programs directory). However, most of these programs are meant to run as setuid-root, but not setgid-root. Thus, this setting posed a risk of local privilege escalation (users of Guix on a “foreign distro” are unaffected).

This bug has been fixed and users are advised to upgrade their system, with commands along the lines of:

guix pull sudo guix system reconfigure /run/current-system/configuration.scm

This issue is tracked as bug #46305; you can read the thread for more information. There are no known exploitation of this issue to date. Many thanks to Duncan Overbruck for reporting it.

Please report any issues you may have to guix-devel@gnu.org. See the security web page for information on how to report security issues.

About GNU Guix

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

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

Riccardo Mottola: Arctic Fox 27.11.0 release

Thursday 4th of February 2021 11:06:11 AM

 This 2020 with COVID, quarantines and lockdown was and is a strange year, but it allowed me to take care of Arctic Fox quite a bit. A lot of work is going on in my Arctic Fox fork, which Matt dutifully imports.

Thousands of commits flew in into this new release, tackling JavaScript upgrades, build fixes, further metro removal, JIT optimizations. SO much was imported from Firefox that this is really exciting!

Arctic Fox continues to run very well on MacOS-X 10.7 for example, on my MacBook Pro:



But also Linux is fully supported, of course. 



Linux/PowerPC works as before, but still no JIT of course. Roy continues his fork with WindowsXP support which differs only by a minimal set of patches.


SPARC64 support was pursued, now NetBSD/SPARC64 compiles fully, but.... the browser crashes on startup. Help seeked!

The same goes for ARM, ARM64 and MIPS: we would love to get these platforms working again: they were probably lost in PaleMoon.


Arctic Fox thus continues the pursue of PaleMoon and Firefox heritage but with enhanced compatibility on more platforms, no Rust and legacy OS/Compiler support. If you like this, please help!

GNU Guix: Meet Guix at FOSDEM

Tuesday 2nd of February 2021 03:00:00 PM

As usual, GNU Guix will be present at FOSDEM on February 6th and 7th. Due to the pandemic, this year’s edition takes place on-line. The downside is that we’ll miss beautiful Brussels, but on the up side hopefully people who cannot join physically will be able to attend this year, and the event’s carbon footprint will be much lower.

We’re happy to say that there will be several talks about Guix and related projects!

Sunday, the Declarative and Minimalistic Computing track will be home to several Guix talks:

Do not miss all the other exciting talks in this track, some by Guile and Guix hackers!

For the fourth time, we are also organizing a FOSDEM fringe event on Monday, February 8th, a one-day Guix workshop where contributors and enthusiasts will meet, on-line. Being an on-line event, we hope to attract people (maybe you?) who wouldn’t have come to the in-person meeting but will be happy to learn about what’s cooking in Guix and share their experience, needs, and ideas.

Again this year there will be few talks; instead, the event will consist primarily of “unconference-style” sessions focused on specific hot topics about Guix, the Shepherd, continuous integration, and related tools and workflows.

Attendance to the workshop is free and open to everyone, though you are invited to register (there are only a few seats left!). Join our BigBlueButton instance on Monday 8th, and check out the workshop’s wiki page for practical info. Hope to see you on-line!

About GNU Guix

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

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

More in Tux Machines

today's leftovers

  • Derivation: Peppertown video-game by Congusbongus and StarNavigator

    Thanks to the authors because the game is fully open-source and released on Github under the MIT License [2]. It was made with FLOSS tools (GIMP, VS Code, Phaser, Audacity, git, Tiled) for the MiniJam22 contest [3] and congratz to Congusbongus and StarNavigator for reaching the 2nd place with Peppertown!

  • What security does a default OpenBSD installation offer? (by solene@)

    In a recent blog post, OpenBSD developer Solène Rapenne (solene@) offers an over view of the security features offered by a default OpenBSD installation.

  • Jonathan Dieter: WANPIPE and DAHDI COPR for EL8

    At Spearline, we have a number of servers around the world with Sangoma telephony cards, which use the out-of-tree wanpipe and dahdi kernel modules. As we’ve been migrating our servers from CentOS 6 to SpearlineOS, one of the problems we’ve hit has been the out-of-tree modules don’t compile against the EL8 kernels that we use as the base for SpearlineOS. [...] If there’s any interest in using the kmod RPMs without the other packages in the COPR, I could look at splitting them into a separate COPR. Please email me if you would like me to do this.

  • Mousepad 0.5.3 Is Released

    The Xfce team has released another version of the extremely plain and simple Mousepad editor. The latest version has a keybinding for resetting the font size and some small fixes. It still lacks absolutely everything beyond the ability to edit text and load and save files. [...] Mousepad still lacks all the features other simple text-editors like KWrite have beyond the very basic ability to edit text. There is no syntax high-lighting, there is no spell-checker, you can't select text and make it uppercase or lowercase or much else for that matter. It does have a search-and-replace function, and you can load and save files, and you can even have multiple files open in tabs. It does have those things going for it even though it is severely lacking in all other areas.

Free Software and Internet/Standards

  • My Firefox addons as of Firefox 86 (and the current development version)

    I was recently reminded that my most recent entry on what Firefox addons I use is now a bit over a year old. Firefox has had 14 releases since then and it feels the start of January 2020 was an entirely different age, but my Firefox addons have barely changed in the year and a bit since that entry. Since they have updated a very small amount, I'll repeat the whole list just so I have it in one spot for the next time around.

  • Delegation of responsibility for spec finalisation

    Sean is a natural choice for me to delegate this task to. He has been involved in the development of the Gemini specification for longer than anybody other than myself - he was the first person to actually implement the protocol in software, transforming it from the largely academic thought experiment that I had created it as into an actual real world project. He is the developer of a Gemini server (GLV-1.12556) and the admin of a server running it (gemini://gemini.conman.org), which means the details of the specification are of direct and practical relevance to him. He has a long-standing presence in Gopherspace, where the Gemini project was born, and therefore understands and appreciates the value of simple-by-design systems with limited scope. Finally, he has an excellent track record of constructively engaging with the mailing list even at its busiest and most frantic, which certainly can no longer be said for me. For all these reasons I trust him to make good decisions on the basis of careful consideration.

  • A Saturday waste of CPU cycles: building time_t values

    It was bad enough trying to split up all of those date strings into their constituent parts - year, month, day - all of that stuff. But, then when I tried to consistently turn them back into a time_t, I ran into a bunch of other problems. That lead to the post called time handling is garbage. That then lead into the followup post three months later which talked about making time_t values without using mktime and the TZ variable.

Programming Leftovers

  • Revisiting Html in Java

    Some time ago I wrote a post about creating an embedded dsl for Html in Java. Sadly, it was based on an abuse of lambda name reflection that was later removed from Java. I thought I should do a followup because a lot of people still visit the old article. While it’s no longer possible to use lambda parameter names in this way, we can still get fairly close.

  • Use Dash as /bin/sh

    I want startup scripts and everything that has a #!/bin/sh shebang to use the lightest possible shell by default, but I still want my trusty bash in interactive terminal sessions, and for complex scripts.

  • How to Use Group by in Pandas Python – Linux Hint

    Pandas group by function is used for grouping DataFrames objects or columns based on particular conditions or rules. Using the groupby function, the dataset management is easier. However, all related records can be arranged into groups. Using the Pandas library, you can implement the Pandas group by function to group the data according to different kinds of variables. Most developers used three basic techniques for the group by function. First, splitting in which data divide into groups based on some particular conditions. Then, apply certain functions to these groups. In the end, combine the output in the form of data structure. In this article, we will walk through the basic uses of a group by function in panda’s python. All commands are executed on the Pycharm editor.

  • gfldex: Undocumented escape hatch

    On my quest to a custom when-statement I did quite a bit of reading. The study of roast and Actions.nqp can lead to great gain in knowledge.

  • Knowing when to look past your code

    At some point, though, your journies will take you to places where things aren’t so clear cut, and you’ll start to gain a sixth sense; a kind of visceral experience that things are not as they have been promised to be.

    A few weeks ago, that sixth sense whispered in my ear: “what if, instead of your cruddy bootloader written in a pre-1.0 systems language for a platform you don’t fully understand, it’s the 20 year-old project with 80,000 commits that’s wrong?” And it was right.

  • Cambalache…
  • C++ Friend Function – Linux Hint

    A function is a block of code that performs a certain task and provides the output. It is mainly used to eliminate repetitive code. In this tutorial, we will look into the friend function in C++ and explain its concept with working examples.

  • mrcal: principled camera calibrations

    In my day job I work with images captured by cameras, using those images to infer something about the geometry of the scene being observed. Naturally, to get good results you need to have a good estimate of the behavior of the lens (the "intrinsics"), and of the relative geometry of the cameras (the "extrinsics"; if there's more than one camera). The usual way to do this is to perform a "calibration" procedure to compute the intrinsics and extrinsics, and then to use the resulting "camera model" to process the subsequent images. Wikipedia has an article. And from experience, the most common current toolkit to do this appears to be OpenCV. People have been doing this for a while, but for whatever reason the existing tools all suck. They make basic questions like "how much data should I gather for a calibration?" and "how good is this calibration I just computed?" and "how different are these two models?" unanswerable.

Security Leftovers

                   
  • SolarWind, enough with the password already!
                     
                       

    This is a much delayed discussion on the complexity and nuance of the SolarWind hack. The simplistic and wrong messaging from some quarters of the infosec community has resulted in an atrocious misunderstanding of the hack in the public sphere. This has extended into the policy world as these bad takes are treated as cogent analysis.

  •                
  • Microsoft chief's claims on cloud security result in sharp rejoinder

    Comments made by Microsoft president Brad Smith to the US Senate Select Committee on Intelligence, which held a hearing on the SolarWinds attacks last week, claiming that there is more security in the cloud than in on-premises servers, have met a tough response from former NSA hacker Jake Williams, who characterised them as having caused more harm to security than the SolarWinds attackers did in the first place. Williams, a well-known figure in the infosec community who runs his own private security outfit, Rendition Infosec, said in a tweet: "I've been thinking a LOT about Brad Smith's testimony this week about #SolariGate. He repeatedly implies that if organisations 'just' adopt a cloud first model, they won't experience these sorts of attacks. I called that reckless then, I'm doubling down now." [...] The SolarWinds attacks were first revealed by the American security firm FireEye on 9 December, when it revealed that its Red Team tools had been stolen. Five days later, FireEye issued a blog post outlining the scale of the attack as known at that stage: a global campaign to compromise public and private sector bodies through corruption of software supply chains, using software that runs on Windows. FireEye chief Kevin Mandia also gave testimony to the same committee hearing. Williams said Smith should have offered more nuance and caveats in his statements. "With his statements that lacked appropriate nuance and caveats, I predict that Smith has caused more harm to security than the Russians did with #SolariGate in the first place," he said. "Yes, I know that's a strong statement. Yes, I mean it." He added: "A lot of leadership who don't know any better heard this testimony and are constructing cloud-first directives as I type this. But they're doing it without understanding the risks and trade-offs. They're doing this without the benefit of creating a strategy first." Microsoft has made a number of statements since the attack first came to light, initially denying its products were part of the problem, but later admitting that the attackers had accessed its source code.

  •  
  • The World Economic Forum Warns That 2021 Could Be The Year Of The CyberAttacks

    Klaus Schwab, founder of the World Economic Forum and author of the book "COVID19: The Great Reset", has repeatedly warned about the possibility of devastating large-scale cyberattacks. One of his firmest warnings was given in a heartwarming speech at the WEF-sponsored Cyber Polygon event on July 24th, 2020. The World Economic Forum Centre for Cybersecurity expects the total cost of cyberattacks this year to be $6 trillion. [...] Running up-to-date free software based solutions such as Linux and *BSD is a good preventative measure against real cyberattacks. It will, sadly, not do much difference if a government decides to cut power or Internet access as part of a global "Great Reset" agenda or because inconvenient mass-demonstrations break out.

  •            
  • Switching back to OpenSSL
                 
                   

    For most users, there should be no noticeable change. If you have any packages installed that are no longer provided by Void, or your system has explicit dependencies on LibreSSL, you will of course need to take action to ensure your system continues to function after the switch.

  •               
  • Microsoft patches serious NTFS drive corruption flaw in Windows 10... but there's a catch

    Around a month and a half ago we reported about a serious flaw in Windows 10 that could be exploited to corrupt the contents of an NTFS drive. With Microsoft dawdling in its response, it was down to security researchers from OSR to produce a third-party patch. But now Microsoft has stepped up to the plate and, finally, come up with an official fix for the flaw. Sadly, it's not all good news as the fix is not currently available for everyone.