Language Selection

English French German Italian Portuguese Spanish

Rapid Ascent of Linux

Filed under
GNU
Linux
Microsoft
  • You should really get an Android or iPhone, says Microsoft: No more app updates for Windows Phone 8.x holdouts

    Another milestone was reached today in the long, drawn-out death of Windows Phone: Microsoft has stopped distributing app updates to the dozen or so Windows Phone 8.x devices not already consigned to the recyclers.

    To be fair, mainstream support for Windows Phone 8.1 was switched off almost two years ago, on 11 July 2017, and Microsoft really cannot be bothered to let developers who are still supporting apps on the platform use its store to distribute updates.

    The company had already axed the ability for developers to submit new apps for the doomed platform at the end of October last year. Today brings the Windows 8.x saga to an end – with developers no longer able to shovel out updates ... to say there'll be no more updates.

  • Microsoft Says Linux Surpassed Windows on Azure [Ed: Microsoft boosters such as Bogdan Popa keep pushing that "Microsoft loves Linux" lie because they know that this lie is actually useful to Microsoft and contributes to brand dilution]

    “Microsoft loves Linux” is something that we hear every once in a while, especially from Microsofties who try to get the software giant more involved into this world that they once hated.

  • Linux is now beating Windows on Microsoft’s own turf, and Azure is better for it

    A Linux kernel developer working with Microsoft has let slip that Linux-based operating systems have a larger presence on Microsoft’s Azure cloud platform than Windows-based ones. The revelation appeared on an Openwall open-source security list in an application for Microsoft developers to join the list, and was apparently part of an evidently credible argument that Microsoft plays an active-enough role in Linux development to merit including the company in security groups.

More in Tux Machines

Kubernetes: KubeInvaders, CSI Ephemeral Inline Volumes and Reviewing 2019 in Docs

  • KubeInvaders - Gamified Chaos Engineering Tool for Kubernetes

    Some months ago, I released my latest project called KubeInvaders. The first time I shared it with the community was during an Openshift Commons Briefing session. Kubenvaders is a Gamified Chaos Engineering tool for Kubernetes and Openshift and helps test how resilient your Kubernetes cluster is, in a fun way.

  • CSI Ephemeral Inline Volumes

    Typically, volumes provided by an external storage driver in Kubernetes are persistent, with a lifecycle that is completely independent of pods or (as a special case) loosely coupled to the first pod which uses a volume (late binding mode). The mechanism for requesting and defining such volumes in Kubernetes are Persistent Volume Claim (PVC) and Persistent Volume (PV) objects. Originally, volumes that are backed by a Container Storage Interface (CSI) driver could only be used via this PVC/PV mechanism. But there are also use cases for data volumes whose content and lifecycle is tied to a pod. For example, a driver might populate a volume with dynamically created secrets that are specific to the application running in the pod. Such volumes need to be created together with a pod and can be deleted as part of pod termination (ephemeral). They get defined as part of the pod spec (inline). Since Kubernetes 1.15, CSI drivers can also be used for such ephemeral inline volumes. The CSIInlineVolume feature gate had to be set to enable it in 1.15 because support was still in alpha state. In 1.16, the feature reached beta state, which typically means that it is enabled in clusters by default. CSI drivers have to be adapted to support this because although two existing CSI gRPC calls are used (NodePublishVolume and NodeUnpublishVolume), the way how they are used is different and not covered by the CSI spec: for ephemeral volumes, only NodePublishVolume is invoked by kubelet when asking the CSI driver for a volume. All other calls (like CreateVolume, NodeStageVolume, etc.) are skipped. The volume parameters are provided in the pod spec and from there copied into the NodePublishVolumeRequest.volume_context field. There are currently no standardized parameters; even common ones like size must be provided in a format that is defined by the CSI driver. Likewise, only NodeUnpublishVolume gets called after the pod has terminated and the volume needs to be removed.

  • Reviewing 2019 in Docs

    Hi, folks! I’m one of the co-chairs for the Kubernetes documentation special interest group (SIG Docs). This blog post is a review of SIG Docs in 2019. Our contributors did amazing work last year, and I want to highlight their successes. Although I review 2019 in this post, my goal is to point forward to 2020. I observe some trends in SIG Docs–some good, others troubling. I want to raise visibility before those challenges increase in severity.

Programming/Development: Perl, Python/Django and Bash

  • Springtime in Switzerland

    During the same week I’ll also be giving a half-day seminar on Raku, which has been generously sponsored by EPFL and so will cost nothing to attend. It’s suitable for anyone who would like a quick but comprehensive overview of this remarkable new programming language. Besides making the Raku seminar entirely free, SIB/UNIL/EPFL have done an amazing job keeping the prices of the other classes extremely competitive...especially if you can claim a plausible association to any academic institution, either as a student or staff member. If you’re looking for some training that’s economical, practical, and just plain fun, in a location that’s central, civilised, and simply breathtaking, then this week in Switzerland might fit just the bill.

  • PyCoder’s Weekly: Issue #404 (Jan. 21, 2020)
  • Basic Data Types in Python

    In this step-by-step course, you’ll dig into the basic data types that are built into Python.

  • Python 3.7.5 : Django security issues - part 002.
  • Python 3.7.5 : Use Django Formsets.

    Django Formsets manage the complexity of multiple copies of a form in a view.  This simplifies the task of creating a formset for a form that handles multiple instances of a model.

  • Hunting gremlins

    In the UTF-8 files I audit, the only invisible characters I expect to see... er... not see... are whitespace (hexadecimal 20), horizontal tab (09) and newline (linefeed; 0a). All others I call "gremlins". They include carriage return (0d), no-break space (c2 a0), soft hyphen (c2 ad) and another 62 control characters. Gremlins are a nuisance. One gremlin causes a shell to hang. Less evil gremlins lurk inside apparently OK strings and cause the strings to be processed weirdly. In the file "demo1", two of the strings contain no-break spaces (in different places), two contain soft hyphens (in different places) and three have no gremlins. 

  • A more expressive Bash prompt

    Bash provides some interesting built-in specifiers for the prompt strings PS1. 

Mozilla: Developer Roadshow (Asia Tour), CRLite, Async Interview

  • The Mozilla Developer Roadshow: Asia Tour Retrospective and 2020 Plans

    November 2019 was a busy month for the Mozilla Developer Roadshow, with stops in five Asian cities —Tokyo, Seoul, Taipei, Singapore, and Bangkok. Today, we’re releasing a playlist of the talks presented in Asia. We are extremely pleased to include subtitles for all these talks in languages spoken in the countries on this tour: Japanese, Korean, Chinese, Thai, as well as English. One talk, Hui Jing Chen’s “Making CSS from Good to Great: The Power of Subgrid”, was delivered in Singlish (a Singaporean creole) at the event in Singapore! In addition, because our audiences included non-native English speakers, presenters took care to include local language vocabulary in their talks, wherever applicable, and to speak slowly and clearly. We hope to continue to provide multilingual support for our video content in the future, to increase access for all developers worldwide.

  • CRLite: Speeding Up Secure Browsing

    CRLite pushes bulk certificate revocation information to Firefox users, reducing the need to actively query such information one by one. Additionally this new technology eliminates the privacy leak that individual queries can bring, and does so for the whole Web, not just special parts of it. The first two posts in this series about the newly-added CRLite technology provide background: Introducing CRLite: All of the Web PKI’s revocations, compressed and The End-to-End Design of CRLite. Since mid-December, our pre-release Firefox Nightly users have been evaluating our CRLite system while performing normal web browsing. Gathering information through Firefox Telemetry has allowed us to verify the effectiveness of CRLite.

  • Niko Matsakis: Async Interview #5: Steven Fackler

    Hello! For the latest async interview, I spoke with Steven Fackler (sfackler). sfackler has been involved in Rust for a long time and is a member of the Rust libs team. He is also the author of a lot of crates, most notably tokio-postgres. I particularly wanted to talk to sfackler about the AsyncRead and AsyncWrite traits. These traits are on everybody’s list of “important things to stabilize”, particularly if we want to create more interop between different executors and runtimes. On the other hand, in [tokio-rs/tokio#1744], the tokio project is considering adopting its own variant traits that diverge significantly from those in the futures crate, precisely because they have concerns over the design of the traits as is. This seems like an important area to dig into!

Graphics: Wayland 1.18 Alpha, Linux on Embedded Ryzen with Radeon, and Keith Packard's X Talk

  • wayland 1.17.91
    This is the alpha release for Wayland 1.18. Here's a highlight of the
    biggest changes:
    
    - Add support for the Meson build system (autotools is still supported
      but will be removed in a future release)
    - Add API to tag proxy objects to allow applications and toolkits to
      share the same Wayland connection
    - Track wayland-server timers in user-space to prevent creating too
      many FDs
    - Add wl_global_remove, a new function to mitigate race conditions with
      globals
    
    Thanks to all contributors!
    
    Full commit history below.
    
    Antonio Borneo (1):
          log: remove "%m" from format strings by using strerror(errno)
    
    Daniel Stone (2):
          build/doc: Ensure destination dir exists despite VPATH
          display-test: Remove unused variables
    
    Drew DeVault (3):
          Document unusual wl_registry.bind new_id behavior
          Add .editorconfig
          Improve description of wl_surface
    
    Emmanuel Gil Peyrot (2):
          cursor: Use memfd_create() when available
          wayland-shm: Don’t set SIGBUS handlers on unshrinkable fd
    
    Emmanuele Bassi (2):
          Support running tests from different build directories
          Add Meson build
    
    Harish Krupo (2):
          docs: Abort configure if docbook-xsl package is missing
          wayland.xml: document invalid_finish error in wl_data_offer.finish
    
    Jiayuan Ren (1):
          adding O_RDWR flag in the open()
    
    Jonas Ådahl (1):
          proxy: Add API to tag proxy objects
    
    Joshua Watt (2):
          scanner: Add configure check for strndup
          Move wl_priv_signal to wayland-server-private.h
    
    Leonid Bobrov (1):
          configure: detect libdl and librt
    
    Liu Wenlong (1):
          server: Fix fake "Address already in use" error
    
    Manuel Stoeckl (13):
          scanner: error when element names will not compile
          tests: Verify that wayland_scanner can catch bad identifiers
          protocol: clarify wl_display.delete_id description
          connection: do not abort when dup(fd) fails
          client: Ignore new requests if display has a fatal error
          client: Don't abort when sending a request fails
          tests: Test that send overflow doesn't abort
          tests: Fix race condition in send overflow test
          tests: Ensure that overflow test always overflows
          event-loop-test: Verify proper timer cancellation
          event-loop-test: Confirm distant timers do not fire
          event-loop: Track timer event sources in userspace
          event-loop-test: Add test to verify timer ordering
    
    Marty E. Plummer (1):
          scanner: prepend protocol name to types symbol
    
    Michael Forney (3):
          Use wl_container_of internally
          Avoid pointer arithmetic on `void *`
          protocol: fix typo in wl_data_offer.set_actions description
    
    Mosè Giordano (1):
          Add $(RT_LIBS) to fixed-benchmark LD dependencies
    
    Pekka Paalanen (2):
          configure.ac: reopen master for regular development
          scanner: include config.h from command line
    
    Scott Anderson (1):
          wayland.xml: Make releases for multiple 'wl_surface.attach' undefined
    
    Simon Ser (22):
          Add releasing.txt
          releasing: adapt for Wayland
          releasing: fixup section numbers
          protocol: allow to send a zero output refresh rate
          client: check event opcode in queue_event
          Update .editorconfig for Python
          Add an automated script to update wl_shm.format
          protocol: add a comment about the wl_shm.format script
          protocol: sync wl_shm.format with libdrm 2.4.99
          server: check global interface on bind
          tests: test that binding to a global with an interface mismatch fails
          protocol: invalid_method is sent on malformed request
          server: add wl_global_set_user_data
          server: add wl_global_remove
          tests: add a test for wl_global_remove
          build: check wayland-scanner version
          Revert "build: check wayland-scanner version"
          meson: use strict wayland-scanner mode
          autotools: use strict wayland-scanner mode
          build: check wayland-scanner version
          protocol: add missing enums for wl_data_device_manager.dnd_action
          build: bump to version 1.17.91 for the alpha release
    
    asynts (1):
          doc: Expand the abbreviation "hw" to "hardware".
    
    orbea (1):
          Add a missing -pthread to fix compile with slibtool.
    
    git tag: 1.17.91
    
  • Wayland 1.18 Alpha Released With Meson Support, Connection Sharing

    Wayland 1.18 is adding Meson build system support so that Autotools can be dropped in a future release, API support for allowing applications and toolkits to share the same Wayland connection, better handling over file descriptors, and wl_global_remove as a new function for mitigating race conditions with globals. There are also various test improvements, improved documentation, and various other fixes and minor improvements.

  • Linux on Embedded Ryzen with Radeon

    American Micro Devices (AMD) has released the Ryzen processors which works very well with Linux. The embedded processor also contains a Graphical Processing Unit (GPU) which is an AMD Ryzen Vega. The board I am using is the IBase 918f-1605 to install Linux. Linux can be installed from a stock ISO, but the system does not perform as well unless using a special Linux kernel from AMD. It also helps to have the proper GPU driver for performance. Stability is much better with the AMD kernel they provide on their website.

  • Keith Packard Talks About The Early Politics Of X Window System + Code Licensing

    At last week's Linux.Conf.Au conference was an interesting presentation by longtime X developer Keith Packard on the early days of the pre-X.Org X Window System, the collapse of Unix, and how his views formed on copyleft licenses for building thriving communities. Keith's LCA 2020 presentation is focused on the X happenings largely during the 80's and very early 90's. Keith's involvement goes back to the 80's during which he was employed at MIT as part of the X Consortium.

  • Keith Packard: lca2020

    I just got back from linux.conf.au 2020 on Saturday and am still adjusting to being home again. I had the opportunity to give three presentations during the conference and wanted to provide links to the slides and videos.