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

Arc Menu Extension Now Lets You Pin Your Fave Apps to the Sidebar

If you’re a fan of the Arc menu extension for GNOME Shell you may be interested to hear that an update is on the way. A new version of the traditional-style app menu, which is particularly popular with Dash to Panel users, is currently pending approval over the GNOME Extensions website. What does it bring? Personalisation. Arc Menu replaces the full-screen app launcher in GNOME Shell with a more traditional ‘start menu’ design. It’s searchable, has bookmarks for important folders, shortcuts for key system actions, and lets you manage your session. It also lets you browse installed applications based one their category. The whole of the left-hand sidebar is dedicated to this purpose. Read more

Audiocasts/Shows: mintCast, Test and Code, LINUX Unplugged

Security: Mozilla Patch for Firefox and Getting Started with OpenSSL

  • Zero-Day Flaw In Firefox Is Getting Exploited By Hackers; Update Now!
    Mozilla has issued a warning of a zero-day flaw in Firefox browser that is currently being exploited in the wild. But the good news is that an emergency patch has been released for the same so you should update your browser now! The vulnerability was discovered by Google’s Project Zero security team...
  • Security vulnerabilities fixed in Firefox 67.0.3 and Firefox ESR 60.7.1
    A type confusion vulnerability can occur when manipulating JavaScript objects due to issues in Array.pop. This can allow for an exploitable crash. We are aware of targeted attacks in the wild abusing this flaw.
  • Getting started with OpenSSL: Cryptography basics
    This article is the first of two on cryptography basics using OpenSSL, a production-grade library and toolkit popular on Linux and other systems. (To install the most recent version of OpenSSL, see here.) OpenSSL utilities are available at the command line, and programs can call functions from the OpenSSL libraries. The sample program for this article is in C, the source language for the OpenSSL libraries. The two articles in this series cover—collectively—cryptographic hashes, digital signatures, encryption and decryption, and digital certificates. You can find the code and command-line examples in a ZIP file from my website. Let’s start with a review of the SSL in the OpenSSL name.

Python: Leading, Developing for Android and New RCs

  • Leading in the Python community
    Naomi began her career in the Classics; she earned a PhD in Latin and Ancient Greek with a minor in Indo-European Linguistics, as she says, "several decades ago." While teaching Latin at a private school, she began tinkering with computers, learning to code and to take machines apart to do upgrades and repairs. She started working with open source software in 1995 with Yggdrasil Linux and helped launch the Fort Wayne, Indiana, Linux User Group.
  • What’s the Best Language for Android App Developers: Java or Python?
    Few things can be so divisive among developers as their choice of programming languages. Developers will promote one over the other, often touting their chosen language’s purity, speed, elegance, efficiency, power, portability, compatibility or any number of other features. Android app developers are no exception, with many developers divided between using Java or Python to develop their applications. Let’s look at these two languages and see which is best for Android app developers.
  • Python 3.7.4rc1 and 3.6.9rc1 are now available
    Python 3.7.4rc1 and 3.6.9rc1 are now available. 3.7.4rc1 is the release preview of the next maintenance release of Python 3.7, the latest feature release of Python. 3.6.9rc1 is the release preview of the first security-fix release of Python 3.6. Assuming no critical problems are found prior to 2019-06-28, no code changes are planned between these release candidates and the final releases. These release candidates are intended to give you the opportunity to test the new security and bug fixes in 3.7.4 and security fixes in 3.6.9. We strongly encourage you to test your projects and report issues found to bugs.python.org as soon as possible. Please keep in mind that these are preview releases and, thus, their use is not recommended for production environments.