Tux Machines

Programming Leftovers

Posted by Roy Schestowitz on Mar 23, 2023

=> Proprietary Chatbots and Other Issues | Clouds are super expensive

Errors and Zig

=> ↺ Errors and Zig

At TigerBeetle these last few weeks I've been doing a mix of documenting client libraries, writing sample code for client libraries, and writing integration tests against the sample code.
The client library documentation is generated with a Zig script. The sample code is integration tested with a Zig script. A bunch of Zig scripts.
It's not the same rigorous sort of Zig as the main database. (We're generally more lax about scripts and test code.)
And I'm specifically writing this post on my personal blog since my script code is not under incredible scrutiny.

Lessons from a Pessimist: Make Your Pessimism Productive

=> ↺ Lessons from a Pessimist: Make Your Pessimism Productive

I am absolutely convinced that it's important to recognize the difference between a pragmatic form of pessimism and destructive pessimism. And as cheesy as it sounds, try to surround yourself with supportive individuals who can help you maintain a positive outlook and try to be that person for others. You don't have to be an optimist for wanting to succeed!

Accessing Private Git Repositories from Docker Containers

=> ↺ Accessing Private Git Repositories from Docker Containers

We keep the source code of our applications and libraries in private repositories. Quite a few SoM and terminal makers do the same with their Yocto layers and their additional software. We typically use a Docker container to build the whole embedded Linux system with Yocto. Hence, we must be able to clone and update private repositories from the container.

Scaling Rust builds with Bazel

=> ↺ Scaling Rust builds with Bazel

As of March 2023, the Internet Computer repository contains about six hundred thousand lines of Rust code. Last year, we started using Bazel as our primary build system, and we couldn't have been happier with the switch. This article explains the motivation behind this move and the migration process details.

Visually hidden content is a hack that needs to be resolved, not enshrined

=> ↺ Visually hidden content is a hack that needs to be resolved, not enshrined

Often, one will need a skip to main content link on their website or web application in order to adhere to WCAG’s 2.4.1 Bypass Block. The most common way of implementing this instance of a skip link is to visually hide it until it receives keyboard focus. Because a skip link is a navigational mechanism for a sighted keyboard user, after all. So one needs to be able to see what they’ve focused to know whether or not to try and interact with it.

Preloading Lua modules, part III

=> ↺ Preloading Lua modules, part III

I received an email from Andy Weidenbaum today, thanking me for writing a post about embedding Lua code into an executable which helped him in his project. On the plus side, it's nice that a post of mine was able to help him. On the non-plus side, I wrote that post ten years ago tomorrow!

PHP Arrays: A Beginner’s Guide

=> ↺ PHP Arrays: A Beginner’s Guide

PHP is a server-side scripting language that is used to develop dynamic web applications. Arrays are an essential part of PHP, and they allow developers to store and manipulate multiple values in a single variable.

How to Run Angular Apps Using Angular CLI and PM2

=> ↺ How to Run Angular Apps Using Angular CLI and PM2

Angular CLI is a command-line interface for the Angular framework, which is used to create, build and run your application locally while developing.

Shaping the Future of Digital Experience - UI Framework Performance

=> ↺ Shaping the Future of Digital Experience - UI Framework Performance

After discussing the UI framework's foundational elements, namely the set of ready-made solutions enabling rapid cross-platform development and efficient time-to-market of UI apps, we look here at what is needed to achieve the kind of smooth, seamless performance that defines the most engaging applications on the market. But let's start with a clarification of what is a "UI app" and how it differs from other types of visual software, like video games or design authoring tools.

=> ↺ UI framework's foundational elements

=> ↺ UI framework's foundational elements

Introducing the WordPress Developer Blog

=> ↺ Introducing the WordPress Developer Blog

With much activity happening in the WordPress development space every day, keeping up-to-date with the latest updates can be challenging. The new WordPress Developer Blog is a developer-focused resource to help you stay on top of the latest software features, tutorials, and learning materials relevant to the open source project.

How to Convert a String to JSON in Python

=> ↺ How to Convert a String to JSON in Python

In the world of programming, data transfer, and storage are crucial elements to consider. When working with data in Python, you may often need to convert strings to JSON format for easier processing and management.

How to Create and Read List in Python

=> ↺ How to Create and Read List in Python

Python is a popular programming language with a vast range of applications, including data science, web development, and automation. One of the most basic and essential data structures in Python is the list.

Pneumonia Detection Using CNN in Python

=> ↺ Pneumonia Detection Using CNN in Python

In this article, we will learn how to build a classifier using a simple Convolution Neural Network which can classify the images of patient's xray…

Hidden Beauties of Java Enums

=> ↺ Hidden Beauties of Java Enums

Enums are the preferred way to define fixed values you want to use in your code. They are a special type of Java class and contain a group of unchangeable variables.

Maira Canal: Adding a Timeout feature to Rustgem

=> ↺ Maira Canal: Adding a Timeout feature to Rustgem

After my last blogpost, I kept developing the Rust version of the VGEM driver, also known as rustgem for now. Previously, I had developed two important features of the driver: the ability to attach a fence and the ability to signal a fence. Still one important feature is still missing: the ability to prevent hangs. Currently, if the fence is not signaled, the driver will simply hang. So, we can create a callback that signals the fence when the fence is not signaled by the user for more than 10 seconds.
In order to create this callback, we need to have a Timer that will trigger it after the specified amount of time. Gladly, the Linux kernel provides us with a Timer that can be set with a callback and a timeout. But, to use it in the Rust code, we need to have a safe abstraction, that will ensure that the code is safe under some assumptions.

=> gemini.tuxmachines.org

Proxy Information
Original URL
gemini://gemini.tuxmachines.org/n/2023/03/23/Programming_Leftovers.1.gmi
Status Code
Success (20)
Meta
text/gemini;lang=en-GB
Capsule Response Time
139.483068 milliseconds
Gemini-to-HTML Time
1.830091 milliseconds

This content has been proxied by September (ba2dc).