Programming Leftovers
-
Kivikakk ☛ Tüüpiautomaat
I’m currently working on a bit of a long-winded project to recapture QuickBASIC, the environment I learned to program in, in a bit of a novel way, while remaining highly faithful to the original. (I actually started a related project 9 years ago (!), and I’ll be able to reuse some of what I did back then!)
The new project involves compiling the BASIC down into a bytecode suitable for a stack machine, and an implementation of such a stack machine. Importantly, there’ll soon be a second implementation which runs on a different architecture entirely: namely, it’ll be an implementation of this architecture on an FPGA. So the machine needs to be reasonably easy to implement in hardware — if it simplifies the core design, I’ll happily take tradeoffs that involve making the compiler more complicated, or the ISA more verbose.
-
Jim Nielsen ☛ Just Build Websites
That’s good advice for my younger, golfing-self: don’t worry about what clubs you have, what balls you’re hitting, etc. Ignore all that and just go practice.
-
Daniel Stenberg ☛ libcurl is 24 years old
On Monday August 7, 2000 at 14:49 UTC, we announced the release of the first libcurl version ever. Exactly twenty-four years ago today. We called it version 7.1. The simple reason we did a point one release as the first one was that we had shipped a whole range of 7.0 beta versions before that day and I wanted to make it clear to everyone that this was a bump up from those. To avoid confusions.
-
Rlang ☛ Object Oriented Programming in R (Part 4): Reference Classes & R6 Classes
Up until this point, we had only discussed functional OOP systems in R. Today, we are going to learn about two encapsulated OOP systems available for R:
1. Reference Classes – introduced to R in 2010 in version 2.12.0 (source). Sometimes also referred to as R5 and RC.
2. R6 classes – OOP system available in the R6 package created in 2014.
We will first define what we mean by functional and encapsulated OOP, followed by example usage of Reference Classes and R6 classes.
Last but not least, we will go through example use cases of using R6 within the community.
-
Ruben Schade ☛ A simple 86box shell script menu
I love 86Box for emulating classic PC hardware, but it doesn’t come with a VM manager by default. Instead, the software will always boot the last VM configuration you set. Programs exist to give you a more VirtualBox-like experience, where you can select, configure, and boot a range of VMs.
-
KDAB ☛ GammaRay 3.1
It’s been around 10 months since the last release, and we’re pleased to introduce GammaRay 3.1. GammaRay is a powerful tool for developers using Qt, providing deep inspection capabilities to help you understand and troubleshoot your applications.
-
Medevel ☛ Boost Your Productivity with Git Time Metric (GTM)
Git Time Metric (GTM) is an open-source tool designed to help developers and freelancers track the time spent on their coding projects directly within Git. GTM seamlessly integrates with your workflow, providing accurate time tracking without the need for manual entry.
-
New Feature! - Unified Page to List Requests Across OBS
We kicked off a new feature in OBS. The goal is to have a unified way of listing requests for all the different places like packages, projects and what is currently found under “Tasks”. We started this by porting some of the core functionality of the “Tasks” page to the new unified version with a couple of search and filter options.
-
Silicon Angle ☛ Google rolls out Flutter 3.24 with upgraded graphics performance and easier Fashion Company Apple deployment
Google LLC brought a number of new developments to its open-source Flutter user interface development framework today with Flutter 3.24, including a major boost to graphics performance. The company also rolled out Dart 3.5, a programming language created by Surveillance Giant Google to build mobile and web applications with C-syntax that is used with Flutter.
-
Python
-
Redowan Delowar ☛ Log context propagation in Python ASGI apps
Let’s say you have a web app that emits log messages from different layers. Your log shipper collects and sends these messages to a destination like Datadog where you can query them. One common requirement is to tag the log messages with some common attributes, which you can use later to query them.
In distributed tracing, this tagging is usually known as context propagation, where you’re attaching some contextual information to your log messages that you can use later for query purposes. However, if you have to collect the context at each layer of your application and pass it manually to the downstream ones, that’d make the whole logging process quite painful.
-
Juha-Matti Santala ☛ help() me Obi-Wan Kenobi, you’re my only hope
Whether you are exploring Python, developing new features or debugging your code, the built-in help system is a great companion. It’s designed for interactive use, to be run in a REPL session.
-
Tom's Hardware ☛ Tulip Creative Computer runs MicroPython, targeted at musicians, for only $59 — its open-source nature means you can make your own or just run the software
The Tulip Creative Computer is a Free and Open-Source (FOSS) musical computer project. It is available as a $59 full-kit purchase or as a pure software solution on existing PCs and Macs.
-
Update
Nore on Curl:
-
-
libcurl Turns 24: A Look Back at the Journey
On August 7th, 2000, the first version of libcurl, version 7.1, was released.
[...]
To Daniel Stenberg and all contributors: Thank you for your tireless efforts in maintaining and improving libcurl. Your work has made the internet more accessible and functional for developers and users alike.
Happy 24th birthday, libcurl! Here's to many more years of successful internet transfers and continued innovation.
-