Using the most expensive laptop you can find as a thin client to a rented cluster of virtualized machines which themselves are virtualizing still smaller machines which run software intended to virtualize still smaller machines.
The workload? Probably capable of running on a raspberry pi.
In this video, we are looking at how to install the Google Chrome on Zorin OS 16.
We all love canonical here and some us love them so much we want to work for them but they've got to filter out some applicants by wasting as much of there time as possible, so why not give them a 50 word written interview so they just leave instead.
As you know, I’m challenging myself to use the Steam Deck as my only PC, and so far it has been a moderately successful experiment. I’ve hosted, recorded and edited a 2-hour video chat on this thing. I’ve even used Valve’s chunky Linux handheld to game at 1080p while simultaneously using OBS Studio to livestream at 720p/60.
A significant follow-up to one of the biggest Linux stories, the Pandora's box the MIT Technology Review claims open-source devs just opened, and Linux on the M1 finally ships.
This week’s episode of Destination Linux, we’re going to be talking with Emma Marshall from System76. Then we’re going to check out a new RISC V offering in the market. Plus we’ve also got our famous tips, tricks and software picks. All of this and so much more this week on Destination Linux. So whether you’re brand new to Linux and open source or a guru of sudo. This is the podcast for you.
Drummond Reed, Director of Trust Services with Avast, leads Doc Searls and Simon Phipps through deep dives into SSI, blockchain, KERI (which avoids blockchains), protocols, standards and much more. The biggest frontier for trust is digital identity, specifically of the self-sovereign kind. Great discussion on this episode of FLOSS Weekly.
A couple of days ago, Linux Mint released their latest Linux Mint Debian Edition version 5 codenamed "Elsie." LMDE is Linux Mint's hedge in case anything ever happens to Ubuntu that would force Mint to base off of another distro. Maybe, they should go ahead and make the move now.
An incredible amount has changed in Mesa and in the Vulkan ecosystems since we wrote the first Vulkan driver in Mesa for Intel hardware back in 2015. Not only has Vulkan grown, but Mesa has as well, and we've built up quite a suite of utilities and helpers for making writing Vulkan drivers easier. This blog post will be a tutorial of sorts (we won't have a functioning Vulkan driver in the end, sorry), showing off a bunch of those helpers and demonstrating the latest Mesa best practices for Vulkan drivers.
Are you new to Debian Linux, Ubuntu, or a Linux operating system that uses DEB files? Do you want to install a DEB file on your system but can’t figure it out? Follow this guide to learn how to install a DEB file on Linux.
If you’re new to Linux, you may be wondering how to delete a file. There are many ways to delete files on Linux. In this guide, we’ll cover the terminal method and a few GUI methods.
The Sega Naomi (New Arcade Operation Machine Idea), released in 1998, is a Sega arcade board. The Naomi shares a hardware architecture to the Sega Dreamcast, and as a result, many Naomi games eventually made it to the Dreamcast.
Naomi is now defunct and not in service anymore. Thankfully, you can play Sega Naomi games on Linux with Retroarch. Here’s how.
Note: Addictivetips in no way encourages or condones the illegal downloading or distribution of ROM files for the Sega Naomi. If you choose to install Retroarch, please use your own game ROMs you’ve backed up to your PC, legally.
Today we are looking at how to install Obsidian on a Chromebook. Please follow the video/audio guide as a tutorial where we explain the process step by step and use the commands below.
Brave, the brainchild of Brendan Eich, has taken the Linux market by storm. Brave's unique operating model, privacy-centric approach, and fast performance promise to be an ideal browser replacement for Linux users.
If you're tired of seeing ads popping up everywhere on your browser and want to steer towards a secure browsing experience, Brave is the answer to your woes.
Without further ado, let's delve deeper to see how to install the Brave browser on various Linux distros.
In this post, you will learn how to install Snap on Rocky Linux 8.
Snap is the self-sufficient package technology developed by Canonical. As expected, it comes integrated in Ubuntu, but it is also possible to install it in other distributions like Rocky Linux.
Flatpak is Snap’s natural competitor. Both offer packages that can be run on any distribution that supports them thanks to their box technology. That is to say that in a single package are incorporated all dependencies and libraries needed to run without affecting the system.
Although the repositories of Rocky Linux 8 are extensive and more with EPEL, the truth is that thanks to Snap we can install other applications and further extend the functionality of the system.
In this tutorial, we will show you how to install Nomacs on Ubuntu 20.04 LTS. For those of you who didn’t know, Nomacs is a free, open-source image viewer, which supports multiple platforms. You can use it for viewing all common image formats such as JPEG, PNG, GIF, RAW, etc.
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 Nomacs image viewer on Ubuntu 20.04 (Focal Fossa). You can follow the same instructions for Ubuntu 18.04, 16.04, and any other Debian-based distribution like Linux Mint.
OTRS Community Edition is an open-source helpdesk software written in Perl. In this article, you will learn how to install OTRS Community Edition on the Rocky Linux system. You will be installing OTRS with the MariaDB database and Apache webserver.
Redis is a free and open-source NoSQL database that stores data in memory in the form of key-value pairs. It is mainly used as a caching mechanism for other databases as it has low latency. Redis can store data structures, such as strings, hashes, lists, HyperLogs, and geospatial indexes.
Redis uses a set of commands for managing and working with the databases. One useful command is the PING command. Let us illustrate how we can use the Redis PING command.
Security is an essential factor in the modern age. Therefore, understanding how to secure your applications and data has become a requirement.
This article will discuss one of Redis’s security features called protected mode.
The Linux system consists of many built-in tools in it that are used to perform many specified tasks. One of those tools is “Apt” i.e., “Advanced Package Tool”. This tool consists of group utilities to perform installation, update, deletion, and other management activities for Linux software on different Linux operating systems. We can make use of this “apt” package tool on any of the Ubuntu, Debian, and Linux Mint operating systems. Therefore, we have been using this article to explain the use of the “Apt” package in the Ubuntu 20.04 system to list all the installed packages, software, and tools. Let’s take a new start from the terminal shell opening of the Ubuntu 20.04 system via the “Ctrl+Alt+T” shortcut.
Let’s get started with the system update first. So, we need to update our Ubuntu 20.04 Linux operating system using the Advanced package tool on the terminal. This command must be executed on the shell using the “sudo” rights along with the keyword “update”. On execution, the system asked for the sudo password before processing. We have added our sudo password and pressed the key “Enter”. The system has started updating itself as shown below.
My old tutorial for installing Windows 10 in GNOME Boxes doesn’t work with Windows 11. Here’s how to install Windows 11 as a virtual machine (VM) inside GNOME Boxes. (Some configuration file changes required.)
Windows 11 significantly raised its hardware requirements compared to Windows 10. Among the changes, it requires more RAM and storage space. It also requires a Trusted Platform Module (TPM) version 2.0 and a UEFI boot environment.
Redis is a key-value database that is lightweight and easy to use. To fetch a value in Redis, you have to reference the associated key. Although this is incredibly easy, it does provide one challenge, what happens if the key does not exist?
To create a simple error handling mechanism in our applications, we can use the Redis EXISTS command to verify the key before executing a query.
There is one database that raises its hand confidently when the topic of low latency comes up: Redis.
Redis is a free, open-source in-memory database that stores its data in the form of key-value pairs. It is a popular choice for high-performance applications due to its low latency and scalability.
This tutorial discusses installing the Redis server on your system, checking the version, and upgrading to the latest version.
Redis is incredibly fast, efficient, and reliable. In addition, it is a powerful tool that provides a caching mechanism for applications. This is because it stores the data in memory that does not require a round trip to the disk.
However, there is one drawback. Redis stores the data in memory which can have significant performance issues for large datasets.
Therefore, it is vital to keep track of the size of the database stored in the Redis instance and take the necessary actions.
Although Redis is an in-memory database, it allows more than one client to connect to the database. It uses connections from the clients on the configured TCP port or Unix sockets.
This short article will discuss how to check and increase or decrease the maximum clients supported by the Redis instance.
Any Linux system comes with a handful of tools pre-installed. The touch command is one such tool. The linux touch command is to modify the timestamps in the file metadata such as access and modification times. However, it’s also widely used for creating a new empty file in the desired location. With the proper file permission, the touch command can change the timestamps of any file. If the file didn’t exist prior, then it creates the file instead. In this guide, we’ll dive deeper into the usage of the touch command in Linux.
Securing a website running with Nginx as a web server can be done with Let’s Encrypt, and that is why we are writing this tutorial for you.
Let’s Encrypt is a Certificate Authority that provides free TLS/SSL certificates valid for 90 days. SSL stands for Secure Sockets Layer and an SSL certificate is a digital certificate that enables encrypted connection and authentication of the website identity. In this blog post, we will use Certbot to obtain a free SSL certificate for Nginx.
Ledger Mode is a package in Emacs for the command line accounting program Ledger. This allows Emacs users to utilize Ledger’s powerful features from the comfort of their favorite text editor.
[...]
Ledger Mode is simple and intuitive to use. It automatically balances your finances and notifies you when there is any issue with your records. It also allows you to categorize your expenses and sources of income which could, then, be sorted and analyzed from the package itself.
Monitoring the resources of your Linux server and watching for negative trends is one way to stay ahead of potential performance issues, and the sar command will help you do exactly that. In this video, Jay goes over the basics of the sar command. Note: This video was re-uploaded due to a typo in one of the lower-thirds clips
OpenSSL 3 contains an open-source implementation of the SSL and TLS protocols. OpenSSL implements basic cryptographic function. The OpenSSL toolkit includes libssl, libcrypto and openssl which is the OpenSSL command-line tool, a swiss army knife for cryptographic tasks, testing, and analyzing.
Follow through this tutorial to learn how to install Linux Malware Detect on Ubuntu 22.04/Ubuntu 20.04. Linux Malware Detect, LMD, is an opensource malware scanner for Linux designed to be used in shared hosted environments.
The Oracle Linux Sustaining team is tasked with identifying and fixing bugs in the Linux kernel. We rely on a rich ecosystem of debugging tools like crash and pykdump to help us pick up the remnants of a crashed kernel and figure out what led to its demise. But operating systems are complex, and sometimes our tools fail us. In these cases, we have to fall back on our understanding of the kernel subsystems and the target CPU architecture, since we find ourselves diving deep into hex dumps and assembly listings.
Take something as simple as a stack trace. Many developers view these as a given, since computers are quite good at automatically unwinding a stack, looking up symbols, and producing the pretty trace we know and love. But in some exceptional cases (for example, interrupts occurring precisely on entry to a function call) an automatic unwinder can be led astray, producing an incorrect trace. In other cases, a debugging tool may not even recognize a portion of memory as a stack, leaving us without the option to unwind it.
Until recently, Linux Sustaining engineers have taken comfort in the knowledge that, when code is compiled with frame pointers, they are able to manually unwind the stack with relative ease. But the kernel community (at least, the x86_64 kernel community) is moving away from frame pointers. Increasingly, the community is migrating to an in-kernel debug information format called ORC, which enables the kernel to unwind stacks without relying on the frame pointer. As a result, manually unwinding a stack is no longer a simple matter of following a chain of frame pointers.
This blog post will first review the use of frame pointers for unwinding a stack on x86_64. Then, we will introduce the ORC format and describe its benefits. Finally, we’ll discuss how stack unwinding works for code built without frame pointers, and with ORC unwind info.
There are many great desktop environments for Linux, such as Cinnamon, KDE Plasma, and MATE to name a few. With that said, only one can be the best, and that is obviously GNOME. I mean, look, there's a reason Canonical uses it as the default DE for Ubuntu -- it's that good.
If you are a GNOME fan, I have some extremely exciting news. You see, as of today, GNOME 42 is officially here! There are many new features, such as a new dark mode, improved screenshotting, and support for RDP (remote desktop protocol). There are also performance improvements, updated apps, and new default apps including a beautiful new terminal called "Console."
GNOME 42 Desktop Environment is now available for download.
GNOME 42 is loaded with some amazing new features and improvements. In GNOME 42, GNOME software is being ported to GTK4. You will find Text Editor as the default text editor app replacing the old Gedit text editor.
 Ubuntu devs had planned to push out the next LTS with a miserly 4 alternative desktop backgrounds on disc — one of which is actually provided twice in two variants.
I don’t think wallpapers make a release but they are a peculiarly trivial aspect for ‘buntz to be stingy in. Imagine: you switch from a Major OSâ⢠after hearing about how great Ubuntu is, and when you go to do something as basic as change the frickin’ wallpaper, your eyeballs are given this...
Simply put: anyone. ZorinOS makes Linux incredibly easy for any user (regardless of skills) to dive in and not suffer the slightest hitch. For the longest time, my go-to distribution for new users was Ubuntu, but since the release of 16.0, ZorinOS has usurped that title. And with the extra polish (and updated apps) found in 16.1, the title of best Linux desktop distribution for new users belongs to ZorinOS.
But don’t think this desktop is limited to those with little to no Linux skills. Anyone, no matter the skill level, would be perfectly happy with ZorinOS as their primary desktop operating system.
Don’t believe me? Download ZorinOS 16.1 now and find out.
Nvidia unveiled a scaled-down “Jetson Orin NX” sibling to its high-end AGX Orin module and officially launched its “Jetson AGX Orin Developer Kit.” The Orin NX is claimed to offer 3X the performance of the AGX Xavier.
Back in November, Nvidia announced its latest flagship Jetson module, the Jetson AGX Orin, featuring 12x 2GHz Cortex-A78AE and 2,048 Ampere GPU cores. The company has now followed up with a dev kit for the module that is open for orders at $1,999 with a 32GB AGX Orin module, with shipments within 8x weeks. Most of the features of the dev kit were already announced in November, but there are a few new details (see farther below).
Likely most folks browsing Gemini pages (or the simple web 1.0 version of this gemlog) will be familiar with open source software and the community around it, if not be an active participant in working on open source software or an amateur historian on its history and many foibles.
One of the trending UX features right now is dark mode. According to one study, 58% of Americans experience digital eye strain from using computers. One of the factors causing it is blue light radiation from the screen. That's where the possible idea of ââ¬â¹Ã¢â¬â¹a screen that slows down your tired eyes more comes from.
This tutorial explains how to add a navigation menu in WordPress easily. After reading this tutorial, you will be able to add navigation menus through the dashboard or from the customization screen. The last section also describes the steps to add menus in widget areas.
The examples described also show how to add dropdown menus in your navigation menu to customize the structure entirely. But remember that abusing submenus may not be convenient for users with vision impairment. All instructions explained in this tutorial include screenshots. Thus, making it easy for all WordPress user levels to apply them.
String interpolation in the Scala programming language refers to the process of replacing certain variables or expressions within a string with some other suitable value according to the context. This process is used extensively to deal with strings in the Scala programming language.
Therefore, in this article, we will discuss all the different string interpolators of the Scala programming language followed by their respective usage in Ubuntu 20.04.
File reading in Scala is used as much as in any other programming language. By using the file reading techniques, we can easily open a file and manipulate it according to our requirements. Scala has multiple ways of reading a file. However, this article will share the three most commonly used file reading methods using the Scala programming language in Ubuntu 20.04.
While working in the computer science field, you must have heard about some programming languages. One of those languages is “PHP” which can be used in various operating systems. It is used to design and create websites or their pages for a better look and feel. You can call it a server-scripting language as well. All the languages came up with many of the versions i.e., old to new. Thus, we have decided to see how we can find out the version of installed PHP on the Ubuntu 20.04 Linux operating system using simple version commands on the shell.
So, let’s just get started by the login from Ubuntu 20.04 system. After login, try to open your Ubuntu 20.04 terminal console application from its application area using the search activity bar. Write “terminal” and tap Enter. An application named “terminal” will be shown. Click on it to open it. If you want to avoid this complex and long procedure, just use the “Ctrl+Alt+T” shortcut. Let’s get started with the newly launched terminal shell and the system update in it.
A radix or base is a representation of a number that shows how many digits are required to represent a positional number. For example, to represent the binary number, the radix value is 2 (we represent the binary either with 0 or 1). To represent the decimal number, the radix value is 10 (we represent the decimal number with numbers 0 to 9).
Aria Beingessner, a member of the teams that implemented both Rust and Swift, has an interesting take on some of those (and other) language's problems – that C isn't a programming language anymore.
Beingessner should know. They've previously worked on and written about both Rust and Swift.
There are many problems with the C language. To pick just a few: it can be difficult to parse; there are competing and subtly incompatible variants; and then there are the complex ways C defines and handles integers and other variables.
For instance, after much deliberation, a bunch of companies called the Aspen Group settled on a programming model for 64-bit Unix and Unix-like OSes called LP64, also known as "4/8/8". Unfortunately, 64-bit Microsoft Windows uses a different model, called LLP64 or "4/4/8".
We will first understand the structures in C and then we will discuss about the array of structures in C. We will also go through the array of structure pointers and how to access the structure members within the array of structure objects.
Structs are the user defined group of similar or different data types. Similar or different group of data types can be grouped under one name known as structures.
Directories and folders are the main and quite important parts of any operating system. Without the directories and files, our system doesn’t get completed. The directories are used to store the sub-folders and files that hold data in them for security and personal work. Within the Linux operating system, we have also got the same file system i.e., directories and sub-folders. Bash programming came up with some of the very simple commands and statements to check if the specific directory of a file exists in our system or not. Therefore, we have decided to write this article to check if the directory exists in our Linux system or not.
Bash programming is quite well-known amongst Linux users. Within the bash script, we tend to use many loops, statements, and clauses to perform different operations. The most famous loop is the “for” loop in any programming language. Bash programming came up with the “continue” and “break” statements. If you are using any Linux distribution and want to know about the use of the “continue” clause in the “for” loop, then this article is especially for you.
Loops are the data structure used in many languages to perform some task in iterations i.e., repeatedly until the actual goal is achieved. One of the many loops of programming is the “For” loop. The “for” loop can be used alone and more than one “for” loop in a sequence is said to be “nested”. Therefore, we have decided to use the “nested” for loops in Bash programming within our examples of today’s article. So, let’s start with the opening of the terminal shell in the Ubuntu 20.04 system via the “Ctrl+Alt+T” shortcut.
Whenever we have been working on something, we tend to feel hectic after some time. Therefore, we need rest to recover ourselves or refresh the whole work mode. Just like that, sometimes our Linux system also requires sleep for a few seconds. It came up with the “sleep” function to make the processing of anything pause for a specified period. This sleep function can be utilized within the bash script and within the terminal shell to perform the same goal. Therefore, we have decided to discuss the sleep function in Ubuntu 20.04 Linux system. Let’s just get started with the login from an Ubuntu 20.04 system.After the login, you need to open Ubuntu’s terminal application as we have to perform the sleep command in it. To open it, try the “Ctrl+Alt+T” shortcut. If for some reason the shortcut doesn’t work for you, click on the “Activity” menu from the taskbar of Ubuntu’s desktop. The search bar will be opened. Click on the search area, write “terminal” and press the key “Enter”. The application will be shown on your screen. Click on the “terminal” application and it will be launched within no more than 5 seconds according to your system speed.
Hello Rustaceans. For this one, we will explore what are generics and how to use generic types in the Rust language. Generics trips most new Rust beginners but we will do our best effort to make it as clear as possible.
If you are interested in exploring more Rust topics, check our Rust list to learn more.
Pointers are not a new thing to any programmer. They are a feature that allows you to use variables to store an address in memory. The address then “points to”, hence pointer, to data stored in that location.
Smart pointers are pointers with extended capabilities, such as bound checks and automatic memory management. Smart pointers also include additional metadata. Now, the concept of smart pointers is not new, especially to C++ programmers.
For this article, we will explore various smart pointers as defined in the Rust standard library.
Programming is all about problem-solving. There is no way you can become a proficient programmer without practicing and building things. In this article we will create projects to get you started in the Rust programming language.
I have been fortunate that for the last two years I've been working from home, with maybe a once a quarter trip to the mother ship, I mean office. Web work has its advantages.
It's been almost two years since I wrote the post about searching for my holy grail - the dual-CPU board Asus P/I-P65UP5[1], which I had between 2003 and 2012 when it burned out.
For years the board was nowhere to be found. Then it appeared twice in a period of two weeks: one on eBay, one on a local auction portal.
In what is bound to be a refreshing break from whining about software I thought I might make a short post on some avenues toward securing gemini servers. There were a few recent instances of path traversal bugs exposing peoples' servers — what are some options for mitigating that sort of risk?
Obviously everyone these days uses containers for everything but personally I don't love them as a technology. All of my old skills go out the window and the options are to sacrifice observability or pull in a whole new ecosystem of tooling that goes out of fashion faster than my wardrobe. I like running a boring Linux server using a long term support release, in my case Debian stable.
Many people take Carnegie’s advice to heart when it comes to security. They anchor almost all of their security with a single vendor, and the vendor is more than happy to oblige. Most infosec vendors seem incapable of designing security architectures that don’t put their products at the root of all trust. “Just give us your keys,” they say, “and we’ll take care of the rest.”
It’s not just that this is the easiest architecture to design, it’s also to the vendor’s benefit if their customers are fully dependent on them. When you outsource all security decisions and trust, both the individual consumer and the enterprise are incapable of protecting themselves in the face of threats. When inevitably there’s a hole in the vendor’s basket and eggs start to break, the customer discovers just how powerless they are to do anything about it. Often they even find it challenging to get information about the size of the hole and whether their eggs are affected.
We live in an increasingly interconnected and interdependent society. Many people have realized over the past few years just how dependent they have been on outsourced infrastructure and supplies, and how unnerving it can be when those things are disrupted. In response, a number of people have changed their focus toward more self-sufficiency.
Recently I’ve been thinking about how I find it fun to learn computer networking by implementing working versions of real network protocols.
And it made me wonder – I’ve implemented toy versions of traceroute, TCP and DNS. What about TLS? Could I implement a toy version of that to learn more about how it works?
I asked on Twitter if this would be hard, got some encouragement and pointers for where to start, so I decided to go for it.
This was really fun and I learned a little more about how involved real cryptography is – thanks to cryptopals, I already 100% believed that I should not invent my own crypto implementations, and seeing how the crypto in TLS 1.3 works gave me even more of an appreciation for why I shouldn’t :)
As a warning: I am really not a cryptography person, I will probably say some incorrect things about cryptography in this post and I absolutely do not know the history of past TLS vulnerabilities that informed TLS 1.3’s design.
All of that said, let’s go implement some cryptography! All of my hacky code is on github. I decided to use Go because I heard that Go has good crypto libraries.
For example, JavaScript's package manager maintainer RIAEvangelist, Brandon Nozaki Miller, wrote and published an open-code npm source-code package called peacenotwar. It did little but print a message for peace to desktops. So far, so harmless.
Miller then inserted malicious code into the package to overwrite users' filesystems if their computer had a Russia or Belarus IP address. He then added it as a dependency to his popular node-ipc program and instant chaos! Numerous servers and PCs went down as they updated to the newest code and then their systems had their drives erased.
It's a bit insane how racist people are being towards Ketanji Brown Jackson
Norwegian warehouse robot maker AutoStore on Thursday said it intends to appeal in a U.S. federal court an International Trade Commission's (ITC) decision on an ongoing patent row with British rival Ocado Group .
Latest development at the EPO is a further example of the challenges that applicants, particularly from the US, face when ensuring valid priority claims for European Patent (EP) applications, as Dr Oliver Harris explains.
T 2314/16 helps to clarify the European Patent Office (EPO)’s approach to business methods. The Technical Board of Appeal 3.5.01 made a favourable decision on patentability of an invention relating to influencer reward distribution for an online marketing scheme. This decision is likely to be helpful for applicants innovating in commercial, financial and service industries, which are often difficult to protect at the EPO.