Programming Leftovers
-
Rlang ☛ Modeling my pinball scores
-
Rlang ☛ AI Use Cases for R Enthusiasts workshop
Join our workshop on Hey Hi (AI) Use Cases for R Enthusiasts, which is a part of our workshops for Ukraine series!
-
Rlang ☛ Using R and Python Together, Seamlessly: A Case Study Using OpenAI’s GPT Models
Well, it looks like the time has finally come for me to join the club and write a large language model (LLM) blog post. I hope to do two things here:
• Show how easy it is to seamlessly work with both R and Python code simultaneously
• Use the OpenAI API to see how well it does extracting information from text
-
Rlang ☛ Indicating local functions in R scripts
In R I’m usually using a combination of base functions, functions from loaded packages, and functions I’ve defined in a script in my workflow or sourced from a helperfunctions.r type file. If you type the name of any R function into the console, you can see where it comes from if it is from a package and if there is no package you can assume it is ‘local’, but it isn’t always obvious when scrolling through code. For these reasons, I think it’d be useful to delineate. Some best practices (much of which is already in common use) might be:
-
Wouter Groeneveld ☛ The Case Of A Leaky Goroutine
In the programming language Go, it’s very easy to build something using high-level concurrent patterns thanks to the concept of Goroutines and channels used to signal between them. A Goroutine is essentially a coroutine that maps onto green threads that map onto real native threads on your OS in an NxM way. The simple go func() prepend-style syntax makes fire-and-forget Goroutines for executing small tasks in parallel trivial.
-
Rlang ☛ Mastering Data Manipulation in R with the Sweep Function
The sweep function in R is a versatile tool used for performing operations on arrays or matrices. It allows you to apply a function across either rows or columns of a matrix while controlling the margins.
-
GNOME ☛ Christian Hergert: Debug Builds and GPUs
Decades ago, when you wanted to run debug builds for UI applications, things were incredibly slow.
First you’d wait minutes for the application to present a window. Then wait tens of seconds for each frame to render. You were extremely lucky if Valgrind caught the issue while you exercised the UI.
Things have gotten much better due to movement in two different directions.
In one direction GCC and Clang got compiler integration for sanitizers like ASAN. Instead of relying on extreme amounts of emulation in Valgrind compilers can insert the appropriate checks, canaries, and memory mapping tricks to catch all sorts of behavior.
-
Python
-
University of Toronto ☛ Platform peculiarities and Python (with an example)
I have a long standing little Python tool to turn IP addresses into verified hostnames and report what's wrong if it can't do this (doing verified reverse DNS lookups is somewhat complicated). Recently I discovered that socket.gethostbyaddr() on my Linux machines was only returning a single name for an IP address that was associated with more than one. A Fediverse thread revealed that this reproduced for some people, but not for everyone, and that it also happened in other programs.
-
-
Education
-
Nicolas Fränkel ☛ Apache APISIX North America Tour
Once in a while, I write non-technical blog posts when I’ve something worth sharing. Today, I’d like to write about my North America "Tour" across several conferences and user groups.
The first leg of my journey started in Oakland, California, with Developer Week. Developer Week is an established conference with different editions in several locations and online during the year. Though I’m on their advisory board, this is only the second time I’ve spoken at one of their events. Pro-tip: Avoid being on any board of a conference where you speak. It’s bad taste and casts doubt on whether you validated yourself.
-
Kodi Foundation ☛ DevCon 2024 - Budapest - Part III
Time flies, and we're already at the third and final day of DevCon 2024. We'll be losing people today as they head home, which will shorten events; additionally, most of the day is scheduled for the inevitable people-sitting-together-and-hacking-code later today, which will also eat into time, so this will inevitably be a short post.
Random, spontaneous, unstructured conversations about mirrors, more about release cycles, about merging. A wild conversation about a potential third-party conference in south Asia, and how any of us would physically get there anyway, given that some of our members don't fly for climate reasons (and we can't afford it anyway). Various debates about the DVB specification, EITs and embedded EPG data in different countries/formats around the planet. Much about IPTV, metadata, scrapers, servers and cloud services, a chunk on permission cleanup and retired team members, some cosmetic website changes, debates about skins and the out-of-the-box experience when installing Kodi for the first time, and general chat about all things AV-related.
-