Tux Machines
Posted by Roy Schestowitz on Aug 10, 2023
=> today's howtos | Devices: Old Amiga, Light Systems and Refurbished Steam Decks
=> ↺ Hacks.Mozilla.Org: Autogenerating Rust-JS bindings with UniFFI
I work on the Firefox sync team at Mozilla. Four years ago, we wrote a blog post describing our strategy to ship cross-platform Rust components for syncing and storage on all our platforms. The vision was to consolidate the separate implementations of features like history, logins, and syncing that existed on Firefox Desktop, Android, and iOS.
=> ↺ blog post describing our strategy to ship cross-platform Rust components
We would replace those implementations with a core written in Rust and a set of hand-written foreign language wrappers for each platform: JavaScript for Desktop, Kotlin for Android, and Swift for iOS.
Since then, we’ve learned some lessons and had to modify our strategy. It turns out that creating hand-written wrappers in multiple languages is a huge time-sink. The wrappers required a significant amount of time to write, but more importantly, they were responsible for many serious bugs.
=> ↺ blog post describing our strategy to ship cross-platform Rust components
=> ↺ Submit Your Packages in SCM/CI Workflows
Over the past weeks we worked hard to make it possible for you to create Submit Requests from within an SCM/CI Workflow. Now you can automate this step, making it easier to work with OBS in a more SCM-centric way.
=> ↺ Dirk Eddelbuettel: dtts 0.1.1 on CRAN: Enhancements
Leonardo and I are happy to announce the release of a first follow-up release 0.1.1 of our dtts package which got to [CRAN][cran] in its initial upload last year.
=> ↺ Leonardo | ↺ dtts
dtts builds upon our nanotime package as well as the beloved data.table to bring high-performance and high-resolution indexing at the nanosecond level to data frames. dtts aims to bring the time-series indexing versatility of xts (and zoo) to the immense power of data.table while supporting highest nanosecond resolution.
=> ↺ dtts | ↺ nanotime | ↺ data.table | ↺ dtts | ↺ xts | ↺ zoo | ↺ data.table
This release fixes a bug flagged by valgrind and brings several internal enhancements.
=> ↺ Leonardo | ↺ dtts | ↺ dtts | ↺ nanotime | ↺ data.table | ↺ dtts | ↺ xts | ↺ zoo | ↺ data.table
=> ↺ KDE + Qt Meetup Berlin: Aug 10th
=> ↺ GSoC'23 July Report| Further Progress on the Moderation Tools #5
I have summarized the entirety of July’s work in a single blog post, as I got quite busy with university in the last few weeks 😢.
I started with the Report Moderation Tool’s further implementation and managed to implement almost all of the features smoothly. However, I encountered a problem with the self-assigning and un-assigning of reports, which caused the application to crash with a segmentation fault. After dedicating hours to using gdb for debugging, I eventually concluded that the unexpected behavior was likely due to my use of smart pointers. It appeared that the memory was being de-allocated automatically when the object was set to null, and while accessing null when assigning the reports we accessed a null address leading to Tokodon crashing.I reached out to the maintainers for their help and review on how to fix this issue. I was suggested to try switching to using raw (normal) pointers to address the problem. I tried refactoring the code in a similar way to resolve the issue. However, the transition from smart pointers to raw pointers proved to be more challenging than I had initially anticipated.
=> ↺ Try, Except, Finally: Mastering Exception Handling in Python
=> ↺ Python File truncate() Method
In Python, the “truncate()” method is used to truncate or reduce the file size by taking the specified bytes numbers as an argument.
The “np.average()” method, the “User Defined” function, and the “groupby” method are used to determine the weighted average of the Pandas DataFrame.
In Python, the “groupby()” method is used along with the “mean()” method to determine the mean of single or multiple columns for each group data.
=> ↺ Raise the Alarm: Understanding and Using ‘Raise’ in Python Exceptions
=> ↺ Raise Exception from Cause in Python: A Developer’s Guide
Python is a high-level, general-purpose programming language that has gained popularity in recent years. It was initially developed by Guido van Rossum in the late 1980s and was released to the public in 1991.
=> ↺ Creating Custom Exceptions in Python: A Step-by-Step Tutorial
=> ↺ Python Unveiled: An In-Depth Examination of References
=> ↺ Garbage Collection in Python: A Comprehensive Guide
=> ↺ Dynamic Typing in Python: Flexibility and Efficiency Combined
=> ↺ Mutable & Immutable Objects in Python: An Essential Distinction
=> ↺ Understanding Python’s ‘is’ Operator: Beyond Equality
=> ↺ The Significance of ‘None’ in Python Programming
=> gemini.tuxmachines.org This content has been proxied by September (3851b).Proxy Information
text/gemini;lang=en-GB