Programming Leftovers
-
Security Week ☛ CISA Outlines Efforts to Secure Open Source Software
Steps that CISA will take in partnership with the community include promoting the Principles for Package Repository Security, a framework outlining security maturity levels for package repositories and a new effort to enable collaboration and information sharing with open source software infrastructure operators.
Furthermore, CISA will publish materials from the summit’s tabletop exercise, so that the open source community can use the lessons learned to improve vulnerability and incident response.
-
Scoop News Group ☛ CISA needs better workforce planning to handle operational technology risks, GAO says
The crucial role that OT systems play in critical infrastructure makes them especially vulnerable to cyberattacks, but owners and operators told the GAO that they face challenges in working with CISA to combat those threats, citing a lack of agency staffers that have the “necessary skills.”
-
USGAO ☛ GAO Report to Congressional Committees: CYBERSECURITY: Improvements Needed in Addressing Risks to Operational Technology
We conducted this performance audit from January 2023 to March 2024 in accordance with generally accepted government auditing standards. Those standards require that we plan and perform the audit to obtain sufficient, appropriate evidence to provide a reasonable basis for our findings and conclusions based on our audit objectives. We believe that the evidence obtained provides a reasonable basis for our findings and conclusions based on our audit objectives.
-
Julia Evans ☛ How HEAD works in git
I was surprised that people were so unconfident about their understanding – I’d been thinking of HEAD as a pretty straightforward topic.
Usually when people say that a topic is confusing when I think it’s not, the reason is that there’s actually some hidden complexity that I wasn’t considering. And after some follow up conversations, it turned out that HEAD actually was a bit more complicated than I’d appreciated!
-
Jim Nielsen ☛ Is Making Websites Hard, Or Do We Make It Hard? Or Is It Some of Both?
Why is making websites so hard?
"the number one cause of jank and breakage is another developer having messed with the browser’s default way of doing things"
So in other words, making websites isn’t hard. We make making websites hard. But why?
-
Aral Balkan ☛ Streaming HTML – Aral Balkan
Kitten has a new experimental workflow for creating web apps called Streaming HTML that I want to introduce you to today.
Kitten, uniquely, enables you to build Small Web apps (peer-to-peer web apps). But it also aims to make creating any type of web app as easy as possible. The new Streaming HTML workflow is a big step in realising this goal.
-
Brian Callahan ☛ FreeBSD has a(nother) new C compiler: Intel oneAPI DPC++/C++
A few months ago, we got Oracle Developer Studio to run on and output native binaries for FreeBSD. Today, let's get another proprietary compiler going on FreeBSD: the Intel oneAPI DPC++/C++ Compiler. The latest version of this compiler as of this blog post is 2024.0.2, and this is the version we will get running on FreeBSD. This is the new Intel compiler that uses the Clang frontend from the LLVM project as its frontend, in contrast to the old version of the Intel compiler, which I believe used the Edison Design Group frontend. What makes the new Intel compiler interesting is both the Clang frontend, which should just work on FreeBSD as Clang is the built-in compiler for FreeBSD, and the backend, which is Intel's custom and proprietary backend.
As mentioned previously, a FreeBSD port of the old Intel C++ Compiler was created. It is still in the ports tree, but it only works on i386 and is version 8.1 of the compiler, released in September 2004. This update is a long time coming.
Let's get started.
-
Bozhidar Batsov ☛ Weird Ruby: The Double Aliased Enumerable Method
Most Rubyists are probably aware that the “original” method names (collect, inject, etc) were inspired by Smalltalk and later the aliases where added to reflect the naming trends in the functional programming community. Enumerable#select is kind of special, as since Ruby 2.6 it has a second alias named filter, thus making the only Ruby method I can think of in this elite category. As a reminder here’s how the methods behave: [...]
-
[Repeat] Chris ☛ Deliberate Abstraction
We just talked about what modules are: they are ways to create program families without having to tear up existing code and rewrite it. They accomplish this by hiding design decisions so that subsequent decisions cannot depend on the ones we might change.
We left off on a disappointing note: we explained what were bad reasons to create a module, but we never got into good reasons. This is where it gets funny, and it starts with an observation that isn’t entirely obvious.
-
SICP ☛ YX problem
Software people are always all up in the XY problem: someone asks about how to do X when what they’re really trying to solve is Y. I find the YX problem much more frustrating: where software people decide that they want to answer question Y even though what someone asks is question X.
I’ve seen a few different manifestations of this pattern: [...]
-
Petter Reinholdtsen ☛ Petter Reinholdtsen: Plain text accounting file from your bitcoin transactions
A while back I wrote a small script to extract the Bitcoin transactions in a wallet in the ledger plain text accounting format. The last few days I spent some time to get it working better with more special cases. In case it can be useful for others, here is a copy: [...]
-
R
-
Rlang ☛ Introduction to Causal Machine Learning estimators in R
Join our workshop on Introduction to Causal Machine Learning estimators in R, which is a part of our workshops for Ukraine series!
-
Rlang ☛ The Cleveland R User Group’s Journey Through Pandemic Adaptations and Baseball Analytics
Last year, R Consortium talked to John Blischak and Tim Hoolihan of the Cleveland R User Group about their regular structured and casual virtual meetups during the pandemic. Recently, Alec Wong, another co-organizer of the Cleveland R User Group, updated the R Consortium about how the group provides a networking platform for a small but vibrant local R community. Alec shared details of a recent event from the group regarding the use of R for analyzing baseball data. He also discussed some tools for keeping the group inclusive and improving communication among group members.
-
Rlang ☛ R Plumber: How to Craft Error Responses that Speak Fluent HTTP
APIs (Application Programming Interfaces) are the backbone of modern software development, enabling seamless communication between different applications or components. However, like any technology, Hey Hi (AI) are not immune to errors.
-
Rlang ☛ How to Subset Data Frame in R by Multiple Conditions
In data analysis with R, subsetting data frames based on multiple conditions is a common task. It allows us to extract specific subsets of data that meet certain criteria. In this blog post, we will explore how to subset a data frame using three different methods: base R’s subset() function, dplyr’s filter() function, and the data.table package.
-
Rlang ☛ Mastering the Arcane: Advanced RMarkdown for Magical Data Science
Welcome to the next chapter in our exploration through the Enchanted Forest of Data, where the path becomes less trodden and the magic, more profound.
-
Rlang ☛ Marketing Ideas For Your Package
Now that you have created your package, presenting it to the world is a crucial step to gain visibility and attract users.
-