Programming Leftovers
-
A story of binary search and bezier curves :: Shidao's blog
For my GSoC project, I wanted to find the intersecting point of two arbitrary bezier curves. There are some existing algorithms for this purpose, but since it can be interesting, I decided to try to find one algorithm myself. I did some not successful research on finding it, here’s the story and what I learned.
The bezier curves in Krita are 2 variable cubic equations, so naturally, I thought of finding the intersecting point by solving the equations of the two curves. I wrote down the equation, type them into Wolfram Mathematica and hoped MMA to give me a result. There must be some performance regression between MMA 11 and MMA 13. The MMA 13 I’m using stuck there and never gave any result. I had to ask my friend who’s still on MMA 11 to calculate it.
Yes, though I have more or less thought that the general solution of the equation would be complicated, however, when I saw my friend sending me a 1.1M picture of the result, I knew the actual result was way wilder than I expected. (You may view this picture on a new page to see how big it is.)
-
"Zero-Knowledge Age Restriction for GNU Taler"
We propose a design for a privacy-friendly method of age restriction in e-commerce that is aligned with the principle of subsidiarity. The design is presented as an extension of a privacy-friendly payment protocol with a zero-knowledge scheme that cryprographically augments coins for this purpose. Our scheme enables buyers to prove to be of sufficient age for a particular transaction without disclosing it. Our modification preserves the privacy and security properties of the payment system such as the anonymity of minors as buyers as well as unlinkability of transactions. We show how our scheme can be instantiated with ECDSA as well with a variant of EdDSA, respectively, and how it can be integrated with the GNU Taler payment system. We provide formal proofs and implementation of our proposal. Key performance measurements for various CPU architectures and implementations are presented.
-
GNU C Language Intro and Reference Manual
This is to announce release of the GNU C Language Intro and Reference Manual. See https://savannah.gnu.org/git/?group=c-intro-and-ref.
This manual is intended for learning the C language, if you know how to program in some other language. It is also a reference manual for GNU C.
-
Friendship with iostream ENDED fmt is my best friend now! - Invidious
The fmt library is an awesome C++ library for printing and formatting text. I highly recommend using it in your projects. For more information about this library and to read the documentation
-
Kiwi TCMS 11.5
This is a small release which contains several improvements, bug fixes and new translations!
-
Open source machine learning at IBC 2022
Returning for a long awaited reunion, IBC is back at the RAI in Amsterdam! The content and technology community will connect at this 4 day event, starting September 9, to gain the latest insights on empowering content. Collabora will be present to take part and share in this exciting edition for 2022. If you are planning on attending, please make sure to add booth F57 in Hall 5 to your itinerary & come say hello!
-
Mass scale with the new Arduino Cloud CLI [Ed: Arduino outsourced its 'Clown' CLI to a proprietary prison controlled by Microsoft/NSA (GithHub). Very poor decision.]
The Arduino IoT Cloud enables makers, IoT enthusiasts and professionals to build easily connected projects based on a wide range of Arduino, ESP32 and ESP8266 boards.
Following Arduino’s vision, it has been carefully designed to provide the most user-friendly and intuitive experience, abstracting the complex tasks that create barriers for users who are not familiar with coding.
-
Perl Weekly Challenge 181: Sentence Order and Hot day