Programming Leftovers
-
Installation of R 4.2 on Ubuntu 22.04.1 LTS and tips for spatial packages
You can read the original post in its original format on Rtask website by ThinkR here: Installation of R 4.2 on Ubuntu 22.04.1 LTS and tips for spatial packages
It is again this time in your Ubuntu user’s life where you plan to upgrade your server installation from Ubuntu 20.04 to Ubuntu 22.04 LTS. Indeed, the first point release 22.04.1 is now there, and you’d like somebody else to try it for you before loosing all your work. Let me do it for you ! We will also use R 4.2 by default. Also, like every two years in this blog post, I’ll give the tips for geographical packages installation on Ubuntu. Just follow the guide…
Last time you read this kind of tutorial on our blog was two years ago to migrate to R 4.0 and Ubuntu 20.04 LTS. Note that I am writing this guide to be able to upgrade my own in-prod laptop. This has to work properly ! Also, everything is proposed through command lines, which means that you can use this tutorial to upgrade a server with no graphical interface, to build your Docker containers or set up the continuous integration of your package builds. Note that we can help through this process of R-server installations, Docker or CI set-up.
This year, I will first realize the upgrade from Ubuntu Focal to Ubuntu Jammy inside a Docker container, so that I can write my blog post along with it. I’ll upgrade my own laptop just after that.
-
Tinier 0.5.0 | R-bloggers
I’d long wanted to find a way to export plots directly from R into pre-tinified image files, and although I’d found a way to do it for ggplot2 plots, doing it with base R plots and devices eluded me.
Finally I found a (slightly hacky) way of doing it by simply recording the last plot created with recordPlot, and then replaying it inside the chosen device! One of those things that seems obvious in hindsight, but it works. So, I’ve put together two new functions, petit_plot() and petit_ggplot() to save and auto-tinify plots!
You can use most of the same tinify() options as usual, including keeping the un-tiny image file too, and pass through all regular plotting options to the underlying device too. You can even use petit_plot with ragg if you have it!
-
Cryptography & Encryption in Go
One of the biggest concerns for modern web developers is security. Whether your goal is protecting a user’s personal data, effectively authenticating a user’s identity, or securing company databases, cryptography, and encryption can help.
Cryptography is the study of techniques for secure communication between a sender and an intended recipient. Cryptographic techniques employ mathematical functions to secure data using various algorithms and systems.
The Go programming language provides a crypto package for cryptography-related operations in the standard library. You can use the Crypto package for many functionalities like encryption, hashing, cryptographically generated random numbers, and much more.
This tutorial will help you understand cryptography concepts and how to implement them in the Go programming language.
-
Towards Granular Compute
Runtimes, infrastructure, and APIs tend to get more granular. Maybe we're just in the unbundling phase (implying a future bundling phase), or maybe it's a byproduct of moving functionality to the edge (the network is the bottleneck), or perhaps this is just a general form of progress (breaking things down into abstractions).
At a basic level, granularity lets us bin-pack workloads. Different workloads have varying levels of safety when it comes to resource sharing and allocation. Isolation happens at the operating system level (virtual machines), process level (containers), and thread level (v8 isolates). Hardware security module (HSM) workloads and edge functions need different security guarantees.
[...]
Smaller APIs are often easier to integrate into existing infrastructure. For example, carved-out authentication or authorization APIs are much easier to add to your application than Active Directory (in theory).
-
TIL: Don't actually display the man pages
I have installed Plan 9 on my Raspberry Pi. I am excited to start using it. I can't use Plan 9 yet because I need a new keyboard and mouse to use with my Pi. So, this evening I decided to peruse the online Plan 9 manual pages. I am excited and have been eagerly trying a few commands on my Mac to see what commands are also on my Mac.
I learned about bc for arithmetic and bc -l that imports the math library for bc. This let me do logarithms in bc (a strange way to test a command I admit).
-
Xeact Version 0.69.71: JSX support
Xeact is the most popular femtoframework for discerning development teams. It has been used in at least 3 production facing web applications and has become well-loved by users.
[...]
Xeact's JSX support has only been tested with Deno's JSX (and TSX) compilation support. Write your code in what you wish you could write and then use Deno to turn that into what you actually have to write. To get started, first you need to install Deno somehow. If you are using Nix flakes, add pkgs.deno to your devShell or run nix shell nixpkgs#deno. If you are using a lesser operating system, follow Deno's instructions and press enter until the messages go away.
-
I'm speaking at Conf42 Rust 2022 and GambiConf EU's Online Day about how this site works! - Xe
Over the last two weeks I've been working on a conference talk that just so happened to be accepted to two conferences at once. It's about how this website (the one you are reading right now) works and I am so excited to release this out into the wild.