Language Selection

English French German Italian Portuguese Spanish

About Tux Machines

Wednesday, 11 Dec 19 - Tux Machines is a community-driven public service/news site which has been around for over a decade and a half and primarily focuses on GNU/LinuxSubscribe now Syndicate content

Search This Site

Quick Roundup

Typesort icon Title Author Replies Last Post
pctech101 srlinuxx 14/06/2007 - 7:55am
sabayon srlinuxx 14/07/2007 - 9:58am
ondisk-SG srlinuxx 19/07/2007 - 1:06pm
wolvix srlinuxx 09/08/2007 - 2:02pm
Blog entry What next? harshasrisri 1 11/05/2011 - 5:34pm
Blog entry Angry Birds for Chrome Browser Texstar 2 14/05/2011 - 2:35pm
Blog entry first ticket srlinuxx 4 29/05/2011 - 7:38am
Blog entry Linux Libraries Texstar 01/06/2011 - 8:27pm
Blog entry PCLinuxOS 2011 - Preview Graphics Texstar 9 03/06/2011 - 2:13am
Blog entry BIOS Flash update under linux. gfranken 02/06/2011 - 7:55pm

today's leftovers

Filed under
Misc
  • Linux users identify with their OS more often than Mac, Windows users

    We've all heard anecdotes or stereotypes of "die hard Mac users", or "Linux zealots." Stories of people who strongly identify with the computers they use (aka "I am a Mac user").

    But how often do people really identify with the Operating System they use the most on their computer?

    I recently conducted a survey as part of study on how Operating Systems impact our happiness. Responses were submitted from 2,259 computer users -- using a broad range of Operating Systems -- primarily from "pro user" communities (not a random cross-section of the populace).

    [...]

    The results for Android users were surprisingly similar to iOS users. Android users more often identified with their mobile platform (55.7%) than iOS users with theirs (54%). Based on the sample size, it seems entirely possible that the margin of error here would put the two platforms as nearly identical in these terms.

  • RipMe – Bulk image downloader for Linux

    There are instances when you need to download quite a bulk of pictures at once. Be it for project work, or photos of something that you love.

    In any case, downloading many photos one by one is great pain, and extremely time-consuming. Another option could be to download an already compiled album, but honestly, there are not a whole lot of albums available to download on every occasion. Any easy solution?

    We have a solution to offer here: a bulk image downloader, RipMe.

  • ObjectBox, database for IoT devices, adopts snaps for simplicity and ease of installation

    When designers put their heart and soul into making super-fast, easy-to-use software to help take Internet of Things (IoT) apps to the next level, installation of that software needs to meet the same high standards.

    ObjectBox is a database and synchronisation solution for rapid, efficient edge computing for mobile and IoT devices. Rather than each device sending all its data back to a cloud/server, ObjectBox enables data storage and processing within the device. Developers get simplicity and ease of implementation with native language APIs instead of SQL. Users can use data on edge devices faster with fewer resources.

    Markus Junginger, CTO and co-founder of ObjectBox explains, “Moving decision making to the edge means faster response rates, less traffic to the cloud, and lower costs. We built an edge database with a minimal device footprint of just 1 MB for high on-device performance.” ObjectBox also synchronises data between devices and servers/the cloud for an ‘always-on’ feeling and improved data reliability. With ObjectBox, an application always works – whether the device is online or offline.

Servers: SysAdmins, Public 'Clouds' and Cautionary Tales

Filed under
Server
  • Do I need a college degree to be a sysadmin?

    If we could answer that question with a simple "yes" or "no," this would not be much of a story. Reality is a little more nuanced, though. An accurate answer begins with one of "Yes, but…" or "No, but…"—and the answer depends on who you ask, among other important variables, including industry, company size, and so forth.

    On the "yes" front, IT job descriptions don’t typically buck the "degree required" assumption, sysadmin roles included. This fact is perhaps especially true in the corporate business world across a wide range of sectors, and it isn’t limited to large companies, either. Consider a recent opening posted on the jobs site Indeed.com for an IT system administrator position at Crest Foods, a 650-person food manufacturing company in Ashton, Ill. The description includes plenty of familiar requirements for a sysadmin. The first bullet point under "Desired Education & Experience" reads: "Bachelor’s degree in computer science, networking, IT, or relevant field."

    "Generally, systems administrators will have [degrees] from four-year universities," says Jim Johnson, district president at the recruiting firm Robert Half Technology. While some employers don’t specify a particular degree field, Johnson notes the bachelor’s in computer information systems (CIS) as a good fit for the sysadmin field and overlapping IT roles.

    That said, Johnson also points out that there are other options out there for people that don’t pursue a traditional degree path. That’s especially true given the growth of online education and training, as well as in-person opportunities such as technical schools.

    "There are [sysadmins] with computer systems professional or computer operator certificates from technical or online schools," Johnson says.

    Moreover, a potential employer’s "desired" educational background can be just that: An ideal scenario, but not a dealbreaker. This fact can be true even if a degree is listed as "required," perhaps especially in markets with a tight supply of qualified candidates. If you’ve got the technical chops, a degree might become much more optional than a job description might lead you to believe.

  • Resource scarcity in Public Clouds

    In addition to this, there are some “special” moments, such as Thanksgiving and the nearby days that, by now, have become a widespread event even beyond the countries where they used to be celebrated. Probably, in the data-centers in areas where those festivities are celebrated (or at least where the capitalistic part of the celebration is celebrated), the load reaches the annual peak, due to the e-commerce websites.

    To make the situation even worst, many Cloud customers are rewriting and improving their applications, making them more cloud-native. Now, you’ll wonder how cloud-native applications can make things worse? The reason is very simple: the cloud-native applications scale. This means that during the off-peak season the applications will drastically reduce their footprint, creating the false feeling of resource abundancy.

    This situation creates some problems, in my opinion.

    First of all, since it’s very hard for the Public Cloud provider to estimate the load - and in the future, it will be even harder - we will have to live with frequent resource exhaustion in public clouds, which will make a single-cloud single-region application fragile. This will be true, not even considering the economic aspect of the problem. There will be situations where it will not be economically convenient for the Cloud Provider to provision enough resources to manage the peaks since the additional provisioning cost would not be repaid during the short periods those resources will be used.

  • Notice: Linode Classic Manager Users

    Our legacy Linode Manager will be decommissioned on January 31, 2020. After that time, you will be automatically redirected to the Cloud Manager when logging in to manage your infrastructure on Linode.

Wine/CodeWeavers and Games

Filed under
Gaming
  • CELEBRATING THE DIFFICULT; THE RELEASE OF CROSSOVER 19

    My family likes to make fun of me because I enjoy hard problems. One of my favorite games of all time is Don't Starve. The way I played it - with no googling allowed - meant that I died all the time. While each death would make me pull out more and more of my hair, when I was finally able to master winter and find the portal, I felt a genuine sense of accomplishment.

    That's true for CodeWeavers, as well. My first guiding principle is that I want to do challenging and meaningful work.

    And, it turns out, working on Wine is the most challenging thing I've ever been part of. We are re-implementing the Windows operating system; our 43 employees work every day to keep up with the work of the 144,000 people at Microsoft.

  • CrossOver 19.0 Released - Ending Out 2019 With Better Microsoft Office Support On Linux

    CodeWeavers has announced the availability of CrossOver 19 for their Wine-based software for running Windows programs/applications/games on macOS and Linux.

    CrossOver 19.0 entered beta last month with the headlining feature being initial support for macOS Catalina, including going to great lengths for supporting 32-bit Windows programs on Catalina even with Apple phasing out their 32-bit software support.

  • Playing Tomb Raider (Definitive Edition) Using Stadia on Linux

    Lara Croft, if you didn't already know, is an adventurer extraordinaire, and hero of the game, "Tomb Raider". As part of the Google Stadia Pro edition, I have had the pleasure to follow Lara Croft in some of her adventures in this amazing game. 

  •                

  • Playing CrossCode within a web browser

                     

                       

    The commercial video game Crosscode is written in HTML5, making it available on every system having chromium or firefox. The limitation is that it may not support gamepad (except if you find a way to make it work).

                       

    A demo is downloadable at this address https://radicalfishgames.itch.io/crosscode and should work using the following instructions.

  •                

         

  • Create a turn-based combat system | Wireframe #28

           

             

    Learn how to create the turn-based combat system found in games like Pokémon, Final Fantasy, and Undertale. Raspberry Pi’s Rik Cross shows you how.

  •       

  • Do you hear an odd buzzing sound? Minecraft 1.15 is out with a new friend

    Mojang just released the stable Minecraft 1.15 build with a new stripey friend, the Buzzy Bee and a bunch of new blocks.

    Even though it's not technically a major update and small in comparison to some previous, it's still quite feature-filled. There's now bees, bee nests and beehvies, honey blocks, a honey bottle, honeycomb and honeycomb blocks.

SUSE/OpenSUSE leftovers

Filed under
SUSE
  • Wrapping Up a Decade of Synergistic Technology

    What a decade! Thinking back to 2009, it?s obvious that so much has changed ? and so fast! Not surprisingly, technology is at the forefront of everything. But it?s not confined to just one branch or field of advancement. The 2010s can rightly be characterized as a decade of technological synergy. An era of overlapping and interdependent technologies where the combined effect and impact is greater than the sum of the individual elements.

    [...]

    As we finish one decade and start on a new one, it’s natural to speculate about what’s coming next. But as always, the future is difficult to predict. Sometimes, we don’t become aware of paradigm shifts or radical changes until they are in progress, or maybe even for a while after they have happened.

    Even so, one thing is beyond doubt. All the dominant industry trends involve interconnected, converging and synergistic technologies. In such a collaborative environment, the open source model is an indispensable and crucial element. It has become the “secret source” driving so much of the technological advancement and progress around us.

  • openSUSE Heroes: Piwik -> Matomo

    You might know that Piwik was renamed into Matomo more than a year ago. While everything is still compatible and even the scripts and other (internal) data is still named piwik, the rename is affecting more and more areas. Upstream is working hard to finalize their rename - while trying not to break too much on the other side. But even the file names will be renamed in some future version.

    Time - for us - to do some maintenance and start following upstream with the rename. Luckily, our famous distribution already has matomo packages in the main repository (which currently still miss Apparmor profiles, but hey: we can and will help here). So the main thing left (to do) is a database migration and the adjustments of all the small bits and bytes here and there, where we still use the old name.

  • How the Internet of Things (IoT) will drive adoption of Software Defined Storage

    Real world IoT use cases are everywhere. There are those we are familiar with as consumers: the app-controlled central heating system that sends household fuel consumption data to gas and electricity providers; the telemetry devices in the cars of inexperienced drivers, which report speed, location and journey duration data to the insurer; and the smart watch that records our sleep patterns, exercise workouts and our heart rate. Then there are those we are becoming familiar with as employees: the cameras that count us in and out of the workplace, manage security in retail outlets, or examine and optimise our journeys around a warehouse, and check ‘real’ stock levels vs the ERP count.

OSS Leftovers

Filed under
OSS
  • Interview candidates with an Open Source background

    I often say that there are two actions that defines the line management role: one-on-ones and hiring people. This is specially true in growing organizations. If you nail these actions, you have a great chance to influence your colleagues and organization, the ultimate goal, in my view, for a line manager.

    One of the common strategies to speed up the journey from being an Open Source contributor to become a Good Open Source citizen is to hire talent with a solid Open Source background. The process of hiring such talent is different from what most organizations and recruiters are used to. That is so true that we have now companies specialized in hiring these profiles.

    One key part of the hiring process is the interview.

    The article is another one of those I am writing the last couple of years about management topics, based on my experience working in Open Source as manager and consultant. More specifically, it is an attempt to describe some of the key points that hiring managers with little or no experience in hiring Open Source talent need to consider to increase their hit rate.

    As usual, I would appreciate if you add in the comments section or to me directly your experience, criticisms or missing points. I would add them to this article as update.

  • Marco Zehe: mailbox.org is giving new customers €6 until Jan 10, 2020

    The Open-Xchange web front-end is very accessible in many parts, and more stuff is added frequently with each release. I use it for my personal e-mail, and am really liking it. You can also use any compatible IMAP/SMTP mail client, the open standards integrate extremely well with iOS and MacOS.

  • How open source can live up to its name in a post-Brexit world

    “Brexit”, the popular term coined to represent Britain’s exit from membership of the European Union, has caused political and social turmoil in the UK for the past three years. And while the exit date may have shifted three times and prompted two general elections, clarity around whether the UK’s population and economy will be open or closed to the EU, after 46 years of membership, has yet to be realised. It is a situation which has left many people and businesses in the UK exhausted and uncertain of their future.

    Perhaps those handling the Brexit crisis could benefit from taking a closer look at the open source community, whose philosophy is based on working collaboratively toward common goals with the accent on quality and transparency. With this approach in mind, could Brexit present an opportunity, whatever the outcome of the UK’s voting practices?

  • Making LibreOffice a Friendly Platform for Indigenous People in Taiwan

    Like many indigenous or native people around the world, the indigenous Taiwanese people have been excluded from contemporary technology for decades. During the rapid development of personal computers between the 1960s and 1980s, the indigenous people were suffering from the “national language” policy, which banned all indigenous languages and discourse promoting Chinese identity in school. That is the reason that the earliest Chinese input method for computers was invented before 1976, but there were no equivalents for indigenous languages until the late 2000s.

    As smartphones boomed in this decade internationally, more and more indigenous people gained access to the internet mobile apps as, like other people do Taiwan. But the majority of the digital resources are still in Chinese: online news articles, educational materials, translation systems, digital government services, medical information, chat forums, and many more. Almost all of them are not available in the indigenous languages.

    Maybe Taiwan has done a lot for indigenous rights, but as members of the indigenous community and students of anthropology here, we think there is still huge room for improvement. The input system is the first step. Typing has been difficult for indigenous people as sentences are treated as English – hence tons of red underlines indicating spelling or grammatical “mistakes” identified by various office software brands in the market. Therefore, making indigenous dictionaries for the apps to remove the underlines has become the top priority of our work.

  • The Early History of Usenet, Part V: Authentication and Norms

    The obvious solution was something involving public key cryptography, which we (the original developers of the protocol: Tom Truscott, the late Jim Ellis, and myself) knew about: all good geeks at the time had seen Martin Gardner's "Mathematical Games" column in the August 1977 issue of Scientific American (paywall), which explained both the concept of public key cryptography and the RSA algorithm. For that matter, Rivest, Shamir, and Adleman's technical paper had already appeared; we'd seen that, too. In fact, we had code available for trapdoor knapsack encryption: the xsend command for public key encryption and decryption, which we could have built upon, was part of 7th Edition Unix, and that's what is what Usenet ran on.

  • Announcing Google Summer of Code 2020!

    Google Open Source is proud to announce Google Summer of Code (GSoC) 2020—the 16th year of the program! We look forward to introducing the 16th batch of student developers to the world of open source and matching them with open source projects, while earning a stipend so they can focus their summer on their project.

    Over the last 15 years GSoC has provided over 15,000 university students, from 109 countries, with an opportunity to hone their skills by contributing to open source projects during their summer break.

  • Git v2.24.1 and others

    The Git project has released Git v2.24.1, v2.23.1, v2.22.2, v2.21.1, v2.20.2, v2.19.3, v2.18.2, v2.17.3, v2.16.6, v2.15.4, and v2.14.6. "These releases fix various security flaws, which allowed an attacker to overwrite arbitrary paths, remotely execute code, and/or overwrite files in the .git/ directory etc." The release notes contained in this announcement have the details.

  •                            

  • New Release: Tor 0.4.2.5 (also 0.4.1.7, 0.4.0.6, and 0.3.5.9)

                                 

                                   

    This is the first stable release in the 0.4.2.x series. This series improves reliability and stability, and includes several stability and correctness improvements for onion services. It also fixes many smaller bugs present in previous series.

                                   

    Per our support policy, we will support the 0.4.2.x series for nine months, or until three months after the release of a stable 0.4.3.x: whichever is longer. If you need longer-term support, please stick with 0.3.5.x, which will we plan to support until Feb 2022.

  •                            

Ubuntu Server 20.04 LTS To Retire Their Old Debian Installer To Focus On Subiquity

Filed under
Ubuntu

Introduced back in Ubuntu Server 17.10 and improved upon since has been "Subiquity" as a new Ubuntu Server install option rather than their classic installer derived from Debian. But with Ubuntu 20.04 LTS, they will be dropping that Debian Installer based option and focusing solely on their modern "Subiquity" server installer option.

Canonical's Michael Hudson Doyle has laid out their plans for the server installer for Ubuntu 20.04 LTS that involve just supporting their new/current installer and dropping the old Debian Installer option.

As part of the new disclosure this week, for Ubuntu 20.04 LTS the server installer is expected to add auto-install support for automated/unattended installations, a resilient installation option, support for SSH'ing into an installer session, and VTOC partition table support for IBM s390x.

Read more

Direct:Server installer plans for 20.04 LTS

Audiocasts/Shows/Screencasts: LINUX Unplugged, Linux Headlines, Snapcraft & Ubuntu, Ubuntu Cinnamon Remix and EndeavourOS

Filed under
GNU
Linux
  • apt install arch-linux | LINUX Unplugged 331

    We're myth-busting this week as we take a perfectly functioning production server and switch it to Arch. Is this rolling distro too dangerous to run in production, or can the right approach unlock the perfect server? We try it so you don't have to.

  • 2019-12-10 | Linux Headlines

    Microsoft releases Teams for Linux, SiFive enters the education market, the Eclipse Foundation champions open source on edge computing, and xs:code wants to help improve open source funding models.

  • Brunch with Brent: Alan Pope | Jupiter Extras 38

    Brent sits down with Alan Pope (popey), who shares his knack for fuzzy-testing, the beginnings of Ubuntu Podcast, insights into Ubuntu Touch and Unity, the joys and perils of being “Internet Famous”, and how to contribute meaningfully to your favorite Linux distributions.

    popey is a Developer Advocate at Canonical working on Snapcraft & Ubuntu, co-host of User Error and Ubuntu Podcast.

  • Ubuntu Cinnamon Remix 19.10 - First Look

    Ubuntu Cinnamon Remix 19.10 is the very first version of a potential new member of the Ubuntu family of Linux distributions.

  • EndeavourOS 2019.12.03 Run Through

    In this video, we are looking at EndeavourOS 2019.12.03. Enjoy!

ARM and AMD: GNU/Linux on Board

Filed under
Hardware
  • ARM Again in 2019 or 2020

    The assertion that nobody cares about SBSA is rather interesting. Obviously, nobody in the embedded area does. They just fork Linux, clone a bootloader, flash it and ship, and then your refrigerator sends spam and your TV is used to attack your printer, while they move on the next IoT product. But I do care. I want to download Fedora and run it, like I can on x86. Is that too much to ask?

  • EEPD Launches AMD Ryzen Embedded NUC Boards & Mini PCs

Programming: Rust, Haskell, Qt and Python

Filed under
Development
  • Sonja Heinze: What this blog is about

    In order to ask for an Outreachy grant for a certain open-source project, applicants first have to contribute to that project for about a month. When choosing a project, I didn’t know any Rust. But the fact that Fractal is written in Rust was an important point in favor due to curiosity. But I also expected to have a hard time at the beginning. Fortunately, that wasn’t really the case. For those who haven’t used Rust, let me give two of the reasons why:

    If you just start coding, the compiler takes you by the hand giving you advice like “You have done X. You can’t do that because of Y. Did you maybe mean to do Z?”. I took those pieces of advice as an opportunity to dig into the rules I had violated. That’s definitely a possible way to get a first grip on Rust.

    Nevertheless, there are pretty good sources to learn the basics, for example, the Rust Book. Well, to be precise, there’s at least one (sorry, I’m a mathematician, can’t help it, I’ve only started reading that one so far). It’s not short, but it’s very fast to read and easy to understand. In my opinion, the only exception being the topics on lifetimes. But lifetimes can still be understood by other means.

  • Joey Hess: announcing the filepath-bytestring haskell library

    filepath-bytestring is a drop-in replacement for the standard haskell filepath library, that operates on RawFilePath rather than FilePath.

  • Parsing XML with Qt: Updates for Qt 6

    This module provides implementations for two different models for reading and writing XML files: Document Object Model (DOM) and Simple API for XML (SAX). With DOM model the full XML file is loaded in memory and represented as a tree, this allows easy access and manipulation of its nodes. DOM is typically used in applications where you don't care that much about memory. SAX, on the other hand, is an event based XML parser and doesn't load the whole XML document into memory. Instead it generates events for tokens while parsing, and it's up to the user to handle those events. The application has to implement the handler interfaces (fully, or partially by using QXmlDefaultHandler). A lot of people find this inconvenient as it forces them to structure their code around this model.

    Another problem is that the current implementation of SAX (and as a consequence DOM, since it's implemented using SAX) is not fully compliant with the XML standard. Considering these downsides, Qt does not recommend using SAX anymore, and the decision has been made to deprecate those classes starting from Qt 5.15.

  • pathlib and paths with arbitrary bytes

    The pathlib module was added to the standard library in Python 3.4, and is one of the many nice improvements that Python 3 has gained over the past decade. In three weeks, Python 3.5 will be the oldest version of Python that still receive security patches. This means that the presence of pathlib can soon be taken for granted on all Python installations, and the quest towards replacing os.path can begin for real.

    In this post I’ll have a look at how pathlib can be used to handle file names with arbitrary bytes, as this is valid on most file systems.

  • PyCoder’s Weekly: Issue #398 (Dec. 10, 2019)
  • Variables in Python

    If you want to write code that is more complex, then your program will need data that can change as program execution proceeds.

  • Creating an email service for my son’s childhood memories with Python

    This was very flexible as it allowed me to keep anything else I wanted in this document – and it was portable (to anyone who have access to some way of reading Word documents) – and accessible to non-technical people such as my son’s grandparents.

    After a while though, I wondered if I’d made the right decision: shouldn’t I have put it into some other format that could be accessed programmatically? After all, if I kept doing this for his entire childhood then I’d have a lot of interesting data in there…

    Well, it turns out that a Word table isn’t too awful a format to store this sort of data in – and you can access it fairly easily from Python.

    Once I realised this, I worked out what I wanted to create: a service that would email me every morning listing the things I’d put as diary entries for that day in previous years. I was modelling this very much on the Timehop app that does a similar thing with photographs, tweets and so on, so I called it julian_timehop.

  • Executing Shell Commands with Python

    Repetitive tasks are ripe for automation. It is common for developers and system administrators to automate routine tasks like health checks and file backups with shell scripts. However, as those tasks become more complex, shell scripts may become harder to maintain.

    Fortunately, we can use Python instead of shell scripts for automation. Python provides methods to run shell commands, giving us the same functionality of those shells scripts. Learning how to run shell commands in Python opens the door for us to automate computer tasks in a structured and scalable way.

    In this article, we will look at the various ways to execute shell commands in Python, and the ideal situation to use each method.

Red Hat Leftovers

Filed under
Red Hat
  • Red Hat Global Customer Tech Outlook 2020: Hybrid cloud leads strategy, AI/ML leaps to the forefront

    For the sixth year running, we have reached out to our customers to hear where they are in their technology journey, and where they wish to go in the next year. For the 2020-focused survey, we received more than 870 qualified responses1 from Red Hat customers from around the world. They've weighed in about their challenges, strategies, and technologies they are planning to pursue in the next year and we're eager to share the results with you in our report.

  • NooBaa Operator for data management, now on OperatorHub.io

    We are excited to announce a new Operator—the NooBaa Operator for data management. The NooBaa Operator is an upstream effort that Red Hat is leading and is included as part of the features of the upcoming Red Hat OpenShift Container Storage 4, currently released for Early Access.

    Operators are design patterns that augment and implement common day one and day two activities with Kubernetes clusters, simplifying application deployments and empowering developers to focus on creation versus remediation.

  • Cloud native and Knative at W-JAX 2019

    The W-JAX conference in November 2019 in Munich, Germany, is a popular conference for Java, architecture, and software innovation with highly renowned speakers and sessions. Hot topics at this year’s conference included cloud-native development and open source technologies. Knative is one of the hottest topics, particularly here in Germany, it even has prime position on this month’s Java Magazin front cover.

    It was a pleasure to welcome Jason McGee, IBM Fellow, VP and CTO of the IBM Cloud Platform, whose keynote “The 20 Year Platform – bringing together Kubernetes, 12-Factor and Functions” revealed the next twenty years of application development. Jason showed the open source technologies that define how developers can rapidly build and operate high scale applications, discussing the key role Kubernetes plays in cloud platforms. However, in the future, Kubernetes will not be enough. Jason stressed the importance of up-and-coming tools such as Knative, Kabanero, Tekton and Razee, for the cloud-native landscape of the future.

Vanilla is a complex and delicious flavour

Filed under
GNU
Linux
GNOME

If we’re looking at the code shipping in Endless OS today, then yes, our desktop is vanilla GNOME Shell with a few hundred patches on top, and yes, as a result, rebasing onto new GNOME releases is a lot of work. But the starting point for Endless OS was not “what’s wrong with GNOME?” but “what would the ideal desktop look like for a new category of users?”.

When Endless began, the goal was to create a new desktop computing product, targeting new computer users in communities which were under-served by existing platforms and products. The company conducted extensive field research, and designed a desktop user interface for those users. Prototypes were made using various different components, including Openbox, but ultimately the decision was made to base the desktop on GNOME, because GNOME provided a collection of components closest to the desired user experience. The key point here is that basing the Endless desktop on GNOME was an implementation detail, made because the GNOME stack is a robust, feature-rich and flexible base for a desktop.

Over time, the strategy shifted away from being based solely around first-party hardware, towards distributing our software a broader set of users using standard desktop and laptop hardware. Around the same time, Endless made the switch from first- and third-party apps packaged as a combination of Debian packages and an in-house system towards using Flatpak for apps, and contributed towards the establishment of Flathub. Part of the motivation for this switch was to get Endless out of the business of packaging other people’s applications, and instead to enable app developers to directly target desktop Linux distributions including, but not limited to, Endless OS.

A side-effect of this change is that our user experience has become somewhat less consistent because we have chosen not to theme apps distributed through Flathub, with the exception of minimize/maximize window controls and a different UI font; and, of course, Flathub offers apps built with many different toolkits. This is still a net positive: our users have access to many more applications than they would have done if we had continued distributing everything ourselves.

Read more

Mozilla: WebXR, ECSY, Rust, Async, Privacy and Watchpoints in Firefox 72

Filed under
Moz/FF
  • Getting WebXR to 1.0

    As the WebXR standard goes through the final stretch to hit 1.0, we have updated our tools to the final API. WebXR is the new standard for virtual and augmented reality on the web. It lets web developers create immersive experiences without native code or installing an app. People can browse VR catalogs, play VR games, and view 360 videos. On the AR side, you can build a web app that places objects in real 3D space inside of a viewer’s living room, while still protecting user privacy and security. It is still in the draft state, but we don’t expect any more API changes before it hits Candidate Release (CR) in early 2020.

  • ECSY Developer tools extension

    Two months ago we released ECSY, a framework-agnostic Entity Component System library you could use to build real time applications with the engine of your choice.

    Today we are happy to announce a developer tools extension for ECSY, aiming to help you better understand what it is going on in your application when using ECSY.

    A common requirement when building applications that require high performance- such as real time 3D graphics, AR and VR experiences- is the need to understand which part of our application is consuming more resources. We could always use the browsers’ profilers to try to understand our bottlenecks but they can be a bit unintuitive to use, and it is hard to get an overview of what is going on in the entire application, rather than focusing on a specific piece of your code.

  • How to speed up the Rust compiler one last time in 2019

    I last wrote in October about my work on speeding up the Rust compiler. With the year’s end approaching, it’s time for an update.

  • Async Interview #2: cramertj, part 2

    In the first post, I covered what we said about Fuchsia, interoperability, and the organization of the futures crate. This post covers cramertj’s take on the Stream trait as well as the AsyncRead and AsyncWrite traits.

  • India’s new data protection bill: Strong on companies, step backward on government surveillance

    Yesterday, the Government of India shared a near final draft of its data protection law with Members of Parliament, after more than a decade of engagement from industry and civil society. This is a significant milestone for a country with the second largest population on the internet and where privacy was declared a fundamental right by its Supreme Court back in 2017.

    Like the previous version of the bill from July 2018 developed by the Justice Srikrishna Committee, this bill offers strong protections in regards to data processing by companies. Critically, this latest bill is a dramatic step backward in terms of the exceptions it grants for government processing and surveillance.

    The original draft, which we called groundbreaking in many respects, contained some concerning issues: glaring exceptions for the government use of data, data localisation, an insufficiently independent data protection authority, and the absence of a right to deletion and objection to processing. While this new bill makes progress on some issues like data localisation, it also introduces new threats to privacy such as user verification for social media companies and forced transfers of non-personal data.

  • Debugging Variables With Watchpoints in Firefox 72

    Have you ever wanted to know where properties on objects are read or set in your code, without having to manually add breakpoints or log statements? Watchpoints are a type of breakpoint that provide an answer to that question.

    If you add a watchpoint to a property on an object, every time the property is used, the debugger will pause at that location. There are two types of watchpoints: get and set. The get watchpoint pauses whenever a property is read, and the set watchpoint pauses whenever a property value changes.

    The watchpoint feature is particularly useful when you are debugging large, complex codebases. In this type of environment, it may not be straightforward to predict where a property is being set/read.

    Watchpoints are also available in Firefox’s Visual Studio Code Extension where they’re referred to as “data breakpoints.” You can download the Debugger for Firefox extension from the VSCode Marketplace. Then, read more about how to use VSCode’s data breakpoints in VSCode’s debugging documentation.

Clementine | A New Music Player in Debian 10

Filed under
Software
Reviews

Clementine has improved the interface by putting all the main features, from accessing the local library to streaming services, on a sidebar on the left. This sidebar has several options, although the most legible, the plain toolbar, is not the default. Still, no matter what the appearance, Clementine’s sidebar goes one better than Amarok by adding a file manager to the tool collection. However, one change that is not an improvement is the song info tool. To get lyrics and other information, users must click on a link and go to their web browser. There, instead of offering and displaying a best guess, like Amarok does, Clementine offers a range of possibilities, which are often so lengthy a list that, by the time you find the right entry, the track could easily have finished. Admittedly, Amarok’s best guess could occasionally be hilariously wrong, but it was quicker and displayed results in Amarok’s own window.

Another interface quirk that Clementine does not improve upon is Amarok’s insistence that, unless File | Quit is selected, it minimizes to the notification bar. I have always wondered: Why isn't shutting down the window (no matter how you close the window) the default behavior and minimizing a deliberate choice? I also don't see much reason for the mood bar, whose colors supposedly change to reflect the nature of the current song. Fortunately, though, the mood bar can be turned off in Tools | Preferences | Appearance.

Still, although some of the tools are less than optional, on the whole, Clementine preserves Amarok’s tradition of attempting to digitally reproduce the experience of a physical album -- an effort that few other music players do as well, or at all. I especially like Clementine’s tabbed playlists, which mean that selections can be queued up like a stack of LPs or CDs, with only a click required to change them.

Read more

Also: The best free music production software

Canonical Helping Windows and E.E.E. Tactics

Filed under
Microsoft
Ubuntu
  • Canonical Sponsoring Microsoft’s 1st Windows Subsystem For Linux Conference!

    Canonical Sponsors WSL Conference: The team Canonical is the founders of Ubuntu Linux Operating System. The team canonical announced that the team Canonical will be a featured as a sponsor on Microsoft’s 1st WSL Conference. This is the 1st conference held by Microsoft team for WSL.
    The official WSL Conference is scheduled for March 10th-11th, 2020 at Microsoft’s headquarters in Redmond, Washington
    We can expect that the conference will bring “Founders, Developers, Programmers, Community Members” from the WSL project.

  • Canonical Sponsors WSLConf, Microsoft?s First Linux Conference

    WSLConf is the first Linux-related conference to be hosted by Microsoft and, if you hadn?t already guessed, is focused around the Windows Subsystem for Linux (aka WSL and WSL 2).

    Developers, enthusiasts, and users WSL will get to enjoy two jam-packaged days dedicated to the tech, with presentations, workshops, and networking around the platform.

  • Canonical co-sponsors Windows Subsystem for Linux conference

    There may never be a "Year of the Linux desktop" per se, but Linux on Windows, via the Windows Subsystem for Linux (WSL), is certainly gaining popularity. Canonical, Ubuntu Linux's parent company, has just announced it will help sponsor WSLConf, the first WSL-specific conference.

  • Canonical to Sponsor Microsoft's First Windows Subsystem for Linux Conference

    Canonical, the company behind the popular Ubuntu Linux operating system, announced that they will be an official sponsor of Microsoft's first-ever Linux Conference for WSL (Windows Subsystem for Linux).

    Announced earlier this fall, WSLconf, the first Microsoft Linux Conference for WSL (Windows Subsystem for Linux), a Windows 10 feature that allows users to run various GNU/Linux distributions on top of their Windows installations, will take place next spring from March 10th to 11th, and it looks like Canonical will be there to give presentations and also sponsor the event.

Eclipse Foundation launches Edge Native Working Group

Filed under
Development

The Eclipse Foundation announced an “Edge Native Working Group” to develop open source software for edge computing, starting with its Eclipse ioFog and Eclipse fog05 projects. Members include Adlink, Bosch, Edgeworx, Eurotech, Huawei, Intel, Kynetics, and Siemens.

The Edge Native Working Group is a “vendor-neutral and code-first industry collaboration that will drive the evolution and broad adoption of open source software for edge computing,” says the Eclipse Foundation. The new working group will develop an end-to-end software stack that will support IoT, AI, autonomous vehicles, and more.

Read more

Graphics: GraphicsFuzz, RadeonSI, Mesa, Corruption Issues and Unisoc

Filed under
Graphics/Benchmarks
  • Google Releases GraphicsFuzz 1.3 For Continuing To Fuzz GPU Drivers

    GraphicsFuzz is the project born out of academia a few years ago for fuzzing GPU drivers to find OpenGL / OpenGL ES (WebGL) driver issues. This work was ultimately acquired by Google and then open-sourced just over one year ago. Today marks the release of GraphicsFuzz 1.3.

    GraphicsFuzz these days is no longer about just OpenGL / GLES and GLSL shaders but also operating on SPIR-V shaders for consumption by Vulkan drivers. There are also GLSL/SPIR-V shader reducers in addition to the fuzzer that relies upon randomized metamorphic testing.

  • RadeonSI Driver Switches To NIR, Thereby Enabling OpenGL 4.6 By Default For AMD GPUs

    Mesa 20.0 due out in Q1'2020 is now the magical release that is set to switch on RadeonSI NIR usage by default in place of the TGSI intermediate representation. What makes this IR switch-over prominent is that OpenGL 4.6 is then enabled by default on this open-source Gallium3D driver supporting Radeon HD 7000 series GPUs and newer.

    Recently in Mesa 20.0-devel, RadeonSI plumbed in OpenGL 4.6 support but it was contingent upon enabling NIR due to sharing some code-paths with the NIR-built RADV Vulkan driver around the SPIR-V code. NIR is the intermediate representation that most Mesa OpenGL/Vulkan drivers are focusing on and is more versatile than the likes of TGSI, the traditional IR of Gallium3D that has been around a decade.

  • Mesa 19.3 Is Introducing A Lot Of Open-Source OpenGL + Vulkan Driver Improvements

    Mesa 19.3 could be released as soon as this week after being challenged by several delays over blocker bugs. This release should be making it out in the days ahead and is a fantastic Christmas gift to Linux desktop users and a big step-up for these OpenGL / Vulkan driver implementations as we end out 2019.
    Among the many changes to find with this quarterly Mesa3D update are finally having OpenGL 4.6 for Intel, initial Intel Gen12/Tigerlake support, Zink was merged for OpenGL on top of Vulkan, Radeon Vulkan ACO back-end added for better Linux gaming performance, many new Vulkan extensions supported on both the Intel and Radeon drivers, the Intel Gallium3D driver is now in excellent shape, there are more Intel performance optimizations, and a lot of other changes throughout.

  • Radeon OpenGL Linux Driver Gets Fix For Corruption Issues

    An issue affecting some Linux users with Radeon graphics for at least the last four months around graphics corruption problems when switching to newer versions of the Linux kernel have been resolved.

    On Linux 5.2+ have been reports of some graphics corruption issues in cases like web browsers. While the issue manifested with a kernel upgrade, the resolution is a change to the RadeonSI OpenGL driver. Besides the aforelinked DRM bug report, there has also been other similar bug reports like garbled graphics.

  • Unisoc Looking To Introduce A New DRM Display Driver For Mainline Linux

    Unisoc, the Chinese SoC provider for smartphones that is part of the Tsinghua Unigroup, has published a new open-source DRM display driver that ultimately they are looking to get into the mainline kernel.

    Out today is just the "request for comments" patches for this Unisoc "SPRD" Direct Rendering Manager display driver. The twelve thousand lines of driver code wire up their display controller, MIPI DSI, MIPI DPHY, and the Unisoc display subsystem. The patches were worked on by Unisoc with cooperation from Linaro. All of this driver work is on the display front as their SoCs for 3D/GPU capabilities rely upon Arm Mali and Imagination PowerVR IP.

Syndicate content

More in Tux Machines

Kernel: LWN Articles and Radeon Linux 5.6 Changes

  • Fixing SCHED_IDLE

    The scheduler implements many "scheduling classes", an extensible hierarchy of modules, and each class may further encapsulate "scheduling policies" that are handled by the scheduler core in a policy-independent way. The scheduling classes are described below in descending priority order; the Stop class has the highest priority, and Idle class has the lowest. The Stop scheduling class is a special class that is used internally by the kernel. It doesn't implement any scheduling policy and no user task ever gets scheduled with it. The Stop class is, instead, a mechanism to force a CPU to stop running everything else and perform a specific task. As this is the highest-priority class, it can preempt everything else and nothing ever preempts it. It is used by one CPU to stop another in order to run a specific function, so it is only available on SMP systems. The Stop class creates a single, per-CPU kernel thread (or kthread) named migration/N, where N is the CPU number. This class is used by the kernel for task migration, CPU hotplug, RCU, ftrace, clock events, and more. The Deadline scheduling class implements a single scheduling policy, SCHED_DEADLINE, and it handles the highest-priority user tasks in the system. It is used for tasks with hard deadlines, like video encoding and decoding. The task with the earliest deadline is served first under this policy. The policy of a task can be set to SCHED_DEADLINE using the sched_setattr() system call by passing three parameters: the run time, deadline, and period. To ensure deadline-scheduling guarantees, the kernel must prevent situations where the current set of SCHED_DEADLINE threads is not schedulable within the given constraints. The kernel thus performs an admittance test when setting or changing SCHED_DEADLINE policy and attributes. This admission test calculates whether the change can be successfully scheduled; if not, sched_setattr() fails with the error EBUSY. The POSIX realtime (or RT) scheduling class comes after the deadline class and is used for short, latency-sensitive tasks, like IRQ threads. This is a fixed-priority class that schedules higher-priority tasks before lower-priority tasks. It implements two scheduling policies: SCHED_FIFO and SCHED_RR. In SCHED_FIFO, a task runs until it relinquishes the CPU, either because it blocks for a resource or it has completed its execution. In SCHED_RR (round-robin), a task will run for the maximum time slice; if the task doesn't block before the end of its time slice, the scheduler will put it at the end of the round-robin queue of tasks with the same priority and select the next task to run. The priority of the tasks under the realtime policies range from 1 (low) to 99 (high).

  • Virtio without the "virt"

    One might ask why it makes sense to implement virtio devices in hardware. After all, they were originally designed for hypervisors and have been optimized for software rather than hardware implementation. Now that virtio support is widespread, the network effects allow hardware implementations to reuse the guest drivers and infrastructure. The virtio 1.1 specification defines ten device types, among them a network interface, SCSI host bus adapter, and console. Implementing a standards-compliant device interface lets hardware implementers focus on delivering the best device instead of designing a new device interface and writing guest drivers from scratch. Moreover, existing guests will work with the device out of the box, and applications utilizing user-space drivers, such as the DPDK packet processing toolkit, do not need to be relinked with new drivers — this is especially helpful when static linking is utilized. Implementing virtio in hardware also makes it easy to switch between hardware and software implementations. A software device can be substituted without changing guest drivers if the hardware device is acting up. Similarly, if the driver is acting up, it is possible to substitute a software device to make debugging the driver easier. It is possible to assign hardware devices to performance-critical guests while assigning software devices to the other guests; this decision can be changed in the future to balance resource needs. Finally, implementing virtio in hardware makes it possible to live-migrate virtual machines more easily. The destination host can have either software or hardware virtio devices.

  • 5.5 Merge window, part 1

    The 5.5 merge window got underway immediately after the release of the 5.4 kernel on November 24. The first week has been quite busy despite the US Thanksgiving holiday landing in the middle of it. Read on for a summary of what the first 6,300 changesets brought for the next major kernel release.

  • Radeon Linux 5.6 Changes Begin Queuing - Better Power Management, Adds DMCUB Controller

    While the Linux 5.5 merge window has just been over for less than one week, AMD has already submitted their first batch of feature updates to DRM-Next of new graphics driver material aiming for Linux 5.6 early next year.

Screencasts and Shows: Pisi Linux 2.1.2 Run Through, Linux Headlines, Going Linux, FLOSS Weekly and Selling Keynotes/Tweets at the Linux Foundation

GNOME at the Back End and GNOME Shell 3.35.2

  • Molly de Blanc: Keeping the (server) lights on

    Building and maintaining infrastructure for the GNOME project is one of the many activities of the GNOME Foundation, and it’s one of the most important. Building software like the GNOME desktop environment requires a lot of technical support, including managing servers and providing collaboration tools. Since GNOME is focused on being a self-sustaining community, we look as much as possible to managing our own services and software, and making sure it is free and open source. The GNOME Infrastructure Team currently supports a total of 34 virtual machines hosted on a total of eight bare metal nodes. These virtual machines allow us to run services like the Openshift Container Platform (OSCP), which provides self-service access to the community to run any of their workflows on an automated and containarized fashion. GNOME is build using self-hosted FOSS. We collaboratively build GNOME using a GitLab instance, which has a total of 15k accounts. We do shared storage using NextCloud. Community discussion is handled over Mailman, Discourse, and MoinMoin. We are currently using Indico and Connfa for our event planning and management.

  • GNOME Shell 3.35.2 Begins Launching Spawned Processes Within Systemd Scopes

    Out today is a new development release of GNOME Shell on the road to GNOME 3.36 in March. Among the changes in this new GNOME Shell snapshot include: - Spawned processes are now placed within systemd scopes in order to improve out-of-memory behavior for applications, an easy means of being able to kill other processes when the shell is restarted, and other use-cases. Systemd scopes allow managing of processes for organization and resource management purposes.

Security: Proprietary Software Holes and More

  • It's the end of the 20-teens, and your Windows PC can still be pwned by nothing more than a simple bad font

    With the year winding to a close and the holiday parties set to kick off, admins will want to check out the December Patch Tuesday load from Microsoft, Adobe, Intel, and SAP and get them installed before downing the first of many egg nogs. [...] Also of note is CVE-2019-1471, a critical hypervisor escape bug that would allow an attacker running on a guest VM to execute code on the host box. The bulk of this month's critical fixes were for a series of five remote code execution flaws in Git for Visual Studio. In each of the flaws, said to be caused by improper handling of command-line input, an attacker would launch the exploit by convincing the target to clone a malicious repo. The remaining critical patch is for CVE-2019-1468, a play on the tried-and-true font-parsing vulnerability. In the wild, an attacker would embed the poisoned font file in a webpage and attack any system that visits.

  • Exploring Legacy Unix Security Issues

    The operating system SGI IRIX 6.5.22 was declared end of life in 2003, so it has limited use as a production system. I decided I could relive the good old days by looking for new vulnerabilities on an old system in my spare time. It was also an excuse to write some C code, and refresh my memory. One of my favorite vulnerabilities is the Insecure Temporary File (CWE-377). This involves manipulating files created in /tmp in an insecure manner. A file is created in /tmp by a piece of software that doesn’t check if the file exists before creating it. Allowing a malicious local user to symlink that file to a critical system file and overwriting it with the contents of what is written to the file in /tmp. So I started looking under the /usr/sbin directory for binaries to target. I did a quick examination of binaries and scripts in using the find command to give myself a starting point.

  • Private Internet Access updates Linux desktop client to prevent against [CVE-2019-14899]

    The Breakpointing Bad team at the University of New Mexico recently reported a VPN vulnerability that affects Linux, MacOS, iOS, Android, and more. The vulnerability allows malicious actors to not only see your VPN IP address, but also identify sites you are visiting and inject data into connections. The team consists of William J. Tolley, Beau Kujath, and Jedidiah R. Crandall and the public was notified on December 4th, 2019. Designated [CVE-2019-14899], the vulnerability shook the VPN industry due to the breadth of affected systems. [CVE-2019-14899] affects many different types of VPN protocols including OpenVPN, WireGuard, and IKEv2/IPSec. Private Internet Access has released an update to its Linux client that mitigates [CVE-2019-14899] from being used to infer any information about our users’ VPN connections. To our knowledge, Private Internet Access is the first commercial VPN to release a new client that prevents this ongoing security vulnerability.

  • Chrome now warns you when your password has been stolen

    Google is rolling out Chrome version 79 today, and it includes a number of password protection improvements. The biggest addition is that Chrome will now warn you when your password has been stolen as part of a data breach. Google has been warning about reused passwords in a separate browser extension or in its password checkup tool, but the company is now baking this directly into Chrome to provide warnings as you log in to sites on the web.