Language Selection

English French German Italian Portuguese Spanish

Programming Leftovers

Filed under
Development
  • DigitalOcean's Hacktoberfest is Hurting Open Source

    For the last couple of years, DigitalOcean has run Hacktoberfest, which purports to “support open source” by giving free t-shirts to people who send pull requests to open source repositories.

    In reality, Hacktoberfest is a corporate-sponsored distributed denial of service attack against the open source maintainer community.

    So far today, on a single repository, myself and fellow maintainers have closed 11 spam pull requests. Each of these generates notifications, often email, to the 485 watchers of the repository. And each of them requires maintainer time to visit the pull request page, evaluate its spamminess, close it, tag it as spam, lock the thread to prevent further spam comments, and then report the spammer to GitHub in the hopes of stopping their time-wasting rampage.

    The rate of spam pull requests is, at this time, around four per hour. And it’s not even October yet in my timezone.

  • [llvm-dev] [RFC] Backend for Motorola 6800 series CPU (M68k)

    We would like to contribute our supports for Motorola 68000 series CPU (also known as M68k or M680x0) into LLVM. And we want to hear feedbacks from you

    Here is some background for M68k: Motorola 68000 series CPU was one of the most popular CPUs used by personal computers in the ‘80, including some of the earliest Apple Macintosh. Fast-forwarding to modern days, M68k is still popular among retrocomputing communities - a bunch of people doing cool stuff, mostly porting modern software and systems, on old computers. For example, Planet m68k (http://m68k.info/ <http://m68k.info/>) is a portal and a bulletin board for many communities that focus on specific M68k computer models, Amiga, Atari, Mac68k to name a few, to share their news. Major operating systems like Debian [1] (Adrian in the CC list can back me up on the Debian part) and NetBSD [2] also support M68k. Long story short, there is a big community and a huge amount of developers in this ecosystem.

    Some of you might remember that LLVM backend for M68k has been brought up in the mailing list sever times. The latest one was in 2018 [3]. Though those attempts never went through, we learned precious lessons: It’s important to show who’s behind this backend, how sustainable they are, and how we can make these changes easy to review.

    As I illustrated earlier, majorities of the participants in the M68k community are hobbyists and non-profit groups. So do the people behind this backend: Currently there are three core members (CC’ed): Adrian, Artyom, and me. All of us participate in this project as individual contributors. I know the fact that we’re not supported (financially) by any institution or organization will put us in a lower hand when it comes to reliability. However, the quality of the backend has improved quite a lot since the last discussion. We’ve also settled down the code owner / primary maintainer. Not to mention we’ve been working closely with the rest of the M68k community to help us improve the testing. On the financial side, we’re trying to open up a donation campaign (e.g. Patreon). Though that involves many other practical issues so we’re still discussing that. LLVM is an open and inclusive community accepting contributions from talented people all over the world, regardless of their backgrounds. I believe this virtue can still be seen in the support of hardware backends, where each of the targets is judged by its code quality, maintenance, and user base. Rather than which company supports it.

  • Developers Try Again To Upstream Motorola 68000 Series Support In LLVM

    Hobbyist developers are trying once again to get a Motorola 68000 back-end merged into the upstream LLVM compiler. Yes, the M68k processors that are some 30+ years old.

    The Motorola 68000 series processors have been around since the 80's thanks to the likes of the early Apple Macintosh computers. Fast forward to 2020, the Motorola 68000 is still a popular target for vintage computer enthusiasts and hobbyists. Community developers have worked on improving the Linux kernel support for M68k hardware like early Apple Powerbooks as recently as a few years ago and the compiler support is a continued target.

    [...]

    We'll see how this attempt pans out over the weeks ahead if LLVM could finally see a mainline Motorola 68000 series back-end in 2020/2021.

  • Knurling-rs changelog #2

    This is the second weekly changelog for Knurling-rs, our push to sustainably build better tooling for developing and debugging Rust software for embedded systems. Knurling-rs includes a suite of tools that make it easier to develop, log, debug, and test your embedded Rust libraries and applications!

  • Announcing the Portable SIMD Project Group

    We're announcing the start of the Portable SIMD Project Group within the Libs team. This group is dedicated to making a portable SIMD API available to stable Rust users.

  • This Week in Rust 358
  • A look at the main differences of Bourne shell vs. Bash

    Most Linux admins are hard-pressed to avoid the terminal window. It's almost as though it's in your blood to automatically use commands. And when you do, you usually work with Bourne Again Shell, also known as Bash.

    But what is a shell? It is a program that accepts input from a keyboard and hands it off to the OS. As you type commands, the shell interprets them such that the OS can understand them.

  • Logging in Python – Your One Stop Guide

    Logging is a crucial step to be performed by a programmer during software development. It helps developers to track events happening during the execution of a program, which can be helpful for the future debugging process. If you are a new learner or working on a new project, it is a good practice to use logging for tracking the code flow and for solving errors.

  • Python Monthly September 2020

    Being a Python developer is a fantastic career option. Python is now the most popular language with lots of growing job demand (especially in the fields of Web, Data Science and Machine Learning). You have many job opportunities, you can work around the world, and you get to solve hard problems. One thing that is hard, however, is staying up to date with the constantly evolving ecosystem. You want to be a top-performing python developer, coder, programmer, software developer, but you don’t have time to select from hundreds of articles, videos and podcasts each day.

  • Checking for True or False

    Using is is around 60% slower than if variable (17.4/10.9≈1.596), but using == is 120% slower (24.9/10.9≈2.284)! It doesn’t matter if the variable is actually True or False - the differences in performance are similar (if the variable is True, all three scenarios will be slightly slower).

  • Django bugfix release: 3.1.2

    The release package and checksums are available from our downloads page, as well as from the Python Package Index. The PGP key ID used for this release is Mariusz Felisiak: 2EF56372BA48CD1B.

  • The Perl Ambassador: Damian Conway

    This month I interview Damian Conway, one of the Guardians of Perl. Damian is computer scientist and excellent communicator—his presentations and courses are widely popular around the world. He was the Adjunct Associate Professor in the Faculty of Information Technology at Melbourne’s Monash University between 2001 and 2010.

    It was an honour to interview my idol. I enjoyed talking to him and I am sure you would have many “aha” moments. For example, Raku’s built-in grammar construct is inspired by the work of Damian’s Parse::RecDescent.

  • Monthly Report - September

    Well, ever since I decided to go slow on submitting Pull Request, I find it hard to find anything simple and easy to work with. Another reason, I don't spend much time review latest upload on CPAN. Earlier, I would constantly watch every upload on CPAN and find anything needed helping hand.

    Most of my spare time these days dedicated to "The Weekly Challenge", I rarely find time to review any CPAN module. Having said, I still manage to submit just few to keep the continuity. I struggle to even get 2-digits number each month. Last month, I could only submit 6 Pull Request, at least it is better than August.

  • Searching Internet RFCs

    During the quarantine I was able to find the good side of the home confination: I hadn’t enough time to read a book due to school’s tests, but for my luck, I had enough time for reading one or two Request For Comments (RFC) documents.

    Since my first days studying computer security, the concept of “protocol” fascinated me. Maybe for their enormous diffusion in almost every computer system, our daily lives heavily depends from these processes. As I say “trust on machines but don’t trust humans”. The RFC approach reminds the open source philosophy, which has the same objective (give everyone the opportunity to learn new things through sharing) and the same propagation channel: the internet.

    I find it too hard to search for these documents on the IETF website, so I made a fast and efficient script that permits me to download RFCs through a keyword and lets me decide which ones to read and which ones to ignore.

  • Stupid DATA Tricks

    I’ve previously written about Stupid Open Tricks, so know it’s time for some stupid DATA tricks. You probably already know that you can “embed” a file inside a Perl program then read it from the DATA filehandle. David Farrell wrote about this in Perl tokens you should know and he’s the one who reminded me about the curiousity that I’ll demonstrate here.

  • Is Apache Tomcat the right Java application server for you?

    Developers in search of a Java application server have no shortage of options to consider. But before any enterprise selects and ultimately adopts a Java application server for development and deployment, there are multiple variables that need to be considered.

    Development teams will need to know what exactly the application server will be used for in deployment. Is the main goal to act as a basic file server? And if that's the case, what sorts of file formats will be used the most?

    Let's compare Apache Tomcat with other servers on the market and examine which one will make the most sense for your situation.

More in Tux Machines

Septor 2020.5

Tor Browser is fully installed (10.0.2) System upgrade from Debian Buster repos as of October 21, 2020 Update Linux Kernel to 5.9.0-1 Update Thunderbird to 78.3.1-2 Update Tor to 0.4.4.5 Update Youtube-dl to 2020.09.20 Read more

Incremental backup with Butterfly Backup

This article explains how to make incremental or differential backups, with a catalog available to restore (or export) at the point you want, with Butterfly Backup. Read more

Regressions in GNU/Linux Evolution

  • When "progress" is backwards

    Lately I see many developments in the linux FOSS world that sell themselves as progress, but are actually hugely annoying and counter-productive. Counter-productive to a point where they actually cause major regressions, costs, and as in the case of GTK+3 ruin user experience and the possibility that we'll ever enjoy "The year of the Linux desktop". [...] We live in an era where in the FOSS world one constantly has to relearn things, switch to new, supposedly "better", but more bloated solutions, and is generally left with the impression that someone is pulling the rug from below one's feet. Many of the key changes in this area have been rammed through by a small set of decision makers, often closely related to Red Hat/Gnome/freedesktop.org. We're buying this "progress" at a high cost, and one can't avoid asking oneself whether there's more to the story than meets the eye. Never forget, Red Hat and Microsoft (TM) are partners and might even have the same shareholders.

  • When "progress" is backwards

Graphics: Vulkan, Intel and AMD

  • NVIDIA Ships Vulkan Driver Beta With Fragment Shading Rate Control - Phoronix

    This week's Vulkan 1.2.158 spec release brought the fragment shading rate extension to control the rate at which fragments are shaded on a per-draw, per-primitive, or per-region basis. This can be useful similar to OpenGL and Direct3D support for helping to allow different, less important areas of the screen be shaded less than areas requiring greater detail/focus. NVIDIA on Tuesday released the 455.26.02 Linux driver (and 457.00 version for Windows) that adds this fragment shading rate extension.

  • Intel Begins Adding Alder Lake Graphics Support To Their Linux Driver - Phoronix

    Intel has begun adding support for Alderlake-S to their open-source Linux kernel graphics driver. An initial set of 18 patches amounting to just around 300 lines of new kernel code was sent out today for beginning the hardware enablement work on Alderlake-S from the graphics side. Yes, it's only a few hundred lines of new driver code due to Alder Lake leveraging the existing Gen12/Tigerlake support. The Alder Lake driver patches similarly re-use some of the same workarounds and changes as set for the 14nm Rocket Lake processors with Gen12 graphics coming out in Q1.

  • AMD Linux Driver Preparing For A Navi "Blockchain" Graphics Card - Phoronix

    While all eyes are on the AMD Radeon RX 6000 "Big Navi" graphics cards set to be announced next week, it also looks like AMD is preparing for a Navi 1x "Blockchain" graphics card offering given the latest work in their open-source Linux driver. Patches posted today provide support for a new Navi graphics card referred to as the "navi10 blockchain SKU." The Navi 10 part has a device ID of 0x731E. From the AMDGPU Linux kernel driver perspective, the only difference from the existing Navi 10 GPU support is these patches disable the Display Core Next (DCN) and Video Core Next (VCN) support with this new SKU not having any display support.