09-08-2020

14:44

Choosing between Ansible's copy and template modules [Linuxtoday.com]

Ansible's copy and template modules are a great way to get started with automation.

PSF GSoC students blogs: Weekly Check-In: Week 11 [Planet Python]


Make sure to check out Project FURY : https://github.com/fury-gl/fury

Hey Everyone! 
This week , more shaders

What did I do this week

The task assigned for this week was to explore more shader techniques which could be implemented using FURY and which would demonstrate the capability of FURY shader system. So i decided to work on implementing shading examples such as Gooch shading and reflection shader using textures.

Below are the outputs of the techniques i worked on :

The shader demos are available at :
https://github.com/lenixlobo/fury/tree/shader-demos

What's coming up next

The next week will involve working on more such demos which can demonstrate the capabilities of FURY

Did I get stuck anywhere

No issues were faced this week

Catalin George Festila: Python 3.8.5 : Pearson Product Moment Correlation with corrcoef from numpy. [Planet Python]

The python package named numpy come with corrcoef function to return Pearson product-moment correlation coefficients. This method has a limitation in that it can compute the correlation matrix between two variables only. The full name is the Pearson Product Moment Correlation (PPMC). The PPMC is not able to tell the difference between dependent variables and independent variables. The

Zato Blog: Zato and Docker installation options - general overview [Planet Python]

Docker is a containerization platform that gained immense popularity in the IT world as a tool that can contain an application and help to deploy it to multiple environments.

History

Before Docker, there were different approaches whose goal was to obtain a reliable development and deployment process, which means testing and putting the application into production as a reproducible unit where the same result is always achieved.

The leading way to isolate and organize applications along with their their dependencies was to place each and every application in its own virtual machine. Physical hardware runs multiple such environments and the whole process is called virtualization.

Containerization

Containerization is a type of virtualization which brings virtualization to the operating system level. Containerization brings abstraction to the operating system, while virtualization brings abstraction to the hardware.

  • Containers are lightweight and typically faster than Virtual Machines
  • Containers share relevant libraries and resources
  • The boot up process is very fast since the applications run on the host kernel

Docker

Docker is a tool used to easily package, distribute and deploy applications with all its dependencies into a standardized unit called a Docker image. It provides the ability to create predictable environments which can be used for development, testing and deploying the application in multiple environments, including production.

Some Docker concepts:

  • Image: an executable package that includes everything needed to run the application
  • Container: a runtime instance of an image

A Docker container can be connected with other containers that provide functionality to the application like a database or a load balancer.

In Zato we create Docker images of two kinds:

The idea behind the Zato quickstart image is to very quickly provision a fully working all-in-one Zato cluster that can be used to test a new service locally or explore Zato but, because this is a real Zato cluster, it can also be used for production purposes.

The image used for cloud environments provides more flexibility and can be used to deploy an instance of a Zato component like server, scheduler or web admin into the Zato cluster, each under its own container. That is, whereas Zato quickstart contains all the Zato components in a single image, the cloud one splits the components into separate Docker containers.

Wrapping up

This is it for now - we will be talking about these two types of Zato images and how to use them in upcoming articles.

PSF GSoC students blogs: Week 6 Check-in [Planet Python]

What I have done this week

Works towards analyzing multistage dockerfile. I combined the draft PR and the review from my mentors, the new commit is the first step of my plan. We split the multistage dockerfile into seperate dockefiles for build. Here are the changes in the new commit.

1. Modified function check_multistage_dockerfile() to return.

2. Remove function split_multistage_dockerfile() since we are working on the building stage. split_multistage_dockerfile() can be improved on analyze stage.

To Do

1. Improve readability for function check_multistage_dockerfile().

2. Try build images and analyze on them.

Did I get stuck somewhere?

Not yet.

 

 

Codementor: Send WhatsApp media/message using Python. [Planet Python]

Send WhatsApp message/media using python.

08-08-2020

14:01

Nieuwe informatiestandaard acute zorg ziet het licht [Computable]

Het is zover: de informatiestandaard voor het ophalen van medische gegevens uit het huisartsdossier voor spoedzorg is gereed. Ict-leveranciers binnen de zorg kunnen nu aan de slag om de overdracht van overdracht van patiënteninformatie tussen huisartsen...

Ddos-aanvallen stijgen explosief tijdens corona [Computable]

Het aantal ddos-aanvallen is het afgelopen halfjaar fors gestegen. In de maanden april, mei en juni is zelfs sprake van een ruime verdubbeling. Criminelen richten zich opvallend vaak op de publieke clouds van Microsoft, Azure, AWS...

09:10

Ubuntu Cinnamon Remix 20.04.1 LTS Released with New Look and Feel, Cinammon 4.4 [Linuxtoday.com]

Ubuntu Cinnamon Remix 20.04.1 LTS is now available for download and comes with a bunch of goodies.

AMD Radeon Software for Linux 20.30 Released with Support for Ubuntu 20.04.1 LTS [Linuxtoday.com]

AMD Radeon Software for Linux 20.30 is now available with full support for the recently released Ubuntu 20.04.1 LTS (Focal Fossa) operating system.

Open source tool Infection Monkey allows security pros to test their network like never before [Linuxtoday.com]

Guardicore unveiled new capabilities for Infection Monkey, its free, open source breach and attack simulation tool that maps to the MITRE ATT&CK knowledge base.

Sandipan Dey: Simulating a Turing Machine with Python and executing programs on it [Planet Python]

In this article, we shall implement a basic version of a Turing Machine in python and write a few simple programs to execute them on the Turing machine.  This article is inspired by the edX / MITx course Paradox and Infinity and few of the programs to be executed on the (simulated) Turing machine are … Continue reading Simulating a Turing Machine with Python and executing programs on it

Test and Code: 125: pytest 6 - Anthony Sottile [Planet Python]

pytest 6 is out. Specifically, 6.0.1, as of July 31.

And there's lots to be excited about.
Anthony Sottile joins the show to discuss features, improvements, documentation updates and more.

Full release notes / changelog

Some of what we talk about:

  • How to update (at least, how I do it)
    • Run your test suites with 5.4.3 or whatever the last version you were using
    • Update to 6
    • Run again. Same output? Probably good.
    • If there are any warnings, maybe fix those.
    • You can also run with pytest -W error to turn warnings into errors.
    • Then find out all the cool stuff you can do now
  • New Features
    • pytest now supports pyproject.toml files for configuration.
      • but remember, toml syntax is different than ini files. mostly quotes are needed
    • pytest now includes inline type annotations and exposes them to user programs.
      • Most of the user-facing API is covered, as well as internal code.
    • New command-line flags --no-header and --no-summary
    • A warning is now shown when an unknown key is read from a config INI file.
      • The --strict-config flag has been added to treat these warnings as errors.
    • New required_plugins configuration option allows the user to specify a list of plugins, including version information, that are required for pytest to run. An error is raised if any required plugins are not found when running pytest.
  • Improvements
    • You can now pass output to things like less and head that close the pipe passed to them.
      • thank you!!!
    • Improved precision of test durations measurement.
      • use --durations=10 -vv to capture and show durations
    • Rich comparison for dataclasses and attrs-classes is now recursive.
    • pytest --version now displays just the pytest version,
      • while pytest --version --version displays more verbose information including plugins.
    • --junitxml now includes the exception cause in the message XML attribute for failures during setup and teardown.
  • Improved Documentation
    • Add a note about --strict and --strict-markers and the preference for the latter one.
    • Explain indirect parametrization and markers for fixtures.
  • Bug Fixes
  • Deprecations
  • Trivial/Internal Changes
  • Breaking Changes you might need to care about before upgrading
    • PytestDeprecationWarning are now errors by default.
    • -k and -m internals were rewritten to stop using eval(), this results in a few slight changes but overall makes them much more consistent
    • testdir.run().parseoutcomes() now always returns the parsed nouns in plural form.
      • I'd say that's an improvement

Special Guest: Anthony Sottile.

Sponsored By:

Support Test & Code : Python Testing for Software Engineering

Links:

<p>pytest 6 is out. Specifically, 6.0.1, as of July 31.<br><br> And there&#39;s lots to be excited about.<br> Anthony Sottile joins the show to discuss features, improvements, documentation updates and more.</p> <p><a href="https://docs.pytest.org/en/stable/changelog.html" rel="nofollow">Full release notes / changelog</a></p> <p>Some of what we talk about:</p> <ul> <li>How to update (at least, how I do it) <ul> <li>Run your test suites with 5.4.3 or whatever the last version you were using</li> <li>Update to 6</li> <li>Run again. Same output? Probably good.</li> <li>If there are any warnings, maybe fix those.</li> <li>You can also run with <code>pytest -W error</code> to turn warnings into errors.</li> <li>Then find out all the cool stuff you can do now</li> </ul></li> <li>New Features <ul> <li>pytest now supports pyproject.toml files for configuration. <ul> <li>but remember, toml syntax is different than ini files. mostly quotes are needed </li> </ul></li> <li>pytest now includes inline type annotations and exposes them to user programs. <ul> <li>Most of the user-facing API is covered, as well as internal code.</li> </ul></li> <li>New command-line flags <code>--no-header</code> and <code>--no-summary</code></li> <li>A warning is now shown when an unknown key is read from a config INI file. <ul> <li>The <code>--strict-config</code> flag has been added to treat these warnings as errors.</li> </ul></li> <li>New required_plugins configuration option allows the user to specify a list of plugins, including version information, that are required for pytest to run. An error is raised if any required plugins are not found when running pytest.</li> </ul></li> <li>Improvements <ul> <li>You can now pass output to things like less and head that close the pipe passed to them. <ul> <li>thank you!!!</li> </ul></li> <li>Improved precision of test durations measurement. <ul> <li>use <code>--durations=10 -vv</code> to capture and show durations</li> </ul></li> <li>Rich comparison for dataclasses and attrs-classes is now recursive.</li> <li>pytest <code>--version</code> now displays just the pytest version, <ul> <li>while <code>pytest --version --version</code> displays more verbose information including plugins. </li> </ul></li> <li><code>--junitxml</code> now includes the exception cause in the message XML attribute for failures during setup and teardown.</li> </ul></li> <li>Improved Documentation <ul> <li>Add a note about <code>--strict</code> and <code>--strict-markers</code> and the preference for the latter one.</li> <li>Explain indirect parametrization and markers for fixtures.</li> </ul></li> <li>Bug Fixes</li> <li>Deprecations</li> <li>Trivial/Internal Changes</li> <li>Breaking Changes you might need to care about before upgrading <ul> <li>PytestDeprecationWarning are now errors by default. <ul> <li>Check the <a href="https://docs.pytest.org/en/latest/deprecations.html" rel="nofollow">deprecations and removals</a> page if you are curious.</li> </ul></li> <li><code>-k</code> and <code>-m</code> internals were rewritten to stop using eval(), this results in a few <em>slight</em> changes but overall makes them much more consistent</li> <li><code>testdir.run().parseoutcomes()</code> now always returns the parsed nouns in plural form. <ul> <li>I&#39;d say that&#39;s an improvement</li> </ul></li> </ul></li> </ul><p>Special Guest: Anthony Sottile.</p><p>Sponsored By:</p><ul><li><a href="https://testandcode.com/datadog" rel="nofollow">Datadog</a>: <a href="https://testandcode.com/datadog" rel="nofollow">Modern monitoring & security. See inside any stack, any app, at any scale, anywhere. Visit testandcode.com/datadog to get started.</a></li></ul><p><a href="https://www.patreon.com/testpodcast" rel="payment">Support Test & Code : Python Testing for Software Engineering</a></p><p>Links:</p><ul><li><a href="https://docs.pytest.org/en/stable/changelog.html" title="pytest Changelog / Release Notes" rel="nofollow">pytest Changelog / Release Notes</a></li><li><a href="https://docs.pytest.org/en/latest/deprecations.html" title="Deprecations and Removals — pytest documentation" rel="nofollow">Deprecations and Removals — pytest documentation</a></li></ul>

Python Engineering at Microsoft: Need an Intro to VS Code? Let Tech with Tim Help! [Planet Python]

We have been spoiled to have Tim Ruscica, founder and star of the very informative and popular “Tech with Tim” YouTube channel, work on our team as a Software Engineering intern this summer! During his time here he implemented several features for our extension, including the much desired export notebook to HTML and PDF, as well as influence the discussion and design of other features we have been actively working on and shipping. We’re honored to have him spotlight a few of his favorite VS Code Python Extension features (not just those he worked on) in a recent video! Please check it out and give Tim some much deserved kudos!

 

If you’re interested in learning about something specific, follow the timestamps below!

00:22 – VSCode Python Setup

00:50 – Jupyter Notebooks

01:38 – Interactive Window

03:28 – Variable Explorer

04:41 – Run By Line

05:50 – Dataframe Viewer

06:10 – Notebook Exports

06:56 – Gather

08:28 – Pylance

 

Did Tim’s video give you an idea for a feature? Let us know here!

The post Need an Intro to VS Code? Let Tech with Tim Help! appeared first on Python.

07-08-2020

18:50

SAP in Zuid-Afrika beschuldigd van fraude [Computable]

Erp-leverancier SAP heeft opnieuw problemen in Zuid-Afrika. In 2018 brachten deals met Zuid-Afrikaanse overheidsbedrijven tijdens het presidentschap van Jacob Zuma de Duitsers in verlegenheid. Thans wordt SAP ervan beschuldigd onwettige contracten te hebben afgesloten met het...

AP waarschuwt: gemeente, let meer op privacy! [Computable]

De Autoriteit Persoonsgegevens (AP) maakt zich zorgen over de slimme toepassingen waarmee gemeenten verspreiding van het coronavirus in de openbare ruimte willen tegengaan. Dit geldt met name voor applicaties die zijn gericht op handhaving van de...

Edge steekt cloud voorbij in 2025 [Computable]

Tegen 2025 zal de markt voor ai-chipsets voor de edge groter zijn dan de markt voor ai-chipsets voor de cloud. Dat zegt het marktonderzoeksbureau ABI Research.

Ubuntu Kylin Point Release Boosts Desktop Performance by 46% [OMG! Ubuntu!]

ubuntu-kylinMore than 418 updates and other improvements have been made to the UKUI desktop environment since the release of Ubuntu Kylin 20.04 back in April.

This post, Ubuntu Kylin Point Release Boosts Desktop Performance by 46% is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

Android Mirroring App ‘Scrcpy’ Improves Shortcuts, Clipboard Support [OMG! Ubuntu!]

scrcpy trilinear filteringA new version of Scrcpy, the terrifically easy way to mirror your Android smartphone on your desktop and interact with it, is out.

This post, Android Mirroring App ‘Scrcpy’ Improves Shortcuts, Clipboard Support is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

Ubuntu’s Progress from 2004 to 20.04 [Infographic] [OMG! Ubuntu!]

To celebrate the arrival of Ubuntu 20.04's first point release Canonical has published a colourful infographic charting the project's successes since 2004.

This post, Ubuntu’s Progress from 2004 to 20.04 [Infographic] is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

Official 1Password Linux App is Now Available for Testing [OMG! Ubuntu!]

1password linux screenshotThe official 1Password Linux app is now available to test. The new Rust-based Linux 1Password client lets you sync passwords with other OSes and devices.

This post, Official 1Password Linux App is Now Available for Testing is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

Run a Hospital on a Raspberry Pi with GNU Health [Linuxtoday.com]

How to run a hospital using just a raspberry pi with GNU Health.

Stack Abuse: Integrating H2 with Python and Flask [Planet Python]

Introduction

H2 is a lightweight database server written in Java. It can be embedded in Java applications, or run as a standalone server.

In this tutorial, we'll review why H2 can be a good option for your projects. We'll also learn how to integrate H2 with Python by building a simple Flask API.

The Features of H2

H2 was built with performance in mind.

"H2 is a combination of: fast, stable, easy to use, and features".

Although H2 is prominent mainly because it can be embedded in Java applications, it has some interesting features that also apply to its server version. Let's see some of them next.

Size and Performance

The .jar file used for the server version is around 2MB. We can download it from the H2 site, bundled with extra scripts and documentation. If we search in Maven Central though, we can download the .jar file on its own.

H2 performance shines in its embedded version. Even so, the official benchmark shows that its client-server version is also impressive.

In-Memory Databases and Encryption

In-Memory databases are not persistent. All data is stored in memory, so speed is greatly increased.

The H2 site explains that In-Memory databases are particularly useful when prototyping, or when using read-only databases.

Encryption is another useful feature to protect data at rest. Databases can be encrypted with the AES-128 algorithm.

Other Useful Features

H2 also provides a cluster mode, the ability to run multiple servers and connect them together. Writes are done in all servers at the same time, while reads are done from the first server in the cluster.

H2 surprises for its simplicity. It provides several useful features and it's easy to set up.

Let's start an H2 server in preparation for the following sections:

$ java -cp ./h2-1.4.200.jar org.h2.tools.Server -tcp -tcpAllowOthers -tcpPort 5234 -baseDir ./ -ifNotExists

The arguments that start with tcp enable communication to the server. The ifNotExists argument allows the database to be created when accessing it for the first time.

Description of the API and General Diagram

Let's suppose we are writing an API to register all exoplanets found to date. Exoplanets are planets found outside our Solar System, orbiting other stars.

This is our simple API definition, a CRUD for one resource:

REST API Definition

This definition along with the rest of the code we'll see next is available in this GitHub repo.

This is how our application will look like at the end of this tutorial:

General diagram

Left of the diagram we see the API Client. That client can be the "Try it out" function of the Swagger Editor, or any other client, like Postman or cURL.

On the other end we find the H2 database server, running on TCP port 5234 as explained above.

Finally, our application in the middle is composed of three Python files. The first one will have the Flask app that will answer all REST API requests. All endpoints we described in the definition above will be added to this file.

The second file will have the persistence, functions that access the database to execute the CRUD operations, using the JayDeBeApi package.

Lastly, a third file will contain a schema representing the resource the API manages, the Exoplanet. We'll use the Marshmallow package to represent that schema. The first two python files will use this schema to represent resources and pass them to each other.

Let's start off with the persistence file.

Database Schema

To store the Exoplanet resource to an H2 database we should write the basic CRUD functions first. Let's start by writing the creation of the database. We use the JayDeBeApi package to access databases through JDBC:

import jaydebeapi

def initialize():
    _execute(
        ("CREATE TABLE IF NOT EXISTS exoplanets ("
         "  id INT PRIMARY KEY AUTO_INCREMENT,"
         "  name VARCHAR NOT NULL,"
         "  year_discovered SIGNED,"
         "  light_years FLOAT,"
         "  mass FLOAT,"
         "  link VARCHAR)"))

def _execute(query, returnResult=None):
    connection  = jaydebeapi.connect(
        "org.h2.Driver",
        "jdbc:h2:tcp://localhost:5234/exoplanets",
        ["SA", ""],
        "../h2-1.4.200.jar")
    cursor = connection.cursor()
    cursor.execute(query)
    if returnResult:
        returnResult = _convert_to_schema(cursor)
    cursor.close()
    connection.close()

    return returnResult

The initialize() function is simple enough because of the helper functions after. It creates the exoplanets table if it doesn't exist already. This function should be executed before our API starts receiving requests. We'll see later where to do that with Flask.

The _execute() function contains the connection string and credentials to access the database server. It is simpler for this example, but there is room for improvement regarding security. We could save our credentials elsewhere, like environment variables for example.

Also, we added the path to the H2 jar file to the connect() method, as it has the driver we need to connect to H2 - org.h2.Driver.

The JDBC connection string ends in /exoplanets. This means that when connecting for the first time a database called exoplanets will be created.

You may have noticed that _execute() can return the result of the SQL query using the _convert_to_schema() function. Let's now see how that function works.

Marshmallow Schemas and CRUD Database Functions

Some SQL queries return tabular results, particularly the SELECT statement. JayDeBeApi will format those results as a list of tuples. For example, for the schema defined in the last section we could get a result similar to this:

>>> connection  = jaydebeapi.connect(...
>>> cursor = connection.cursor()
>>> cursor.execute("SELECT * FROM exoplanets")
>>> cursor.fetchall()
[(1, 'Sample1', 2019, 4.5, 1.2, 'http://sample1.com')]

Nothing's stopping us from managing results in this format and eventually return it to the API client. But looking ahead we know we will use Flask, so it would be good to already return results in a format Flask recommends.

In particular, we'll be using Flask-RESTful to facilitate the use of API routes. That package recommends to use Marshmallow to parse requests. This step allows for normalization of the objects. This way we can discard unknown properties and highlight validation errors, for example.

Let's see how the Exoplanet class would look so we can discuss further:

from marshmallow import Schema, fields, EXCLUDE

class ExoplanetSchema(Schema):
    id = fields.Integer(allow_none=True)
    name = fields.Str(required=True, error_messages={"required": "An exoplanet needs at least a name"})
    year_discovered = fields.Integer(allow_none=True)
    light_years = fields.Float(allow_none=True)
    mass = fields.Float(allow_none=True)
    link = fields.Url(allow_none=True)
    class Meta:
        unknown = EXCLUDE

The definition of the properties looks familiar. It's the same as the database schema, including the definition of required fields. All fields have a type that defines some default validation. For example, the link field is defined as an URL, so a string that doesn't look like an URL won't be valid.

Specific error messages can also be included here, like the validation for a name.

For this example project, we want to discard, or exclude, all unknown fields and API client may send erroneously. This is achieved in the Meta nested class.

Now we can use the load() and loads() Marshmallow methods to convert and validate our resources.

Now that we're acquainted with Marshmallow, we can explain what the _convert_to_schema() does:

def _convert_to_schema(cursor):
    column_names = [record[0].lower() for record in cursor.description]
    column_and_values = [dict(zip(column_names, record)) for record in cursor.fetchall()]

    return ExoplanetSchema().load(column_and_values, many=True)

In JayDeBeApi, column names are saved in the description field of the cursor, while the data can be obtained with the fetchall() method. We used list comprehensions in the first two lines to get the column names and values, and zip() to merge them.

The last line takes the merged result and converts them to ExoplanetSchema objects that Flask can further process.

Now that we explained the _execute() function and the ExoplanetSchema class, let's see all the CRUD database functions:

def get_all():
    return _execute("SELECT * FROM exoplanets", returnResult=True)

def get(Id):
    return _execute("SELECT * FROM exoplanets WHERE id = {}".format(Id), returnResult=True)

def create(exoplanet):
    count = _execute("SELECT count(*) AS count FROM exoplanets WHERE name LIKE '{}'".format(exoplanet.get("name")), returnResult=True)
    if count[0]["count"] > 0:
        return

    columns = ", ".join(exoplanet.keys())
    values = ", ".join("'{}'".format(value) for value in exoplanet.values())
    _execute("INSERT INTO exoplanets ({}) VALUES({})".format(columns, values))

    return {}

def update(exoplanet, Id):
    count = _execute("SELECT count(*) AS count FROM exoplanets WHERE id = {}".format(Id), returnResult=True)
    if count[0]["count"] == 0:
        return

    values = ["'{}'".format(value) for value in exoplanet.values()]
    update_values = ", ".join("{} = {}".format(key, value) for key, value in zip(exoplanet.keys(), values))
    _execute("UPDATE exoplanets SET {} WHERE id = {}".format(update_values, Id))

    return {}

def delete(Id):
    count = _execute("SELECT count(*) AS count FROM exoplanets WHERE id = {}".format(Id), returnResult=True)
    if count[0]["count"] == 0:
        return

    _execute("DELETE FROM exoplanets WHERE id = {}".format(Id))
    return {}

All functions are mainly SQL queries, but create() and update() deserve some more explanation.

The INSERT SQL statement can receive column and values separated, in the form INSERT INTO table (column1Name) VALUES ('column1Value'). We can use the join() function to merge all columns and separate them with commas, and do something similar to join all values we want to insert.

The UPDATE SQL statement is a bit more complex. Its form is UPDATE table SET column1Name = 'column1Value'. So we need to alternate keys and values, and we did it using the zip() function.

All these functions return None when there is a problem. Later when we call them we will have to check for that value.

Let's save all database functions on its own file, persistence.py, so we can add some context when we call the functions, like this:

import persistence

persistence.get_all()

REST API With Flask

Now that we wrote a layer to abstract the access to the database, we are ready to write the REST API. We'll use the Flask and Flask-RESTful packages to make our definition as easy as possible. As we learned before, we'll also use Marshmallow to validate resources.

Flask-RESTful requires to define one class per API resource, in our case the Exoplanet resource only. Then we can associate that resource with a route like this:

from flask import Flask
from flask_restful import Resource, Api

app = Flask(__name__)
api = Api(app)

class Exoplanet(Resource):
    # ...

api.add_resource(Exoplanet, "/exoplanets", "/exoplanets/<int:Id>")

This way all our routes, /exoplanets and /exoplanets/<int:Id> will be directed to the class we defined.

For example, the GET /exoplanets endpoint will be answered by a method called get() inside the Exoplanet class. Because we also have the GET /exoplanet/<Id> endpoint, that get() method must have an optional parameter called Id.

Let's see the whole class to understand this better:

from flask import request
from flask_restful import Resource, abort
from marshmallow import ValidationError
import persistence

class Exoplanet(Resource):
    def get(self, Id=None):
        if Id is None:
            return persistence.get_all()

        exoplanet = persistence.get(Id)
        if not exoplanet:
            abort(404, errors={"errors": {"message": "Exoplanet with Id {} does not exist".format(Id)}})
        return exoplanet

    def post(self):
        try:
            exoplanet = ExoplanetSchema(exclude=["id"]).loads(request.json)
            if not persistence.create(exoplanet):
                abort(404, errors={"errors": {"message": "Exoplanet with name {} already exists".format(request.json["name"])}})
        except ValidationError as e:
            abort(405, errors=e.messages)

    def put(self, Id):
        try:
            exoplanet = ExoplanetSchema(exclude=["id"]).loads(request.json)
            if not persistence.update(exoplanet, Id):
                abort(404, errors={"errors": {"message": "Exoplanet with Id {} does not exist".format(Id)}})
        except ValidationError as e:
            abort(405, errors=e.messages)

    def delete(self, Id):
        if not persistence.delete(Id):
            abort(404, errors={"errors": {"message": "Exoplanet with Id {} does not exist".format(Id)}})

The remaining HTTP verbs are processed in the same way as GET, by the methods with name post(), put() and delete() .

As we said before, logic errors when accessing the database will cause the functions to return None. Those errors are captured here when needed.

Also, exceptions that represent validation errors are triggered by Marshmallow, so those errors are also captured and returned to the user along with an appropriate return error.

Conclusion

H2 is a useful database server, performant and easy to use. Although it is a Java package, it can also run as a standalone server, so we can use it in Python with the JayDeBeApi package.

In this tutorial we defined a simple CRUD application to illustrate how to access the database, and which functions are available. After that, we defined a REST API with Flask and Flask-RESTful.

Although several concepts were omitted for the sake of brevity, like authentication and paging, this tutorial is a good reference to start using H2 in our Flask projects.

Real Python: The Real Python Podcast – Episode #21: Exploring K-means Clustering and Building a Gradebook With Pandas [Planet Python]

Do you want to learn the how and when of implementing K-means clustering in Python? Would you like to practice your pandas skills with a real-world project? This week on the show, David Amos is back with another batch of PyCoder’s Weekly articles and projects.


[ Improve Your Python With 🐍 Python Tricks 💌 – Get a short & sweet Python Trick delivered to your inbox every couple of days. >> Click here to learn more and see examples ]

14:00

Drones letten op naleving corona-regels [Computable]

In Singapore doet de politie een test met autonoom werkende drones die toezien op het navolgen van de anderhalvemeterregel. Twee Israëlische drones, die geen piloot nodig hebben, zijn uitgerust met software die samenscholingen signaleren. Vervolgens sturen...

Computable nomineert tien aanbieders van diensten [Computable]

Ict-vaktitel Computable heeft tien nominaties uitgedeeld binnen de Computable Awards 2020 in de categorie Services. Het gaat om ACC ICT, Accenture, Colt Technology Services, DataWeb, Datto, Enable U, Hero Contracting Services, Hewlett Packard Enterprise (HPE), Notilyze...

Trump pakt na TikTok ook WeChat aan [Computable]

De toekomst van de wereldwijde techindustrie is opnieuw onzekerder geworden. Na TikTok van het Chinese ByteDance gaat president Trump nu ook de eveneens Chinese internetgigant Tencent aanpakken. Volgens hem zijn ‘agressieve maatregelen’ nodig tegen Chinese bedrijven.

Google en Amazon geliefd voor 'merk-phishing' [Computable]

Google, Amazon en Whatsapp zijn de populairste merken bij cybercriminelen om phishing-mails te versturen. Dat blijkt uit onderzoek van Check Point. Tussen april en juni steeg het aantal phishing-e-mails ook opvallend, zegt het beveiligingsbedrijf.

Quantum computing zet dit jaar nog niet door [Computable]

Het is al jaren een trend, maar toch is slechts twintig procent van de it-professionals bekend met quantum computing. Dit blijkt uit het IT Trendsonderzoek dat Supply Value jaarlijks uitvoert. In het onderzoek is quantum computing...

Lekke Qualcomm-chips maken Android-gsm’s onveilig [Computable]

Via een chip van Qualcomm, die in ongeveer veertig procent van alle Android-telefoons zit, kunnen hackers de gsm bespioneren, niet meer laten reageren of kwaadaardige activiteiten verbergen. Dat hebben onderzoekers van de securityspecialist Check Point ontdekt.

Booking.com zet in op big data en ai [Computable]

Hoewel veel it’ers in Amsterdam straks hun baan zullen verliezen, blijft bij Booking.com de technologie hoog in het vaandel staan. De site gaat big data, machine learning en andere kunstmatige intelligentie inzetten om het publiek nog...

'Misbruik van Cisco-kwetsbaarheden in volle gang' [Computable]

Het Nationaal Cyber Security Centrum (NCSC) maant tot haast bij het patchen van systemen die Cisco ASA (Adaptive Security Appliance) en FTD (Threat Defense Software) gebruiken. Een aantal van de kwetsbaarheden wordt momenteel actief misbruikt in...

NSA waarschuwt: beperk delen van locatiedata [Computable]

De National Security Agency (NSA) raadt ten zeerste aan het delen van mobiele locatiedata te beperken. Via apps, draadloze netwerken, wifi en Bluetooth kunnen kwaadwillenden achter gevoelige informatie komen. De Amerikaanse geheime dienst richt zich met...

Computable nomineert tien dienstverleners [Computable]

Ict-vaktitel Computable maakt tien nominaties voor de Computable Awards 2020 in de categorie Service Integrator bekend. Dat zijn: Atos, CGI, Cegeka, Curvature, ilionx, Incentro, OGD ict-diensten, Pink Elephant, PQR en SLTN Inter Access. De winnaar maken...

Mkb'er doet zelden aangifte van cybercriminaliteit [Computable]

Mkb’ers die slachtoffer zijn van online-criminaliteit, doen zelden aangifte bij de politie. Slechts veertien procent van de zelfstandigen en kleine ondernemers ziet daar heil in. Wanneer wel aangifte wordt gedaan, leidt dit vaak tot ontevredenheid.

Camerafabrikant Canon slachtoffer van ransomware [Computable]

De Japanse camerafabrikant Canon is het slachtoffer van een ransomware-aanval, allicht uitgevoerd door het collectief Maze. Er werd tien terabyte aan data bij het bedrijf gestolen. Indien Canon niet betaalt, worden de gegevens op straat gegooid.

It-uitgaven overheden wereldwijd op peil [Computable]

Overheden wereldwijd blijven prioriteit geven aan it-diensten en software. De invloed van Covid-19 blijft dit jaar beperkt; er wordt een daling van 0,6 procent verwacht. Adviesbureau Gartner raamt de wereldwijde overheidsuitgaven voor it op in totaal...

Cybercriminelen misbruiken monitoringsoftware [Computable]

Bijna een derde van de cyberaanvallen die in 2019 door het Kaspersky Global Emergency Response-team werd onderzocht, gebeurde via legitieme instrumenten voor beheer en administratie op afstand. Hierdoor blijven aanvallers langer onopgemerkt.

Logpoint neemt AgileSI over van Orange Cyberdefense [Computable]

Het Deense Logpoint heeft een overeenkomst gesloten met Orange Cyberdefense Duitsland om diens dochterbedrijf AgileSI over te nemen. De overnamekandidaat is gespecialiseerd in beveiligingsoplossingen voor SAP. Een overnamebedrag is niet bekendgemaakt.

Resultaten Ctac vallen iets hoger uit [Computable]

Ctac heeft zijn omzet over het eerste halfjaar op peil weten te houden. Ondanks Covid-19 werd een licht hoger resultaat geboekt. De netto-omzet stijgt met 2,7 procent naar € 42,5 miljoen door acquisitie van Purple Square...

Ubuntu 20.04.1 LTS Released, Available to Download Now [OMG! Ubuntu!]

Ubuntu 20.04.1 LTS Point ReleaseThe first Ubuntu 20.04 point release is here. In this post we recap Ubuntu 20.04.1 LTS's change, show how you can get it, and look at why it's important.

This post, Ubuntu 20.04.1 LTS Released, Available to Download Now is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

LibreOffice 7.0 Released, This is What’s New [OMG! Ubuntu!]

libreoffice releasedLibreOffice 7.0 is here, serving as the latest stable release of this hugely popular open source productivity suite. As you’d expect, LibreOffice 7.0 boasts a raft of improvements and notable new features aimed at firming […]

This post, LibreOffice 7.0 Released, This is What’s New is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

Renewed Interest in OpenStack Bare Metal Project Ironic, as Software Moves Closer to Hardware [Linuxtoday.com]

As more enterprises move to hybrid cloud, they're relying more and more on provisioning bare metal servers to augment cloud providers' services in order to make their infrastructure cloud neutral.

Ubuntu 20.04.1 LTS (Focal Fossa) Released, Available for Download Now [Linuxtoday.com]

The Ubuntu 20.04 LTS (Focal Fossa) operating system series sees today the release of the first updated media, Ubuntu 20.04.1 LTS, which incorporates all the package updates and security fixes published by Canonical.

Collabora Office 6.4 Brings Outstanding MS Office Interoperability, LTS and L3 Support [Linuxtoday.com]

Based on the upstream LibreOffice 6.4 source code, Collabora Office 6.4 is a major release that brings a plethora of new features and enhancements.

PE Tree: Free open source tool for reverse-engineering PE files [Linuxtoday.com]

PE Tree, a malware reverse-engineering, open source tool developed by the BlackBerry Research and Intelligence team, has been made available for free to the cybersecurity community.

PSF GSoC students blogs: Week 10 Blog [Planet Python]

Hello everyone

I know I am late for the weekly blog. My apologies for that.
The previous week was my first week post my exams. I had mentioned in the last blog that I will be working on the documentation for panda3d.
So, just as I mentioned, I was able to complete the documentation part in one week. The documentation includes documentation for both python and c++, the languages supported by panda3d for game development. The appropriate code snippets have been included along with the screenshots of the corresponding output.
The challenges were to understand the reStructured text format by Sphinx ans write the code for documentation with proper identation and tags so as to build separate docs for python and c++.
You may find the Pull Request here: #71

This week I am working on the sample code. Some part of work has been done and hopefully it will be completed by the weekend. I will share more about the same in my next blog.

Thank you!

Stay Safe!

Codementor: How to use DLLs/COM objects from Python or - How to send a fax with Python [Planet Python]

Leverage DLLs from Python. Send faxes with Python without writing any code to send faxes.

PyCharm: Webinar: “Django Database Performance Tips” with Andrew Brookins [Planet Python]

Django is one of the most popular Python Web Frameworks. However, optimizing django performance can often be difficult. Most performance problems boil down to one thing: the database. According to our guest speaker, Andrew Brookins, the only way to master Django performance is to master database performance.

In this Webinar, Andrew is going to take us on a journey through an app that he created to demonstrate all the bottlenecks that arise when trying to optimize your Django app.

  • Monday, August 10
  • 7:00PM CEST – 1:00PM Eastern Daylight Time
  • Register here

Outline

  • Querying
    • Tackling the N+1 Problem: Reducing the number of queries to make your pages faster.
    • Annotations: Getting your database to do the heavy lifting for you
    • Iterator(): Get Django to chuck responses from your database
  • Indexing
    • Covering Indexes: Turning queries that take several hundred milliseconds to tens of milliseconds.
    • Materialized Views: One of the most powerful ways to have large queries created for you
  • Caching with Redis
    • Using Redis as a Cache
    • Custom Redis Authentication

About the Speaker

Andrew Brookins has over a decade of experience with Django and Relational Databases. That experience spans DevOps, application development, and platform engineering. He has worked on ecommerce sites, mobile APIs, comic book readers, particle simulation systems, learning and volunteering apps, and now works on a Databases as a Service at Redis Labs.

Andrew has also authored "Temple of Django Database Performance" which dives into the even greater detail than this webinar does. Furthermore, he has recently released a course on "Redis for Python Developers" at Redis University.

Andrew lives in Portland, Oregon with his wife and two wonderful children.

Talk Python to Me: #276 Geekout: Life in the solar system and beyond [Planet Python]

We're back with another GeekOut episode. Richard Campbell, a developer and podcaster who also dives deep into science and tech topics, is back for our second GeekOut episode. Last time we geeked out about the real science and progress around a moon base. This time it's why is there life on Earth, where could it be or have been in the solar system, and beyond. <br/> <br/> In case you didn't catch the first GeekOut, episode 253, this one is more of a general science and tech episode. I love digging into the deep internals of all the tools of the Python space, but given all that is going on in the world, I thought it'd be fun to take a step back and just enjoy some fun geekery and give you all something to just sit back and let your mind dream.<br/> <br/> <strong>Links from the show</strong><br/> <br/> <div><b>Richard on Twitter</b>: <a href="https://twitter.com/richcampbell" target="_blank" rel="noopener">@richcampbell</a><br/> <b>All Richard's GeekOut Episodes</b>: <a href="http://geekout.show" target="_blank" rel="noopener">geekout.show</a><br/> <b>Moonbase Geekout Episode</b>: <a href="https://talkpython.fm/253" target="_blank" rel="noopener">talkpython.fm/253</a><br/> <b>High Altitude Venus Operational Concept (HAVOC)</b>: <a href="https://sacd.larc.nasa.gov/smab/havoc/" target="_blank" rel="noopener">sacd.larc.nasa.gov</a><br/> <b>New Horizons</b>: <a href="https://solarsystem.nasa.gov/missions/new-horizons/in-depth/" target="_blank" rel="noopener">solarsystem.nasa.gov</a><br/> <b>The Planets: Saturn - NOVA documentary (Cassini)</b>: <a href="https://www.pbs.org/wgbh/nova/video/the-planets-saturn/" target="_blank" rel="noopener">pbs.org</a><br/> <b>Mission to Jupiter - Galileo</b>: <a href="https://www.jpl.nasa.gov/missions/galileo/" target="_blank" rel="noopener">jpl.nasa.gov</a><br/></div><br/> <strong>Sponsors</strong><br/> <br/> <a href='https://talkpython.fm/brilliant'>Brilliant</a><br> <a href='https://talkpython.fm/training'>Talk Python Training</a>

Python Bytes: #193 Break out the Django testing toolbox [Planet Python]

<p>Sponsored by us! Support our work through:</p> <ul> <li>Our <a href="https://training.talkpython.fm/"><strong>courses at Talk Python Training</strong></a></li> <li><a href="https://t.co/AKfVKcveg6?amp=1"><strong>Brian’s pytest book</strong></a></li> </ul> <p><strong>Brian #1: Start using pip install --use-feature=2020-resolver if you aren’t already</strong></p> <ul> <li>Mathew Feickert</li> <li><p>You may see something interesting when you run pip <img src="https://pbs.twimg.com/media/EeERublXoAILPct?format=png&amp;name=small" alt="Image" /></p></li> <li><p>This is not a problem. Do not adjust your sets. </p></li> <li>But, you should be aware of it.</li> <li>Especially if you install from requirements generated with <code>pip freeze</code>, you’ll want to use <code>--use-feature=2020-resolver</code> everywhere:</li> </ul> <pre><code> $ python -m pip install --use-feature=2020-resolver -r requirements_original.txt $ python -m pip freeze &gt; requirements_lock.txt $ python -m pip install --use-feature=2020-resolver -r requirements_lock.txt </code></pre> <ul> <li>Otherwise, you may run into issues <ul> <li>see <a href="https://gist.github.com/matthewfeickert/78cd03376435c05b6104f376cd43b537">Example of --use-feature=2020-resolver breaking a pip freeze requirements.txt</a></li> <li>and <a href="https://pip.pypa.io/en/latest/user_guide/#changes-to-the-pip-dependency-resolver-in-20-2-2020">Changes to the pip dependency resolver in 20.2 (2020)</a></li> </ul></li> </ul> <p><strong>Michael #2:</strong> <a href="https://twitter.com/mkennedy/status/1276606467156537344"><strong>Profiling Python import statements</strong></a></p> <ul> <li>Conversation with Brandon Braner lead to <a href="https://pypi.org/project/import-profiler/">import-profiler</a></li> <li>A basic python import profiler to find bottlenecks in import times. </li> <li>Not often a problem, imports can be an issue for applications that need to start quickly, such as CLI tools. </li> <li>Goal of import profiler is to help find the bottlenecks when importing a given package.</li> <li>Example</li> </ul> <pre><code> from import_profiler import profile_import with profile_import() as context: # Anything expensive in here import requests # Print cumulative and inline times. The number of + in the 3rd column # indicates the depth of the stack. context.print_info() </code></pre> <p>Output:</p> <pre><code> umtime (ms) intime (ms) name 83 0.5 requests 55 0.5 +packages.urllib3.contrib 54.1 0.3 ++ 53.1 0.7 +++connectionpool 6.3 1.1 ++++logging ... </code></pre> <p><strong>Brian #3:</strong> <a href="https://www.mattlayman.com/blog/2020/django-testing-toolbox/"><strong>Django Testing Toolbox</strong></a></p> <ul> <li>Matt Layman</li> <li>Testing packages commonly used on Django projects</li> <li>Techniques Matt uses</li> <li>packages <ul> <li>pytest-django - duh</li> <li>factory_boy - fake data</li> <li>django-test-plus - beefed up TestCase with tons of helper utilities</li> </ul></li> <li>techniques <ul> <li>Using TestCase and test classes instead of functions</li> <li>Arrange, Act Assert structure</li> <li>In-memory SQLite database</li> <li>Disable migrations while testing</li> <li>faster password hasher </li> <li>Use your editor effectively to run tests</li> </ul></li> </ul> <p><strong>Michael #4:</strong> <a href="https://github.com/pandas-profiling/pandas-profiling"><strong>Pandas-profiling</strong></a></p> <ul> <li>Recommended by Oz</li> <li>Considering the fact that Data Science users are almost the majority now for Python, I thought it would be nice to spread the word of pandas-profiling package. </li> <li>This package enables you to do Exploratory Data Analysis (EDA) with a single command. It is really useful to understand what percent of the data is NULL, or how it is distributed. </li> <li><p>I used to do these steps manually and it was quite time consuming. Now it is a breeze.</p></li> <li><p>Generates profile reports from a pandas <code>DataFrame</code>. The pandas <code>df.describe()</code> function is great but a little basic for serious exploratory data analysis. <code>pandas_profiling</code> extends the pandas DataFrame with <code>df.profile_report()</code> for quick data analysis.</p></li> <li>Features <ul> <li><strong>Type inference</strong>: detect the <a href="https://github.com/pandas-profiling/pandas-profiling#types">types</a> of columns in a dataframe.</li> <li><strong>Essentials</strong>: type, unique values, missing values</li> <li><strong>Quantile statistics</strong> like minimum value, Q1, median, Q3, maximum, range, interquartile range</li> <li><strong>Descriptive statistics</strong> like mean, mode, standard deviation, sum, median absolute deviation, coefficient of variation, kurtosis, skewness</li> <li><strong>Most frequent values</strong></li> <li><strong>Histogram</strong></li> <li><strong>Correlations</strong> highlighting of highly correlated variables, Spearman, Pearson and Kendall matrices</li> <li><strong>Missing values</strong> matrix, count, heatmap and dendrogram of missing values</li> <li><strong>Text analysis</strong> learn about categories (Uppercase, Space), scripts (Latin, Cyrillic) and blocks (ASCII) of text data.</li> <li><strong>File and Image analysis</strong> extract file sizes, creation dates and dimensions and scan for truncated images or those containing EXIF information.</li> </ul></li> <li>Nice examples too <ul> <li><a href="https://pandas-profiling.github.io/pandas-profiling/examples/master/census/census_report.html">Census Income</a> (US Adult Census data relating income)</li> <li><a href="https://pandas-profiling.github.io/pandas-profiling/examples/master/meteorites/meteorites_report.html">NASA Meteorites</a> (comprehensive set of meteorite landings) </li> <li><a href="https://pandas-profiling.github.io/pandas-profiling/examples/master/titanic/titanic_report.html">Titanic</a> (the "Wonderwall" of datasets) </li> <li><a href="https://pandas-profiling.github.io/pandas-profiling/examples/master/nza/nza_report.html">NZA</a> (open data from the Dutch Healthcare Authority)</li> <li><a href="https://pandas-profiling.github.io/pandas-profiling/examples/master/stata_auto/stata_auto_report.html">Stata Auto</a> (1978 Automobile data)</li> <li><a href="https://pandas-profiling.github.io/pandas-profiling/examples/master/vektis/vektis_report.html">Vektis</a> (Vektis Dutch Healthcare data)</li> <li><a href="https://pandas-profiling.github.io/pandas-profiling/examples/master/colors/colors_report.html">Colors</a> (a simple colors dataset)</li> </ul></li> </ul> <p><strong>Brian #5:</strong> <a href="https://rednafi.github.io/digressions/python/2020/07/03/python-mixins.html"><strong>Interfaces, Mixins and Building Powerful Custom Data Structures in Python</strong></a></p> <ul> <li>Redowan Delowar</li> <li>“Supercharging Python's built-in data structures”</li> <li>Discussion of interfaces, abstract base classes, mixins, and Python</li> <li>Class hierarchies and utilizing interfaces, ABCs (informal and formal), mixins, etc. are less common in Python than in some other languages, but you can still use them to do some really cool things.</li> <li>I especially liked the introduction to the concepts and why they are useful, as well as why ABCs are different than interfaces.</li> <li>“Interfaces can be thought of as a special case of Abstract Base Classes</li> </ul> <blockquote> <p>"It’s imperative that all the methods of an interface are abstract methods and the classes don’t store any state (instance variables). However, in case of abstract base classes, the methods are generally abstract but there can also be methods that provide implementation (concrete methods) and also, these classes can have instance variables."</p> </blockquote> <ul> <li>Shows an example, and goes on to discuss mixins, a parent class that provides functionality to subclasses but is not intended to be instantiated itself.</li> </ul> <p><strong>Michael #6:</strong> <a href="https://nedbatchelder.com/blog/202006/pickles_nine_flaws.html"><strong>Pickle’s 9 flaws</strong></a></p> <ul> <li>Python’s pickle module is a very convenient way to serialize and de-serialize objects. It needs no schema, and can handle arbitrary Python objects. But it has problems. This post briefly explains the problems.</li> <li>Via <a href="https://pycoders.com/">pycoders.com</a></li> <li>Article by Ned Batchelder <ul> <li><strong>Insecure</strong> - The insecurity is not because pickles contain code, but because they create objects by calling constructors named in the pickle. Any callable can be used in place of your class name to construct objects.</li> <li><strong>Old pickles look like old code</strong> - if your code changes between the time you made the pickle and the time you used it, your objects may not correspond to your code.</li> <li><strong>Implicit</strong> - they will serialize whatever structure your object has.</li> <li><strong>Over-serializes</strong> - They serialize everything in your objects, even data you didn’t want to serialize. For example, you might have an attribute that is a cache of computation that you don’t want serialized.</li> <li><strong>__init__ isn’t called</strong> - Pickles store the entire structure of your objects. When the pickle module recreates your objects, it does not call your __init__ method, since the object has already been created.</li> <li><strong>Python only</strong> - Pickles are specific to Python, and are only usable by other Python programs.</li> <li><strong>Unreadable</strong> - A pickle is a binary data stream (actually instructions for an abstract execution engine.) If you open a pickle as a plain file, you cannot read its contents.</li> <li><strong>Appears to pickle code</strong> - Functions and classes are first-class objects in Python: you can store them in lists, dicts, attributes, and so on. Pickle will gladly serialize objects that contain callables like functions and classes. But it doesn’t store the code in the pickle, just the name of the function or class.</li> <li><strong>Slow</strong> - Compared to other serialization techniques, pickle can be slow as Ben Frederickson demonstrates in <a href="https://www.benfrederickson.com/dont-pickle-your-data/">Don’t pickle your data</a>.</li> </ul></li> </ul> <p>Extras:</p> <p>Michael: </p> <ul> <li>More on <code>Pathlib</code> by <a href="https://twitter.com/flutefreak7/status/1287200446847823874">Brett Ables:</a> <code>text = Path(file).read_text()</code></li> <li>I was a guest on <a href="https://twitter.com/aQoCode/status/1287826329203810310">A Question of Code podcast</a>. Ed, Tom, and I discussed:</li> </ul> <p>Why is coding in Python such fun? And why is it so good for beginners and experts alike? Why might Python give you tangible results faster than JavaScript? And once you've learnt some Python, what are your career options? Find out all this and more in this week's pythonic installment of A Question of Code.</p> <p><strong>Joke</strong></p> <ul> <li>(<a href="https://twitter.com/ab_was_taken/status/1287884897802006528">via Aaron Brown</a>)</li> <li>By Caitlin Hudon 👩🏼‍💻 <a href="https://twitter.com/beeonaposy/status/1287797396471193601">@beeonaposy</a>:</li> <li>I have a Python joke, but I don't think this is the right environment.</li> </ul>

PSF GSoC students blogs: GSoC Week 10: Print [Planet Python]

What I did this week?

I took a break for the week. So there's nothing on my list.

What is coming up next?

From my last work there were few minor things that need to be changed in my triage PR. I'll be working on adding a new format that is PDF. I need some time to figure out what is the best case to add this feature that is either using a different output format or providing a new template so the users can directly print from the HTML.  

Have I got stuck anywhere?

There are no blocking issues for me at this moment.

PSF GSoC students blogs: Weekly Blog Post #5 [Planet Python]

Hi everyone  a little late on this blog as I have to go back to college to get my stuff back. I passed the second evaluation, yay,. Till now I have been able to get the module metadata except the licenses. The licenses can be collected in 2 ways one is through making bash scripts to find and collect licenses from the module directory. Since licenses files dont have a set structure or a convention that's why its getting difficult and a foolproof  guarantee cant be given. Another way is through making an in house copyright to License parser. For debian licenses we have debut  used in tern I have to come up with similar kind of parser. I also have one idea of training a model from data collected by using github's api but thats just overkill.

PSF GSoC students blogs: Weekly Check In - 9 [Planet Python]

What did I do till now?

Last week I completed the ScrapyH2ProxyAgent implementation and added the required tests. I was going through the codebase for hyper-h2 library to get insight on how they implemented CONNECT method for HTTP/2. 

What's coming up next?

Next week I plan to finish working on ScrapyTunnelingH2Agent which enables a user to create a SSL Tunnel and proxy requests.

Did I get stuck anywhere?

Yeah I am stuck at a weird problem where two test cases are colliding i.e none of them being related to each other but fails when I run them both together and passes when I run them separately. I'm still working on finding a working fix! 

Python⇒Speed: Debugging Python server memory leaks with the Fil profiler [Planet Python]

Your server is running just fine, handling requests and sending responses. But then, ever so slowly, memory usage creeps up, and up, and up–until eventually your process runs out of memory and crashes. And then it restarts, and the leaking starts all over again.

In order to fix memory leaks, you need to figure out where that memory is being allocated. And that can be tricky, unless you use the right tools.

Let’s see how you can identify the exact lines of code that are leaking by using the Fil memory profiler.

Read more...

Matt Layman: Give Me A Break... Day - Building SaaS #67 [Planet Python]

In this episode, we did some Django model development. I created a new model to track break days in a school year. This model will be critical to fill in vacations and holidays so that the scheduling functionality works properly. I added the model, the tests, the admin page, and the create view to create break days in the app. We started by picking a model name and discussing naming in programming.

Quansight Labs Blog: Designing with and for developers [Planet Python]

Open source is notorious for lack of design presence, enough so that my search to prove this fact has turned up nearly nothing. There’s many ways that such a gap in community might manifest, but one that I never anticipated was working with developers that had never interacted with a designer before.

A quick note for context: I’m writing this as a UX/UI designer working with open source projects for a little over a year. Because there are so many ways design processes can happen (enough to warrant its own blog post), this post is not intended to discuss design process deeply. My goal here is to pass on some of what I’ve learned that helps me design in this unusual space in hopes that it can help someone else. This post might seem most relevant for designers, but I think this experience could be helpful for developers as well.

Read more… (5 min remaining to read)

05-08-2020

20:06

Rackspace trekt weer naar de beurs [Computable]

Vier jaar nadat het de beurs vaarwel zei, kunnen beleggers weer intekenen op aandelen van cloud- en datacenterspecialist Rackspace. Het Texaanse bedrijf noteert vanaf vandaag weer op de Nasdaq.

Computable nomineert in opleiding en training [Computable]

Ict-vaktitel Computable heeft tien nominaties uitgedeeld binnen de Computable Awards 2020 in de categorie Opleiding & Training. Het gaat om AD Software Engineering van Hogeschool van Amsterdam, ROC van Amsterdam en BIT Academy, Applied Risk, CodeSkillz,...

EIT Digital stuurt studenten op digitaal zomerkamp [Computable]

De Europese innovatie-aanjager EIT Digital stuurt zijn studenten dit jaar voor het eerst op een digitaal zomerkamp. In de maand augustus organiseert het voor de achtste keer zijn Summer School, waar deelnemers lessen in tech volgen...

Vektis over op IBM Db2 Warehouse [Computable]

Vektis uit Zeist, centrum voor businessintelligence in de zorg, stapt voor zijn dataverwerking over naar de IBM Cloud. Voortaan wordt gebruik gemaakt van IBM Db2 Warehouse. Het niveau van de beveiliging en de dataprivacy waren voor...

Pinta Image Editor Gets First Update in 5 Years [OMG! Ubuntu!]

pinta 1.7 thumbnailPinta image editor has made its first release in over 5 years. The revived Mono-based graphics app adds new features and fixes long-standing bugs.

This post, Pinta Image Editor Gets First Update in 5 Years is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

Flash ISOs to Multiple USB Sticks on Linux with Popsicle [OMG! Ubuntu!]

popsicle usb writer gtkIf you’re looking for an easy way to flash install images to multiple USB sticks in parallel check out Popsicle. This handy tool, which is written in Rust, lets you write an .iso (or other […]

This post, Flash ISOs to Multiple USB Sticks on Linux with Popsicle is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

Linux Marketshare Dipped in July, But Not By Much! [OMG! Ubuntu!]

If you were hoping July would yield another bumper month for Linux marketshare I'm here to gently shake you awake and waft an aromatic espresso under your nose.

This post, Linux Marketshare Dipped in July, But Not By Much! is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

Improve Firefox Performance on Linux by Turning WebRender On [OMG! Ubuntu!]

Mozilla Firefox LogoLearn how to enable WebRender in Firefox on Linux. This new tech can deliver a major performance boost by using your system's GPU to render web content.

This post, Improve Firefox Performance on Linux by Turning WebRender On is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

Announcement of LibreOffice 7.0 [Press Releases – The Document Foundation Blog]

LibreOffice 7.0: the new major release of the best FOSS office suite ever is available on all OSes and platforms, and provides significant new features

Berlin, August 5, 2020 – The LibreOffice Project announces the availability of LibreOffice 7.0, a new major release providing significant new features: support for OpenDocument Format (ODF) 1.3; Skia graphics engine and Vulkan GPU-based acceleration for better performance; and carefully improved compatibility with DOCX, XLSX and PPTX files.

  • Support for ODF 1.3. OpenDocument, LibreOffice’s native open and standardised format for office documents, has recently been updated to version 1.3 as an OASIS Technical Committee Specification. The most important new features are digital signatures for documents and OpenPGP-based encryption of XML documents, with improvements in areas such as change tracking, and additional details in the description of elements in first pages, text, numbers and charts. The development of ODF 1.3 features has been funded by donations to The Document Foundation.
  • Skia graphics engine and Vulkan GPU-based acceleration. The Skia graphics engine has been implemented thanks to sponsorship by AMD, and is now the default on Windows, for faster performance. Skia is an open source 2D graphics library which provides common APIs that work across a variety of hardware and software platforms, and can be used for drawing text, shapes and images. Vulkan is a new-generation graphics and compute API with high-efficiency and cross-platform access to modern GPUs.
  • Better compatibility with DOCX, XLSX and PPTX files. DOCX now saves in native 2013/2016/2019 mode, instead of 2007 compatibility mode, to improve interoperability with multiple versions of MS Office, based on the same Microsoft approach. Export to XLSX files with sheet names longer than 31 characters is now possible, along with exporting checkboxes in XLSX. The “invalid content error” message was resolved when opening exported XLSX files with shapes. Finally, there were improvements to the PPTX import/export filter.
    LibreOffice offers the highest level of compatibility in the office suite arena, starting from native support for the OpenDocument Format (ODF) – with better security and interoperability features over proprietary formats – to almost perfect support for DOCX, XLSX and PPTX files. In addition, LibreOffice includes filters for many legacy document formats, and as such is the best interoperability tool in the market.

Summary of Other New Features [1]

GENERAL

  • New icon theme, the default on macOS: Sukapura
  • New shapes galleries: arrows, diagrams, icons and more…
  • Glow and soft edge effects for objects

WRITER

  • Navigator is easier to use, with more context menus
  • Semi-transparent text is now supported
  • Bookmarks can now be displayed in-line in text
  • Padded numbering in lists, for consistency
  • Better handling of quotation marks and apostrophes

CALC

  • New functions for non-volatile random number generation
  • Keyboard shortcut added for autosum

IMPRESS & DRAW

  • Semi-transparent text is supported here too
  • Subscripts now return to the default of 8%
  • PDFs larger than 500 cm can now be generated

LibreOffice Technology

LibreOffice 7.0’s new features have been developed by a large community of code contributors: 74% of commits are from developers employed by companies sitting in the Advisory Board, such as Collabora, Red Hat and CIB, plus several other organizations, and 26% are from individual volunteers.

In addition, there is a global community of individual volunteers taking care of other fundamental activities, such as quality assurance, software localization, user interface design and user experience, editing of help content and documentation, along with free software and open document standards advocacy.

A video summarizing the top new features in LibreOffice 7.0 is available on YouTube: https://www.youtube.com/watch?v=XusjjbBm81s and also on PeerTube: https://tdf.io/lo70peertube

Products based on LibreOffice Technology are available for all major desktop operating systems (Windows, macOS, Linux and ChromeOS), for the cloud and for mobile platforms. They are released by The Document Foundation, and by ecosystem companies contributing to software development.

LibreOffice for End Users

LibreOffice 7.0 represents the bleeding edge in term of features for open source office suites, and as such is targeted at technology enthusiasts, early adopters and power users. The Document Foundation does not provide any technical support for users, although they can get help from other users on mailing lists and the Ask LibreOffice website: https://ask.libreoffice.org

For users whose main objective is personal productivity and therefore prefer a release that has undergone more testing and bug fixing over the new features, The Document Foundation maintains the LibreOffice 6.4 family, which includes some months of back-ported fixes. The current version is LibreOffice 6.4.5.

LibreOffice in Business

For enterprise-class deployments, TDF strongly recommends sourcing LibreOffice from one of the ecosystem partners, to get long-term supported releases, dedicated assistance, custom new features and other benefits, including SLA (Service Level Agreements): https://www.libreoffice.org/download/libreoffice-in-business/. The work done by ecosystem partners is an integral part of LibreOffice Technology.

For migrations from proprietary office suites and training, professional support should be sourced from certified professionals who provide value-added services which extend the reach of the community to the corporate world, and offer CIOs and IT managers a solution in line with proprietary offerings. Reference page: https://www.libreoffice.org/get-help/professional-support/.

In fact, LibreOffice – thanks to its mature codebase, rich feature set, strong support for open standards, excellent compatibility and long-term support options from certified partners – represents the ideal solution for businesses that want to regain control of their data and free themselves from vendor lock-in.

Availability of LibreOffice 7.0

LibreOffice 7.0 is immediately available from the following link: https://www.libreoffice.org/download/. Minimum requirements for proprietary operating systems are Microsoft Windows 7 SP1 and Apple macOS 10.12. Builds of the latest LibreOffice Online source code are available as Docker images from TDF: https://hub.docker.com/r/libreoffice/online/

LibreOffice Technology based products for Android and iOS are listed here: https://www.libreoffice.org/download/android-and-ios/, while for App Stores and ChromeOS are listed here: https://www.libreoffice.org/download/libreoffice-from-microsoft-and-mac-app-stores/

LibreOffice users, free software advocates and community members can support The Document Foundation with a donation at https://www.libreoffice.org/donate

LibreOffice 7.0 is built with document conversion libraries from the Document Liberation Project: https://www.documentliberation.org

[1] A more comprehensive list of LibreOffice 7.0 new features is available on the Release Notes wiki page: https://wiki.documentfoundation.org/ReleaseNotes/7.0

Press Kit

The press kit with press release and high-resolution images and screenshots, is available here: https://tdf.io/lo70presskit

04-08-2020

19:00

Linux 5.8 Released, This is What’s New [OMG! Ubuntu!]

Linux 5.8 kernel releaseThe Linux Kernel 5.8 release has been announced – but what's new and improved? In this post we recap all the neat new features and core changes on offer.

This post, Linux 5.8 Released, This is What’s New is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

31-07-2020

19:30

You Can Now Run Mac OS 8 on Linux as an Electron App [OMG! Ubuntu!]

Macintosh JSFancy running Mac OS 8 on your modern Mac, Linux, or Windows 10 desktop as a standalone app? Of course you don’t 😉 but that hasn’t stopped Slack developer Felix Rieseberg from giving you (and […]

This post, You Can Now Run Mac OS 8 on Linux as an Electron App is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

How to Make Telegram’s Linux App Use System Window Frame [OMG! Ubuntu!]

A recent update to the Telegram desktop client for Linux introduces a “new” non-native window frame by default. The new window decorations look flat, narrow, and a bit Windows 10-y. Which is to say: it’s […]

This post, How to Make Telegram’s Linux App Use System Window Frame is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

28-07-2020

18:40

Mozilla Firefox 79 Released, This is What’s New [OMG! Ubuntu!]

Mozilla Firefox 79 is available to download for Windows, macOS and Linux. The new build makes adds tab page tweaks, better tracking protection, and more.

This post, Mozilla Firefox 79 Released, This is What’s New is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

Enlightenment 0.24.2 Released with Bug Fixes, Updated Terminal App [OMG! Ubuntu!]

enlightenment desktop logoI'm not entirely sure why I write about new releases of the Enlightenment desktop as and when they materialise, but I do — and a new one is here!

This post, Enlightenment 0.24.2 Released with Bug Fixes, Updated Terminal App is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

DigiKam’s Improved Face Detection for Photos Even Works on Animals [OMG! Ubuntu!]

digikam 7.0 face detectionAI powered face recognition is just one of the new features in DigiKam 7.0, the latest version of this open source photo management software.

This post, DigiKam’s Improved Face Detection for Photos Even Works on Animals is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

The 3rd-Gen KDE Slimbook is Here, And Boy is it Powerful [OMG! Ubuntu!]

kde slimbook amd versionThe all-new third-generation KDE Slimbook is now available to buy from— and on paper it looks a beast. Hiding inside its thin and light magnesium alloy case is a powerful AMD Ryzen 4000 processor, ample […]

This post, The 3rd-Gen KDE Slimbook is Here, And Boy is it Powerful is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

TUXEDO Pulse 15 is a New AMD-Powered Linux Ultrabook [OMG! Ubuntu!]

tuxedo computersLooking for a powerful Linux workstation taking advantage of AMD chips? Look no further than the Pulse 15 from TUXEDO Computers which uses Ryzen 4000 chips.

This post, TUXEDO Pulse 15 is a New AMD-Powered Linux Ultrabook is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

SuperTuxKart’s Next Release is Available for Testing [OMG! Ubuntu!]

SueprTuxKart LogoSuperTuxKart 1.2 is the latest update to the popular open source kart racer. We look at the new features, key changes, and show you where to download it.

This post, SuperTuxKart’s Next Release is Available for Testing is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

Glimpse 0.2.0 Beta Available for Testing [OMG! Ubuntu!]

Glimpse Image Editor ScreenshotA new beta release of Glimpse, the rebranded GIMP fork, is available for testing. Glimpse 0.2.0 is based on GIMP 2.10.18 and includes most of its features.

This post, Glimpse 0.2.0 Beta Available for Testing is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

21-07-2020

17-07-2020

18:21

Thunderbird 78 Released with OpenPGP Support, Integrated Lightning Calendar [OMG! Ubuntu!]

thunderbird logoThunderbird 78 is the latest stable release of the email client. It features OpenPGP encryption support, integrated calendar, and dark mode support.

This post, Thunderbird 78 Released with OpenPGP Support, Integrated Lightning Calendar is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

Get GNOME 3.38’s New Default Wallpapers Right Now [OMG! Ubuntu!]

gnome shell 3.38Here's your first look at GNOME 3.38's new default wallpaper, plus a link to download it to use on your own desktop ahead of September's GNOME 3.38 release.

This post, Get GNOME 3.38’s New Default Wallpapers Right Now is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

10:21

Android 10 is Coming to the PinePhone (Updated) [OMG! Ubuntu!]

Android on the PinePhoneGloDroid is a project that wants to bring a fully open source version of Android 10 to low-cost devices including the Orange Pi, PinePhone and PineTab.

This post, Android 10 is Coming to the PinePhone (Updated) is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

16-07-2020

10:09

GNOME Opens an Official Merch Shop Selling T-Shirts, More [OMG! Ubuntu!]

gnome merchandiseGNOME fans can now buy t-shirts, hoodies, and even socks bearing the famous logo through a new, dedicated online store. We take a look at what's on offer…

This post, GNOME Opens an Official Merch Shop Selling T-Shirts, More is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

Mozilla VPN Goes Live …But Not For Linux Users [OMG! Ubuntu!]

Mozilla VPNMozilla's VPN service has officially launched in six countries, including the UK but users can't yet use the tech, which costs $4.99 a month, on Linux.

This post, Mozilla VPN Goes Live …But Not For Linux Users is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

New PinePhone with 3GB RAM and USB Dock Goes on Sale [OMG! Ubuntu!]

pinephone postmarketOS community editionThe PinePhone postmarketOS Community Edition is now available to order direct from Pine64 priced at $149 — but I don’t think you should buy it. Hear me out, hear me out — there is a […]

This post, New PinePhone with 3GB RAM and USB Dock Goes on Sale is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

Ubuntu Will No Longer Track Which Packages Users Install [OMG! Ubuntu!]

privacy in UbuntuUbuntu will no longer log which packages users install from the archives. The 'popularity contest' package will not ship in future versions of the distro.

This post, Ubuntu Will No Longer Track Which Packages Users Install is from OMG! Ubuntu!. Do not reproduce elsewhere without permission.

13-07-2020

09-07-2020

08-07-2020

06-07-2020

04-07-2020

02-07-2020

18:02

Announcement of LibreOffice 6.4.5 [Press Releases – The Document Foundation Blog]

Donate TodayBerlin, July 2, 2020 – The Document Foundation announces the availability of LibreOffice 6.4.5, the 5th minor release of the LibreOffice 6.4 family, targeted at technology enthusiasts and power users. LibreOffice 6.4.5 includes over 100 bug fixes and improvements to document compatibility and interoperability with software from other vendors.

LibreOffice 6.4.5 is optimized for use in production environments, even by more conservative users, as it now includes several months of work on bug fixes. Users of LibreOffice 6.3.6 and previous versions should start planning the update to LibreOffice 6.4.5, as the new major LibreOffice release – tagged 7.0 – is going to be announced in early August.

For enterprise class deployments, TDF strongly recommends sourcing LibreOffice from one of the ecosystem partners, to get long-term supported releases, dedicated assistance, custom new features and other benefits, including SLAs (Service Level Agreements): https://www.libreoffice.org/download/libreoffice-in-business/. Also, the work done by ecosystem partners flows back into the LibreOffice project, and this represents an advantage for everyone.

LibreOffice individual users are supported by a global community of volunteers: https://www.libreoffice.org/get-help/community-support/. On the website and the wiki there are guides, manuals, tutorials and HowTos. Donations help us to make all of these resources available.

Availability of LibreOffice 6.4.5

LibreOffice 6.4.5 is immediately available from the following link: https://www.libreoffice.org/download/. Minimum requirements are specified on the download page. TDF builds of the latest LibreOffice Online source code are available as Docker images: https://hub.docker.com/r/libreoffice/online/.

LibreOffice 6.4.5’s change log pages are available on TDF’s wiki: https://wiki.documentfoundation.org/Releases/6.4.5/RC1 (changed in RC1) and https://wiki.documentfoundation.org/Releases/6.4.5/RC2 (changed in RC2).

All versions of LibreOffice are built with document conversion libraries from the Document Liberation Project: https://www.documentliberation.org.

Support LibreOffice

LibreOffice users are invited to join the community at https://ask.libreoffice.org, where they can get and provide user-to-user support. People willing to contribute their time and professional skills to the project can visit the dedicated website at https://whatcanidoforlibreoffice.org.

LibreOffice users, free software advocates and community members can provide financial support to The Document Foundation with a donation via PayPal, credit card or other tools at https://www.libreoffice.org/donate.

24-06-2020

21-05-2020

17:54

LibreOffice 6.4.4 available for download [Press Releases – The Document Foundation Blog]

Berlin, May 21, 2020 – The Document Foundation announces the availability of LibreOffice 6.4.4, the 4th minor release of the LibreOffice 6.4 family, targeted at technology enthusiasts and power users. LibreOffice 6.4.4 includes many bug fixes and improvements to document compatibility.

LibreOffice 6.4.4 represents the bleeding edge in term of features for open source office suites, and as such is not optimized for enterprise-class deployments, where features are less important than robustness. Users wanting a more mature version can download LibreOffice 6.3.6, which includes some months of back-ported fixes.

For enterprise class deployments, TDF strongly recommends sourcing LibreOffice from one of the ecosystem partners, to get long-term supported releases, dedicated assistance, custom new features and other benefits, including SLAs (Service Level Agreements): https://www.libreoffice.org/download/libreoffice-in-business/. Also, the work done by ecosystem partners flows back into the LibreOffice project, benefiting everyone.

LibreOffice’s individual users are helped by a global community of volunteers: https://www.libreoffice.org/get-help/community-support/. On the website and the wiki there are guides, manuals, tutorials and HowTos. Donations help us to make all of these resources available.

Availability of LibreOffice 6.4.4

LibreOffice 6.4.4 is immediately available from the following link: https://www.libreoffice.org/download/. Minimum requirements are specified on the download page. TDF builds of the latest LibreOffice Online source code are available as Docker images: https://hub.docker.com/r/libreoffice/online/.

LibreOffice 6.4.4’s change log pages are available on TDF’s wiki: https://wiki.documentfoundation.org/Releases/6.4.4/RC1 (changed in RC1) and https://wiki.documentfoundation.org/Releases/6.4.4/RC2 (changed in RC2).

All versions of LibreOffice are built with document conversion libraries from the Document Liberation Project: https://www.documentliberation.org.

Support LibreOffice

LibreOffice users are invited to join the community at https://ask.libreoffice.org, where they can get and provide user-to-user support. People willing to contribute their time and professional skills to the project can visit the dedicated website at https://whatcanidoforlibreoffice.org.

LibreOffice users, free software advocates and community members can provide financial support to The Document Foundation with a donation via PayPal, credit card or other tools at https://www.libreoffice.org/donate.

30-04-2020

15:47

LibreOffice 6.3.6 available for download [Press Releases – The Document Foundation Blog]

Berlin, April 30, 2020 – The Document Foundation announces LibreOffice 6.3.6, the last minor release of the LibreOffice 6.3 family, targeted at organizations and individuals using the software in production environments, who are invited to update their current version. The new release provides bug and regression fixes, and improvements to document compatibility.

LibreOffice 6.3.6’s change log pages are available on TDF’s wiki: https://wiki.documentfoundation.org/Releases/6.3.6/RC1 (changed in RC1) and https://wiki.documentfoundation.org/Releases/6.3.6/RC2 (changed in RC2).

LibreOffice’s individual users are helped by a global community of volunteers: https://www.libreoffice.org/get-help/community-support/. On the website and the wiki there are guides, manuals, tutorials and HowTos. Donations help us to make all of these resources available.

LibreOffice in business

For enterprise class deployments, TDF strongly recommend sourcing LibreOffice from one of the ecosystem partners to get long-term supported releases, dedicated assistance, custom new features and other benefits, including SLA (Service Level Agreements). Also, the work done by ecosystem partners flows back into the LibreOffice project, benefiting everyone.

Also, support for migrations and trainings should be sourced from certified professionals who provide value-added services which extend the reach of the community to the corporate world and offer CIOs and IT managers a solution in line with proprietary offerings.

In fact, LibreOffice – thanks to its mature codebase, rich feature set, strong support for open standards, excellent compatibility and long-term support options from certified partners – represents the ideal solution for businesses that want to regain control of their data and free themselves from vendor lock-in.

Availability of LibreOffice 6.3.6

LibreOffice 6.3.6 is immediately available from the following link: https://www.libreoffice.org/download/. Minimum requirements are specified on the download page. TDF builds of the latest LibreOffice Online source code are available as Docker images: https://hub.docker.com/r/libreoffice/online/.

LibreOffice Online is fundamentally a server-based platform, and should be installed and configured by adding cloud storage and an SSL certificate. It might be considered an enabling technology for the cloud services offered by ISPs or the private cloud of enterprises and large organizations.

All versions of LibreOffice are built with document conversion libraries from the Document Liberation Project: https://www.documentliberation.org.

Support LibreOffice

LibreOffice users are invited to join the community at https://ask.libreoffice.org, where they can get and provide user-to-user support. People willing to contribute their time and professional skills to the project can visit the dedicated website at https://whatcanidoforlibreoffice.org.

LibreOffice users, free software advocates and community members can provide financial support to The Document Foundation with a donation via PayPal, credit card or other tools at https://www.libreoffice.org/donate.

16-04-2020

21:39

LibreOffice 6.4.3 available for download [Press Releases – The Document Foundation Blog]

Berlin, April 16, 2020 – The Document Foundation announces the availability of LibreOffice 6.4.3, the 3rd minor release of the LibreOffice 6.4 family, targeted at technology enthusiasts and power users. LibreOffice 6.4.3 includes several bug fixes and improvements to document compatibility.

LibreOffice 6.4.3 represents the bleeding edge in term of features for open source office suites, and as such is not optimized for enterprise class deployments, where features are less important than robustness. Users wanting a more mature version can download LibreOffice 6.3.5, which includes some months of back-ported fixes.

LibreOffice 6.4.3’s change log pages are available on TDF’s wiki: https://wiki.documentfoundation.org/Releases/6.4.3/RC1 (changed in RC1) and https://wiki.documentfoundation.org/Releases/6.4.3/RC2 (changed in RC2).

LibreOffice’s individual users are helped by a global community of volunteers: https://www.libreoffice.org/get-help/community-support/. On the website and the wiki there are guides, manuals, tutorials and HowTos. Donations help us to make all of these resources available.

LibreOffice in business

For enterprise class deployments, TDF strongly recommend sourcing LibreOffice from one of the ecosystem partners to get long-term supported releases, dedicated assistance, custom new features and other benefits, including Service Level Agreements (SLAs). Also, the work done by ecosystem partners flows back into the LibreOffice project, benefiting everyone.

Also, support for migrations and trainings should be sourced from certified professionals who provide value-added services which extend the reach of the community to the corporate world and offer CIOs and IT managers a solution in line with proprietary offerings.

In fact, LibreOffice – thanks to its mature codebase, rich feature set, strong support for open standards, excellent compatibility and long-term support options from certified partners – represents the ideal solution for businesses that want to regain control of their data and free themselves from vendor lock-in.

Availability of LibreOffice 6.4.3

LibreOffice 6.4.3 is immediately available from the following link: https://www.libreoffice.org/download/. Minimum requirements are specified on the download page. TDF builds of the latest LibreOffice Online source code are available as Docker images: https://hub.docker.com/r/libreoffice/online/.

LibreOffice Online is fundamentally a server-based platform, and should be installed and configured by adding cloud storage and an SSL certificate. It might be considered an enabling technology for the cloud services offered by ISPs or the private cloud of enterprises and large organizations.

All versions of LibreOffice are built with document conversion libraries from the Document Liberation Project: https://www.documentliberation.org.

Support LibreOffice

LibreOffice users are invited to join the community at https://ask.libreoffice.org, where they can get and provide user-to-user support. People willing to contribute their time and professional skills to the project can visit the dedicated website at https://whatcanidoforlibreoffice.org.

LibreOffice users, free software advocates and community members can provide financial support to The Document Foundation with a donation via PayPal, credit card or other tools at https://www.libreoffice.org/donate.

27-03-2020

19:15

LibreOffice 6.4.2 available for download [Press Releases – The Document Foundation Blog]

Berlin, March 19, 2020 – The Document Foundation announces the availability of LibreOffice 6.4.2, the 2nd minor release of the LibreOffice 6.4 family, targeted at technology enthusiasts and power users. LibreOffice 6.4.2 includes several bug fixes and improvements to document compatibility.

Mac users will be happy to know that the issue of blurry fonts on Retina displays has been resolved.

LibreOffice 6.4.2 represents the bleeding edge in term of features for open source office suites, and as such is not optimized for enterprise class deployments, where features are less important than robustness. Users wanting a more mature version can download LibreOffice 6.3.5, which includes some months of back-ported fixes.

LibreOffice 6.4.2’s change log pages are available on TDF’s wiki: https://wiki.documentfoundation.org/Releases/6.4.2/RC1 (changed in RC1) and https://wiki.documentfoundation.org/Releases/6.4.2/RC2 (changed in RC2).

LibreOffice’s individual users are helped by a global community of volunteers: https://www.libreoffice.org/get-help/community-support/. On the website and the wiki there are guides, manuals, tutorials and HowTos. Donations help us to make all of these resources available.

LibreOffice in business

For enterprise class deployments, TDF strongly recommend sourcing LibreOffice from one of the ecosystem partners to get long-term supported releases, dedicated assistance, custom new features and other benefits, including Service Level Agreements (SLAs). Also, the work done by ecosystem partners flows back into the LibreOffice project, benefiting everyone.

Also, support for migrations and trainings should be sourced from certified professionals who provide value-added services which extend the reach of the community to the corporate world and offer CIOs and IT managers a solution in line with proprietary offerings.

In fact, LibreOffice – thanks to its mature codebase, rich feature set, strong support for open standards, excellent compatibility and long-term support options from certified partners – represents the ideal solution for businesses that want to regain control of their data and free themselves from vendor lock-in.

Availability of LibreOffice 6.4.2

LibreOffice 6.4.2 is immediately available from the following link: https://www.libreoffice.org/download/. Minimum requirements are specified on the download page. TDF builds of the latest LibreOffice Online source code are available as Docker images: https://hub.docker.com/r/libreoffice/online/.

LibreOffice Online is fundamentally a server-based platform, and should be installed and configured by adding cloud storage and an SSL certificate. It might be considered an enabling technology for the cloud services offered by ISPs or the private cloud of enterprises and large organizations.

All versions of LibreOffice are built with document conversion libraries from the Document Liberation Project: https://www.documentliberation.org.

Support LibreOffice

LibreOffice users are invited to join the community at https://ask.libreoffice.org, where they can get and provide user-to-user support. People willing to contribute their time and professional skills to the project can visit the dedicated website at https://whatcanidoforlibreoffice.org.

LibreOffice users, free software advocates and community members can provide financial support to The Document Foundation with a donation via PayPal, credit card or other tools at https://www.libreoffice.org/donate.

The Document Foundation announces LibreOffice 6.4.1 [Press Releases – The Document Foundation Blog]

Berlin, February 27, 2020 – The Document Foundation announces LibreOffice 6.4.1, the 1st minor release of the LibreOffice 6.4 family, targeted at technology enthusiasts and power users. LibreOffice 6.4.1 includes 80 bug fixes and improvements to document compatibility.

LibreOffice 6.4.1 represents the bleeding edge in term of features for open source office suites, and as such is not optimized for enterprise class deployments, where features are less important than robustness. Users wanting a more mature version can download LibreOffice 6.3.5, which includes some months of back-ported fixes.

LibreOffice 6.4.1’s change log pages are available on TDF’s wiki: https://wiki.documentfoundation.org/Releases/6.4.1/RC1 (changed in RC1) and https://wiki.documentfoundation.org/Releases/6.4.1/RC2 (changed in RC2).

LibreOffice’s individual users are helped by a global community of volunteers: https://www.libreoffice.org/get-help/community-support/. On the website and the wiki there are guides, manuals, tutorials and HowTos. Donations help us to make all of these resources available.

LibreOffice in business

For enterprise class deployments, TDF strongly recommend sourcing LibreOffice from one of the ecosystem partners to get long-term supported releases, dedicated assistance, custom new features and other benefits, including Service Level Agreements (SLAs). Also, the work done by ecosystem partners flows back into the LibreOffice project, benefiting everyone.

Also, support for migrations and trainings should be sourced from certified professionals who provide value-added services which extend the reach of the community to the corporate world and offer CIOs and IT managers a solution in line with proprietary offerings.

In fact, LibreOffice – thanks to its mature codebase, rich feature set, strong support for open standards, excellent compatibility and long-term support options from certified partners – represents the ideal solution for businesses that want to regain control of their data and free themselves from vendor lock-in.

Availability of LibreOffice 6.4.1

LibreOffice 6.4.1 is immediately available from the following link: https://www.libreoffice.org/download/. Minimum requirements are specified on the download page. TDF builds of the latest LibreOffice Online source code are available as Docker images: https://hub.docker.com/r/libreoffice/online/.

LibreOffice Online is fundamentally a server-based platform, and should be installed and configured by adding cloud storage and an SSL certificate. It might be considered an enabling technology for the cloud services offered by ISPs or the private cloud of enterprises and large organizations.

All versions of LibreOffice are built with document conversion libraries from the Document Liberation Project: https://www.documentliberation.org.

Support LibreOffice

LibreOffice users are invited to join the community at https://ask.libreoffice.org, where they can get and provide user-to-user support. People willing to contribute their time and professional skills to the project can visit the dedicated website at https://whatcanidoforlibreoffice.org.

LibreOffice users, free software advocates and community members can provide financial support to The Document Foundation with a donation via PayPal, credit card or other tools at https://www.libreoffice.org/donate.

LibreOffice 6.3.5 available for download [Press Releases – The Document Foundation Blog]

Berlin, February 20, 2020 – The Document Foundation announces LibreOffice 6.3.5, the 5th minor release of the LibreOffice 6.3 family, targeted at individuals using the software for production purposes, who are invited to update their current version. The new release provides bug and regression fixes, and improvements to document compatibility.

LibreOffice 6.3.5’s change log pages are available on TDF’s wiki: https://wiki.documentfoundation.org/Releases/6.3.5/RC1 (changed in RC1) and https://wiki.documentfoundation.org/Releases/6.3.5/RC2 (changed in RC2).

LibreOffice’s individual users are helped by a global community of volunteers: https://www.libreoffice.org/get-help/community-support/. On the website and the wiki there are guides, manuals, tutorials and HowTos. Donations help us to make all of these resources available.

LibreOffice in business

For enterprise class deployments, TDF strongly recommend sourcing LibreOffice from one of the ecosystem partners to get long-term supported releases, dedicated assistance, custom new features and other benefits, including SLA (Service Level Agreements). Also, the work done by ecosystem partners flows back into the LibreOffice project, benefiting everyone.

Also, support for migrations and trainings should be sourced from certified professionals who provide value-added services which extend the reach of the community to the corporate world and offer CIOs and IT managers a solution in line with proprietary offerings.

In fact, LibreOffice – thanks to its mature codebase, rich feature set, strong support for open standards, excellent compatibility and long-term support options from certified partners – represents the ideal solution for businesses that want to regain control of their data and free themselves from vendor lock-in.

Availability of LibreOffice 6.3.5

LibreOffice 6.3.5 is immediately available from the following link: https://www.libreoffice.org/download/. Minimum requirements are specified on the download page. TDF builds of the latest LibreOffice Online source code are available as Docker images: https://hub.docker.com/r/libreoffice/online/.

LibreOffice Online is fundamentally a server-based platform, and should be installed and configured by adding cloud storage and an SSL certificate. It might be considered an enabling technology for the cloud services offered by ISPs or the private cloud of enterprises and large organizations.

All versions of LibreOffice are built with document conversion libraries from the Document Liberation Project: https://www.documentliberation.org.

Support LibreOffice

LibreOffice users are invited to join the community at https://ask.libreoffice.org, where they can get and provide user-to-user support. People willing to contribute their time and professional skills to the project can visit the dedicated website at https://whatcanidoforlibreoffice.org.

LibreOffice users, free software advocates and community members can provide financial support to The Document Foundation with a donation via PayPal, credit card or other tools at https://www.libreoffice.org/donate.

Performance-focused LibreOffice 6.4 is available for download [Press Releases – The Document Foundation Blog]

Berlin, January 29, 2020 – The Document Foundation announces the availability of LibreOffice 6.4, a new major release providing better performance, especially when opening and saving spreadsheets and presentations, and excellent compatibility with DOCX, XLSX and PPTX files.

LibreOffice offers the strongest compatibility in the office suite arena, starting from native support for the Open Document Format (ODF) – with superior security and interoperability features over proprietary formats – to almost perfect support for DOCX, XLSX and PPTX files. In addition, LibreOffice includes filters for many legacy document formats, and as such is the best interoperability tool in the market.

In addition, the new version provides some interesting new features [1]:

GENERAL

  • Application icons have been added to document thumbnails inside the Start Center, making it easier to recognise the different types of documents.
  • A QR Code generator has been added to the suite, making it easy to add QR codes – that can be read by mobile devices – to documents.
  • Hyperlink context menus have been unified throughout the suite, and now provide the following menu entries: Open Hyperlink, Edit Hyperlink, Copy Hyperlink Location and Remove Hyperlink.
  • The new Automatic Redaction feature lets your hide classified or sensitive data in a document based on text or regular expression matches.
  • The help system provides faster and more precise search results, while many help pages have localized screenshots for a better user experience.

WRITER

  • A Table panel has been added to the Sidebar.
  • Comments can now be marked as resolved. In addition, it’s now possible to add comments to images and charts inside text documents.
  • Cutting, copying and pasting of tables has been improved, with a new Paste Special menu option “Paste as Nested Table”.

CALC

  • Spreadsheets can be exported into a single PDF page, to get an overview of all content without it being spread over multiple pages.

IMPRESS & DRAW

  • In the Shape menu, a new option called Consolidate Text combines multiple selected text boxes into a single one. This is useful if you’re importing a PDF and the text content is split across many boxes.

LIBREOFFICE ONLINE

  • In Writer, table properties can be easily modified from the sidebar, and the document Table of Contents can be fully managed by users.
  • In Calc, the Function Wizard is now offering full features, and a wide range of options for selected charts has been added to the spreadsheet sidebar.

LibreOffice 6.4 is the first new release available in 2020. During the year, the community will celebrate the 10th anniversary of the best free office suite ever at several Free and Open Source Software (FOSS) events in Europe, Africa, Asia and the Americas. Several volunteers will present the project milestones and discuss the future of the office suite, on the desktop and in the cloud.

LibreOffice 6.4’s new features have been developed by a large community of code contributors: 75% of commits are from developers employed by companies sitting in the Advisory Board like Collabora, Red Hat and CIB, plus other organizations, and 25% are from individual volunteers.

In addition, there is a global community of individual volunteers taking care of other fundamental activities such as quality assurance, software localization, user interface design and user experience, editing of help system and documentation, plus free software and open document standards advocacy.

A video summarizing the top new features in LibreOffice 6.4 is available on YouTube: https://www.youtube.com/watch?v=-4boEj8S2JQ

LibreOffice for individual users

LibreOffice 6.4 represents the bleeding edge in term of features for open source office suites, and as such is targeted at technology enthusiasts, early adopters and power users. The Document Foundation does not provide any technical support to users, although they can get help from other users on mailing lists and the Ask LibreOffice website: https://ask.libreoffice.org
For users whose main objective is personal productivity and therefore prefer a release that has undergone more testing and bug fixing over the new features, The Document Foundation maintains the LibreOffice 6.3 family, which includes some months of back-ported fixes. The current version is LibreOffice 6.3.4.

LibreOffice in business

For enterprise class deployments, TDF strongly recommend sourcing LibreOffice from one of the ecosystem partners to get long-term supported releases, dedicated assistance, custom new features and other benefits, including Service Level Agreements (SLAs). Also, the work done by ecosystem partners flows back into the LibreOffice project, benefiting everyone.

For migrations and training from proprietary office suites, professional support should be sourced from certified professionals who provide value-added services which extend the reach of the community to the corporate world and offer CIOs and IT managers a solution in line with proprietary offerings.

In fact, LibreOffice – thanks to its mature codebase, rich feature set, strong support for open standards, excellent compatibility and long-term support options from certified partners – represents the ideal solution for businesses that want to regain control of their data and free themselves from vendor lock-in.

Availability of LibreOffice 6.4

LibreOffice 6.4 is immediately available from the following link: https://www.libreoffice.org/download/. Minimum requirements for proprietary operating systems are Microsoft Windows 7 SP1 and Apple macOS 10.9. Builds of the latest LibreOffice Online source code are available as Docker images: https://hub.docker.com/r/libreoffice/online/

LibreOffice users, free software advocates and community members can support The Document Foundation with a donation at https://www.libreoffice.org/donate

LibreOffice 6.4 is built with document conversion libraries from the Document Liberation Project: https://www.documentliberation.org

[1] A more comprehensive list of LibreOffice 6.4 new features is available on the Release Notes wiki page: https://wiki.documentfoundation.org/ReleaseNotes/6.4

Press Kit

The press kit, including the white paper on document formats and high-resolution screenshots, is here: https://nextcloud.documentfoundation.org/s/ZA4Y67yz6jBJSqz

LibreOffice 6.3.4 available for download [Press Releases – The Document Foundation Blog]

Berlin, December 12, 2019 – The Document Foundation announces LibreOffice 6.3.4, the 4th minor release of the LibreOffice 6.3 family, targeted at technology enthusiasts and power users, who are invited to update their current version. LibreOffice 6.3.4 includes over 120 bug fixes and improvements to document compatibility.

LibreOffice 6.3.4’s change log pages are available on TDF’s wiki: https://wiki.documentfoundation.org/Releases/6.3.4/RC1 (changed in RC1) and https://wiki.documentfoundation.org/Releases/6.3.4/RC2 (changed in RC2).

LibreOffice’s individual users are helped by a global community of volunteers: https://www.libreoffice.org/get-help/community-support/. On the website and the wiki there are guides, manuals, tutorials and HowTos. Donations help us to make all of these resources available.

LibreOffice in business

For enterprise class deployments, TDF strongly recommend sourcing LibreOffice from one of the ecosystem partners to get long-term supported releases, dedicated assistance, custom new features and other benefits, including Service Level Agreements (SLAs). Also, the work done by ecosystem partners flows back into the LibreOffice project, benefiting everyone.

Also, support for migrations and trainings should be sourced from certified professionals who provide value-added services which extend the reach of the community to the corporate world and offer CIOs and IT managers a solution in line with proprietary offerings.

In fact, LibreOffice – thanks to its mature codebase, rich feature set, strong support for open standards, excellent compatibility and long-term support options from certified partners – represents the ideal solution for businesses that want to regain control of their data and free themselves from vendor lock-in.

Availability of LibreOffice 6.3.4

LibreOffice 6.3.4 is immediately available from the following link: https://www.libreoffice.org/download/. Minimum requirements are specified on the download page. TDF builds of the latest LibreOffice Online source code are available as Docker images: https://hub.docker.com/r/libreoffice/online/.

LibreOffice Online is fundamentally a server-based platform, and should be installed and configured by adding cloud storage and an SSL certificate. It might be considered an enabling technology for the cloud services offered by ISPs or the private cloud of enterprises and large organizations.

All versions of LibreOffice are built with document conversion libraries from the Document Liberation Project: https://www.documentliberation.org.

Support LibreOffice

LibreOffice users are invited to join the community at https://ask.libreoffice.org, where they can get and provide user-to-user support. People willing to contribute their time and professional skills to the project can visit the dedicated website at https://whatcanidoforlibreoffice.org.

LibreOffice users, free software advocates and community members can provide financial support to The Document Foundation with a donation via PayPal, credit card or other tools at https://www.libreoffice.org/donate.

20-02-2020

12:26

IDG neemt afscheid van Webwereld [Laatste Artikelen - Webwereld]

IDG heeft een strategische koerswijziging ingezet om in de Benelux uitsluitend verder te gaan met de zakelijke titels CIO en Computerworld. Vanaf 1 maart zal deze content bovendien verplaatsen naar de global sites van computerworld.com en cio.com, waar IDG de Benelux regio zal bedienen met zowel Nederlandstalige als Engelstalige content.

18-02-2020

21:55

Samsung Galaxy Z Flip, S20(+) en S20 Ultra Hands-on [Laatste Artikelen - Webwereld]

Samsung nodigde ons uit op de drie allernieuwste smartphones van dichtbij te bekijken. Daar maakten wij dankbaar gebruik van en wij delen onze bevindingen met je.

02-02-2020

21:29

Hands-on: Synology Virtual Machine Manager [Laatste Artikelen - Webwereld]

Dat je NAS tegenwoordig voor veel meer dan alleen het opslaan van bestanden kan worden gebruikt is inmiddels bekend, maar wist je ook dat je er virtuele machines mee kan beheren? Wij leggen je uit hoe.

23-01-2020

16:42

Wat je moet weten over FIDO-sleutels [Laatste Artikelen - Webwereld]

Dankzij de FIDO2-standaard is het mogelijk om zonder wachtwoord toch veilig in te loggen bij diverse online diensten. Onder meer Microsoft en Google bieden hier al opties voor. Dit jaar volgen er waarschijnlijk meer organisaties die dit aanbieden.

Zo gebruik je je iPhone zonder Apple ID [Laatste Artikelen - Webwereld]

Tegenwoordig moet je voor zo’n beetje alles wat je online wilt doen een account aanmaken, zelfs als je niet van plan bent online te werken of als je gewoon geen zin hebt om je gegevens te delen met de fabrikant. Wij laten je vandaag zien hoe je dat voor elkaar krijgt met je iPhone of iPad.

Groot lek in Internet Explorer wordt al misbruikt in het wild [Laatste Artikelen - Webwereld]

Er is een nieuwe zero-day-kwetsbaarheid ontdekt in Microsoft Internet Explorer. Het nieuwe lek wordt al misbruikt en een beveiligingsupdate is nog niet beschikbaar.

Zo installeer je Chrome-extensies in de nieuwe Edge [Laatste Artikelen - Webwereld]

De nieuwe versie van Edge is gebouwd met code van het Chromium-project, maar in de standaardconfiguratie worden extensies uitsluitend geïnstalleerd via de Microsoft Store. Dat is gelukkig vrij eenvoudig aan te passen.

19-01-2020

12:59

Windows 10-upgrade nog steeds gratis [Laatste Artikelen - Webwereld]

Microsoft gaf gebruikers enkele jaren geleden de mogelijkheid gratis te upgraden van Windows 7 naar Windows 10. Daarbij ging het af en toe zo ver dat zelfs gebruikers die dat niet wilden een upgrade kregen. De aanbieding is al lang en breed voorbij, maar gratis upgraden is nog steeds mogelijk en het is nu makkelijker dan ooit. Wij vertellen je hoe je dat doet.

Chrome, Edge, Firefox: Welke browser is het snelst? [Laatste Artikelen - Webwereld]

Er is veel veranderd op de markt voor pc-browsers. Ongeveer vijf jaar geleden was er nog meer concurrentie en geheel eigen ontwikkeling, nu zijn er nog maar twee engines over: die achter Chrome en die achter Firefox. Met de release van de Blink-gebaseerde Edge van Microsoft deze maand kijken we naar benachmarks en praktijktests.

Cooler Master herontwerpt koelpasta-tubes wegens drugsverdenkingen [Laatste Artikelen - Webwereld]

Cooler Master heeft het uiterlijk van z’n koelpasta-spuiten aangepast omdat het bedrijf het naar eigen zeggen beu is om steeds te moeten uitleggen aan ouders dat de inhoud geen drugs is, maar koelpasta.

19-08-2019

22:15

30 april 2019 [GNOMON]

Op 1 mei 2019 bestaat mijn blog 10 jaar en dan hou ik er (voorlopig) mee op. Het is meteen tijd om dit blog bij te werken en me bezig te houden m

29 april 2019 [GNOMON]

Op 1 mei 2019 bestaat mijn blog 10 jaar en dan hou ik er (voorlopig) mee op. Het is meteen tijd om dit blog bij te werken en me bezig te houden m

28 april 2019 [GNOMON]

Op 1 mei 2019 bestaat mijn blog 10 jaar en dan hou ik er (voorlopig) mee op. Het is meteen tijd om dit blog bij te werken en me bezig te houden m

27 april 2019 [GNOMON]

Op 1 mei 2019 bestaat mijn blog 10 jaar en dan hou ik er (voorlopig) mee op. Het is meteen tijd om dit blog bij te werken en me bezig te houden m

26 april 2019 [GNOMON]

Op 1 mei 2019 bestaat mijn blog 10 jaar en dan hou ik er (voorlopig) mee op. Het is meteen tijd om dit blog bij te werken en me bezig te houden

25 april 2019 [GNOMON]

Op 1 mei 2019 bestaat mijn blog 10 jaar en dan hou ik er (voorlopig) mee op. Het is meteen tijd om dit blog bij te werken en me bezig te houden m

24 april 2019 [GNOMON]

Op 1 mei 2019 bestaat mijn blog 10 jaar en dan hou ik er (voorlopig) mee op. Het is meteen tijd om dit blog bij te werken en me bezig te houden m

23 april 2019 [GNOMON]

Op 1 mei 2019 bestaat mijn blog 10 jaar en dan hou ik er (voorlopig) mee op. Het is meteen tijd om dit blog bij te werken en me bezig te houden m

22 april 2019 [GNOMON]

Op 1 mei 2019 bestaat mijn blog 10 jaar en dan hou ik er (voorlopig) mee op. Het is meteen tijd om dit blog bij te werken en me bezig te houden m

21 april 2019 [GNOMON]

Op 1 mei 2019 bestaat mijn blog 10 jaar en dan hou ik er (voorlopig) mee op. Het is meteen tijd om dit blog bij te werken en me bezig te houden m

20 april 2019 [GNOMON]

Op 1 mei 2019 bestaat mijn blog 10 jaar en dan hou ik er (voorlopig) mee op. Het is meteen tijd om dit blog bij te werken en me bezig te houden m

19 april 2019 [GNOMON]

Op 1 mei 2019 bestaat mijn blog 10 jaar en dan hou ik er (voorlopig) mee op. Het is meteen tijd om dit blog bij te werken en me bezig te houden m

18 april 2019 [GNOMON]

Op 1 mei 2019 bestaat mijn blog 10 jaar en dan hou ik er (voorlopig) mee op. Het is meteen tijd om dit blog bij te werken en me bezig te houden m

17 april 2019 [GNOMON]

Op 1 mei 2019 bestaat mijn blog 10 jaar en dan hou ik er (voorlopig) mee op. Het is meteen tijd om dit blog bij te werken en me bezig te houden m

16 april 2019 [GNOMON]

Op 1 mei 2019 bestaat mijn blog 10 jaar en dan hou ik er (voorlopig) mee op. Het is meteen tijd om dit blog bij te werken en me bezig te houden m

15 april 2019 [GNOMON]

Op 1 mei 2019 bestaat mijn blog 10 jaar en dan hou ik er (voorlopig) mee op. Het is meteen tijd om dit blog bij te werken en me bezig te houden m

14 april 2019 [GNOMON]

Op 1 mei 2019 bestaat mijn blog 10 jaar en dan hou ik er (voorlopig) mee op. Het is meteen tijd om dit blog bij te werken en me bezig te houden m

13 april 2019 [GNOMON]

Op 1 mei 2019 bestaat mijn blog 10 jaar en dan hou ik er (voorlopig) mee op. Het is meteen tijd om dit blog bij te werken en me bezig te houden m

12 april 2019 [GNOMON]

Op 1 mei 2019 bestaat mijn blog 10 jaar en dan hou ik er (voorlopig) mee op. Het is meteen tijd om dit blog bij te werken en me bezig te houden m

11 april 2019 [GNOMON]

Op 1 mei 2019 bestaat mijn blog 10 jaar en dan hou ik er (voorlopig) mee op. Het is meteen tijd om dit blog bij te werken en me bezig te houden m

11-05-2019

18:55

Two Super Fast App Launchers for Ubuntu 19.04 [Tech Drive-in]

During the transition period, when GNOME Shell and Unity were pretty rough around the edges and slow to respond, 3rd party app launchers were a big deal. Overtime the newer desktop environments improved and became fast, reliable and predictable, reducing the need for a alternate app launchers.


As a result, many third-party app launchers have either slowed down development or simply seized to exist. Ulauncher seems to be the only one to have bucked the trend so far. Synpase and Kupfer on the other hand, though old and not as actively developed anymore, still pack a punch. Since Kupfer is too old school, we'll only be discussing Synapse and Ulauncher here.

Synapse

I still remember the excitement when I first reviewed Synapse more than 8 years ago. Back then, Synapse was something very unique to Linux and Ubuntu, and it still is in many ways. Though Synapse is not an active project that it used to be, the launcher still works great even in brand new Ubuntu 19.04.

synapse ubuntu 19.04
 
No need to meddle with PPAs and DEBs, Synapse is available in Ubuntu Software Center.

ulauncher ubuntu 19.04 disco
 
CLICK HERE to directly find and install Synapse from Ubuntu Software Center, or simply search 'Synapse' in USC. Launch the app afterwards. Once launched, you can trigger Synapse with Ctrl+Space keyboard shortcut.

Ulauncher

The new kid in the block apparently. But new doesn't mean it is lacking in any way. What makes Ulauncher quite unique are its extensions. And there is plenty to choose from.

ulauncher ubuntu 19.04

From an extension that lets you control your Spotify desktop app, to generic unit converters or simply timers, Ulauncher extesions has got you covered.

Let's install the app first. Download the DEB file for Debian/Ubuntu users and double-click the downloaded file to install it. To complete the installation via Terminal instead, do this:

OR

sudo dpkg -i ~/Downloads/ulauncher_4.3.2.r8_all.deb

Change filename/location if they are different in your case. And if the command reports dependency errors, make a force install using the command below.

sudo apt-get install -f

Done. Post install, launch the app from your app-list and you're good to go. Once started, Ulauncher will sit in your system tray by default. And just like Synapse, Ctrl+Space will trigger Ulauncher.


Installing extensions in Ulauncher is pretty straight forward too.


Find the extensions you want from Ulauncher Extensions page. Trigger a Ulauncher instance with Ctrl+Space and go to Settings > Extensions > Add extension. Provide the URL from the extension page and let the app do the rest.

29-04-2019

17:40

A Standalone Video Player for Netflix, YouTube, Twitch on Ubuntu 19.04 [Tech Drive-in]

Snap apps are a godsend. ElectronPlayer is an Electron based app available on Snapstore that doubles up as a standalone media player for video streaming services such as Netflix, YouTube, Twitch, Floatplane etc.

And it works great on Ubuntu 19.04 "disco dingo". From what we've tested, Netflix works like a charm, so does YouTube. ElectronPlayer also has a picture-in-picture mode that let it run above desktop and full screen applications.

netflix player ubuntu 19.04

For me, this is great because I can free-up tabs on my Firefox window which are almost never clutter-free.
OR

Use the command below to install ElectronPlayer directly from Snapstore. Open Terminal (Ctrl+Alt+t) and copy:

sudo snap install electronplayer

Press ENTER and give password when asked.

After the process is complete, search for ElectronPlayer in you App list. Sign in to your favorite video streaming services and you are good to go. Let us know your feedback in the comments.

25-04-2019

08:43

15 Things I Did Post Ubuntu 19.04 Installation [Tech Drive-in]

Ubuntu 19.04, codenamed "Disco Dingo", has been released (and upgrading is easier than you think). I've been on Ubuntu 19.04 since its first Alpha, and this has been a rock solid release as far I'm concerned. Changes in Ubuntu 19.04 are more evolutionary though, but availability of the latest Linux Kernel version 5.0 is significant.

ubuntu 19.04 things to do after install

Unity is long gone and Ubuntu 19.04 is indistinguishably GNOME 3.x now, which is not necessarily a bad thing. Yes, I know, there are many who still swear by the simplicity of Unity desktop. But I'm an outlier here, I liked both Unity and GNOME 3.x even in their very early avatars. When I wrote this review of GNOME Shell desktop almost 8 years ago, I knew it was destined for greatness. Ubuntu 19.04 "Disco Dingo" runs GNOME 3.32.0.


We'll discuss more about GNOME 3.x and Ubuntu 19.04 in the official review. Let's get down to brass tacks. A step-by-step guide into things I did after installing Ubuntu 19.04 "Disco Dingo". 

1. Make sure your system is up-to-date

Do a full system update. Fire up your Software Updater and check for updates.

how to update ubuntu 19.04

OR
via Terminal, this is my preferred way to update Ubuntu. Just one command.

sudo apt update && sudo apt dist-upgrade

Enter password when prompted and let the system do the rest.

2. Install GNOME Tweaks

GNOME Tweaks is non-negotiable.

things to do after installing ubuntu 19.04

GNOME Tweaks is an app the lets you tweak little things in GNOME based OSes that are otherwise hidden behind menus. If you are on Ubuntu 19.04, Tweaks is a must. Honestly, I don't remember if it was installed as a default. But here you install it anyway, Apt-URL will prompt you if the app already exists.

Search for Gnome Tweaks in Ubuntu Software Center. OR simply CLICK HERE to go straight to the app in Software Center. OR even better, copy-paste this command in Terminal (keyboard shortcut: CTRL+ALT+T).

sudo apt install gnome-tweaks

3. Enable MP3/MP4/AVI Playback, Adobe Flash etc.

You do have an option to install most of the 'restricted-extras' while installing the OS itself now, but if you are not-sure you've ticked all the right boxes, just run the following command in Terminal.

sudo apt install ubuntu-restricted-extras

OR

You can install it straight from the Ubuntu Software Center by CLICKING HERE.

4. Display Date/Battery Percentage on Top Panel  

The screenshot, I hope, is self explanatory.

things to do after installing ubuntu 19.04

If you have GNOME Tweaks installed, this is easily done. Open GNOME tweaks, goto 'Top Bar' sidemenu and enable/disable what you need.

5. Enable 'Click to Minimize' on Ubuntu Dock

Honestly, I don't have a clue why this is disabled by default. You intuitively expect the apps shortcuts on Ubuntu dock to 'minimize' when you click on it (at least I do).

In fact, the feature is already there, all you need to do is to switch it ON. Do this is Terminal.

gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize'

That's it. Now if you didn't find the 'click to minimize' feature useful, you can always revert Dock settings back to its original state, by copy-pasting the following command in Terminal app.

gsettings reset org.gnome.shell.extensions.dash-to-dock click-action

6. Pin/Unpin Apps from Launcher

There are a bunch of apps that are pinned to your Ubuntu launcher by default.

things to do after ubuntu 19.04
 
For example, I almost never use the 'Help' app or the 'Amazon' shortcut preloaded on launcher. But I would prefer a shortcut to Terminal app instead. Right-click on your preferred app on the launcher, and add-to/remove-from favorites as you please.

7. Enable GNOME Shell Exetensions Support

Extensions are an integral part of GNOME desktop.

It's a real shame that one has to go through all these for such a basic yet important feature. From the default Firefox browser, when you visit GNOME Extensions page, you will notice the warning message on top describing the unavailability of Extensions support.
Now for the second part, you need to install the host connector on Ubuntu.
sudo apt install chrome-gnome-shell
  • Done. Don't mind the "chrome" in 'chrome-gnome-shell', it works with all major browsers, provided you've the correct browser add-on installed. 
  • You can now visit GNOME Extensions page and install extensions as you wish with ease. (if it didn't work immediately, a system restart will clear things up). 
Extensions are such an integral part of GNOME Desktop experience, can't understand why this is not a system default in Ubuntu 19.04. Hope future releases of Ubuntu will have this figured out.

8. My Favourite 5 GNOME Shell Extensions for Ubuntu 19.04


9. Remove Trash Icon from Desktop

Annoyed by the permanent presence of Home and Trash icons in the desktop? You are not alone. Luckily, there's an extension for that!
Done. Now, access the settings and enable/disable icons as you please. 


Extension settings can be accessed directly from the extension home page (notice the small wrench icon near the ON/OFF toggle). OR you can use the Extensions addon like in the screenshot above.

10. Enable/Disable Two Finger Scrolling

As you must've noticed, two-finger scrolling is a system default for sometime now. 

things to do after installing ubuntu cosmic
 
One of my laptops act strangely when two-finger scrolling is on. You can easily disable two-finger scrolling and enable old school edge-scrolling in 'Settings'.  Settings > Mouse and Touchpad

Quicktip: You can go straight to submenus by simply searching for it in GNOME's universal search bar.

ubuntu 19.04 disco

Take for example the screenshot above, where I triggered the GNOME menu by hitting Super(Windows) key, and simply searched for 'mouse' settings. The first result will take me directly to the 'Settings' submenu for 'Mouse and Touchpad' that we saw earlier. Easy right? More examples will follow.

11. Nightlight Mode ON

When you're glued to your laptop/PC screen for a large amount of time everyday, it is advisable that you enable the automatic nightlight mode for the sake of your eyes. Be it the laptop or my phone, this has become an essential feature. The sight of a LED display without nightlight ON during lowlight conditions immediately gives me a headache these days. Easily one of my favourite in-built features on GNOME.


Settings > Devices > Display > Night Light ON/OFF

things to do after installing ubuntu 19.04

OR as before, Hit superkey > search for 'night light'. It will take you straight to the submenu under Devices > Display. Guess you wouldn't need anymore examples on that.

things to do after installing ubuntu 19.04

12. Privacy on Ubuntu 19.04

Guess I don't need to lecture you on the importance of privacy in the post-PRISM era.

ubuntu 19.04 privacy

Ubuntu remembers your usage & history to recommend you frequently used apps and such. And this is never shared over the network. But if you're not comfortable with this, you can always disable and delete your usage history on Ubuntu. Settings > Privacy > Usage & History 

13. Perhaps a New Look & Feel?

As you might have noticed, I'm not using the default Ubuntu theme here.

themes ubuntu 19.04

Right now I'm using System 76's Pop OS GTK theme and icon sets. They look pretty neat I think. Just three commands to install it in your Ubuntu 19.04.

sudo add-apt-repository ppa:system76/pop
sudo apt-get update
sudo apt install pop-icon-theme pop-gtk-theme pop-gnome-shell-theme
sudo apt install pop-wallpapers

Execute last command if you want Pop OS wallpapers as well. To enable the newly installed theme and icon sets, launch GNOME Tweaks > Appearance (see screenshot). I will be making separate posts on themes, icon sets and GNOME shell extensions. So stay subscribed. 

14. Disable Error Reporting

If you find the "application closed unexpectedly" popups annoying, and would like to disable error reporting altogether, this is what you need to do.


Settings > Privacy > Problem Reporting and switch it off. 

15. Liberate vertical space on Firefox by disabling Title Bar

This is not an Ubuntu specific tweak.


Firefox > Settings > Customize. Notice the "Title Bar" at the bottom left? Untick to disable.

Follow us on Facebook, and Twitter.

22-04-2019

19:07

Howto Upgrade to Ubuntu 19.04 from Ubuntu 18.10, Ubuntu 18.04 LTS [Tech Drive-in]

As most of you should know already, Ubuntu 19.04 "disco dingo" has been released. A lot of things have changed, see our comprehensive list of improvements in Ubuntu 19.04. Though it is not really necessary to make the jump, I'm sure many here would prefer to have the latest and greatest from Ubuntu. Here's how you upgrade to Ubuntu 19.04 from Ubuntu 18.10 and Ubuntu 18.04.

Upgrading to Ubuntu 19.04 from Ubuntu 18.04 LTS is tricky. There is no way you can make the jump from Ubuntu 18.04 LTS directly to Ubuntu 19.04. For that, you need to upgrade to Ubuntu 18.10 first. Pretty disappointing, I know. But when upgrading an entire OS, you can't be too careful.

And the process itself is not as tedious or time consuming à la Windows. And also unlike Windows, the upgrades are not forced upon you while you're in middle of something.

how to upgrade to ubuntu 19.04

If you wonder how the dock in the above screenshot rest at the bottom of Ubuntu desktop, it's called dash-to-dock GNOME Shell extension. That and more Ubuntu 19.04 tips and tricks here.

Upgrade to Ubuntu 19.04 from Ubuntu 18.10

Disclaimer: PLEASE backup your critical data before starting the upgrade process.

Let's start with the assumption that you're on Ubuntu 18.04 LTS.

After running the upgrade from Ubuntu 18.04 LTS from Ubuntu 18.10, the prompt will ask for a full system reboot. Please do that, and make sure everything is running smoothly afterwards. Now you have clean new Ubuntu 18.10 up and running. Let's begin the Ubuntu 19.04 upgrade process.
  • Make sure your laptop is plugged-in, this is going to take time. Stable Internet connection is a must too. 
  • Run your Software Updater app, and install all the updates available. 
how to upgrade to ubuntu 19.04 from ubuntu 18.10

  • Post the update, you should be prompted with an "Ubuntu 19.04 is available" window. It will guide you through the required steps without much hassle. 
  • If not, fire up Software & Updates app and check for updates. 
  • If both these didn't work in your case, there's always the commandline option to make the force upgarde. Open Terminal app (keyboard shortcut: CTRL+ALT+T), and run the command below.
sudo do-release-upgrade -d
  • Type the password when prompted. Don't let the simplicity of the command fool you, this is just the start of a long and complicated process. do-release command will check for available upgrades and then give you an estimated time and bandwidth required to complete the process. 
  • Read the instructions carefully and proceed. The process only takes about an hour or less for me. It entirely depends on your internet speed and system resources.
So, how did it go? Was the upgrade process smooth as it should be? And what do you think about new Ubuntu 19.04 "disco dingo"? Let us know in the comments.

20-04-2019

15:37

Ubuntu 19.04 Updates - 7 Things to Know [Tech Drive-in]

Ubuntu 19.04 is scheduled to arrive in another 30 days has been released. I've been using it for the past week or so, and even as a pre-beta, the OS is pretty stable and not buggy at all. Here are a bunch of things you should know about the yet to be officially released Ubuntu 19.04.

what's new in ubuntu 19.04

1. Codename: "Disco Dingo"

How about that! As most of you know already, Canonical names its semiannual Ubuntu releases using an adjective and an animal with the same first letter (Intrepid Ibex, Feisty Fawn, or Maverick Meerkat, for example, were some of my favourites). And the upcoming Ubuntu 19.04 is codenamed "Disco Dingo", has to be one of the coolest codenames ever for an OS.


2. Ubuntu 19.04 Theme Updates

A new cleaner, crisper looking Ubuntu is coming your way. Can you notice the subtle changes to the default Ubuntu theme in screenshot below? Like the new deep-black top panel and launcher? Very tastefully done.

what's new in ubuntu 19.04

To be sure, this is now looking more and more like vanilla GNOME and less like Unity, which is not a bad thing.

ubuntu 19.04 updates

There are changes to the icons too. That hideous blue Trash icon is gone. Others include a new Update Manager icon, Ubuntu Software Center icon and Settings Icon.

3. Ubuntu 19.04 Official Mascot

GIFs speaks louder that words. Meet the official "Disco Dingo" mascot.



Pretty awesome, right? "Disco Dingo" mascot calls for infinite wallpaper variations.

4. The New Default Wallpaper

The new "Disco Dingo" themed wallpaper is so sweet: very Ubuntu-ish yet unique. A gray scale version of the same wallpaper is a system default too.

ubuntu 19.04 disco dingo features

UPDATE: There's a entire suit of newer and better wallpapers on Ubuntu 19.04!

5. Linux Kernel 5.0 Support

Ubuntu 19.04 "Disco Dingo" will officially support the recently released Linux Kernel version 5.0. Among other things, Linux Kernel 5.0 comes with AMD FreeSync display support which is awesome news to users of high-end AMD Radeon graphics cards.

ubuntu 19.04 features

Also important to note is the added support for Adiantum Data Encryption and Raspberry Pi touchscreens. Apart from that, Kernel 5.0 has regular CPU performance improvements and improved hardware support.

6. Livepatch is ON

Ubuntu 19.04's 'Software and Updates' app has a new default tab called Livepatch. This new feature should ideally help you to apply critical kernel patches without rebooting.

Livepatch may not mean much to a normal user who regularly powerdowns his or her computer, but can be very useful for enterprise users where any downtime is simply not acceptable.

ubuntu 19.04 updates

Canonical introduced this feature in Ubuntu 18.04 LTS, but was later removed when Ubuntu 18.10 was released. The Livepatch feature is disabled on my Ubuntu 19.04 installation though, with a "Livepatch is not available for this system" warning. Not exactly sure what that means. Will update.

7. Ubuntu 19.04 Release Schedule

The beta freeze is scheduled to happen on March 28th and final release on April 18th.

ubuntu 19.04 what's new

Normally, post the beta release, it is a safe to install Ubuntu 19.04 for normal everyday use in my opinion, but ONLY if you are inclined to give it a spin before everyone else of course. I'd never recommend a pre-release OS on production machines. Ubuntu 19.04 Daily Build Download.


My biggest disappointment though is the supposed Ubuntu Software Center revamp which is now confirmed to not make it to this release. Subscribe us on Twitter and Facebook for more Ubuntu 19.04 release updates.

ubuntu 19.04 disco dingo

Recommended read: Top things to do after installing Ubuntu 19.04

13-04-2019

15:47

LinuxBoot: A Linux Foundation Project to replace UEFI Components [Tech Drive-in]

UEFI has a pretty bad reputation among many in the Linux community. UEFI unnecessarily complicated Linux installation and distro-hopping in Windows pre-installed machines, for example. Linux Boot project by Linux Foundation aims to replace some firmware functionality like the UEFI DXE phase with Linux components.

What is UEFI?
UEFI is a standard or a specification that replaced legacy BIOS firmware, which was the industry standard for decades. Essentially, UEFI defines the software components between operating system and platform firmware.


UEFI boot has three phases: SEC, PEI and DXE. Driver eXecution Environment or DXE Phase in short: this is where UEFI system loads drivers for configured devices. LinuxBoot will replaces specific firmware functionality like the UEFI DXE phase with a Linux kernel and runtime.

LinuxBoot and the Future of System Startup
"Firmware has always had a simple purpose: to boot the OS. Achieving that has become much more difficult due to increasing complexity of both hardware and deployment. Firmware often must set up many components in the system, interface with more varieties of boot media, including high-speed storage and networking interfaces, and support advanced protocols and security features."  writes Linux Foundation.

linuxboot uefi replacement

LinuxBoot will replace this slow and often error-prone code with a Linux Kernel. This alone should significantly improve system startup performance.

On top of that, LinuxBoot intends to achieve increased boot reliability and boot-time performance by removing unnecessary code and by using reliable Linux drivers instead of lightly tested firmware drivers. LinuxBoot claims that these improvements could potentially help make the system startup process as much as 20 times faster.

In fact, this "Linux to boot Linux" technique has been fairly common place in supercomputers, consumer electronics, and military applications, for decades. LinuxBoot looks to take this proven technique and improve on it so that it can be deployed and used more widely by individual users and companies.

Current Status
LinuxBoot is not as obscure or far-fetched as, say, lowRISC (open-source, Linux capable, SoC) or even OpenPilot. At FOSDEM 2019 summit, Facebook engineers revealed that their company is actively integrating and finetuning LinuxBoot to their needs for freeing hardware down to the lowest levels.


Facebook and Google are deeply involved in LinuxBoot project. Being large data companies, where even small improvements in system startup speed and reliability can bring major advantages, their involvement is not a surprise. To put this in perspective, a large data center run by Google or Facebook can have tens of thousands of servers. Other companies involved include Horizon Computing, Two Sigma and 9elements Cyber Security.

Retro Terminal that Emulates Old CRT Display (Ubuntu 18.10, 18.04 PPA) [Tech Drive-in]

We've featured cool-retro-term before. It is a wonderful little terminal emulator app on Ubuntu (and Linux) that adorns this cool retro look of the old CRT displays.

Let the pictures speak for themselves.

retro terminal ubuntu ppa

Pretty cool right? Not only does it look cool, it functions just like a normal Terminal app. You don't lose out on any features normally associated with a regular Terminal emulator. cool-retro-term comes with a bunch of themes and customisations that takes its retro cool appeal a few notches higher.

cool-old-term retro terminal ubuntu linux

Enough now, let's find out how you install this retro looking Terminal emulator on Ubuntu 18.04 LTS, and Ubuntu 18.10. Fire up your Terminal app, and run these commands one after the other.

sudo add-apt-repository ppa:vantuz/cool-retro-term
sudo apt update
sudo apt install cool-retro-term

Done. The above PPA supports Ubuntu Artful, Bionic and Cosmic releases (Ubuntu 17.10, 18.04 LTS, 18.10). cool-retro-term is now installed and ready to go.


Since I don't have Artful or Bionic installations in any of my computers, I couldn't test the PPA on those releases. Do let me know if you faced any issues while installing the app.

And as some of you might have noticed, I'm running cool-retro-term from an AppImage. This is because I'm on Ubuntu 19.04 "disco dingo", and obviously the app doesn't support an unreleased OS (well, duh!).

retro terminal ubuntu ppa

This is how it looks on fullscreen mode. If you are a non-Ubuntu user, you can find various download options here. If you are on Fedora or distros based on it, cool-retro-term is available in the official repositories.

03-04-2019

20:18

Ubuntu 19.04 Gets Newer and Better Wallpapers [Tech Drive-in]

A "Disco Dingo" themed wallpaper was already there. But the latest update bring a bunch of new wallpapers as system defaults on Ubuntu 19.04.

ubuntu 19.04 wallpaper

Pretty right? Here's the older one for comparison.

ubuntu 19.04 updates

The newer wallpaper is definitely cleaner, more professional looking with better colors. I won't bother tinkering with wallpapers anymore, the new default on Ubuntu 19.04 is just perfect.

ubuntu 19.04 wallpapers

Too funky for my taste. But I'm sure there will be many who will prefer this darker, edgier, wallpaper over the others. As we said earlier, the new "disco dingo" mascot calls for infinite wallpaper variations.


Apart from theme and artwork updates, Ubuntu 19.04 has the latest Linux Kernel version 5.0 (5.0.0.8 to be precise). You can read more about Ubuntu 19.04 features and updates here.

Ubuntu 19.04 hit beta a few days ago. Though it is a pretty stable release already for a beta, I'd recommend to wait for another 15 days or so until the final release. If all you care are the wallpapers, you can download the new Ubuntu 19.04 wallpapers here. It's a DEB file, just do a double click post download.

02-04-2019

11:16

Look up Uber Time, Price Estimates on Terminal with Uber CLI [Tech Drive-in]

The worldwide phenomenon that is Uber needs no introduction. Uber is an immensely popular ride sharing, ride hailing, company that is valued in billions. Uber is so disruptive and controversial that many cities and even countries are putting up barriers to protect the interests of local taxi drivers.

Enough about Uber as a company. To those among you who regularly use Uber app for booking a cab, Uber CLI could be a useful companion.


Uber CLI can be a great tool for the easily distracted. This unique command line application allows you to look up Uber cab's time and price estimates without ever taking your eyes off the laptop screen.

Install Uber-CLI using NPM

You need to have NPM first to install Uber-CLI on Ubuntu. npm, short for Node.js package manager, is a package manager for the JavaScript programming language. It is the default package manager for the JavaScript runtime environment Node.js. npm has a command line based client and its own repository of packages.

This is how to install npm on Ubuntu 19.04, and Ubuntu 18.10. And thereafter, using npm, install Uber-CLI. Fire up the Terminal and run the following.

sudo apt update
sudo apt install nodejs npm
npm install uber-cli -g

And you're done. Uber CLI is a command line based application, here are a few examples of how it works in Terminal. Also, since Uber is not available where I live, I couldn't vouch for its accuracy.


Uber-CLI has just two use cases.
uber time 'pickup address here'
uber price -s 'start address' -e 'end address'
Easy right? I did some testing with places and addresses I'm familiar with, where Uber cabs are fairly common. And I found the results to be fairly accurate. Do test and leave feedback. Uber CLI github page for more info.

27-03-2019

19:06

UBports Installer for Ubuntu Touch is just too good! [Tech Drive-in]

Even as someone who bought into the Ubuntu Touch hype very early, I was not expecting much from UBports to be honest. But to my pleasent surprise, UBports Installer turned my 4 year old BQ Aquaris E4.5 Ubuntu Edition hardware into a slick, clean, and usable phone again.



ubuntu phone 16.04
UBports Installer and Ubuntu Touch
As many of you know already, Ubuntu Touch was Canonical's failed attempt to deliver a competent mobile operating system based on its desktop version. The first Ubuntu Touch installed smartphone was released in 2015 by BQ, a Spanish smartphone manufacturer. And in April 2016, the world's first Ubuntu Touch based tablet, the BQ Aquaris M10 Ubuntu Edition, was released.

Though initial response was  quite promising, Ubuntu Touch failed to make a significant enough splash in the smartphone space. In fact, Ubuntu Touch was not alone, many other mobile OS projects like Firefox OS or even Samsung owned Tizen OS for that matter failed to capture a sizable market-share from Android/iOS duopoly.

To the disappointment of Ubuntu enthusiasts, Mark Shuttleworth announced the termination of Ubuntu Touch development in April, 2017.


Rise of UBports and revival of Ubuntu Touch Project
ubuntu touch 16.04For all its inadequacies, Ubuntu Touch was one unique OS. It looked and felt different from most other mobile operating systems. And Ubuntu Touch enthusiasts was not ready to give up on it so easily. Enter UBports.

UBports turned Ubuntu Touch into a community-driven project. Passionate people from around the world now contribute to the development of Ubuntu Touch. In August 2018, UBPorts released its OTA-4, upgrading the Ubuntu Touch's base from the Canonical's starting Ubuntu 15.04 (Vivid Vervet) to the nearest, current long-term support version Ubuntu 16.04 LTS.

They actively test the OS on a number of legacy smartphone hardware and help people install Ubuntu Touch on their smartphones using an incredibly capable, cross-platform, installer.

Ubuntu Touch Installer on Ubuntu 19.04
Though I knew about UBports project before, I was never motivated enough to try the new OS on my Aquaris E4.5, until yesterday. By sheer stroke of luck, I stumbled upon UBports Installer in Ubuntu Software Center. I was curious to find out if it really worked as it claimed on the page.

ubuntu touch installer on ubuntu 19.04

I fired up the app on my Ubuntu 19.04 and plugged in my Aquaris E4.5. Voila! the installer detected my phone in a jiffy. Since there wasn't much data on my BQ, I proceeded with Ubuntu Touch installation.

ubports ubuntu touch installer

The instructions were pretty straight forward and it took probably 15 minutes to download, restart, and install, 16.04 LTS based Ubuntu Touch on my 4 year old hardware.

ubuntu touch ubports

In my experience, even flashing an Android was never this easy! My Ubuntu phone is usable again without all the unnecessary bloat that made it clunky. This post is a tribute to the UBports community for the amazing work they've been doing with Ubuntu Touch. Here's also a list of smartphone hardware that can run Ubuntu Touch.

21-03-2019

19:27

Google's Stadia Cloud Gaming Service, Powered by Linux [Tech Drive-in]

Unless you live under a rock, you must've been inundated with nonstop news about Google's high-octane launch ceremony yesterday where they unveiled the much hyped game streaming platform called Stadia.

Stadia, or Project Stream as it was earlier called, is a cloud gaming service where the games themselves are hosted on Google's servers, while the visual feedback from the game is streamed to the player's device through Google Chrome. If this technology catches on, and if it works just as good as showed in the demos, Stadia could be what the future of gaming might look like.

Stadia, Powered by Linux

It is a fairly common knowledge that Google data centers use Linux rather extensively. So it is not really surprising that Google would use Linux to power its cloud based Stadia gaming service. 

google stadia runs on linux

Stadia's architecture is built on Google data center network which has extensive presence across the planet. With Google Stadia, Google is offering a virtual platform where processing resources can be scaled up to match your gaming needs without the end user ever spending a dime more on hardware.


And since Google data centers mostly runs on Linux, the games on Stadia will run on Linux too, through the Vulkan API. This is great news for gaming on Linux. Even if Stadia doesn't directly result in more games on Linux, it could potentially make gaming a platform agnostic cloud based service, like Netflix.

With Stadia, "the data center is your platform," claims Majd Bakar, head of engineering at Stadia. Stadia is not constrained by limitations of traditional console systems, he adds. Stadia is a "truly flexible, scalable, and modern platform" that takes into account the future requirements of the gaming ecosystem. When launched later this year, Stadia will be able to stream at 4K HDR and 60fps with surround sound.


Watch the full presentation here. Tell us what you think about Stadia in the comments.

14-03-2019

17:28

A Linux Sysadmin's Guide to Network Management, Troubleshooting and Debugging [Linuxtoday.com]

A system administrator's routine tasks include configuring, maintaining, troubleshooting, and managing servers and networks within data centers.

3 of the Best System Monitor Tools for Ubuntu [Linuxtoday.com]

MakeTechEasier: System monitoring tools will help you spot any service failures before they impact users.

Quick hack: Raspberry Pi meets Linux kernel mainline [Linuxtoday.com]

With just a few simple steps, you can compile and boot a Raspberry Pi using the Linux kernel mainline source code

How to Restart Services on Ubuntu Command Line [Linuxtoday.com]

Restarting a service is one of the administrative tasks that you will have to perform one time or the other while configuring software on your Ubuntu.

Microsoft is Complaining About Android and Chrome OS (GNU/Linux) Vendor Not Paying for Microsoft Patents [Linuxtoday.com]

 techrights: Microsoft, which nowadays does the patent shakedown against GNU/Linux by proxy, is still moaning about companies that don't pay protection money

11:44

Persepolis - A Libre Cross-Platform Download Manager for Linux [Linuxtoday.com]

Persepolis is a free, open-source download manager currently developed for multiple desktop OS platforms.

A Vulkan renderer is in the works for GZDoom [Linuxtoday.com]

 GamingOnLinux: One of the GZDoom developers, dpJudas, has been working diligently on the Vulkan renderer for GZDoom, the open source FPS game engine.

13-03-2019

23:10

How to Transfer All MySQL Databases From Old to New Server [Linuxtoday.com]

Transferring or Migrating a MySQL/MariaDB database between servers usually takes only few easy steps, but data transfer can take some time depending on the volume of data you would like to transfer.

How To Reload Partition Table In Linux Without System Reboot? [Linuxtoday.com]

2DayGeek: These commands inform the OS about partition table changes in Linux.

16:43

Purism: A Linux OS is talking Convergence again [Tech Drive-in]

The hype around "convergence" just won't die it seems. We have heard it from Ubuntu a lot, KDE, even from Google and Apple in fact. But the dream of true convergence, a uniform OS experience across platforms, never really materialised. Even behemoths like Apple and Googled failed to pull it off with their Android/iOS duopoly. Purism's Debian based PureOS wants to change all that for good.

pure os linux

Purism, PureOS, and the future of Convergence

Purism, a computer technology company based out of California, shot to fame for its Librem series of privacy and security focused laptops and smartphones. Purism raised over half a million dollars through a Crowd Supply crowdfunding campaign for its laptop hardware back in 2015. And unlike many crowdfunding megahits which later turned out to be duds, Purism delivered on its promises big time.


Later in 2017, Purism surprised everyone again with their successful crowdfunding campaign for its Linux based opensource smartphone, dubbed Librem 5. The campaign raised over $2.6 million and surpassed its 1.5 million crowdfunding goal in just in two weeks. Purism's Librem 5 smartphones will start shipping late 2019.

Librem, which loosely refers to free and opensource software, was the brand name chosen by Purism for its laptops/smartphones. One of the biggest USPs of Purism devices is the hardware kill switches that it comes loaded with, which physically disconnects phone's camera, WiFi, Bluetooth, and mobile broadband modem.

Meet PureOS, Purism's Debian Based Linux OS

PureOS is a free and opensource, Debian based Linux distribution which runs on all Librem hardware including its smartphones. PureOS is endorsed by Free Software Foundation. 

purism os linux

The term convergence in computer speak, refers to applications that can work seamlessly across platforms, and bring a consistent look and feel and similar functionality on your smartphone and your computer. 
"Purism is beating the duopoly to that dream, with PureOS: we are now announcing that Purism’s PureOS is convergent, and has laid the foundation for all future applications to run on both the Librem 5 phone and Librem laptops, from the same PureOS release", announced Jeremiah Foster, the PureOS director at Purism (by duopoly, he was referring to Android/iOS platforms that dominate smartphone OS ecosystem).
Ideally, convergence should be able to help app developers and users all at the same time. App developers should be able to write their app once, testing it once and running it everywhere. And users should be able to seamlessly use, connect and sync apps across devices and platforms.

Easier said than done though. As Jeremiah Foster himself explains:
"it turns out that this is really hard to do unless you have complete control of software source code and access to hardware itself. Even then, there is a catch; you need to compile software for both the phone’s CPU and the laptop CPU which are usually different architectures. This is a complex process that often reveals assumptions made in software development but it shows that to build a truly convergent device you need to design for convergence from the beginning."

How PureOS is achieving convergence?

PureOS have had a distinct advantage when it comes to convergence. Purism is a hardware maker that also designs its platforms and software. From its inception, Purism has been working on a "universal operating system" that can run on different CPU architectures.

librem opensource phone

"By basing PureOS on a solid, foundational operating system – one that has been solving this performance and run-everywhere problem for years – means there is a large set of packaged software that 'just works' on many different types of CPUs."

The second big factor is "adaptive design", software apps that can adapt for desktop or mobile easily, just like a modern website with responsive deisgn.


"Purism is hard at work on creating adaptive GNOME apps – and the community is joining this effort as well – apps that look great, and work great, both on a phone and on a laptop".

Purism has also developed an adaptive presentation library for GTK+ and GNOME, called libhandy, which the third party app developers can use to contribute to Purism's convergence ecosystem. Still under active development, libhandy is already packaged into PureOS and Debian.

Komorebi Wallpapers display Live Time & Date, Stunning Parallax Effect on Ubuntu [Tech Drive-in]

Live wallpapers are not a new thing. In fact we have had a lot of live wallpapers to choose from on Linux 10 years ago. Today? Not so much. In fact, be it GNOME or KDE, most desktops today are far less customizable than it used to be. Komorebi wallpaper manager for Ubuntu is kind of a way back machine in that sense.

ubuntu live wallpaper

Install Gorgeous Live Wallpapers in Ubuntu 18.10/18.04 using Komorebi

Komorebi Wallpaper Manager comes with a pretty neat collection of live wallpapers and even video wallpapers. The package also contains a simple tool to create your own live wallpapers.


Komorebi comes packaged in a convenient 64-bit DEB package, making it super easy to install in Ubuntu and most Debian based distros (latest version dropped 32-bit support though).  
ubuntu 18.10 live wallpaper

That's it! Komorebi is installed and ready to go! Now launch Komorebi from app launcher.

ubuntu komorebi live wallpaper

And finally, to uninstall Komorebi and revert all the changes you made, do this in Terminal (CTRL+ALT+T).

sudo apt remove komorebi

Komorebi works great on Ubuntu 18.10, and 18.04 LTS. A few more screenshots.

komorebi live wallpaper ubuntu

As you can see, live wallpapers obviously consume more resources than a regular wallpaper, especially when you switch on Komorebi's fancy video wallpapers. But it is definitely not a resource hog as I feared it would be.

ubuntu wallpaper live time and date

Like what you see here? Go ahead and give Komorebi Wallpaper Manager a spin. Does it turn out to be not as resource-friendly in your PC? Let us know your opinion in the comments. 

ubuntu live wallpapers

A video wallpaper example. To see them in action, watch this demo.

Florida based Startup Builds Ubuntu Powered Aerial Robotics [Tech Drive-in]

Apellix is a Florida based startup that specialises in aerial robotics. They intend to create safer work environments by replacing workers with its task-specific drones to complete high-risk jobs at dangerous/elevated work sites.

ubuntu robotics

Robotics with an Ubuntu Twist

Ubuntu is expanding its reach into robotics and IoT in a big way. A few years ago at the TechCrunch Disrupt event, UAVIA unveiled a new generation of its one hundred percent remotely operable drones (an industry first, they claimed), which were built with Ubuntu under the hood. Then there were other like Erle Robotics (recently renamed to Acutronic Robotics) which made big strides in drone technology using Ubuntu at its core.


Apellix is the only aerial robotics company with drones "capable of making contact with structures through fully computer-controlled flight", claims Robert Dahlstrom, Founder and CEO of Apellix.

"At height, a human pilot cannot accurately gauge distance. At 45m off the ground, they can’t tell if they are 8cm or 80cm away from the structure. With our solutions, an engineer simply positions the drone near the inspection site, then the on-board computer takes over and automates the delicate docking process." He adds.


Apellix considered many popular Linux distributions before zeroing in on Ubuntu for its stability, reliability, and large developer ecosystem. Ubuntu's versatility also enabled Apellix to use the same underlying OS platform and software packages across development and production.

The team is currently developing on Ubuntu Server with the intent to migrate to Ubuntu Core. The company is also making extensive use of Ubuntu Server, both on-board its robotic systems and its cloud operations, according to a case study by Ubuntu's parent company, Canonical Foundation. 

apellix ubuntu drones

"With our aircraft, an error of 2.5 cm could be the difference between a successful flight and a crash," comments Dahlstrom. "Software is core to avoiding those errors and allowing us to do what we do - so we knew that placing the right OS at the heart of our solutions was essential." 

Openpilot: An Opensource Alternative to Tesla Autopilot, GM Super Cruise [Tech Drive-in]

Openpilot is an opensource driving agent which at the moment can perform industry-standard functions such as Adaptive Cruise Control and Lane Keeping Assist System for a select few auto manufacturers.


opensource autopilot system

Meet Project Openpilot

Opensource isn't a misnomer in the world of autonomous cars. Even as far back as in 2013, Ubuntu was spotted in Mercedes-Benz driverless cars, and it is also a well-known fact that Google is using a 'lightly customized Ubuntu' at the core of its push towards building fully autonomous cars. 

Openpilot though is unique in its own way. It's an opensource driving agent that already works (as is claimed) in a number of models from manufacturers such as Toyota, Kia, Honda, Chevrolet, Hyundai, Jeep, etc.


Above image: An Openpilot user getting a distracted alert. Apart from Adaptive Cruise Control (ACC) and Lane Keeping Assist System functions, Openpilot developers claims that their technology currently is "about on par with Tesla Autopilot and GM Super Cruise, and better than all other manufacturers."

If Tesla's Autopilot was iOS, Openpilot developers would like their product to become the "Android for cars", the ubiquitous software of choice when autonomous systems on cars goes universal.



The Openpilot-endorsed, officially supported list of cars keeps growing. It now includes some 40 odd models from manufacturers ranging from Toyota to Hyundai. And they are actively testing Openpilot on newer cars from VW, Subaru etc. according to their Twitter feed.

Even a lower variant of Tesla Model S which came without Tesla Autopilot system was upgraded with comma.ai's Openpilot solution which then mimicked a number of features from Tesla Autopilot, including automatic steering in highways according to this article. (comma.ai is the startup behind Openpilot)

Related read: Udacity's attempts to build a fully opensource self-driving car, and Linux Foundation's Automotive Grade Linux (AGL) infotainment system project which Toyota intends to use in its future cars.

Oranchelo - The icon theme to beat on Ubuntu 18.10 [Tech Drive-in]

OK, that might be an overstatement. But Oranchelo is good, really good.


Oranchelo Icons Theme for Ubuntu 18.10

Oranchelo is a flat-design icon theme originally designed for XFCE4 desktop. Though it works great on GNOME as well. I especially like the distinct take on Firefox and Chromium icons, as you can see in the screenshot.



Here's how you install Oranchelo icons theme on Ubuntu 18.10 using Oranchelo PPA. Just copy-paste the following three commands to Terminal (CTRL+ALT+T).

sudo add-apt-repository ppa:oranchelo/oranchelo-icon-theme
sudo apt update
sudo apt install oranchelo-icon-theme

Now run GNOME Tweaks, Appearance > Icons > Oranchelo.


Meet the artist behind Oranchelo icons theme at his deviantart page. So, how do you like the new icons? Let us know your opinion in the comments below.


11 Things I did After Installing Ubuntu 18.10 Cosmic Cuttlefish [Tech Drive-in]

Have been using "Cosmic Cuttlefish" since its first beta. It is perhaps one of the most visually pleasing Ubuntu releases ever. But more on that later. Now let's discuss what can be done to improve the overall user-experience by diving deep into the nitty gritties of Canonical's brand new flagship OS.

1. Enable MP3/MP4/AVI Playback, Adobe Flash etc.

This has been perhaps the standard 'first-thing-to-do' ever since the Ubuntu age dawned on us. You do have an option to install most of the 'restricted-extras' while installing the OS itself now, but if you are not-sure you've ticked all the right boxes, just run the following command in Terminal.

sudo apt install ubuntu-restricted-extras

OR

You can install it straight from the Ubuntu Software Center by CLICKING HERE.

2. Get GNOME Tweaks

GNOME Tweaks is non-negotiable.

things to do after installing ubuntu 18.10

GNOME Tweaks is an app the lets you tweak little things in GNOME based OSes that are otherwise hidden behind menus. If you are on Ubuntu 18.10, Tweaks is a must. Honestly, I don't remember if it was installed as a default. But here you install it anyway, Apt-URL will prompt you if the app already exists.


Search for Gnome Tweaks in Ubuntu Software Center. OR simply CLICK HERE to go straight to the app in Software Center. OR even better, copy-paste this command in Terminal (keyboard shortcut: CTRL+ALT+T).

sudo apt install gnome-tweaks

3. Displaying Date/Battery Percentage on Top Panel  

The screenshot, I hope, is self explanatory.

things to do after installing ubuntu 18.10

If you have GNOME Tweaks installed, this is easily done. Open GNOME tweaks, goto 'Top Bar' sidemenu and enable/disable what you need.

4. Enable 'Click to Minimize' on Ubuntu Dock

Honestly, I don't have a clue why this is disabled by default. You intuitively expect the apps shortcuts on Ubuntu dock to 'minimize' when you click on it (at least I do).

In fact, the feature is already there, all you need to do is to switch it ON. Do this is Terminal.

gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize'

That's it. Now if you didn't find the 'click to minimize' feature useful, you can always revert Dock settings back to its original state, by copy-pasting the following command in Terminal app.

gsettings reset org.gnome.shell.extensions.dash-to-dock click-action

5. Pin/Unpin Useful Stuff from Launcher

There are a bunch of apps that are pinned to your Ubuntu launcher by default.

things to do after ubuntu 18.10
 
For example, I almost never use the 'Help' app or the 'Amazon' shortcut preloaded on launcher. But I would prefer a shortcut to Terminal app instead. Right-click on your preferred app on the launcher, and add-to/remove-from favorites as you please.

6. Enable/Disable Two Finger Scrolling

As you must've noticed, two-finger scrolling is a system default now. 

things to do after installing ubuntu cosmic
 
One of my laptops act strangely when two-finger scrolling is on. You can easily disable two-finger scrolling and enable old school edge-scrolling in 'Settings'.  Settings > Mouse and Touchpad

Quicktip: You can go straight to submenus by simply searching for it in GNOME's universal search bar.

ubuntu 18.10 cosmic

Take for example the screenshot above, where I triggered the GNOME menu by hitting Super(Windows) key, and simply searched for 'mouse' settings. The first result will take me directly to the 'Settings' submenu for 'Mouse and Touchpad' that we saw earlier. Easy right? More examples will follow.

7. Nightlight Mode ON

When you're glued to your laptop/PC screen for a large amount of time everyday, it is advisable that you enable the automatic nightlight mode for the sake of your eyes. Be it the laptop or my phone, this has become an essential feature. The sight of a LED display without nightlight ON during lowlight conditions immediately gives me a headache these days. Easily one of my favourite in-built features on GNOME.


Settings > Devices > Display > Night Light ON/OFF

things to do after installing ubuntu 18.10

OR as before, Hit superkey > search for 'night light'. It will take you straight to the submenu under Devices > Display. Guess you wouldn't need anymore examples on that.

things to do after installing ubuntu 18.10

8. Safe Eyes App for Ubuntu

A popup that will fill the entire screen and forces you to take your eyes off it.

apps for ubuntu 18.10

Apart from enabling the nighlight mode, Safe Eyes is another app I strongly recommend to those who stare at their laptops for long periods of time. This nifty little app forces you to take your eyes off the computer screen and do some standard eye-exercises at regular intervals (which you can change).

things to do after installing ubuntu 18.10

Installation is pretty straight forward. Just these 3 commands on your Terminal.

sudo add-apt-repository ppa:slgobinath/safeeyes
sudo apt update
sudo apt install safeeyes

9. Privacy on Ubuntu 18.10

Guess I don't need to lecture you on the importance of privacy in the post-PRISM era.

ubuntu 18.10 privacy

Ubuntu remembers your usage & history to recommend you frequently used apps and such. And this is never shared over the network. But if you're not comfortable with this, you can always disable and delete your usage history on Ubuntu. Settings > Privacy > Usage & History 

10. Perhaps a New Look & Feel?

As you might have noticed, I'm not using the default Ubuntu theme here.

themes ubuntu 18.10

Right now I'm using System 76's Pop OS GTK theme and icon sets. They look pretty neat I think. Just three commands to install it in your Ubuntu 18.10.

sudo add-apt-repository ppa:system76/pop
sudo apt-get update
sudo apt install pop-icon-theme pop-gtk-theme pop-gnome-shell-theme
sudo apt install pop-wallpapers

Execute last command if you want Pop OS wallpapers as well. To enable the newly installed theme and icon sets, launch GNOME Tweaks > Appearance (see screenshot). I will be making separate posts on themes, icon sets and GNOME shell extensions. So stay subscribed. 

11. Disable Error Reporting

If you find the "application closed unexpectedly" popups annoying, and would like to disable error reporting altogether, this is what you need to do.

sudo gedit /etc/default/apport

This will open up a text editor window which has only one entry: "enabled=1". Change the value to '0' (zero) and you have Apport error reporting completely disabled.


Follow us on Facebook, and Twitter

RIOT OS: A tiny Opensource OS for the 'Internet of Things' (IoT) [Tech Drive-in]

"RIOT powers the Internet of Things like Linux powers the Internet." RIOT is a small, free and opensource operating system for the memory constrained, low power wireless IoT devices.


RIOT OS: A tiny OS for embedded systems

Initially developed by Freie Universität Berlin (FU Berlin), INRIA institute and HAW Hamburg, Riot OS has evolved over the years into a very competent alternative to TinyOS, Contiki etc. and now supports application programming with programming languages such as C and C++, and provides full multithreading and real-time capabilities. RIOT can run on 8-bit, 16-bit and 32-bit ARM Cortex processors.


RIOT is opensource, has its source code published on GitHub, and is based on a microkernel architecture (the bare minimum software required to implement an operating system). RIOT OS vs competition:

riot os for IoT

More information on RIOT OS can be found here. RIOT summits are held annually in major cities of Europe, if you are interested pin this up. Thank you for reading.

05-03-2019

20:57

Snap Install Mario Platformer on Ubuntu 18.10, Ubuntu 18.04 LTS [Tech Drive-in]

Nintendo's Mario needs no introduction. This game defined our childhoods. Now you can install and have fun with an unofficial version of the famed Mario platformer in Ubuntu 18.10 via this Snap package.

install Mario on Ubuntu

Play Nintendo's Mario Unofficially on Ubuntu 18.10

"Mari0 is a Mario + Portal platformer game." It is not an official release and hence the slight name change (Mari0 instead of Mario). Mari0 is still in testing, and might not work as intended. It doesn't work fullscreen for example, but everything else seems to be working great in my PC.

But please be aware that this app is still in testing, and a lot of things can go wrong. Mari0 also comes with joystick support. Here's how you install unofficial Mari0 snap package. Do this in Terminal (CTRL+ALT+T)

sudo snap install mari0

To enable joystick support:

sudo snap connect mari0:joystick

nintendo mario ubuntu

Please find time to provide valuable feedback to the developer post testing, especially if something went wrong. You can also leave your feedback in the comments below.

30-10-2018

12:29

IBM, the 6th biggest contributor to Linux Kernel, acquires RedHat for $34 Billion [Tech Drive-in]

The $34 billion all cash deal to purchase opensource pioneer Red Hat is IBM's biggest ever acquisition by far. The deal will give IBM a major foothold in fast-growing cloud computing market and the combined entity could give stiff competition to Amazon's cloud computing platform, AWS. But what about Red Hat and its future?

ibm-redhat

Another Oracle - Sun Micorsystems deal in the making? 
The alarmists among us might be quick to compare the IBM - Red Hat deal with the decade old deal between Oracle Corporation and Sun Microsystems, which was then a major player in opensource software scene.

But fear not. Unlike Oracle (which killed off Sun's OpenSolaris OS almost immediately after acquisition and even started a patent war against Android using Sun's Java patents), IBM is already a major contributor to opensource software including the mighty Linux Kernel. In fact, IBM was the 6th biggest contributor to Linux kernel in 2017.

What's in it for IBM?
With the acquisition of Red Hat, IBM becomes the world's #1 hybrid cloud provider, "offering companies the only open cloud solution that will unlock the full value of the cloud for their businesses", according to Ginni Rometty, IBM Chairman, President and CEO. She adds:

“Most companies today are only 20 percent along their cloud journey, renting compute power to cut costs. The next 80 percent is about unlocking real business value and driving growth. This is the next chapter of the cloud. It requires shifting business applications to hybrid cloud, extracting more data and optimizing every part of the business, from supply chains to sales.”

The Future of Red Hat
The Red Hat story is almost as old as Linux itself. Founded in 1993, RedHat's growth was phenomenal. Over the next two decades Red Hat went on to establish itself as the premier Linux company, and Red Hat OS was the enterprise Linux operating system of choice. It set the benchmark for others like Ubuntu, openSUSE and CentOS to follow. Red Hat is currently the second largest corporate contributor to the Linux kernel after Intel (Intel really stepped-up its Linux Kernel contributions post-2013).

Regular users might be more familiar with Fedora Project, a more user-friendly operating system maintained by Red Hat that competes with mainstream, non-enterprise operating systems like Ubuntu, elementary OS, Linux Mint or even Windows 10 for that matter. Will Red Hat be able to stay independent post acquisition?

According to the official press release, "IBM will remain committed to Red Hat’s open governance, open source contributions, participation in the open source community and development model, and fostering its widespread developer ecosystem. In addition, IBM and Red Hat will remain committed to the continued freedom of open source, via such efforts as Patent Promise, GPL Cooperation Commitment, the Open Invention Network and the LOT Network." Well, that's a huge relief.

In fact, IBM and Red Hat has been partnering each other for over 20 years, with IBM serving as an early supporter of Linux, collaborating with Red Hat to help develop and grow enterprise-grade Linux. And as IBM CEO mentioned, the acquisition is more of an evolution of the long-standing partnership between the two companies.
"Open source is the default choice for modern IT solutions, and I’m incredibly proud of the role Red Hat has played in making that a reality in the enterprise,” said Jim Whitehurst, President and CEO, Red Hat. “Joining forces with IBM will provide us with a greater level of scale, resources and capabilities to accelerate the impact of open source as the basis for digital transformation and bring Red Hat to an even wider audience – all while preserving our unique culture and unwavering commitment to open source innovation."
Predicting the future can be tricky. A lot of things can go wrong. But one thing is sure, the acquisition of Red Hat by IBM is nothing like the Oracle - Sun deal. Between them, IBM and Red Hat must have contributed more to the open source community than any other organization.

17-10-2018

20:14

How to Upgrade from Ubuntu 18.04 LTS to 18.10 'Cosmic Cuttlefish' [Tech Drive-in]

One day left before the final release of Ubuntu 18.10 codenamed "Cosmic Cuttlefish". This is how you make the upgrade from Ubuntu 18.04 to 18.10.

Upgrade to Ubuntu 18.10 from 18.04

Ubuntu 18.10 has a brand new look!
As you can see from the screenshot, a lot has changed. Ubuntu 18.10 arrives with a major theme overhaul. After almost a decade, the default Ubuntu GTK theme ("Ambiance") is being replaced with a brand new one called "Yaru". The new theme is based heavily on GNOME's default "Adwaita" GTK theme. More on that later.

Upgrade from Ubuntu 18.04 LTS to 18.10
If you're on Ubuntu 18.04 LTS, upgrading to 18.10 "cosmic" is a pretty straight forward affair. Since 18.04 is a long-term support (LTS) release (meaning the OS will get official updates for about 5 years), it may not prompt you with an upgrade option when 18.10 finally arrives. 

So here's how it's done. Disclaimer: back up your critical data before going forward. And better don't try this on mission critical machines. You're on LTS anyway.
  • An up-to-date Ubuntu 18.04 LTS is the first step. Do the following in Terminal.
$ sudo apt update && sudo apt dist-upgrade
$ sudo apt autoremove
  • The first command will check for updates and then proceed with upgrading your Ubuntu 18.04 LTS with the latest updates. The "autoremove" command will clean up any and all dependencies that were installed with applications, and are no longer required.
  • Now the slightly tricky part. You need to edit the /etc/update-manager/release-upgrades file and change the Prompt=never entry to Prompt=normal  or else it will give a "no release found" error message. 
  • I used Vim to make the edit. But for the sake of simplicity, let's use gedit. 
$ sudo gedit /etc/update-manager/release-upgrades
  • Make the edit and save the changes. Now you are ready to go ahead with the upgrade. Make sure your laptop is plugged-in, this will take time. 
  • To be on the safer side, please make sure that there's at least 5GB of disk space left in your home partition (it will prompt you and exit if you don't have enough space required for the upgrade). 
$ sudo do-release-upgrade -d
  • That's it. Wait for a few hours and let it do its magic. 
My upgrade to Ubuntu 18.10 was uneventful. Nothing broke and it all worked like a charm. After the upgrade is done, you're probably still stuck with your old theme. Fire up "Gnome Tweaks" app (get it from App Store if you already haven't), and change the theme and the icons to "Yaru". 

20-09-2018

20:06

Meet 'Project Fusion': An Attempt to Integrate Tor into Firefox [Tech Drive-in]

A real private mode in Firefox? A Tor integrated Firefox could just be that. Tor Project is currently working with Mozilla to integrate Tor into Firefox.


Over the years, and more so since Cambridge Analytica scandal, Mozilla has taken a progressively tougher stance on user privacy. Firefox's Facebook Container extension, for example, makes it much harder for Facebook to  collect data from your browsing activities (yep, that's a thing. Facebook is tracking your every move on the web). The extension now includes Facebook Messenger and Instagram as well.

Firefox with Tor Integration

For starters, Tor is a free software and an open network for anonymous communication over the web. "Tor protects you by bouncing your communications around a distributed network of relays run by volunteers all around the world: it prevents somebody watching your Internet connection from learning what sites you visit, and it prevents the sites you visit from learning your physical location."

And don't confuse this project with Tor Browser, which is web browser with Tor's elements built on top of Firefox stable builds. Tor Browser in its current form has many limitations. Since it is based on Firefox ESR, it takes a lot of time and effort to rebase the browser with new features from Firefox's stable builds every year or so.

Enter 'Project Fusion'

Now that Mozilla has officially taken over the works of integrating Tor into Firefox through Project Fusion, things could change for the better. With the intention of creating a 'super-private' mode in Firefox that supports First Party Isolation (which prevents cookies from tracking you across domains), Fingerprinting Resistance (which blocks user tracking through canvas elements), and Tor proxy, 'Project Fusion' is aiming big. To put it together, the goals of 'Project Fusion' can be condescend into four points.
  • Implementing fingerprinting resistance, make more user friendly and reduce web breakage.
  • Implement proxy bypass framework.
  • Figure out the best way to integrate Tor proxy into Firefox.
  • Real private browsing mode in Firefox, with First Party Isolation, Fingerprinting Resistance, and Tor proxy.
As good as it sounds, Project Fusion could still be years away or may not happen at all given the complexity of the work. According to a Tor Project Developer at Mozilla:
"Our ultimate goal is a long way away because of the amount of work to do and the necessity to match the safety of Tor Browser in Firefox when providing a Tor mode. There's no guarantee this will happen, but I hope it will and we will keep working towards it."
As If you want to help, Firefox bugs tagged 'fingerprinting' in the whiteboard are a good place to start. Further reading at TOR 'Project Fusion' page.

22-06-2018

19:09

Germany says No to Public Cloud, Chooses Nextcloud's Open Source Solution [Tech Drive-in]

Germany's Federal Information Technology Centre (ITZBund) opts for an on-premise cloud solution which unlike those fancy Public cloud solutions, is completely private and under its direct control.

Germany's Open Source Migration

Given the recent privacy mishaps at some of biggest public cloud solution providers on the planet, it is only natural that government agencies across the world are opting for solutions that could provide users with more privacy and security. If the recent Facebook - Cambridge Analytica debacle is any indication, data vulnerability has become a serious national security concern for all countries. 

In light of these developments, government of Germany's IT service provider, ITZBund, has chosen Nextcloud as their cloud solutions partner. Nextcloud is a free and open source cloud solutions company based out of Europe that lets you to install and run its software on your private server. ITZBund has been running a pilot since 2016 with some 5000 users on Nextcloud's platform.
"Nextcloud is pleased to announce that the German Federal Information Technology Center (ITZBund) has chosen Nextcloud as their solution for efficient and secure file sharing and collaboration in a public tender. Nextcloud is operated by the ITZBund, the central IT service provider of the federal government, and made available to around 300,000 users. ITZBund uses a Nextcloud Enterprise Subscription to gain access to operational, scaling and security expertise of Nextcloud GmbH as well as long-term support of the software."
ITZBund employs about 2,700 people that include IT specialists, engineers and network and security professionals. After the successful completion of the pilot, a public tender was floated by ITZBund which eventually selected Nextcloud as their preferred partner. Nextcloud scored high on security requirements and scalability, which it addressed through its unique Apps concept.

31-05-2018

12:23

City of Bern Awards Switzerland's Largest Open Source Contract for its Schools [Tech Drive-in]

In another major win in a span of weeks for the proponents of open source solutions in EU, Bern, the capital of Switzerland, is pushing ahead with its plans to adopt open source tools as its software of choice for all its public schools. If all goes well, some 10,000 students in Switzerland schools could soon start getting their training using an IT infrastructure that is largely open source.

Switzerland's Largest Open Source deal

Over 10,000 Students to Benefit

Switzerland's largest open-source deal introduces a brand new IT infrastructure for the public schools of its capital city. The package includes Colabora Cloud Office, an online version of LibreOffice which is to be hosted in the City of Bern's data center, as its core component. Nextcloud, Kolab, Moodle, and Mahara are the other prominent open source tools included in the package. The contract is worth CHF 13.7 million over 6 years.

In an interview given to 'Der Bund', one of Switzerland's oldest news publications, open-source advocate Matthias Stürmer, EPP city council and IT expert, told that this is probably the largest ever open-source deal in Switzerland.

Many European countries are clamoring to adopt open source solutions for their cities and schools. From the recent German Federal Information Technology Centre's (ITZBund) selection of Nexcloud as their cloud solutions partner, to city of Turin's adoption of Ubuntu, to Italian Military's LibreOffice migration, Europe's recognition of open source solutions as a legitimate alternative is gaining ground.

Ironically enough, most of these software will run on proprietary iOS platform, as the clients given to students will be all Apple iPads. But hey, it had to start somewhere. When Europe's richest countries adopt open source, others will surely take notice. Stay tuned for updates. [via inside-channels.ch]

15-04-2018

16:47

LG Makes its webOS Operating System Open Source, Again! [Tech Drive-in]

Not many might remember HP's capable webOS. The open source webOS operating system was HP's answer to Android and iOS platforms. It was slick and very user-friendly from the start, some even considered it a better alternative to Android for Tablets at the time. But like many other smaller players, HP's webOS just couldn't find enough takers, and the project was abruptly ended and sold off of to LG.


The Open Source LG webOS

Under the 2013 agreement with HP Inc., LG Electronics had unlimited access to all webOS related documentation and source code. When LG took the project underground, webOS was still an open-source project.

After many years of development, webOS is now LG's platform of choice for its Smart TV division. It is generally considered as one of the better sorted Smart TV user interfaces. LG is now ready to take the platform beyond Smart TVs. LG has developed an open source version of its platform, called webOS Open Source Edition, now available to the public at webosose.org.

Dr. I.P. Park, CTO at LG Electronics had this to say, "webOS has come a long way since then and is now a mature and stable platform ready to move beyond TVs to join the very exclusive group of operating systems that have been successfully commercialization at such a mass level. As we move from an app-based environment to a web-based one, we believe the true potential of webOS has yet to be seen."

By open sourcing webOS, it looks like LG is gunning for Samsung's Tizen OS, which is also open source and built on top of Linux. In our opinion, device manufacturers preferring open platforms (like Automotive Grade Linux), over Android or iOS is a welcome development for the long-term health of the industry in general.

06-03-2018

04-11-2017

15:15

Python GUI applicatie consistent backups met fsarchiver [linux blogs franz ulenaers]

Python GUI applicatie consistent backups maken met fsarchiver



Een partitie van het type = "Linux LVM" kan gebruikt worden voor logische volumen maar ook als "snapshot" !
Een snapshot kan een exact kopie zijn van een logische volume dat bevrozen is op een bepaald ogenblik : dit maakt het mogelijk om consistente backups te maken van logische volumen
terwijl de logische volumen in gebruik zijn !





Mijn fysische en logische volumen zijn als volgt aangemaakt :

    fysische volume

      pvcreate /dev/sda1

    fysische volume groep

      vgcreate mydell /dev/sda1

    logische volumen

      lvcreate -L 1G -n boot mydell

      lvcreate -L 100G -n data mydell

      lvcreate -L 50G -n home mydell

      lvcreate -L 50G -n root mydell

      lvcreate -L 1G swap mydell







beginscherm

00:27

LVM Logische volumen [linux blogs franz ulenaers]

LVM = Logical Volume Manager



Een partitie van het type = "Linux LVM" kan gebruikt worden voor logische volumen maar ook als "snapshot" !
Een snapshot kan een exact kopie zijn van een logische volume dat bevrozen is op een bepaald ogenblik : dit maakt het mogelijk om consistente backups te maken van logische volumen
terwijl de logische volumen in gebruik zijn !

Hoe installeren ?

    sudo apt-get install lvm2



Creëer een fysisch volume voor een partitie

    commando = ‘pvcreate’ partitie

      voorbeeld :

        partitie moet van het type = "Linux LVM" zijn !

        pvcreate /dev/sda5



creëer een fysisch volume groep

    vgcreate vg_storage partitie

      voorbeeld

        vgcreate mijnvg /dev/sda5



voeg een logische volume toe in een volume groep

    lvcreate -L grootte_in_M/G -n logische_volume_naam volume_groep

      voorbeeld :

        lvcreate -L 30G -n mijnhome mijnvg



activeer een volume groep

    vgchange -a y naam_volume_groep

      voorbeeld :

        vgchange -a y mijnvg



Mijn fysische en logische volumen

    fysische volume

      pvcreate /dev/sda1

    fysische volume groep

      vgcreate mydell /dev/sda1

    logische volumen

      lvcreate -L 1G -n boot mydell

      lvcreate -L 100G -n data mydell

      lvcreate -L 50G -n home mydell

      lvcreate -L 50G -n root mydell

      lvcreate -L 1G swap mydell



Logische volume vergroten/verkleinen

    mijn home logische volume vergroten met 1 G

      lvextend -L +1G /dev/mapper/mydell-home

    let op een logische volume verkleinen kan leiden tot gegevens verlies indien er te weinig plaats is .... !

lvreduce -L -1G /dev/mapper/mydell-home



toon fysische volume

sudo pvs

    worden getoond : PV fysische volume , VG volume groep , Fmt formaat (normaal = lvm2) , Attr attribuut, Psize groote PV, PFree vtije plaats

      PV             VG       Fmt  Attr PSize      PFree

      /dev/sda6 mydell lvm2   a--  920,68g  500,63g

sudo pvs -a

sudo pvs /dev/sda6



Backup instellingen Logische volumen

    zie bijgeleverde script LVM_bkup



toon volume groep

    sudo vgs

VG       #PV #LV #SN  Attr    VSize     VFree

mydell    1       6       0    wz--n- 920,68g 500,63g



toon logische volume(n)

    sudo lvs

      LV            VG     Attr        LSize   Pool Origin Data% Meta% Move Log Cpy%Sync Convert

      boot       mydell -wi-ao---- 952,00m

      data       mydell -wi-ao---- 100,00g

      home      mydell -wi-ao----  93,13g

      mintroot mydell -wi-a----- 101,00g

      root        mydell -wi-ao----  94,06g

      swap       mydell -wi-ao----  30,93g



hoe een logische volume wegdoen ?

    een logische volume wegdoen kan enkel maar als de fysische volume niet actief is

      dit kan met het vgchange commando

        vgchange -a n mydell

    lvremove /dev//mijn_volumegroup/naam_logische-volume

      voorbeeld :

lvremove /dev/mydell/data





hoe een fysische volume wegdoen ?

vgreduce mydell /dev/sda1




Bijlagen: LVM_bkup (0.8 KLB)




01-11-2017

19:48

hoe een stick mounten en umounten zonder root te zijn en met je eigen rwx rechten ! [linux blogs franz ulenaers]

Stick mounten zonder root

hoe usb stick mounten en umounten zonder root te zijn en met rwx rechten ?
---------------------------------------------------------------------------------------------------------
(hernoem iedere ulefr01 naar je eigen gebruikersnaam!)

label stick

  • gebruik het 'fatlabel' commando om een volumenaam of label toe te kennen dit als je een vfat bestandensysteem gebruikt op je usb-stick

  • gebruik het commando 'tune2fs' voor een ext2,3,4

    • om een volumenaam stick32GB te maken op je usb_stick doe je met het commando :

sudo tune2fs -L stick32GB /dev/sdc1

noot : gebruik voor /dev/sdc1 hier het juiste device !


maak het filesysteem op je stick clean

  • mogelijk na het mounten zie dmesg messages : Volume was not properly unmounted. Some data may be corrupt. Please run fsck.

    • gebruik de file system consistency check commando fsck om dit recht te zetten

      • doe een umount voordat je het commando fsck uitvoer ! (gebruik het juiste device !)

        • fsck /dev/sdc1

noot: gebruik voor /dev/sdc1 hier je device !


rechten zetten op mappen en bestanden van je stick

  • Steek je stick in een usb poort en umount je stick

sudo chown ulefr01:ulefr01 /media/ulefr01/ -R
  • zet acl op je ext2,3,4 stick (werkt niet op een vfat !)

setfacl -m u:ulefr01:rwx /media/ulefr01
  • met getfact kun je acl zien

getfacl /media/ulefr01
  • met het ls commando kun je het resultaat zien

ls /media/ulefr01 -dla

drwxrwx--- 5 ulefr01 ulefr01 4096 okt 1 18:40 /media/ulefr01

noot: indien de ‘+’ aanwezig is dan is acl reeds aanwezig, zoals op volgende lijn :

drwxrwx---+ 5 ulefr01 ulefr01 4096 okt 1 18:40 /media/ulefr01


Mount stick

  • Steek je stick in een usb poort en kijk of mounten automatisch gebeurd

  • check rechten van bestaande bestanden en mappen op je stick

ls * -la

  • indien root of andere rechten reeds aanwezig , herzetten met volgend commando

sudo chown ulefr01:ulefr01 /media/ulefr01/stick32GB -R

Maak map voor ieder stick

  • cd /media/ulefr01

  • mkdir mmcblk16G stick32GB stick16gb


aanpassen /etc/fstab

  • voeg een lijn toe voor iedere stick

    • voorbeelden

LABEL=mmcblk16G /media/ulefr01/mmcblk16G ext4 user,exec,defaults,noatime,acl,noauto 0 0
LABEL=stick32GB /media/ulefr01/stick32GB ext4 user,exec,defaults,noatime,acl,noauto 0 0
LABEL=stick16gb /media/ulefr01/stick16gb vfat user,defaults,noauto 0 0


Check het volgende

  • het volgende moet nu mogelijk zijn : 

    • mount en umount zonder root te zijn

    •  noot : je kunt de umount niet doen als de mount gedaan is door root ! Indien dat het geval is dan moet je eerst de umount met root ; daarna de mount als gebruiker dan kun je ook de umount doen . 

    • zet een nieuw bestand op je stick zonder root te zijn

    • zet een nieuw map op je stick zonder root te zijn

  • check of je nieuwe bestanden kunt aanmaken zonder root te zijn

        • touch test

        • ls test -la

        • rm test


29-10-2017

11:33

procedures MyCloud [linux blogs franz ulenaers]

Procedures MyCloud

  • Procedure lftpUlefr01Cloudupload wordt gebruikt om een upload te doen van bestanden en mappen naar MyCloud

  • Procedure lftpUlefr01Cloudmirror wordt gebruikt om wijzigingen terug te halen 


Beide procedures maken gebruik van het programma lftp ( dit is "Sophisticated file transfer program" ) en worden gebruikt om synchronisatie van laptop en desktop toe te laten 


Procedures werden aangepast zodat verborgen bestanden en verborgen mappen ook worden verwerkt ,

alsook werden voor mirror bepaalde meestal onveranderde bestanden en mappen uitgefilterd (--exclude) zodanig dat deze niet opnieuw worden verwerkt

op Cloud blijven ze bestaan als backup maar op de verschillende laptops niet (dit werd gedaan voor oudere mails van 2016 maanden 2016-11 en 2016-12

en voor alle vorige maanden (dit tot en met september) van 2017 !

  • zie bijlagen


Zet acl list [linux blogs franz ulenaers]

setfacl

noot: meestal mogelijk op linux bestandsystemen : btrfs, ext2, ext3, ext4 en Reiserfs  !

  • Hoe een acl zetten voor één gebruiker ?

setfacl -m u:ulefr01:rwx /home/ulefr01

noot: kies ipv ulefr01 hier je eigen gebruikersnaam

  • Hoe een acl afzetten ?

setfacl -x u:ulefr01 /home/ulefr01
  • Hoe een acl zetten voor twee of meer gebruikers ?

setfacl -m u:ulefr01:rwx /home/ulefr01

setfacl -m u:myriam:r-x /home/ulefr01

noot: kies ipv myriam je tweede gebruikersnaam; hier heeft myriam geen w write toegang maar wel r read en x exec !

  • Hoe een lijst opvragen van de ingestelde acl ?

getfacl home/ulefr01
getfacl: Voorafgaande '/' in absolute padnamen worden verwijderd
# file: home/ulefr01
# owner: ulefr01
# group: ulefr01
user::rwx
user:ulefr01:rwx
user:myriam:r-x 
group::---
mask::rwx
other::--- 
  • Hoe het resultaat nakijken ?

getfacl home/ulefr01
 zie hierboven
ls /home/ulefr01 -dla
drwxrwx---+  ulefr01 ulefr01 4096 okt 1 18:40  /home/ulefr01

zie + sign !


python GUI applicatie tune2fs [linux blogs franz ulenaers]

python GUI applicatie tune2fs comando

Created woensdag 18 oktober 2017

geschreven met programmeertaal python met gebruik van Gtk+ 3 

starten in terminal met : sudo python mytune2fs.py

ofwel python source compileren en starten met gecompileerde versie


zie bijlagen :
* pdf
* mytune2fs.py

Python GUI applicatie myarchive.py [linux blogs franz ulenaers]

python GUI applicatie backups maken met fsarchiver

Created vrijdag 13 oktober 2017

GUI applicatie backups maken, achiveerinfo en restore met fsarchiver

zie bijgeleverde bestand : python_GUI_applicatie_backups_maken_met_fsarchiver.pdf


start in terminal mode met : 

* sudo python myarchive.py

* sudo python myarchive2.py

ofwel door gecompileerde versie te maken en de gegeneerde objecten te starten


python myfsck.py [linux blogs franz ulenaers]

python GUI applicatie fsck commando

Created vrijdag 13 oktober 2017

zie bijgeleverd bestand myfsck.py

Deze applicatie kan devices mounten en umounten maar is hoofdzakelijk bedoeld om het fsck comando uit te voeren

Root rechten zijn nodig !

hulp ?

* starten in terminal mode 

* sudo python myfsck.py


Het beste bestandensysteem (meest performant) op een USB stick , hoe opzetten ? [linux blogs franz ulenaers]

het beste bestandensysteem op een USB stick, hoe opzetten ?

het beste bestandensysteem (meest performant) is ext4

  • hoe opzetten ?

mkfs.ext4 $device
  • zet eerst journal af

tune2fs -O ^has_journal $device
  • doe journaling alleen met data_writeback

tune2fs -o journal_data_writeback $device
  • gebruik geen reserved spaces en zet het op nul.

tune2fs -m 0 $device


  • voor bovenstaande 3 acties kan bijgeleverde bash script gebruikt worden :



bestand USBperf

# USBperfext4


echo 'USBperf'

echo '--------'

echo 'ext4 device ?'

read device

echo "device= $device"

echo 'ok ?'

read ok

if [ $ok == ' ' ] || [ $ok == 'n' ] || [ $ok == 'N' ]

then

   echo 'nok - dus stoppen'

   exit 1

fi

echo "doe : no journaling ! tune2fs -O ^has_journal $device"

tune2fs -O ^has_journal $device

echo "use data mode for filesystem as writeback doe : tune2fs -o journal_data $device"

tune2fs -o journal_data_writeback $device

echo "disable reserved space "

tune2fs -m 0 $device

echo 'gedaan !'

read ok

echo "device= $device" 

exit 0


  • pas bestand /etc/fstab aan voor je USB

    • gebruik optie ‘noatime’

Maken dat een bestand niet te wijzigen , niet te hernoemen is niet te deleten is in linux ! [linux blogs franz ulenaers]

Maken dat een bestand niet te wijzigen , niet te hernoemen is niet te deleten is in linux !


bestand .encfs6.xml


hoe : sudo chattr +i /data/Encrypt/.encfs6.xml

je kunt het bestand niet wijzigen, je kunt het bestand niet hernoemen, je kunt het bestand niet deleten zelfs als je root zijt

  • zet attribuut
  • status bekijken
    • lsattr .encfs6.xml
      • ----i--------e-- .encfs6.xml
        • de i betekent immutable
  • om immutable attribuut weg te doen
    • chattr -i .encfs6.xml



Backup laptop [linux blogs franz ulenaers]

laptop heeft een multiboot = windows 7 met encryptie en Linux Mint
backup van mijn laptop , zie http://users.telenet.be/franz.ulenaers/laptopca-new.html

Encryptie [linux blogs franz ulenaers]

Met encryptie kan men de gegevens op je computer beveiligen, door de gegevens onleesbaar maken voor de buitenwereld !

Hoe kan men een bestandssysteem encrypteren ?

installeer de volgende open source pakketten :

    loop-aes-utils en cryptsetup

            apt-get install loop-aes-utils

            apt-get install cryptsetup

        modprobe cryptoloop
        voeg de volgende modules toe in je /etc/modules :
            aes
            dm_mod
           
dm_crypt
           
cryptoloop

Hoe een beveiligd bestandsysteem aanmaken ?

  1. dd if=/dev/zero of=/home/cryptfile bs=1M count=650
hiermee creëer je een bestand van 650 M groot
  1. losetup -e aes /dev/loop0 /home/cryptfile
hierna wordt een paswoord gevraagd van minstens 20 karakters
  1. mkfs.ext3 /dev/loop0
maakt een ext3 bestandssysteem met journaling
  1. mkdir /mnt/crypt
                maakt een lege directory aan
  1. mount /dev/loop0 /mnt/crypt -t ext3
nu hebt je een bestandssysteem onder /mnt/crypt ter beschikking

....

Je kunt automatisch je bestandssysteem beschikbaar maken door een volgende entry in je /etc/fstab :

/home/cryptfile /mnt/crypt ext3 auto,encryption=aes,user,exec 0 0

....

Je kunt je encryptie afzetten dmv.

umount /mnt/crypt


losetup -d /dev/loop0        (dit is niet meer nodig als je de volgende entry in jet /etc/fstab hebt :
                /home/cryptfile /mnt/crypt ext3 auto,encryption=aes,exec 0 0
....
Manueel mounten kun je met :
  • losetup -e aes /dev/loop0 /home/cryptfile
 er wordt gevraagd een paswoord van minstens 20 karakters in te vullen
indien het paswoord verkeerd is dan krijg je de volgende melding :
        mount: wrong fs type, bad option, bad superblock on /dev/loop0,
        or too many mounted file systems
        ..
  • mount /dev/loop0 /mnt/crypt -t ext3
hiermee kunt je het bestandssysteem mounten


Linken in Linux [linux blogs franz ulenaers]

Op Linux kan men bestanden meervoudige benamingen geven, zo kun je een bestand op verschillende plaatsen in de boomstructuur van de bestanden opslaan , zonder extra plaats op harde schijf in te nemen (+-).

Er zijn twee soorten links :

  1. harde links

  2. symbolische links

Een harde link maakt gebruik van hetzelfde bestandsnummer (inode).

Een harde link geldt niet voor een directory !

Een harde link moet op zelfde bestandssysteem en oorspronkelijk bestand moet bestaan !

Een symbolische link , het bestand krijgt een nieuw bestandsnummer , het bestand waarop verwezen wordt hoeft niet te bestaan.

Een symbolische link gaat ook voor een directory.

bash-shell gebruiker ulefr01

pwd
/home/ulefr01/cgcles/linux
ls linuxcursus.odt -ila
293800 -rw-r--r-- 1 ulefr01 ulefr01 4251348 2005-12-17 21:11 linuxcursus.odt

Het bestand linuxcursus is 4,2M groot, inode nr 293800.

bash-shell gebruiker tom

pwd
/home/tom
ln /home/ulefr01/cgcles/linux/linuxcursus.odt cursuslinux.odt
tom@franz3:~ $ ls cursuslinux.odt -il
293800 -rw-r--r-- 2 ulefr01 ulefr01 4251348 2005-12-17 21:11 cursuslinux.odt
geen extra plaats van 4,2M, zelfde inode nr 293800 !

bash-shell gebruiker root

pwd
/root
root@franz3:~ # ln /home/ulefr01/cgcles/linux/linuxcursus.odt linuxcursus.odt
root@franz3:~ # ls -il linux*
293800 -rw-rw-r-- 3 ulefr01 ulefr01 4251300 2005-12-17 21:31 linuxcursus.odt
geen extra plaats van 4,2M, zelfde inode nr 293800 !

bash-shell gebruiker ulefr01, symbolische link

ln -s cgcles/linux/linuxcursus.odt linuxcursus.odt
ulefr01@franz3:~ $ ls -il linuxcursus.odt
1191741 lrwxrwxrwx 1 ulefr01 ulefr01 28 2005-12-17 21:42 linuxcursus.odt -> cgcles/linux/linuxcursus.odt
slechts 28 bytes

ln -s linuxcursus.odt test.odt
1191898 lrwxrwxrwx 1 ulefr01 ulefr01 15 2005-12-17 22:00 test.odt -> linuxcursus.odt
slechts 15 bytes

rm linuxcursus.odt
ulefr01@franz3:~ $ ls *.odt -il
1193723 -rw-r--r-- 1 ulefr01 ulefr01 27521 2005-11-23 20:11 Backup&restore.odt
1193942 -rw-r--r-- 1 ulefr01 ulefr01 13535 2005-11-26 16:11 doc.odt
1191933 -rw------- 1 ulefr01 ulefr01 6135 2005-12-06 12:00 fru.odt
1193753 -rw-r--r-- 1 ulefr01 ulefr01 19865 2005-11-23 22:44 harddiskdata.odt
1193576 -rw-r--r-- 1 ulefr01 ulefr01 7198 2005-11-26 21:46 ooo-1.odt
1191749 -rw------- 1 ulefr01 ulefr01 22542 2005-12-06 16:16 Regen.odt
1191898 lrwxrwxrwx 1 ulefr01 ulefr01 15 2005-12-17 22:00 test.odt -> linuxcursus.odt
test.odt verwijst naar een bestand dat niet bestaat !

19-09-2017

10:33

Embedded Linux Engineer [Job Openings]

You're eager to work with Linux in an exciting environment. You have a lot of PC equipement experience. Prior experience with embedded Linux or small footprint distributions is considered a plus. Region East/West Flanders

Linux Teacher [Job Openings]

We're looking for someone capable of teaching Linux and/or Solaris professionally. Ideally the candidate has experience with teaching in Linux, possibly other non-Windows OSes as well.

Kernel Developer [Job Openings]

We're looking for someone with kernel device driver developement experience. Preferably, but not necessary with knowledge of AV or TV devices.

C/C++ Developers [Job Openings]

We're searching Linux C/C++ Developers. Region Leuven.

Feeds

FeedRSSLast fetchedNext fetched after
Computable XML 09-08-2020, 14:44 09-08-2020, 17:44
GNOMON XML 09-08-2020, 14:44 09-08-2020, 17:44
http://www.h-online.com/news/atom.xml XML 09-08-2020, 14:44 09-08-2020, 17:44
http://www.h-online.com/open/atom.xml XML 09-08-2020, 14:44 09-08-2020, 17:44
http://www.linux-magazine.com/Online/RSS-Feeds XML 09-08-2020, 14:44 09-08-2020, 17:44
https://www.heise.de/ XML 09-08-2020, 14:44 09-08-2020, 17:44
https://www.linux.com/news/software-adds-motion-awareness-tv-stbs/?format=feed&type=rss XML 09-08-2020, 14:44 09-08-2020, 17:44
https://www.networkworld.com/rss/linux-news.xml XML 09-08-2020, 14:44 09-08-2020, 17:44
Job Openings XML 09-08-2020, 14:44 09-08-2020, 17:44
Laatste Artikelen - Webwereld XML 09-08-2020, 14:44 09-08-2020, 17:44
linux blogs franz ulenaers XML 09-08-2020, 14:44 09-08-2020, 17:44
Linuxtoday.com XML 09-08-2020, 14:44 09-08-2020, 17:44
Linuxtoday.com XML 09-08-2020, 14:44 09-08-2020, 17:44
OMG! Ubuntu! XML 09-08-2020, 14:44 09-08-2020, 17:44
Planet Python XML 09-08-2020, 14:44 09-08-2020, 17:44
Press Releases – The Document Foundation Blog XML 09-08-2020, 14:44 09-08-2020, 17:44
Slashdot: Linux XML 09-08-2020, 14:44 09-08-2020, 17:44
Tech Drive-in XML 09-08-2020, 14:44 09-08-2020, 17:44
ulefr01 - blog franz ulenaers XML 09-08-2020, 14:44 09-08-2020, 17:44

Laatst gewijzigd: zondag 9 augustus 2020 14:44
Copyright 2020 - Franz Ulenaers (email : franz.ulenaers@telenet.be)