Language Selection

English French German Italian Portuguese Spanish

Development

GNU Linux-libre 5.6-gnu (GNU Health for all)

Filed under
Development
GNU
Linux

GNU Linux-libre 5.6-gnu cleaning-up scripts, source tarballs, patches
and binary deltas are now available at
<https://www.fsfla.org/selibre/linux-libre/download/releases/5.6-gnu/>.

No changes were required to the cleaning up scripts since -rc7-gnu, but
since they were ready shortly before the final release, that rc was
never published.  Binaries are expected to show up in the near future.


The corresponding upstream release introduced 3 new drivers that request
and load blobs: AMD Trusted Execution Environment, ATH11K WiFi, and
Mediatek SCP remoteproc.  The requests for those are inhibited and
silenced in our release, and so are those for new blobs in nouveau,
AMDGPU and AMD PSP.


For up-to-the-minute news, join us on #linux-libre of irc.gnu.org
(Freenode), or follow me (@lxoliva) on Twister <http://twister.net.co/>,
Secure Scuttlebutt, GNU social at social.libreplanet.org, Diaspora* at
pod.libreplanetbr.org or pump.io at identi.ca.  Check the link in the
signature for direct links.


Be Free! with GNU Linux-libre.


What is GNU Linux-libre?
------------------------

  GNU Linux-libre is a Free version of the kernel Linux (see below),
  suitable for use with the GNU Operating System in 100% Free
  GNU/Linux-libre System Distributions.
  http://www.gnu.org/distros/

  It removes non-Free components from Linux, that are disguised as
  source code or distributed in separate files.  It also disables
  run-time requests for non-Free components, shipped separately or as
  part of Linux, and documentation pointing to them, so as to avoid
  (Free-)baiting users into the trap of non-Free Software.
  http://www.fsfla.org/anuncio/2010-11-Linux-2.6.36-libre-debait

  Linux-libre started within the gNewSense GNU/Linux distribution.
  It was later adopted by Jeff Moe, who coined its name, and in 2008
  it became a project maintained by FSF Latin America.  In 2012, it
  became part of the GNU Project.

  The GNU Linux-libre project takes a minimal-changes approach to
  cleaning up Linux, making no effort to substitute components that
  need to be removed with functionally equivalent Free ones.
  Nevertheless, we encourage and support efforts towards doing so.
  http://libreplanet.org/wiki/LinuxLibre:Devices_that_require_non-free_firmware

  Our mascot is Freedo, a light-blue penguin that has just come out
  of the shower.  Although we like penguins, GNU is a much greater
  contribution to the entire system, so its mascot deserves more
  promotion.  See our web page for their images.
  http://linux-libre.fsfla.org/

What is Linux?
--------------

  Linux is a clone of the Unix kernel [...]

(snipped from Documentation/admin-guide/README.rst)

-- 
Alexandre Oliva, freedom fighter    he/him    https://FSFLA.org/blogs/lxo/
Free Software Evangelist              Stallman was right, but he's left :(
GNU Toolchain Engineer           Live long and free, and prosper ethically

Read more

Also: GNU Linux-libre 5.6-gnu Released After Deblobbing AMD Trusted Execution, Ath11k WiFi

Programming: Java, Python, Perl and More

Filed under
Development
  • Azul Systems Extends Open Source Java Offerings with a new Zulu Distribution of OpenJDK 14
  • Azul Systems brews up fresh blend for open source Java

    Java runtime solutions company Azul Systems has announced the general availability of its Zulu release of OpenJDK 14 builds.

    [...]

    All Zulu 14 JDKs and JREs are verified against and pass the TCK certification tests required to ensure the correct execution of Java SE 14 applications.

  • Python File I/O

    Start writing here..In this article, you'll learn about Python file operations. More specifically, opening a file, reading from it, writing into it, closing it and various file methods you should be aware of.
    What is a file?
    File is a named location on disk to store related information. It is used to permanently store data in a non-volatile memory (e.g. hard disk).

    Since, random access memory (RAM) is volatile which loses its data when computer is turned off, we use files for future use of the data.

  • Python: Pros and Cons of Lambda

    lambda is a keyword in Python, we use it to create an anonymous function. So we also call lambda functions as anonymous functions.

  • Learning pandas by Exploring COVID-19 Data

    The European Centre for Disease Prevention and Control provides daily-updated worldwide COVID-19 data that is easy to download in JSON, CSV or XML formats. In this tutorial, we will use the pandas data analysis tool on the comma-separated values (CSV) data to learn some of the basic pandas commands and explore what is contained within the data set.

  • Rotation in R^2 - CY's take on PWC#053 Task 1

    This is a part of Perl Weekly Challenge(PWC) #053 and the followings are related to my solution. If you want to challenge yourself on Perl, go to https://perlweeklychallenge.org, code the latest challenges, submit codes on-time (by GitHub or email) if possible, before reading my blog post.

  • Perl Weekly Challenge 053: Rotate Matrix and Vowel Strings
  • IoT Adoption Survey Reveals Open Source Rules

    The Eclipse Foundation's IoT Working Group has issued a report that reveals that for commercial organizations the IoT is real and adoption is growing, albeit with a degree of caution. As far as IoT is concerned, the open source model clearly dominates.

    Conducted online between October and December 2019, with 366 respondents, the IoT Commercial Adoption Survey was the first exercise of its kind. Its aim was gain a better understanding of the IoT industry landscape by identifying the requirements, priorities, and challenges faced by organizations that are deploying and using commercial IoT solutions. It can be seen as the counterpart of the IoT Developer Survey, which since 2015 has been an annual exercise reporting on the programming languages, platforms, infrastructure and tools used for building IoT solutions.

  • What happens when the maintainer of a JS library downloaded 26m times a week goes to prison for killing someone with a motorbike? Core-js just found out

    In November 2019, Denis Pushkarev, maintainer of the popular core-js library, lost an appeal to overturn an 18-month prison sentence imposed for driving his motorcycle into two pedestrians, killing one of them.

    As a result, he's expected to be unavailable to update core-js, a situation that has project contributors and other developers concerned about the fate of his code library.

  • [Old] When to assume neural networks can solve a problem

    The question: “What are the problems we should assume can be solved with machine learning?”, or even narrower and more focused on current developments “What are the problems we should assume a neural network is able to solve?”, is one I haven’t seen addressed much.

    There are theories like PAC learning and AIX which at a glance seem to revolve around this, as it pertains to machine learning in general, but if actually applied in practice won’t yield any meaningful answers.

    However, when someone asks me this question about a specific problem, I can often give a fairly reasonable confidence answer provided I can take a look at the data.

    Thus, I thought it might be helpful to lay down the heuristic that generate such answers. I by no means claim these are precise or evidence based in the scientific sense, but I think they might be helpful, maybe even a good start point for further discussion on the subject.

  • Uber Open Sources Piranha Stale Code Remover

    Uber has released an open source version of Piranha, a tool that scans source code to delete code related to stale, or obsolete, feature flags.

    Piranha is run at Uber in an ongoing pipeline for its Android and iOS codebases and has been used to remove around two thousand stale feature flags and their related code. Uber says it has led to a cleaner, safer, more performant, and more maintainable code base.

  • Piranha Is An Open Source Tool That Automatically Deletes Obsolete Code

Programming: micro.sth, RProtoBuf, Perl and Python

Filed under
Development
  • Introducing micro.sth

    Many developers turn their noses up at PHP, but I have a soft spot for it. For me, it's the most approachable programming language by far. It feels intuitive in a way no other languages do, and it makes it possible to cobble together a working application with just a handful of lines of code. So whenever I can't find a tool for a specific job, I try to build one myself.

    The latest project of mine is a case in point. I was looking for a simple application for keeping a photographic diary, and I was sure that I'd be able to find an open-source tool for that. I searched high and low, but I came back empty-handed. Sure, there are plenty of static website generators, but I'd prefer something that doesn't require me to perform the write-generate-upload dance every time I want to post a quick update. And I need something that I can use not only to maintain a simple diary, but also store notes, manage tasks, and draft articles -- all this without getting bogged down by configuring templates, defining categories, and tweaking settings. And because I want most of my content to be private, I should be able to protect access to it with a password.

  • Dirk Eddelbuettel: RProtoBuf 0.4.17: Robustified

    A new release 0.4.17 of RProtoBuf is now on CRAN. RProtoBuf provides R with bindings for the Google Protocol Buffers (“ProtoBuf”) data encoding and serialization library used and released by Google, and deployed very widely in numerous projects as a language and operating-system agnostic protocol.

    This release contains small polishes related to the release 0.4.16 which added JSON support for messages, and switched to ByteSizeLong. This release now makes sure JSON functionality is only tested where available (on version 3 of the Protocol Buffers library), and that ByteSizeLong is only called where available (version 3.6.0 or later). Of course, older versions build as before and remain fully supported.

  • Perl Weekly Challenge 53: Rotate Matrix and Vowel Strings

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

  • Weekly Python StackOverflow Report: (ccxxi) stackoverflow python report
  • Python: Is And ==

    In Python, == compares the value of two variables and returns True as long as the values are equal.

Python Programming Leftovers

Filed under
Development

Programming Leftovers

Filed under
Development
  • GCC's New Static Analysis Capabilities Are Getting Into Shape For GCC 10

    One of many new features in the GCC 10 code compiler releasing in about one month's time is finally having a built-in static analyzer. This static analyzer can be enabled with the -fanalyzer switch and has been maturing nicely for its initial capabilities in the GNU Compiler Collection 10.

    The static analyzer was added to GCC 10 just back in January with an initial focus on C code. This static analyzer for GCC was spearheaded by GCC's David Malcolm and was available in patch form a few months prior. This static analyzer isn't as mature or robust as what's been built into the likes of LLVM Clang for a while now, but it's getting there.

  • It’s just a matter of selecting the right search terms

    Once more, I wanted to push a small change to a Git repository to which the owner gave me write access. This repo is currently the only one for me, for which I need to use https as transport protocol and therefore have to enter username and password for each and every push.

    On the other hand, I keep all my valuable credentials in Pass: The Standard Unix Password Manager for a couple of years now. It stores them with strong GPG encryption on my disk, is nicely integrated into Firefox by a plugin and there is also a KDE plasma widget available, created by my fellow KDE developer Daniel Vrátil. So why can’t Git read (I was about to use pull here, but that might be confusing in the context of Git) the credentials from my password store? There must be a way!

    Next, I started reading the documentation about git-credentials which seems to provide all that is needed. Just that pass was not on the list of helpers. Reading the specs, I expected it to be pretty easy to write a small wrapper that solves the issue. But: this sounds like a problem too obvious and to be solved already. So the search began.

    Using all kinds of combinations of git-credentials, pass, password-store and some more I don’t remember, I always ended up on some general Git documentation, but no sign of what I was looking for. So maybe, it really does not exist (oh, I have not consulted the yellow pages) and I have to develop and provide it to the internet community myself.

  • New QML language features in Qt 5.15

    While big changes are on their way for Qt 6.0, QML got some new language features already in 5.15. Read on to to learn about required properties, inline components and nullish coalescing.

  • 6 tricks for developing a work from home schedule

    When you start working from home, one of the first things you might have noticed is that there almost no outside influences on your schedule.

    You probably have meetings—some over team chat and others over video— that you have to attend, but otherwise, there's nothing requiring you to do anything at any specific time. What you find out pretty quickly, though, is that there's an invisible influence that sneaks up on you: deadlines.

    This lack of structure fosters procrastination, sometimes willful and other times aimless, followed by frantic sprints to get something done. Learning to mitigate that, along with all the distractions working from home might offer, is often the hardest part of your home-based work.

    Here are a few ways to build in that structure for yourself do you don't end up feeling like you are falling behind.

  • Booting from an FFS2 filesystem

    Developer Otto Moerbeek (otto@) has been working on support to boot from FFS2. He writes in with the below article, to give us a little insight into the challenges he faced while working on this.

  • The Weekly Challenge #053
  • Tree as a tool for enumeration - CY's take on PWC#053 Task 2

Python Programming Leftovers

Filed under
Development
  • mypy: how to use it in my project? Part 3: kick-ass tools that leverage type annotations

    Type annotations are a formalized way to add some extra information about types to your project. Once you get through adding mypy to your project and annotate your code (remember you can do it automatically, at least to some extent) you will find yourself at the ocean of possibilities.

    Interested in good code and even better tests? Check out my upcoming book on the architecture - Implementing the Clean Architecture.
    This post will show the most impressive libraries that leverage type hints that I know.

  • How long did it take you to learn Python?

    Beginners seem to ask this question when they are feeling daunted by the challenge before them. Maybe they are hoping for a helpful answer, but it seems like most answers will just be a jumping off point for feeling bad about their own progress.

    Everyone learns differently. They learn from different sources, at different paces. Suppose you ask this question and someone answers “one month”? Will you feel bad about yourself because you’ve been at it for six weeks? Suppose they say, “ten years”? Now what do you think?

    The question doesn’t even make sense in a way. What do we mean by “learn”? If you can write a number guessing game in Python, have you learned Python? Are we talking about basic familiarity, or deep memorization? Does something have to be second nature, or is it OK if you are still looking through the docs for details? “Learned” is not a binary state. There isn’t a moment where you don’t know Python, and then suddenly you do.

  • Test and Code: 107: Property Based Testing in Python with Hypothesis - Alexander Hultnér

    Hypothesis is the Python tool used for property based testing.
    Hypothesis claims to combine "human understanding of your problem domain with machine intelligence to improve the quality of your testing process while spending less time writing tests."

    In this episode Alexander Hultnér introduces us to property based testing in Python with Hypothesis.

  • Hidden Markov Model - Implemented from scratch

    The Internet is full of good articles that explain the theory behind the Hidden Markov Model (HMM) well (e.g. 1, 2, 3 and 4) . However, many of these works contain a fair amount of rather advanced mathematical equations. While equations are necessary if one wants to explain the theory, we decided to take it to the next level and create a gentle step by step practical implementation to complement the good work of others.

    In this short series of two articles, we will focus on translating all of the complicated mathematics into code. Our starting point is the document written by Mark Stamp. We will use this paper to define our code (this article) and then use a somewhat peculiar example of “Morning Insanity” to demonstrate its performance in practice.

Programming Leftovers

Filed under
Development
  • It's not what programming languages do, it's what they shepherd you to

    How many of you have listened, read or taken part in a discussion about programming languages that goes like the following:

    Person A: "Programming language X is bad, code written in it is unreadable and horrible."

    Person B: "No it's not. You can write good code in X, you just have to be disciplined."

    Person A: "It does not work, if you look at existing code it is all awful."

    Person B: "No! Wrong! Those are just people doing it badly. You can write readable code just fine."

    After this the discussion repeats from the beginning until either one gets fed up and just leaves.

    I'm guessing more than 99% of you readers have seen this, often multiple times. The sad part of this is that even though this thing happens all the time, nobody learns anything and the discussion begins anew all the time. Let's see if we can do something about this. A good way to go about it is to try to come up with a name and a description for the underlying issue.

  • Ideas to help working from home

    When I came to KDAB to work, working at home was a bit of a culture shock for me – I’d previously only ever worked in an open-plan office and had sworn that home working was not for me – I’d never manage to get anything done! However, I’ve found that home working suits me quite well, and given the current situation I thought I’d write a little about it as some people might be experiencing home working for the first time.

    The first concern I had when starting to work from home was the loneliness. This is particularly relevant now, however there are still ways to ensure that you don’t get completely isolated. One thing would be to have meetings via video call – and not to forget that you can also do this with friends in the evening! Having social contact is important, even if you can’t meet up face to face.

    The other main concern I had was how to separate working time from non-working time – both the physical and mental aspects. As a physical space, I use my PC desk for gaming which is not ideal, but I make sure after I work I move to another room to differentiate ‘work’ and ‘play’. A better way would be to have two different spaces set up, however with limited space – I live in a flat – I make sure that I at least have a break in between the two uses. Mentally, at the end of each day I like to plan what I’ll do first in the morning, so that it’s part of my wind down for a working day – which allows me to start the next day without getting distracted. At the end of the week I upload my timesheet to say to myself ‘that’s it’ – a very definite point where I’m done for the week.

  • Static analysis in GCC 10

    I work at Red Hat on GCC, the GNU Compiler Collection. For the next major release of GCC, GCC 10, I’ve been implementing a new -fanalyzer option: A static analysis pass to identify various problems at compile-time, rather than at runtime.

    My thinking here is that it’s best to catch problems as early as possible as the code is written, using the compiler the code is written in as part of the compile-edit-debug cycle, rather than having static analysis as an extra tool “on the side” (perhaps proprietary). Hence, it seems worthwhile to have a static analyzer built into the compiler that can see exactly the same code as the compiler sees—because it is the compiler.

    This issue is, of course, a huge problem to tackle. For this release, I’ve focused on the kinds of problems seen in C code—and, in particular double-free bugs—but with a view toward creating a framework that we can expand on in subsequent releases (when we can add more checks and support languages other than C).

  • Malcolm: Static analysis in GCC 10

    David Malcolm writes about the static-analysis features that he is working on adding to the GCC compiler.

  •      

  • Ashley’s top five projects for Raspberry Pi first-timers

             

  •       
                   

  • How to manage a business without a headquarters

                     

                       

    Distributed organisations are as old as the [Internet]. Its first users 50 years ago realised how much can be done by swapping emails and digital files. These exchanges led to the development of “open source” software, jointly written by groups of strangers often geographically distant.

                       

    Today most distributed startups have open-source roots. Gatsby is one. Nearly all 1,200 employees of another, Automattic, best known for WordPress, software to build websites, work from home. GitHub, which hosts millions of open-source projects (and was acquired by Microsoft in 2018), may be the world’s biggest distributed enterprise. Two-thirds of its 2,000 staff work remotely. Most firms that build blockchains, a type of distributed database, are by their nature dispersed.

  •                

  • 10 Most(ly dead) Influential Programming Languages

                     

                       

    The other day I read 20 most significant programming languages in history, a “preposterous table I just made up.” He certainly got preposterous right: he lists Go as “most significant” but not ALGOL, Smalltalk, or ML. He also leaves off Pascal because it’s “mostly dead”. Preposterous! That defeats the whole point of what “significant in history” means.

                       

    So let’s talk about some “mostly dead” languages and why they matter so much.

                       

    Disclaimer: Yeah not all of these are dead and not all of these are forgotten. Like most people have heard of Smalltalk, right? Also there’s probably like a billion mistakes in this, because when you’re doing a survey of 60 years of computing history you’re gonna get some things wrong. Feel free to yell at me if you see anything!

                       

    Disclaimer 2: Yeah I know some of these are “first to invent” and others are “first to popularize”. History is complicated!

  •                

  • Megvii makes deep learning AI framework open-source as China moves to reduce reliance on US platforms

                     

                       

    Initially developed in 2014, MegEngine is part of Megvii’s proprietary AI platform, Brain++

  • Excellent Free Tutorials to Learn Awk

    Awk is a versatile programming language designed for pattern scanning and processing language and often used as a data extraction and reporting tool. It’s an excellent filter and report writer. It’s a standard feature of most Unix-like operating systems.

    Awk is small, fast, simple, and has a clean comprehensible C-like input language. It has robust programming constructs including if/else, while, do/while and for C-style and array iteration.

    The name awk comes from the initials of its designers: Alfred V. Aho, Peter J. Weinberger, and Brian W. Kernighan. The original version of awk was written in 1977 at AT&T Bell Laboratories.

  • This Week in Rust 331

Top 5 Free and Open Source Robotics Frameworks

Filed under
Development
OSS

ROS (Robot Operating System) is an open source framework for writing robot software. It started in 2007 with the goal of simplifying the process of creating complex robot behavior across a wide variety of robotic platforms. It is licensed under the permissive BSD license.

ROS has a lot of components. At the lowest level, it has a communication infrastructure which offers Message Passing, Recording and Playback of Messages for asynchronous communications, Remote Procedure Calls for synchronous communications, and Distributed Parameter System which provides a way for tasks to share configuration information.

ROS provides common robot-specific libraries and tools. Some examples of libraries are Robot Geometry Library which keeps track of where different parts of the robot are with respect to each other, Robot Description Language, Diagnostics, Pose Estimation, Localization, and Navigation.

ROS has powerful development tools which support introspecting, debugging, plotting, and visualizing the state of the system being developed. There are more than 45 command-line tools and some GUI tools as rviz (3D visualization) and rqt (for developing graphical interfaces for your robot).

Read more

Python Programming Leftovers

Filed under
Development
  • Python 101 – Learning About Tuples

    Tuples are another sequence type in Python. Tuples consist of a number of values that are separated by commas. A tuple is immutable whereas a list is not. Immutable means that the tuple has a fixed value and cannot change. You cannot add, delete or modify items in a tuple. Immutable objects are useful when you need a constant hash value. The most popular example is the key to a Python dictionary.

  • PyCharm 2020.1 Beta 2

    PyCharm is approaching its release, and this beta is yet another waypoint we’re passing. The new Beta version of PyCharm can now be downloaded from our website.

  • Webinar Recording: “Django with PyCharm Tips and Tricks” with Paul Everitt
  • Python Bytes: #174 Happy developers use Python 3
  • Starting the Onboarding Flow - Building SaaS #49

    In this episode, we worked on the progress element that will display in every step of the onboarding flow. I added some labels and styled the banner using Tailwind CSS. At the end of the stream, we boxed in the shape of the welcome page with some placeholder elements.

    The very first thing I did was insert a top bar that was unstyled to the top of the welcome page. We added some placeholder text for each of the steps in the onboarding flow. After that, I started styling the UI until it took shape.

    We talked about design elements like color and spacing and some aesthetic qualities that help make a user interface feel better.

    After completing a first cut of the top bar navigation, I shifted to the welcome page and added vector art and placeholder text to give the page some life.

  • How to Create Python Virtual Environment on Ubuntu 18.04 & 16.04

    The Virtualenv is used to create an isolated environment for Python application. It provides separate environment to application that system environment. This tutorial will help you to create a Python virtual environment on Ubuntu 19.10, 18.04 and 16.04 LTS systems.

  • "Coder's Cat": Python: Generator and Yield

    In this post, let’s discuss some basics for the generator in Python. What’s the benefit for generator, and how we use yield to implement generator.

  • A Flexible Open Source ERP Framework To Run Your Business - Episode 255

    Running a successful business requires some method of organizing the information about all of the processes and activity that take place. Tryton is an open source, modular ERP framework that is built for the flexibility needed to fit your organization, rather than requiring you to model your workflows to match the software. In this episode core developers Nicolas Évrard and Cédric Krier are joined by avid user Jonathan Levy to discuss the history of the project, how it is being used, and the myriad ways that you can adapt it to suit your needs. If you are struggling to keep a consistent view of your business and ensure that all of the necessary workflows are being observed then listen now and give Tryton a try.

ARM9 in 2020 – Meet Microchip SAM9X60 SoC & Evaluation Kit

Filed under
Development
GNU
Linux
Hardware

In my first job, I wrote code for a MIPS processor for VoIP phones, then I switched to NEC/Renesas MCUs for CD and DVD players, before going back to Linux and my first experience with an Arm processor: Cirrus Logic EP9307 with a single ARM9 (ARM920T) core clocked at 200 MHz. That was in 2005, and according to Wikipedia various ARM9 cores were released between 1998 to 2006, and now such cores are not recommended for new IC designs with most companies now building their chips around Arm Cortex-A/M/R cores.

At the end of last year, we wrote about Banana Pi BPI-F2S SBC based on Sunplus SP7021 “Plus1” quad-core Cortex-A7 processor with ARM9 and 8051 co-processor. Odd enough but at least the ARM9 core is not the main processor, however, while looking at the upcoming Linux 5.6 Linux kernel log I read an entry about a new SAM9X60 ARM926-based SoC from Microchip.

Read more

Syndicate content

More in Tux Machines

Today in Techrights

21 Important Penetration Tools in Kali Linux

Kali Linux uses many kinds of penetration tools to assess the security situation of your devices and networks. Whether you are looking to advance your career as an ethical tester or find the vulnerabilities of your systems, these powerful tools yield excellent results. Almost all of them should be accessible from the main Kali Linux terminal. Note: if you are an ethical tester, you must have the necessary permissions to access another person’s device, unless you’re testing on your own devices. Read more

Hello, LineageOS 17.1

We have been working extremely hard since Android 10’s release last August to port our features to this new version of Android. Thanks to massive refactoring done in some parts of AOSP, we had to work harder than anticipated to bring some features forward, and in some cases, introduced implementations similar to some of our features into AOSP (but we’ll get to that later). First, let’s talk about naming versioning - you may be thinking “Shouldn’t this be 17.0, as AOSP is on 10, and not 10.1?”. and given our previous versioning, you’d be correct. When the December Android Security Bulletin (ASB) dropped, we rebased on the more feature filled Google Pixel 4/4 XL tag of AOSP. We decided that, in the future, if we decide for any reason to rebase a large number of repos on a different tag, we will uprev our subversion, eg. 17.0 -> 17.1. As per this migration, on March 4th, we locked all lineage-17.0 branches and abandoned existing 17.0 changes. Not to fear, you can always cherry-pick your changes to 17.1, even via the Gerrit UI if you’d like! Read more Also: LineageOS 17.1 released

Red Hat Enterprise Linux helps pioneering unmanned marine research

In 1620, the Mayflower embarked on an uncertain journey across the Atlantic Ocean, with more than 100 pilgrims on board hoping to begin a new life in the New World. Now, 400 years later, The Mayflower Autonomous Ship (MAS) will follow in the footsteps of the original ship from Plymouth, England to Plymouth, Massachusetts. Only this time, there will be no human captain or onboard crew. It will be one of the first full-sized, fully-autonomous and unmanned vessels to cross the Atlantic Ocean. The MAS project is a global collaboration led by marine research organization Promare. Conceived as a way to commemorate the 400th anniversary of the Mayflower voyage, it could have long-lasting implications for the shipping industry and the future of oceanographic research. The autonomous shipping market is projected to grow from $90BN today to over $130BN by 2030. However; many of today's autonomous ships are just automated and do not dynamically adapt to new situations. Using an integrated set of IBM's AI, cloud, and edge technologies, ProMare is aiming to give the Mayflower the ability to operate independently in some of the most challenging circumstances on the planet. Read more