Language Selection

English French German Italian Portuguese Spanish

April 2018

Canonical Adds Multipass Cleanbuild Support to Its Snapcraft Snap Creator Tool

Filed under
Ubuntu

Snapcraft 2.42 comes less than two weeks after version 2.41, which improved the mechanism for overriding lifecycle steps, passthrough property, error reporting, and updated the dotnet, nodejs, and python plugins, to add even more enhancements to the utility that helps application developers to package their apps as Snaps.

In Snapcraft 2.42, there's a new feature called multipass cleanbuild support, which might come in handy to users of snapcraft cleanbuild with multipass installed. To try it out, you'll have to run the "$ SNAPCRAFT_BUILD_ENVIRONMENT=multipass snapcraft cleanbuild" command in the terminal emulator.

Read more

MeX Linux OS Drops Linux Mint Base, It's Now Based on Ubuntu 18.04 LTS

Filed under
OS
Ubuntu

If previous versions of the MeX Linux distribution were based on Linux Mint, starting with build 180426, the operating system is now only based on packages from the Ubuntu and Debian GNU/Linux software repositories. The latest release is derived from the Ubuntu 18.04 LTS (Bionic Beaver) operating system series.

"Mex Linux is no longer based on Linux Mint," said Arne Exton. "MeX Build 180426 is based only on Debian and Ubuntu 18.04 LTS (Long Term Support). I have replaced the original kernel with “my” special kernel 4.15.0-19-exton. All packages in MeX Linux have been upgraded to the latest version by 180426."

Read more

Also: Voyager Linux 18.04 Released with Long Term Support, Based on Xubuntu 18.04 LTS

Radeon Software for Linux 18.10 Brings Vulkan 1.1, Ubuntu 16.04.4 / SLE 12 SP3 Support

System76 Releases Updated Pop!_OS Based Off Ubuntu 18.04

GNOME 3.28 in Fedora 28 and Flatpak's Latest

Filed under
Red Hat
GNOME
  • Changes to Files in GNOME 3.28

    Here are some changes in GNOME 3.28 users will see in the Fedora 28 release.

  • Flatpak Linux Application Sandboxing & Distribution Framework Learns New Tricks

    Flatpak, the Linux application sandboxing and distribution framework, has been updated recently to version 0.11.4, a maintenance update that introduces numerous important changes.

    With Flatpak 0.11.4, the development team updated the "flatpak build" command to allow it to always use multi-arch support, as well as to mount app extensions during the build process. In addition, the "flatpak build-init" command now supports adding of extension points earlier than build-finish by using the --extension argument, and build-finish now supports the --remove-extension argument.

    Updates were also made to the "flatpak uninstall" command, which can now pick the user or system automatically if they're not specified, the "flatpak run" command, which received several new options like --no-a11y-bus and --no-documents-portal. Also, users can now use "flatpak remove" (without quotes) as an alias for the "flatpak uninstall" command.

Programming: GNU/Linux Development and Custom Android ROMs

Filed under
Android
Development
GNU
Linux
  • Create a Linux desktop application with Ruby

    Recently, while experimenting with GTK and its Ruby bindings, I decided to write a tutorial introducing this functionality. In this post, we will create a simple ToDo application (something like what we created with Ruby on Rails) using the gtk3 gem (a.k.a. the GTK+ Ruby bindings).

  • C# developer, Linux two of the fastest-growing search terms for Canadian tech job seekers

    A new report from Indeed Canada shows the fastest-growing search terms for tech job seekers in Canada.

  • The pain of installing custom ROMs on Android phones

    A while back I bought a Nexus 5x. During a three-day ordeal I finally got Omnirom installed - with full disk encryption, root access and some stitched together fake Google Play code that allowed me to run Signal without actually letting Google into my computer.

    A short while later, Open Whisper Systems released a version of Signal that uses Web Sockets when Google Play services is not installed (and allows for installation via a web page without the need for the Google Play store). Dang. Should have waited.

    Now, post Meltdown/Spectre, I worked up the courage to go through this process again. In the comments of my Omnirom post, I received a few suggestions about not really needing root. Hm - why didn't I think of that? Who needs root anyway? Combining root with full disk encryption was the real pain point in my previous install, so perhaps I can make things much easier. Also, not needing any of the fake Google software would be a definite plus.

    This time around I decided to go with LineageOS since it seems to be the most mainstream of the custom ROMs. I found perfectly reasonable sounding instructions.

Linux Mint Monthly News

Filed under
GNU
Linux
Ubuntu
  • Monthly News – April 2018

    Before anything else, let’s thank all the people who contribute to this project. Many people do, in very different ways. Special thanks to our donors to our “silent friend” from Germany for the coffee!

    Many thanks also to all the developers who interacted with us on Github lately. We’ve seen a lot of new faces and very cool contributions. A slack team was recently set up to improve communication between new developers and the development team.

  • Linux Mint Continues Work On Mint 19, LMDE 3

    The Linux Mint project has published their monthly recap of activities going on for April with this popular desktop Linux distribution.

    To little surprise, much of their time has been spent on setting up their re-base against Ubuntu Bionic (Ubuntu 18.04) for Linux Mint 19 and Debian Stretch for the upcoming LMDE3 (Linux Mint Debian Edition). As part of these upcoming OS releases, they have also been buttoning up the Cinnamon 3.8 desktop environment update.

USB 3.2 Work Is On The Way For The Linux 4.18 Kernel

Filed under
Linux
Hardware

USB 3.2 was announced last summer as an incremental update to the USB standard to double the bandwidth for existing USB Type-C cables.

We haven't seen much in the way of USB 3.2 mentions in the Linux kernel yet but then again we haven't really seen USB 3.2 devices yet. USB 3.2 brings a multi-lane operation mode for hosts and devices using existing Type-C cables as well as a minor update to the USB hub specification. USB 3.2 allows for new 10 Gbit/s and 20 Gbit/s rates using two lanes, USB 3.2 Gen 1x2 and USB 3.2 Gen 2x2, respectively.

It's looking like kernel developers are now working on getting their USB 3.2 Linux support in order. We were tipped off that as of last week there are some USB 3.2 patches queued in the usb-next tree maintained by Greg Kroah-Hartman's.

Read more

Also: Linux 4.16.6 Brings Correct AMD Ryzen 7 2700X Temperature Monitoring

Games: EARTHLOCK, FOX n FORESTS and More

Filed under
Gaming

Tired of Windows and macOS? Try out elementary OS

Filed under
GNU
Linux

It’s interesting to change your default OS to try out something new sometimes, but then if you already have Windows 10 on your machine, I don’t see a strong argument to install elementary OS. Some might prefer it, but I think I will go back to Windows for now and check back with other solutions in the future. Please consider this as my own humble opinion. I recommend you to try out new solutions and find your own favorites. So, can elementary OS replace the big players? It could, but I suppose it’s mainly depending on the tools you (want to) use in your workflows.

If you mostly leverage software that’s exclusively available on Windows or macOS, it doesn’t really work out to swap between the systems, but if you can manage to shift it all towards Linux, you might survive the transition without too much pain points. If you’re mostly working within Google Chrome, you can also just install Chrome for Linux on elementary OS and run your work like that. In this particular case, you’ll feel almost no change, but then, you might as well opt for Remix OS or another type of Chrome OS.

Read more

Also: Ubuntu 18.04 LTS Now Available To Download With 5Yrs Of Support

More in Tux Machines

Red Hat: libinput, backports, edge computing, survey and more

  • Peter Hutterer: A tale of missing touches

    libinput 1.15.1 had a new feature: it matched the expected touch count with the one actually seen as opposed to the one advertised by the kernel. That is good news for ALPS devices whose kernel driver lies about their capabilities because these days who doesn't. However, in some cases that feature had the side-effect of reducing the touch count to zero - meaning libinput would ignore any touch. This caused a slight UX degradation. After a bit of debugging and/or cursing, the issue was identified as a libevdev issue, specifically - the way libevdev replays events after a SYN_DROPPED event. And after several days of fixing things, adding stuff to the CI and adding meson support for libevdev so the CI can actually run a few useful things, it's time for a blog post to brain-dump and possibly entertain the occasional reader such as you are. Congratulations, I guess. The Linux kernel's evdev protocol is a serial protocol where all events have a type, a code and a value. Events are grouped by EV_SYN.SYN_REPORT events, so the event type is EV_SYN (0), the event code is SYN_REPORT (also 0). The value is usually (but not always), you guessed it, zero. A SYN_REPORT signals that the current event sequence (also called a "frame") is to be interpreted as one hardware event [0].

  • What is backporting, and how does it apply to RHEL and other Red Hat products?

    Version numbers are important, but aren't always what they seem at first glance. Red Hat, for example, often backports updates to the software we ship in Red Hat Enterprise Linux (RHEL) to maintain the version that we shipped. This is a post to follow to Jean-Sébastien Tougne’s post on finding the latest available kernel. Jean-Sébastien’s article was responding to a question on the Red Hat Learning Community, where the poster was seeking the latest version of the kernel for Red Hat Enterprise Linux. That prompted me to write an article that went deeper into the nuance and strategy the Red Hat Enterprise Linux team employs for this to be magically delicious for administrators.

  • The edge is open: Why scale-out computing doesn’t exist without open hybrid cloud

    The past year has seen the rise of applications that push enterprise IT to the (literal) edge, from using autonomous vehicles guided by artificial intelligence (AI) to vast sensor networks that rely on 5G for instant connectivity and emergency reaction times. Whether it's the Internet-of-Things (IoT), fog computing or edge computing, the intent is to bring computing resources like processing power and storage closer to the end user or data source to improve the ability to scale, responsiveness and the overall service experience. We can look at the edge as the newest IT footprint, becoming an extension of the data center just like bare-metal, virtual environments, private cloud and public cloud. In a sense, edge computing is a summation of the other four footprints, blending pieces from each to create infrastructure aimed at tackling specific customer demands that traditional IT models cannot address.

  • Enterprise open source software is growing within innovative companies

    Red Hat has been at the forefront of the global open source discussion, fighting for software freedom in the U.S Supreme Court, and offering free tech products for cloud infrastructure, automation, AI, and much more. After conducting research and interviewing IT leaders from around the world, Red Hat released a report examining the state of enterprise open source in 2020. 950 IT leaders, unaware that Red Hat was the research sponsor, were surveyed about their practices and opinions on enterprise open source software.

  • Multicluster Management and GitOps Workshop

    There’s so much more to come. In the next few weeks, we’ll dive deeper into customer ideas and finish the design thinking process by producing designs, prototyping them, and finally testing their validity. We also want you to join us. To help influence the future of OpenShift, sign up to be notified about research participation opportunities or provide feedback on your experience by filling out this brief survey. If you’d like to attend the next workshop, keep an eye on the OpenShift Commons calendar for upcoming events. Feel free to reach out by email if you have any questions.

Linux Community: Stop Doing This To Windows 10 And MacOS Users

Unpopular opinion time: dual-booting Windows and Linux on your PC is actually great. I do it and I encourage it. Now, if you’ve read my articles here for the last 18 months or so, this statement may seem shocking. To some Linux users, it may come off as downright sacrilegious. I get it. “Prominent Forbes tech writer ditches Windows (1, 2), starts covering Linux full-time while touting all the benefits Linux has over Windows 10, produces a Linux podcast and YouTube channel, then says using Windows is fine?” Read more

Python Programming

  • Introducing our Jinja2 cheat sheet

    Jinja2 is a templating language for Python. While it got its start on the web for use with the Flask framework, it is popular in many other places. Both Flask and Pelican use it to template HTML pages, allowing seperation between style and content. Configuration management frameworks, like Ansible and SaltStack, use it to parametrize their configurations (Ansible playbooks or Salt state files, respectively). This allows the configuration files to take into consideration local machine parameters, for example. The Cookiecutter framework uses it to define its input templates, so that files that need the name of the project or the name of the maintainer can be parametrized. Jinja2 is used in many Python projects because it is both web-framework-agnostic and language-agnostic. This means that, for many Python projects in need of a template language, Jinja2's easy API and accessible template-designer documentation is an easy choice. Additionally, its popularity is its own advantage: for a project that needs a tempate language, using Jinja2 means being able to point to the wealth of documentation on writing templates. This makes Jinja2 a great choice for home-grown, internal project.

  • Forks and Threats

    What is a threat? From a game-theoretical perspective, a threat is an attempt to get a better result by saying: "if you do not give me this result, I will do something that is bad for both of us". Note that it has to be bad for both sides: if it is good for the threatening side, they would do it anyway. While if it is good for the threatened side, it is not a threat. Threats rely on credibility and reputation: the threatening side has to be believed for the threat to be useful. One way to gain that reputation is to follow up on threats, and have that be a matter of public record. This means that the threatening side needs to take into account that they might have to act on the threat, thereby doing something against their own interests. This leads to the concept of a "credible" or "proportionate" threat. For most of our analysis, we will use the example of a teacher union striking. Similar analysis can be applied to nuclear war, or other cases. People mostly have positive feelings for teachers, and when teacher unions negotiate, they want to take advantage of those feelings. However, the one thing that leads people to be annoyed with teachers is a strike: this causes large amounts of unplanned scheduling crisis in people's lives. In our example, a teacher union striking over, say, a minor salary raise disagreement is not credible: the potential harm is small, while the strike will significantly harm the teachers' image.

  • Python 101 2nd Edition Fully Funded + Stretch Goals

    The second edition of my book, Python 101, has been successfully funded on Kickstarter. As is tradition, I have added a couple of stretch goals for adding more content to this already hefty book.

  • List Comprehensions in Python

    List comprehensions are often used in Python to write single line statements that create a new list or dictionary by looping over an iterable object. This article will explain how to use list comprehensions in Python, starting with a basic explanation of how for loops work in Python. For Loop in Python A for loop statement in Python sequentially iterates over members of any object, list, string etc. Compared with other programming languages, its syntax is much cleaner and doesn’t require manually defining iteration steps and starting iteration. Though there are ways to make its behavior the same as other programming languages (won’t be covered in this article). You can also exercise some control over for loops by using statements like continue, break, pass etc.

  • Getting Started Testing with pytest

    This talk has been through a few iterations. In 2011, I gave a presentation at Boston Python about Getting Started Testing, based on the standard library unittest module. In 2014, I updated it and presented it at PyCon. Now I’ve updated it again, and will be presenting it at Boston Python. The latest edition, Getting Started Testing: pytest edition, uses pytest throughout. It’s a little long for one evening of talking, but I really wanted to cover the material in it. I wanted to touch on not just the mechanics of testing, but the philosophy and central challenges as well.

  • Learn To Code By Playing These Games

    Apart from an ambition to become a programmer and have an interesting well-paid job, there are plenty of reasons to learn coding even for those who see themselves in other professions. Programming can be helpful in many areas. It develops a structured and creative approach to problem-solving. If you know how to code, you also know how to break a problem down to smaller tasks with specific actions and measurable results. Your way of thinking becomes more logical and organized. Coding broadens your mind, so you start to see problems in the light of solutions. And of course, it teaches to be patient. Logic, problem-solving, persistence: sounds like a great set of skills for almost any professional.

  • The Best Android Apps for Learning How to Code

    As a senior software developer, I’m often asked for advice on learning programming. Since I believe that the tech market always benefits from having more high-quality developers, I’m happy to share tips and hacks that helped me become a better software engineer. However, as soon as I say: “Read this and that book, check out this reference guide. Taking these courses is a must, and don’t forget to be scanning through community forums all the time,” I see people’s enthusiasm fade away until they hit me with “I don’t have time to do all that.” Then they leave. Here’s the thing I’d love to state for the record — learning programming is not about making time. It’s about consistency. Since the market constantly changes and evolves, a developer who devotes 30 minutes a day to education is more flexible and has a better chance of adapting to new trends than a CS graduate who hasn’t learn a new program since getting out of college.

Fedora VS Ubuntu

Linux is superior to Windows in a lot of ways. It gives you the freedom to shape your system according to your desire. You can customise almost everything to your taste. Don’t like the way your login screen looks, well change it according to your liking. You can change your Linux UI (User Interface) so that it looks like Windows if you are more comfortable that way. Linux is way less resource-hungry than Windows, meaning it runs a lot smoother. You can even customise how much cache and ram should Linux use. But despite all these good things switching from Windows to Linux can be a lot of hassle as there are a lot of distros or types of Linux to choose from and most people get confused. Different Linux distros are for different people. Here I’ll be comparing the two biggest distro releases, i.e., Ubuntu and Fedora Read more