Skip to main content

Linux News

KStars v3.0.0 Now Available, Malware Targeting IoT Devices Is Growing, Enhanced Privacy Settings for Mozilla's Latest Firefox Focus, Coreboot 4.9 Released and Pivotal Announces Pivotal Cloud Foundry Platform Version 2.4

Linux Journal - Fri, 12/21/2018 - 09:30

News briefs for December 21, 2018.

KStars v3.0.0 was released today after four months of development. Jasem's Ekosphere blog post lists all the new features including the XPlanet Solar System View developed by Robert Lancaster, significant improvements to FITS viewer GUI, scheduler improvements and more.

Malware targeting IoT devices is growing. BetaNews reports that according to McAfee Labs, "new malware targeting IoT devices grew 72 percent with total malware growing 203 percent in the last four quarters". The growth is partly attributed to devices being harnessed for cryptomining. See the McAfee Labs Threats Report, December 2018 for all the details.

Mozilla announces the latest release of Firefox Focus, introducing enhanced privacy settings. According to the Mozilla blog, "You can choose to block all cookies on a website, no cookies at all—the default so far—third party cookies or only 3rd party tracking cookies as defined by Disconnect's Tracking Protection list. If you go with the latter option, which is new to Firefox Focus and also the new default, cross-site tracking will be prevented." You can get the latest version of Firefox Focus from Google Play and in the App Store.

Coreboot 4.9 was released this week sporting more than 2,600 changes and ports to 56 new motherboards. According to Phoronix, Coreboot 4.9 "features a number of code clean-ups to the different motherboard ports and all over, the Coreboot documentation is now hosted within the repository, the Intel FSP binaries are now integrated within the build system, and a number of older boards have been deprecated". See the release notes for more details.

Pivotal yesterday announced the release of version 2.4 of its Pivotal Cloud Foundry (PCF) platform, which is a commercial distribution, based on the open-source Cloud Foundry project. New to this version, according to eWeek is "zero downtime updates for application deployments, enabling organizations to roll out upgrades without downtime. PCF 2.4 also introduces a new compliance scanner in beta that will enable organizations to validate that the configuration of PCF deployments meets best practices".

News KStars Astronomy KDE IOT Security Mozilla Privacy coreboot Cloud Cloud Foundry Pivotal
Categories: Linux News

CI/CD and the New Generation of Software Delivery: an Interview with Harness

Linux Journal - Fri, 12/21/2018 - 08:15
by Petros Koutoupis

Continuous integration and continuous delivery (CI/CD) is all the rage in the modern world of software development. But actually what is this pipeline process? It's a method or set of principles for which development teams implement and deliver code more frequently and reliably.

Continuous integration embodies a coding philosophy and set of practices propelling teams to implement small and frequent code changes into version control repositories, while the continuous delivery picks up where the CI ends and automates the application's delivery

Many platforms, such as Jenkins and CircleCI, exist to help companies and teams streamline the development and integration of their software stacks, but not much exists in the way of easing and automating the process of delivery. And with what does exist, the solutions tend to fall short with features and functionality, or they are overly complicated to configure in the first place.

This is where Harness comes into the picture. Harness produces the industry's very first Continuous Delivery-as-a-Service platform. Using machine learning, it simplifies and automates the entire CD process. Steve Burton, VP of marketing at Harness, recently took the time to share more details with me.

Petros Koutoupis: Please introduce yourself to our readers.

Steve Burton: While officially the VP of marketing, I am a DevOps Evangelist over at Harness. What this means is that I do a little bit of everything. While most of my career has been in product management and marketing, I stepped out of the university with a bachelor's degree in computer science and an initial career in Java development (ca. 2004 at Sapient), working on large-scale enterprise J2EE implementations. Prior to Harness, I did geek stuff at AppDynamics, Moogsoft and Glassdoor. And when not knee-deep in take, I enjoy spending my time watching F1 and researching cars on the web.

PK: What is Harness?

SB: We provide Continuous Delivery as-a-Service. It's the CD bit of the CI/CD equation that helps customers automate how their software is deployed and delivered to end users in production.

We basically allow customers to move fast without breaking things, so they can increase developer velocity without the risk of downtime or failure.

PK: What problem or problems does Harness solve?

SB: Developers are under tremendous pressure to deliver applications to production, fast and with zero error. It's a constant pain, one that I personally dealt with as a former Java developer. Our founders had also seen this challenge firsthand, and that's why they started Harness.

Go to Full Article
Categories: Linux News

Qt Announces Qt for Python, All US Publications from 1923 to Enter the Public Domain in 2019, Red Hat Chooses Team Rubicon for Its 2018 Corporate Donation, SUSE Linux Enterprise 15 SP1 Released and Microsoft Announces Open-Source "Project Mu"

Linux Journal - Thu, 12/20/2018 - 10:24

News briefs for December 20, 2018.

Qt introduces Qt for Python. This new offering allows "Python developers to streamline and enhance their user interfaces while utilizing Qt's world-class professional support services". According to the press release, "With Qt for Python, developers can quickly and easily visualize the massive amounts of data tied to their Python development projects, in addition to gaining access to Qt's world-class professional support services and large global community." To download Qt for Python, go here.

As of January 1, 2019, all works published in the US in 1923 will enter the public domain. The Smithsonian reports that it's been "21 years since the last mass expiration of copyright in the U.S." The article continues: "The release is unprecedented, and its impact on culture and creativity could be huge. We have never seen such a mass entry into the public domain in the digital age. The last one—in 1998, when 1922 slipped its copyright bond—predated Google. 'We have shortchanged a generation,' said Brewster Kahle, founder of the Internet Archive. 'The 20th century is largely missing from the internet.'"

Red Hat chooses Team Rubicon for its 2018 US corporate holiday donation. The $75,000 donation will "will contribute to the organization's efforts to provide emergency response support to areas devastated by natural disasters." From Red Hat's announcement: "By pairing the skills and experiences of military veterans with first responders, medical professionals and technology solutions, Team Rubicon aims to provide the greatest service and impact possible. Since its inception following the 2010 Haiti earthquake, Team Rubicon has launched more than 310 disaster response operations in the U.S. and across the world—including 86 in 2018 alone."

SUSE Linux Enterprise 15 Service Pack 1 Beta 1 is now available. Some of the changes include Java 11 is now the default JRE, libqt was updated to 5.9.7, LLVM was updated to version 7, and much more. According to the announcement, "roughly 640 packages have been touched specifically for SP1, in addition to packages updated with Maintenance Updates since SLE 15." See the release notes for more information.

Microsoft yesterday announced "Project Mu" as an open-source UEFI alternative to TianoCore. Phoronix reports that "Project Mu is Microsoft's attempt at 'Firmware as a Service' delivered as open-source. Microsoft developed Project Mu under the belief that the open-source TianoCore UEFI reference implementation is 'not optimized for rapid servicing across multiple product lines.'" See also the Microsoft blog for details.

News qt python Copyright public domain Red Hat SUSE Microsoft UEFI
Categories: Linux News

Removing Duplicate PATH Entries: Reboot

Linux Journal - Thu, 12/20/2018 - 08:00
by Mitch Frazier


In my first post on removing duplicate PATH entries I used an AWK one-liner. In the second post I used a Perl one-liner, or more accurately, I tried to dissect a Perl one-liner provided by reader Shaun. Shaun had asked that if I was willing to use AWK (not Bash), why not use Perl? It occurred to me that one might also ask: why not just use Bash? So, one more time into the void.

Go to Full Article
Categories: Linux News

Lessons in Vendor Lock-in: Messaging

Linux Journal - Wed, 12/19/2018 - 09:08
by Kyle Rankin

Is messaging really so complicated that you need five different messaging apps on your phone? Discover the reasons behind messaging vendor lock-in.

One of the saddest stories of vendor lock-in is the story of messaging. What makes this story sad is that the tech industry has continued to repeat the same mistakes and build the same proprietary systems over the last two decades, and we as end users continue to use them. In this article, I look at some of the history of those mistakes, the lessons we should have learned and didn't, and the modern messaging world we find ourselves in now. Along the way, I offer some explanations for why we're in this mess.

The First Wave

My first exposure to instant messaging was in the late 1990s. This was the era of the first dotcom boom, and it seemed like every internet company wanted to be a portal—the home page for your browser and the lens through which you experienced the web and the rest of the internet. Each of these portals created instant messengers of their own as offshoots of group chat rooms, such as AOL Instant Messenger (AIM), Yahoo Chat and MSN chat among others. The goal of each of them was simple: because you had to register an account with the provider to chat with your friends, once a service had a critical mass of your friends, you were sure to follow along so you wouldn't be left out.

My friends ended up using ICQ, so I did too. Unlike some of the others, ICQ didn't have a corresponding portal or internet service. It focused only on instant messaging. This service had its heyday, and for a while, it was the main instant messenger people used unless they were already tied in to another IM service from their internet portal.

The nice thing about ICQ, unlike some of the other services at the time, was that it didn't go to great effort to obscure its API and block unauthorized clients. This meant that quite a few Linux ICQ clients showed up that worked pretty well. Linux clients emerged for the other platforms too, but it seemed like once or twice a year, you could count on an outage for a week or more because the upstream messaging network decided to change the API to try to block unauthorized clients.

Proprietary APIs

Why did the networks want to block unauthorized clients? Simple: instant-messaging networks always have been about trends. One day, you're the popular IM network, and then the next day, someone else comes along. Since the IM network tightly controlled the client, it meant that as a user, you had to make sure all of your friends had accounts on that network. If a new network cropped up that wanted to compete, the first thing it had to do was make it easy for users to switch over. This meant offering compatibility with an existing IM network, so you could pull over your existing buddy list and chat with your friends, knowing that eventually some of them might move over to this new network.

Go to Full Article
Categories: Linux News

Linux Mint 19.1 "Tessa" Cinnamon Now Available, VirtualBox 6.0 Officially Released, Facebook's Data-Sharing Deals, Purism's Librem 5 Dev Kits Shipping and Open Compute Project's Future Technologies Symposium Call for Poster Submissions

Linux Journal - Wed, 12/19/2018 - 08:33

News briefs for December 19, 2018.

Linux Mint 19.1 "Tessa" Cinnamon was released today. This is a long-term support release, which will be supported until 2023. New features include a brand-new panel layout, the Nemo file manager is three times faster than before, a "huge number of upstream changes were ported from the GNOME project" and much more. Read about all the new features here and download here.

VirtualBox 6.0 has been officially released. This is a major update with tons of new features including support for exporting a virtual machine to Oracle Cloud Infrastructure, a major rework of the user interface, a new file manager, major update of 3D graphics support for Windows guests and much more. See the Changelog for the full list of new features and fixes, and visit the Downloads page for links to VirtualBox binaries and source code.

Facebook provided other companies—such as Microsoft, Amazon and Spotify—far greater access to its users' private data than it previously has disclosed. The New York Times obtained hundreds of pages of records showing the extent of the data-sharing practices. NYT reports that "Facebook allowed Microsoft's Bing search engine to see the names of virtually all Facebook users' friends without consent, the records show, and gave Netflix and Spotify the ability to read Facebook users' private messages." The Times article also notes that the deals benefited more than 150 companies, and that the applications "sought the data of hundreds of millions of people a month, the records show. The deals, the oldest of which date to 2010, were all active in 2017. Some were still in effect this year."

Purism's Librem 5 dev kits are shipping, and backers should receive their dev kits before the end of the year. The Purism blog post notes that "Our backers who are receiving the dev kits will also have access to a Matrix channel for dev kit owners. This channel will be staffed by our engineering team who will be on hand to answer questions, work with the community on merge requests, and be available for those who are using the dev kits. But by no means is this an exclusive channel and all of you are welcome to join in as well! Please reach out to if you are interested in being added to the group." In addition, the Librem 5's early-bird price of $599 ends January 7th, and the preorder price will increase to $699 to help fund further engineering of the phone and upstream projects.

The Open Compute Project announces Future Technologies Symposium to be held at the 2019 OCP Global Summit in San Jose, California and invites students and researchers from around the world to submit posters. Draft submissions are due January 31, 2019. The theme for this year is "Open Together" and the announcement says "We welcome submissions in computer storage, networking, or any of the OCP project tracks; as well as those which are multi-disciplinary and cover leading technology solutions, such as edge computing." See the OCP Symposium website for more information.

News Linux Mint VirtualBox Facebook Privacy Purism Librem Open Compute Project
Categories: Linux News

Purism Introduces "It's a Secure Life" Bundle Sale, Wave Computing Open-Sourcing MIPS, Red Hat Announces Long-Term Commercial Support for OpenJDK on Microsoft Windows, ArchLabs 2018.12 Now Available and RawTherapee 5.5 Released

Linux Journal - Tue, 12/18/2018 - 09:50

News briefs for December 18, 2018.

Purism is introducing "It's a Secure Life" bundles from now until January 6. The bundles are 15%–18& off, and they can be made up of different combinations of the Librem 5 smartphone (preorder), the Librem 15 laptop and the Librem Key.

Wave Computing announced yesterday it plans to open-source its MIPS instruction set architecture to "accelerate the ability for semiconductor companies, developers and universities to adopt and innovate using MIPS for next-generation system-on-chip (SoC) designs". According to the announcement, "Under the MIPS Open program, participants will have full access to the most recent versions of the 32-bit and 64-bit MIPS ISA free of charge—with no licensing or royalty fees. Additionally, participants in the MIPS Open program will be licensed under MIPS' hundreds of existing worldwide patents."

Red Hat this morning announced long-term commercial support for OpenJDK on Microsoft Windows. In addition to supporting OpenJDK builds on RHEL, this support will further enable "organizations to standardize the development and deployment of Java applications throughout the enterprise with a flexible, powerful and open alternative to proprietary Java platforms".

The ArchLabs 2018.12 release is now available. It's been six months since the last release, and this version has done away with the live environment, so when you start the USB install, you are thrown straight into the installer. According to the announcement, "Instructions on how to start the installer are right there. No need for passwords with this live USB either." Other changes include Aurman has been replaced with a new homegrown AUR helper called Baph, the package repo has been updated and installing ArchLabs should be easier than ever. You can download it from here.

RawTherapee 5.5 has been released. This new version of the open-source RAW photo editor has several new features, including a new Shadows/Highlights tool, improved support for Canon mRaw format variants, unbounded processing, new color toning methods and more. You can get the new version via your package manager or visit the download page.

News Purism Librem MIPS open source Red Hat Windows OpenJDK Java ArchLabs Linux Photography RawTherapee
Categories: Linux News

Sharing Docker Containers across DevOps Environments

Linux Journal - Tue, 12/18/2018 - 08:00
by Todd A. Jacobs

Docker provides a powerful tool for creating lightweight images and containerized processes, but did you know it can make your development environment part of the DevOps pipeline too? Whether you're managing tens of thousands of servers in the cloud or are a software engineer looking to incorporate Docker containers into the software development life cycle, this article has a little something for everyone with a passion for Linux and Docker.

In this article, I describe how Docker containers flow through the DevOps pipeline. I also cover some advanced DevOps concepts (borrowed from object-oriented programming) on how to use dependency injection and encapsulation to improve the DevOps process. And finally, I show how containerization can be useful for the development and testing process itself, rather than just as a place to serve up an application after it's written.


Containers are hot in DevOps shops, and their benefits from an operations and service delivery point of view have been covered well elsewhere. If you want to build a Docker container or deploy a Docker host, container or swarm, a lot of information is available. However, very few articles talk about how to develop inside the Docker containers that will be reused later in the DevOps pipeline, so that's what I focus on here.

Figure 1. Stages a Docker Container Moves Through in a Typical DevOps Pipeline

Container-Based Development Workflows

Two common workflows exist for developing software for use inside Docker containers:

  1. Injecting development tools into an existing Docker container: this is the best option for sharing a consistent development environment with the same toolchain among multiple developers, and it can be used in conjunction with web-based development environments, such as Red Hat's or dockerized IDEs like Eclipse Che.
  2. Bind-mounting a host directory onto the Docker container and using your existing development tools on the host: this is the simplest option, and it offers flexibility for developers to work with their own set of locally installed development tools.

Both workflows have advantages, but local mounting is inherently simpler. For that reason, I focus on the mounting solution as "the simplest thing that could possibly work" here.

How Docker Containers Move between Environments

A core tenet of DevOps is that the source code and runtimes that will be used in production are the same as those used in development. In other words, the most effective pipeline is one where the identical Docker image can be reused for each stage of the pipeline.

Go to Full Article
Categories: Linux News

Episode 10: Hydrants and Sirens

Linux Journal - Mon, 12/17/2018 - 12:14
Your browser does not support the audio element. Reality 2.0 - Episode 10: Hydrants and Sirens

Katherine Druckman and Doc Searls talk to David Egts (@davidegts), Chief Technologist North America for the Public Sector at Red Hat (@redhatgov) about open source enthusiasm.

Links Mentioned: 

Categories: Linux News

Linux 4.20 rc7 Is Out, the Skrooge Team Announces the 2.17.0 Release of Its Personal Finance Manager, Confluent Has a New Confluent Community License, Pixel Wheels Racing Game has a New Release and Debian Installer Buster Alpha 4 Is Now Available

Linux Journal - Mon, 12/17/2018 - 09:33

News briefs for December 17, 2018.

Linux 4.20 rc7 was released yesterday. Linus Torvalds writes "This is a *tiny* rc7, just how I like it. Maybe it's because everybody is too busy prepping for the holidays, and maybe it's because we simply are doing well. Regardless, it's been a quiet week, and I hope the trend continues." And, he says he still plans to release 4.20 right before Christmas.

The Skrooge Team announced the 2.17.0 release of its personal finance manager, which is based on KDE Frameworks. This release fixes several bugs and includes a few new features, such as a progress bar in the taskbar, and it supports only Qt >= 5.7.0. You can get it from your distro's package management system, or download it from here.

Confluent, founded by the creators of the open-source Kafka project, has announced a new license called the Confluent Community License, "which would limit the ability of vendors to take its open source software and sell it, in the same way that Amazon did with the core Kafka". According to the Business Insider story, "AWS took Kafka and repackaged it as a paid cloud service—something completely legal, as open source software is free for anyone to use as they wish." Business Insider also notes that the new license applies only to specialized add-ons to Kafka that are developed in-house.

There's a new release of the Pixel Wheels racing game. It now "remembers the best lap and best total time for each track and shows you a congratulation message when you reach the top 3 in either categories", countdown now has sound and has several other new features. The game is available for Linux, Android, Windows and Mac, and you can get it from here.

Debian Installer Buster Alpha 4 was released over the weekend. This release has many improvements and hardware support changes, and it now supports 76 languages. Go here to install.

News kernel Skrooge KDE Confluent licensing AWS gaming Debian
Categories: Linux News

Photography and Linux

Linux Journal - Mon, 12/17/2018 - 09:31
by Carlos Echenique

Is it possible for a professional photographer to use a FOSS-based workflow?

I'm a professional photographer based out of Miami, Florida. I learned photography on my own, starting at age 12, with a Yashica TL Electro 35mm film SLR. In college, I discovered I also had quite an affinity for computers and programming, so I got my degrees in that field. I landed an IT job in county government, and photography took a back seat in my life until two things happened: I became a father, and the digital revolution came to the world of photography.

I dove into digital photography as it made practicing my art economical in the extreme. Having a child meant plenty of opportunities to take photos. All of my photographer friends suddenly needed someone who could understand both computers and photography, and I was conveniently placed to help them.

I turned pro in 2008, when a local ballet troupe asked me to photograph their performance of The Nutcracker. Other performances followed, and my skills were further honed. I later was asked by the late Pedro Pablo Peña to photograph his International Ballet Festival, which I did for two years.

Fast-forward to 2014 when I started a photography club at my day job and offered free photography lessons, once a month, to any fellow employees willing to listen.

In 2017, at the behest of my club members, I was asked to assemble a low-cost photography laptop configuration, as many of my students wanted to expand their photographic skills in the post-processing side of digital photography. I completed my task, assembling a reasonable portable digital darkroom for less than $700 USD that included all necessary photo-editing software with no recurring monthly fees, an upgraded hard drive and a colorimeter.

The laptop turned out so well, I decided to take the plunge myself and converted my Windows 10 workstation (custom-built by me) to a dedicated FOSS photography workstation.

Go to Full Article
Categories: Linux News

Epic Games' Free Cross-Platform Service Coming in 2019, Harness Announces New 24-7 Service Guard, Vivaldi Version 2.2 Released, KDE Applications 18.2 Are Out and Valve's Steam Link App for RPi Officially Available

Linux Journal - Fri, 12/14/2018 - 09:59

News briefs for December 14, 2018.

Epic Games recently announced it's working on a free cross-platform service for 2019: "Throughout 2019, we'll be launching a large set of cross-platform game services originally built for Fortnite, and battle-tested with 200,000,000 players across 7 platforms. These services will be free for all developers, and will be open to all engines, all platforms, and all stores. As a developer, you're free to choose mix-and-match solutions from Epic and others as you wish." Epic also noted that "all services will be operated in a privacy-friendly, GDPR-compliant manner".

Harness yesterday announced the release of 24x7 Service Guard, a new "Machine Learning-based capability that empowers and protects developers who practice Continuous Delivery". According to the press release, "With 24x7 Service Guard, engineering teams now have the equivalent of a dedicated bodyguard to watch all production services and observe the end user experience across all APM, monitoring, and log tools. When a service is impacted, 24x7 Service Guard can proactively roll back code changes automatically—the equivalent of a 'safety net' for production applications."

Vivaldi, the ultra-customizable browser with a do-not-track policy, released a new version yesterday. Version 2.2 "improves accessibility, navigation and media". The Vivaldi blog post notes that "the update introduces more unique ways to manage tabs, makes Access Keys easier to use, integrates Pop Out video, and makes the browser's toolbars more configurable." You can download Vivaldi from here.

KDE Applications 18.12 are out. This release resolves more than 140 issues and features several improvements including practical file management with Dolphin, Okular enhancements, full support for emojis in Konsole, usability improvements for everyone and more. See the full list of changes here.

Valve's Steam link app for Raspberry Pi 3B and 3B+ is now officially available. Phoronix reports that "This app provides similar functionality to the low-cost Steam Link dedicated device that's been available the past few years for allowing in-home streaming of games on Steam from your personal PC(s) to living room / HTPC type setups using Steam Link." You can get the app here.

News gaming Harness Machine Learning Monitoring Vivaldi Privacy KDE Valve Raspberry Pi Steam
Categories: Linux News

FOSS Project Spotlight: Appaserver

Linux Journal - Fri, 12/14/2018 - 08:00
by Tim Riley

An introduction to an application server that allows you to build MySQL user interfaces without programming.

Assume you are tasked to write a browser-based, MySQL user interface for the table called CITY. CITY has two columns. The column names are city_name and state_code—each combined are the primary key.

Your user interface must enable users to execute the four main SQL operations: select, insert, update and delete. The main characteristics for each operation are:

  • The select operation needs an HTML prompt form to request a query. It also needs a where clause generator to select from CITY. After forking MySQL and retrieving the raw rows, it needs to translate them into an HTML table form.
  • The HTML table form needs to be editable, and user edits need to be translated into update statements.
  • Each resulting row following the execution of a query is a candidate for deletion.
  • The insert operation needs a blank form. It also needs to translate Apache's common gateway interface (CGI) into insert statements.

So, you might create the source file called city.c and type in all the required code. Of course, relational databases have relations. One city has many persons residing in it. Assume the PERSON table has the column names of full_name, street_address, city_name and state_code. full_name and street_address combined are the primary key (Figure 1).

Figure 1. Database Schema of Many Persons Residing in One City

Are you going to create the source file called person.c too? What about customer.c, inventory.c, order.c, ...?

Alternatively, you might create the source files called select.c, insert.c, update.c and delete.c. Then each of these modules would need as input:

  • A single table name.
  • The table's additional attributes.
  • The table's column names and additional attributes.
  • A recursive list of related tables.
  • Apache's CGI dictionary output.

The principle behind Appaserver is this multi-module approach. Appaserver stores table names in a table. Each table's column names and relations are also stored in tables. Taking the table-driven concept to the nth degree forms a database of a database. You can glean a detailed understanding of how the Appaserver database is modeled from

Go to Full Article
Categories: Linux News

Opera Launches Built-in Cryptocurrency Wallet for Android, ManagedKube Partners with Google Cloud to Provide a Monitoring App for Kubernetes Cluster Costs, QEMU 3.1 Released, IoT DevCon Call for Presentations and GNOME 3.31.3 Is Out

Linux Journal - Thu, 12/13/2018 - 09:46

News briefs for December 13, 2018.

Opera announced today the launch of a built-in cryptocurrency wallet for Android. According to The Verge, "The wallet will first support ethereum, with support for other coins likely to come later. Ether investors using Opera would potentially be able to more easily access their tokens using the feature." You can get Opera for Android here.

ManagedKube, a Kubernetes software development tool company, announced yesterday it is collaborating with Google Cloud to "launch a monitoring application that provides companies with visibility into their Kubernetes cluster costs". The press release notes that "ManagedKube provides an easy-to-read dashboard that gives insights on how much is being spent on each pod, node, and persistent volume across multiple time dimensions. This visibility allows companies to forecast budgets, understand product margins, and quickly identify optimization opportunities for reducing Kubernetes cloud costs."

QEMU 3.1 has been released. Phoronix reports that this update of the QEMU emulator adds "multi-threaded Tiny Code Generator support, display improvements, adds the Cortex-A72 model and other ARM improvements, and various other enhancements". For more details, see the QEMU ChangeLog.

IoT DevCon call for presentations is now open. Deadline for proposals is February 28, 2019. The conference is being held June 5–6 in Santa Clara, California.

GNOME 3.31.3 is out, and this will be the last snapshot of 2018. Note that this is development code meant for testing and hacking purposes. For a list of changes, go here, and the source packages are here.

News Opera Android Cryptocurrency Kubernetes Google Qemu IOT GNOME
Categories: Linux News

About ncurses Colors

Linux Journal - Thu, 12/13/2018 - 08:00
by Jim Hall

Why does ncurses support only eight colors?

If you've looked into the color palette available in curses, you may wonder why curses supports only eight colors. The curses.h include file defines these color macros:


But why only eight colors, and why these particular colors? At least with the Linux console, if you're running on a PC, the color range's origins are with the PC hardware.

A Brief History of Color

Linux started as a PC operating system, so the first Linux console was a PC running in text mode. And to understand the color palette on the PC console, you need to go all the way back to the old CGA days. In text mode, the PC terminal had a color palette of 16 colors, enumerated 0 (black) to 15 (white). Backgrounds were limited to the first eight colors:

  • 0. Black
  • 1. Blue
  • 2. Green
  • 3. Cyan
  • 4. Red
  • 5. Magenta
  • 6. Brown
  • 7. White ("Light Gray")
  • 8. Bright Black ("Gray")
  • 9. Bright Blue
  • 10. Bright Green
  • 11. Bright Cyan
  • 12. Bright Red
  • 13. Bright Magenta
  • 14. Yellow
  • 15. Bright White

These colors go back to CGA, IBM's Color/Graphics Adapter from the earlier PC-compatible computers. This was a step up from the plain monochrome displays; as the name implies, monochrome could display only black or white. CGA could display a limited range of colors.

CGA supports mixing red (R), green (G) and blue (B) colors. In its simplest form, RGB is either "on" or "off". In this case, you can mix the RGB colors in 2x2x2=8 ways. Table 1 shows the binary and decimal representations of RGB.

Table 1. Binary and Decimal Representations of RGB 000 (0) Black 001 (1) Blue 010 (2) Green 011 (3) Cyan 100 (4) Red 101 (5) Magenta 110 (6) Yellow 111 (7) White

To double the number of colors, CGA added an extra bit called the "intensifier" bit. With the intensifier bit set, the red, green and blue colors would be set to their maximum values. Without the intensifier bit, each RGB value would be set to a "midrange" intensity. Let's represent that intensifier bit as an extra 1 or 0 in the binary color representation, as iRGB (Table 2).

Go to Full Article
Categories: Linux News

Firefox 64 Now Available, SoftMaker Office Announces "Load and Help" Fundraising Campaign, the Joint Development Foundation Has Joined The Linux Foundation, Google+ to End in April 2019 and Valve Releases Proton 3.16 (Beta)

Linux Journal - Wed, 12/12/2018 - 09:54

News briefs for December 12, 2018.

Firefox 64 was released yesterday. New features include multiple tab selection, Developer Tools improvements, standardizing proprietary styling features, updated privacy features and much more. See the full release notes for more details, and download Firefox here.

SoftMaker Office announces its "Load and Help 2018" fundraiser campaign: "From now until Christmas, the company will donate 10 cents to charitable organizations for each free download of FlexiPDF Basic or SoftMaker FreeOffice 2018." Also, for the first time ever, SoftMaker's free FreeOffice package is now available for macOS, in addition to Linux and Windows.

The Joint Development Foundation has joined The Linux Foundation family to "make it easier to collaborate through both open source and standards development". The press release quotes Executive Director of The Linux Foundation Jim Zemlin: "Leveraging the capabilities of the Joint Development Foundation will enable us to provide open source projects with another path to standardization, driving greater industry adoption of standards and specifications to speed adoption."

Google+ will be killed off in April 2019, rather than August 2019 as initially planned, due to a bug in the Google+ API that exposed the data of 52.5 million users. See the betanews post for details.

Valve announces a new beta release of Proton 3.16. With this release, 29 additional games are now supported, and the build also contains a rework of the audio. See the Changelog for more information.

News Firefox SoftMaker Office The Linux Foundation Google Valve gaming
Categories: Linux News

Lessons in Vendor Lock-in: Shaving

Linux Journal - Wed, 12/12/2018 - 07:30
by Kyle Rankin

Learn how to embrace open standards while you remove stubble.

Freedom is powerful. When you start using free software, a whole world opens up to you, and you start viewing everything in a different light. You start noticing when vendors don't release their code or when they try to lock you in to their products with proprietary protocols. These vendor lock-in techniques aren't new or even unique to software. Companies long have tried to force customer loyalty with incompatible proprietary products that make you stay on an upgrade treadmill. Often you can apply these free software principles outside the software world, so in this article, I describe my own object lesson in vendor lock-in from the shaving industry.

When I first started shaving, I was pretty intimidated with the notion of a sharp blade against my face so I picked the easiest and least-intimidating route: electric razors. Of course, electric razors have a large up-front cost, and after some time, you have to buy replacement blades. Still, the shaves were acceptable as far as I knew, so I didn't mind much.

At some point in my shaving journey, Gillette released the Mach 3 disposable razor. For some reason, this design appealed to a lot of geeks, and I ended up hearing about it on geek-focused blogs like Slashdot back in the day. I decided to try it out, and after I got over the initial intimidation, I realized it really wasn't all that hard to shave with it, and due to the multiple blades and lubricating strip along the top, I got a much closer shave.

I was a convert. I ditched my electric razor and went all in with the Mach 3. Of course, those disposable blades had the tendency to wear out pretty quickly, along with that blue lubricating strip, so I'd find myself dropping a few bucks per blade to get refills after a few shaves. Then again, Gillette was famous for the concept of giving away the razor and making its money on the blade, so this wasn't too surprising.

We're Going to Four Blades!

The tide started turning for me a few years later when Gillette decided to deprecate the Mach 3 in favor of a new design—this time with four blades, a lubricating strip and a rubber strip along the bottom! Everyone was supposed to switch over to this new and more expensive design, but I was perfectly happy with what I was using, and the new blades were incompatible with my Mach 3 razor, so I didn't pay it much attention.

The problem was that with this new design, replacement Mach 3 blades became harder and harder to come by, and all of the blades started creeping up in price. Eventually, I couldn't buy Mach 3 blades in bulk at my local warehouse store, and finally I gave up and bought one of the even more expensive new Gillette razors. What else could I do?

Go to Full Article
Categories: Linux News

Vote for Linux Support on Adobe, Nextcloud 15 Now Available, LF Deep Learning Foundation Introduces Interactive Deep Learning Landscape, Canonical Announces Full Enterprise Support for Kubernetes 1.13 on Ubuntu and Icinga Director 1.6 Released

Linux Journal - Tue, 12/11/2018 - 10:02

News briefs for December 11, 2018.

Adobe customer care says there hasn't been enough demand for Linux, Phoronix reports. But, if you're interested in Linux support on Adobe Premiere CC, you can "upvote that feature request" via the Adobe User Survey

Nextcloud 15 is out. This major release is "big step forward for communication and collaboration with others in a secure way". It introduces several new features, including Nextcloud Social, new security abilities and deep Collabora Online integration. Download Nextcloud 15 from here.

The Linux Foundation's Deep Learning Foundation has created the Interactive Deep Learning Landscape, which is "intended as a map to explore open source AI, ML, DL projects". According to the LF Deep Learning blog post, the tool "allows viewers to filter, obtain detailed information on a specific project or technology, and easily share via stateful URLs. It is intended to help developers, end users and others navigate the complex AI, DL and ML landscape." All data is also available in a GitHub repo.

Canonical announced full enterprise support for Kubernetes 1.13 on Ubuntu, including support for kubeadm and updates to MicroK8s. The Ubuntu blog notes that "Canonical's certified, Charmed Distribution of Kubernetes (CDK) is built from pure upstream binaries, and offers simplified deployment, scaling, management, and upgrades of Kubernetes, regardless of the underlying hardware or machine virtualisation. Supported deployment targets include AWS, GCE, Azure, VMware, OpenStack, LXD, and bare metal."

Icinga Director 1.6 was released yesterday. This version of Icinga Director—a tool to configure the Icinga open-source monitoring software—now includes multi-instance support, configuration baskets and improved health checks. You can checkout or download the new release here.

News Adobe Nextcloud The Linux Foundation Deep Learning Canonical Kubernetes Ubuntu Icinga
Categories: Linux News

Testing Your Code with Python's pytest, Part II

Linux Journal - Tue, 12/11/2018 - 08:00
by Reuven M. Lerner

Testing functions isn't hard, but how do you test user input and output?

In my last article, I started looking at "pytest", a framework for testing Python programs that's really changed the way I look at testing. For the first time, I really feel like testing is something I can and should do on a regular basis; pytest makes things so easy and straightforward.

One of the main topics I didn't cover in my last article is user input and output. How can you test programs that expect to get input from files or from the user? And, how can you test programs that are supposed to display something on the screen?

So in this article, I describe how to test input and output in a variety of ways, allowing you to test programs that interact with the outside world. I try not only to explain what you can do, but also show how it fits into the larger context of testing in general and pytest in particular.

User Input

Say you have a function that asks the user to enter an integer and then returns the value of that integer, doubled. You can imagine that the function would look like this:

def double(): x = input("Enter an integer: ") return int(x) * 2

How can you test that function with pytest? If the function were to take an argument, the answer would be easy. But in this case, the function is asking for interactive input from the user. That's a bit harder to deal with. After all, how can you, in your tests, pretend to ask the user for input?

In most programming languages, user input comes from a source known as standard input (or stdin). In Python, sys.stdin is a read-only file object from which you can grab the user's input.

So, if you want to test the "double" function from above, you can (should) replace sys.stdin with another file. There are two problems with this, however. First, you don't really want to start opening files on disk. And second, do you really want to replace the value of sys.stdin in your tests? That'll affect more than just one test.

The solution comes in two parts. First, you can use the pytest "monkey patching" facility to assign a value to a system object temporarily for the duration of the test. This facility requires that you define your test function with a parameter named monkeypatch. The pytest system notices that you've defined it with that parameter, and then not only sets the monkeypatch local variable, but also sets it up to let you temporarily set attribute names.

In theory, then, you could define your test like this:

Go to Full Article
Categories: Linux News

Linux Thursday - Dec 6, 2018

Linux Journal - Mon, 12/10/2018 - 18:00

Please support Linux Journal by subscribing or becoming a patron.

Categories: Linux News
Syndicate content