Language Selection

English French German Italian Portuguese Spanish

Programming: State of Rust Survey and Python Development

Filed under
Development
  • Launching the 2018 State of Rust Survey

    It’s that time again! Time for us to take a look at how the Rust project is doing, and what we should plan for the future. The Rust Community Team is pleased to announce our 2018 State of Rust Survey! Whether or not you use Rust today, we want to know your opinions. Your responses will help the project understand its strengths and weaknesses and establish development priorities for the future.

    Completing this survey should take about 10 to 15 minutes and is anonymous unless you choose to give us your contact information. We will be accepting submissions until September 8th, and we will write up our findings a month or so afterwards to blog.rust-lang.org. You can see last year’s results here.

  • Perform robust unit tests with PyHamcrest

    At the base of the testing pyramid are unit tests. Unit tests test one unit of code at a time—usually one function or method.

    Often, a single unit test is designed to test one particular flow through a function, or a specific branch choice. This enables easy mapping of a unit test that fails and the bug that made it fail.

    Ideally, unit tests use few or no external resources, isolating them and making them faster.

  • Adding None-aware operators to Python?

    A PEP that has been around for a while, without being either accepted or rejected, was reintroduced recently on the python-ideas mailing list. PEP 505 ("None-aware operators") would provide some syntactic sugar, in the form of new operators, to handle cases where variables might be the special None value. It is a feature that other languages support, but has generally raised concerns about being "un-Pythonic" over the years. At this point, though, the Python project still needs to figure out how it will be governed—and how PEPs can be accepted or rejected.

  • The Grumpy Editor's Python 3 experience

    LWN has been running articles for years to the effect that the end of Python 2 is nigh and that code should be ported to Python 3 immediately. So, naturally, one might expect that our own site code, written in Python, had been forward-ported long ago. Strangely enough, that didn't actually happen. It has mostly happened now, though. In the process of doing this work, your editor has noticed a few things that don't necessarily appear in the numerous porting guides circulating on the net.

    One often-heard excuse for delaying this work is that one or more dependencies have not yet been ported to Python 3. For almost everybody, that excuse ran out of steam some time ago; if a module has not been forward-ported by now, it probably never will be and other plans need to be made. In our case, the final dependency was the venerable Quixote web framework which, due to the much appreciated work of Neil Schemenauer, was forward-ported at the end of 2017. Quixote never really took the world by storm, but it makes the task of creating a code-backed site easy; we would have been sad to have to leave it behind.

    Much of the anxiety around moving to Python 3 is focused on how that language handles strings. The ability to work with Unicode was kind of bolted onto Python 2, but it was designed into Python 3 from the beginning. The result is a strict separation between the string type (str), which holds text as Unicode code points, and bytes, which contains arbitrary data — including text in a specific encoding. Python 2 made it easy to be lazy and ignore that distinction much of the time; Python 3 requires a constant awareness of which kind of data is being dealt with.

More in Tux Machines

Official TV HAT brings DVB-T2 streaming to the Raspberry Pi

The Raspberry Pi Foundation has launched a Raspberry Pi TV HAT with a Sony CXD2880 TV tuner for receiving DVB-T2 transmissions in Europe. The $21.50 board debuts a half-size HAT format. The computer that was born to empower technology education in the UK can now be rejiggered into an old-fashioned idiot box. The Raspberry Pi Foundation has produced an official HAT add-on board for the Raspberry Pi with a Digital Video Broadcast (DVB) tuner that receives terrestrial TV signals. The $21.50 Raspberry Pi TV HAT lets you stream DTV-T2 and DTV-T video in the UK and Europe. Read more

today's howtos

A Bright Spotlight on elementary OS 5.0

It's really bright. elementary OS 5.0 is the best release so far by mainly it's AppCenter uniqueness and richest of desktop features ever among the prior releases. The thing I love the most is the fact that elementary OS developers contribute greatly to our community which we didn't see anything like that before: they created a new software distribution platform similar to what we previously saw on Apple macOS, except it's for free/libre open source software, by allowing app developers to get paid directly by the users (with the so-called "pay-what-you-want" system). elementary OS is popular, as you may see on Distrowatch, so we can expect bright future for the health of its apps market (and hope more developers getting attracted to join). The desktop is really usable, the shortcut keys are visible (by pressing Super key) and customizable, its enhanced with parental control as well as Night Light, the apps are plenty and still growing in numbers, plus it's compatible with Ubuntu 18.04 so you can install thousands of packages if you wish right now. I can run it really smooth on an Intel 967 CPU with 4GB RAM (Intel Graphics). I hope it will be smoother on your systems. I wish this quick review of mine helps you a lot to get attracted to elementary OS and soon be a happy user. Read more

Graphics: Open-Source Qualcomm Graphics Support, Advances in Mesa Continuous Integration and Status Update for Virgl

  • Open-Source Qualcomm Graphics Support Continues Flourishing With Freedreno
    When it comes to open-source ARM graphics drivers, the Raspberry Pi / VC4 effort and Freedreno continue to be the two best examples of fully open-source graphics driver coverage including 3D support. Freedreno has been attracting contributions from Qualcomm / CodeAurora in what started out as solely a community reverse-engineered effort and with the latest-generation Adreno 600 series hardware the open-source support is in great shape.
  • Advances in Mesa continuous integration
    Continuous integration (CI) has become increasingly prevalent in open-source projects over the last few years. Intel has been active in building CI systems for graphics, both for the kernel side and for the Mesa-based user-space side of the equation. Mark Janes and Clayton Craft gave a presentation on Intel's Mesa CI system at the 2018 X.Org Developers Conference (XDC), which was held in A Coruña, Spain in late September. The Mesa CI system is one of the earliest successful CI initiatives in open source that he knows of, Janes said. It is a core component of Mesa development, especially at Intel. Like many companies, Intel is a large organization with an "old school development model". He likened it to a Roman army, where there are legions that are made up of smaller groups, each of which has procedures for all of its activities; tents are set up and arranged the same way each time. When Intel first encountered Mesa development, it was something of a shock. There were no architects in the group, but the Mesa developers were simply running right through the Intel army.
  • A status update for virgl
    At the 2018 X.Org Developers Conference, Elie Tournier gave an update on the state of the Virgil (or virgl) virtual 3D GPU for QEMU. He looked at the project's history along with what has happened with it over the last year or so. As is usual in a status update talk, he finished with some thoughts about future plans for virgl. For the last year, Tournier has been working on virgl for Collabora. Virgil began as a Dave Airlie side project four or five years ago. Tournier recommended a YouTube video of a 2014 linux.conf.au talk that Airlie gave as a good starting point. It is meant to be a way for guests running in a virtual machine (VM) to access the host GPU using OpenGL and other APIs. It is based on Gallium3D, because Airlie was familiar with that architecture, Tournier said. It has reached the stage where it is ready for use in products. A company is currently building a project using it; in addition, QEMU is using virgl to allow Windows guests to access the GPU. Overall, virgl is in pretty good shape, he said.