Programming Leftovers
-
APNIC ☛ Sometimes equals isn't equal
You might think something as simple as ‘equals’ or the ‘=’ sign was clear and understood but in fact, it hasn’t been for some time, and it lies at the heart of some differences between programming languages and what the machine underneath can do for you (or even, against your wishes). This blog post reveals the longstanding and unresolved issue of what ‘equality’ means in mathematics.
-
Robin Schroer ☛ Synchronous Core, Asynchronous Shell
A bit over a decade ago, Gary Bernhardt published Functional Core, Imperative Shell. His proposed software architecture uses functional programming style, especially immutable data, for the bulk of the logic, and an outer shell that uses imperative programming style for side effects such as I/O. This makes it easier to understand, test, and change the logic without imposing the difficulties of entirely functional programs. Gary also presented an expansion of this idea in his talk Boundaries later that same year. I personally like and use this pattern, and think it is much more universally useful than for example pure functional or object-oriented styles.
-
LWN ☛ Programming in Unison
Unison is a MIT-licensed programming language, in development since 2013, that explores the ramifications of making code immutable and stored in a database, instead of a set of text files. Unison supports a greatly simplified model for distributed programming — one that describes the configuration of and communication between programs in the same language as the programs themselves. Along the way, it introduces a new approach to interfacing with programming languages, which is tailored to its design.
Every programming language, especially one that is just starting out, needs a niche. Unison's chosen niche is cloud computing — making it easier to build modern distributed systems, by radically simplifying some of the rough edges of existing technologies. While it is certainly possible to throw together simple, local scripts using the language, the core developers' focus is on making the development of distributed systems and web-based applications as seamless as possible. In support of this mission, the language employs a number of unusual features.
-
R
-
Rlang ☛ Announcing New Software Peer Review Editors: Beatriz Milz and Margaret Siple
We are excited to welcome Beatriz Milz and Margaret Siple to our team of Associate Editors for rOpenSci Software Peer Review.
-
Rlang ☛ Recap: Exploring Clinical Submissions With Admiral: An R-Based ADaM Solution With Ben Straub
Have you been looking for a more efficient way to create ADaM (Analysis Data Model) datasets for your clinical trial submissions? Look no further than Admiral, an open-source R package.
-
Rlang ☛ Introducing latent2likert v1.2.1: Converting Latent Variables into Likert Scale Responses
Introduction In social sciences, variables of interest are often conceptualized as latent variables—hidden continuous variables measured through Likert scale questions, typically categorized as Strongly disagree, Disagree, Neutral, Agree, and Strongly agree. Researchers frequently aim to uncover these latent variables using various statistical techniques.
-
Rlang ☛ Diving into R with Isabella Velasquez: Perspectives from R-Ladies Seattle
Isabella Velasquez, co-organizer of R-Ladies Seattle, recently spoke with the R Consortium about her journey with R and the group’s recent activities.
-
-
Python
-
Jeff Triplett ☛ On the PSF Bylaw changes
The Python Software Foundation has three bylaw changes up for a vote in this year’s election. I support all there.
Here is their post, For your consideration: Proposed bylaws changes to improve our membership experience and a follow-up post FAQ for Proposed Changes to PSF Bylaws that addresses questions that came up.
-
-
Rust
-
Super Server Hero ☛ My Concern With Rust, or a Case for the BSD's | Super Server Hero
So where does someone get a crate? Who is creating these crates?
A crate comes from a registry. The Rust docs define a registry as "a service that contains a collection of downloadable crates that can be installed or used as dependencies for a package," and that the "default registry in the Rust ecosystem is crates.io."
So unless you have setup your own crate registry, or you have configured your Rust installation to utilize a custom one, you are going to be getting your crates from crates.io.
Who contributes to crates.io? Well, you can log into crates.io using a GitHub account. Interesting to note, Microsoft owns GitHub. So the they are essentially the gate keeper. Or rather, "custodian" as has been said in a somewhat different context. Anyone should be able to submit a crate, given that you can obtain access to the site via GitHub.
-
Rust Weekly Updates ☛ This Week In Rust: This Week in Rust 554
Hello and welcome to another issue of This Week in Rust!
-
-
Standards/Consortia
-
Jake Robins ☛ Accessible SVG Forms - jakerobins.com
Recently a client asked me to build a component that was a map of Canada on which users could select different provinces as part of a form submission. It ended up being a really fun build that blended three different areas of front-end development that interest me: SVGs, Reactivity, and Accessibility. Honestly, it taught me a lot by marrying these domains into a single feature and solidified many of the concepts I had been noodling over for a while, so I thought I'd share the process of putting it together.
The code displayed here is available in a public repo so you can clone it and fire it up yourself!
-