Language Selection

English French German Italian Portuguese Spanish

Programming Leftovers

Filed under

  • The Perl Advent Calendar 2022 Call for Papers Is Now Open

    So, I should probably make it official. The Perl Advent Calendar is back once again in 2022. It is with great pleasure that I’m announcing that the Call for Papers is now open.

  • Gitea Diaries: Part 1

    From all the horses we’ve looked at, Gitea is the software we’ve decided to put our faith into, being able to provide us with a choice that’ll serve as our next-generation development-forge.

  • How to Use MongoDB with Go

    This tutorial will teach you how to use MongoDB databases with the Go programming language by connecting to your MongoDB Atlas cluster.

  • The Home Computer Generation: On experiences lost in user-friendliness

    We love naming generations and ascribing vices and virtues to them. Boomers. Millenials. Zoomers. I propose that in the overlap between Generation X and Millenials, there is a home computer generation. If you've ever found yourself muttering "But where are the damn files stored?", wondered why you can't change the font in Windows anymore or been frustrated by how many modern apps seem to lack advanced features for power users, chances are you're part of it. We (for I belong to it) are most notably characterized by having had technology thrust upon us in a way that made many of us more computer literate than the generations both preceding and, to the confusion of the aforementioned pundits, succeeding us. We were forced to learn certain aspects of computing that was and is, by any other generation of computer users, commonly considered to be expertise best left to professionals.

  • Talking about my generation

    I feel that we who went through edit autoexec.bat, notepad index.html, ./configure && make have a different perspective on this. That’s not to say that those three were good things, they were bad, but they were markers; I’ve just noticed that more people from that era share the perspective of how messed up the current tech stacks are. They paved paradise and put up a parking lot.

  • Modern Technology: Please stop trying to be helpful

    The problem, as I’m sure you have guessed, is some sort of stupid bug in what passes for web development code these days, where the scroll bar is handled by the page, not the browser, and it has decided, given various parameters, that it should hide the scrollbar from me, when in fact it is totally and utterly fucking wrong.

    I am unsure as to precisely what this is trying to achieve. Back in the 1990s, web browsers just added vertical or horizontal scroll bars when they were needed, and we all got on with our lives. Apparently, in 2022, there is mass hysteria at the thought that I MIGHT see a scrollbar when I do not really immediately need it, and this would be a mortal threat to me. The sight of a scrollbar at any point in my life other than one nanosecond before I intend to use it, is apparently a fate worse than death.

  • A problem with Guile’s defmacro

    The problem with this is that let and if are also injected, not just it. (The syntax-case version on that page doesn’t have that problem.)

  • Formal CHERI: rigorous engineering and design-time proof of full-scale architecture security properties

    Over the last twelve years, the CHERI project has been working on addressing the first two of these problems by extending conventional hardware Instruction-Set Architectures (ISAs) with new architectural features to enable fine-grained memory protection and highly scalable software compartmentalisation, prototyped first as CHERI-MIPS and CHERI-RISC-V architecture designs and FPGA implementations, with an extensive software stack ported to run above them.

    The academic experimental results are very promising, but achieving widespread adoption of CHERI needs an industry-scale evaluation of a high-performance silicon processor implementation and software stack. To that end, Arm have developed Morello, a CHERI-enabled prototype architecture (extending Armv8.2-A), processor (adapting the high-performance Neoverse N1 design), system-on-chip (SoC), and development board, within the UKRI Digital Security by Design (DSbD) Programme (see our earlier blog post on Morello). Morello is now being evaluated in a range of academic and industry projects.

  • Just Admit QA Was Right

    My experience has shown that serious issues are almost always known issues at the time of shipping. They just aren’t prioritised high enough to warrant getting addressed. But it’s also true that QA does tend to overreact.

  • A human and a spreadsheet

    My request was pretty easy, I thought, when I asked the person to give me a list of student names and their email addresses so I could send out invitations.

  • Stacked Pull Requests

    Instead of having a single large pull request, a changeset is submitted as a series of PRs and branches, each as a patch to the previous branch. In effect, this treats changesets as a queue to be merged to master. With stacked pull requests, developers are unblocked from working on code that's dependent on another to-be-merged branch.

    However, developers using this workflow on native git and GitHub can run into problems.

  • In Praise of Stacked PRs

    The alternative to “Stacked Pull Requests” is “Stacked Commits”. The difference is mostly pragmatic: stacked PRs use branches, and can have multiple commits in a single atomic change; stacked commits use a single commit as the unit of atomic change.

More in Tux Machines

today's howtos

  • How to Change Comment Color in Vim – Fix Unreadable Blue Color

    Are you annoyed about the comment color in vim? The dark blue color of the comment is often hard to read. In this tutorial, we learn how to change the comment color in Vim. There are few methods we can use to look vim comment very readable.

  • How to Add Repository to Debian

    APT checks the health of all the packages, and dependencies of the package before installing it. APT fetches packages from one or more repositories. A repository (package source) is basically a network server. The term "package" refers to an individual file with a .deb extension that contains either all or part of an application. The normal installation comes with default repositories configured, but these contain only a few packages out of an ocean of free software available. In this tutorial, we learn how to add the package repository to Debian.

  • Making a Video of a Single Window

    I recently wanted to send someone a video of a program doing some interesting things in a single X11 window. Recording the whole desktop is easy (some readers may remember my post on Aeschylus which does just that) but it will include irrelevant (and possibly unwanted) parts of the screen, leading to unnecessarily large files. I couldn't immediately find a tool which did what I wanted on OpenBSD [1] but through a combination of xwininfo, FFmpeg, and hk I was able to put together exactly what I needed in short order. Even better, I was able to easily post-process the video to shrink its file size, speed it up, and contort it to the dimension requirements of various platforms. Here's a video straight out of the little script I put together: [...]

  • Things You Can And Can’t Do

    And it got me thinking about what you can and can’t do — what you do and don’t have control over.

  • allow-new-zones in BIND 9.16 on CentOS 8 Stream under SELinux

    We run these training systems with SELinux enabled (I wouldn’t, but my colleague likes it :-), and that’s the reason I aborted the lab: I couldn’t tell students how to solve the cause other than by disabling SELinux entirely, but there wasn’t enough time for that.

  • Will the IndieWeb Ever Become Mainstream?

    This is an interesting question, thanks for asking it, Jeremy. I do have some history with the IndieWeb, and some opinions, so let’s dive in.

    The short answer to the question is a resounding no, and it all boils down to the fact that the IndieWeb is really complicated to implement, so it will only ever appeal to developers.

  • How to Install CUPS Print Server on Ubuntu 22.04

    If your business has multiple personal computers in the network which need to print, then we need a device called a print server. Print server act intermediate between PC and printers which accept print jobs from PC and send them to respective printers. CUPS is the primary mechanism in the Unix-like operating system for printing and print services. It can allow a computer to act as a Print server. In this tutorial, we learn how to set up CUPS print server on Ubuntu 22.04.

Open Hardware: XON/XOFF and Raspberry Pi Pico

  • From XON/XOFF to Forward Incremental Search

    In the olden days of computing, software flow control with control codes XON and XOFF was a necessary feature that dumb terminals needed to support. When a terminal received more data than it could display, there needed to be a way for the terminal to tell the remote host to pause sending more data. The control code 19 was chosen for this. The control code 17 was chosen to tell the remote host to resume transmission of data.

  • Raspberry Pi Pico Used in Plug and Play System Monitor | Tom's Hardware

    Dmytro Panin is at it again, creating a teeny system monitor for his MacBook from scratch with help from our favorite microcontroller, the Raspberry Pi Pico. This plug-and-play system monitor (opens in new tab) lets him keep a close eye on resource usage without having to close any windows or launch any third-party programs. The device is Pico-powered and plugs right into the MacBook to function. It has a display screen that showcases a custom GUI featuring four bar graphs that update in real-time to show the performance of different components, including the CPU, GPU, memory, and SSD usage. It makes it possible to see how hard your PC is running at a glance.

Security Leftovers

How to Apply Accent Colour in Ubuntu Desktop

A step-by-step tutorial on how to apply accent colour in Ubuntu desktop (GNOME) with tips for Kubuntu and others. Read more