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

The 5 Best Linux Distros for Laptops

Maybe you’ve just purchased a brand new laptop. Or maybe you have an older laptop sitting in your closet that you’d like to bring back to life. Either way, the best Linux distros for laptops are those that offer better driver support and can accommodate the performance offered by most laptops. People buy laptops for a specific purpose. That may be software development, creating graphic content, gaming, or office work. The Linux distros below are well suited to run on any laptop. Read more

Graphics: Freedreno Gallium3D and NVIDIA

  • Freedreno Gallium3D Lands MSAA Support For Qualcomm Adreno 600 Series
    While Qualcomm was busy hosting their Tech Summit this week in Hawaii, the independent open-source developers were pressing ahead with their reverse-engineered Qualcomm Adreno 3D graphics driver support. Rob Clark of Red Hat and Kristian Kristensen of Google landed their latest Freedreno Gallium3D driver improvements into Mesa 19.0. The most notable addition was multi-sample anti-aliasing support (MSAA) for the Adreno 600 series hardware. There is also now EXT_multisampled_render_to_texture support exposed by this Gallium3D driver. Besides that work there were also fixes and other changes.
  • NVIDIA Tegra X2 & Xavier Get HDMI Audio With Linux 4.21
    While it's not as exciting as if seeing full 3D open-source driver support, with the upcoming Linux 4.21 kernel are some mainline Tegra improvements that does include HDMI audio support for the X2 and Xavier SoCs. Thierry Reding of NVIDIA sent in the Tegra DRM driver updates this week for the upcoming Linux 4.21 cycle. He commented, "These changes contain a couple of minor fixes for host1x and the Falcon library in Tegra DRM. There are also a couple of missing pieces that finally enable support for host1x, VIC and display on Tegra194. I've also added a patch that enables audio over HDMI using the SOR which has been tested, and works, on both Tegra186 and Tegra194."

Powers of two, powers of Linux: 2048 at the command line

Hello and welcome to today's installment of the Linux command-line toys advent calendar. Every day, we look at a different toy for your terminal: it could be a game or any simple diversion that helps you have fun. Maybe you have seen various selections from our calendar before, but we hope there’s at least one new thing for everyone. Today's toy is a command-line version of one of my all-time favorite casual games, 2048 (which itself is a clone of another clone). Read more

More Radeon RX 590 Ubuntu Benchmarks - See How Your Linux GPU Performance Compares

Published on Friday was my Radeon RX 590 Linux benchmarks now that the kinks in the support for this latest Polaris refresh are worked out (at least in patch form). Here are some complementary data points with some of the OpenGL tests outside of the Steam games for those curious about the RX 590 performance in other workloads or wanting to see how your own GPU performance would compare to these results. The Radeon RX 590 continues running well with the patched Linux 4.20 kernel build (hopefully the last patch needed for the RX 590 will make it into 4.20 mainline soon) and in user-space was Mesa 19.0 from the Padoka PPA for this system running on Ubuntu 18.04 LTS. Read more