Programming Leftovers
-
Rlang ☛ Advent of Code 2023 Day 4
The difficulty is going up and down. This day was quite easy in comparison to yesterday. Today it was about parsing some numbers and finding a set of winning numbers.
As I am doing these puzzles in Go I found out that there is no default set type. There is an implementation by HashiCorp named go-set that fills this void. I did not use an external package (I try to avoid them while doing AoC), but I am very tempted to pull that package in.
-
Lawrence Tratt ☛ How Often Should We Sharpen Our Tools?
Tool sharpening in computing comes in various guises. Sometimes there is, at least at the moment, no amount of tool sharpening that would be worthwhile. For example, I’ve invested 25 years in using and understanding Unix — another operating system would have to be significantly better for a migration to be worthwhile. Instead I invest small amounts of time here and there improving my understanding, and configuration, of my favoured Unix, OpenBSD.
-
Qemu ☛ Qemu Advent Calendar 2023: Mu: a human-scale computer. Several bootable apps built with the application image builder Mu.
Size of download is 344k bytes.
-
Chris Hannah ☛ 4 Days of Advent of Code
This is the first time that I’m attempting all of the puzzles, and my aim is do them roughly within the same day. Although I’m not sure I’ll get much code written on Christmas Day.
-
Nicholas Tietz-Sokolsky ☛ Profiling Rust programs the easy way
Performance is one of the big reasons to use Rust. It's not a magic wand for performance, it just gives you the control to eke out whatever performance you need. So if your program is still slow, how do you fix that?
Profiling your program is one of the best options for figuring out why it's slow and where you need to focus your improvement. Without profiling, you're guessing blindly at where the problem may lie. With a profile, you can see where most of the time is spent and focus your efforts.
There are a few ways to profile Rust programs, but my favorite is flamegraph (also called cargo-flamegraph). It's a wonderful tool that wraps around the standard profilers perf (on Linux) and dtrace (on MacOS).
-
Byte Cellar ☛ Thinking Back on ‘Turbo Pascal’ as It Turns 40
Created by Niklaus Wirth in 1970, Pascal is a small and efficient procedural programming language that is easy to use and, thanks to its structured programming nature, was often employed as a language for learning programming concepts at a level higher than traditional, early BASIC. It is in this capacity that I had my first hands-on experiences with the language in an A.P. Computer Science class I took in high school during the late ’80s. Here, at its 40th anniversary, I thought I would share some memories I have with Turbo Pascal.
-
The Register UK ☛ 40 years of Turbo Pascal, the coding dinosaur that revolutionized IDEs
Turbo Pascal was released in 1983 and represented a shift from the traditional way programming tools worked in the early days of IBM PC compatibles. Rather than multiple compiler and linking passes that required time-consuming floppy disk access, Turbo Pascal did everything in RAM, making it considerably faster – hence the name "Turbo."
-
[Old] EE Times ☛ Borland Sues Microsoft for Unfair Competition
Borland is Microsoft's largest and most acclaimed competitor in the development tools market. In the past 30 months, Microsoft has hired at least 34 of Borland's top software architects, engineers, and marketing managers, according to a complaint prepared by Wilson Sonsini Goodrich & Rosati. These actions have been undertaken “for wrongful purposes: to acquire Borland confidential information and to inhibit Borland's competitive position,” the filing states.
-
[Old] CNET ☛ Borland sues Microsoft over brain drain
Borland claims that in the past 30 months, Microsoft has hired 34 of the ailing software developer's key employees by offering "large signing bonuses of several millions of dollars and other incentives," according to the suit. "It's like we're in the desert, and Microsoft is stealing our water bottle," said the executive, clearly frustrated by Microsoft's recruiting operations.
The suit claims that many of those former employees now hold strategic positions at Microsoft that mirror their former roles at Borland. Yocam said Microsoft is targeting key employees who can use their knowledge to improve Microsoft's products.
-
Kernel Space
-
University of Toronto ☛ Getting some information about the Linux kernel dentry cache (dcache)
The Linux kernel's dcache subsystem is its implementation of a name cache of directory entries; it holds dentries. As a (kernel) cache, it would be nice to know some information about this cache and how effective it was being for your worklog. Unfortunately the current pickings appear to be slim.
-
-
Perl / Raku
-
Perl ☛ Perl Advent Calendar 2023: Santa's Christmas Dancer2 Web App - Naughty & Nice List Manager
Ho, ho, ho! In this hilarious Christmas-themed Dancer2 web app tutorial, we'll help Santa manage his Naughty & Nice list. This time, we're using Perl's Dancer2 framework, but Santa's Christmas spirit is universal. Let's dive in and create Santa's very own web app!
-
Rakulang ☛ Raku Advent Calendar: Day 5 – The Elves go back to Grammar School
On the plus side, all the addresses came in via emails and pdf attachments as computer readable unicode text. But how to read all those addresses into a consistent format so that they could be fed to the maps app?
-
-
Python
-
James Bennett ☛ A Python/Django Advent calendar
As my own twist on this, I’m going to try to publish one short blog post each day of Advent 2023, each covering a small but hopefully useful tip or bit of information for Python and/or Django developers. As today — December 3 — is the first Sunday in Advent for 2023, I’m starting today, and will attempt to keep going daily until the final post on Christmas Eve (December 24).
-
James Bennett ☛ Easy HTTP status codes in Python
This is part of a series of posts I’m doing as a sort of Python/Django Advent calendar for Advent 2023, offering a small tip or piece of information each day from the first Sunday of Advent through Christmas Eve. See the first post in the series for an introduction.
-