Language Selection

English French German Italian Portuguese Spanish

Programming Leftovers

Filed under
  • Custom machine stand ‘lets you know’ if drill bits aren’t stored properly

    YouTuber Cranktown City recently acquired a new milling machine/drill press, and needed somewhere sturdy to place it. Rather than buying something, he went to work making a nice custom stand with a drawer on top and space for a toolbox below that.

    To help keep things organized, this top drawer features a 3D-printed drill index with an interesting trick. In addition to providing storage for the drill bits, it “encourages” you to put them back. Each drill cavity has a small switch, all of which are daisy-chained together. The switch signal is fed to an Arduino Nano, which reads high when all drills are present, and low if one or more is missing. If one is missing for too long, it triggers a sound module that insults him into proper organization, and lights up a strip of LEDs as an extra reminder.

  • Why I Chose Passion Over Money and Declined a Huge Job Offer

    I recently switched jobs. And during my long journey of finding a new one, I was offered way more money than I had anticipated for a role that I was not as passionate about.

    I wish I could say that it was an easy no for me. But it was not. I wanted to say no. But instead, I kept asking myself, “Am I really going to do this?”

    I even talked to quite a few close friends about my decision. And everybody, including my parents, told me that I was insane to decline that big offer. But I did it anyway. I ended up choosing passion over money.

  • GO Programming – DNS Server – Blocker/Forwarder

    I haven’t posted much GO related code on this blog before as I am more of a fan of C, Python, Java/JS, etc. I initially found its syntax to be a bit harder to read due to the variable typing being placed after the variable name. It can make it harder to track and understand if the variable you’re looking at is a: mutable or immutable, pointer or constant, array or singular, referenced or dereferenced, local or global, etc.

    It does combine a lot of power that you would typically find in a more structured language (like Java) along with being flexibile and relaxed (like Python).

  • Big O Notation Examples – Time Complexity and Algorithm Efficiency Explained

    Time complexity analysis helps us determine how much more time our algorithm needs to solve a bigger problem.

    In this article, I will explain what Big O notation means in time complexity analysis. We'll look at three different algorithms for checking if a number is prime, and we'll use Big O notation to analyze the time complexity of these algorithms.

  • Colin King: A C for-loop Gotcha

    The C infinite for-loop gotcha is one of the less frequent issues I find with static analysis, but I feel it is worth documenting because it is obscure but easy to do.

  • A DevOps guide to documentation |

    DevOps is challenging technical documentation norms like at no other time in IT history. From automation to increased delivery velocity to dismantling the waterfall software development lifecycle model, these all spell the need for making dramatic changes to business and the philosophy of technical documentation.

    Here are some ways DevOps is influencing technical documentation.

  • Tend your Git garden with Git Bonsai

    If you are like me, your git repository checkouts have a tendency to accumulate lots of branches over time.

    Git Bonsai is a command line tool to help you clean this bush.

  • Creating Advanced HMIs & User Experiences for NXP i.MX RT1170

    For some time now, the challenges of developing advanced human machine interfaces (HMIs) for embedded platforms has centered around translating the design vision to code, and then deploying that code to hardware platforms that meet the cost sensitivities of the market. The trend on user preferences around HMI, spanning across all industries, is tied to the benchmark most of us carry right in our pocket daily – the smartphone. When a user is met with a screen, it is an almost automatic expectation that the experience be the same as on their smartphone, regardless of what is under the hood. This can be an extreme challenge for cost sensitive markets where the budget for differentiation is low. Consumer markets are showing increased interest in advanced user interface technologies that can be effective at putting yourself ahead of the competition. Regardless of your market’s cost sensitivity, a premium user experience should not require a higher complexity and cost in your Bill of Materials (BOM). NXP™ Semiconductor’s recent release of the i.MX RT1170 crossover microcontroller (MCU) ushers in the era of GHz performance, and when paired with the complete software technology, enables an exceptional user experience at a cost suited to markets across many industries.

  • Qt Design Studio 2.1 Beta2 released

    Qt Design Studio is a UI design and development tool that enables designers and developers to rapidly prototype and create beautiful experiences. Both designers and developers use Qt Design Studio and this makes collaboration between the two a lot simpler and more streamlined.

    To get an overview, you should watch this video.

    Please have a look at the Beta blog post a for a summary of what is new and improved in Qt Design Studio 2.1. For detailed information about Qt Design Studio, visit the online documentation page.

  • Thomas Fitzsimmons: Quickly Start a Common Lisp Script

    So you want to write a utility script, and you want to write it in Common Lisp. I created a template Common Lisp script called start.lisp. It’s meant to be renamed and hacked up but it provides a starting point for a new Common Lisp script, with some utility libraries included.

  • Advanced Mach Try

    Following up last week’s post on some mach try fundamentals, I figured it would be worth posting some actual concrete tips and tricks. So without further ado, here are some things you can do with ./mach try you may not have known about in rapid fire format.

  • How to Model an Epidemic with R

    Epidemiology has never been more topical. It is the scientific study of how health and disease affects populations, including infectious diseases such as COVID-19.

    Key to understanding the spread of such diseases is the practice of epidemic modeling. This involves building quantitative models to describe and forecast the spread of disease.

    The classical approach to epidemic modeling is to use a type of mathematical model known as a "compartmental model".

  • Python For Loop - For i in Range Example

    As discussed in Python's documentation, for loops work slightly differently than they do in languages such as JavaScript or C.

    A for loop sets the iterator variable to each value in a provided list, array, or string and repeats the code in the body of the for loop for each value of the iterator variable.

    In the example below, we use a for loop to print every number in our array.

  • Access Python package index JSON APIs with requests

    PyPI, the Python package index, provides a JSON API for information about its packages. This is essentially a machine-readable source of the same kind of data you can access while browsing the website. For example, as a human, I can head to the NumPy project page in my browser, click around, and see which versions there are, what files are available, and things like release dates and which Python versions are supported...

More in Tux Machines

digiKam 7.7.0 is released

After three months of active maintenance and another bug triage, the digiKam team is proud to present version 7.7.0 of its open source digital photo manager. See below the list of most important features coming with this release. Read more

Dilution and Misuse of the "Linux" Brand

Samsung, Red Hat to Work on Linux Drivers for Future Tech

The metaverse is expected to uproot system design as we know it, and Samsung is one of many hardware vendors re-imagining data center infrastructure in preparation for a parallel 3D world. Samsung is working on new memory technologies that provide faster bandwidth inside hardware for data to travel between CPUs, storage and other computing resources. The company also announced it was partnering with Red Hat to ensure these technologies have Linux compatibility. Read more

today's howtos

  • How to install go1.19beta on Ubuntu 22.04 – NextGenTips

    In this tutorial, we are going to explore how to install go on Ubuntu 22.04 Golang is an open-source programming language that is easy to learn and use. It is built-in concurrency and has a robust standard library. It is reliable, builds fast, and efficient software that scales fast. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel-type systems enable flexible and modular program constructions. Go compiles quickly to machine code and has the convenience of garbage collection and the power of run-time reflection. In this guide, we are going to learn how to install golang 1.19beta on Ubuntu 22.04. Go 1.19beta1 is not yet released. There is so much work in progress with all the documentation.

  • molecule test: failed to connect to bus in systemd container - openQA bites

    Ansible Molecule is a project to help you test your ansible roles. I’m using molecule for automatically testing the ansible roles of geekoops.

  • How To Install MongoDB on AlmaLinux 9 - idroot

    In this tutorial, we will show you how to install MongoDB on AlmaLinux 9. For those of you who didn’t know, MongoDB is a high-performance, highly scalable document-oriented NoSQL database. Unlike in SQL databases where data is stored in rows and columns inside tables, in MongoDB, data is structured in JSON-like format inside records which are referred to as documents. The open-source attribute of MongoDB as a database software makes it an ideal candidate for almost any database-related project. This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you the step-by-step installation of the MongoDB NoSQL database on AlmaLinux 9. You can follow the same instructions for CentOS and Rocky Linux.

  • An introduction (and how-to) to Plugin Loader for the Steam Deck. - Invidious
  • Self-host a Ghost Blog With Traefik

    Ghost is a very popular open-source content management system. Started as an alternative to WordPress and it went on to become an alternative to Substack by focusing on membership and newsletter. The creators of Ghost offer managed Pro hosting but it may not fit everyone's budget. Alternatively, you can self-host it on your own cloud servers. On Linux handbook, we already have a guide on deploying Ghost with Docker in a reverse proxy setup. Instead of Ngnix reverse proxy, you can also use another software called Traefik with Docker. It is a popular open-source cloud-native application proxy, API Gateway, Edge-router, and more. I use Traefik to secure my websites using an SSL certificate obtained from Let's Encrypt. Once deployed, Traefik can automatically manage your certificates and their renewals. In this tutorial, I'll share the necessary steps for deploying a Ghost blog with Docker and Traefik.