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

digiKam 7.7.0 is released

After three months of active maintenance and another bug triage, the digiKam team is proud to present version 7.7.0 of its open source digital photo manager. See below the list of most important features coming with this release. Read more

Dilution and Misuse of the "Linux" Brand

Samsung, Red Hat to Work on Linux Drivers for Future Tech

The metaverse is expected to uproot system design as we know it, and Samsung is one of many hardware vendors re-imagining data center infrastructure in preparation for a parallel 3D world. Samsung is working on new memory technologies that provide faster bandwidth inside hardware for data to travel between CPUs, storage and other computing resources. The company also announced it was partnering with Red Hat to ensure these technologies have Linux compatibility. Read more

today's howtos

  • How to install go1.19beta on Ubuntu 22.04 – NextGenTips

    In this tutorial, we are going to explore how to install go on Ubuntu 22.04 Golang is an open-source programming language that is easy to learn and use. It is built-in concurrency and has a robust standard library. It is reliable, builds fast, and efficient software that scales fast. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel-type systems enable flexible and modular program constructions. Go compiles quickly to machine code and has the convenience of garbage collection and the power of run-time reflection. In this guide, we are going to learn how to install golang 1.19beta on Ubuntu 22.04. Go 1.19beta1 is not yet released. There is so much work in progress with all the documentation.

  • molecule test: failed to connect to bus in systemd container - openQA bites

    Ansible Molecule is a project to help you test your ansible roles. I’m using molecule for automatically testing the ansible roles of geekoops.

  • How To Install MongoDB on AlmaLinux 9 - idroot

    In this tutorial, we will show you how to install MongoDB on AlmaLinux 9. For those of you who didn’t know, MongoDB is a high-performance, highly scalable document-oriented NoSQL database. Unlike in SQL databases where data is stored in rows and columns inside tables, in MongoDB, data is structured in JSON-like format inside records which are referred to as documents. The open-source attribute of MongoDB as a database software makes it an ideal candidate for almost any database-related project. This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you the step-by-step installation of the MongoDB NoSQL database on AlmaLinux 9. You can follow the same instructions for CentOS and Rocky Linux.

  • An introduction (and how-to) to Plugin Loader for the Steam Deck. - Invidious
  • Self-host a Ghost Blog With Traefik

    Ghost is a very popular open-source content management system. Started as an alternative to WordPress and it went on to become an alternative to Substack by focusing on membership and newsletter. The creators of Ghost offer managed Pro hosting but it may not fit everyone's budget. Alternatively, you can self-host it on your own cloud servers. On Linux handbook, we already have a guide on deploying Ghost with Docker in a reverse proxy setup. Instead of Ngnix reverse proxy, you can also use another software called Traefik with Docker. It is a popular open-source cloud-native application proxy, API Gateway, Edge-router, and more. I use Traefik to secure my websites using an SSL certificate obtained from Let's Encrypt. Once deployed, Traefik can automatically manage your certificates and their renewals. In this tutorial, I'll share the necessary steps for deploying a Ghost blog with Docker and Traefik.