Once upon a time, I was happy to recommend Peppermint Linux to new users who wanted to test the operating system on older hardware. It was a lightweight distribution that made using Linux pretty easy. For a while, Peppermint had even become my go-to recommendation for new users. What the developers were doing was nothing short of brilliant.
I recently installed Peppermint Linux 10, expecting it to wow me as it once did. Although it has been some time since I’ve tasted the distribution, I remember well how the last instance impressed me with its combination of user-friendliness and speed. And although the latest iteration has retained the speed, it has certainly lost some of the polish.
This led me to wonder, what is Peppermint Linux now?
Earlier iterations of Peppermint filled a very specific niche as a full-blown distribution that could perform well on older hardware while giving new users a shallow learning curve for using Linux. That was a crucial role to fill, and Peppermint filled it well. Any user who’d never experienced Linux could hop onto a Peppermint-flavored desktop or laptop and have no problem using the operating system.
That is no longer the case.
Just look at the system requirements for the latest iteration of Peppermint Linux.
One of the biggest shifts for Chrome OS in recent years has been the addition of Linux apps support, which runs a full version of Debian GNU/Linux in a virtual machine. This project was done under the codename “Crostini,” which is itself a pun on an earlier community project called Crouton.
Hey kids! Want to help out your school and learn a bit about electronics repair at the same time? Google is launching a Chromebook repair program for schools. Chromebooks are wildly popular in schools due to their simple OS and easy management, but the hardware in any education environment really takes a beating. So why not learn to repair them yourself?
Google's new repair site has a guide on setting up Chromebook repair facilities, recommending schools set up a dedicated space for repairs, a front desk for "customers" to drop off broken devices and describe issues, and a skill-tracker board for students.
Linux servers are everywhere. There's a good chance a number of your favorite websites are running on infrastructure that's powered by Linux, not to mention streaming services, social media platforms, gaming networks, the list goes on. The only thing more staggering than the number of Linux servers there are in the wild, is how many distributions you have to choose from. The distros that are available for download are countless, and the purpose of each ranges from general purpose operating systems, to task-oriented tools such as Clonezilla. If you're just getting started with deploying Linux in your data center, choosing the right distribution can be confusing. If you utilize a cloud provider for your Linux infrastructure, the number of choices is at least somewhat curated, but you still have a choice to make. Which distribution is right for your environment? In this article, we'll discuss some important concepts to keep in mind - and we'll go over the finer points of some of the more popular options. There's no shortage of opinions online regarding desktop distros, but in this article - we're going to focus on server deployments.
A last-minute kernel patch for the Steam Deck, why Intel is supporting RISC-V development, and we go hands-on with Plasma 5.24.
Follow through this guide to learn how to install Metasploit on Debian 11/Debian 10. Metasploit Framework provides a platform and tools for performing deep system security auditing as well as penetration testing to unearth, exploit and validate every other would-be vulnerability.
Object storage is the storage and retrieval of unstructured blobs of data and metadata using an HTTP API. Instead of storing files in a conventional manner by breaking them into blocks to store on disk using a filesystem, we deal with whole objects stored over the network. These objects could be an image, video, logs, HTML files, backups, container images, or any self-contained blob of bytes. They are unstructured because they don't follow any specific schema or format.
Minio is a popular open-source, self-hosted, Amazon S3 compatible object storage server. Minio is written in Go, comes with OS independent clients, and a browser interface. In this tutorial, you will install the Minio server on a Ubuntu 20.04 server, protect it using an SSL certificate from Let's Encrypt, and access it using a command-line client.
The editor we are going to learn about today is jEdit. It is not only a text editor but also a fully-featured development environment for Java programmers. Hence the name jEdit became popular. It works flawlessly on most Linux distributions.
In this guide, we will see how jEdit can be installed, verified, launched, and uninstalled. Throughout the article, we will keep discussing various aspects of jEdit.
If you want to list the all the accounts username using SSH then run below command.
Envoy Proxy is a high-performance proxy server with a small memory footprint enabling it to run on embedded devices such as routers, firewalls, and load balancers. Originally developed for the Citrix NetScaler application delivery controller, Envoy Proxy is now used by a number of major web properties and applications.
Do you want to learn how to install the envoy proxy on Ubuntu? Envoy is a great proxy for improving the performance of your website. It can help reduce latency and improve caching. Plus, it’s really easy to set up!
Linux's echo command is a fundamental and essential command in scripting and programming! This command displays or prints arguments at the terminal. The command is included in all distributions (operating systems) as either the shell or bash. Usually, developers or programmers use echo commands in both debugging and building products such as websites, applications, operating systems, etc.
Are you preparing yourself for a job interview where Linux is required? How about learning Linux from an article presented as an interview in a question-answer format? Yes, this article is about Linux interview questions with answers exclusively for those who are aiming for a career that’s all about Linux.
You may get overwhelmed with various types of why, how, and what of Linux. So, we have collected 100 important Linux interview questions to make your work easier.
As internet users, we spend most of our time interacting with a web browser. In the past several years, web applications have flourished many folds with the evolution of web browsers. Many new browsers have appeared on the scene. Firefox from Mozilla and Chrome from Google are the two most dominating browsers on the internet. The decision to choose one among them is not easy when both provide very edge features.
Docker containers are generally ephemeral application instances which lack internal state. That’s the best practice way to handle them that lets you stop or restart your containers at any time.
Sometimes modifications to a container’s filesystem are unavoidable though. Perhaps you’re trying out software and want a snapshot to return to later. Another use case could be situations where the software inside a container’s stopped working and you want to save a replica you can debug in the future.
LibreOffice is a free, open-source office productivity suite used by millions worldwide. The office suite software uses a native file format ODF or Open Document Format, an accepted and almost required structure in multiple organizations across the globe.
LibreOffice includes Writer (word processing), Calc (spreadsheets), Impress (presentations), Draw (vector graphics and flowcharts), Base (databases), and Math (formula editing).
As many know, Rocky Linux does have recent versions of LibreOffice, but given the distribution is a downstream version of RHEL and focuses on stability over new features, when new LibreOffice releases occur, you may not see these straight away. Luckily, using alternative installation managers can achieve you getting the latest version and keep it up to date.
In the following tutorial, you will learn how to install the latest 7.3 LibreOffice on Rocky Linux 8 using Flatpak.
SSH or known by its full name Secure Shell Protocol, is a cryptographic network communication protocol that enables two computers to communicate securely over an unsecured network. SSH is highly used for remote login applications and command-line executables such as terminal applications.
For users wishing to connect to servers or other computers with SSH, the client and the remote connection need to both have SSH installed and enabled for this to be possible.
In the following tutorial, you will learn how to install and enable SSH on Linux Mint 20 LTS and connect to a remote PC.
Most modern Linux Desktop systems like Linux Mint have an NVIDIA driver pre-installed in the Nouveau open-source graphics device driver for Nvidia video cards. For the most part, this is acceptable; however, if you are using your Linux system for graphical design or gaming, you may get better drivers.
Historically, the Nouveau drivers are slower than NVIDIA’s proprietary drivers, lacking the latest graphics card hardware’s latest features, software technology, and support.
Currently, NVIDIA 510 Drivers are available to install, which bring many new features improvements to the very latest and existing supported graphic cards with better Linux Kernel support, ReBAR indicator, GBM API support, and much more.
The following tutorial will teach you to install the latest bleeding-edge 510 Nvidia Graphic Card Drivers on Linux Mint 20 LTS using various installation methods.
In this tutorial, we will show you how to install Budgie Desktop on Ubuntu 20.04 LTS. For those of you who didn’t know, The Budgie Desktop is one of the latest and modern Gnome-based desktop that gives a minimal and elegant desktop experience and is available for all major Linux distributions. Written in C and Gnome based, Budgie desktop is developed by the Solus project and is now integrated with Ubuntu Budgie.
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 Budgie desktop environment 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.
Sometimes you need a virtual machine (VM) that remembers all your settings and files. Other times, you need the opposite — a disposable VM (DVM) that is either deleted or reset when you close it. This article focuses on the latter use case in GNOME Boxes.
Docker’s Moby Project disassembles the foundational components of Docker Engine into a modular toolkit that other container-based systems can reuse. Moby was spun out of the then-monolithic Docker codebase in 2017. It’s developed into a comprehensive library of container backend components which can be combined to create full container solutions like Docker itself.
As a Docker end user you don’t directly interact with the Moby project. It’s aimed at people building containerization platforms, not developers building and running container images. However you may come across Moby in Docker’s documentation or when filing bug reports and feature requests.
Skul: The Hero Slayer, one of the best sellers on Steam from 2021 recently passed the 1 million mark and a big balancing overhaul update is out now. It's an impressive number for SouthPAW Games, with this being their first published title. Considering the competition for similar side-scrolling action rogue-lites, it's even more impressive.
You take on the role of a skeleton, Skul, with a very unique ability. You can swap your current head for another, gaining the abilities from that head and swap them around during fights. It's actually pretty great, although they've needed some time to get the balancing right on them all.
Looking at the spec sheet alone, the $399 Steam Deck gaming handheld should be a winner—and early Steam Deck reviews certainly suggest Valve nailed it on the hardware front. The PC-centric Nintendo Switch rival features a big 7-inch touchscreen, plenty of control inputs, an all-AMD chip based on the same hardware inside the Xbox Series S|X and PlayStation 5, and the ability to double as a full-fledged Linux PC. But forget the hardware. While it’s impressive indeed, the Steam Deck will sink or swim based on its software, and that means Valve awesome Proton technology is about to be thrust into the spotlight.
The Steam Deck will sprint to a larger software library than most gaming handhelds because you’ll be able to tap into decades of existing PC games through your Steam account, rather than having to wait for new releases made specifically for the fresh hardware. But most of those games were created for Windows, and the Steam Deck runs on Valve’s Linux-based SteamOS operating system instead. Proton (via Steam Play) lets Windows games run on Linux. It works very well much of the time, but it’s not perfect—and the Steam Deck’s success probably depends on just how much Valve can polish up Proton before the handheld’s February 25 launch. The best hardware in the world is only as good as the software that runs on it, after all.
Want to Kickflip, Heelflip and Ollie your way to becoming a master and impress the skating godz? OlliOlli World is out and it works right away on Linux with Steam Play Proton Experimental. Note: it requires a gamepad to play.
The third in the series, and the first to not offer a native Linux build. A shame it's not officially supported by the developer, but Valve's work with the Proton compatibility layer continues providing. This was an out of the box, day-1 working title with Proton.
Dwm is a brilliant piece of minimalist software. Through only 2000 lines of code, its developers managed to provide a fast and light window manager. This spartan approach on software development, however, came with a price. Some features were dropped in order to keep the program size down.
Despite that, it is possible to introduce new features to dwm by patching its source code, as dwm is source-based. Just to do basic configurations, we need to modify config.h, which is a part of dwm’s source code.
The Plasma 5.24 desktop is a Long Term Support (LTS) release that will receive updates and fixes until the next Plasma 6.
It features new overview screen to manage app opened apps. By enabling the feature in System Settings -> Workspace Behavior -> Desktop Effects, user may hold Windows key and press w to trigger overview.
Running PC or laptop with fingerprint reader? In Plasma 5.24, you may now use fingerprint authentication for login, unlock, and running apps need sudo privilege.
The KRunner now has a ‘question mark’ icon on the toolbar. Clicking on it will show a list of available plugins and how to use information.
Relationship between the input method server and applications under Fcitx5+KWin/Wayland
With the latest release of Plasma 5.24, the native wayland input method support in KWin is improved to support non-virtual keyboard input method like Fcitx 5. (There are lots of issues if you try to use zwp_input_method_v1 in 5.23).
This leads to a outcome that non-Gtk/Qt application using text-input-v3 can be used flawlessly under KWin Wayland. Though, there is some small step that you’ll need to follow.
The Qubes compartmentalised operating system developers have put out version 4.1.0. The new version has experimental support for running the GUI and audio server in their own VMs, and an optional remote-support facility.
The Qubes VM-based operating system modestly calls itself "a reasonably secure operating system". Qubes uses the Xen hypervisor (sometimes under protest) to provide a single desktop environment – now Xfce 4.14 by default – in which separate applications run in their own VMs, with colour-coded window borders so you can tell which is which.
Qubes has been steadily enhanced since the project announced it was going commercial. Version 4 has seen a few patch releases, but 4.1.0 adds some key new functionality.
Qubes 4.1.0 can now be installed on UEFI computers, alongside some other new, but still experimental.
The GUI part of the OS can be run in its own dedicated VM, rather than inside dom0 with the primary management OS, and so can the audio server. There's also an optional remote-support package, not installed by default, that will allow someone else (with a codeword) to take limited remote control of your computer.
Roger (radky on the forum) has created and maintained PupControl and JWMdesk, both of which are in EasyOS.
Up until now, Easy has PupControl 3.2.1, which has JWMdesk builtin. However, Roger has removed JWMDesk from PupControl and it is now a separate PET. Which is good, because JWMDesk is currently broken in EasyOS.
FreeNAS is an amazing open-source network-attached storage (NAS) software based on the FreeBSD operating system. FreeNAS is now rebranded as TrueNAS core.
In this video, I am going to show an overview of OpenMandriva Lx 4.3 and some of the applications pre-installed.
In this tutorial, we will finish setting up both Red Hat Satellite and VMWare for provisioning virtual machines (VMs) from Satellite. Throughout the tutorial, we will use the Satellite console GUI and the command line for configuring our Satellite environment so that you get familiar with using both.
When we installed and configured Satellite, the domain example.com was added to the default organization and location. We need to add the domain to the Operations Department organization and the moline location.
Purpose of this team is to take care of day to day business regarding CentOS and Fedora Infrastructure and Fedora release engineering work. It’s responsible for services running in Fedora and CentOS infrastructure and preparing things for the new Fedora release (mirrors, mass branching, new namespaces etc.). The ARC (which is a subset of the team) investigates possible initiatives that CPE might take on.
The SparkyLinux team has announced the release of SparkyLinux 6.2, the latest stable update in the project’s 6.x series.
Sparky is a fast, lightweight, and fully customizable OS built on Debian that offers a few versions for different users and tasks. It is one of the few distributions which offers two versions, based on the Debian stable and testing branches.
The SparkyLinux 6 ‘Stable’ version features ISOs with different desktop environments such as LXQt, Xfce, and KDE. It also offers a ‘Semi-Rolling’ version which is based on Debian’s testing branch and features more up-to-date packages. The ‘Semi-Rolling’ version comes with the same desktop environments as their ‘Stable’ version plus MATE desktop environment added.
While the UBports Foundation is still preparing the move to the Ubuntu 20.04 LTS (Focal Fossa) base, Ubuntu Touch OTA-22 is yet another update based on Ubuntu 16.04 (Xenial Xerus) that brings more bug fixes and some improvements for your mobile devices.
Some of the new features included in Ubuntu Touch OTA-22 are WebGL support on capable devices for better rendering of 2D and 3D graphics, an interactive blur effect for the application drawer on devices that support it, fingerprint support for OnePlus 5T, as well as rotation support for the greeter (a.k.a. login screen).
Operating Systems have some type of docking mechanism that allows a user to choose the apps to run.
By default, Ubuntu 20 and 21 use Gnome. The typical dock placement is to the left side of the desktop. With Linux being modular, we can change the docking program and try something new.
Looking around, a lot of users seem to talk about Plank.
Canonical, U.K.-based publisher of the Ubuntu Linux distribution, and Infrastructure-as-a-Service provider CoreSpace this week announced a partnership aimed at making it easier for organizations to set up, customize, and manage private clouds.
Wevolver’s previous article about the Arduino Pro ecosystem outlined how embedded sensors play a key role in transforming machines and automation devices to Cyber Physical Production Systems (CPPS). Using CPPS systems, manufacturers and automation solution providers capture data from the shop floor and use it for optimizations in areas like production schedules, process control, and quality management. These optimizations leverage advanced data Internet of Things (IoT) analytics over manufacturing datasets, which is the reason why data are the new oil.
[...]
Within these platforms, users collect real-world sensor data, train ML models on the cloud, and ultimately deploy the model back to an Arduino device. It is also possible to integrate ML models with Arduino sketches based on simple function calls. AutoML pipelines ease the tasks of (re)developing and (re)deploying models to meet complex requirements.
The collaboration between Arduino and ML platforms enables thousands of developers to build applications that embed intelligence in smart devices such as applications that recognize spoken keywords, gestures, and animals. Implementing applications that control IoT devices via natural language or gestures is relatively straightforward for developers who are familiar with Arduino boards.
Arduino has recently introduced its new Arduino Pro ecosystem of industrial-grade products and services, which support the full development, production and operation lifecycle from Hardware and Firmware to Low Code, Clouds, and Mobile Apps. The Pro ecosystem empowers thousands of developers to jump into Industry 4.0 development and to employ advanced edge analytics.
Inkplate 6COLOR is a 5.8-inch color e-paper display equipped with ESP32 WiSoC to provide WiFi and Bluetooth LE connectivity, and programmable with the Arduino IDE or MicroPython.
We’ve covered Inkplate ESP32-based e-paper displays since Inkplate 6 was launched in 2019, and since then the company introduced a larger model and an upgraded variant with a touchscreen display and higher resolution. But so far, all were grayscale models, and Inkplate 6COLOR is the first to come with color, or more exactly 7 colors.
When I first LilyGO TTGO T-Block ESP32 devkit with an enclosure and a display it reminded me of the M5Stack Core2 devkit, but it’s actually different as LilyGO designed a modular system that allows users to change the functionality of the top cover with expansion boards called “Trolleys”.
That means TTGO T- Block can be fitted with a small e-Ink display, a prototyping cover, an RGB LED matrix, a small board that supports various MQ gas sensors, touch buttons, or a Trolley board equipped with headers compatible with common Arduino modules.
While one often listens to songs or albums in full, sometimes you just want to lay down a simple beat. [todbot]’s latest project promises to do just that.
The build relies on a Raspberry Pi Pico or any other RP2040-based microcontroller board, and is programmed in CircuitPython. The PWM feature is used for audio output, and it’s loaded with different WAV samples of the classic “Amen” break.
Wger is a free, privacy-first workout progress and fitness tracker app for android.
The wger app is your personalized fitness diary – but you own your data. Use the REST API to access and do amazing things with it.
The app is powered by a community of developers, who take care of its backend, and Android client.
The app is consisting off: a client android app that is built with Flutter, and a backend server application that keeps your data private, safe and secure.
The backend app is built with Django, which can be installed easily on any server either from source or using Docker.
[...]
GNU Affero General Public License v3.0.
I’m the lead developer in the curl project. We make the command line tool curl and the library libcurl, for doing Internet transfers. The command line tool uses the library for all the internet transfer heavy lifting.
The command line tool is somewhat of a shell binding to access libcurl.
We make these things. We recently surpassed 1,000 authors. I lead the project and I have done the most number of commits per month in curl for the last 79 months, and in fact in 222 of the 267 months we have stats for.
Balázs Scheidler, founder of the syslog-ng project, started a new blog where he details why and how he started to work on syslog-ng even more actively. He also asks for your feedback!
“syslog-ng has been around for decades: I started coding the first version of syslog-ng in September 1998, circa 24 years ago. The adoption of syslog-ng skyrocketed soon after that: people installed it in place of the traditional syslogd across the globe. It was packaged for Debian, Gentoo, SUSE and even commercial UNIXes. It became a default logging daemon in some of these Linux distributions. Commercial products started embedding it as a system component. Over the years however I feel that syslog-ng has become a trusted piece of infrastructure, few people really care about. I set out to change that.”
FOSDEM is an annual conference promoting the use of free and open source software. It usually takes place Brussels in early February but due to the ongoing pandemic it took place online this year. Guido, Federico and Evangelos hosted a variety of presentations around free software in mobile devices in a dedicated devroom (a devroom is a place where developers meet and showcase their projects to the public). We want to take the opportunity to thank everyone in the community and our team for giving a presentation or hosting a panel discussion: you helped making this event a great success and (most importantly) a lot of fun!
[...]
In November 2021, we wrote a proposal for a devroom and were happy to hear that it had been accepted. After the call for participation was published we received quite a few submissions for talks ranging from kernel and boot loader topics up to UI design, distributions and social aspects.
On Saturday Martin gave an informative talk about what the kernel team has been working on. He covered updates on how the upstreaming efforts towards Mainline Linux Kernel is progressing.
[....]
While we highlighted the contributions from our team, we are very thankful to everyone who presented this year and want to encourage our readers to also check out all the interesting talks by the community. We hope to see you next year in person where we can share some (real) waffles.
Why do I say that FOSDEM is the best virtual event? Of course, even they cannot re-create everything from a real-life event, but it is probably the closest and there are even some improvements compared to IRL events.
All talks are pre-recorded and recordings are played back automatically, so there are no schedule problems. As they are pre-recorded, even if the presenter has technical problems, like I had an unstable Internet connection due to storm damage, everyone can still watch the talks.
Talks are available as a simple video stream, but if you register, then there is a live chat where you can ask and upvote questions. There were lively discussions during both of my syslog-ng and sudo talks, and the questions are also answered live during the video stream after the playback is finished.
If the time is up, attendees can stay in the virtual room and watch the next talk starting automagically, or they can also have a hallway track with the presenter. Instructions are printed in the chat and I had some good discussions after my talks in this way.
The PostgreSQL Global Development Group has released an update to all supported versions of PostgreSQL, including 14.2, 13.6, 12.10, 11.15, and 10.20. This release fixes over 55 bugs reported over the last three months.
One week ago, we announced LibreOffice 7.3, our brand new major release. It’s packed with new features, and has many improvements to compatibility and performance too. So, what has happened in the week since then? Let’s check out some stats…
Here come just a quick comparison between Colibre icon theme in LibreOffice 7.2 (still) and 7.3. (fresh) version. Can you spot the difference(s)? Quite tiny, isn't it?
Do you want to write a program that uses LibreOffice to convert different formats, or otherwise work with LibreOffice from another process? A solution would be using LibreOffice SDK.
In order to use the SDK with a binary installation of LibreOffice, you have to install it first from the “SDK and Source code” section of the LibreOffice download page. Otherwise, if you are building LibreOffice from the source, you have to use --enable-odk in order to be able to use SDK.
There are many examples shipped with the LibreOffice SDK, that are good to understand the SDK and get an idea of it:
For certain products with life cycles calculated in decades, Qt Extended Support can provide good insurance over the course of its life. Qt will offer an additional year of free Qt 5.15 LTS Extended Support for customers with a valid Qt for Application Development Enterprise, Qt for Device Creation Professional, or Qt for Device Creation Enterprise subscription license.
There was a blog post from Peter Hutterer about Flatpak portals posted few months back. Peter explained what are portals and how do they work. Portals are used mostly because of security and sandbox/Wayland restrictions. Many times your only way to get access outside (opening a file, sending a notification, sharing a screen, etc.) is to use a portal. For most use-cases applications or developers don’t need to care about them as their support is usually implemented in libraries they use. For example Qt and GTK use portals internally so apps can use still the same APIs as before and they don’t need to worry about their apps not working in sandboxed environments. BUT there are still scenarios where libraries have unsufficient or none portal support, or a different options are desired so what are the options in this case if you still need to use portals?
The concept of the realloc() function in the C programming language will be discussed in this article. To begin with this concept, we must know about the concept of memory allocation and the different functions of allocating memory in C. There are two types of memory allocation in the C programming language: Static memory allocation and Dynamic Memory Allocation.
As announced earlier this month, the Qt framework was used to develop Stellantis's newly launched in-vehicle HMI across its iconic portfolio of European car brands. The project kicked off in 2018, and the first vehicles reached their happy new owners in 2021.
The computers normally work by understating the numbers and to translate the numbers into characters a standard is created. This standard has given a specific set digit to each character whether it’s an alphabet or any symbol and the standard is called ASCII standard. Using the ASCII for each character has made communication easy between machines and humans.
The ASCII is the acronym of the “American Standard Code for Information Interchange” and from the name it can be assumed that it is the code used for interchanging the information from machine to humans or machine to machine.
The value of a node in a tree is called the key. A binary tree is a tree, where each node does not have more than two children. A Binary Search Tree (BST) is a tree, where for each node, the right child is greater than or equal to the left child. This leads to the right half of the tree having values generally greater than those of the left half at each level. This means a binary search tree is partially sorted (a type of incomplete sorting). A BST can be kept in an array-like structure, with the root node being the first value.
A binary tree can be made into different self-balancing trees with different sets of additional conditions, such as the AVL tree and the Red-Black Tree.
The TreeMap in Java is a red-black tree. However, each node consists of a key and corresponding value (key/value pair) instead of just a key. Each key/value pair would be one element in an array-like structure. This article explains how to use a TreeMap in Java, beginning with a binary search tree, followed by the red-black tree, and then the Java TreeMap.
This article explains stack and queue in Java, beginning with the stack class. Stack is LIFO and Queue is FIFO – see details below.
Assume that you offer service to three different people standing in front of you. The third person happens to be your friend. The service is supposed to be first-come_first-served. With first-come_first-served, the first person has the greatest priority; the second person has the greater priority; the third person, the lesser priority, and so on. You will not be punished, if you do not observe first-come_first-served. You decided to serve your friend first, then the first person, followed by the second person. This means you gave your friend the greatest priority. Looking at the scenario from the point of view of a robot, the third position had the greatest priority.
The next day, the same three people came. This time, your friend is in the middle. You decided to serve him first, ahead of the person who came first, then the third person, and finally, the first person. So, this time, according to the robot, position 2 has the greatest priority, followed by position 3.
On the third day, your friend is first, and you do first-come_first-served. The conclusion by anybody, and the robot, is that priority depends on who is concerned and by the position of each person. Note: in real life, priority does not always depend on first-come_first-served.
Each line is a pair of key/value. The name of a fruit is the key, and its color is its value. It is possible to have another list where the keys are numbers or the values are numbers, or both keys and values are numbers. In the above list, the keys are strings and the values are strings.
JavaFX is a Java library that is not installed with Java. It has a class called Pair, to be used for handling pairs. The problem with using the Pair class with Java, is that the programmer still has to install JavaFX onto Java, and learn how to use JavaFX.
A string object, instantiated from the Java String class, is an object that encapsulates a string literal. The problem with the string object in Java is that the literal characters cannot be modified. The StringBuffer class comes to the rescue. The literal for the StringBuffer is mutable. The StringBuffer also has the advantage of being thread-safe (safe for use by multiple threads). However, operations with the StringBuffer can be relatively long. So, there is a simpler form of the StringBuffer class, which is the StringBuilder class. StringBuilder is not thread-safe. The class is in the java.lang.* package, and does not need importation. This article explains the basics of the StringBuilder.
ArrayList and the Vector are each examples of a list in Java. There are other types of lists. A Collections class has the sort() method to sort a list in ascending order. It also has the reverseOrder() method, which enables sorting in descending (reverse) order. The reverseOrder method is not used ordinarily. It is used as an argument in one of the overloaded sort() methods. The Collections class is in the java.util.* package, which has to be imported by the programmer to be used.
A local file is in the hard drive or a flash drive attached to the USB port. Files can be classified into two categories: text files and byte files. Typical text files are files created by a text editor. The image file is an example of a byte file consisting mainly of raw bytes.
This article gives a basic explanation of how to read local text and byte files in Java. To read a text file, use the class, FileReader. To read a byte file, use the class, FileInputStream. Both classes are in the java.io.* package, which should be imported. The first half of this article deals with reading text files, and the second half deals with the reading of byte files.
There are plenty of RC cars and robot platforms out there that you can buy. However, there’s an understanding that’s gained from building your own rover from the ground up. Which is precisely what [Alex] got from developing this compact 3D printed rover design.
The design is by no means fast; it’s intended more for crawling around “at a slow deliberate pace” as [Alex] puts it. Off-the-shelf 12 V gear motors are used to provide plenty of torque to get around. The modular design means that it can be built with just wheels, or set up with tracks fitted for additional performance in softer terrain. Skid steering is used to turn the platform.
Two days ago, I was going through a desk drawer filled with computer cables, adapters and drives and stumbled upon a tool that proved to be beyond invaluable to me back in 2009 or so. It is a mini USB [spinning or magnetic] hard disk drive (HDD) sealed in a 2 by 2 inch enclosure. During my lunch hour [at a nearby coffee shop] and at home, using my 9 inch ASUS Eee PC, I would rely on this mini HDD to develop my RapidDisk driver.
So you want to minimize finger movement when you type, but don’t have three grand to drop on an old DataHand, or enough time to build the open-source lalboard? Check out these two concept keebs from [SouthPawEngineer], which only look like chord boards.
[...]
The designers behind Glove80 are enthusiasts — an entrepreneur and and engineer with 18 years of ergo keyboard use under their fingers. They did over 500 ergo experiments and built really cool-looking modular test rigs in order to build a keyboard that is purported to be comfortable for all hand sizes. They weren’t originally planning to commercialize this keyboard, but luckily, someone convinced them it should be shared with the world.
This Bluetooth split has 80 low-profile keys (hence the name), all of which are the same size — 1u. That makes it easy to swap layouts and keycaps however you like. The only thing I don’t care for is that it’s only available with red switches, and I think at this point, y’all know how I feel about reds. On the bright side, there’s a stretch goal in place to add browns and whites to the switch offering, but that is roughly $80,000 away as I type this. I’ll be checking back later in the month for sure.
Security updates have been issued by Debian (firefox-esr and openjdk-8), Fedora (phoronix-test-suite and php-laminas-form), Mageia (epiphany, firejail, and samba), Oracle (aide, kernel, kernel-container, and qemu), Red Hat (.NET 5.0 on RHEL 7 and .NET 6.0 on RHEL 7), Scientific Linux (aide), Slackware (mozilla), SUSE (clamav, expat, and xen), and Ubuntu (speex).
I have been thinking about this sort of thing for many, many years. (Here’s my analysis of one such system.) I have come to realize that the threat model isn’t as simple as Bunnie describes. The goal is to prevent “rubber-hose cryptanalysis,” simply beating the encryption key out of someone. But while a deniable database or file system allows the person to plausibly say that there are no more keys to beat out of them, the perpetrators can never be sure. The value of a normal, undeniable encryption system is that the perpetrators will know when they can stop beating the person — the person can undeniably say that there are no more keys left to reveal.
When a new model of a phone company has released, most of us just try to sell the previous one to buy the latest one. Our Smartphone has now become a part of our life, and so, we always want to stay updated. However, many of us often find selling a used phone challenging. If you are one of them, you are on the right track.
Very often, we sell our phone, and all the files are gone with it. Often, we lost our accounts and other essential files with it. Basically, there are some safety factors we all should make sure of before selling a used phone. Also, many of you have a lot of questions about the same factor.
Today, our discussion will follow all the factors about selling a second-hand phone. We will talk about where to get buyers, how to set the value, things we should do, and what we shouldn’t do before selling a phone. So, don’t skip a part and stay with us till the end. I am sure you will learn about something essential.
The Senate Judiciary Committee Thursday forwarded legislation designed to crack down on child sexual abuse materials online to a full floor vote, despite warnings from privacy advocates that the bill could pose a major threat to encrypted technologies.
The Eliminating Abusive and Rampant Neglect of Interactive Technologies Act (EARN IT Act), introduced for the first time in 2020 by Sens. Lindsey Graham, R-S.C., and Richard Blumenthal, D-Conn., would remove legal liability immunity from tech platforms found in violation of federal or state laws regarding child sexual abuse materials (CSAM). In 2020 the EARN IT Act sailed out of committee but failed to see a floor vote before the end of the 116th Congress.
The station also reports that Mazda dealers in the area are getting flooded with calls for the last three weeks about the issue. There’s a theory about 5G smartphone deployment but, honestly, we aren’t buying it.