Language Selection

English French German Italian Portuguese Spanish

Development

LLVM 10.0.1 and Compiling Linux

Filed under
Development
Linux
  • LLVM 10.0.1 Finally Ready As Latest Stable Compiler Version

    LLVM 10.0 released back in March and today marks the first point release finally shipping. Normally they try to be a bit more punctual in shipping the seldom point releases to LLVM but today marks LLVM 10.0.1 finally being available, just over one month out from the planned LLVM 11.0 debut.

    LLVM 11 was recently branched and is currently working towards a planned release at the end of August. But if you are planning on sticking to the LLVM 10 stable series for a while or just want the latest bug fixes immediately, LLVM 10.0.1 is out as likely the only point release of the series.

  • LLVM Clang Should Be Able To Build Linux 5.9 x86 32-bit Kernels

    With LLVM Clang 9 and Linux 5.3 the mainline kernel can be built following a years-long effort to be able to build the mainline Linux x86_64 kernel with Clang rather than GCC, which followed the AArch64 efforts in a similar achievement. Now with Linux 5.9 coming later this year, the i386 / 32-bit x86 mainline kernel will also now be capable of building under Clang.

    While most distribution vendors are phasing out 32-bit support except for the likes of select libraries needed by the likes of Steam or different printer software and other isolated use-cases running in an x86_64 environment, with the Linux 5.9 cycle it's set to be the first where mainline LLVM Clang can build the mainline Linux kernel for 32-bit x86 targets.

KDE and Python GSoC Reports

Filed under
Development
KDE
  • Improve MAVLink Integration of Kirogi – Progress Report 2

    This is my second progress report about GSoC 2020 project.

  • [Krita] Week 7: GSoC Project Report

    This week I completed unit-tests for interactions between storyboard docker and timeline docker. Also now thumbnails will only be updated when the image is idle, meaning if the image is not painted upon for some time, say a sec, the thumbnail will update. This will improve performance when using the canvas. I also wrote some functions that would help when implementing updating of affected thumbnails.

  • PSF GSoC students blogs: Weekly Blog Post | Gsoc'2020 | #8

    This week was full of learning. Like seriously I learnt a lot this week specially because I got stuck on something which took me while to figure out.

Programming/Development: GCC, JVM, CMake, XML and More

Filed under
Development

  • Arm Backporting SLS Vulnerability Mitigation To Existing GCC Releases

    Back in June when Arm disclosed their Straight Line Speculation (SLS) vulnerability affecting their modern ARM processor designs there wasn't a whole lot of attention. It seems SLS is serious enough that Arm is working on bringing their compiler-based mitigations to existing GCC releases beyond it already being in the current development code.

    This vulnerability can lead to ARMv8 CPUs speculatively executing instructions following a change in control flow. Mitigating SLS is currently done via compilers with inserting speculation barrier (SB) instructions around vulnerable instructions.

  • Eclipse OpenJ9 v0.21 Released With Many Fixes, Big Performance Improvements For AArch64

    A new version of the Eclipse OpenJ9 JVM implementation was released last week with many fixes and other improvements over its prior release.

    OpenJ9 continues advancing as an alternative Java Virtual Machine that is performing fairly well and with a robust community. OpenJ9 v0.21 continues to be offered with binaries built for OpenJDK versions 8, 11, and 14. OpenJ9 0.21 not only brings many bug fixes but also has a variety of performance improvements. On the performance front, their AArch64 JIT compiler is expected to deliver significant throughput improvements of at least +20% on various applications. There is also performance work to make OpenJ9 behave more appropriately when running within containers.

  • New features in CMake 3.18

    On 15th of July Kitware has released CMake version 3.18. The release notes contain the list of changes.

    Below you have some changes that should improve the life of a Qt developer using CMake.

  • Excellent Free Tutorials to Learn XML

    XML is a set of rules for defining semantic tags that describe the structure and meaning of a document.

    The user of XML chooses the names and placement of the tags to convey the nature of the data stored in a document. XML can be used to markup any data file to make it easier to understand and process.

    In addition, it has been applied to many special domains of data: mathematics, music, vector graphics, the spoken word, financial data, chemical symbols, and web pages among others.

    Here’s our recommended free tutorials to help you master XML. If you need more in-depth material, try our recommended free XML books.

  • A comparison of 6 top programming languages

    Developers have numerous programming languages to choose from, so much so that it can be overwhelming. Choosing the right -- or wrong -- language can make the difference between a software project's success and its failure.

    While many programming languages may seem similar, no two languages behave the same way. Developers and architects need to look closely at the strengths and weaknesses of each option, including the tools, libraries and support behind those languages.

    [...]

    Python is an object-oriented programming (OOP) language commonly used for web app development, scientific research, machine learning and FinTech. It's renowned for its easy code readability, access to well-documented libraries and large user community. Also, its repeatable code and automation capabilities promote simplified build processes. Its standout feature is the glue code it uses for server-side scripting, which helps strengthen communication between front-end and back-end components.

    However, because it is an interpretive language, the conversion from source code to bytecode can create lag for compile times, system calls and kernel requests. And even though it runs on every major OS and domain, it is not the best choice for mobile apps right out of the box. Keep in mind, though, it is possible to find tool and library updates that can improve its mobile capabilities.

Python Programming

Filed under
Development
  • Creating a Presentation with Jupyter Notebook and RISE (Video)

    In this tutorial, you will learn how to use Jupyter Notebooks to create slide show presentations. This allows you to run and edit live code in your slides.

  • How to Listen for Webhooks with Python

    Webhooks run a large portion of the "magic" that happens between applications. They are sometimes called reverse APIs, callbacks, and even notifications. Many services, such as SendGrid, Stripe, Slack, and GitHub use events to send webhooks as part of their API. This allows your application to listen for events and perform actions when they happen.

    In a previous article, we looked at how to consume webhooks with Node.js and Express. In this article we'll look at how you can listen for webhooks using Python (v3+) with the Flask or Django frameworks.

  • EuroPython 2020: Presenting our Conference Booklet [Ed: EuroPython sold Microsoft 2 whole pages of Azure ads in this new booklet (I've checked)]

    We’d normally give out the booklet as part of the conference bag, but since we’re running the event online, we’ve put up the PDF of the booklet instead for your to enjoy.

    If you feel like there something in our program which you may benefit from or you just want to get a feeling for what a EuroPython conference is like, please consider joining the event.

  • Python 3.8.5 released as a security hotfix. 3.9.0b5, the last beta before 3.9.0, also available

    This is a combined release of Python 3.8.5 and 3.9.0b5. Both are significant but for different reasons. Let’s dig in!

  • Quansight Labs: what I learned in my first 3 months

    I joined Quansight at the beginning of April, splitting my time between PyTorch (as part of a larger Quansight team) and contributing to Quansight Labs supported community-driven projects in the Python scientific and data science software stack, primarily to NumPy. I have found my next home; the people, the projects, and the atmosphere are an all around win-win for me and (I hope) for the projects to which I contribute.

    I am not a newcomer to Open Source. I originally became involved in PyPy as an after-hours hobby to hone my developer skills, and quickly became enamoured with the people and the mission. Over the years my efforts in the open source world moved more mainstream, and in 2018 I took on a full-time position working on NumPy, funded through a grant to BIDS. Since April 2020, I have moved to Quansight Labs as a full-time developer.

  • Mastering Python's Built-in time Module

    The Python time module provides many ways of representing time in code, such as objects, numbers, and strings. It also provides functionality other than representing time, like waiting during code execution and measuring the efficiency of your code.

  • PyCoder’s Weekly: Issue #430 (July 21, 2020)

Python Programming

Filed under
Development
  • Guide to Basic Data Types in Python with Examples

    In this article, we'll be diving into the Basic Data Types in Python. These form some of the fundamental ways you can represent data.

    [...]

    It's important to point out that Python usually doesn't require you to specify what data type you are using and will assign a data type to your variable based on what it thinks you meant.

    An equally important thing to point out is that Python is a "loosely/weakly typed" programming language, meaning that a variable can change its type over the course of the program's execution, which isn't the case with "strongly typed" programming languages (such as Java or C++).

    So something that was an int can end up being a str easily, if you assign it a string value.

  • A Hundred Days of Code, Day 012 - Python, Advanced Data Structures continued

    A lightweight solution to classes, if I am just combining all sorts of data structures is the built-in collections. Some of them could be
    List of Lists
    List of Tuples
    List of Dictionaries
    Dictionary of Dictionaries
    Dictionary of Lists

  • K-Means Clustering in Python: A Practical Guide

    The k-means clustering method is an unsupervised machine learning technique used to identify clusters of data objects in a dataset. There are many different types of clustering methods, but k-means is one of the oldest and most approachable. These traits make implementing k-means clustering in Python reasonably straightforward, even for novice programmers and data scientists.

    If you’re interested in learning how and when to implement k-means clustering in Python, then this is the right place. You’ll walk through an end-to-end example of k-means clustering using Python, from preprocessing the data to evaluating results.

  • EuroPython 2020: Introducing our Diamond Sponsor Bloomberg

    We are very pleased to have Bloomberg as Diamond Sponsor for EuroPython 2020. Without sponsors like Bloomberg, we wouldn’t be able to make the event affordable.

    You will be able to visit their sponsor exhibit rooms and take the opportunity to chat with their staff to learn more about the large Python eco-system they have built internally and how they are collaborating with the Python community.

  • Matt Layman: Episode 7 - Models and Managers and Querysets, Oh My!

    On this episode, we will explore more about models and how to interact with data in your database. Listen at djangoriffs.com. Last Episode On the last episode, we discussed the basics of setting up a database and creating a model to store data. Working With Models To create new rows in our new database tables, we can use a model’s save method. When you save a model instance, Django will send a message to the database that effectively says “add this new data to this database table.

  • PSF GSoC students blogs: Blog post for week 7: Queue interface documentation
  • PSF GSoC students blogs: Convolutional Neural Networks - Weekly Check-in 8
  • PSF GSoC students blogs: GSoC Weekly Blog #4
  • PSF GSoC students blogs: Weekly Blog #4 (12th Jul - 19th Jul)
  • PSF GSoC students blogs: Weekly Check-in #8

Released: GeckoLinux [Static] [all editions] 152.200719

Filed under
OS
Development
Linux
News
OSS
SUSE

GeckoLinux is pleased to announce updated spins of its Static series, generated from openSUSE Leap 15.2 and Packman package repositories. Despite the lack of new ISO refreshes during the past couple of years, users have continued to be able to install and update GeckoLinux systems thanks to the fact that it directly uses openSUSE and Packman repository sources. But for users that need to install GeckoLinux on newer hardware, and to continue improving the default configuration, the GeckoLinux Static 152.200719 series is now available. Updated spins of GeckoLinux NEXT Plasma and the GeckoLinux ROLLING series will also be released in the near future.

Read More

Open/Hackable Hardware and Programming

Filed under
Development
Linux
Hardware
  • Waveshare Launches an Affordable 7-Color e-Paper Display

    The company claims examples for Raspberry Pi, Jetson Nano, Arduino, and STM32 will be provided in the Wiki once it’s updated.

  • PolarFire SoC Icicle 64-bit RISC-V and FPGA Development Board Runs Linux or FreeBSD (Crowdfunding)

    We got some more details about PolarFire RISC-V FPGA SoC late last year, and we were promised a Linux capable 64-bit RISC-V & FPGA development board with PolarFire SoC Icicle kit in Q3 of 2020.

    We are already in July 2020. So where is the board? Oh, look! It’s right here on Crowd Supply where it is offered for $499, and shipping is expected to start in mid-September.

  • What have you been playing recently? We've been tinkering with a Raspberry Pi 4

    Apparently we missed the weekend and didn't ask you for your latest recommendations? Let's fix that. What have you been playing recently and what do you think about it?

    For me personally, I've actually been doing something a little different. Since my 32nd birthday is coming up soon on July 30, I picked up a Raspberry Pi 4 (4GB model) and what a wonderful little device it is. I can finally join the world of tiny computers! Using the full Raspberry Pi 4 Desktop Kit, it couldn't have been any easier and what a joy it was to get going.

    Snap it together into the little case, plug it in with the SD card that came with the 'NOOBS' installer so there's absolutely no fuss. Okay, that's a small lie, there was a tiny bit of fuss with KODI having a really slow mouse which was solvable by adding "usbhid.mousepoll=0" to the end of "/boot/config.txt".

    Without much fuss then it was up and running—yes that's Halo: Reach with Steam Play Proton being streamed from a Manjaro desktop to the Raspberry Pi. Glorious. I also need to one day invest in a better camera but priorities…

  • Building DIY LED strips for fun

    [...] You can buy great pre-built, consumer grade LED light strips that come with a remote control, can be controlled by your phone, and are relatively cheap. Personally, I’ve purchased a few Govee light strips like this long one and they work great for simple applications like on a shelf, or around a door jam, or up on a crown molding. For 90% of most people’s needs, that’s the best and easiest way to go.

    Since I had six shelves, I didn’t want to have to manage six plugs, so what I’m describing here is going the full-on DIY route, cutting your LED strips up, using a solder gun, and creating the exact lights you need for your space. Here’s how I did mine.

  • Tricks with Pseudorandom Number Generators

    Pseudorandom number generators (PRNGs) are often treated like a compromise: their output isn’t as good as real random number generators, but they’re cheap and easy to use on computer hardware. But a special feature of PRNGs is that they’re reproducible sources of random-looking data:

    [...]

    This simple fact enables a few neat tricks.

    A couple of famous examples come from the gaming industry. The classic example is the space trading game Elite, which was originally written for 8b BBC Micros in the early 80s. It was a totally revolutionary game, but just one thing that amazed fans was its complex universe of thousands of star systems. That was something you just didn’t normally get in games written for machines with kilobytes of RAM total. The trick was to generate the universe with a PRNG seeded with a small value. There was no need to store the universe in memory because the game could regenerate each star system on demand, repeatedly and deterministically.

    PRNGs are now widely exploited for recording games for replays. You don’t need to record every frame of the game world if you can just record the PRNG seed and all the player actions. (Like most things in software, actually implementing that can be surprisingly challenging.)

  • Traditional Unix Toolchains

    Older Unix systems tend to be fairly uniform in how they handle the so-called 'toolchain' for creating binaries. This blog will give a quick overview of the toolchain pipeline for Unix systems that follow the V7 tradition (which evolved along with Unix, a topic for a separate blog maybe).

    Unix is a pipeline based system, either physically or logically. One program takes input, process the data and produces output. The input and output have some interface they obey, usually text-based. The Unix toolchain is no different.

  • Detect and Recognize Car License Plate from a video in real time

    Approach:

    Find all the contours in the image.

    Find the bounding rectangle of every contour.

    Compare and validate the sides ratio and area of every bounding rectangle with an average license plate.

    Apply image segmentation in the image inside validated contour to find characters in it.

    Recognize characters using an OCR.

  • [Old] Mastering JQ: Part 1

    jq is a valuable tool that every fast coder has in their tool chest. It contains depths of immense power. In part 1, we'll start off with the basics.

    For each application of jq, we’ll lead off with an example that you can copy and paste into your shell to see how it works. The rest of the section discusses the application in more detail.

  • [Old] Mastering jq: xml (and any other data format)

    In this section, we’ll use jq to transform xml data.

Python Programming

Filed under
Development
  • Django 3.1 release candidate 1 released

    Django 3.1 release candidate 1 is the final opportunity for you to try out the potpourri of new features before Django 3.1 is released.

    The release candidate stage marks the string freeze and the call for translators to submit translations. Provided no major bugs are discovered that can't be solved in the next two weeks, Django 3.1 will be released on or around August 3. Any delays will be communicated on the django-developers mailing list thread.

  • An introduction to mutation testing in Python

    You have tests for everything; maybe you even have a badge in your project repository stating 100% test coverage. But what are these tests helping you do? How do you know?

    The costs of unit tests are clear to developers. Tests have to be written. Occasionally they don't work as intended: there are false alarms or flapping tests that alternate success and failure without any code changes. The small bugs you can find through unit tests are valuable, but often they happen quietly on a developer machine and are fixed before a commit ever goes into version control. But the truly alarming bugs are mostly invisible. And the worst of all, the missing alarms are completely invisible: you don't see the bugs you failed to catch until the code gets into a user's hands—and sometimes not even then.

    There is one type of test that makes it possible to make the invisible visible: mutation testing.

  • PyDev of the Week: Jim Crist-Harif

    This week we welcome Jim Crist-Harif (@jcristharif) as our PyDev of the Week! Jim is a contributor to Dask, Skein and several other data science / machine learning Python packages. Jim also blogs about Python.

    [...]

    Hi, I’m Jim! I grew up near Minneapolis, MN. Growing up we weren’t allowed much screen time, so I didn’t really get into computer-y things until college. I was more into building physical things, and spent a large amount of time in my dad’s workshop.

    In college I studied Mechanical Engineering, and liked it so much I continued on to graduate school, focusing on System Dynamics and Controls. Graduate school ended up being fairly detrimental for my mental health, so after 2 years I quit, moved to TX, and took a job with Anaconda. This turned out to be a great decision! My job there was to better the Python ecosystem, which let me work on all sorts of interesting projects (it also led me to give several talks).

  • RunSnakeRun 3.0.0 Beta 1

    So I finally sat down and finished off the work I was doing a while ago to get RunSnakeRun updated to run on Python 3 and support pyspy/speedscope files. There was a bunch of stuff needed to make us compatible with the wxPython Pheonix releases, a huge and horrible hack to let us load Python2 pstats dumps on Python3 (basically running python2 in a subprocess), a seeming loss of Meliae support (since AFAIK it doesn't run on python3), and really far too much code churn, but oh well.

  • PSF GSoC students blogs: Week 7 : Completion of Multiple KML Overlay UI
  • PSF GSoC students blogs: Weekly Check-In: Week 8

Jussi Pakkanen: The ABI stability matryoshka

Filed under
Development
GNOME

Going from this we can find out the actual underlying problem, which is running programs of two different ABI versions at the same time on the same OS. The simple solution of rebuilding the world from scratch does not work. It could be done for the base platform but, due to business and other reasons, you can't enforce a rebuild of all user applications (and those users, lest we forget, pay a very hefty amount of money to OS vendors for the platform their apps run on). Mixing new and old ABI apps is fragile and might fail due to the weirdest of reasons no matter how careful you are. The problem is even more difficult in "rolling release" cases where you can't easily rebuild the entire world in one go such as Debian unstable, but we'll ignore that case for now.

It turns out that there already exists a solution for doing exactly this: Flatpak. Its entire reason of existance is to run binaries with different ABI (and even API) on a given Linux platform while making it appear as if it was running on the actual host. There are other ways of achieving the same, such as Docker or systemd-nspawn, but they aim to isolate the two things from each other rather than unifying them. Thus a potential solution to the problem is that whenever an OS breaks ABI compatibility in a major way (which should be rare, like once every few years) it should provide the old ABI version of itself as a Flatpak and run legacy applications that way.

Read more

Also: Apoorv Sachan: The Second Milestone

Perl (PWC) and Programming/Development/Editing Tools

Filed under
Development
  • The [Perl] Weekly Challenge #069

    The Task #1 of Perl Weekly Challenge - 069 raised a very interesting question i.e. is 1 strobogrammatic number? So far, I got mixed response some says yes and some not. My first thought was Yes, it is but later changed my mind. It is controversial and I don’t want loose the focus on the task itself. Please remember the objective is to have fun and not to get into controversial domain. I am also very flexible and not tied to any thing. Some even discussed that “upside down” is not same as “180 degree rotation”. I am staying away from it. I like the open culture of Perl Weekly Challenge as you are free to take the route you are comfortable with. There are no compulsion.

  • Graph Data Structure Tutorial

    In computing, a graph is a set of nodes connected by links. The main difference between a tree and a graph is that a tree has one root node, while a graph has more than one root node. You should already have basic knowledge of tree data structure before coming here, as the concepts there, will be used here with little or no explanation.

  • Emacs vs Vim

    There have been numerous topics on which fans have shared their views and argued with one another against those opposing their views. These holy wars have been everywhere: iPhone vs. Android, Marvel vs. DC, tabs vs. spaces, etc. A similar discussion over which users, particularly those of the Linux community, tend to get heated has been the Emacs vs. Vim debate, which has been ongoing for decades.
    This article dives into this long, ongoing Editor War and makes a decision over which program – Emacs or Vim – takes the edge over the other.

  • Important VIM Options and Settings

    Vim is one of the most popular open-source command-line text editors. It is highly configurable and supports a lot of options, which is the reason for its popularity among users. In this article, we will discuss some of the Vim setting options that will help you to optimize your editing environment according to your preferences. Most of the options mentioned here are not enabled by default in Vim.

  • How to Delete Lines in Vim / Vi

    Vim or its precursor Vi comes preinstalled on most Linux distributions and macOS. Knowing the basics of Vim is important if you are a system administrator or just a regular Linux user.

  • How to create Macros in VIM for Repetitive Tasks?

    A macro is defined as a process that specifies the execution sequence of a certain operation. Macros are generally created for the tasks that are supposed to occur quite frequently. In Windows operating system, Microsoft Word also allows you to create macros for editing purposes. Similarly, in the Linux operating system, the VIM text editor provides you with the ability to create macros very easily. Therefore, in this article, we will explain to you the method of creating macros in VIM for repetitive tasks while using Ubuntu 20.04.

  • Integrating Vim with ctags

    Ctags is a tool used for navigating source code indexing methods, classes, identifiers, and variables. Ctags stores the index of programming code in a separate tags file. In the tags file, each line contains a single tag. You can obtain a lot of details from this index. Ctags supports 41 programming code languages and make it easier to search for methods or function blocks in large projects, especially when you do not know the working of code lines. For example, sometimes, you might not know how the particular method to be called when programming. With the ctags tool, you can immediately jump to the method definition.

Syndicate content

More in Tux Machines

Audiocasts/Shows: Debian 10.5 KDE Plasma Run Through, Late Night Linux, Linux Headlines

  • Debian 10.5 KDE Plasma Run Through

    In this video, we are looking at Debian 10.5. Enjoy!

  • Late Night Linux – Episode 95

    A look back at the year in Linux so far, some speculation about what’s coming, Lineage OS on the Raspberry Pi, and KDE Korner.

  • 2020-08-03 | Linux Headlines

    Linux kernel 5.8 is out, BunsenLabs rebases to Debian 10 “Buster,” Mastodon releases version 3.2 with multimedia enhancements, and The Linux Foundation forms the Open Source Security Foundation.

today's howtos

Android Leftovers

today's leftovers

  • KDE NEON 20200723 overview | The latest and greatest of KDE community

    In this video, I am going to show an overview of KDE NEON 20200723 and some of the applications pre-installed.

  • Vulkan 1.2.149 Released With Another Extension For Helping The Likes Of DXVK

    Vulkan 1.2.149 is out today and its lone new extension is yet another addition to the Vulkan API for helping translation layers like DXVK map other graphics APIs on top. Vulkan has been quite welcoming of additions to help run graphics APIs like OpenGL and Direct3D on top of it. With today's release of Vulkan 1.2.149 there is another addition to help in that multi-project effort and it's VK_EXT_4444_formats.

  • Linux 5.9 Dropping The Unicore 32-bit RISC Architecture

    It's arguably long overdue but with the just-opened Linux 5.9 kernel cycle the Unicore32 CPU architecture is being removed. Unicore is a 32-bit RISC architecture developed at China's Peking University. Unicore is an ARM-like architecture. But with Unicore not being too popular and this code not seeing any maintenance for the mainline kernel paired with no upstream compiler support, it's time to gut the code out of the kernel.

  • IO_uring Has Many Improvements Set To Go Into Linux 5.9

    Facebook's Jens Axboe who oversees the Linux storage/block code and leads the IO_uring efforts summed up the changes for Linux 5.9 as "hardening the code and/or making it easier to read and fixing [bits]." There is though a big change and that is proper async buffered reads support. That work was previously covered but didn't end up getting pulled into Linux 5.8 due to a branching difference but is now ready to go with Linux 5.9. The async buffered reads support for IO_uring has some nice performance advantages and lower CPU usage while also working its way off KThreads for the fast code path once the async buffered write support is in place.

  • New Helix by OnLogic brings GPU computing to the Edge

    Both systems can be configured with a range of Windows operating systems or Ubuntu Linux, and OnLogic plans to add imaging options for many of their software partners in the future, including Ignition by Inductive Automation, ThinManager, EdgeIQ, IGEL and AWS Greengrass.

  • Looks like the recent upwards trend of the Linux market share has calmed down [Ed: As if a Microsoft partner which pretends Android and ChromeOS etc. don't exist was ever painting an accurate picture...]

    For NetMarketShare, something pretty big happened over the last few months. Back in March the Linux share they recorded was only 1.36%, and then it quickly rocketed upwards to 3.61% in June after multiple months of rising. The kind of rise you can't easily just write-off since it continued happening. No one really knows what caused it, possibly a ton more people working from home and not attached to their corporate Windows workstation. Now though, it seems to be levelling out as July's figure now shows it as 3.57%. Considering more people are being told to go back to work, perhaps it was as a result of COVID19. Across that whole time though, it's worth noting StatCounter which also tracks it has hardly moved this whole time. So you may want to press X to doubt on it.

  • Librem 5 June 2020 Software Development Update

    This is another incarnation of the software development progress for the Librem 5. This time for June 2020 (weeks 23-26). Some items are covered in more detail in separate blog posts at https://puri.sm/news. The idea of this summary is to have a closer look at the coding and design side of things. It also shows how much we’re standing on the shoulders of giants reusing existing software and how contributions are flowing back and forth between upstream and downstream projects. This quickly gets interesting since we’re upstream for some projects (e.g. calls, phosh, chatty) and downstream for others (e.g Debian, Linux kernel, GNOME). So these reports are usually rather link heavy pointing to individual merge requests on https://source.puri.sm/ or to the upstream side (like e.g. GNOME’s gitlab).

  • Red Hat certification remote exams now available

    It’s not a new idea that organizations worldwide need and seek qualified IT professionals with the skills and knowledge needed to use Red Hat products successfully. And for the last two decades, Red Hat Training and Certification has provided a way for them to assess, train and validate skills. Last year, we launched preliminary exams as a way to provide experience with our hands-on approach to testing to a broader audience and to explore making this approach more widely available as online exams. This year, the COVID-19 pandemic has meant temporary site closures, lockdowns and social distancing. Going to a test center to take an exam is not an option in many places. Even if it is, candidates for certification might be understandably reluctant to visit a center to take an exam. With that in mind, Red Hat has accelerated our efforts, and I am very pleased to announce that several of our certification exams are now available remotely.

  • Red Hat Customer Success Stories: digital transformation through people, process and technology

    Condis Supermarcats is a family-owned supermarket chain that is a household name in central and northern Spain. The company operates more than 400 physical storefronts, ranging from hypermarkets to local convenience stores, and a growing digital business. In 2017, Condis began several high-profile projects as part of its digital transformation efforts, including launch of a new customer resource management (CRM) system and a customer-facing mobile application. To support these projects, Condis’s IT team sought to better integrate the company’s IT infrastructure with microservices. "Our architecture was not cloud-integrated or suited for the agile approach we needed to develop our digital business," said Sergio Murillo, Technology Development and IT Operations Manager at Condis. "For example, each Condis store has access to a customer database, centralized using a cloud-based tool. However, we needed this data exchange to be integrated seamlessly with our CRM."

  • 10 Years of OpenStack – Gary Kevorkian at Cisco

    Storytelling is one of the most powerful means to influence, teach, and inspire the people around us. To celebrate OpenStack’s 10th anniversary, we are spotlighting stories from the individuals in various roles from the community who have helped to make OpenStack and the global Open Infrastructure community successful.

  • The Month in WordPress: July 2020

    July was an action-packed month for the WordPress project. The month saw a lot of updates on one of the most anticipated releases – WordPress 5.5! WordCamp US 2020 was canceled and the WordPress community team started experimenting with different formats for engaging online events, in July. Read on to catch up with all the updates from the WordPress world.