Language Selection

English French German Italian Portuguese Spanish

Programming Leftovers

Filed under
Development
  • welcome to heck: lessons learned from Ikona writing rust bindings to C++ the hard way

    rust is quite a neat language, isn't it? gigantic library ecosystem, memory safety, tons of developer-friendly tools in it. for Ikona, I decided to utilise this language, and instead of relying on binding generators that hide half the magic away from you, I wrote all bindings by hand.

  • New package RcppDate 0.0.1 now on CRAN!

    A new small package with a new C++ header library is now on CRAN. It brings the date library by Howard Hinnant to R. This library has been in pretty wide-spread use for a while now, and adds to C++11/C++14/C++17 what will be (with minor modifications) the ‘date’ library in C++20. I had been aware of it for a while, but not needed thanks to CCTZ library out of Google and our RcppCCTZ package. And like CCTZ, it builds upon std::chron adding a whole lot of functionality and useability enhancement. But a some upcoming (and quite exciting!) changes in nanotime required it, I had a reason to set about packaging it as RcppDate. And after a few days of gestation and review it is now available via CRAN.https://www.kdab.com/debugging-profiling-qt-3d-apps/

  • Debugging and Profiling Qt 3D applications

    Qt 3D, being a retained mode high level graphic API abstraction, tries to hide most of the details involved in rendering the data provided by applications. It makes a lot of decisions and operations in the background in order to get pixels on the screen. But, because Qt 3D also has very rich API, developers can have a lot of control on the rendering by manipulating the scene graph and, more importantly, the frame graph. It is however sometimes difficult to understand how various operations affect performance.

  • Second Tuesday of each month and a BASHing data century

    My wife has a lunchtime meeting on the second Tuesday of each month, so naturally I thought about command-line ways to get a list of the meeting dates for a calendar year (with Priscilla's help; see below).

  • Bash Shell Expansions: Brace Expansion, Parameter Expansion and more

    In this article we will cover all the basic features of Bash Shell expansion. Some of the most complex and interesting expansions are the Brace Expansion and Parameter Expansion which have many features and options which are powerful but only mastered over time by BASH programmers and linux devops folks. Word Splitting is also quite interesting and sometime overlooked. Filename, Arithmetic Expansion and Variable substitution are well known. We will cover numerous topics and show examples of the command and most useful syntaxes for each syntax. So let’s get started.

  • How and why to properly write copyright statements in your code

    This blog post was not easy to write as it started as a very simple thing intended for developers, but later, when I was digging around, it turned out that there is no good single resource online on copyright statements. So I decided to take a stab at writing one.

    I tried to strike a good balance between 1) keeping it short and to the point for developers who just want to know what to do, and 2) FOSS compliance officers and legal geeks who want to understand not just best practices, but also the reasons behind them.

    If you are extremely short on time, the TL;DR should give you the bare minimal instructions, but if you have just 2 minutes I would advise you to read the actual HowTo a bit lower below.

More in Tux Machines

today's howtos

Games: Debian-Based SteamOS, Lutris 0.5.5 and Critters for Sale

  • SteamOS Isn’t Dead, Just Sidelined; Valve Has Plans To Go Back To Their Linux-Based OS

    It’s big news for any PC gamer that has been frustrated with Microsoft’s erroneous-laden grip on operating systems for as far back as 1995; with it comes a monumental blow to privacy, not to mention mere control of your PC; updates have a tendency to start when they want to, new OS licenses must be purchased if you change hardware configurations, and applications that Microsoft doesn’t want you using are notoriously finicky to get working. Of course, users can simply switch over to Linux if they have had their fill of Microsoft. That switch comes with a slew of changes, however, and dropping reliable applications is a part of the grieving process that must take place when attempting to switch over your OS. Linux does host a plethora of open-source tools that can take the place of past applications; GIMP in lieu of Photoshop, for example. Yet the old applications are never truly replaced 1 for 1; it’s more of a bandage than anything else. Even with WINE and other techniques developed over the years to help users with Linux use Windows software, there are plenty of pitfalls and inconveniences that stymie any attempts to maintain Linux over Windows.

  • Lutris 0.5.5 Linux Game Manager Adds Humble Bundle Support, Initial VKD3D Support

    Lutris 0.5.5 is out today as the newest version of this Linux game manager to assist in installing both native and emulated games on Linux. Lutris continues to expand the scope of its "runners" for improving the Linux gaming experience. While the version 0.5.5 number may not seem like a big deal, there is actually a lot to find with the Lutris 0.5.5 update. Among the changes with Lutris 0.5.5 are: - Initial support for Humble Bundle integration.

  • Try out 'Critters for Sale', an exhilarating short horror visual novel with two episodes out now

    The absolutely exhilarating short horror visual novel Critters for Sale, which was originally released the first day of 2019, had its second chapter ("Goat") available for some time (Jun 2019, actually). Considering how such a hidden gem it is I was going to write about it, but Liam ended up doing it first in this GOL article. [...] It still maintains the same fever-dream like visuals, game mechanics and layout, consisting on a left HUD with some key information, a central upper section where all the images and animations are displayed, along with some point and click elements, and finally a center lower section where you see the dialogues and options to advance the story in the available directions. However, regarding the premise, now it features other characters and a different setting, but since this is one of those games where the less you know the better, I will only say that although we're only grasping the surface of the whole mystery, and while the tone of the story still keeps a personal scope, at this point it's clear that those responsible for the plot's main threat not only have enough power to influence the entire world, but also directly encompass the whole history of mankind...

Linux Kernel: Linux 5.7, Linux Security and Intel Gen9 Graphics On Linux

  • AMD Sensor Fusion Hub Laptop Driver Unlikely To Land For Linux 5.7

    While we were hoping to see the AMD Sensor Fusion Hub driver introduced in Linux 5.7 for improving the AMD Ryzen Linux laptop experience, that now looks quite unlikely. This driver has been sought after by AMD Linux laptop customers since 2018 for supporting the accelerometer, gyroscopic sensors, and other functionality on modern AMD laptops, similar to the Intel Sensor Hub. Patches for the AMD Sensor Fusion Hub (AMD-SFH) driver for Linux were posted in January and underwent a few rounds of review.

  • Amazon Engineer's Patch For Flushing L1 Cache On Context Switching Revved

    Earlier this month there was the proposal by a Linux kernel engineer for Amazon to flush the L1 data cache on context switches as another safeguard against the ever increasing CPU vulnerabilities. The motivation for flushing the L1d cache on context switches is driven as a result of Intel's data sampling vulnerabilities and this safeguard would be an opt-in feature for those paranoid about system security. Flushing the L1 cache would ensure the data is not being snooped or leaked following a context switch but with all of the cache flushing could significantly hamper the system performance.

  • HDR Display Support Coming To Some Intel Gen9 Graphics On Linux

    For the very common Intel "Gen9" graphics found on pretty much all current pre-Icelake hardware that is available through retail channels, high dynamic range (HDR) display support could soon be enabled under Linux for a subset of devices.

Android Leftovers