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

Android Leftovers

System76 Thelio Major Proves To Be A Major Player For Linux Workstations

For the past two months we have been testing the System76 Thelio Major and it's been working out extremely well with performance and reliability. The Thelio Major offering with options for Intel Core X-Series or AMD Ryzen Threadripper and resides between their standard Thelio desktop with Ryzen/Core CPUs and the Thelio Massive that sports dual Intel Xeon CPUs. The Thelio Major is the platform we have been using for all of our AMD Ryzen Threadripper 3990X testing and it's been working out great. The Thelio Major besides having Threadripper and Core X-Series CPU options can be configured with up to 256GB of RAM, up to two GPUs, and up to 46TB of storage for really yielding incredibly powerful Linux workstation performance potential. Read more

Deprecating support for the Linux kernel

Running on the Hurd was always a goal for Guix, and supporting multiple kernels is a huge maintenance burden. As such it is expected that the upcoming Guix 1.1 release will be the last version featuring the Linux-Libre kernel. Future versions of Guix System will run exclusively on the Hurd, and we expect to remove Linux-Libre entirely by Guix 2.0. The Linux kernel will still be supported when using Guix on "foreign" distributions, but it will be on a best-effort basis. We hope that other distributions will follow suit and adopt the Hurd in order to increase security and freedom for their users. Read more Also: Guix deprecating support for the Linux kernel

Essential Guide: How to Upgrade to Ubuntu 20.04 (Beta) Right Now

Well, in this guide I show you the steps required to upgrade to Ubuntu 20.04 from Ubuntu 18.04 or Ubuntu 19.10 right now, , nice and early, ahead of the final release. You do not need to download an .iso, fuss around with a USB thumb drive, or lose any of your files — you can upgrade directly with a half-way decent internet connection. Just keep in mind that (at the time you read this) the final stable release of the Focal Fossa is not yet available, only a beta quality candidate is. Read more