Language Selection

English French German Italian Portuguese Spanish

Programming Leftovers

Filed under
Development

  • Anti-patterns You Should Avoid in Your Code

    Every developer wants to write structured, simply planned, and nicely commented code. There are even a myriad of design patterns that give us clear rules to follow, and a framework to keep in mind.

    But we can still find anti-patterns in software that was written some time go, or was written too quickly.

    A harmless basic hack to resolve an issue quickly can set a precedent in your codebase. It can be copied across multiple places and turn into an anti-pattern you need to address.

  • AsmREPL: Wing your way through x86-64 assembly language • The Register

    Ruby developer and internet japester Aaron Patterson has published a REPL for 64-bit x86 assembly language, enabling interactive coding in the lowest-level language of all.

    REPL stands for "read-evaluate-print loop", and REPLs were first seen in Lisp development environments such as Lisp Machines. They allow incremental development: programmers can write code on the fly, entering expressions or blocks of code, having them evaluated – executed – immediately, and the results printed out. This was viable because of the way Lisp blurred the lines between interpreted and compiled languages; these days, they're a standard feature of most scripting languages.

    Patterson has previously offered ground-breaking developer productivity enhancements such as an analogue terminal bell and performance-enhancing firmware for the Stack Overflow keyboard. This only has Ctrl, C, and V keys for extra-easy copy-pasting, but Patterson's firmware removes the tedious need to hold control.

  • Wasmer 2.1 WebAssembly Implementation Adds Virtual Filesystem, Lisp + Crystal Support - Phoronix

    Wasmer as "the universal WebAssembly runtime" that focuses on being able to run WASM code on any platform is out with its next major release.

    Released this summer was Wasmer 2.0 as a step forward for this open-source WASM implementation. The project remains focused on trying to compile "everything" to WebAssembly and to then run that on any operating system / platform or embed it in other languages or run it in a web browser. Wasmer 2.1 was released today as the next major iteration of the platform.

  • What's The Big Deal With Linux Capabilities? | Hacker Noon

    The prevalent perception is that Linux users benefit from and exercise privileges, however this is not the case. It's the process or executable that runs in a certain user context and exercises rights (permission to carry out to perform the privileged operations guarded by Linux kernel).

  • Built with the Rust programming language – LinuxBSDos.com

    Not too long ago, the talk in developer circles seemed to be mainly about Go, Go, Go, Go… I’m referring, of course, to the programming language from Google.  

  • Perl Weekly Challenge 141: Number Divisors and Like Numbers
  • Closures

    A casual remark about closures which I made in My Favorite Warnings: redefine touched off a long off-topic exchange with Aristotle that I thought ought to be promoted to a top-level blog entry. The big thing I learned was that any Perl subroutine can be a closure. The rest of this blog will try to make clear why I now believe this. The words are my own, as are any errors or misconceptions.

    The second sentence of Wikipedia's definition of a closure says "Operationally, a closure is a record storing a function together with an environment." This makes it sound a lot like an object, and therefore of little additional interest in an O-O environment.

    But I came to closures pragmatically through Perl, and to me they were a magic way to make data available somewhere else. All I had to do was get a code reference where it needed to be, and any external lexical variables got the values at the time the reference was taken. So much I understood up to the fatal blog post, and it sufficed for my simple needs.

More in Tux Machines

Games: Old World, Broken Sword 5, Psychonauts 2

Louis-Philippe Véronneau - Introducing metalfinder

Introducing metalfinder, a cli tool to find concerts using your local music collection! At the moment, it scans your music collection, creates a list of artists and queries Bandsintown for concerts in your town. Multiple output formats are supported, but I mainly use the ATOM one, as I'm a heavy feed reader user. Read more

Firefox for Android no longer gives the user control over the browsing experience. Privacy Browser turns off JavaScript by default.

Firefox/Fennec for Android no longer give the user significant control over the browsing experience. The browser that said it was on a mission to enable users to “take back the Web” has been falling from grace for years, starting with Digital Restrictions Malware module, Widevine, and then quickly moving to remove a lot of features and then relegating them to extensions, which were then neutered in order to make them easier to port over from Chrome. But nothing has made me more upset than what has happened to Firefox (or Fennec, the Free and Open Source version) for Android. Mozilla’s move to GeckoView rendered over 99% of all Firefox extensions incompatible with the mobile browser, including bypass paywalls, and there is no longer any way that I’m aware of to turn off JavaScript. Major news Web sites like the New York Times are now unreadable in Firefox for Android because I can’t simply block their paywall like I can in my desktop browser, so I decided to try out Privacy Browser for Android, which is in the F-Droid store. Read more

today's howtos

  • How to use Terraform to create a vpc network and a Compute instance in GCP

    In this guide, we will build a simple compute instance(virtual machine) in Google cloud platform using terraform. Terraform allows you to develop cloud infrastructure by automating repetitive tasks. If you have a use case where you need to create multiple instances, all of which have different memories, disk sizes, and operating systems, the process of going to the GCP Console UI and manually clicking buttons to set up each server can be tiring and time consuming. Terraform was created to solve that problem. It allows you to have the instructions as code that can be used to plan, deploy, modify, and destroy all of our systems.

  • How to Install Ansible on Ubuntu 22.04 - Cloudbooklet

    Install Ansible on Ubuntu 22.04 and configure it to connect to remote servers to automate several tasks. Ansible is a configuration management tool which offers an architecture that doesn’t require special software to be installed on nodes, using SSH to execute the automation tasks and YAML files to define provisioning details. In this guide you are going to learn how to install Ansible on a Ubuntu 22.04 server and configure it to connect with remote servers on Google cloud and AWS instances.

  • Git Bash Delete Directory

    On the Linux operating system, a directory is a normal repository for hierarchically storing files like what we do in any other Windows operating system. The /bin/ directory, for example, would keep all executable binary files. On the other hand, Git is a version control system used worldwide to create version records of each file and folder so that any change can be monitored through a local computer as well as a remote desktop. Deleting a git directory from its local desktop is quite similar to deleting a normal bash file and folder. It just takes some more commands than usual. So, we have decided to discuss in this article the topic “delete directory in git” using the Bash environment. Let’s get started with the opening of the Kali Linux terminal.

  • How to Install and setup Zsh (Z shell) on Raspberry Pi

    The Z Shell or zsh is the advanced form of the Bourne shell (bash) and zsh contains many unique features that are not present in the bash. For example, in the bash shell, to navigate some directory, we use the “cd” with the directory name, wherein zsh, we navigate to any directory by just using its name, moreover, the zsh also auto-corrects the minor spelling mistakes in the commands. In this write-up, we will explore the method of installing the zsh on the Raspberry Pi operating system using the terminal.

  • How to Configure Application Load Balancer for Intelligent Routing

    Application load balancer (ALB) is a type of elastic load balancer provided by AWS. It operates at the 7th layer of the OSI layer model and can be configured for intelligent routing. Using application load balancer, traffic can be routed to different target groups depending upon the following parameters...

  • How to Build WSJT-X from Source Raspberry Pi Bullseye

    WSJT is a free and open-source powerful application that is used for weak-signal radio communication between amateur radio operators. Usually, you will require a single sideband receiver and a computer with a sound card to operate this program. On Windows OS, its installation is pretty straightforward using the .exe file, but on Raspberry Pi, it requires few efforts to build it from the Raspberry Pi’s source. This article will guide you on how to build WSJT-X 2.5.4 from the source Raspberry Pi Bullseye.

  • How to Install and Customize Hyper terminal on Ubuntu 22.04

    A terminal is considered the backbone of a Linux operating system and the users spend most of their time using the terminal to perform various activities. However, most of them may become tired of using the same terminal screen every time and they will surely need a solution to change the look of their Linux terminal screen. Hyper Terminal is an excellent utility that will allow you to install various themes and plugins to completely change your terminal look. It includes several features, such as different fonts, multiple style changes and much more.