Language Selection

English French German Italian Portuguese Spanish

Programming leftovers

Filed under
  • Plan For User Testing Of sq

    The goal of this is to find out pain points when using sq: what is easy and straightforward; what is difficult to understand; what is difficult to do. The testing will cover the sq command line tool and its built-in help, but not any other manuals or materials. The outcome I hope for is a list of proposed improvements to sq. The volunteers will not be judged or graded.

  • The point of a dashboard isn't to use a dashboard

    A dashboard shows that you have access to your data. And that is a huge deal.

  • Clojure Tricks: Number to Digits - (think)

    If you’re into programming puzzles you probably know that there’s a whole class of problems about doing something (e.g. some calculations) with the digits of a number.

  • Clojure Tricks: Zipping Things Together

    Many programming languages have a function for combining the elements of multiple collections (e.g. arrays or lists) together.

  • Clojure Tricks: Replace in String - (think)

    Today I saw a clever bit of Clojure code involving clojure.string/replace, that reminded me how powerful the Clojure standard library is.

  • A Guile Steel smelting pot -- Dustycloud Brainstorms

    Last month I made a blogpost titled Guile Steel: A Proposal for a Systems Lisp. It got more attention than I anticipated, which is both a blessing and and curse. I mean, mostly the former, the curse isn't so serious, it's mostly that the post was aimed at a specific community and got more coverage than that, and funny things happen when things leave their intended context.

    The blessing is that real, actual progress has happened, in terms of organization, actual development (thanks to others mostly!), and a compilation of potential directions. In many ways "Guile Steel" was meant to be a meta project, somewhat biased around Guile but more so a clever name to start brewing some ideas (and gathering intelligence) around, a call-to-arms for those who are likeminded, a test even to see if there are enough likeminded people out there. The answer to that one is: yes, and there's actually a lot that's happening or has happened historically. I actually think Lisp is going through a quiet renaissance and is on the verge or a major revival, but that's a topic for another post. The goal of this post is to give a lay of the landscape, as I've seen it since then. There's a lot out there.

    If you enjoy this post by the way, there's an IRC channel: #guile-steel on It's surprisingly well populated given that people have only shown up through word of mouth.

  • My HCI toolbox: Methods for designing and evaluating UIs

    I'm a big advocate for HCI being integrated into all disciplines, no matter your job title. Anyone on a software team could run a user study—an engineer, PM, designer, researcher, manager, etc.

    Showing up to a meeting with actual evidence to support you is very powerful. It can often be done without too much effort. And even if you aren't the one interacting with users directly, there is a lot of value in empathizing with users.

    I recently gave a presentation about conducting user studies that went over the methods I tend to use and my experiences with them. My goal was to give a taste of conducting user studies even to someone that may not have a background in user research or HCI.

    This is the same content as that presentation but in an elaborated text form. I hope you find it helpful!

  • The horizontal overflow problem

    But first, let’s go with the broad strokes situation of simply not testing at a narrow enough viewport. The last I checked, Firefox stops at 435px, Chrome stops at 500px and Safari stops at 559px. That is, if you have your Devtools in a separate window.

    If you dock your Devtools to the left or right of your viewport, then you can shrink the viewport down to near 0px if you really wanted to. So the tip here is, dock your Devtools for testing narrow viewports. Or you could, I don’t know, ACTUALLY test on a narrow mobile device?

  • Is there a limit for the total variables size on the Memory Stack?
  • Finding hooks with windbg

    In this blogpost we are going to look into hooks, how to find them, and how to restore the original functions.

    I’ve developed the methods discussed here by myself and they have been proven to be useful for me. I was assigned to evaluate the security and the inner working of a specific application control solution. I needed a practical and easy solution, without too much coding preferably using windbg.

  • The New Wave Frontend Toolchain

    A new wave frontend toolchain is emerging, and it's extremely performance-driven.

    I'm talking about Deno and bun (runtimes), esbuild, swc, and Rome (bundlers), to name a few. These tools were built as a response to the slowness and complexity of Webpack.

  • Why we chose the Clojure programming language for Penpot |

    "Why Clojure?" is probably the question we've been asked the most at Penpot. We have a vague explanation on our FAQ page, so with this article, I'll explain the motivations and spirit behind our decision.

    It all started in a PIWEEK. Of course!

    During one of our Personal Innovation Weeks (PIWEEK) in 2015, a small team had the idea to create an open source prototyping tool. They started work immediately, and were able to release a working prototype after a week of hard work (and lots of fun). This was the first static prototype, without a backend.

  • Submit Your Jetson Project to the SparkFun and NVIDIA Community Project Contest!

    In case you've been out of the loop, we are in the middle of our #SummerofJetson with NVIDIA Embedded! Quizzes, prizes, educational resources, and a project showcase offer a whole array of ways to use and learn about your Jetson Nano this summer. We've already run 3 quizzes, with the 4th going up today! Check out this blog for more information.

  • Itertools Combinations - Python | Mark Ai Code

    Using Itertools, we go through the combinations() method. However, before digging more into the subject, it is critical to understand how it is used. Let’s have a look at it first. When conducting various computations, we constantly encounter combinations or permutations. Even though humans can calculate numbers, dealing with high quantities may be difficult at times. Consider what may happen if we had technologies that could make this decision for people.

  • How to Use Multiple Screens on PyGame?

    In this article, we are going to know how to use multiple screens on PyGame.

    Multiple screens are one of the best features of so many apps and games. This feature of an app or game allows users to navigate from one tab to another tab of the game within the same window and screen. This flexible way of moving within the game environment is easily seen as navigating from the game menu tab to the control bar of a game.

    The same and lot easier approach is also available in PyGame of Python. Thus by using PyGame one can use multiple screens on PyGame. This helps the user to generate a more flexible and seamless way to switch from one screen to another screen via Python.

  • Python – Multi-Line Statements

    In this article, we are going to understand the concept of Multi-Line statements in the Python programming language.

  • Load Images in Tensorflow – Python

    In this article, we are going to see how to load images in TensorFlow in Python.

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