The on-wiki version of this newsletter can be found here:
https://www.wikifunctions.org/wiki/Wikifunctions:Status_updates/2025-01-29
--
With 2000 Functions into the new year: time for stats
A few weeks ago, we crossed 2000 functions! We will follow "Lydia’s Rule"
(named after Lydia Pintscher, Portfolio Lead for Wikidata): passing random
milestones shouldn’t be taken as a reason for context-free celebration, but
as an opportunity to look into statistics and to take stock of where we are
and what we have achieved.
<https://www.wikifunctions.org/wiki/File:Any_2000.JPG>
As of the time of writing (Wednesday, 29 January 2025), we had 2096
functions. But of these, 189 have no implementation connected and are thus
not usable, while 380 have no tests connected and are thus underdocumented
and of unknown quality. The number of functions drops to 1662 if we only
regard functions with at least one connected test and implementation each –
still a solid 4/5ths of the functions we have, but it could be better. We
now have a special page that can help with finding functions without tests
<https://www.wikifunctions.org/wiki/Special:ListFunctionsByTests>. We have
about 3473 implementations and 6179 tests.
Since our search isn’t great yet, the manually-curated function catalogue
is probably the main entrance point to find functions. It lists a total of
1193 functions (though it may list some more than once). It has 17
top-level groups: logic (8), Boolean (30), signs (10), strings (164),
scientific (13), natural languages (328, see below), lists (72), characters
(12), numbers (354), dates (92), Wikidata (30), generic (8), types (11),
functions (10), programming (1), and colors (18).
To break down the natural language functions, there are 13 global natural
languages functions, and then we have functions for the following natural
languages: Arabic (5), Bangla (23), Basque (21), Brahui (11), Breton (69),
Croatian (44), Dagbani (3), Dutch (1), English (21), Esparanto (16),
Finnish (1), French (10), German (15), Urdu (4), Igbo (14), Japanese (3),
Persian (6), Korean (3), Kurdish (10), Malayalam (3), Moroccan Arabic (3),
Polish (1), Punjabi (3), Rohingya (8), Russian (1), Scottish Gaelic (1),
Serbian (1), Sindhi (8), Spanish (1), Swedish (1), Turkish (2), and
Ukrainian (2).
So far, Wikifunctions has seen close to 50,000 edits. We have counted more
than 43 Million pageviews last year, but this particular number is probably
inflated through crawlers collecting training data for AI without properly
identifying themselves, and other issues. If that number were true, it
would be an increase of about 10x last year. Monthly, we currently see
about 3000 function calls, mostly from the function pages, and another 400
through the external API. More than 50 countries are represented in the
editorship, and people accessed Wikifunctions from more than 200 countries
and territories – in other words, nearly all countries. At the beginning of
the year we started with about 20 active contributors, and we grew to about
100 active contributors.
Some of these numbers are making us very happy – the healthy growth of
functions, the high ratio of functions with connected implementations and
tests, the large number of countries contributing to and accessing
Wikifunctions. For some, we have trouble really understanding them: the
pageviews seem faulty. Finally, for some we hope to see significant growth
in the coming year, particularly for the numbers of function calls made,
and people who are active contributors. We hope that the integration of
Wikifunctions into Wikipedias and other Wikimedia projects will spur
interest and excitement, and so lead to more robust numbers.
Next Volunteers’ Corner on 3 February
Next week, on Monday, 3 February 2025, at 18:30 UTC
<https://zonestamp.toolforge.org/1738607400>, we will have our monthly
Volunteers’ Corner. Unless you have many questions, we will follow our
usual agenda, of giving updates on the upcoming plans and recent
activities, having plenty of time and space for your questions, and
building a Function together. Looking forward to seeing you online
<https://meet.google.com/xuy-njxh-rkw> on Monday!
Recent Changes in the software
A very short list this week, as a lot of our focus has been on delivering
the bigger pieces of work for the Quarter.
We've fixed the "report" widget to not run the test suite on brand-new
Implementations or Tests, as there's no content to test yet (T375242
<https://phabricator.wikimedia.org/T375242>). Thank you to User:GrounderUK
<https://www.wikifunctions.org/wiki/User:GrounderUK> for the suggestion.
We've prepared a database schema change that, once applied in production,
will allow filtering searches for Functions to limit results to Functions
that can be embedded in Wikipedia articles (T383561
<https://phabricator.wikimedia.org/T383561>). More coming soon.
We, along with all Wikimedia-deployed code, are now using the latest
version of the Codex UX library, v1.20.0, as of this week. We believe that
there should be no user-visible changes on Wikifunctions, so please comment
on the Project chat or file a Phabricator task if you spot an issue.
News in Types: Read and display functions for Rational and Floating point
numbers
A few weeks ago we introduced the Rational number
<https://www.wikifunctions.org/wiki/Wikifunctions:Status_updates/2024-12-19#…>
and Floating point number types
<https://www.wikifunctions.org/wiki/Wikifunctions:Status_updates/2024-11-13#…>.
The community has been working on read and display functions since then,
and now we have a working set. Both have been introduced, making it much
easier to use functions with these types. Thanks to everyone who has been
working on these!
Function of the Week: Python converter to float64
*The Function of the Week is a column written by the community. Planning
the column and submissions can be made here
<https://www.wikifunctions.org/wiki/Wikifunctions:Function_of_the_Week/submi…>.
This week’s entry was written by 99of9
<https://www.wikifunctions.org/wiki/User:99of9> with edits by Feeglgeef
<https://www.wikifunctions.org/wiki/User:Feeglgeef>.*
This week's Function of the week is not a Function! This week we are
discussing: Python converter to float64. It is a Type converter from code,
which are almost invisible to function writers when they are working well,
but their accuracy is vital to the successful release of most new Types.
These converters are called when your code implementation returns a value
which needs to be converted to the internal representation that
Wikifunctions uses for the Type of object returned.
This particular converter is for values returned by Python implementations
which implement a function which returns a float64, our type for
representing 64-bit floating point numbers, which within python are typed
"float". It was written by Denny
<https://www.wikifunctions.org/wiki/User:DVrandecic_(WMF)>, as connected
converters are currently
<https://www.wikifunctions.org/wiki/Wikifunctions:Maintainers> only
editable by staff. This is one of the most complicated type conversions we
have to date. The 64 bits in the native float are actually in three groups
which are overloaded to take on different meanings in special contexts.
These need to be converted to four keys for a float64, three with broadly
parallel meaning, and one to enumerate the value in special contexts.
Converters from code do not have the same variety of implementations that
functions do. They simply have code written in the language they are
converting from that returns JSON that represents the structure of a
ZObject. This one uses math library functions to check for each possible
special value (NaN, signed infinity, signed zero). If it is a special
value, the special value key is set, and since the other keys are now
irrelevant, they are returned with a default value of 0. If the input is
not a special value, the sign is tested, and the magnitude is expanded into
its mantissa and exponent via math.frexp. The mantissa is then shifted from
a range of [0.5,1) to [0,0.5), because just like the IEEE 754 binary
representations our significand has a hidden leading bit, equivalent to
always adding 0.5 back to this value. The returned exponent is decremented
by one to account for the normal binary significand range representing
values from [1,2). The significand is converted to a natural number in the
range 0 to 252-1 for float64's significand key. It's important that none of
these operations have rounding errors.
No tests are directly attached to Type converters, but we can test them
indirectly. If a python implementation of any function that returns floats
is failing valid tests, it is possible that this is due to the converter.
This week a subtle bug was corrected
<https://www.wikifunctions.org/wiki/Special:PermanentLink/147121>, because
a test returning the special value of -0 was failing in the python
implementation of Rational number to float. That function also has tests
for some of the other special values, and numerous floating-point edge
cases. Depending on our intent for the ignored keys of special values, we
can also use tests with stricter implementations testing cases like
equality of +infinity with different exponent keys.
Converting from a numeric value to the keys for a Wikifunctions float64 is
a task that some of us also currently need to do when designing tests for
float64 functions. It's even harder for humans than it is for a converter!
To ease this task, we expect to soon add a floating point reader function
to float64 that will read from whatever string is entered to represent the
number (just as integers already have).
Question for discussion:
- Should special values return with their other (usually disregarded)
keys matching the values of the sign, mantissa and exponent in the IEEE 754
binary representations?
Fresh functions weekly
Here is a list of new functions that have been created since last week,
with connected implementations and (mostly) passing tests.
1. string includes "na" or "nf"
<https://www.wikifunctions.org/view/en/Z21987>
2. string includes / or % <https://www.wikifunctions.org/view/en/Z21980>
3. display Rational number <https://www.wikifunctions.org/view/en/Z21971>
4. remove arabic harakat <https://www.wikifunctions.org/view/en/Z21961>
5. display float64 <https://www.wikifunctions.org/view/en/Z21956>
6. Clamp two natural numbers
<https://www.wikifunctions.org/view/en/Z21951>
7. float64 as string <https://www.wikifunctions.org/view/en/Z21949>
8. float as string (Python conventions)
<https://www.wikifunctions.org/view/en/Z21939>
9. rational number reader <https://www.wikifunctions.org/view/en/Z21930>
10. read float64 <https://www.wikifunctions.org/view/en/Z21925>
11. complex conjugate <https://www.wikifunctions.org/view/en/Z21917>
12. Gregorian to Holocene year
<https://www.wikifunctions.org/view/en/Z21913>
13. get cross product <https://www.wikifunctions.org/view/en/Z21903>
14. compound interest amount
<https://www.wikifunctions.org/view/en/Z21898>
15. acceleration (float64) <https://www.wikifunctions.org/view/en/Z21893>
16. Add indefinite article to noun, Spanish
<https://www.wikifunctions.org/view/en/Z21886>
17. is narcissistic number <https://www.wikifunctions.org/view/en/Z21868>
18. "(name), a (role) from (country)," english
<https://www.wikifunctions.org/view/en/Z21862>
19. mean arterial pressure <https://www.wikifunctions.org/view/en/Z21856>
20. list mode <https://www.wikifunctions.org/view/en/Z21851>
21. Quadratic equation solver (float64)
<https://www.wikifunctions.org/view/en/Z21848>
22. date string (English) to ISO 8601
<https://www.wikifunctions.org/view/en/Z21842>
23. rational from finite simple continued fraction
<https://www.wikifunctions.org/view/en/Z21835>
24. generate list of length
<https://www.wikifunctions.org/view/en/Z21821>
25. scientific (e) notation String as Rational number
<https://www.wikifunctions.org/view/en/Z21814>
26. plain decimal string from rational number
<https://www.wikifunctions.org/view/en/Z21796>
27. "(gender) is a (country) (professional)", Spanish
<https://www.wikifunctions.org/view/en/Z21791>
28. decimal string from Rational number
<https://www.wikifunctions.org/view/en/Z21787>
29. negate (float64) <https://www.wikifunctions.org/view/en/Z21775>
30. apply rational number function to float64
<https://www.wikifunctions.org/view/en/Z21770>
31. "[gender] is a [country] [professional]", English Lexemes
<https://www.wikifunctions.org/view/en/Z21765>
32. read special value floating point from string
<https://www.wikifunctions.org/view/en/Z21750>
33. an or a? (English) <https://www.wikifunctions.org/view/en/Z21739>
34. English indef noun phrase
<https://www.wikifunctions.org/view/en/Z21734>
35. is non-negative rational number
<https://www.wikifunctions.org/view/en/Z21721>
36. is negative rational number
<https://www.wikifunctions.org/view/en/Z21714>
37. is positive rational number
<https://www.wikifunctions.org/view/en/Z21702>
38. absolute value of rational number
<https://www.wikifunctions.org/view/en/Z21692>
39. unformat decimal string
<https://www.wikifunctions.org/view/en/Z21682>
We can see a rich variety of functions – and there were even more who
didn’t make it to the list because they didn’t have tests or
implementations. A comprehensive list of all functions sorted by creation
date
<https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z4&orderb…>
can
be found on-wiki.
The on-wiki version of this newsletter can be found here:
https://www.wikifunctions.org/wiki/Wikifunctions:Status_updates/2025-01-22
--
Welcome, David!
Some of you might have met and seen David already in some of our earlier
meetings this year, be it the Volunteers’ Corner last week or the NLG SIG
meeting. David Santamaria is the new Engineering Manager joining the
Abstract Wikipedia team.
<https://www.wikifunctions.org/wiki/File:Gasteiz,_Euskal_Herria.jpg>
*Hey everyone!*
*I’m David Santamaria, and I’m beyond excited to be joining the Wikimedia
Foundation (seriously, pinch me). First things first—let me tell you a bit
about myself. I’m from Vitoria-Gasteiz
<https://en.wikipedia.org/wiki/Vitoria-Gasteiz> (yes, that one, the
gorgeous capital of the Basque Country). Trust me, it’s worth a Google or
even a visit (but bring an appetite for pintxos
<https://en.wikipedia.org/wiki/Pincho>).*
*Now, let’s get geeky. I’m a full-on computer nerd with a computer
engineering degree to back it up. I live for solving complex problems—it’s
like sudoku on steroids, and I love every second of it.*
*But hey, life isn’t all about staring at screens. My true passion is
music. Someday, I’d love to play through the 100 greatest guitar solos
<https://es.wikipedia.org/wiki/Anexo:Los_100_mejores_solos_de_guitarra_por_G…>—yes,
all of them. For now, though, I’m just a pro at air guitar. Progress is
progress.*
*Joining Wikimedia feels like stepping into a dream. The idea of
contributing to a mission that’s all about making knowledge free and
accessible to the world is a dream come true. I can’t wait to collaborate
with all of you.*
*So, that’s me! Let’s create, share, and geek out together. 🚀*
Please join me in welcoming David to the team!
Naming conventions recommendations
Last week we published our recommendations for updating the naming
conventions on Wikifunctions, with an eye on the anticipated usage of
Wikifunctions in Wikipedia: Naming conventions recommendations
<https://www.wikifunctions.org/wiki/Wikifunctions:Design/Naming_conventions_…>
.
You can find designs for the integration into Wikipedia, and how names and
labels from Wikifunctions will be used in Wikipedia.
The style guide for Wikifunctions is owned by the community. We hope that
the community will consider our recommendations. The talk page on the
recommendations is already seeing a lively discussion. We invite everyone
to join in the discussion.
Recent Changes in the Software
There's a very short list of changes shipping this week, partially due to
work on longer-term improvements.
We have fixed the ListObjectsByType
<https://www.wikifunctions.org/wiki/Special:ListObjectsByType> page code to
not break when Objects have wikitext-like content in them (T383206
<https://phabricator.wikimedia.org/T383206>). Thank you to GrounderUK
<https://www.wikifunctions.org/wiki/User:GrounderUK> for the report. The
test page of the volunteer-developed Math extension, which doesn't work on
newer Wikimedia wikis, has now been hidden (T344206
<https://phabricator.wikimedia.org/T344206>).
We deployed a new version of the orchestrator service with some minor
user-visible performance improvements, by sharing the caching logic between
the Object and Wikidata fetch code (T380103
<https://phabricator.wikimedia.org/T380103>).
As part of wider language support work for MediaWiki, we have added two
languages: Z1964/dso
<https://www.wikifunctions.org/wiki/Z1964?action=edit&uselang=en&redlink=1>
and Z1965/thq
<https://www.wikifunctions.org/wiki/Z1965?action=edit&uselang=en&redlink=1>
(T383785 <https://phabricator.wikimedia.org/T383785>).
As always, if you have any issues, please report them on the project chat.
Denny’s New Year’s resolution: More on-wiki, less in external channels
Denny here with a personal New Year’s resolution: for 2025, a personal goal
is to be more reactive to Wikifunctions:Project chat on-wiki, and regard it
as the primary communication channel with the community. Over the last few
years, the IRC / Telegram group has managed to take this place, partly due
to convenience, partly due to its higher speed.
The higher speed is not always an advantage. Although wikis are no stranger
to heated conversations, an instant messaging platform can heat these up
further. Furthermore, although the conversations are publicly archived,
there are no good workflows to search and link them.
So, my personal resolution is: I will regularly check and answer on
Wikifunctions:Project chat, and regard this as the prime and primary
communication channel with the community.
Fresh functions weekly
This is the first entry on highlighting the newest functions being created
on Wikifunctions. We used to run a section on Function of the Week, but in
order to give more exposure to the breadth of work happening on
Wikifunctions, we decided to try for a while to highlight all new functions
in a week. Let us know how you like the new section or how to improve it.
If you liked the Function of the Week section, and are willing to volunteer
work on it, there has been some discussion on the Telegram / IRC chat about
keeping that section alive, maybe in an evolved form – we would be happy to
keep it going as a volunteer-driven part of the newsletter.
In the last week, 22 functions with implementations have been created:
1. convert decimal string from comma to point
<https://www.wikifunctions.org/view/en/Z21679>
2. remove separators from decimal string
<https://www.wikifunctions.org/view/en/Z21682>
3. absolute value of rational number
<https://www.wikifunctions.org/view/en/Z21692>
4. is positive rational number
<https://www.wikifunctions.org/view/en/Z21702>
5. is negative rational number
<https://www.wikifunctions.org/view/en/Z21714>
6. is non-negative rational number
<https://www.wikifunctions.org/view/en/Z21721>
7. English indef noun phrase
<https://www.wikifunctions.org/view/en/Z21734>
8. an or a? <https://www.wikifunctions.org/view/en/Z21739>
9. read special value floating point from string
<https://www.wikifunctions.org/view/en/Z21750>
10. indef noun phrase <https://www.wikifunctions.org/view/en/Z21760>
11. "[gender] is a [country] [professional]", English Lexemes
<https://www.wikifunctions.org/view/en/Z21765>
12. apply rational number function to float64
<https://www.wikifunctions.org/view/en/Z21770>
13. negate (float64) <https://www.wikifunctions.org/view/en/Z21775>
14. decimal string from Rational number
<https://www.wikifunctions.org/view/en/Z21787>
15. "[gender] is a [country] [professional]", Spanish
<https://www.wikifunctions.org/view/en/Z21791>
16. plain decimal string from rational number
<https://www.wikifunctions.org/view/en/Z21796>
17. "[gender] is a [country] [professional]"
<https://www.wikifunctions.org/view/en/Z21802>
18. Rank, English Lexemes <https://www.wikifunctions.org/view/en/Z21805>
19. lemma string from lexeme and lang
<https://www.wikifunctions.org/view/en/Z21806>
20. scientific (e) notation String as Rational number
<https://www.wikifunctions.org/view/en/Z21814>
21. rational from finite simple continued fraction
<https://www.wikifunctions.org/view/en/Z21835>
22. date string (English) to ISO 8601
<https://www.wikifunctions.org/view/en/Z21842>
The on-wiki version of this newsletter can be found here:
https://www.wikifunctions.org/wiki/Wikifunctions:Status_updates/2025-01-15
--
Happy Wikipedia day!
<https://www.wikifunctions.org/wiki/File:Wikipedia_Seattle_Meetup_2025_cake.…>
Today, 24 years ago, a project named Wikipedia was started. It had the goal
to support the growth of an encyclopedia project called Nupedia. Wikipedia
failed at that original goal, but instead became arguably the most
important source of knowledge in the early 21st century.
This year we are planning to bring a new feature to Wikipedia: a globally
accessible library with functions which can be called from any Wikimedia
project, which can help all Wikipedias to work closer together, and to
share functionality easier across language editions. Happy New Year 2025
and Happy Wikipedia day everyone!
Quarterly Planning for January–March 2025
As with the previous quarters, we are publishing our plan for the upcoming
quarter to make our work more transparent.
- *Provide Wikifunctions integration in articles on Dagbani Wikipedia* (
T383106 <https://phabricator.wikimedia.org/T383106>). The goal is to
allow Wikifunctions functions to be embedded in wiki articles, starting
with the Dagbani Wikipedia. Before that, we also plan to allow function
calls from a test Wikipedia, in order to reduce incentives to use Dagbani
Wikipedia as a testbed.
- *Provide updates to editors when Wikifunctions calls are changed* (
T383156 <https://phabricator.wikimedia.org/T383156>). A first initial
integration to allow Wikipedia contributors to be notified of relevant
changes on Wikifunctions. This is closely related to the initial
integration, but split out for management and tracking purposes.
- *Expand Wikidata access on Wikifunctions to support multilingual
functions* (T383107 <https://phabricator.wikimedia.org/T383107>). We
want to add the ability to request Lexemes for a given Wikidata item. This
will allow functions to be written that generate sentences with the same
meaning in different languages.
- *Improve performance and drive down tech debt & developer inhibitors* (
T383157 <https://phabricator.wikimedia.org/T383157>). We need to speed
up Wikifunctions calls so that it's more useful for you, and also address
some issues that slow down the development of Wikifunctions.
- *Plan for wider adoption and rollout of Wikifunctions to more
Wikipedias*. Dagbani Wikipedia will be the first wiki, but we want to
roll out Wikifunction integrations to many more Wikipedias and other
Wikimedia projects quickly. We will write up and publish a plan for that in
this quarter.
- *Fix high-priority papercuts* (T383163
<https://phabricator.wikimedia.org/T383163>). Wikifunctions has a few
papercut issues – issues that are annoying while using it, but not major or
severe enough to make it to our development roadmap as stand-alone items.
We are planning to devote some resources towards fixing a few such issues.
If you have a particular gripe, please share it with us so we can evaluate
it.
- *Create testing strategy via participation in the test engagement
pilot* (T383165 <https://phabricator.wikimedia.org/T383165>). Our test
system is in need of improvement, in order to increase our confidence in
developing and deploying features and fixes. We will be working with the
Foundation’s Quality Service team on a test pilot with the plan to improve
this situation.
- *Prepare for a future Rust implementation*. We are planning to
eventually rewrite some of our backend services in Rust, and for that we
want to take preparatory steps towards implementation and deployment.
Thank you for joining us on our ride!
Recent Changes in the software
Last week was the first production release of 2025, following Wikimedia's
End-of-Year 2024 release freeze; as there was no update last week, we'll
cover changes made both over the recent holidays, and from last week.
As part of our wider Quarterly work (see above), we worked on a new
internal API to find Functions but filters out ones that can't be embedded
in a text page – those use Types that don't have a parser as inputs, or
output a Type that doesn't have a renderer (T382140
<https://phabricator.wikimedia.org/T382140>). We're making some
infrastructure changes to the databases to make this query work fast
enough, which we'll report on soon (T383561
<https://phabricator.wikimedia.org/T383561>). We've also been working on
back-end performance, focussed on making queries to Wikidata richer and
much faster so they're more useful.
In terms of user-facing changes, there are a couple that you may notice. On
special list pages like Special:ListObjectsByType
<https://www.wikifunctions.org/wiki/Special:ListObjectsByType>, there's now
a check-box to exclude pre-defined Objects (T381005
<https://phabricator.wikimedia.org/T381005>). Thanks to User:Feeglgeef
<https://www.wikifunctions.org/wiki/User:Feeglgeef> for the idea! The
version of the "Ace" code editor was updated from 1.32.7 to 1.37.1 for this
week in CodeEditor by User:SD001
<https://www.wikifunctions.org/w/index.php?title=User:SD001&action=edit&redl…>;
we've duplicated that update in our version, which should improve the
syntax parsing of arrow functions when editing JavaScript (T382800
<https://phabricator.wikimedia.org/T382800>). The edits made by the system
under the User:WikiLambda system
<https://www.wikifunctions.org/wiki/User:WikiLambda_system> user should now
be marked as bot edits (T372009 <https://phabricator.wikimedia.org/T372009>);
thanks to User:Ameisenigel
<https://www.wikifunctions.org/wiki/User:Ameisenigel> for finding the bug.
We've also made some preparatory changes for bigger pieces of work. We've
landed a change to how we index Types in the database that will let us
provide a search view that filters out Functions that use Types that can't
be parsed from input or rendered into text (T382140
<https://phabricator.wikimedia.org/T382140>). This is a key part of the UX
work we're doing for the initial Wikipedia integration. We've altered the
definition of Z6001 to support the feature to fetch Wikidate items, which
we're still developing to be useable (T381207
<https://phabricator.wikimedia.org/T381207>).
There are two Wikimedia-wide testing improvements that we've been plugged
into since the last update. Firstly, we've added a test to ensure our
database schema patches are correct and don't drift over time, and updated
our patches to reflect current config; thanks to Daimona for their work
leading on this (T381981 <https://phabricator.wikimedia.org/T381981>).
We've also declared our language selector code module which is part of the
key page load, which will help ensure we're not shipping lots of code to
readers unexpectedly; thanks to Jon Robson for their work on this (T360590
<https://phabricator.wikimedia.org/T360590>).
As part of wider language support work for MediaWiki, we have added a
number of languages: Z1957/thr (T381839
<https://phabricator.wikimedia.org/T381839>); Z1958/bfw, Z1959/gju-arab,
Z1960/gju-deva, Z1961/hoc, and Z1962/kgg (T381934
<https://phabricator.wikimedia.org/T381934>); and Z1963/ljp (T383038
<https://phabricator.wikimedia.org/T383038>). We've also added the rml-cyrl
secondary code to Z1331/rml (T381838
<https://phabricator.wikimedia.org/T381838>).
We, along with all Wikimedia-deployed code, are now using the latest
version of the Codex UX library, v1.19.1, and Vue, v3.5.13, as of this
week. We believe that there should be no user-visible changes on
Wikifunctions, so please comment on the Project chat or file a Phabricator
task if you spot an issue.
As always, please alert us if you run into any issues.
Recording of Volunteer’s Corner
<https://www.wikifunctions.org/wiki/File:Abstract_Wikipedia_Volunteer_Corner…>
This week we had our monthly Volunteer’s Corner. We were building the cups
to millimeter function <https://www.wikifunctions.org/view/en/Z21658>. A
recording of the Corner is available on Commons:
https://www.wikifunctions.org/wiki/Wikifunctions:Status_updates/2025-01-15
More than 2000 functions in Wikifunctions
Over the holiday season, we crossed the number of 2000 functions. We thank
all contributors for their contributions to the project, and we are happy
to cross this number after the first full calendar year of operation. In
the spirit of not celebrating the crossing of random numbers, we will
instead see this as a nudge to write up an overview of the status of
Wikifunctions in the coming weeks – but this week’s newsletter is already
too full for that.
Changes to the Function of the Week
We were thinking about the Function of the Week section in the newsletter.
The goal of this section is to highlight functions in detail, in order to
showcase the capabilities of Wikifunctions, and inspire the ongoing growth
of Wikifunctions.
As Wikifunctions growth is accelerating - as mentioned above, we just
crossed 2000 functions - we were thinking that instead of calling out a
single function, we could have a section that lists all new functions since
the last newsletter, and so provide a more holistic report on the growth,
and also a more complete picture of potentially interesting functions. Next
week, we will kick off this new section.
If folks want to keep the Function of the Week section, we are happy to
hand over the work on that section to whoever volunteers, and we are happy
to keep integrating that into the newsletter every week.