Programming Leftovers
-
diziet | Rust needs #[throws]
Ok-wrapping as needed in today’s Rust is a significant distraction, because there are multiple ways to do it. They are all slightly awkward in different ways, so are least-bad in different situations. You must choose a way for every fallible function, and sometimes change a function from one pattern to another.
[...]
Ever since I read withoutboats’s 2020 article about fehler, I have been using it in most of my personal projects.
For Reasons I recently had a go at eliminating the dependency on fehler from Hippotat. So, I made a branch, deleted the dependency and imports, and started on the whack-a-mole with the compiler errors.
After about a half hour of this, I was starting to feel queasy.
After an hour I had decided that basically everything I was doing was making the code worse. And, bizarrely, I kept having to make individual decisons about what idiom to use in each place. I couldn’t face it any more.
After sleeping on the question I decided that Hippotat would be in Debian with fehler, or not at all. Happily the Debian Rust Team generously helped me out, so the answer is that fehler is now in Debian, so it’s fine.
For me this experience, of trying to convert Rust-with-#[throws] to Rust-without-#[throws] brought the Ok wrapping problem into sharp focus.
-
This Week in PSC (091)
-
Xojo Adds Support For Building Apps For Linux ARM 64
Xojo, Inc., developers of Xojo, a cross-platform application development environment for macOS, Windows, Linux, Web, Raspberry Pi, iOS and soon Android, today announced the immediate release of Xojo 2022 Release 4. This latest update adds 250+ improvements, including the ability to build applications for Linux ARM 64, as well as Linux Dark Mode support for Xojo. It also includes more than 100 bug fixes to the Integrated Development Environment (IDE) and Framework, increasing quality and reliability, and 18 new features.
-
GCC 13 to support Modula-2 • The Register
Incoming support for Modula-2 in GCC, and a new Gitlab repository for its descendant Oberon, shows that the Wirthian family of programming languages remains livelier than you might think.
Modula-2 is what Pascal inventor Niklaus Wirth did next. Modula-2 is the direct descendant of Pascal, aimed at more modular (the clue's right there in the name), and more parallel, programming. Part of the idea was to make it easier to break programs up into discrete chunks, so that they can be compiled, and run, separately.
-
Qt Design Studio 3.9 Released
The Material Browser was updated to represent the available textures alongside the materials. Adding and using textures is now easy and intuitive thanks to the new Texture Editor and the textures section in the Material Browser. Adding a light probe from a texture, as you can see in the screenshot, is just one context menu click away.
We will be updating the Content Library in upcoming releases of Qt Design Studio. Stay tuned.
-
Creating Controls from Figma Design
How to turn your Figma design into a working control set without any coding!
Here at Qt we are big fans of Figma. Their Design System approach comes the closest to the kind of development thinking required to build an full production application UI in Qt Design Studio. Because of this large conceptual overlap and the well defined API provided for the Figma files we can capture and convert much of the design process into QML via our Qt Bridge exporter plugin.
But until now there was a disconnect, an important missing piece of the puzzle, Controls.
Sure, you could design and export the visual parts of your Controls but in the end you would still have to somehow convert this design into a working control, usually replicating only part of the functionality that Qt Quick Controls has available as standard.