Language Selection

English French German Italian Portuguese Spanish

Programming Leftovers

Filed under
Development
  • Jamie McClelland: Fixing old PHP code

    I wrote a control panel in 2005 using PHP, without any framework. Who could have guessed it would still be in production now?

  • Steinar H. Gunderson: How to optimize anything

    Of course, most people stumble in step 1 (e.g. by making a benchmark that is non-representative, like PHP 8's infamous JIT that helped 3x on the benchmark, but at most 3–5% on real code). And step 3 is naturally where all the magic happens. The cheapest wins often come out of a surprising profile, and the best wins often come from taking a step up and optimizing at a higher level. The most satisfying ideas are those that simplify code, so that you end up with just running less stuff and having things look more natural. (The worst ideas come when you skip step 2, because you end up optimizing what you think takes time, which is rarely the stuff that actually does.)

  • SDL 2.0.16 Is On The Way With Better Wayland Support, Improved PipeWire Integration [Ed: Well, SDL or SDL2 will need to delete GitHub to be taken seriously again. Now they're pushing proprietary software of Microsoft, so it is, in effect, a trap for developers (by extension)]

    SDL 2.0.16 is being prepared for release as the successor to SDL 2.0.14. Particularly for Linux users this SDL 2.0.16 update is significant with some key enhancements for this library that is common to multi-platform games and part of the Steam runtime.

    Exciting us the most with SDL 2.0.16 is that the Wayland support is "greatly improved" and additionally there is support for audio input/output using Pipewire. The native PipeWire support is great now that Fedora Workstation and others are beginning to ship it by default as an alternative to the likes of PulseAudio. 2021 is certainly the year PipeWire is beginning to see some healthy adoption and ready to take on Linux audio/video stream management. Among other Wayland improvements with SDL 2.0.16 is support for client-side decorations.

  • Code for fun: Children learn engineering through camp games
  • Kythera AI gives indie devs free access to games engine

    Kythera AI has released its AI middleware as free open-source software (FOSS), in partnership with the Linux Foundation’s new Open3D game engine (O3DE).

    Previously only available to commercial clients, Kythera AI’s toolset is now packaged with O3DE, becoming the first middleware provider to make its advanced AI solution available to any developer at any level. To ensure fairness and continuity of Kythera AI’s development, there is royalty and upfront licensing available for commercial products over a certain threshold. Indie game developers will likely not hit this threshold and if they start making a lot of money from their project, they can pay a royalty fee.

    Kythera AI consists of a broad range of AI tools that have been produced with veteran developers. Tools include a behaviour tree system and solutions for navigation of the ground and sky, which aims to solve the more time-consuming challenges for developers. Independent studios, who might previously have been limited by budget and resources, will now be able to develop games with AI as complex and engaging as that in AAA titles.

    “We’re big fans of Kythera AI and their toolset, including behaviour trees, navigation, and automatic level markup,” says Lloyd Tullues, CTO of Silicon-Valley-backed game studio Carbonated Inc, who, like Kythera AI, are founder members of the Open 3D Foundation. “Knowing that Kythera will be available with O3DE from the start is super exciting: developers from all over the world will now be able to leverage the same tools we’ve relied upon to create absolutely amazing experiences for their players.”

    This comes as a big development in the Scottish gaming and tech sector, with a Scottish company playing a major role in an international collaboration of high-profile tech organisations.

    “We are delighted to see a case study showcased in Scotland’s AI Strategy involved directly in founding a potentially revolutionary group in the field of game design and simulation,” says Gillian Docherty OBE, Chair of the Scottish AI Alliance. “We’re proud to see a Scottish company with the growth potential of Kythera AI showing leadership in their sector on the global stage. This recent announcement of Kythera’s position as the default AI for the new Open 3D Engine will no doubt hasten the wider adoption across both gaming and other sectors.”

    Matthew Jack, CEO of Kythera AI, says: “It was an exciting moment when we chose to join the O3DE Foundation as founder members and to supply the AI solution for the project. We have spent a long time developing a comprehensive toolset for game designers and AI developers to work with, and the idea of so many creatives getting access to those tools, regardless of their background, is an amazing thought. We can’t wait to see what incredible games come out of the community as a result of this access.”

  • Jussi Pakkanen: Looking at building O3DE with Meson, part II

    After the first post, some more time was spent on building O3DE with Meson. This is the second and most likely last post on the subject. Currently the repository builds all of AzCore basic code and a notable chunk of its Qt code. Tests are not built and there are some caveats on the existing code, which will be discussed below. The rest of the conversion would most likely be just more of the same and would probably not provide all that much new things to tackle.

  • TWC: Punting to MJD and Showing Q&D Geometry

    I'm always doing other things and then Sunday comes and I start thinking, "How much time do I have before it's midnight in London?"

    When "The Perl Challenge" first started, I was happy to just ponder the problems. Then came the pandemic and I thought that I would use some of my then copious free time to contribute. Then time got not-so-copious. And more people started contributing to TWC, some people much more talented than me, it turns out.

    So I'll take a stab at things when I can and I'll still try to write a stand-alone script the way (I wish) I would at work, but my threatened laxness in writing things up will be more of a promise: Light banter to cast a veneer of confidence on the correctness of my results, anything else is extra.

  • Perl Weekly Challenge 123: Ugly Numbers and Square Points

    These are some answers to the Week 123 of the Perl Weekly Challenge organized by Mohammad S. Anwar.

  • How to Reverse a String in Python

    In Python, a string is a sequence of Unicode characters. Though Python supports numerous functions for string manipulation, it doesn’t have an inbuilt function or method explicitly designed to reverse the string.

  • Another version of Python to C++ Extension building Catalan Sequence

More in Tux Machines

Software: Matrix, Ktube, and Monero P2Pool

  • Chat Bubbles on Element and Several Matrix Apps

    This simple comparison wants to help everyone adopt alternative messaging technology, Matrix, with suitable user interface to them. We call Matrix Apps to instant messengers like Element, Fluffy, Nheko, Schildi and Spectral as they are created based upon the said technology. We will start by setting up criteria first that includes chat bubbles, then going through these messengers one by one, and you will see their pictures here along with a little comments from me. I hope you can pick up the messenger with UI you love the most from here.

  • Ktube Media Downloader lets you download YouTube videos easily on Linux

    I always like to tell people about how I have been using Linux as my primary operating system for over ten years. I love Linux, I understand it, it’s free and above all, it fits my workflow in a way Microsoft’s Windows (with all its goodness) probably never will. That also means I love and am a command-line ninja but I also know one thing, a lot of people out there fear and hate the command line.

  • Monero P2Pool V1.0 Is Released

    The latest version of P2Pool, a decentralized Monero mining pool has released. This is the first official release, signaling an invitation for more users to try out the new software.

Better Support & Performance For OpenACC Kernels Is Coming To GCC

While the GNU Compiler Collection has supported OpenACC for a few years now as this parallel programming standard popular with GPUs/accelerators, the current implementation has been found to be inadequate for many real-world HPC workloads leveraging OpenACC. Fortunately, Siemens has been working to improve GCC's OpenACC kernels support. GCC's existing OpenACC kernels construct has been found to be "unable to cope with many language constructs found in real HPC codes which generally leads to very bad performance." Fortunately, improvements are on the way and could potentially be mainlined in time for next year's GCC 12 stable release. Read more

Security Leftovers

  • Database containing 106m Thailand travelers' details leaked • The Register

    A database containing personal information on 106 million international travelers to Thailand was exposed to the public internet this year, a Brit biz claimed this week. Bob Diachenko, head of cybersecurity research at product-comparison website Comparitech, said the Elasticsearch data store contained visitors' full names, passport numbers, arrival dates, visa types, residency status, and more. It was indexed by search engine Censys on August 20, and spotted by Diachenko two days later. There were no credentials in the database, which is said to have held records dating back a decade. “There are many people who would prefer their travel history and residency status not be publicized, so for them there are obvious privacy issues,” wrote Comparitech editor Paul Bischoff on the company’s blog.

  • Break out your emergency change process and patch this ransomware-friendly bug ASAP, says VMware

    VMware has disclosed a critical bug in its flagship vSphere and vCenter products and urged users to drop everything and patch it. The virtualization giant also offered a workaround.

  • Reproducible Builds (diffoscope): diffoscope 185 released

    The diffoscope maintainers are pleased to announce the release of diffoscope version 185. This version includes the following changes:

    [ Mattia Rizzolo ]
    * Fix the autopkgtest in order to fix testing migration: the androguard
      Python module is not in the python3-androguard Debian package
    * Ignore a warning in the tests from the h5py package that doesn't concern
      diffoscope.
    
    [ Chris Lamb ]
    * Bump Standards-Version to 4.6.0.
    

GNOME 41 Released. This is What's New.

GNOME team announced the release of GNOME 41 with some exceptional changes and updates. We wrap up the release in this post. Read more