Programming Leftovers
-
Excellent Free Tutorials to Learn GDScript - LinuxLinks
GDScript is Godot’s built-in language for scripting and interacting with nodes. It evolved as a custom scripting language to be used with the Godot computer (and mobile device) Game engine, and it also supports Virtual Reality.
GDScript is easy to learn with a syntax similar to Python where the code is indented rather than using lots of brackets and semicolons.
Unlike Python, GDScript is optimized for Godot’s scene-based architecture and can specify strict typing of variables.
-
Dialogs in Qt Quick
The Qt Quick Dialogs module has undergone a lot of changes in the last two years. Its purpose has always been to make it simple for developers to add dialogs to their applications. Native dialogs should be used by default on platforms that have a native dialog for a specific dialog type, and if the system can't provide one, then the module should fall back to a suitable dialog that's implemented in Qt.
-
Getting Started With Qt for Android
Ready to try out Qt’s Android toolchain and leverage some of those fresh Qt 6 modules in your Android app? Or perhaps you’re already using the Qt API but want to see what Qt Creator can do?
-
Qt 6.4 Released
Today we have released Qt 6.4! The latest version of Qt introduces support for a new platform, brings lots of new functionality - some as technology previews (TP) - and plenty of improvements under the hood. Let's start with the biggest highlight.
-
C vs C++ vs C# | The Key Differences To Know
-
The perils of pinning [LWN.net]
Parts of the Rust language may look familiar to C programmers, but the two languages differ in fundamental ways. One difference that turns out to be problematic for kernel programming is the stability of data in memory — or the lack thereof. A challenging session at the 2022 Kangrejos conference wrestled with ways to deal with objects that should not be moved behind the programmer's back.
C programmers take full responsibility for the allocation of memory and the placement of data structures in that memory. Rust, instead, takes most of that work — and the associated control — out of the programmer's hands. There are a number of interesting behaviors that result from this control, one of which being that the Rust compiler will happily move objects in memory whenever that seems like the thing to do. Since the compiler knows where the references to an object are, it can move that object safely — most of the time.
-
SMB3 UNIX Extensions - David Mulder
One of the primary issues preventing the last few holdouts from migrating away from SMB1 is a lack of Posix/UNIX extensions in SMB2+. SMB1 is definitely going away though in the near future.
To compensate, the community has been hard at work creating a new UNIX extension standard for SMB3. These have been in the works since as early as 2010, but have recently seen some renewed interest in completion. The Linux ksmbd server and cifs client both support SMB3 UNIX extensions. Several third party servers also offer support. Support from Samba server is nearing completion.
-
syslog-ng 101: how to get started with learning syslog-ng?
How to get started with syslog-ng? There are two main resources: the syslog-ng documentation and the syslog-ng blogs. You should learn the concepts and basics from the documentation. The blogs document use cases and you can use the docs as a reference.
-
The first 300 setopts | daniel.haxx.se
Already when the first version of curl shipped in 1998, I had plans and ideas in the back of my head to turn it to a library at some point. I had already before worked on providing libraries with APIs for applications and I appreciated their powers.
During the summer of 2000 I refactored the curl internals so that it would become a library with an exposed API that we could provide to the world and then let applications get the same file transfer capabilities that the curl command line tool has.
[...]
It took four years to double the amount of options and ten years alter the official count was at 180.
Today, in September 2022, we recently merged code that made the setopt counter reach 300 and this is the number of options that will ship in the pending 7.86.0 release. After 22 years we’ve added 241 new options, almost 11 new options per year on average.
Every new option comes with a cost: more code, more tests, more documentation and an even larger forest in which users can get lost when they try to figure out how to tell libcurl to behave the way the want it. The benefit of course being that libcurl gets one more capability and new chances to fulfill users’ wishes. New options certainly are both a blessing and a curse.
-
Announcing the Rust Style Team
Rust has a standardized style, and an implementation of that style in the rustfmt tool. The standardized style helps Rust developers feel comfortable and at home in many different projects, and the tooling support from rustfmt makes it easy to maintain and to incorporate in continuous integration. rustfmt also provides many options to customize the style, but the style guide defines the defaults, and most projects use those defaults.
The standard Rust style resulted from development and discussion within the Rust style team, between 2016 and 2018. After publishing the style guide, the Rust style team concluded its active work, by design.