Programming Leftovers
-
Week 9+10 Report, Automated Gentoo System Updater
This article is a summary of all the changes made on Automated Gentoo System Updater project during weeks 9 and 10 of GSoC.
Project is hosted on GitHub (gentoo_update and mobile app).
Progress on Weeks 9 and 10
I have finalized app architecture, here are the details:
The app’s main functionality is to receive notification from the push server. For each user, it will create a unique API token after authentication (there is an Anonymous option). This token will be used by
gentoo_update
to send the encrypted report to the mobile device using a push server endpoint. Update reports will be kept only on the mobile device, ensuring privacy.After much discussion, I decided to implement app’s backend in Firebase. Since GSoC is organized by Google, it seems appropriate to use their products for this project. However, future plans include the possibility of implementing a self-hosted web server, so that instead of authentication user will just enter server public IP and port.
-
Andy Wingo: a negative result
Briefly, an interesting negative result: consider benchmarks b1, b2, b3 and so on, with associated .c and .h files. Consider libraries p and q, with their .c and .h files. You want to run each benchmark against each library.
P and Q implement the same API, but they have different ABI: you need to separately compile each benchmark for each library. You also need to separate compile each library for each benchmark, because p.c also uses an abstract API implemented by b1.h, b2.h, and so on.
The problem: can you implement a short GNU Makefile that produces executables b1.p, b1.q, b2.p, b2.q, and so on?
The answer would appear to be "no".
You might think that with call and all the other functions available to you, that surely this could be done, and indeed it's easy to take the cross product of two lists. But what we need are new rules, not just new text or variables, and you can't programmatically create rules. So we have to look at rules to see what facilities are available.
-
Mark J. Wielaard: Sourceware 25 Roadmap
Sourceware has been running for almost 25 years, providing a worry-free, developer friendly home for Free Software core toolchain and developer tool communities. And we would like to keep providing that for the next 25 years.
-
Convert String to Uppercase in JavaScript
JavaScript, a high-level, interpreted scripting language, is a key technology of the World Wide Web. It adds interactivity to websites and powers web applications. A core feature of JavaScript is its ability to manipulate strings.
-
Spidermonkey Development Blog: SpiderMonkey Newsletter (Firefox 116-117)
SpiderMonkey is the JavaScript engine used in Mozilla Firefox. This newsletter gives an overview of the JavaScript and WebAssembly work we’ve done as part of the Firefox 116 and 117 Nightly release cycles.
We’re working on improving performance for popular web frameworks such as React. We continue to make good progress, as you can see on this Speedometer 2 graph: [...]
-
Dirk Eddelbuettel: RQuantLib 0.4.19 on CRAN: More Maintenance
A new release 0.4.19 of RQuantLib arrived at CRAN earlier today, and has already been uploaded to Debian too.
QuantLib is a rather comprehensice free/open-source library for quantitative finance. RQuantLib connects it to the R environment and language, and has been part of CRAN for more than twenty years (!!)
-
Python’s ‘and’ Operator: A Practical Approach
-
__path__ (A Special Variable) in Python
In Python, special or “dunder” (double underscore) variables play a pivotal role in the internal workings of the language. These variables have special meanings and are used in various contexts. One such special variable is __path__. What is __path__? __path__ is a variable that is primarily defined for packages in Python.
-
Demystifying the ‘or’ Operator in Python: Enhancing Logic in Your Code
-
Python Zip Function Examples
In Python, the “zip()” function is used to combine two or more iterable into a single iterable and retrieve the iterables of the tuple.
-
Pandas – Convert Categorical Values to Int Values
The “DataFrame.replace()”, “pandas.factorize()”, and the “LabelEncoder()” method is used to convert categorical values to integers in Pandas DataFrame.
-
Float in Python: A Complete Overview
Python is an interpreted programming language that offers numerous data types to work with, including float. Float is a built-in data type in Python that allows us to represent decimal numbers. It is a fundamental data type that every developer must understand since it allows us to perform various calculations, including scientific computations.
-
The Rust Programming Language Blog: 2022 Annual Rust Survey Results
Hello, Rustaceans!
For the 6th year in a row, the Rust Project conducted a survey on the Rust programming language, with participation from project maintainers, contributors, and those generally interested in the future of Rust. This edition of the annual State of Rust Survey opened for submissions on December 5 and ran until December 22, 2022.
First, we'd like to thank you for your patience on these long delayed results. We hope to identify a more expedient and sustainable process going forward so that the results come out more quickly and have even more actionable insights for the community.
The goal of this survey is always to give our wider community a chance to express their opinions about the language we all love and help shape its future. We’re grateful to those of you who took the time to share your voice on the state of Rust last year.