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

What are AMD64, I386, and PPC64EL?

This explanation article is for beginners in The Free Software and GNU/Linux Community. You will certainly meet terms like amd64, i386, and ppc64el as choices when getting copy of a software or an operating system. In short, these terms refer to choices of computer's CPU products (also known as processors) which would determine choices of software and operating systems that you can run on it. In practice, knowing these terms may benefit you to select correctly software and operating systems for your computer. Now let's start learning! Most PCs and laptops today are amd64. Most PCs and laptops produced in 1990's and before 2011 are i386. Several latest technology computers aimed for the future and could be replacing amd64 and i386 produced as ppc64el. For example, PCs with Intel Pentium 4 or AMD Althlon Classic are all i386 (also known as PC 32-bit) while today PCs with Intel Core 2 Duo and AMD Phenom onwards are all amd64 (also known as PC 64-bit). Read more

Security Leftovers

today's howtos

  • Here's How To Install Pop!_OS's COSMIC On Manjaro

    A lot of people in the Linux community love Pop!_OS mainly because of its altered GNOME (now COSMIC) desktop environment. One of the best features is Auto-tiling, which makes you focus less on moving your mouse and more on getting work done using keyboard shortcuts. But there are people who like COSMIC but not Ubuntu (Since Pop!_OS is Ubuntu-based), or some tend to like Arch more because of the package management. One of the beauties of GNU/Linux and open source is the teams of different OSes working together to bring stuff that people like in one or the other distribution. Thanks to the integration of COSMIC with GNOME 40 in Pop!_OS 21.10, COSMIC has also been ported to Manjaro.

  • 8 Commands to Check Linux CPU Usage - ByteXD

    Sometimes, due to the high utilization of resources, system applications get slow or unresponsive. All the programs must share the finite resources of the CPU, and some processes use more of it than others. In this case, the rest of the pending requests must wait until the CPU is free or available for processing. As a Linux system administrator, you can find out how much CPU is consumed by each process.

  • How To Install Django on AlmaLinux 8 - idroot

    In this tutorial, we will show you how to install Django on AlmaLinux 8. For those of you who didn’t know, Django is a free and open-source full-featured Python web framework used to develop dynamic frameworks and applications. Django’s primary goals are simplicity, re-usability, rapid development, and scalability. 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 through the step-by-step installation of the Django web framework on an AlmaLinux 8. You can follow the same instructions for CentOS and Rocky Linux.

  • How to Install a C Compiler on Linux

    Whether you're coding in C or building a Linux program from the source, you'll have to install a C compiler. The two major ones on Linux are the venerable GCC and the newer Clang.

  • How to install lighttpd web server on Debian 11 Bullseye or Ubuntu 20.04

    lighttpd (lighty) is a web server that requires far fewer resources than Apache, for example, and is therefore particularly suitable for very large loads or very weak systems. It was developed by Jan Kneschke and can be expanded with modules. FastCGI, for example, enables PHP code to be executed. SCGI supplements lighty with Ruby or Python.

  • How to install lighttpd web server on Debian 11 Bullseye or Ubuntu 20.04

    lighttpd (lighty) is a web server that requires far fewer resources than Apache, for example, and is therefore particularly suitable for very large loads or very weak systems. It was developed by Jan Kneschke and can be expanded with modules. FastCGI, for example, enables PHP code to be executed. SCGI supplements lighty with Ruby or Python.

  • Master the Vim Text Editor on Linux Using Vimtutor

    Vim is one of the most powerful command-line text editors for Linux and other Unix-based operating systems. It has grown largely in terms of popularity, to an extent that a lot of Linux distributions ship it as the default terminal-based text editor. As powerful as it may be, Vim is also infamous for not being the easiest or the most intuitive text editor for a beginner to come across. Vimtutor is a command-line application that will help you master the ins and outs of this editor in an interactive fashion.

Ubuntu 22.04 LTS (Jammy Jellyfish) Daily Builds Are Now Available for Download

Ubuntu developer Steve Langasek was the one to announce earlier this week that the upcoming Ubuntu 22.04 LTS (Jammy Jellyfish) operating system is officially open for development, with Python 3.10 supported by default. And now, early adopters and application developers interested in test driving the upcoming release can now download the daily builds for Jammy Jellyfish, which you can grab from Ubuntu’s main download servers. Read more