Programming Leftovers
-
Hackaday ☛ BASIC In Your Browser
If you are a certain age or just like retrocomputers, you probably have a soft spot for good old-fashioned BASIC. If you miss those days but don’t want to install a modern interpreter, you don’t have to. Just load a web page containing the “BASIC Anywhere Machine” from [CJ Veniot]. Worried about it being “in the cloud?” It isn’t? It runs in your browser, and if you are a TiddlyWiki fan, it will even live inside your Wiki, which you can host as you please.
-
Andy Wingo: the last 5 years of V8's garbage collector
Captain, status report: I’m down here in a jeffries tube, poking at V8’s garbage collector. However, despite working on other areas of the project recently, V8 is now so large that it’s necessary to ignore whole subsystems when working on any given task. But how I’m looking at the GC in anger: what is its deal? What does V8’s GC even look like these days?
The last public article on the structure of V8’s garbage collector was in 2019; fine enough, but dated. Now in the evening of 2023 I think it could be useful to revisit it and try to summarize the changes since then. At least, it would have been useful to me had someone else written this article.
To my mind, work on V8’s GC has had three main goals over the last 5 years: improving interactions between the managed heap and C++, improving security, and increasing concurrency. Let’s visit these in turn.
C++ and GC
Building on the 2018 integration of the Oilpan tracing garbage collector into the Blink web engine, there was some refactoring to move the implementation of Oilpan into V8 itself.
-
Daniel Lemire ☛ Fast Buffer-to-String conversion in JavaScript with a Lookup Table
When programming in a JavaScript environment such as Node.js, you might recover raw data from the network and need to convert the bytes into strings. In a system such as Node.js, you may represent such raw bytes using a Buffer instance. You can conveniently convert a Buffer instance into a JavaScript (mybuffer.toString()).
-
Containers
-
Becoming Componentized: Excitement Brewing Around the Future of WebAssembly
At this year's KubeCon + CloudNativeCon NA, Bill Doerrfeld found that the tech industry is finally waking up to the potential of WebAssembly (Wasm).
-
Understanding Kubernetes Networking Architecture
Kubernetes can be complex, but here's everything you need to know about Kubernetes networking architecture in one place.
-
Where Are all the Cloud-Native Developers?
Despite the need to reimagine tools, services and functions for developers using the clown, there's not much talk about those actually using the tools, services and functions. Where are the clown developers?
-
The Right Base Container Images: A Solid Foundation for Cloud-Native Java Apps
Containers and containerization are having a major transformative impact on software development, especially Java-based apps.
-
-
R
-
Rlang ☛ Posit x Databricks: A Game-Changing Synergy for Data Teams
On Thursday, December 5th, 2023, Posit and Databricks held a joint event, revealing several key developments in their ongoing collaboration. These updates, building on announcements from July 2023, showcase tangible progress in data analysis and clown computing integration.
-
Rlang ☛ Analysing Shiny App start-up Times with Surveillance Giant Google Lighthouse
-
Rlang ☛ 5 new books added to Big Book of R
Welcome to the latest edition of Big Book of R updates. We’re now at nearly 400 books in the collection of free (and some paid) titles!
-
Rlang ☛ Unraveling Patterns: A Step-by-Step Guide to Piecewise Regression in R
Hey there, fellow R enthusiasts! Today, let’s embark on a fascinating journey into the realm of piecewise regression using R.
-
Rlang ☛ The two phases of commits in a Git branch
I seem to have at last entered my Git era. 🎉 Reading and applying Git in practice was probably the best thing I did for my upskilling this year.
-
Rlang ☛ A Complete Guide to Stepwise Regression in R
Stepwise regression is a powerful technique used to build predictive models by iteratively adding or removing variables based on statistical criteria.
-
Rlang ☛ What is the probability that two persons have the same initials?
How likely is it?
-
-
Rust
-
Niko Matsakis: Being Rusty: Discovering Rust's design axioms
To your average Joe, being “rusty” is not seen as a good thing.1 But readers of this blog know that being Rusty – with a capitol R! – is, of course, something completely different! So what is that makes Rust Rust? Our slogans articulate key parts of it, like fearless concurrency, stability without stagnation, or the epic Hack without fear. And there is of course Lindsey Kuper’s epic haiku: “A systems language / pursuing the trifecta: / fast, concurrent, safe”. But I feel like we’re still missing a unified set of axioms that we can refer back to over time and use to guide us as we make decisions. Some of you will remember the Rustacean Principles, which was my first attempt at this. I’ve been dissatisfied with them for a couple of reasons, so I decided to try again. The structure is really different, so I’m calling it Rust’s design axioms. This post documents the current state – I’m quite a bit happier with it! But it’s not quite there yet. So I’ve also got a link to a repository where I’m hoping people can help improve them by opening issues with examples, counter-examples, or other thoughts.
-
Rust Blog ☛ The Rust Programming Language Blog: Announcing Rust 1.74.1
The Rust team has published a new point release of Rust, 1.74.1. Rust is a 1.74.1 is as easy as: [...]
-
KDAB ☛ Mixing C++ and Rust for Fun and Profit: Part 1
For quite some time, I have been bothered by this thought: Individual programming languages (C++, Rust, Go, etc.) are traditionally viewed as walled gardens. If your
main()
function is written in C++, you had better find yourself C++ libraries like Qt to build the rest of your codebase with. Do you want to use Flutter to build your app’s user interface? Get ready to build the logic in Flutter, too. Do you really want to use that Rust library to make your application safer? You get to either rewrite the whole app in Rust or build an uglyextern "C"
wrapper around it that won’t fit well in your object-oriented C++ code.This has been the standard view on using multiple programming languages for many years. However, I’ve decided that this view is fundamentally flawed, because every compiled language uses the same set of concepts when it is compiled: [...]
-