Language Selection

English French German Italian Portuguese Spanish

January 2021

Audiocasts/Shows: Linux Action News, This Week in Linux, Firenvim

Filed under
GNU
Linux
  • Linux Action News 174

    Google removes Matrix chat-client Element from the Play store, sudo has a major flaw with a long-tail, and Rocky Linux gets a boost.

  • This Week in Linux 136: Linux Sudo Bug, KDE Plasma 5.21, Tails OS, Firefox 85, Ubuntu + Wayland | This Week in Linux - TuxDigital

    On this episode of This Week in Linux, we’re going to talk about the pretty nasty bug discovered in the Sudo tool which has been named “Baron Samedit”. We’ve got some distro news to discuss for Ubuntu 21.04 and Tails OS. Then we’ll check out some news in the desktop environment space from KDE Plasma and CDE, the Common Desktop Environment of all things. In App news, we’ll check out the latest releases of Mozilla Firefox, Xfce’s Thunar file manager and another browser called qutebrowser. Cute with a “Q” naturally. We’ll take a look at the excite plans UBports has for Ubuntu Touch in 2021. All that and much more on Your Weekly Source for Linux GNews!

  • Firenvim: Embed Neovim Into Every Textbox - YouTube

    Vim emulation is tolerable but I'll always take full vim instead and that's where Firenvim comes in, this let's us embed neovim into our Firefox or Chromium and turn every single text box we see into a full instance of neovim with all your configurations included.

hRPC and why we moved away from gRPC

Filed under
Software

gRPC has a very, very big flaw for publically facing services: streams play awfully with reverse proxies like nginx, as they're essentially HTTP2 requests that aren't closed. This causes proxies to be like “hmmm this is a slow loris attack, time to yeet this stream.” For our homeserver at https://harmonyapp.io, this means we had to configure nginx to be ok with requests taking an entire hour. Any streams would always terminate at exactly 60 minutes. To be fair to gRPC, there's a dedicated HTTP2 streams thing being worked on that would allow reverse proxies like nginx to play nice with it, but unfortunately that's not the case now.

Besides that, gRPC's client libraries, while widely available, range from mediocre to [ censored ] awful. gRPC is a Google product that isn't Go, which means that “error handling” is not a word in its dictionary. This has really bad implications for the C++/Qt client, Challah. Essentially, if anything goes marginally wrong, the client just straight up aborts. There is no way for us to gracefully recover from any errors that originate from the gRPC library. This is terrible for the user experience, as we can't even show a “something is going wrong” page. This is one of the big reasons we're moving away from gRPC: we cannot have our only desktop client be crashing on anything slightly less than perfect network conditions.

That wouldn't be a problem, if making our own implementation of gRPC was easy. Unfortunately, it's not. Remember the part where I said it used low-level HTTP2 a lot? Yeah, that gets very complicated very fast.

Read more

Linux 5.11-rc6

Filed under
Linux

Things look a little calmer than last week, and over-all very average
for rc6. So - like always this late in the release schedule - I'd
certainly have liked things to be even calmer, but nothing here really
stands out.

The diffstat is quite flat, meaning lots of small fixes, with the
exception of one new LED driver, and a flurry of PI futex fixes (and
one nouveau patch that is just a lot of trivial lines).

And all the stats look normal: average number of commits, and they are
all in the usual places, with most of the patch being drivers (gpu,
networking, sound, etc), but we obviously have all the usual suspects
with arch updates, and a smattering of fixes to core code (kernel, mm,
networking, filesystems).

A few known issues still, hopefully soon fixed, and on the whole
things look quite normal apart from some mailing list hiccups..

Go test,

                   Linus

Read more

Also: Linux 5.11-rc6 Released With Itanium Support Now Orphaned

GNU libredwg-0.12.1 released

Filed under
GNU

LibreDWG version 0.12.1 - 2021/01/31 - beta:
Major bugfixes:
* fixed dwg_bmp() and dwgbmp for >= r2004. Wrong dat offset.
* Fixed EED with code 3 for layer handles. (Fixes GH #310, shanzhugit)
* Fixed bit_convert_TU utf8 conversion with ubsan, wrong endian-ness.
Various fuzzing errors detected and fuzzed by Chew Kin Zhong (See GH #304):
* Fix possible null-deref with broken DWG's in dwg_get_first_object.
* Fix possible null-deref with broken DWG's in dwg_find_class with empty
CLASS.dxfname. (GH #309)
* Fix possible null-deref with broken DWG's in dwglayers with empty
LAYER.name. (GH #308)
* Fix short integer overflow in EED checks when decoding malcrafted DWG's,
which also led to encode buffer overflows. (GH #307)
* Fix possible null-derefs with broken DWG's in json export. (GH #306)
* Fix possible null-deref with broken DWG's in dwg_next_entity iterator. (GH #305)
* Fix wrong TFF overflow check for static strings, where we cannot set
the string nor the size. (GH #304)
* Fix heap-overflows and invalid free's when decoding broken 3DSOLID's
in malcrafted DWG's. Only accept version 1 and 2. (GH #304)
Minor features:
* Added string converters with known TU sizes: bit_TU_to_utf8_len, bit_read_TU_len.

Read more

Snaps Are Quite Fantastic, For Some Use Cases

Filed under
Ubuntu

75% of users are still depending on traditional package mangers (APT, DNF… etc) instead of using Snaps or Flatpaks, but this is gradually starting to change, as larger organizations and development communities start to use the latter instead of the former.

Some people like Snaps, some people hate them, which is fine, just like most things in life. However, it is important to balance this love-hate relationship in order to not be biased toward a certain direction, ignoring the other.

Read more

Explore the Best Linux Tools for Web Developer

Filed under
Development
GNU
Linux

Web development is reaching a new high with each passing year with various tools at disposal for web developers. These tools have helped developers develop powerful and popular modern-day web applications like Amazon Prime, Netflix, and AirBnB. End products like these have increased expectations from web developers.

Web development tools can be divided into different categories such as code/text editors, web application frameworks, front-end frameworks, API and testing clouds tools, and web design tools.

Hence, every web developer must have the right web development tools in his toolbox. In this article, we’re going to look at the best Linux tools for web developers.

Read more

Conky system monitor- Widget to view Linux Process, CPU and Memory

Filed under
Software

Conky system monitor is a simple but advanced application to install on a Linux system for getting a Desktop widget with details of the system process, Memory consumption, CPU load, and more…

Users who have shifted from Windows to Linux platforms will always have some Task Manager in the form of a system monitor, however, as we know Linux platforms are full of possibilities, thus you will love Conky. It is a small lightweight and highly configurable Linux system monitor that can show all information in one place in a beautiful widget.

Although running the Conky system monitor is not difficult, the configuration would be easy especially for beginners, but with a little training you can create very nice “system monitors”.

Read more

Taiwins 0.2.9 is out

Filed under
Graphics/Benchmarks

Hi folks,

I would like to announce an 0.2.9 release of Taiwins project. Back in
September 2020, I released the 0.2 version of Taiwins, which was utilising
wlroots for backend handling. I have gone on implementing backend logics
and Laid out most of the ground work. Now Taiwins has a new release and
libtaiwins is releasing with it. Libtaiwins is another alternative to
libweston and wlroots, but GPL licensed. It handles the output and input
devices and offers rendering context for compositing. I implemented some
interesting features like gpu hotplug, and in the future, we will have
vulkan renderer as well.

Apparently I am shamelessly advertising Taiwins here for potential
interested users and developers. But I guess I didn't do a very good job
last time since I am the only developer now. As one man, I think it is as
much as I can push the project right now. I sort have to thank the pandemic
otherwise I would never be able to have this much developing time. This
time, I drafted a feature list [1] of Taiwins for those who are interested.
We also have a Gitter channel if you have any questions. I am sure you will
find tawins is an interesting an unique project.

Cheers to the new year.

Regards,
Xichen

Read more

Also: Taiwins Wayland Compositor Switches From WLROOTS To Its Own Library - Phoronix

today's howtos

Filed under
HowTos
  • Elasticsearch Create Alias – Linux Hint

    Since you are reading a tutorial about Elasticsearch index, the chances are high that I don’t need to dive deep into what Elastisearch is, but a brief reminder will do you no harm.

  • How to Create an ELK Docker Image and Create a Docker Container – Linux Hint

    Docker is one of the best technologies for virtualization and isolated environments for building applications.

    This tutorial will show you how to create a Docker image that integrates Elasticsearch, Kibana, and Logstash. You can then use the image to deploy the ELK stack on any Docker container.

  • How to install Atom text editor on Linux Mint 20.1 - YouTube [Ed: Microsoft owned now, so better to avoid]

    In this video, we are looking at how to install Atom text editor on Linux Mint 20.1.

  • How to Create Elasticsearch Indices – Linux Hint

    Elasticsearch is one part of the popular ELK stack used for log analytics and search. Applications and systems are constantly logging data that can be very useful for troubleshooting and tracking problems. Using the ELK stack, you have the best tools to perform these tasks quickly and very easily.

  • How run Android apps on linux without emulation

    There is a Linux tool that makes it easier for Android applications to run on the open source operating system. Anbox utility is a tool that acts like a bridge between Linux and Android. In this article you will learn how to install and use Android apps on Linux using Anbox.

  • How to play Human: Fall Flat on Linux

    Human: Fall Flat is a platformer puzzle game developed by No Brakes Games and published by Curve Digital. In the game, the player must solve physics-based puzzle games with their character. In this guide, we’ll show you how to play the game on Linux.

  • Monitor Linux Servers with Grafana and Prometheus (node_exporter)

    We are going to install node_exporter and configure Prometheus to monitor Linux servers.

    The node_exporter service is a Prometheus exporter for hardware and OS metrics exposed by Linux kernels.

  • Backup and Restore Elasticsearch Clusters with Snapshots – Linux Hint

    Elasticsearch is all about data, and as you probably already know, data is important—to you and Elasticsearch. However, in as much as both you and Elasticsearch love data, data failures may occur, leading to data loss.

    To help safeguard against data loss, Elasticsearch has various features that allow you to ensure data availability, even in data failure instances.

  • How to Configure An Elasticsearch Index Templates – Linux Hint

    Indices are an essential Elasticsearch feature without which it would probably not function as it does. Although Elasticsearch indices may vary depending on intended use, they tend to share common properties. Given this, it can be tiresome to create similar properties for all indices. Instead, it is much more efficient to create a template we can refer to when creating an index.

    This tutorial will walk you through the ins and outs of Elasticsearch index templates that allow you to define templates or blueprints for common indices. For example, if you are constantly logging data from external sources, you can define a blueprint for all logging indices.

  • How to Install GitScrum in Debian 10 – Linux Hint

    GitScrum is a free, open-source task management tool that you can use to manage projects with ease. GitScrum uses the famous Git platform and Scrum software methodology to allow for more effective team management. This software helps users to track time consumed to perform various tasks and keep a record of projects that users are working on. Users can create multiple projects, keep a record of projects assigned to different users, and even chat in real-time. This article shows you how to install GitScrum in Debian 10.

  • How to indent a source code block in VIM? | LibreByte

    VIM is a powerful editor with a rich ecosystem and many many features it's used by many users around the world in their daily administrations and development tasks.

    This tip is very useful if you want to use VIM (mainly) as your source code editor.

  • Useful Mount Options of the Btrfs Filesystem – Linux Hint

    Like any other filesystems, the Btrfs filesystem also has a lot of mount options that you can use to configure the Btrfs filesystem’s behavior while mounting the filesystem.

    This article will show you how to mount a Btrfs filesystem with your desired mount options. I will explain some of the useful Btrfs mount options as well. So, let’s get started.

  • How to Install JetBrains IntelliJ in Debian – Linux Hint

    JetBrains IntelliJ IDEA is a popular environment for application development. IntelliJ IDEA was developed by JetBrains. JetBrains IntelliJ IDEA contains several built-in tools, including auto code completion, database integration, terminal, inline debugger, and more. The core packages of IntelliJ IDEA support the Groovy, Java, XML, and Kotlin languages. You can also install various plugins to support other programming languages, such as Perl, Python, and Go.

    This article provides a guide for installing JetBrains IntelliJ IDE on your Debian 10 system.

  • How to mount an exFAT drive on Linux

    exFAT is a proprietary filesystem developed by Microsoft, which has been primarily used in Windows and many existing SD cards or USB drives. Compared to FAT32, exFAT offers many improvements in terms of file size limit (significant higher than FAT32's 4GB limit), maximum disk size, maximum number of files, disk allocation performance, timestamp granularity, file name length, etc. Because of these enhancements and good compatibility with Windows and MacOS, exFAT has been used as a default filesystem for many existing high-capacity SD cards (e.g., SDXC) or USB flash drives.

  • How to Install YOURLS on Ubuntu with Nginx and Let’s Encrypt

    In this tutorial, we’re going to show you how to install YOURLS on an Ubuntu 20.04 server with Nginx, MariaDB, PHP, and Let’s Encrypt.

  • How to install Eclipse IDE for Java Developers on a Chromebook

    Today we are looking at how to install Eclipse IDE for Java Developers on a Chromebook. Please follow the video/audio guide as a tutorial where we explain the process step by step and use the commands below.

  • Gentoo Linux Installation Tutorial – Linux Hint

    The installation procedure for Gentoo involves more steps than other distributions. This is intentional so you can control the steps in a more clear way. Using this strategy, you can get started with less than 4GiB of disk and memory of down to 256MiB, 512MiB if you want to use the liveDVD. You also have the opportunity to tweak your system to be as efficient as you can make it. Your first try will be slower if you are not well versed in Linux and all the intricate details, but you can end up with a very lean system.

  • How to Encrypt a Btrfs Filesystem? – Linux Hint

    The Btrfs filesystem-level encryption feature is still not available. But you can use a 3rd party encryption tool like dm-crypt to encrypt the entire storage devices of your Btrfs filesystem.

    In this article, I am going to show you how to encrypt the storage devices added to a Btrfs filesystem with dm-crypt. So, let’s get started.

  • How to Use GameConqueror Cheat Engine in Linux – Linux Hint

    The article covers a guide about using the GameConqueror cheat engine in Linux. Many users who play games on Windows often use the “Cheat Engine” application to modify game parameters and player attributes to enhance the gameplay experience, get over unnecessary grinding, complete speedruns and so on. The Cheat Engine application is not available for Linux, however, another application called “GameConqueror” based on the same concept and features is available for Linux distributions. While GameConqueror is not as advanced as Cheat Engine, it gets the job done and it is the only Cheat Engine for Linux with an easy to use interface.

  • The simplest way to edit PDF files in Linux

    PDF stands for Portable Document Format which is widely used among general users for documentation purpose and its usage is primarily for printing, sharing and for large documents.

    By default, all Linux distributions comes with a PDF viewer, but not ideally with PDF editor like Adobe Acrobat.

    To edit PDF’s, LibreOffice Draw can be used as basic PDF editor which is readily available with most of the Linux distributions, as part of the LibreOffice suite.

    LibreOffice Draw may not be a full-fledged PDF editor but definitely an editor to fulfill our basic requirements with some limitations.

  • How to become a ‘root user’ in Linux?

    root user is a privileged user in Linux, which is similar to an administrator in Windows.

    All kind of administrative operations can be performed using root user privilege hence it is not advisable to provide root access to anyone who does not have much familiarity with Linux environment, which might cause adverse impact on the system.

  • Running PhantomJS in Vagrant

    Some time ago I came across a weird error when trying to run RSpec test suite involving PhantomJS in Vagrant. Here’s the solution.

  • Solving vagrant up's name of domain about to create is already taken

    Creating and destroying virtual machines in Vagrant left and right might get us in trouble. If we reuse the domain name, Vagrant will fail to create it again. Here is how to use virsh if Vagrant won’t help anymore.

Kid3 Audio Tag Editor 3.8.5 Released, How to Install via Ubuntu PPA

Filed under
KDE
Software

The Kid3 audio tagger 3.8.5 was released today as a new bug-fix release which however includes also some minor new features.

Kid3 3.8.5 adds ability to change the language via Settings -> Appearance, though app needs a restart to apply change.

It also brings “Invert Selection” option under Edit menu, command option “config” to query and set configuration options, and script to rewrite all tags of the selected files.

Read more

More in Tux Machines

Now you can make video calls on a PinePhone (but it’s very much a work in progress)

When the PinePhone began shipping to early adopters, it had all the hardware you’d expect from a smartphone, but it lacked the software needed to make some of that hardware work. If you were one of the first people to get your hands on a PinePhone, you had a Linux-friendly phone with a camera that couldn’t be used to take pictures or record video. But over time kernel and app developers got the phone’s front and rear cameras working, and now most Linux distributions for the PinePhone allow you to take pictures (of mediocre quality). One thing you couldn’t do until recently though? Video calls. But now it looks like that’s possible too… soft of. The process looks rather painful at the moment, but it should get better over time. Read more Also: Plasma Mobile tarball release: bugfixes and new releases

A warning about 5.12-rc1

  • A warning about 5.12-rc1
    Hey peeps - some of you may have already noticed that in my public git
    tree, the "v5.12-rc1" tag has magically been renamed to
    "v5.12-rc1-dontuse". It's still the same object, it still says
    "v5.12-rc1" internally, and it is still is signed by me, but the
    user-visible name of the tag has changed.
    
    
    
    
    The reason is fairly straightforward: this merge window, we had a very
    innocuous code cleanup and simplification that raised no red flags at
    all, but had a subtle and very nasty bug in it: swap files stopped
    working right.  And they stopped working in a particularly bad way:
    the offset of the start of the swap file was lost.
    
    
    
    
    Swapping still happened, but it happened to the wrong part of the
    filesystem, with the obvious catastrophic end results.
    
    
    
    
    Now, the good news is even if you do use swap (and hey, that's nowhere
    near as common as it used to be), most people don't use a swap *file*,
    but a separate swap *partition*. And the bug in question really only
    happens for when you have a regular filesystem, and put a file on it
    as a swap.
    
    
    
    
    And, as far as I know, all the normal distributions set things up with
    swap partitions, not files, because honestly, swapfiles tend to be
    slower and have various other complexity issues.
    
    
    
    
    The bad news is that the reason we support swapfiles in the first
    place is that they do end up having some flexibility advantages, and
    so some people do use them for that reason. If so, do not use rc1.
    Thus the renaming of the tag.
    
    
    
    
    Yes, this is very unfortunate, but it really wasn't a very obvious
    bug, and it didn't even show up in normal testing, exactly because
    swapfiles just aren't normal. So I'm not blaming the developers in
    question, and it also wasn't due to the odd timing of the merge
    window, it was just simply an unusually nasty bug that did get caught
    and is fixed in the current tree.
    
    
    
    
    But I want everybody to be aware of because _if_ it bites you, it
    bites you hard, and you can end up with a filesystem that is
    essentially overwritten by random swap data. This is what we in the
    industry call "double ungood".
    
    
    
    
    Now, there's a couple of additional reasons for me writing this note
    other than just "don't run 5.12-rc1 if you use a swapfile". Because
    it's more than just "ok, we all know the merge window is when all the
    new scary code gets merged, and rc1 can be a bit scary and not work
    for everybody". Yes, rc1 tends to be buggier than later rc's, we are
    all used to that, but honestly, most of the time the bugs are much
    smaller annoyances than this time.
    
    
    
    
    And in fact, most of our rc1 releases have been so solid over the
    years that people may have forgotten that "yeah, this is all the new
    code that can have nasty bugs in it".
    
    
    
    
    One additional reason for this note is that I want to not just warn
    people to not run this if you have a swapfile - even if you are
    personally not impacted (like I am, and probably most people are -
    swap partitions all around) - I want to make sure that nobody starts
    new topic branches using that 5.12-rc1 tag. I know a few developers
    tend to go "Ok, rc1 is out, I got all my development work into this
    merge window, I will now fast-forward to rc1 and use that as a base
    for the next release". Don't do it this time. It may work perfectly
    well for you because you have the common partition setup, but it can
    end up being a horrible base for anybody else that might end up
    bisecting into that area.
    
    
    
    
    And the *final* reason I want to just note this is a purely git
    process one: if you already pulled my git tree, you will have that
    "v5.12-rc1" tag, and the fact that it no longer exists in my public
    tree under that name changes nothing at all for you. Git is
    distributed, and me removing that tag and replacing it with another
    name doesn't magically remove it from other copies unless you have
    special mirroring code.
    
    
    
    
    So if you have a kernel git tree (and I'm here assuming "origin"
    points to my trees), and you do
    
    
    
    
         git fetch --tags origin
    
    
    
    
    you _will_ now see the new "v5.12-rc1-dontuse" tag. But git won't
    remove the old v5.12-rc1 tag, because while git will see that it is
    not upstream, git will just assume that that simply means that it's
    your own local tag. Tags, unlike branch names, are a global namespace
    in git.
    
    
    
    
    So you should additionally do a "git tag -d v5.12-rc1" to actually get
    rid of the original tag name.
    
    
    
    
    Of course, having the old tag doesn't really do anything bad, so this
    git process thing is entirely up to you. As long as you don't _use_
    v5.12-rc1 for anything, having the tag around won't really matter, and
    having both 'v5.12-rc1' _and_ 'v5.12-rc1-dontuse' doesn't hurt
    anything either, and seeing both is hopefully already sufficient
    warning of "let's not use that then".
    
    
    
    
    Sorry for this mess,
                 Linus
    
    
    
    
    
  • A warning about 5.12-rc1

    Linus Torvalds has sent out a note telling people not to install the recent 5.12-rc1 development kernel; this is especially true for anybody running with swap files. "But I want everybody to be aware of because _if_ it bites you, it bites you hard, and you can end up with a filesystem that is essentially overwritten by random swap data. This is what we in the industry call 'double ungood'." Additionally, he is asking maintainers to not start branches from 5.12-rc1 to avoid future situations where people land in the buggy code while bisecting problems.

  •  
  • Linux 5.12-rc2 Likely Coming Early Due To That Nasty File-System Corruption Bug

    Linus Torvalds has now warned developers over using Linux 5.12-rc1 as a basis for their future branches and is looking to release 5.12-rc2 ahead of schedule as a result of that problematic file-system corruption bug stemming from a swap file bug. 

Games: Godot, Artifact, Loop Hero, and Urtuk: The Desolation

  • Godot Showcase - Primal Light developer interview

    Welcome to the fourth developer interview following the introduction of the Godot Showcase page! This week, we are interviewing the studio Fat Gem about their first game Primal Light.

  • Valve gives up on Artifact setting it free with Artifact Classic and Artifact Foundry | GamingOnLinux

    Valve's Dota themed card game Artifact has now well and truly failed, as they've now stopped the 2.0 redevelopment which is now named Artifact Foundry with the original as Artifact Classic and both now free to play. In a post titled "The Future of Artifact", Valve mentioned how the player count fell off dramatically and it was pretty much dead shortly after being released. Even though the big 2.0 revamp was far along in development, they've now formally and totally shelved it as they "haven't managed to get the active player numbers to a level that justifies further development at this time".

  • Loop Hero is out now and I'm going to need help to tear myself away from it | GamingOnLinux

    Loop Hero, probably the only titles I've pre-ordered in the last few years is officially out now and I really will need some help to pull myself away from running just one more loop. It's such a strange and beautifully intoxicating mix of genres. For each loop through you're placed into a world full of nothing but a path and it's up to you to build up the world each time. You do this through your deck of cards, while the hero automatically loops around the path and fights enemies along the way without your input. Even though you don't have direct control, there's quite a lot of strategy involved in it.

  • Dark low-fantasy tactical survival RPG 'Urtuk: The Desolation' is out now | GamingOnLinux

    Urtuk: The Desolation from David Kaleta presents you with a dark world in a low-fantasy settings where you guide a team of survivors through a ruined world. Note: key provided by the developer. Hitting nearly one thousand user reviews and a Very Positive rating on Steam overall, Urtuk: The Desolation seems to have managed to hit a sweet spot. Giving you tough turn-based combat, with a character progression system that sees you extracting skills and traits from fallen enemies. It's a bit of a gross world and the main character, Urtuk, is an escaped subject of experimentation with a severe mutation and worsening health. The idea is to eventually find a cure but getting there will be tough.

today's howtos

  • How to find duplicate files in Linux? Help is here with the fdupes command! - Webleit.info

    Fdupes is a command line tool that allows you to find all duplicate files through the console. The advantage over using graphical tools like fslint is of course the speed. At the end of the day, there is nothing faster and more convenient than the Linux console. Why should we look for duplicate files in Linux? No matter what operating system you use sooner or later, your computer will contain many files of different sizes, and if you’re not careful enough, repeating them can cost you disk space that you need. For example, you inadvertently downloaded the same ultra HD movie with 40 giga bytes twice.

  • How to Install Moodle with Nginx and Let's Encrypt SSL on Ubuntu 20.04

    Moodle is a free and open-source Learning Management System written in PHP. It provides a way for tutors and instructors to create courses for their students or learners. Moodle provides a robust and secure integrated system and comes with a custom dashboard that helps users to access current, past or future courses, as well as review pending work. It is used by many schools, universities, and organizations across the globe and provides a better learning experience. It provides a rich set of features including, wiki, grading, assignment submission, online quizzes, discussion boards, and more. In this tutorial, we will show you how to install Moodle with Nginx web server and Let's Encrypt SSL on Ubuntu 20.04.

  • Install WordPress Automatically on Ubuntu 20.04 using WordOps

    WordOps is a simple tool that provides the ability to deploy WordPress sites from the command line using an optimized LEMP stack. The LEMP software stack consists of a group of software that describes a Linux Operating System, an Nginx web server (pronounced engine-x), a MySQL database with the dynamic processing being handled by PHP. LEMP is an acronym for Linux, Engine-x (Nginx), MySQL and PHP. WordOps simplifies so much of the process of installing and configuring all the packages from the LEMP stack needed to deploy a site while taking care of creating virtual hosts in Nginx, installing WordPress, and even gets you a SSL certificate. It also installs some components that allow you to see statistics about the server’s workload. In this tutorial we’ll use WordOps to quickly and easily install WordPress on an Ubuntu 20.04 machine, and we’ll check out and explain some of the extra features that WordOps offers.

  • How to Find Out When a Webpage Was Published - Make Tech Easier

    When you’re doing research on a topic, it’s vital to ensure your sources are up to date. If you’re writing an academic paper, dates of publication are often required in the citations. The majority of the time, getting the date is easy: simply look on the site and find the published date to find how recent it was. Things get a little more complicated when there is no date listed on the webpage. When this happens, how do you know when a webpage was published?

  • How to install Wireshark 3.4.3 on a Chromebook

    Today we are looking at how to install Wireshark 3.4.3 on a Chromebook. Please follow the video/audio guide as a tutorial where we explain the process step by step and use the commands below.

  • Another Piece For The Home Network Puzzle – A Return To Cisco IOS! – Jon's FOSS Blog

    I’ve missed the good old days of configuring and setting up good quality switching hardware (like the big, huge Cisco switches and routers I used to experiment on with their IOS command line interface). I recently ordered this newer, smaller Cisco switch which can also provide power to a new “prosumer” WiFi AP (no power cables needed).

  • Making environment variables accessible in front-end containers - Red Hat Developer

    When building a container for a single-page application using any modern JavaScript framework (such as Angular, React, or Vue.js), you might find that the configuration settings are different depending on where the container will run. A typical case would be the base URL for your API, which will differ depending on whether you are testing the application or deploying it into production. Developers usually solve this problem using environment variables. Environment variables typically work on the backend because that is where code runs. But what if your application lives in the user’s browser? There are many ways around this limitation. In some cases, you might build a server whose endpoint holds the necessary parameters. Another workaround is to use PHP to inject the environment variables as globals in the JavaScript code. Both of these options work, but it would be ideal to inject the environment variables as part of the container build process. That way, you don’t have to change the codebase, and you can still deliver the application content using a static web server like NGINX. This article shows you how to inject environment variables directly into your codebase as you build your container.

  • The Strange Case of How We Escaped the Docker Default Container

    TL;DR During an internal container-based Red Team engagement, the Docker default container spontaneously and silently changed cgroups overnight, which allowed us to escalate privileges and gain...

  • How to copy and paste between host and VM