After completing a DIY Raspberry Pi Zero 2 W handheld PC earlier this year, Penk Chen has designed another, rather odd but cool-looking, DIY computer. The “Mainboard Terminal” is a retro-style computer with a round display powered by the mainboard found in Framework modular laptop.
The computer has been tested to work with Ubuntu 22.04 out of the box with just a few configuration tweaks for the display, but other operating systems should also work considering the mainboard is based on an Intel Core i5-1135G7, i7-1165G7, or i7-1185G7 Tiger Lake processor.
As you may already know, we at Igalia have been working on several improvements to the 3D rendering drivers of Broadcom Videocore GPU, found in Raspberry Pi 4 devices. One of our recent works focused on improving V3D(V) drivers adherence to Vulkan submission and synchronization framework. We had to cross various layers from the Linux Graphics stack to add support for multiple syncobjs to V3D(V), from the Linux/DRM kernel to the Vulkan driver. We have delivered bug fixes, a generic gate to extend job submission interfaces, and a more direct sync mapping of the Vulkan framework. These changes did not impact the performance of the tested games and brought greater precision to the synchronization mechanisms. Ultimately, support for multiple syncobjs opened the door to new features and other improvements to the V3DV submission framework.
In the previous post, I described how we enable multiple syncobjs capabilities in the V3D kernel driver. Now I will tell you what was changed on the userspace side, where we reworked the V3DV sync mechanisms to use Vulkan multiple wait and signal semaphores directly. This change represents greater adherence to the Vulkan submission framework.
I was not used to Vulkan concepts and the V3DV driver. Fortunately, I counted on the guidance of the Igalia’s Graphics team, mainly Iago Toral (thanks!), to understand the Vulkan Graphics Pipeline, sync scopes, and submission order. Therefore, we changed the original V3DV implementation for vkQueueSubmit and all related functions to allow direct mapping of multiple semaphores from V3DV to the V3D-kernel interface.
 By default, you get the ability to set wallpapers as per the desktop environment on your Linux distribution.
And, it is often limiting when trying to add a custom folder of wallpaper collection to the available selection. Moreover, when it comes to multi-monitor setup, you do not get the ability to choose separate wallpapers in your distro. So, you need to head out looking for a Graphical User Interface (GUI) program that lets you do that.
It's been a while since I last made changes to Cosmos.
Over the past couple of months I've been noticing some issues that need improvement.
Hello, friends. Many people prefer to edit files using the terminal. In this case, we have many editors that do the job and consume almost no computer resources. Besides this, it is useful in server environments. So, today you will learn how to install GNU Nano on CentOS 9 Stream.
In case you didn’t know, GNU Nano is a text editor with terminal interface that is easy to use. Thanks to this application we will be able to edit terminal files using the terminal and although simple, it does the job.
With nano we can do searches in a simple way and its key combinations are easy to remember. Some users prefer it to more complex solutions like vim or vi.
So let’s get started.
In this guide, we will discuss how to perform DELETE, TRUNCATE, And DROP operations on a MySQL database table using PHP in XAMPP in Linux.
Before getting into the topic, let us understand the differences between the Delete, Truncate, and Drop commands.
Handling files, directories, command-line environments, and documentation is essential knowledge for sysadmins. Understanding file descriptors and how they relate to these topics improves your sysadmin skills. This article covers three standard Linux file descriptors for manipulating files through shell redirection and pipelines.
In this tutorial, we will show you how to install GParted on Ubuntu 22.04 LTS. For those of you who didn’t know, Gparted (stands for GNOME Partition Editor) is an official partition editor for Linux operating system. With Gparted you can resize, copy, and move partitions without data loss. It supports mounted btrfs, EXT2, EXT3, EXT4, and XFS file systems.
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 GParted free partition editor on Ubuntu 22.04 (Jammy Jellyfish). You can follow the same instructions for Ubuntu 22.04 and any other Debian-based distribution like Linux Mint, Elementary OS, Pop!_OS, and more as well.
Podman is a free and open-source daemon-less container engine that was developed by RedHat. It exists to help developers manage and deploy their applications in a Linux environment. Similar to the Kubernetes platform, Podman works with pods.
Podman seeks to be the alternative to the Docker engine which is also a containerization platform. Podman improves on Docker by decentralizing the components needed for container management. Podman has a few distinguishing differences, the main one being its architecture. It runs on a daemon-less architecture.
Today, I launched a new AWS instance with Ubuntu 22.04. The default key provided by AWS is working fine with SSH. But when I attached my personal ssh key to the server and tried to access with FileZilla over SFTP, I got the following error in auth.log.
A complete guide on how to upgrade to Fedora 36 from Fedora 35 with both GUI and CLI methods plus pre-upgrade steps.
In this tutorial, we will show you how to install AnyDesk on Manjaro 21. For those of you who didn’t know, AnyDesk is a remote desktop application you can connect to your computer remotely and work from anywhere without being limited by the location of an internet connection. It allows them to securely connect a remote system to help with technical issues. It is available for Linux, Raspberry Pi, Windows, Chrome OS, macOS, Android, and iOS.
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 AnyDesk remote desktop application on a Manjaro 21.
How to Install Docker Compose with Docker on Ubuntu 22.04. Docker Compose is a simple tool that provides a way to orchestrate multiple containers to work together which makes deployment using a yaml file.
In this guide you are going to learn how to install Docker compose and create a new application using docker compose on Ubuntu 22.04.
While switching to Ubuntu has its perks and can be liberating, there are also a few bumps along the way. One of the main problems when switching is that some of the essential software and facilities available on Windows are not available here on Ubuntu. Google Drive is one of these facilities.
Although Google supports a lot of open source projects, there still is no official version of Google Drive for Ubuntu. Google Drive is one of the most useful tools; it allows you to share and synchronize your files. You can access your data across different devices. It is so integrated with your everyday work that you can’t work correctly without it.
No worries, Ubuntu has got you covered. Ubuntu has one of the largest and most supportive communities. Developers in this community are always trying to find a solution to such significant problems. This is where ODrive comes into place. ODrive is a client of Google Drive.
Windows has the easiest and the most user-friendly interface I have ever come across. Its usage reminds us of how anything can be done through a perfectly annotated GUI and the existence of pointers and menu icons. With most of us heavily relying on technology and communicative interfaces, there is still a fair share of people who use non-reciprocal command-driven interfaces. Everything, including the downloads, software updates, and access to menu and browsers, is usually done through commands on the terminal.
This tutorial below is a guide on how to take screenshots on Ubuntu using keyboard shortcuts and without making use of any third-party tools. In addition, we will also find out the best screenshot tools you could get for Linux.
As time progressed, Ubuntu saw remarkable growth in its infrastructure. From what was once a simple server-based architecture to now being the primary Linux distribution for desktops. Ubuntu has become a worthy challenger for Windows and Mac OS, being free and open-source, along with having a smooth and silky interface. Ubuntu provides its users with great customizability, and you can play around to figure out what works best for you. These include changing themes, design, and even the layout of the interface and more.
In this article, we will show you how to customize Ubuntu 20.04 to make it look somewhat like Mac OS.
MySQL is an open-source Database Management System (DBMS) powered by Oracle Corporation. MySQL is a cost-effective and potent tool that helps with the management of large data while providing security. Our concerned topic today is MySQL workbench, a graphics tool that deals with MySQL servers and databases. This tool can be used to visualize modules for creating, executing, and optimizing several queries.
In our last article which is part of our NGINX traffic management series, we discussed how to limit the number of connections in NGINX. In this guide, we will look at how to limit the rate of requests in NGINX.
Rate limiting is a traffic management technique used to restrict the number of HTTP requests a client can make in a given period of time – rate limits are calculated in Requests Per Second (or RPS).
An example of a request is a GET request for the log-in page of an application or a POST request on a log-in form or a POST on an API endpoint.
For one reason or the other, you may wish to run a command repeatedly for several times in Linux. This guide will discuss some of the common and effective ways to achieve just that. Let’s consider the first method.
The recently released Ubuntu 22.04 LTS is full of new visual changes and features.
But like any other release, it has its share of bugs and issues.
One of the unpleasant surprises I got in Ubuntu 22.04 was with the AppImage applications.
Even with all the right permissions, AppImage applications just refused to launch in my newly installed Ubuntu 22.04 system.
Vivaldi browser is a freeware, cross-platform web browser developed by Vivaldi Technologies. It has a minimalistic user interface with basic icons and fonts and, an optionally color scheme that changes based on the background and design of the web page being visited.
SSH or Secure Shell Protocol has earned its name as a secure, reputable, and reliable cryptographic network protocol, which is used to access remote machines and servers over unsecured networks.
 2D shooter games are a subgenre of shooter game, which in turn is a type of action game. It’s difficult to exactly define which specific design elements make up a shooter game, but often they feature spacecraft and certain types of character movement.
This type of game is extremely popular and fairly well represented by open source developers.
All of the games featured below are highly addictive, immersive, fascinating, and hugely satisfying. Attractive graphics are an important element to any shooting game. But these games also have great gameplay coupled with the urge of always having just one more play. And as the source code is freely available, anyone can pick up, modify, and expand upon the games.
KDE Connect is an open-source tool that lets you connect your mobile phone with your PC.
Originally, KDE Connect supported Android devices to connect with Linux. Gradually, they added support for Windows.
Now, it looks like you can use KDE Connect with your iOS device (iPhone or iPad) to connect to your Windows/Linux computer.
The time has come: on June 14, KDE Plasma 5.25, the next version of the KDE desktop, will be released and will follow Plasma 5.24 LTS. The developers are releasing a beta version on May 19 for all those who want to test it. Time for a preview of what’s in store for KDE friends.
Optical upgrade
Plasma 5.25 is based on Qt 5.15.2 and KDE Frameworks 5.94. For the new version of the desktop environment, more than 400 errors have been eliminated and functions have been improved or newly integrated. Prominently, the visual appearance was screwed on. The predefined accent colors introduced with Plasma 5.23 can be individually designed with Plasma 5.24 using a color selector. Plasma 5.25 wraps, changing the accent color based on the background image. The settings for this are made under Appearance | Colors can be found in the system settings. In addition, the accent colors are also in the Breeze Classic Theme applicable Another notable change in the new version is the option for plasma themes to panel as floating display
flagship edition with full support for GTK4 apps, the latest and greatest Linux 5.17 kernel series for top-notch hardware support, as well as an updated toolchain with the most recent GNU/Linux technologies and the most recent application releases.
When General Motors GM first announced its new Ultifi vehicle software development platform last October, it revealed that it would be based on the open source Linux operating system but provided few other details. Today at the Red Hat RHT Summit, it was announced that long-time Linux developer Red Hat would be providing its In-Vehicle Operating System to the automaker. The Ultifi platform is planned to launch in 2023.
Today at the Red Hat Summit, Red Hat Inc. announced the launch of its new operating system, Red Hat Enterprise Linux 9, designed to enable enterprises to deliver a more secure computing environment at scale, whether in a hybrid cloud, public cloud, or edge network environment.
The new platform is PCI-SS and HIPAA-compliant and adds new cryptographic frameworks with support for OpenSSL, so the users can encrypt data throughout their environments.
Open source has long been a force multiplier for innovation. Time and time again, operating in the open source way has proven that the power of many is stronger than the power of few. This sentiment is at the heart of everything we do at Red Hat, most notably in our collaboration with General Motors to advance software-defined vehicles at the edge, announced today by Matt Hicks, Executive VP, Products & Technologies, Red Hat, at Red Hat Summit.
Today's sophisticated use cases, such as advanced driver-assistance systems (ADAS), pose a challenge for the development of current vehicle platforms. Lack of a modernized and consistent infrastructure means less design reuse across vehicle lines and model years, and system limitations make future software updates costly and difficult. Adopting open source software in lieu of proprietary operating systems can introduce an avenue for establishing common standards and fosters an ecosystem of Linux-savvy automotive developers. By utilizing open source software, the automotive industry can help alleviate many of these issues and as a result, modernize their strategies while meeting customers’ present-day needs.
Are your edge computing systems secure? A simple question with a potentially complicated answer. This is because many engineering teams combine Red Hat Enterprise Linux with decoupled applications thanks to containerization technologies. But with so many changes happening across your organization, it can be hard to scale your infrastructure. Managing the lifecycle of your Red Hat Enterprise Linux with edge management to make it easy to standardize, deploy and enhance security posture throughout the system’s lifecycle. This post takes an in-depth look at edge management from this perspective.
The past few years have shown that enterprises want their applications, data, and resources located wherever it makes the most sense for their business and operating models, which means that automation needs to be available to execute anywhere. Automation across platforms and environments needs a common mechanism with an approach of automation as code, supported by communities of practice and even automation architects or committees to help define and deliver on the strategy.
Each year during Red Hat Summit, we recognize Red Hat Certified Professionals who make a difference in their organizations by demonstrating enthusiasm, commitment and dedication to their role and industry. We’re proud to announce that Neil D’Souza, Senior Site Reliability Engineer at ServiceNow, has been named the 2022 Red Hat Certified Professional of the Year.
Organizations that use CentOS Linux and run a Red Hat offering in their enterprise now have an easier path to migrate to Red Hat Enterprise Linux (RHEL). Read on to find out more about the new Developer for Teams subscription offering and how it helps you take advantage of all the benefits of the Red Hat Developer program.
Red Hat is pleased to announce that the Red Hat Enterprise Linux (RHEL) image builder service is now fully supported with your RHEL subscription.
The RHEL image builder service, which can be found in the left navigation of the Red Hat Hybrid Cloud Console, simplifies and streamlines the process of assembling your own customized RHEL operating system images with the latest content and security updates for all of your hybrid cloud environments.
The traditional method of installing operating systems from DVDs does not match today’s realities in hybrid cloud environments. The many tools and configurations required for physical, cloud and edge deployments present a significant burden of technical knowledge for end users.
Like “digital transformation” and “DevOps,” the term “agile” has come to mean many things to many different people in software development and project management. The principles of agile software development are generally straightforward: They prioritize customer collaboration, flexibility to change, individual empowerment, and creating working software rather than extensive documentation.
[...]
At its core, agile is a human-centric methodology. While it can be much easier to build support and enthusiasm for new technologies or software, it’s more important in the long term to frame agile as a cultural transformation. Scrums and kanbans are the tools that allow teams to pursue agile development, but the more important transformations take place at the human level.
To adapt to cloud-native trends, developers must have multiple perspectives on their distributed systems. In particular, they need to understand how their code will smoothly integrate with infrastructure configurations. As the complexity of a microservices architecture evolves, traffic load and cluster use both also increase, which influences development practices at the team level.
Kubernetes significantly impacts a developer's daily life—and not just for inner loop development such as writing code, compiling, and testing microservices locally. It also drives developers to consider how outer loop development, such as integration testing, continuous deployment, and security, are affected when the applications are containerized to run on Kubernetes.
As Java developers, we have been using Java bean objects to store our data for nearly the entirety of the language's existence. It has always been considered a good practice to have private member variables along with public getters and setters for those private member variables. Furthermore, after two decades of Java EE and now Jakarta, it's become common to put all of our classes in four or five packages or folders that loosely map to model, view, and controller packages or folders. For good measure, you might add a package for data transfer objects and other classes.
With the explosion of complexity in the number and kinds of annotations required to make modern microservices work, this pattern of a few packages and hundreds of files in each folder is fundamentally broken when it runs up against the finite capabilities of humans. How many times have you scrolled for a long time looking for the four files that make up the business logic that you are trying to update?
There is a better way. I explore it in detail in 10 design tips for microservices developers with Quarkus, my on-demand session from Red Hat Summit 2022. In this article, we'll take a look at some of the high points.
Red Hat OpenShift Local (formerly Red Hat CodeReady Containers) lets you run OpenShift on a local computer to simplify setup and testing. It emulates the cloud development environment locally, with all the tools you need to develop container-based applications.
Starting with the 2.0 release, OpenShift Local can handle separate machine bundles. We have added Podman to allow for a slim container runtime and minimal download on top of a great single-machine local OpenShift experience. Read on for more details and other highlights from this release.
Cryostat, a tool for managing JDK Flight Recorder data on Kubernetes, is now integrated with the built-in OAuth server on Red Hat OpenShift as part of the tech preview release of Cryostat 2.1. When logging into Cryostat on OpenShift, you will be redirected to the OpenShift login page and prompted to enter the username and password corresponding to your OpenShift user account. Upon success, you can stay logged in during multiple sessions—for 24 hours by default.
This is the driver part of userspace block driver(ubd driver), the other part is userspace daemon part(ubdsrv)[1].
The two parts communicate by io_uring's IORING_OP_URING_CMD with one shared cmd buffer for storing io command, and the buffer is read only for ubdsrv, each io command is indexed by io request tag directly, and is written by ubd driver.
For example, when one READ io request is submitted to ubd block driver, ubd driver stores the io command into cmd buffer first, then completes one IORING_OP_URING_CMD for notifying ubdsrv, and the URING_CMD is issued to ubd driver beforehand by ubdsrv for getting notification of any new io request, and each URING_CMD is associated with one io request by tag.
After ubdsrv gets the io command, it translates and handles the ubd io request, such as, for the ubd-loop target, ubdsrv translates the request into same request on another file or disk, like the kernel loop block driver. In ubdsrv's implementation, the io is still handled by io_uring, and share same ring with IORING_OP_URING_CMD command. When the target io request is done, the same IORING_OP_URING_CMD is issued to ubd driver for both committing io request result and getting future notification of new io request.
When the Formula One grand prix went to Hungary, they faced a big problem: prostitution was illegal. This is a challenge for events with a predominantly male audience. Hungary changed their laws and even constructed Erotik Camping zones for diversity purposes.
We already exposed the segregated accommodation at DebConf22 and now we will penetrate deeper into the issue.
The last DebConf in Europe was DebConf16 in Heidelberg, Germany. It was the biggest DebConf ever with over 700 participants. Participants attend between one and two weeks, up to 17 or 18 days for some people. Participation is over 98 percent male.
DebConf Kosovo originally planned to be in the capital city, Prishtina. The organizers subsequently decided to move it to a much smaller city, Prizren. The main reason for this move is to be inaccessible.
Debian has banned people like Linus Torvalds. They want to have DebConf concealed within the walls and gates of a former military base just in case Linus or any other censored speaker decides to show up.
This is going to interest a lot of people... EasyOS built with Debian DEB packages has the advantage of access to a huge repository. There was an "Easy Buster", now retired, and all effort since then has been on "Easy Dunfell" which is built with packages compiled in OE. The Dunfell-series is "lean and mean", that is, small and optimized; however, the package repository is small.
So I thought why not, let's have a play building Easy from Debian Bookworm packages. Bookworm is the "testing" branch of Debian, not scheduled for release until around mid-2023. It won't even reach "feature freeze" until Jan/Feb 2023. No problem, we can get in early.
 Linux is one of the most popular open-source operating systems out there. Every year there is a massive growth in the Linux userbase. The rapid popularity that Linux has seen in recent years is because this operating system is powerful and offers extensive functionality and privacy.
Unlike other operating systems such as Windows, Linux is less resource hungry, lighter, and has fewer vulnerabilities and bugs. Thanks to its open-source nature, the Linux community has come together to build numerous customizable distros.
Heads up! The OpenInfra Summit Berlin is coming!!! After the difficult pandemic times, the OpenInfra Summit is finally back. This year the event will take place in Berlin, Germany in June, 7-9. As usual, Canonical will be there to share the latest news about Linux, OpenStack, Kubernetes and Infrastructure (LOKI).
Today I’ve got an exciting package to share with you, it’s the new Turing Pi 2 which the guys at Turing Machines have sent me to try out and share with you. So a big thanks to them for making this project possible.
This is the successor to the original Turing Pi, and if you’re wondering what a Turing Pi is, it’s essentially an all-in-one solution for creating a compact Raspberry Pi cluster, without the hassle of sourcing power supplies, cables and network adaptors, and then finding a way to connect them together. Something that I know all too well from my last cluster build.
Elon Musk has made the news for spending billions to buy a share of Twitter for the alleged purpose of providing free speech. The problem with this claim is that having any company controlling a large portion of the world’s communication is inherently bad for free speech. The same applies for Facebook, but that’s not a hot news item at the moment.
If Elon wanted to provide free speech he would want to have decentralised messaging systems so that someone who breaks rules on one platform could find another with different rules. Among other things free speech ideally permits people to debate issues with residents of another country on issues related to different laws. If advocates for the Russian government get kicked off Twitter as part of the American sanctions against Russia then American citizens can’t debate the issue with Russian citizens via Twitter. Mastodon is one example of a federated competitor to Twitter [1]. With a federated messaging system each host could make independent decisions about interpretation of sanctions. Someone who used a Mastodon instance based in the US could get a second account in another country if they wanted to communicate with people in countries that are sanctioned by the US.
As a contribution to a consultation organised by the European telecom regulator, BEREC, the FSFE calls for increasing the level of digital sustainability in the telecommunications sector by safeguarding device neutrality and establishing the right to install any software on any device.
Last month BEREC, the European telecommunications regulator, organised a public consultation on a report about the impact of the telecommunications sector on the environment. The report is an initiative to assess and better understand the impact of the digital sector, including electronic communications networks and services, on the environment and to set an outline for BEREC activities in support of environmental sustainability of the sector.
The FSFE took part in the consultation as a civil society stakeholder with years of experience in digital sustainability. Our position offered recommendations that could be further used to improve environmental transparency and data accuracy on the telecom sector’s environmental footprint by developing regulatory frameworks to safeguard and promote software and hardware sustainability. FSFE's position in this consultation was aligned with the publication of the Open Letter "The universal right to install any software on any device", co-signed by more than 45 organisations, demanding the universal right to install any software on any device. Publication of source code of drivers, tools, and interfaces is fundamental for extending devices’ lifespan.
Meilisearch is a powerful, fast, open-source, easy to use and deploy search engine. Both searching and indexing are highly customizable. Features such as typo-tolerance, filters, and synonyms are provided out-of-the-box.
This year, 2022, May the 4th was my last day at Mozilla.
[...]
I started on July 2, 2013 on a 6 months contract at Mozilla to work on Firefox OS on Web Compatibility issues. I was living in Montréal, Canada at the time.
[...]
I was not alone. The success of a project never relies on a single individual, but a full team of people dedicated to make this mission a reality. At the very beginning, we were three coming from Opera Software, we all had an experience on Web compatibility issues: Mike Taylor, Hallvord R.M. Steen and me. Then Adam Stevenson joined. None of the initial team is still at Mozilla. I miss working with Eric Tsai too. Some people (open contributors) have also participated to the project like Abdul Rauf, Alexa Roman, Kate Manning, Guillaume Demesy, Reinhart Previano.
webcompat.com was setup on purpose without Mozilla branding to invite the participation of all browser implementers (Apple, Google, Microsoft, Opera, etc.) on solving issues resulting from website mistakes or interoperability issues. Mozilla put the main effort into it and in return webcompat.com helped Mozilla and Firefox Core team to fix a lot of issues.
[...]
Emilio Cobos ÃÂlvarez, Daniel Holbert, Jonathan Kew, Masayuki Nakano, Makoto Kato, Brian Birtles, Boris Zbarsky, Hiroyuki Hikezoe, Botond Ballo, Olli Pettay, Henri Sivonen, Anne van Kesteren, Ting-Yu Lin, Cameron McCormack. These lists are dangerous, I keep forgetting people.
I could talk about all the things which have been solved around text input, CSS flexbox, JavaScript features, DOM and SVG, … but this starts to be long.
 "Getting involved" with open source can seem a little confusing. Where do you go to get started? What if you don't know how to code? Who do you talk to? How does anybody know that you have contributed, and besides that does anybody care?
There are actually answers to questions like those (your choice, it's OK, nobody, you tell them, yes) but during the month of May 2022, there's one simple answer: LibreOffice. This month is a month of participation at LibreOffice and its governing body, The Document Foundation. They're inviting contributors of all sorts to help in any of six different ways, and only one of those has anything at all to do with code. No matter what your skill, you can probably find a way to help the world's greatest office suite.
Docusaurus is an easy-to-use, open-source document generator for freelancers, developers, teams, and enterprises.
Docusaurus is a static-site generator. It builds a single-page application with fast client-side navigation, leveraging the full power of React to make your site interactive. It provides out-of-the-box documentation features but can be used to create any kind of site (personal website, product, blog, marketing landing pages, etc).
Using ready-made software speeds up development. The use of open-source software (OSS) however is not free. Using open source comes with obligations and risks, which carry a cost.
Reading strings in C used to be a very dangerous thing to do. When reading input from the user, programmers might be tempted to use the gets function from the C Standard Library. The usage for gets is simple enough:
char *gets(char *string);
That is, gets reads data from standard input, and stores the result in a string variable. Using gets returns a pointer to the string, or the value NULL if nothing was read.
[...]
Note that the string includes the delimiter character. For getline, the delimiter is the newline, which is why the output has a line feed in there. If you don't want the delimiter in your string value, you can use another function to change the delimiter to a null character in the string.
With getline, programmers can safely avoid one of the common pitfalls of C programming. You can never tell what data your user might try to enter, which is why using gets is unsafe, and fgets is awkward. Instead, getline offers a more flexible way to read user data into your program without breaking the system.
I was born in 1982, which in human years is only 40 years in the past (at the time of writing). In terms of computer development, it's eons ago. I got my first computer, a Commodore 64, when I was ten years old. Later, I got an Amiga, and by 13 I got an "IBM Compatible" (that's what they were called, then) PC.
In high school, I did a lot basic programming on my graphing calculator. In my second year of high school, I learned basic C programming, and in my third year I started doing more advanced C programming, using libraries, pointers, and graphics.
The old proverb "may you live in interesting times" has been going through my mind for the past couple years, and more often in the past few months. Between pandemics, historic economic crashes, bull runs, and crashes again, war, climate change, record breaking weather, the ever encroaching threat of climate change, and the general apparent downward spiral of American society in general, it's hard to find anything to be optimistic about.
A tea made up from the parts of different teas.
Security updates have been issued by Debian (kicad and qemu), Fedora (thunderbird), Oracle (expat), Red Hat (samba), Slackware (kernel), and SUSE (firefox, ldb, and rsyslog).
This round of commitments is led by two new premier members, Atlassian and Sonatype, who will join the OpenSSF governing board. New general member commitments come from Arnica, Bloomberg, Comcast, Cycode, F5 Networks, Futurewei Technologies, Legit Security, Sectrend, SUSE, and Tenable.
In the last #PrivacyofthePeople post, we looked at the conflict between efficiency and privacy posed by the use of cookies that raise concerns about user privacy and data collection. In this post, we plan to examine whether the police can check your mobile phone devices even if you do not consent to it. Presently, there is no legal provision which would allow for such random checking of mobile phones. However, since the law is still trying to catch up to regulating new technology, old laws are being interpreted widely to allow police officials to gain access to our devices. Here, even the pending Data Protection Bill, 2021 (in its present form) fails to provide sufficient safeguards.