Language Selection

English French German Italian Portuguese Spanish

Programming: Intel Graphics Compiler, Bzip2 in Rust, Ract, YAML, Python and YAML

Filed under
Development
  • Intel Graphics Compiler 1.0.8 Released With LLVM 9 & GCC 9 Fixes

    The open-source folks maintaining the LLVM-based Intel Graphics Compiler for use by their NEO compute stack for Linux released this week another update.

    Intel Graphics Compiler 1.0.8 is this latest update, which is primarily focused on offering up the remaining fixes for being built by the GCC 9.1 stable compiler and for interfacing with the in-development LLVM Clang 9.0 compiler stack. IGC continues to make use of the LLVM infrastructure to help with the heavy lifting around this graphics compiler. IGC 1.0.8 is currently passing "99.87%" of the certification tests when using LLVM/Clang 9.

  • Bzip2 in Rust: porting the randomization table

    Bzip2's compression starts by running a Burrows-Wheeler Transform on a block of data to compress, which is a wonderful algorithm that I'm trying to fully understand. Part of the BWT involves sorting all the string rotations of the block in question.

    Per the comment I cited, really old versions of bzip2 used a randomization helper to make sorting perform well in extreme cases, but not-so-old versions fixed this.

    This explains why the decompression struct DState has a blockRandomised bit, but the compression struct EState doesn't need one. The fields that the original macro was pasting into EState were just a vestige from 1999, which is when Bzip2 0.9.5 was released.

  • [Older] react-content-marker Released – Marking Content with React

    Last year, in a React side-project, I had to replace some content in a string with HTML markup. That is not a trivial thing to do with React, as you can't just put HTML as string in your content, unless you want to use dangerouslySetInnerHtml — which I don't. So, I hacked a little code to smartly split my string into an array of sub-strings and DOM elements.

    More recently, while working on Translate.Next — the rewrite of Pontoon's translate page to React — I stumbled upon the same problem. After looking around the Web for a tool that would solve it, and coming up short handed, I decided to write my own and make it a library.

  • 10 YAML tips for people who hate YAML

    There are lots of formats for configuration files: a list of values, key and value pairs, INI files, YAML, JSON, XML, and many more. Of these, YAML sometimes gets cited as a particularly difficult one to handle for a few different reasons. While its ability to reflect hierarchical values is significant and its minimalism can be refreshing to some, its Python-like reliance upon syntactic whitespace can be frustrating.

    However, the open source world is diverse and flexible enough that no one has to suffer through abrasive technology, so if you hate YAML, here are 10 things you can (and should!) do to make it tolerable. Starting with zero, as any sensible index should.

  • Creating a Django App on Ubuntu Server

    Django is a common platform for developing websites, web applications and web APIs. There are many advantages to using the Django framework for your project as your tool and if you’re not sure it’s the right fit, you need only to look to the many big name brands using Django in their stack.
    Deploying Django to a production environment for the first time can be a daunting task. Often, developers will launch a Linux instance on the cloud for their production environment.

    In this tutorial, we’ll show you how to launch Django in production, using a fresh Ubuntu instance.

  • Recognizing a face using JavaScript

    When you look around for ways to identify faces, you come up with a host of solutions. Many are generic, some are interfaces to existing frameworks. For JavaScript, you have a few popular ones to choose from. You may even be confused by the array of solutions. Even for face recognition you have several options. Many, most actually, are for Python but you can also find a few in JavaScript. Frameworks that are aimed specifically at face recognition are face,js and face-recognition.js. The latter is considered obsolete though. The smallest, in terms of code, is pico.js With about 200 lines of code it can detect your own face using your webcam. The Pico code comes with a trained set already, which means that it will not improve while you are using it. For the curious, the pre-trained classification cascades are available on their GitHub repository. If you do want to train it yourself, there is a learn function you can use. This is a C program available on GitHub. This is a long process to complete making it an interesting exercise rather than something useful. One of the more interesting API’s is face-api.js, this one uses TensorFlow.js for the machine learning part.

  • Call for Speakers - Montréal-Python 75: Funky Urgency

    Montreal-Python will be hosting its last event before the summer break. This is also a special moment because it's our 75th event!

  • High quality automated docker hub push using Github, TravisCI and pyup for Python tool distributions

    Let's say you want to distribute a Python tool with docker using known good dependency versions ready to be used by end users... In this article you will see how to continuously keeping up to date a Docker Hub container with minimal managing effort (because I'm a lazy guy) using github, TravisCI and pyup.

  • PyCoder’s Weekly: Issue #372 (June 11, 2019)
  • Our Favorite PyCon 2019 Presentations

More in Tux Machines

today's howtos

Leftovers: IBM, Mozilla and SUSE

  • What Is Razee, and Why IBM Open Sourced It
    The continuous delivery software that's been doing the heavy lifting on IBM's global Kubernetes platform is now open source.
  • View Source 5 comes to Amsterdam
    Mozilla’s View Source Conference is back for a fifth year, this time in Amsterdam, September 30 – October 1, 2019. Tickets are available now.
  • SUSE & SAP “A 20 years of Partnership”
  • SUSE on the IO500 List for HPC Storage
    If you haven’t been hanging around the Ceph world for a bit, you may not realize that Ceph was originally intended to provide a distributed file-system to service HPC clusters.  While this was the original intent, Ceph has taken a round-a-bout path to relevance in this space, especially given that we are only supporting multiple active MDS servers since the Luminous release.  The result is that we are, only now, really starting to see adoption in the HPC space, and mostly for the second tier storage needs. Enter, the science project.  Given an all-flash environment on SATA SSDS with a fast storage pool on Intel Optane for the metadata, would it be possible to provide a reasonable storage environment for HPC clusters?

GAFAM and 'Cloud': Google, Microsoft, Amazon and GitHub

  • Daniel Stenberg: Google to reimplement curl in libcrurl
    By throwing a lot of man power on it. As the primary author and developer of the libcurl API and the libcurl code, I assume that Cronet works quite differently than libcurl so there’s going to be quite a lot of wrestling of data and code flow to make this API work on that code. The libcurl API is also very versatile and is an API that has developed over a period of almost 20 years so there’s a lot of functionality, a lot of options and a lot of subtle behavior that may or may not be easy or straight forward to mimic. The initial commit imported the headers and examples from the curl 7.65.1 release.
  • Microsoft, you should look away now: Google's cloud second only to AWS in dev survey [Ed: Longtime Microsoft booster Tim Anderson  on Azure being a failure after so many entryism attempts and underhanded tactics]
    Coders use Google Cloud Platform (GCP) more than Microsoft Azure, though Amazon Web Services (AWS) has a comfortable lead, according to a Developer Ecosystem survey conducted by tools vendor JetBrains. Developer usage is 67 per cent AWS versus 28 per cent GCP and 21 per cent Azure, according to the new survey. Unfortunately, the question was posed in a different way in the 2018 survey, adding on-premises into the mix, but last year Azure and GCP had equal share after AWS. The survey had 19,000 participants invited via "Twitter ads, Facebook ads, Google Adwords and JetBrains' own communication channels," the tools vendor said, though "only the responses of 6,993 respondents were included in the report." Responses were removed to reduce bias, yet it warned "some bias may be present as JetBrains users may have been more willing on average to compete the survey".
  • Get your coat, you've pulled a Pull Panda: GitHub goes home with code collab specialists [Ed: Notice how Microsoft only takes GitHub in more of a proprietary software direction. That says a lot – they have plans and they’re really detrimental to FOSS]

Kernel: Linux Changes, Certifications, Graphics, PCI Express 6.0 and Bug

  • PowerCap/RAPL Code To Support Icelake Desktop / X / Xeon D With Linux 5.3
    While as of Linux 5.2 the support for Intel's Icelake CPUs appear production ready with all of the bits in place from new IDs to the much enhanced "Gen 11" graphics, there are a few stragglers of items to land with the upcoming Linux 5.3 merge window though could be back-ported to current series. Fortunately, we haven't found anything major to be missing. One of the latest bits of Icelake Linux support is handling of these next-generation processors within the PowerCap / RAPL (Running Average Power Limit) driver code. In particular, the desktop/workstation Icelake parts. This is the code for reading the estimated CPU package power consumption based on hardware performance counters and the ability to artificially limit the power draw of the processor via software.
  • Six Niche Linux Certifications
  • AMD Navi GPU stack bares all in Linux graphics driver update
    Eight Navi GPU variants have been spotted in Linux driver code. AMD’s next-gen RDNA graphics chips are set for launch on July 7, 2019 within the RX 5700 XT and RX 5700, but the red team has plenty of silicon in store for a range of applications. Including console, laptops, desktop, and mobile phones. The GPU codenames were spotted within Linux display drivers after the additional code was submitted and signed off by two AMD employees. The code adds support for Display Core Next, or DCN2, which “is the display block for Navi10.” Each entry following adds the necessary ASIC IDs for each Navi chip in the stack, starting with Navi 10 and down to Navi 21 LITE.
  • Nouveau Driver Picking Up NVIDIA TU116 GPU Support For Linux 5.3
    Building off the initial Turing mode-setting bits that were in place since Linux 5.0 and have continued stepping along to support newer variants on successive kernel releases, the Linux 5.3 kernel is slated to add support for the TU116 graphics processor.
  • PCI-SIG® Announces Upcoming PCI Express® 6.0 Specification to Reach 64 GT/s
  • PCI Express 6.0 Announced With 4-Times The Bandwidth Of PCIe 4.0
    With the increasing demand for bandwidth across a wide range of devices used in consumer and enterprise domains, PCI Express, the high-speed serial computer expansion bus standard has also evolved over the years. PCI Special Interest Group, a body that sets standards for PCIe, has announced PCI Express 6 that promises four times the bandwidth offered by PCIe 4.0 and twice of PCIe 5.0.
  • PCI Express 6.0 Announced For Release In 2021 With 64 GT/s Transfer Rates
    While PCI Express 4.0 up to this point has only been found in a few systems like Talos' POWER9 platforms and coming soon with the new AMD graphics cards and chipsets, the PCI SIG today announced PCI Express 6.0. PCI Express 5.0 was only announced last month with 32GT/s transfer rates while already the PCI SIG announced PCI Express 6.0.
  • Netflix researcher spots TCP SACK flaws in Linux and FreeBSD
  • TCP SACK Panic Flaw Could Compromise Production Linux Machines