Tux Machines
Posted by Roy Schestowitz on Feb 23, 2023,
updated Feb 23, 2023
=> Audiocasts/Shows: Linux Out Loud, TWIL, and "UNIX is Everywhere" | Security Leftovers
=> ↺ Our advice for installing Node.js modules using npm registry
The Node.js ecosystem is a vast landscape, and one of the most important parts of that ecosystem is its various modules. Installing these modules is an easy process, thanks to the npm registry. It is easy to download packages, create your own module, and publish it to the npm registry. The Node.js Reference Architecture team has recommendations for creating and publishing your modules.
=> ↺ How I do automated accessibility testing for my website
In addition to getting your website to run in CI/CD, I recommend enabling an XML sitemap feature. A sitemap allows the accessibility tests to parse all URLs to find accessibility issues across the site. I recommend the jekyll-sitemap plugin for Jekyll sites.
Collecting a list of all major URLs is a good alternate step if a sitemap is not possible. The URLs should cover all potential layouts of the website, such as pages with the highest traffic or the most landings. This approach won't catch all accessibility issues, especially content level concerns, but it will test the layout and main pages.
This scenario requires the npm or yarn package managers. I used npm for this article. If your project doesn't have npm initialized, run the npm init command to create the package.json file.
Pa11y is a free and open source software that tests websites for accessibility issues. Pa11y-ci is the command line utility geared towards continuous integration (CI). Install pa11y-ci as a development dependency with npm: [...]
=> ↺ Pa11y | ↺ pa11y-ci | ↺ axe | ↺ Cypress | ↺ cypress-axe | ↺ GitLab CI/CD | ↺ Jekyll | ↺ jekyll-sitemap plugin | ↺ npm | ↺ yarn
=> ↺ Mapping the program counter back to the function name in your code
Compilers are commonly used to convert human-readable source code into a series of instructions that are directly executed by the computer. A common question is "How do the debuggers and error handlers report the place in the source code where the processor is currently at?" There are various methods to map instructions back to locations in the source code. With the compiler optimizing the code, there are also some complications in mapping the instructions back to the source code. This first article in the series describes how tools map the program counter (also known as the instruction pointer) back to the function name. Subsequent articles in this series will cover mapping the program counter back to the specific line in a source file. It also provides a backtrace describing the series of calls that resulted in the processor being in the current function.
When translating source code into an executable binary, the compiler keeps symbol information about the entry to each function. Keeping this information available makes it possible for the linker to assemble multiple object files (.o suffix) into a single executable file. Before the object files are processed by the linker, the final addresses of functions and variables are not known. The object files have placeholders for the symbols that do not yet have addresses. The linker will resolve the addresses when creating the executable. Assuming that the resulting executable is not stripped, those symbols describing the entry of each function are still available. You can see an example of this by compiling the following simple program: [...]
The obscure command set that gradually helped us move past acoustic couplers and brought dial-up modems into the mainstream. For a while, at least.
=> ↺ Raspberry Pi Pico C SDK Now Has One-Click Installer
Raspberry Pi announces a one-click installation package for Windows users wishing to write Raspberry Pi Pico projects in C.
=> ↺ Paul Tagliamonte: Announcing hz.tools
Ever since 2019, I’ve been learning about how radios work, and trying to learn about using them “the hard way” – by writing as much of the stack as is practical (for some value of practical) myself. I wrote my first “Hello World” in 2018, which was a simple FM radio player, which used librtlsdr to read in an IQ stream, did some filtering, and played the real valued audio stream via pulseaudio. Over 4 years this has slowly grown through persistence, lots of questions to too many friends to thank (although I will try), and the eternal patience of my wife hearing about radios nonstop – for years – into a number of Go repos that can do quite a bit, and support a handful of radios.
I’ve resisted making the repos public not out of embarrassment or a desire to keep secrets, but rather, an attempt to keep myself free of any maintenance obligations to users – so that I could freely break my own API, add and remove API surface as I saw fit. The worst case was to have this project feel like work, and I don’t know that I can have that be true if I feel frustrated by PRs that are “getting ahead of me” – solving problems I didn’t yet know about, or bugs I didn’t understand the fix for.
As my rate of changes to the most central dependencies has slowed, i’ve begun to entertain the idea of publishing them. After a bit of back and forth, I’ve decided it’s time to make a number of them public, and to start working on them in the open, as I’ve built up a bit of confidence around it, and feel confident that the repo doesn’t contain overt lies. That’s not to say it doesn’t contain lies, but those lies are likely hidden and lurking in the dark. Beware.
=> ↺ Dirk Eddelbuettel: RcppArmadillo 0.12.0.1.0 on CRAN: New Upstream, New Features
Armadillo is a powerful and expressive C++ template library for linear algebra and scientific computing. It aims towards a good balance between speed and ease of use, has a syntax deliberately close to Matlab, and is useful for algorithm development directly in C++, or quick conversion of research code into production environments. RcppArmadillo integrates this library with the R environment and language–and is widely used by (currently) 1042 other packages on CRAN, downloaded 28.1 million times (per the partial logs from the cloud mirrors of CRAN), and the CSDA paper (preprint / vignette) by Conrad and myself has been cited 513 times according to Google Scholar.
=> ↺ Armadillo | ↺ RcppArmadillo | ↺ R | ↺ CRAN | ↺ CSDA paper | ↺ preprint / vignette
=> ↺ Armadillo | ↺ RcppArmadillo | ↺ R | ↺ CRAN | ↺ CSDA paper | ↺ preprint / vignette
=> ↺ Awareness Sessions About Projects Available for GSoC Applicants
Mentors and administrators of openSUSE are excited to be accepted as a mentorship organization for this year’s Google Summer of Code and will be available for potential mentee to discuss the projects that are listed on 101.opensuse.org.
=> ↺ openSUSE | ↺ mentorship organization | ↺ Google Summer of Code | ↺ 101.opensuse.org
There will be 15 minute sessions prior to all openSUSE community meetings where mentees can join our Jitsi meeting room to get in touch with members of the openSUSE community who can help them navigate the projects available during this year’s GSoC.
=> ↺ openSUSE | ↺ mentorship organization | ↺ Google Summer of Code | ↺ 101.opensuse.org | ↺ navigate the projects
=> gemini.tuxmachines.org This content has been proxied by September (ba2dc).Proxy Information
text/gemini;lang=en-GB