Language Selection

English French German Italian Portuguese Spanish


PHP 8.0 Released

Filed under

PHP 8.0 is a major update of the PHP language. It contains many new features and optimizations including named arguments, union types, attributes, constructor property promotion, match expression, nullsafe operator, JIT, and improvements in the type system, error handling, and consistency.

Read more

Also: PHP 8.0 Officially Released With Many Language Additions, Better Performance

The Few, the Tired, the Open Source Coders

Filed under

Sometimes open source coders simply walk away: Let someone else deal with this crap. Studies suggest that about 9.5 percent of all open source code is abandoned, and a quarter is probably close to being so. This can be dangerous: If code isn't regularly updated, it risks causing havoc if someone later relies on it. Worse, abandoned code can be hijacked for ill use. Two years ago, the pseudonymous coder right9ctrl took over a piece of open source code that was used by bitcoin firms—and then rewrote it to try to steal cryptocurrency.

No one's quite sure what to do about open source burnout, but some think finding money for the coders might help. Programmer Ashley Williams is a member of the team creating the open source language Rust, and they're trying to set up a foundation to support core contributors, or get firms to keep contributors on staff. (Some of the largest open source projects thrive in precisely this fashion; firms like Facebook or Google pay some employees to work full-time on open source code.) Eghbal thinks subscriptions could offer new ways to pay for the work. Others worry that injecting pay can deform how and why the work is done in the first place.

But we need to rethink the very idea of what crowdsourcing is capable of—and understand that it is perhaps more limited than promised. The open source revolution has been carried on the backs of some very weary people.

Read more

Also: Good News: Academics Can Make Their Articles Published In Top Journal Nature Freely Available As Open Access. Bad News: They Must Pay $11,000 For Each One

Qt Desktop Days Outline/Talks

Filed under
  • Qt Desktop Days – Day 1 - KDAB

    If you missed Qt Desktop Days, you might be wondering what you missed. No need to worry! We’re going to give you a day-by-day summary of some of the cool things that were discussed, demoed, and explained. (We’re uploading all of the videos to our YouTube channel, but we’ll provide the direct links to each talk here as well.)

  • Qt Desktop Days - Day 2 - KDAB

    The first session on day 2 was from Nyall Dawson who works for North Road but who is also a significant contributor to QGIS, the largest open-source GIS program in the world. Nyall explains why Qt is an awesome fit for this massive desktop application, and why he believes that Qt is partly responsible for its longevity and success. To understand exactly why QGIS is such a beast (over 1.5 million lines of code and over 500 code contributors), he explains what a GIS system is expected to do, like consuming and creating spatial data, creating high-impact and professionally designed maps, and doing geographical analysis – all with multiple coordinates, projects, and extreme accuracy.


    Bluescape is a company that creates collaborative, multi-screen, multi-touch whiteboards – some pretty “Minority Report” type of stuff. Bluescape’s Romain Pokrzywka joined us to talk about how to really wrangle touch and pen input, and how to develop applications that need to live equally well across mouse and keyboard desktop, touch screen laptops, tablets, and mobile devices.

    Romain talks about the specifics of Qt multi-touch and pen support in both C++ and QML, gives us some of his hard-learned lessons about how to best develop applications that merge these features, and shares his tips and tricks on what works best (like what to do with those non-conformist mouse wheels). He also discusses what’s coming down the pike for Qt 6 when it comes to input API changes, including some long overdue changes.

  • Qt Desktop Days - Day 3 - KDAB

    If you’re building a desktop application today, should you consider building the UI with Qt Quick? That’s the question that KDABian Shantanu Tushar answers in this session. He walks us through the pros and cons of Qt Widgets versus Qt Quick, and explains that although there are still plenty of good reasons to use widgets, there are a lot of advantages that you’re missing if you dismiss a QML-based desktop app out-of-hand.

    But desktop apps aren’t the same as mobile ones, and having implemented many desktop applications in QML, Shantanu knows what works and what doesn’t. He explains how desktop apps are often more complex than mobile, and how he manages to tame QML complexity with imports, assets, and namespaces. He also covers issues that desktop developers need to handle such as screen layout trade-offs and styling to match native controls. Shantanu also gives us real-life examples of why and how to mix designer screens and implementation screens in the same application. If you’re thinking about going down the QML route with your app, you should really watch this talk before you begin.

  • Qt Desktop Days – Day 4 - KDAB

    If you need to play the widest variety of audio, video, or streaming formats on the planet, you probably know about VLC (the “cone player”). But did you know that VLC uses Qt? They didn’t always. Hear the history of this interesting project from Jean-Baptiste Kempf, one of the lead developers on VLC, a project started by rebellious French university students over two decades ago that is still going strong today.

    We learn from Jean-Baptiste some interesting platform constraints of the VLC project (like unbelievably, they still support OS/2!), and how their abstraction architecture has been able to grow and thrive without software bloat despite years of changing software, multiple new platforms, and loads of new features. We also learn what factors drove the switch from wxWidgets to Qt and what the team did to keep their high-performance video codecs working smoothly in their upcoming port from Qt4 to Qt5. If you’re tackling your own open-source project, the dynamic success of VLC as delivered by Jean-Baptiste might be just the inspiration you need.

Programming/Development Leftovers

Filed under

  • PHP 8.0 Ready To Ship With Many New Features, Even Better Performance - Phoronix

    PHP 8.0 is scheduled for release tomorrow on the US Thanksgiving day. PHP 8.0 brings with it many new language features on top of the opt-in JIT compiler support. Here is a look at some of the PHP 8.0 changes along with a quick look at the near final performance of PHP 8.0 on an AMD EPYC Linux server.

    PHP 8.0 is a very worthy successor to last year's PHP 7.4. Besides the JIT compiler there is a ton of work incorporated into this big version bump. Among the PHP 8.0 highlights are:

    - PHP8 introduces the much anticipated Just In Time (JIT) compiler for further enhancing the speed of PHP scripts. More details on PHP's JIT compiler via this Wiki page.

  • Going from Android LinearLayout to CSS flexbox

    Are you an Android developer looking to learn web development? I find it easier to learn a new technology stack by comparing it to a stack I’m already familiar with. Android developers can layout views using the simple yet flexible LinearLayout class. The web platform has similar tools to layout elements using CSS, and some concepts are shared. Here’s some tips to learn web development using your Android knowledge.

  • Software Diagrams Aren’t Always Correct and That’s OK

    Concretely, software is just bits in electronic storage that control and/or are manipulated by processors. Abstractions are the building blocks that enable humans to design and build complex software systems out of bits. Abstractions are products of out minds—they allow us to assign meaning to clusters (some large, some small) of bits. They allow us to build software systems without thinking about billions of bits or how processors work.

    We manifest some useful and generally simple abstractions (instructions, statements, functions, classes, modules, etc.) as “code” using other abstractions we call “languages.” Languages give us a common vocabulary for us to communicate about those abstract building blocks and to produce the corresponding bits. There are many useful tools that can and should be created to help us understand the code-level operation of a system.

    But most systems we build today are too complex to be fully understood at the level of code. In designing them we must use higher-level abstractions to conceptualize, compose, and organize code. Abstract machines, frameworks, patterns, roles, stereotypes, heuristics, constraints, etc. are examples of such higher-level abstractions.

    The languages we commonly use provide few, if any, mechanisms for directly identifying such higher-level abstractions. These abstractions may manifest as naming or other coding conventions but recognizing them as such depends upon a pre-existing shared understanding between the writer and readers of the code.

  • How to Convert Integer into String in Python | Linuxize

    Python has several built-in data types. Sometimes, when writing Python code, you might need to convert one data type to another. For example, concatenate a string and integer, first, you’ll need to convert the integer into a string.

  • How To Install PyCharm on Debian 10

    In this tutorial, we will show you how to install PyCharm on Debian 10. For those of you who didn’t know, PyCharm is an intelligent and fully-featured IDE for Python developed by JetBrains. It also provides support for Javascript, Typescript, and CSS, etc. You can also extend PyCharm features by using plugins. By using PyCharm plugins you can also get support for frameworks like Django, Flask. We can also use PyCharm for other programming languages like HTML, SQL, Javascript, CSS, and more.

    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 through the step by step installation of PyCharm on a Debian 10 (Buster).

  • This Week in Rust 366

Programming: Qt and Perl

Filed under
  • Qt 6.0 RC1 Takes Flight - Qt 6.0 Should Be Here By Mid-December - Phoronix

    The Qt Company has just announced Qt 6.0 Release Candidate 1 as what should be the second to the last test build ahead of the big Qt 6.0 toolkit release next month.

    Qt 6.0 Release Candidate 1 has the latest batch of bug/regression fixes to the Qt6 code-base. The very basic Qt 6.0 RC1 release announcement can be read on the Qt development list.

  • Porting from Qt 5 to Qt 6 using Qt5Compat library

    Porting from Qt 5 to Qt 6 has been intentionally kept easy. There has been a conscious effort throughout the development of Qt 6 to maintain as much source compatibility with Qt 5 as possible. Still, some effort is involved in porting. This short post summarizes some of the steps required when porting to Qt 6.

    In Qt 5 some of the classes already had existing replacements, and some classes got successors during the Qt 6 development phase. Therefore it might make sense to be able to compile your code with both the old and new Qt version. This can ensure that the amount of work where your code does not compile with either version is minimized, allowing your application or library to continue to work with Qt 5 and Qt 6. Another advantage could be that existing unit tests continue to work for most of the duration of porting, and regressions resulting from porting your code are easily distinguished from bugs introduced in Qt 6.

  • Perl Weekly Challenge 88: Array of Products and Spiral Matrices

    These are some answers to the Week 88 of the Perl Weekly Challenge organized by Mohammad S. Anwar.

  • The new rules for Perl governance

    The process of adopting a new governance model for the Perl project appears to be reaching an end; the new model is designed to look a lot like the one adopted by the Python project

Programming/Development Leftovers

Filed under
  • Get started with Fossil, an alternative to Git

    As any programmer knows, there are many reasons it's vital to keep track of code changes. Sometimes you just want a history of how your project started and evolved, as a matter of curiosity or education. Other times, you want to enable other coders to contribute to your project, and you need a reliable way to merge disparate parts. And more critically, sometimes an adjustment you make to fix one problem breaks something else that was working.

  • Booting from a vinyl record

    Most PCs tend to boot from a primary media storage, be it a hard disk drive, or a solid-state drive, perhaps from a network, or – if all else fails – the USB stick or the boot DVD comes to the rescue… Fun, eh? Boring! Why don’t we try to boot from a record player for a change?

  • Python Namedtuple – Linux Hint

    Python comes up with many built-in data structures like lists, dictionaries, and tuples to store and manage the data efficiently. The namedtuple is the dictionary-like container available in the “collections” module. Similar to the dictionaries, the namedtuple also contains the keys that are mapped to values. However, the namedtuple allows accessing the values through keys and as well as through indexes. As compared to the Python dictionaries, accessing the values through indexes is the additional functionality in namedtuple. This article explains the Python namedtuple in detail with examples.

  • Python OrderedDict – Linux Hint

    Data structures are the essential components of any programming language that store and manage the data efficiently. Python provides many built-in data structures, i.e., lists, tuples, and dictionaries, that help the programmers to create efficient applications. The Python dictionaries store the data in key-value pairs. The OrderedDict is the subclass of the dict class and maintains the order of the keys in which were inserted in. This is the one and the only difference between the dict and OrderDict. The dict does not maintain the key’s order.

    The OrderedDict keeps the order of keys insertion, and when we iterate through the OrderedDict, then it returns the keys in the same order. On the other hand, when the iteration is performed on dict, the keys are returned in random order. However, the dictionaries are now ordered in Python 3.6 and above versions and return the values in the same order as they are inserted. The OrderedDict class exists in the collections module. Therefore, to use the OrderedDict class, first, import the collections module. This article explains the Python OrderedDict in detail with examples.

  • Python Yield – Linux Hint

    Yield is a Python built-in keyword that returns the value(s) from a function. The execution of the function is not terminated. Rather, it returns the value to the caller and maintains the execution state of the function. The execution of the function is resumed from the last yield statement. The yield allows us to produce a sequence of values rather than one value. It is used inside a function body. The function that contains a yield statement is known as the generator function.

    There are several advantages to yield keyword. For instance, it controls the memory allocation and saves the local variable state. However, it increases the complexity of the code.

  • Python defaultdict – Linux Hint

    Python offers many built-in data structures, such as lists, tuples, and dictionaries, to save and manage data efficiently. Dictionaries provide an easy way to save data as key-value pairs. A key acts as an index and is used to retrieve data. Keys should be unique and immutable throughout the dictionary. Keys are mostly strings and integers, though the value of a key could be of any type, such as an integer, string, floating-point number, or complex number. Meanwhile, a dictionary can contain a collection, such as a list, tuple, or some other type of dictionary. A dictionary in Python is created using a pair of curly brackets, in which each key-value pair is separated by a comma.

    What if you try to access or modify a specific key in a dictionary that does not exist? Well, in this case, the Python interpreter will raise the “KeyError” error and terminate the execution of the program.

  • How to Add Command Line Arguments to a Python Script – Linux Hint

    If you have developed a Python script or application meant to be primarily run in terminal emulators or even GUI apps, adding command line arguments can improve its useability, code readability, application structure and overall user friendliness of the application for the end users. These command line arguments are also called “options” or “switches” and work similarly to arguments you usually see in bash scripts and other C / C++ based programs.

    To add arguments to Python scripts, you will have to use a built-in module named “argparse”. As the name suggests, it parses command line arguments used while launching a Python script or application. These parsed arguments are also checked by the “argparse” module to ensure that they are of proper “type”. Errors are raised if there are invalid values in arguments.

    Usage of the argparse module can be best understood through examples. Below are some code samples that will get you started with the argparse module.

  • How to stack columns
  • What is Vue.js, and Why is it Cool? – Linux Hint

    Vue.js is a progressive JavaScript framework, which is used to build UIs (User Interfaces) and SPAs (Single-page Applications). This framework is famous for its fast-paced learning curve. It is such an easy to learn and approachable library that with the knowledge of HTML, CSS, and JavaScript, we can start building web applications in Vue.js. The fast learning curve is kind of a signature of this framework. It is a versatile framework for our need as a library or a full-fledged framework for building huge web apps.

    Evan You have created this framework. The idea of Evan You behind this framework is to build the best framework by combining the best features from already existing Angular and react Frameworks. Before building Vue.js, Evan You was working at Google. Inc and worked on Angular based projects. So, he came up with the idea of building his own framework. He picked the best parts of Angular, like template syntax, easy to use, and picked the best parts of React as well, like two-way data binding, the concept of props, component-based approach, and combined them to make a new framework Vue.js better than both of them.

LibreOffice 7.1 - Top New Features and Release Dates

Filed under

The upcoming LibreOffice 7.1 is under development. LibreOffice 7.1 Beta 1 is released just a while back. Here we take a look at the LibreOffice 7.1 top new features and release dates.
Read more

Programming Leftovers

Filed under
  • A beginner's guide to developing with React |

    React is a JavaScript user interface (UI) library that was built and is maintained by Facebook. React helps JavaScript developers think logically and functionally about how they want to build a UI.

  • DOM Recording For Web Application Demos

    To show off the power of our Pernosco debugger, we wanted many short demo videos of the application interface. Regular videos are relatively heavyweight and lossy; we wanted something more like Asciinema, but for our Web application, not just a terminal. So we created DOMRec, a DOM recorder.

  • The 20 Best Kotlin Books for Beginner and Expert Developers

    Here you will find the top Kotlin books that will make it very interesting and almost effortless for you to learn Kotlin.

    Kotlin is a statically composed, universally useful programming language with type deduction. It is also a cross-platform language. Kotlin is intended to engage completely with Java, and Kotlin’s standard library’s JVM variant relies upon the Java Class Library. However, Kotlin’s type of derivation permits its syntax to be more compact and precise. Therefore, it has become quite crucial to learn Kotlin these days. But to learn it in the shortest number of days, a perfect set of Kotlin books is indecipherably important.

    Whether or not to pick Kotlin or Java for new advancement has been coming up a ton in the Android people group since the Google I/O declaration. The short answer is that Kotlin code is more secure and more succinct than Java code and that Kotlin and Java records can coincide in Android applications, so Kotlin isn’t just valuable for new applications but also for growing existing Java applications as well.

  • What the Error Handling Project Group is Working On

    The Rust community takes its error handling seriously. There’s already a strong culture in place for emphasizing helpful error handling and reporting, with multiple libraries each offering their own take (see Jane Lusby’s thorough survey of Rust error handling/reporting libraries).

    But there’s still room for improvement. The main focus of the group is carrying on error handling-related work that was in progress before the group's formation. To that end, we're working on systematically addressing error handling-related issues, as well as eliminating blockers that are holding up stalled RFCs.

    Our first few meetings saw us setting a number of short- and long-term goals. These goals fall into one of three themes: making the Error trait more universally accessible, improving error handling ergonomics, and authoring additional learning resources.

  • How to collect Rust source-based code coverage

    Source-based code coverage was recently introduced in Rust. It is more precise than the gcov-based coverage, with fewer workarounds needed. Its only drawback is that it makes the profiled program slower than with gcov-based coverage.

    In this post, I will show you a simple example on how to set up source-based coverage on a Rust project, and how to generate a report using grcov (in a readable format or in a JSON format which can be parsed to generate custom reports or upload results to Coveralls/Codecov).

GTK: At the Heart of GNOME

Filed under

GTK is at the heart of the GNOME application and software development kit. GTK is used to create graphical user interfaces (GUIs) for desktop environments, applications, and window managers. Since the GTK 4 development process began in 2016, we have about 250 individual contributors, with more than 100 active this year.

Thanks to the funding received by the GNOME Foundation in 2020, the GTK development team was able to run hackfests, including one we were lucky enough to have at FOSDEM. This funding also supported Emmanuele Bassi, Core GTK Developer at the GNOME Foundation, working on GTK full-time. For most of 2020, Emmanuele worked on implementing a new accessibility interface for GTK 4, to ensure that more people can use GNOME applications, including those with disabilities. We are building a diverse and sustainable free software computing ecosystem where everyone can be empowered by technology they trust. Since Emmanuele works directly for the Foundation he’s uniquely able to focus on the needs of the community, project, and users to support these goals.

GTK is a project with a long history, and throughout that history, it has gone through multiple iterations. A new major release is on the horizon. After four years of development that included a complete overhaul of the internals of the toolkit, GTK 4 promises to be faster through hardware acceleration; more efficient, in terms of performance and power consumption; and more ergonomic, for both application developers, and end users. Over the past four years, the GTK team has continued work on the existing stable versions of GTK and put out multiple releases.

Read more

Also: GTK Planning More Improvements In 2021 From Better Accessibility To Animation Framework

Programming Leftovers

Filed under
  • 6 predictions for JavaScript build tools |

    Code used in production is different from development code. In production, you need to build packages that run fast, manage dependencies, automate tasks, load external modules, and more. JavaScript tools that make it possible to turn development code into production code are called build tools.

  • The mysterious case of the SVt_PVIV | The Incredible Journey

    The other day I wanted to send my friend some silly emojis on LINE and so I updated my flaky old Unicode browser to the new-fangled Unicode with values above 0x10000, so that I could fetch the Emojis, which start around here. The thing also features a perl script which fetches values from Unicode::UCD using the charinfo function. I also updated to Perl 5.32 around the same time. Now the funny thing was that I started getting all kinds of errors about invalid JSON in the browser console. My Perl script was sending something of the form {... "script":Common ...} from my module JSON::Create, which is not valid JSON due to not having quotes around Common, and obviously my module was faulty.

  • JSON::Create now features indentation | The Incredible Journey

    In version 0.27 of JSON::Create I added a new indentation feature. This was added basically out of necessity. Originally the purpose of the module was sending short bits of JSON over the internet, but I've been using JSON more and more for processing data too. I've spent quite a long time working on a web site for recognition of Chinese, and I've been using JSON more and more extensively. The basic data file for the web site is a 168 megabyte JSON file. Not indenting this kind of file makes for "interesting" problems if one accidentally opens it in an editor or on a terminal screen, a million characters all on one line tends to confuse the best-written text reading utilities. So after years of suffering the relief is tremendous, and now I have tab-based indentation in JSON::Create.

  • Python Convert String to Int - Python Examples – TecAdmin

    Its a common uses of type conversion in any programming language. Python also provides inbuilt methods for type conversion. This tutorial will help to convert a string value to integer value with Python.

Syndicate content

More in Tux Machines

TUXEDO Computers Enables Full Linux Support on the Intel-TongFang QC7 Gaming Laptop

At the request of numerous users, TUXEDO Computers is now providing the necessary drivers and software needed to enable full Linux support on the Intel-TongFang QC7 reference gaming laptop, which is the base of several laptops available for purchase in stores across Europe and the US. Some well known brands include the Aftershock / LEVEL51 Vapor 15 Pro, Eluktronics MAG-15, MAINGEAR ELEMENT, and XMG FUSION 15, the latter being now offered by TUXEDO Computers on their online store fully configurable and pre-installed with the company's in-house built, Ubuntu-based TUXEDO_OS. Read more

Red Hat/Fedora: Cockpit, WHO, DarwinAI and Emmanuel Bernard.

  • Cockpit 233 — Cockpit Project

    Cockpit is the modern Linux admin interface. We release regularly. Here are the release notes from Cockpit version 233.

  • World Health Organization Embraces Open Source Technologies to Assist Healthcare Workers

    Red Hat, Inc., the world's leading provider of open source solutions, today announced it is working with the World Health Organization (WHO), the specialized agency of the United Nations responsible for international public health, to create a sustainable open source development infrastructure to support the development of the Learning Experience Platform (LXP) for the WHO Academy, the organization’s new state-of-the-art training center.

  • DarwinAI and Red Hat Team Up to Bring COVID-Net Radiography Screening AI to Hospitals, Using Underlying Technology from Boston Children’s Hospital

    DarwinAI, the explainable artificial intelligence (XAI) company, and Red Hat, the world’s leading provider of open source solutions, today announced a collaboration to accelerate the deployment of COVID-Net—a suite of deep neural networks for COVID-19 detection and risk stratification via chest radiography—to hospitals and other healthcare facilities. DarwinAI and Red Hat are also leveraging the expertise of a computation research group, the Fetal Neonatal Neuroimaging and Developmental Science Center (FNNDSC) at Boston Children's Hospital to better focus the software for real world clinical and research use.

  • Emmanuel Bernard fell into open-source

    Hello, and welcome to developer's journey, the podcast, bringing you the making of stories of successful software developers to help you on your upcoming journey. My name is Tim Bourguignon, and on this episode 127, I receive Emmanuel Bernard. Emmanuel is a Java champion, Distinguished Engineer, Chief Architect for RedHat, open source contributor to the Java standards, public speaker, community leader, and among others, the host of the podcast, The Cast Coders. Emmanuel, welcome to DevJourney.

Kernel Space: Systemd, OpenZFS, AMDGPU Driver

  • Systemd 247 Released With Experimental Out-of-Memory Daemon, New Credentials Capability - Phoronix

    Systemd 247 is out today as the latest major version of this Linux init system. Like most systemd releases, systemd 247 is very heavy on new features.  Systemd 247 most notably introduces the still-experimental systemd-oomd as the out-of-memory daemon with that Linux OOMD code originally developed by Facebook and later adopted for desktop use-cases. Once stabilized, the goal of systemd-oomd is for improving the behavior when the Linux system is low on memory / under memory pressure.  Beyond systemd-oomd, systemd 247 now defaults to using Btrfs with systemd-homed and other enhancements as outlined below. 

  • OpenZFS 2.0-RC7 Brings Better ABI Handling, Reduced Latency For Non-Interactive I/O - Phoronix

    OpenZFS 2.0 is getting quite close to release but isn't over the finish line yet and this week brings the seventh release candidate.  OpenZFS 2.0-RC7 is lighter than some of the past release candidates so it looks like work may be winding down. OpenZFS 2.0 is a big release with Zstd compression, mainlined FreeBSD support, various performance improvements, sequential resilvering, persistent L2ARC support, and many other changes. 

  • AMD Stages More Driver Updates For New GPUs With Linux 5.11 - Phoronix

    While the Radeon RX 6800 series is now shipping that was developed under the Sienna Cichlid codename, there are other fishy codenames remaining and are seeing more work for the Linux 5.11 kernel that will officially open development in December and then likely reaching stable in February.  AMD on Wednesday sent out more AMDGPU kernel driver updates for Navy Flounder and Dimgrey Cavefish. Navy and Dimgrey are for unreleased AMD Radeon products that appear to be for additional RDNA 2 / Radeon RX 6000 series parts. Nothing too notable with the latest batch of updates, just more enablement churn and more device IDs added in. 

today's howtos

  • How to install Mageia Linux

    Mageia is an RPM-based Linux operating system forked from the famous French Linux distribution Mandriva. It is an open-source operating system and is an excellent option for using Linux the RPM way. In this guide, we’ll show you how to install the operating system on your computer.

  • How to free up RAM on Linux

    Are you running out of usable memory on your Linux PC? Are you trying to free up RAM space but don’t know how to do it? We can help! Follow along as we go over how to free up RAM on Linux!

  • [Older] How to monitor network activity on a Linux system -

    In this article we learn how to monitor network activity on Linux.

  • How to Disable Your Webcam in Ubuntu?

    Find out these simple methods to disable webcam in Ubuntu. We can stop the webcam driver to load in Linux OS by modifying the configuration file.

  • How to install Code Blocks on Ubuntu 20.04 - YouTube

    In this video, we are looking at how to install Code Blocks on Ubuntu 20.04. Enjoy! For the command and more, look here: