Some of my #toolforge projects for #wikidata and #wikipedia (Mix'n'match, baGLAMa2) use #RustLang with a permanently running background process, which heavily uses multithreaded async.
There is an issue across these (pretty independent) codebases that the process runs fine for hours, then pauses, without explanation. Mutex locks, reqwest timeouts, all checked. Very difficult to debug.
Any ideas what it could be, or how to debug it?
#toolforge #Wikidata #wikipedia #RustLang
longer announcement email here: https://lists.wikimedia.org/hyperkitty/list/cloud@lists.wikimedia.org/thread/BJKLALZUZ3WCKJVWE4JJHOICAS4LUNH3/ #Toolforge #Codex
There's a cool addition to the ToolforgeBundle that lets you quickly create a new #Wikimedia #Toolforge tool:
composer create-project wikimedia/toolforge-skeleton ./my-cool-tool
https://github.com/wikimedia/ToolforgeBundle#new-project
I seem to have lots of half-started little tools lying around now. Some even do things! :-P Most are "aspirational"…
Je vais très bientôt rajouter un outil #Toolforge à mon actif : j'ai travaillé sur un algo qui calcule le coefficient de consanguinité d'un individu (en l'occurrence un cheval) à partir de sa #généalogie sur #Wikidata. Bon, comme on ne connait que rarement la généalogie du côté de la mère du cheval, ça sous-estime un peu, mais contrairement à Infochevaux, on remonte sur plus de 10 générations pour certains individus
#toolforge #genealogie #Wikidata
Welp, it seems that micropipenv has fallen behind the Poetry lockfile versions again (https://github.com/thoth-station/micropipenv/issues/280).
Time to figure out how I want to do #python dependency management on my Wikimedia #Toolforge projects again. It seems like a metadata-only package installed via PEP-517 is the best way forward, but that ignores poetry.lock.
I've been testing out the upcoming #Toolforge build service and buildpacks (which will unlock push-to-deploy and other very cool stuff) today. There are still lots of tiny things to sort out before this is ready for more widespread use but I'm already very excited.
Interestingly Mastodon supports scheduled posts via the API, it just doesn't expose it in the web UI.
So I set up a deployment of #FediPlan on #Toolforge so we can take advantage of that functionality, it's a bit rough but better than nothing!
New #Toolforge / fediverse tool: https://fedi-share.toolforge.org/
A landing page that asks people for their instance's domain and then sends them to the share interface on their instance.
It's a single HTML file, all done client-side.
Primary motivation is so we can have a Fediverse/Mastodon share button for the upcoming #Commons Picture of the Year contest.
So there's also a Lua module to generate links on-wiki: https://commons.wikimedia.org/wiki/Module:Fedi-share
Source code/documentation: https://gitlab.wikimedia.org/toolforge-repos/fedi-share
@derenrich If you have a #Toolforge account:
you can query the live database directly as s51434__mixnmatch_p
You can then also get the daily database dump at /data/project/mix-n-match/dumps
If you just want a snapshot, here is one from this Monday (7.4GB): https://mix-n-match.toolforge.org/database_dump.bz2
Also, new #Toolforge tool alert!
https://prosesize.toolforge.org/
Example: https://prosesize.toolforge.org/?title=Taylor+Swift&domain=en.wikipedia.org
Let's you see the readable prose size of any page and highlights those sections specifically. Also provides an API for anyone wanting to consume the data.
Written in #Rust of course, source code at https://gitlab.wikimedia.org/toolforge-repos/prosesize
Is Baglama2 down? I can't get data to load in any browser.
#Wikicommons #wikidata #wikipedia #toolforge
cc. @magnusmanske
#toolforge #Wikipedia #wikidata #wikicommons
Also new tool alert!
https://streaks.toolforge.org/ allows you to look up your own longest wiki streak and historical track record.
Written in #Rust (of course) and hosted on #Toolforge
New blog post: "#MySQL connection pooling in #Rust for #Toolforge"
https://blog.legoktm.com/2022/12/27/mysql-connection-pooling-in-rust-for-toolforge.html
An explainer of the constraints on using connection pooling on Toolforge, two new features in the "toolforge" Rust crate that accommodate this, and a slight tangent on #Wikimedia's database server layout.
#mysql #rust #toolforge #wikimedia
#Introduction: I’m Lucas, bi software developer and Wikimedian from Berlin. I like writing tools for #Wikimedia #Toolforge, mainly in #Python, though I’m also working on a #JavaScript library to use the MediaWiki API; on the projects, I’m mainly active on #Wikidata and #WikimediaCommons. I play the #piano and occasionally live-stream that or post recordings. I’m making my way through #Tolkien’s The History of Middle-earth. I speak German, English and some Portuguese. Nice to meet y’all 🙂
#introduction #wikimedia #toolforge #python #javascript #Wikidata #wikimediacommons #piano #tolkien
The Hashtag Hub tool is a great way to get quick links for things, e.g.: https://hashtags-hub.toolforge.org/ESEAP2022 #Toolforge