news
Programming Leftovers
-
Ivan Sagalaev ☛ Categorization with NLP
Since launching my categorization tool Shoppy I've had some fun analyzing collected data which resulted in considerable complication of the prediction model. And now I feel the urge to write a deeper dive into its inner workings. I'm not sure how useful it would be for anyone who isn't a part of the Grocery Categorization industry, but hopefully some NLP tricks could be at least interesting to any general practitioner.
Please note that I'm by no means an NLP expert! Part of the reason for writing this kind of posts is to try and nerd-snipe someone who knows more into sharing their expertise.
-
Kttnr ☛ C++ float-to-int conversion can be undefined behavior
Converting a float to an int in C++ is undefined behavior when the truncated float does not fit into the destination integer. C++ makes it easy to do this accidentally. Much code gets this wrong.
void foo(float f) { int i0 = f; int i1 = int(f); int i2 = static_cast<int>(f); }This code does not generate any warnings, not even with -Wall and -Wextra. -Wconversion only warns about the implicit conversion. Yet each of the three conversions is undefined behavior for some inputs.
-
Qt ☛ Qt Creator 20.0.1 released
We are happy to announce the release of Qt Creator 20.0.1!
The release improves tool detection and the default session directory for chats in the Hey Hi (AI) Agent Client Protocol integration, fixes various issues with CMake Presets as well as some crashes, and contains various other improvements.
-
Qt ☛ Python Mobile App Development: Bringing PySide6 on iOS
Python mobile app development reaches iOS in Qt 6.12. PySide6 developers can ship native iOS apps from the same codebase they already use for Android and desktop, with no Swift or Objective-C rewrite and no second codebase to keep in sync.
-
Matthew Lugg ☛ Inside Zig's Incremental Compilation
As a member of the Zig core team, one of the most impactful projects I’ve been involved with is the implementation of incremental compilation into the Zig compiler. This feature allows the compiler to detect which individual functions and declarations have changed since a project was last built, recompile only that code, and directly patch the resulting bytes into the output binary, making the rebuild extremely fast.
The Zig project has been working towards this feature for a long time, and over the last few release cycles, it has finally gone from a proof-of-concept quality feature to one which is viable for real-world projects and which most of the Zig core team makes daily use of.
-
Lambda MicroVMs: When Functions Aren’t Enough and EC2 Is Too Much
Picture this: you’re building a browser-based notebook where data analysts paste in Python, load a 3 GB dataframe, generate a few charts, then wander off to a meeting. Ninety minutes later they come back and expect their kernel, their variables, and their half-finished plot to still be sitting there.
-
Collabora ☛ Kraid is a now a real compiler
Kraid, the new compiler for the Panfrost driver stack, now passes all Vulkan CTS compute shader tests. This marks a major milestone, with work continuing on additional shader stages, code quality, and performance optimization.
-
Python
-
SQ Magazine ☛ Why Kids Should Learn Python Through Fun Games First
A child’s first experience of programming can shape how they think about coding for years. Present it as a wall of technical terms and punctuation, and many will decide it is not for them. Give them a clear challenge, an interesting character and the freedom to experiment, and the same subject can feel more like solving a mystery than completing a lesson.
That is one reason Python works well as an introduction to text-based coding. Its commands are relatively easy to read, children can see the results of their instructions quickly, and simple programs do not require pages of complicated setup.
-
Andrew Nesbitt ☛ Wheels, Bottles and Images
Wheels, Homebrew bottles and OCI images are the three big self-service binary distribution systems: the project publishes a compiled artifact and any machine fetches the one matching its platform, with no distro maintainer in between. conda, NuGet’s native assets, RubyGems platform gems and plain GitHub Releases do the same job in their own ecosystems. The three big ones share no specification: each was designed against its own stack. Simon’s trick works because a wheel is a checksummed archive selected by a platform tag, and that description also fits a bottle and an image. Immutable checksummed files are what CDNs serve cheaply and caches hold safely, and all three systems depend on both.
-
-
Java/Golang
-
Farid Zakaria ☛ Nix finally has a source-bootstrapped OpenJDK
javac is written in Java. HotSpot is C++, but the class library it needs is Java, and the compiler that compiles the class library is Java, and it runs on a JVM that needs a class library… and so on. This is a bootstrapping problem.
-