Programming Leftovers
-
E-ink Dev board to track Fetal Development
Partner is pregnant, ultrasound looked cool. Had an e-ink dev board collecting dust. So here we are. Pretty simple stuff, the board is an Adafruit MagTag. And all we needed to do was have a progress bar, some graphics, and some text. There are some useful guides to making a progress bar and graphics for this e-ink board HERE and HERE.
-
Get Dumber – Mike Blumenkrantz – Super. Good. Code.
Had one of those moments when you looked at some code, looked at the output of your program, and then exclaimed COMPUTER, WHY YOU SO DUMB?
Of course not.
Nobody uses the spoken word in the current year.
But you’ve definitely complained about how dumb your computer is on IRC/discord/etc.
And I’m here today to complain in a blog post.
My computer (compiler) is really fucking dumb.
-
Nibble Stew: PDF, text and fonts, a design by The Devil & Associates
PDF has a fairly straightforward model for rendering text. Basically you specify a font to use, define a transformation matrix if needed and specify the text string to render. The PDF renderer will then load the embedded font file, extract the curves needed for your letters and render them on canvas. And it works quite nicely.
Assuming you are using plain ASCII. Because 127 glyphs should be enough for everybody.
If, for some weirdo reason, you belong to that ~80% minority population of planet Earth whose native tongue uses characters beyond ASCII, you are not going to be in a happy place. The whole situation is nicely summarized in this Computerphile video.
-
Learning SDL v1.2 Lesson 08
If compiled for the desktop, with SDL using X11, then the example app runs in a window, and can be closed via the window close-box. On the framebuffer though, there is no close-box.
-
A brave new world: building glibc with LLVM [Ed: Sounds more like an effort to bury GPL and promote Microsoft GitHub (proprietary) instead]
Common wisdom argues against putting all eggs in one basket, and this type of diversification is also important in software. Just like how programming languages ideally have multiple independent compiler implementations, a software project written in a specific language should ideally have multiple independent toolchains capable of building the project.
Considering how many C language implementations and toolchains have been developed in the past 45+ years (yes, it's been that long!), it is surprising that such a critical, central, and long-lived component of our modern systems, such as glibc, is still only buildable with a single toolchain, the venerable old GNU/GCC, despite LLVM becoming the clear dominant alternative.
There are more technical and non-technical reasons for choosing GNU or LLVM, and it is up to each project and developer to decide. To be able to decide, however, a choice must be possible in the first place. This is what is changing and we believe that having this choice is worthwhile.
-
Labeling tools are great, but what about quality checks?
Modern datasets contain hundreds of thousands to millions of labels that must be kept accurate. In practice, some errors in the dataset average out and can be ignored – systematic biases transfer to the model. After quick initial wins in areas where abundant data is readily available, deep learning needs to become more data efficient to help solve difficult business problems.
[...]
The video below shows a user quickly scrolling through 40 objects belonging to 5 classes and finding 6 mislabeled examples.
-
My Family and Other Fish (PerlayStation Part 2) | Saif [blogs.perl.org]
So the resultant path that Term::Graille has taken is this. It avoids the fancier toolkits that rely on libcurses or libtickit. It starts off as a graphical tool for a non-graphical interface. For practical applications it emulates real-time interactivity (instead of using things like libev) for an environment that is principally asynchronous using Term::Graille::Interact. This is inevitably weak and has to be to be stressed to to become optimised, and game development perhaps allows this stress, highlighting failures in other existing code. Just developing one game is a dead end, however and the diverse set of problems one might face requires more specialised assets. Term::Graille::Sprite, like my daughter’s roller skates, does not outwardly have any of the features that will be required for serious, useful applications. But who knows, it might reasonably stress the platform and may offer secondary entertainment for others.
-
Last week for #CircuitPython2023
-
Dan's thoughts for #CircuitPython2023 - Adafruit Industries - Makers, hackers, artists, designers and engineers!
I didn’t write a #CircuitPython2022 post, partly because a number of my #CircuitPython2021 wishes were still unfulfilled. But I think we are closer to some of those goals for 2023. I’ll revisit some and add some new ones.