As the protesters in Hong Kong continue to make their voices heard, society becomes increasingly aware of how important it is to educate ourselves on the changes and developments outside of our own countries. A protest in a country such as China or unincorporated territories such as Puerto Rico have a ripple effect that can impact countries on the other side of the world – or ones close by. This past spring students in Dr. Jennifer Chun’s class at UCLA chose to edit articles on the history of protest in Korea and how this has led to social changes – or raised awareness that change needs to occur.
On the first day of 1995 people began to gather at the Myeong-dong Cathedral. They came with the knowledge that they would be there for many days, as many as it would take to reach their goals. So began the 1995 Myeong-Dong migrant labor protest, which lasted a total of nine days and opposed the Industrial Trainee System (ITS), which they stated systematically produced a population of vulnerable, bottom-tier migrant workers in the labor market. Thirteen Nepalese migrant workers, who were previously contracted under the ITS, arrived in South Korea in hopes of escaping the poverty in their own country. However their hopes were dashed when employers withheld wages for over six months and then beat and abused them when the workers demanded to receive their wages directly. During the protest the demonstrators shackled their necks with iron chains, exposing their struggles as migrant laborers and drawing a parallel to slavery. They were soon joined by others, especially grassroots religious organizations, who protested in solidarity. In response to the protest the state acknowledged the systematic issues from the ITS and changed the Labor Standards Law to include migrant workers and industrial trainees contracted by the ITS in legislation regarding industrial accidents, medical insurances, and minimum wage arrangements. However it should be noted that this still did not address the issues of toxic and inhumane working conditions and the production cycle of unauthorized workers. This realization eventually led to the creation of the Migrant Workers’ Support Movement (MWSM) and Joint Committee for Migrant Workers in Korea (JCMK).
Along with migrant workers, women are also at risk of being exploited for labor – something not limited to any one particular country. Women have been organizing to address workplace issues such as unequal pay and workplace violence as early as the 1880s. In 2006, several women gathered together to join their male coworkers in the South Korean KTX Train Attendant Union Strike, which protested the hiring practices of irregular workers. The women also protested against sexual harassment they had experienced in their workplace. The majority of the men from the KRWU (the union for the KTX workers) stopped protesting after 4 days; however, the women continued their strike. Over the course of 12 years, many workers dropped out of the strike; however, 180 continued until 2018 when the Railway Workers’ Union and Korea Railroad Corporation came to an agreement in which these 180 of the crew members were reinstated.
The following years also included protests, as demonstrators gathered for both the Hyehwa Station Protest in 2016 as well as the Yellow Ribbon Campaign and Sewol Ferry Protest Movement in 2014. The Hyehwa Station Protest was formed to protest against the discrimination of women and crimes involving spy cameras, also known as molka. Many of these spy camera cases go unreported or undetected, and those that are reported typically do not lead to prison sentences. The Yellow Ribbon Campaign and Sewol Ferry Protest Movement occurred after the Sewol Ferry sinking, where about 63% of the people on board the ferry died after the ship capsized and several crew members abandoned it and its passengers. Many of these deaths occurred as a result of the crew ordering passengers to remain in their cabins and not alerting them to the evacuation of the ship. In the days following the sinking it was also discovered that the ship was in poor shape and was carrying over twice its maximum limit of cargo, which was also not secured properly. The regular ferry captain had warned the ship’s owners, Chonghaejin Marine, of this but was met with hostility and threats of losing his job. The yellow ribbon became a prevalent symbol in South Korea. Its significance evolved during the course of the protest, as people began to realize that many did not survive and the gathering focus turned from mourning and hopes of return to activism and democratization. In 2017, three years after the Sewol Ferry Sinking, the former president of South Korea, Park Geun-hye, was removed from office. During the months leading up to this event, the yellow symbols of Sewol commemoration were always present on political slogans and impeachment demonstrations.
Wikipedia has a wealth of knowledge, however the site cannot grow without users contributing and correcting information to the site. A Wikipedia writing assignment is a wonderful way to teach your students about technical writing, collaboration, and sourcing in a unique learning environment. If you are interested in using Wikipedia with your next class, visit teach.wikiedu.org to find out how you can gain access to tools, online trainings, and printed materials.
We’re excited to announce the start of two new Wikidata courses, currently in progress. There is one intermediate course and one beginner course. We couldn’t be more pleased with the course participants. They have ambition, passion, and plenty of curiosity that will make for some exciting conversations. Learn more about them and their hopes for incorporating Wikidata into their professional work.
Interested in taking a virtual course about Wikidata? Visit our beginner or intermediate course pages to sign up to receive updates and course announcements. Or contact data@wikiedu.org with questions.
Latest tech news from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. Translations are available.
Recent changes
Changes later this week
Meetings
Future changes
Tech news prepared by Tech News writers and posted by bot • Contribute • Translate • Get help • Give feedback • Subscribe or unsubscribe.
From the very beginning, we’ve had our champions — students, faculty, and institutions alike — who have recognized what a Wikipedia writing assignment can achieve for student learning and for the world. Thanks to word-of-mouth, as well as the great work these individuals have accomplished using our resources (work that speaks for itself), more and more faculty are getting involved in this open educational practice. Not only that, but institutions are now awarding their faculty for incorporating Wikipedia into their pedagogy.
It’s been a busy year for Wikipedia in pedagogy. And we couldn’t be more thrilled to hear about your successes. If you’ve been recognized for incorporating Wikipedia into your undergraduate or graduate curriculum, please let us know by mailing Wikipedia Student Program Manager Helaine Blumenthal at helaine@wikiedu.org.
If you want to incorporate a Wikipedia writing assignment into an upcoming course, visit teach.wikiedu.org for information about our free resources and systems of support.
How’d we do in our strive for operational excellence last month? Read on to find out!
There were three recorded incidents last month, which is slightly below our median of the past two years (Explore this data). To read more about these incidents, their investigations, and pending actionables; check Incident documentation § 2019.
MediaWiki uses the PSR-3 compliant Monolog library to send messages to Logstash (via rsyslog and Kafka). These messages are used to automatically detect (by quantity) when the production cluster is in an unstable state. For example, due to an increase in application errors when deploying code, or if a backend system is failing. Two distinct issues hampered the storing of these messages this month, and both affected us simultaneously.
Elasticsearch mapping limit
The Elasticsearch storage behind Logstash optimises responses to Logstash queries with an index. This index has an upper limit to how many distinct fields (or columns) it can have. When reached, messages with fields not yet in the index are discarded. Our Logstash indexes are sharded by date and source (one for “mediawiki”, one for “syslog”, and one for everthing else).
This meant that error messages were only stored if they only contained fields used before, by other errors stored that day. Which in turn would only succeed if that day’s columns weren’t already fully taken. A seemingly random subset of error messages was then rejected for a full day. Each day it got a new chance at reserving its columns, so long as the specific kind of error is triggered early enough.
To unblock deployment automation and monitoring of MediaWiki, an interim solution was devised. The subset of messages from “mediawiki” that deal with application errors now have their own index shard. These error reports follow a consistent structure, and contain no free-form context fields. As such, this index (hopefully) can’t reach its mapping limit or suffer message loss.
The general index mapping limit was also raised from 1000 to 2000. For now that means we’re not dropping any non-critical/debug messages. More information about the incident at T234564. The general issue with accommodating debug messages in Logstash long-term, is tracked at T180051. Thanks @matmarex, @hashar, and @herron.
Crash handling
Wikimedia’s PHP configuration has a “crash handler” that kicks in if everything else fails. For example, when the memory limit or execution timeout is reached, or if some crucial part of MediaWiki fails very early on. In that case our crash handler renders a Wikimedia-branded system error page (separate from MediaWiki and its skins). It also increments a counter metric for monitoring purposes, and sends a detailed report to Logstash. In migrating the crash handler from HHVM to PHP7, one part of the puzzle was forgotten. Namely the Logstash configuration that forwards these reports from php-fpm’s syslog channel to the one for mediawiki.
As such, our deployment automation and several Logstash dashboards were blind to a subset of potential fatal errors for a few days. Regressions during that week were instead found by manually digging through the raw feed of the php-fpm channel instead. As a temporary measure, Scap was updated to consider the php-fpm’s channel as well in its automation that decides whether a deployment is “green”.
We’ve created new Logstash configurations that forward PHP7 crashes in a similar way as we did for HHVM in the past. Bookmarked MW dashboards/queries you have for Logstash now provide a complete picture once again. Thanks @jijiki and @colewhite! – T234283
Take a look at the workboard and look for tasks that might need your help. The workboard lists error reports, grouped by the month in which they were first observed.
→ https://phabricator.wikimedia.org/tag/wikimedia-production-error/
Or help someone that’s already started with their patch:
→ Open prod-error tasks with a Patch-For-Review
Breakdown of recent months (past two weeks not included):
Thank you, to everyone else who helped by reporting, investigating, or resolving problems in Wikimedia production. Thanks!
Until next time,
– Timo Tijhof
Footnotes:
[1] Incidents. –
wikitech.wikimedia.org/wiki/Special:PrefixIndex?prefix=Incident…
[2] Tasks created. –
phabricator.wikimedia.org/maniphest/query…
[3] Tasks closed. –
phabricator.wikimedia.org/maniphest/query…
[4] Open tasks. –
phabricator.wikimedia.org/maniphest/query…
By UK Wikimedian and copyright enthusiast Geni
Spoiler:Its a terrible broken system which is part of the reason Wikipedia went copyleft in the first place. Please note that this is not legal advice. If you want that, ask a lawyer or, given the mess some bits of the law are in, 5 supreme court judges.
To be honest, this would be better titled “what you can upload photographs of without Commons rightfully complaining”.
The first thing you have to consider is: is the subject of the photo 3D or 2D? 2D and 3D subjects are dealt with very differently so see the relevant section for the subject you are interested in (objects with more than 3 dimensions are probably the same as 3D objects but there is no caselaw).
The good news is that the UK is one of the most liberal countries when it comes to photographing 3D objects (formal term freedom of panorama). If its on 3D and on permanent display in a public place then you are free to photograph it. This covers buildings, statues, dolls and basically anything else that’s 3D (although the exact reasons why may vary).
To break it down a bit, permanent display means no specific plans to remove the subject at some point. Public place means places the general public regularly has access to. So things like market squares, museums and the more open type of church would be fine but a private house or factory would not be (and yes this can result in the weird situation where you can’t upload a photo of a figurine taken in your home but could upload a picture of an identical one on display a museum).
One exception to all of this is that it assumes the item is under copyright in the first place. If the author has been dead for 70 years or the subject is in the public domain for some other reason then the location of the object and its permeance doesn’t matter. A second exception is that it only applies to items that qualify for copyright at all. Under UK law functional items (tools machinery, clothing etc) that don’t rise to the level of artistic craftsmanship don’t qualify for copyright. Unfortunately the term “artistic craftsmanship” is only defined through caselaw and even then pretty poorly. Of the nominal standards, the easiest to work to involves judging author intent. If it appears that the author was trying to create an artwork then the subject is more likely to qualify for copyright than if it did not. For example a highly decorative lampshade might well qualify for copyright but a standard fluorescent strip light mounting would not.
While the UK may be liberal with 3D objects its very much the reverse with 2D. Photos of paintings, murals and graffiti (and any other 2D work) are copyright infringements if the original work is under copyright (which unless the author has been dead for 70 years it usually would be).
The UK has an explicit allowance for incidental inclusion. Wikimedia Commons users tend to interpret this as meaning
that if something is not the subject of the photo you don’t need to worry about it. Graffiti on a building (where the photo is of the building) or a temporary sculpture in the corner of a village square are not an issue. Photos where those were the focus of the image would be a problem. Full details can be found at Commons:De minimis (the rough US equivalent).
If all this copyright stuff is boring or depressing then I can offer you the unreasonably difficult photo contest where none of the subjects present a copyright issue.
—I suppose you are an entomologist?—I said with a note of interrogation.
—Not quite so ambitious as that, sir. I should like to put my eyes on the individual entitled to that name! A society may call itself an Entomological Society, but the man who arrogates such a broad title as that to himself, in the present state of science, is a pretender, sir, a dilettante, an impostor! No man can be truly called an entomologist, sir; the subject is too vast for any single human intelligence to grasp.
The Poet at the Breakfast Table (1872) by Oliver Wendell Holmes, Sr.
A collection of biographies with surprising gaps (ex. A.D. Imms) |
Eleanor Ormerod, an unexpected influence in the rise of economic entomology in India |
Kunhikannan died at the rather young age of 47 |
In the field of natural sciences the Hindus did not make any progress. The classifications of animals and plants are very crude. It seems to me possible that this singular lack of interest in this branch of knowledge was due to the love of animal life. It is difficult for Westerners to realise how deep it is among Indians. The observant traveller will come across people trailing sugar as they walk along streets so that ants may have a supply, and there are priests in certain sects who veil that face while reading sacred books that they may avoid drawing in with their breath and killing any small unwary insects. [Note: Salim Ali expressed a similar view ]He then examines science sponsored by state institutions, by universities and then by individuals. About the last he writes:
Though I deal with it last it is the first in importance. Under it has to be included all the work done by individuals who are not in Government employment or who being government servants devote their leisure hours to science. A number of missionaries come under this category. They have done considerable work mainly in the natural sciences. There are also medical men who devote their leisure hours to science. The discovery of the transmission of malaria was made not during the course of Government work. These men have not received much encouragement for research or reward for research, but they deserve the highest praise., European officials in other walks of life have made signal contributions to science. The fascinating volumes of E. H. Aitken and Douglas Dewar are the result of observations made in the field of natural history in the course of official duties. Men like these have formed themselves into an association, and a journal is published by the Bombay Natural History Association[sic], in which valuable observations are recorded from time to time. That publication has been running for over a quarter of a century, and its volumes are a mine of interesting information with regard to the natural history of India.
This then is a brief survey of the work done in India. As you will see it is very little, regard being had to the extent of the country and the size of her population. I have tried to explain why Indians' contribution is as yet so little, how education has been defective and how opportunities have been few. Men do not go after scientific research when reward is so little and facilities so few. But there are those who will say that science must be pursued for its own sake. That view is narrow and does not take into account the origin and course of scientific research. Men began to pursue science for the sake of material progress. The Arab alchemists started chemistry in the hope of discovering a method of making gold. So it has been all along and even now in the 20th century the cry is often heard that scientific research is pursued with too little regard for its immediate usefulness to man. The passion for science for its own sake has developed largely as a result of the enormous growth of each of the sciences beyond the grasp of individual minds so that a division between pure and applied science has become necessary. The charge therefore that Indians have failed to pursue science for its own sake is not justified. Science flourishes where the application of its results makes possible the advancement of the individual and the community as a whole. It requires a leisured class free from anxieties of obtaining livelihood or capable of appreciating the value of scientific work. Such a class does not exist in India. The leisured classes in India are not yet educated sufficiently to honour scientific men.It is interesting that leisure is noted as important for scientific advance. Edward Balfour, mentioned earlier, also made a similar comment that Indians were too close to subsistence to reflect accurately on their environment! (apparently in The Vydian and the Hakim, what do they know of medicine? (1875) which unfortunately is not available online)
Entomologists meeting at Pusa in 1919 Third row: C.C. Ghosh (assistant entomologist), Ram Saran ("field man"), Gupta, P.V. Isaac, Y. Ramachandra Rao, Afzal Husain, Ojha, A. Haq Second row: M. Zaharuddin, C.S. Misra, D. Naoroji, Harchand Singh, G.R. Dutt (Personal Assistant to the Imperial Entomologist), E.S. David (Entomological Assistant, United Provinces), K. Kunhi Kannan, Ramrao S. Kasergode (Assistant Professor of Entomology, Poona), J.L.Khare (lecturer in entomology, Nagpur), T.N. Jhaveri (assistant entomologist, Bombay), V.G.Deshpande, R. Madhavan Pillai (Entomological Assistant, Travancore), Patel, Ahmad Mujtaba (head fieldman), P.C. Sen First row: Capt. Froilano de Mello, W Robertson-Brown (agricultural officer, NWFP), S. Higginbotham, C.M. Inglis, C.F.C. Beeson, Dr Lewis Henry Gough (entomologist in Egypt), Bainbrigge Fletcher, Bentley, Senior-White, T.V. Rama Krishna Ayyar, C.M. Hutchinson, Andrews, H.L.Dutt |
Entmologists meeting at Pusa in 1923
Fifth row (standing) Mukerjee, G.D.Ojha, Bashir, Torabaz Khan, D.P. Singh
Fourth row (standing) M.O.T. Iyengar, R.N. Singh, S. Sultan Ahmad, G.D. Misra, Sharma,Ahmad Mujtaba, Mohammad Shaffi
Third row (standing) Rao Sahib Y Rama Chandra Rao, D Naoroji, G.R.Dutt, Rai Bahadur C.S. Misra, SCJ Bennett (bacteriologist, Muktesar), P.V. Isaac, T.M. Timoney, Harchand Singh, S.K.Sen
Second row (seated) Mr M. Afzal Husain, Major RWG Hingston, Dr C F C Beeson, T. Bainbrigge Fletcher, P.B. Richards, J.T. Edwards, Major J.A. Sinton
First row (seated) Rai Sahib PN Das, B B Bose, Ram Saran, R.V. Pillai, M.B. Menon, V.R. Phadke (veterinary college, Bombay)
|
|
WBStack is a project that I have been working on for a couple of years that finally saw the light of day at Wikidatacon 2019. It has gone through a couple of different names along the way, MWaas, WBaas, WikWiki, OpenCura and finally WBStack.
The idea behind the project is to provide Wikibase and surrounding services, such as a blazegraph query service, query service ui, quick statements, and others on a shared platform where installs, upgrades and maintenance are handeled centrally.
The initial release is very much an MVP (minimum viable product) aimed to get people talking about about the idea and to have a few keen users trying out the project. The registration is hidden behind an invite code system (if you want one then get in touch). Currently there are roughly 20 users on the project with 30 Wikibase installs, and some early bugs are being ironed out.
You can watch the demo of WBStack in its initial version in the video below at roughly 19:07. The video is also availbile here.
I’d like to thank Rhizome for supporting the project starting from this month by covering the initial infrastructure / hosting costs. You can read more about them on Wikipedia or by visiting their website. There is also a great blog post on the Wikimedia Foundation blog talking about their use of Wikibase.
I’m going to continue working on this project in my spare time, hopfully working on the features that matter most to the people that are already using it first, alongside any needed technical stuff.
Keep an eye out for more blog posts relating to WBStack. I’ll try to keep this blog updated.
The post An introduction to WBStack appeared first on Addshore.
Many users of Wikibase find themselves in a position where they need to change the concept URI of an existing Wikibase for one or more reasons, such as a domain name update or desire to have https concept URIs instead of HTTP.
Below I walk through a minimal example of how this can be done using a small amount of data and the Wikibase Docker images. If you are not using the Docker images the steps should still work, but you do not need to worry about copying files into and out of containers or running commands inside containers.
Firstly I need some test data, and for that data to exist in Wikibase and the Query service. I’ll go ahead with 1 property and 1 item, with some labels, descriptions and a statement.
# Create a string property with english label curl -i -X POST \ -H "Content-Type:application/x-www-form-urlencoded" \ -d "data={\"type\":\"property\",\"datatype\":\"string\",\"labels\":{\"en\":{\"language\":\"en\",\"value\":\"String, property label EN\"}},\"descriptions\":{},\"aliases\":{},\"claims\":{}}" \ -d "token=+\" \ 'http://localhost:8181/w/api.php?action=wbeditentity&new=property&format=json' # Create an item with label, description and statement using above property curl -i -X POST \ -H "Content-Type:application/x-www-form-urlencoded" \ -d "data={\"type\":\"item\",\"labels\":{\"en\":{\"language\":\"en\",\"value\":\"Some item\"}},\"descriptions\":{\"en\":{\"language\":\"en\",\"value\":\"Some item description\"}},\"aliases\":{},\"claims\":{\"P1\":[{\"mainsnak\":{\"snaktype\":\"value\",\"property\":\"P1\",\"datavalue\":{\"value\":\"Statement string value\",\"type\":\"string\"},\"datatype\":\"string\"},\"type\":\"statement\",\"references\":[]}]},\"sitelinks\":{}}" \ -d "token=+\" \ 'http://localhost:8181/w/api.php?action=wbeditentity&new=item&format=json'
Once the updater has run (by default it sleeps for 10 seconds before checking for changes) the triples can be seen in blazegraph using the following SPARQL query.
SELECT * WHERE {?a ?b ?c}
The concept URI is clearly visible in the triples as the default ‘wikibase.svc’ provided by the docker-compose example for wikibase.
You could choose to load the triples with a new concept URI into the same queryservice and namespace. However to simplify things, specifically, the cleanup of old triples, a clean and empty query service is also a good choice.
In my docker-compose file, I will specify a new wdqs service with a new name and altered set of environment variables, with the WIKIBASE_HOST environment variable changed to the new URI.
wdqs-new: image: wikibase/wdqs:0.3.2 volumes: - query-service-data-new:/wdqs/data command: /runBlazegraph.sh networks: default: aliases: - wdqs-new.svc environment: - WIKIBASE_HOST=somFancyNewLocation.foo - WDQS_HOST=wdqs-new.svc - WDQS_PORT=9999 expose: - 9999
This query service makes use of a new docker volume that I also need to define in my docker-compose.
volumes: < ....... <other volumes here> ....... > query-service-data-new:
As this URI is actually fake, and also in order to keep my updater requests within the local network I also need to add a new network alias to the existing wikibase service. After doing so my wikibase network section will look like this.
networks: default: aliases: - wikibase.svc - somFancyNewLocation.foo
To apply the changes I’ll restart the wikibase service and start the new updater service using the following commands.
$ docker-compose up -d --force-recreate --no-deps wikibase Recreating wdqsconceptblog2019_wikibase_1 ... done $ docker-compose up -d --force-recreate --no-deps wdqs-new Creating wdqsconceptblog2019_wdqs-new_1 ... done
Now 2 blazegraph query services will be running, both controlled by docker-compose.
The published endpoint, via the wdqs-proxy, is still pointing at the old wdqs service, as is the updater that is currently running.
The dumpRdf.php maintenance script in Wikibase repo allows the dumping of all Items and properties as RDF for use in external services, such as the query service.
The default concept URI for Wikibase is determined from the wgServer MediaWiki global setting [code]. Before MediaWiki 1.34 wgServer was auto-detected [docs] in PHP.
Thus when running a maintenance script, wgServer is unknown, and will default to the hostname the wikibase container can see, for example, “b3a2e9156cc1”.
In order to avoid dumping data with this garbage concept URI one of the following must be done:
So in order to generate a new RDF dump with the new concept URI, and store the RDF in a file run the following command.
$ docker-compose exec wikibase php ./extensions/Wikibase/repo/maintenance/dumpRdf.php --server http://somFancyNewLocation.foo --output /tmp/rdfOutput Dumping entities of type item, property Dumping shard 0/1 Processed 2 entities.
The generated file can then be copied from the wikibase container to the local filesystem using the docker cp command and the name of the wikibase container for your setup, which you can find using docker ps.
docker cp wdqsconceptblog2019_wikibase_1:/tmp/rdfOutput ./rdfOutput
In order to munge the dump, first I’ll copy it into the new wdqs service with the following command.
docker cp ./rdfOutput wdqsconceptblog2019_wdqs-new_1:/tmp/rdfOutput
And then run the munge script over the dump, specifying the concept URI.
$ docker-compose exec wdqs-new ./munge.sh -f /tmp/rdfOutput -d /tmp/mungeOut -- --conceptUri http://somFancyNewLocation.foo #logback.classic pattern: %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n 16:21:31.082 [main] INFO org.wikidata.query.rdf.tool.Munge - Switching to /tmp/mungeOut/wikidump-000000001.ttl.gz
The munge step will batch the data into a set of chunks based on a configured size. It also alters some of the triples along the way. The changes are documented here. If you have more data you may end up with more chunks.
Using the munged data and the loadData.sh script, the data can now be loaded directly into the query service.
$ docker-compose exec wdqs-new ./loadData.sh -n wdq -d /tmp/mungeOut Processing wikidump-000000001.ttl.gz <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><title>blazegraph™ by SYSTAP</title ></head ><body<p>totalElapsed=193ms, elapsed=75ms, connFlush=0ms, batchResolve=0, whereClause=0ms, deleteClause=0ms, insertClause=0ms</p ><hr><p>COMMIT: totalElapsed=323ms, commitTime=1572971213838, mutationCount=43</p ></html >File wikidump-000000002.ttl.gz not found, terminating
Currently, I have 2 query services running. The old one, which is public and still being updated by an updater, and the new one which is freshly loaded and slowly becoming out of date.
To create a second updater that will run alongside the old updater I define the following new service in my docker-compose file, which points to the new wikibase hostname and query service backend.
wdqs-updater-new: image: wikibase/wdqs:0.3.2 command: /runUpdate.sh depends_on: - wdqs-new - wikibase networks: default: aliases: - wdqs-updater-new.svc environment: - WIKIBASE_HOST=somFancyNewLocation.foo - WDQS_HOST=wdqs-new.svc - WDQS_PORT=9999
Starting it with a command I have used a few times in this blog post.
$ docker-compose up -d --force-recreate --no-deps wdqs-updater-new Creating wdqsconceptblog2019_wdqs-updater-new_1 ... done
I can confirm using ‘docker ps’ and also by looking at the container logs that the new updater is running.
docker-compose ps | grep wdqs-new wdqsconceptblog2019_wdqs-new_1 /entrypoint.sh /runBlazegr ... Up 9999/tcp
You might want to check your query service before switching live traffic to it to make sure everything is OK, but I will skip that step.
In order to direct traffic to the newly loaded and now updating query service all that is needed is to reload the wdqs proxy with the new backend host using the wdqs-proxy docker image, this can be done with PROXY_PASS_HOST.
wdqs-proxy: image: wikibase/wdqs-proxy environment: - PROXY_PASS_HOST=wdqs-new.svc:9999 ports: - "8989:80" depends_on: - wdqs-new networks: default: aliases: - wdqs-proxy.svc
And the service can be restarted with that same old command.
$ docker-compose up -d --force-recreate --no-deps wdqs-proxy Recreating wdqsconceptblog2019_wdqs-proxy_1 ... done
Running the same query in the UI will now return results with the new concept URIs.
And if I make a new item (Q2) I can also see this appear in the new query service with the correct concept URI.
curl -i -X POST \ -H "Content-Type:application/x-www-form-urlencoded" \ -d "data={\"type\":\"item\",\"labels\":{\"en\":{\"language\":\"en\",\"value\":\"Some item created after migration\"}},\"descriptions\":{\"en\":{\"language\":\"en\",\"value\":\"Some item description\"}},\"aliases\":{},\"claims\":{\"P1\":[{\"mainsnak\":{\"snaktype\":\"value\",\"property\":\"P1\",\"datavalue\":{\"value\":\"Statement string value\",\"type\":\"string\"},\"datatype\":\"string\"},\"type\":\"statement\",\"references\":[]}]},\"sitelinks\":{}}" \ -d "token=+\" \ 'http://localhost:8181/w/api.php?action=wbeditentity&new=item&format=json'
I left some things lying around that are no longer needed that I should cleanup. These include docker containers, docker volumes and files.
First the containers.
$ docker-compose stop wdqs-updater wdqs Stopping wdqsconceptblog2019_wdqs-updater_1 ... done Stopping wdqsconceptblog2019_wdqs_1 ... done $ docker-compose rm wdqs-updater wdqs Going to remove wdqsconceptblog2019_wdqs-updater_1, wdqsconceptblog2019_wdqs_1 Are you sure? [yN] y Removing wdqsconceptblog2019_wdqs-updater_1 ... done Removing wdqsconceptblog2019_wdqs_1 ... done
Then the volume. Note, this is a permanent removal of any data stored in the volume.
$ docker volume ls | grep query-service-data local wdqsconceptblog2019_query-service-data local wdqsconceptblog2019_query-service-data-new $ docker volume rm wdqsconceptblog2019_query-service-data wdqsconceptblog2019_query-service-data
And other files, also being permanently removed.
$ rm rdfOutput $ docker-compose exec wikibase rm /tmp/rdfOutput $ docker-compose exec wdqs-new rm /tmp/rdfOutput $ docker-compose exec wdqs-new rm -rf /tmp/mungeOut
I then also removed these services and volumes from the docker-compose yml file.
The post Changing the concept URI of an existing Wikibase with data appeared first on Addshore.
“The public looks to Wikipedia to make informed political decisions. If I can make that information more accurate and complete, that’s a good use of my time.”
When the National Science Policy Network (NSPN) announced that they would be sponsoring a course with us for early career scientists to add science policy information to Wikipedia (in alignment with their NSPN 2020 Election Initiative), the reaction online was excitement. The enthusiasm from early career scientists to take action was contagious and soon we had a robust pool of impressive applicants for the seats sponsored by NSPN. These scientists have been meeting virtually, once a week since September to deliver well-sourced, crucial science policy information to Wikipedia readers everywhere.
Professionals are drawn to take (and organizations are drawn to sponsor) our Wikipedia training courses for a variety of reasons, but almost always those reasons are driven by a passion for freeing up academic knowledge for people to use in their everyday lives. As a Wiki Scientist in a past course put it,
“As an academic, my goal is to produce high-quality data and analyses that can be used to inform policy processes; as an activist, my goal is to ensure that the information generated by those in the academy finds it way into the hands of the people who need to use it. Being a Wiki Scientist provided me a tremendous opportunity to finally fulfill the latter goal.”
We’re thrilled to help channel scientists’ passion to inform the public into concrete action. By collaborating with other early career professionals to drive forward a shared vision, they’re putting their knowledge to great use.
Meet the NSPN Wiki Scientists!
Kate Bredbenner is a graduate student at Rockefeller University in New York City. By day, Kate studies HIV using one-of-a-kind microscopes to learn more about how new HIV viruses are formed. By night, Kate runs a YouTube channel called SimpleBiologist that translates new scientific publications into 5 minute animated videos for adults without science careers. She also works with other science outreach organizations like the BioBus, KnowScience, and the Science Outreach Lab at Rockefeller to connect different communities with science. Kate hopes to edit Wikipedia articles surrounding molecular biology since she frequently and quickly becomes an expert on many topics for her YouTube videos.
Gwendolyn Gallagher is a PhD graduate student at the University of Chicago studying the effects of marine microbes on the global carbon cycle. In her work, she is interested in how microbes survive using phototrophy and the resulting global impacts of these metabolisms. The topic areas she would like to improve on Wikipedia are articles that focus on the intersection of aquatic systems, environmental science, and policy.
Christina Hansen is a developmental biologist and Genetics PhD student at the University of Wisconsin – Madison. She uses zebrafish and closely related fish species to study maternally-inherited factors responsible for key events, such as germ cell specification, during early embryonic development. Since her work incorporates aspects of molecular biology, genetics/genome editing, and reproductive/developmental biology, she plans to contribute her expertise in these areas to improve related Wikipedia content.
Dilara Kiran is a combined degree DVM/PhD candidate at Colorado State University in Fort Collins, CO. Her thesis research seeks to understand how infection with the bacteria that causes tuberculosis alters our immune cells. She is extremely passionate about using science to impact society through both evidence-based policy-making and effective science communication. During this course, Dilara aims to contribute to Wikipedia pages pertaining to global public health, veterinary medicine, zoonotic disease, and One Health.
Jake Krauss is a biologist and science communicator currently working on a PhD in reintroduction biology, or the study of bringing back endangered species from the brink of extinction. He has spent the last five years working in tropical biology and worked in science writing in marine science issues for the National Environmental Education Foundation. He has documented his experiences on his personal blog (Kraussingtheworld.wordpress.com) and presented on various environmental science topics on Boiling Point, a science-themed podcast. He looks forward to contributing to articles related to wildlife conservation and the tropics as a Wikipedian citizen-scientist!
Lydia Le Page is a postdoc at the University of California, San Francisco, where she images brain metabolism with MRI to understand neurodegenerative diseases. She is keen to contribute to Wikipedia as it is a fantastic resource for knowledge. She is most excited by democratizing evidence based policy – empowering voters to check politicians’ claims – and helping policy-makers make the best use of research when developing policies.
Katherine Lopez was born and raised in Queens, NY. She graduated from Hunter College with an honors degree in Psychology. She is currently pursuing a PhD in neuroscience at Weill Cornell Medicine where she aims to decipher how phenotypic adaption to environmental challenges is mediated through epigenetics. One of the topic areas she plans to improve on is the ecology/animal section in Wikipedia where much of the neuroscience research is omitted or outdated. Additionally, she is also interested in expanding sections of the epigenetic page, particularly the psychiatry portion, where new research isn’t described.
Holly Mayton is a co-founder and director of the National Science Policy Network, and holds a PhD in Chemical and Environmental Engineering with a Designated Emphasis in Public Policy from the University of California, Riverside. In addition to her dissertation work on the fate and transport of colloids in aquatic environments, she has served as a University of California Global Food Initiative Fellow, represented students on the board of the California Agriculture and Food Enterprise (CAFE) at UCR, contributed to several California state advisory committees on environmental science and public outreach, and worked part-time for the California Council on Science and Technology. Holly is passionate about connecting food and water science to policy and advocacy outcomes, from the local to the international level, and aims to improve Wikipedia pages related to food and water security in the U.S. and abroad.
Christopher Miller is currently an AAAS Science and Technology Policy Fellow at the U.S. Department of Energy, Office of Advanced Scientific Computing Research, where he is involved in program management of several inter-agency and public-private collaborations bringing to bear the High Performance Computing capabilities of the D.O.E. to solve Big Data problems in the cancer drug development and Veterans healthcare space. He received his Sc.B. in Cell and Molecular Biology from Brown University and the M.D. degree from the Carver College of Medicine at the University of Iowa. He completed a postdoctoral research fellowship in Sleep Medicine, Neurobiology and Epidemiology at Case Western Reserve University, where he investigated the application of entropy analysis algorithms to physiological time-series data to inform predictive modeling of clinical outcomes in patients with respiratory disorders and sleep disordered breathing. He also completed a postdoctoral fellowship in Clinical Medical Informatics at the N.I.H. Lister Hill National Center for Biomedical Communication at the National Library of Medicine where he used natural language processing and semantic predication extraction to visualize and analyze conceptual relationships in Medline text to facilitate literature-based discovery and hypothesis generation. Dr. Miller has biomedical research experience in Immunology and Molecular Virology.
Amy Nippert, graduate student in Neuroscience at the University of Minnesota.
Daniel Puentes, graduate student in Physics at Michigan State University.
Brian Redder, graduate student in Soil Science and biogeochemistry at Penn State University.
Jess Rudnick is a fifth year PhD Candidate in the Center for Environmental Policy and Behavior at UC Davis. Her research interests focus around the human dimension of agricultural-environmental issues, motivated by her desire to contribute to building a more equitable and sustainable food system. For her graduate research, she studied California’s policy approaches to climate-smart agriculture and California farmer decision-making on nitrogen management, for water quality implications. She is excited to join Wiki Scientists to add to the amazing amount of accurate, detailed and free (!) science information available to all online through Wikipedia, and she is especially looking forward to contributing to pages on agriculture, food production and food justice.
Alicia Takaoka, graduate student studying human computer interaction and social informatics at the University of Hawaii at Hilo.
Maryam Zaringhalam is a molecular biologist by training who now works in science policy, communication, and advocacy, with the goal of increasing access to the products and practice of science. She is a leadership team member of 500 Women Scientists and enrolled in the course to learn how to more effectively improve and create biographies for women and underrepresented minorities in STEM and science policy.
If you’re interested in buying out a customized professional development course for your members or for faculty at your institution, contact Director of Partnerships Jami Mathewson at jami@wikiedu.org.
In Changes and improvements to PHPUnit testing in MediaWiki, I wrote about efforts to help speed up PHPUnit code coverage generation for local development.[0] While this improves code coverage generation time for local development, it could be better.
As the Manual:PHP unit testing/Code coverage page advises, adjusting the whitelist in the PHPUnit XML configuration can speed things up dramatically. The problem is, adjusting that file is a manual process and a little cumbersome, so I usually didn't do it. And then because code coverage generation reports were slow locally[1], I ended up not running them while working on a patch. True, you will get feedback on code coverage metrics from CI, but it would be nicer if you could quickly get this information in your local environment first.
This was the motivation to add a Composer script in MediaWiki core that will help you adjust the PHPUnit coverage whitelist quickly while you're working on a patch for an extension or skin.
You can run it with composer phpunit:coverage-edit -- extensions/$EXT_NAME, e.g. composer phpunit:coverage-edit -- extensions/GrowthExperiments.
The ComposerPhpunitXmlCoverageEdit.php script copies the phpunit.xml.dist file to phpunit.xml (not version controlled), and modifies the whitelist to add directories for that extension/skin. vendor/bin/phpunit then reads phpunit.xml instead of the phpunit.xml.dist file. Tip: Make sure "Edit configurations" in your IDE (PhpStorm in my case) is using vendor/bin/phpunit and phpunit.xml, not phpunit.xml.dist, when executing the tests.
When you want to reset your configuration, you can rm phpunit.xml and vendor/bin/phpunit will read from phpunit.xml.dist again.
Further improvements to the script could include:
Thanks to @Mainframe98 and @Krinkle for review of the patch and to @AnneT for reviewing this post. Happy hacking!
[0] One patch changed <whitelist addUncoveredFilesFromWhitelist="true"> to false to help speed up PHPUnit code coverage generation, the second patch flipped the flag back to true in CI for generating complete coverage reports.
[1] For GrowthExperiments, generating coverage reports without a customized whitelist takes ~17 seconds. With a custom whitelist, it takes ~1 second. While 17 seconds is arguably not a lot of time, the near-instant feedback with a customized whitelist means one is less likely to face interruptions to their flow or concentration while working on a patch.
Melony Shemberger, Ed.D. is Associate Professor of Journalism and Mass Communication at Murray State University. Here she provides a framework for teaching Wikipedia writing assignments in the journalism classroom.
When I agreed to teach News Editing for the Spring 2019 semester, I went into full throttle to plan for a course that I had not taught in three years. What bothered me more was that the course content, although necessary and relevant, is dry and bland. Sprucing up the class lectures and assessments was my top goal, but I did not know what that would look like.
My answer came in November 2018 when I attended a faculty development workshop on my campus presented by instructional librarian Amy Dye Reeves, who completed a Wikipedia editing course for professionals, taught by Wiki Education, earlier in the year. As she was speaking, the idea to integrate Wikipedia into my News Editing course started taking shape in my head. I decided on the spot to involve Wikipedia as an experiential learning activity for my students. Minutes after the session ended, I returned to my office and signed up for a Wiki Education course page.
When the spring semester began in mid-January, I devoted the first week to building support among my students for Wikipedia. We explored how Wikipedia could build their editing skills through a series of themes. First, we discussed the importance of their editing contributions to enhance the accuracy of Wikipedia content. Second, we discussed ways in which Wikipedia is used in academic and nonacademic environments. Third, instruction centered on how Wikipedia content is based on established sources, that it’s not original research, and how the writing must be neutral and free of bias.
For successful integration of Wikipedia into the News Editing course, these learning objectives served as the foundation:
1. Demonstrate mastery of grammar, punctuation, spelling and sentence syntax.
2. Verify sources of information.
3. Edit for accuracy.
4. Edit copy for the online platform.
5. Edit copy according to legal and ethical issues.
6. Demonstrate proficient application of rules in The Associated Press Stylebook.
The class met for 75 minutes on Mondays and Wednesdays. On Mondays, lectures and formative assessment applications were conducted on a particular content area. These areas included grammar, punctuation, precision, accuracy, language and style, and legal and ethical concepts. For 14 weeks, each Wednesday was designated Wikipedia Wednesday, when students applied what they learned on Monday by editing a prescribed number of articles on Wednesday. In addition to editing, the students spent a portion of Wednesday’s class researching and writing their own Wikipedia articles. Students also conducted peer reviews of the Wikipedia articles they wrote. Students reflected on their experiences in weekly discussion board prompts in Canvas, the university’s learning management system.
Wikipedia assignments were worth 40 percent of a student’s final grade and based on four components: 1. class participation during Wikipedia Wednesdays, 2. discussion board assignments, 3. article development, and 4. presentation of their experience at the university’s Scholars Week celebration in April. Rubrics were used to assess the editing, writing, and discussion assignments. A student’s grade was not based on whether his or her article was published. Several drafts were submitted before the final one, with instructor feedback provided each time.
I designed discussion board assignments in Canvas for students to reflect on their editing and writing experiences that day and comment on the course material applied. Here is an example:
Editing language was discussed in class on Monday. This means we as editors strive to eliminate wordiness. Proper grammar, precision and accuracy also are important. Reflect on these concepts. Describe your editing process today.
Provide the title of the Wikipedia articles you edited and links to the articles. Strive to edit three articles today.
In addition, here are tasks for writing your article:
1. Develop your outline.
2. Find at least two sources for now to help you begin your research. Document those in your discussion post.
3. To begin writing your article in the sandbox, access the Wiki Education training module introducing the concept.
In your post, discuss your progress on your article, as well as any other insights that you wish to provide.
Your response should be approximately 150-200 words and must be posted before the end of class. Respond to at least one other post before the deadline. Points will be deducted if no peer response is recorded.
In their posts, students had to provide links to the articles they edited and comment on peers’ posts. The number of articles the students edited varied. For example, students might be tasked to edit three articles one week. The next week, the number could be higher or lower, depending on the content area discussed on the previous Monday.
In Spring 2019, 12 students edited 116 articles, making 321 total edits and adding 9,500 words. Five students had articles published on Wikipedia, plus seven Commons uploads such as photos. Students were able to include their Wikipedia editing history as part of their portfolio, qualifying this activity as an experiential learning artifact.
In addition, I have shared my Wikipedia work at conferences. My instructional design of Wikipedia in the journalism classroom was selected as a winning entry in a teaching contest at the Association for the Education of Journalism and Mass Communication annual conference held in early August. For the Fall 2019 semester, Wikipedia again is a major learning activity for another course that I teach — in-depth reporting. We are in a new kind of information age that demands the need for greater accuracy, and I am eager to guide students on this journey as we work to shape Wikipedia into a source for everyone to use.
To incorporate a Wikipedia writing assignment into a future course, visit teach.wikiedu.org to access our free assignment templates, student trainings, and tools.
Now that we know all about what MediaInfo content looks like and how to request it from the api, let’s see how to add MediaInfo content to an image. If you don’t remember all that, have a look at the previous blog post for a refresher.
Captions are called ‘labels’ in Wikibase lingo, and so we’ll want to put together a string that represents the json text defining one or more labels. Each label can have a string defined for one or more languages. This then gets passed to the MediaWiki api to do the heavy lifting.
Here’s an example of the ‘data’ parameter to the api before url encoding:
data={"labels":{"en":{"language":"en","value":"Category:Mak Grgić"}, "sl":{"language":"sl","value":"Mak Grgic"}}}
You’ll need to pass a csrf token which you can get after logging in to MediaWiki, and the standard parameters to wbeditentity
, namely:
action=wbeditentity id=<Mxxx, the MediaInfo id associated with your image> summary=<comment summarizing the edit> token=<csrf token you got from logging in>
Since I spend most of my coding life in Python land, we love the requests module. Here’s the relevant code for that:
params = {'action': 'wbeditentity', 'format': 'json', 'id': minfo_id, 'data': '{"labels":{"en":{"language":"en","value":"' + caption + '"}}}', 'summary': comment, 'token': self.args['creds']['commons']['token']} response = requests.post(self.args['wiki_api_url'], data=params, cookies=self.args['creds']['commons']['cookies'], headers={'User-Agent': self.args['agent']})
where variables like minfo_id
, comment
and so on should be self-explanatory.
You’ll get json back and if the request fails within MediaWiki, there will be an entry named ‘error’ in the response with some string describing the error.
You can have a look at the add_captions() method in https://github.com/apergos/misc-wmf-crap/blob/master/glyph-image-generator/generate_glyph_pngs.py for any missing details.
Since that’s all pretty straightfoward, let’s move on to…
A ‘depicts’ statement is a Wikibase statement (or ‘claim’) that the image associated with the specified MediaInfo id depicts a certain subject. We specify this by using the Wikidata property id associated with ‘depicts’. For www.wikidata.org that is https://www.wikidata.org/wiki/Property:P180 and for the test version of Wikidata I work with at https://wikidata.beta.wmflabs.org it is https://wikidata.beta.wmflabs.org/wiki/Property:P245962 so you’ll need to tailor your script to the Wikibase source you’re using.
When we set a depicts statement via the api, existing statements are not touched, so it’s good to check that we don’t already have a depicts statement that refers to our subject. We can retrieve the existing MediaInfo content (see the previous blog post for instructions) and check that there is no such depicts statement in the content before continuing.
When we add a depicts or other statement, existing labels aren’t disturbed, so you can batch caption some images and then go on to batch add depicts statements without any worries.
The MediaInfo depicts statement, like any other Wikibase claim, has a ‘mainsnak
‘, and a ‘snaktype
‘ (see previous blog post for more info). Crucially, the value for the depicts property must be an existing item in the Wikidata repository used by your image repo; it cannot be a text string but must be an item id (Qnnn).
Here is an example of the ‘data’ parameter to the api before url encoding:
data={"labels":{"en":{"language":"en","value":"Template:Zoom"}, "fa":{"language":"fa","value":"الگو:Zoom"}}, "sitelinks":{"commonswiki":{"site":"commonswiki", "title":"Template:Zoom"},"fawiki":{"site":"fawiki", "title":"الگو:Zoom"}}}
For the requests module, you’ll have something like this:
depicts = ('{"claims":[{"mainsnak":{"snaktype":"value","property":"' + self.args['depicts'] + '","datavalue":{"value":{"entity-type":"item","id":"' + depicts_id + '"},' + '"type":"wikibase-entityid"}},"type":"statement","rank":"normal"}]}') comment = 'add depicts statement' params = {'action': 'wbeditentity', 'format': 'json', 'id': minfo_id, 'data': depicts, 'summary': comment, 'token': self.args['creds']['commons']['token']} response = requests.post(self.args['wiki_api_url'], data=params, cookies=self.args['creds']['commons']['cookies'], headers={'User-Agent': self.args['agent']})
Note here that while we retrieve MediaInfo content from the api and these entries are called ‘statements’ in the output, when we submit them, they are called ‘claims’. Other than that, make sure that you have the right property id for ‘depicts’ and you should be good to go.
There are some details like the ‘<code>rank:normal</code>’ bit that you can learn about here https://commons.wikimedia.org/wiki/Commons:Depicts#Prominence (TL;DR: if you use ‘rank:normal’ for now you won’t hurt anything.)
Again, the variables ought to be pretty self-explanatory. For more details you can look at the add_depicts
method in the generate_glyph_pngs.py script.
You’ll get an ‘error’ item in the json response, if there’s a problem.
The script is a quick tool I used to populate our testbed with a bunch of structured data; it’s not meant for production use! It doesn’t check for nor respect maxlag (the databases replication lag status), it doesn’t handle dropped connections, it does no retries, it doesn’t use clientlogin for non-bot scripts, etc. But it does illustrate how to add retrieve MediaInfo content, add captions, add items to Wikidata, and set depicts statements.
Much more is possible; this is just the beginning. Join the #wikimedia-commons-sd IRC channel on freenode.net for more!
Wiki Loves Monuments UK, part of the world’s biggest photographic contest, has announced the winners of this year’s competition. The UK competition is organised and voted on by members of the Wikimedia community in the UK, and seeks to encourage photographers to upload their images to Wikimedia Commons, the media-sharing sister site of Wikipedia, where content is shared on Creative Commons Open Licenses and is freely available to use by anybody.
Competition organiser Michael Maggs announced the winners on the Wiki Loves Monuments UK site over the weekend and explained the judges decisions to award the main prizes.
Michael Maggs: “The judges appreciated the wonderful colour-palette that the photographer has captured with the early-morning light, and the real skill and care that is evident in the composition.”
Michael Maggs: “Although Bass Rock is a well-photographed subject, the judges picked this image out for its unusual and varied lighting which brings out the details of the upper rock surface, the clouds of birds in flight, and the photographic angle which allows the lighthouse to stand out clearly.”
Michael Maggs: “The judges liked the use of a low camera angle and late afternoon sunshine to enhance the presence of this powerful monument. They also appreciated the photographer choosing a lesser-known site.”
This year the judges have awarded only five commendations, as they did not feel there were sufficient images of prize-winning quality to award the usual seven. We are accordingly submitting a total of eight images this time.
If you want to see all 10,438 images submitted to Wiki Loves Monuments this year, you can find them in this category on Wikimedia Commons.
Congratulations to the winners of the top prizes, and especially to MHoser, whose winning entry receives a prize of £250. Wiki Loves Monuments will return in September 2020, and we strongly encourage photographers to consider taking photos of monuments throughout the year which they can submit next September.
Latest tech news from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. Translations are available.
Recent changes
Changes later this week
MediaWiki:ipb-default-expiry
can set the default length to block a user for your wiki. You will be able to use MediaWiki:ipb-default-expiry-ip
to set a different default block length for IP editors. [2]
Meetings
Tech news prepared by Tech News writers and posted by bot • Contribute • Translate • Get help • Give feedback • Subscribe or unsubscribe.
22/10/2019-28/10/2019
highway=mini_roundabout
has been used nearly 52,000 times and was documented 11 years ago. Florian Lohoff came across a mini_roundabaout in OSM and suggests deprecating the tag, one which he hadn’t used before. This started a lengthy discussion thread on the tagging mailing list where you can learn the background and a lot of country-specific regulations.
crossing=zebra
with crossing=marked
. This is a particular issue in the UK, where the tag originated, and where it has a precise legal meaning. The GitHub issue was closed and further comments were ignored.
waterway=wadi
. There are more changes which he mentioned in his blog post or can be found in GitHub.
Where | What | When | Country |
---|---|---|---|
Dhaka | State of the Map Asia 2019 | 2019-11-01-2019-11-02 | |
Brno | State of the Map CZ+SK 2019 | 2019-11-02-2019-11-03 | |
Brno | Brněnský listopadový Missing maps mapathon na konferenci OpenAlt | 2019-11-02 | |
Toronto | Toronto Mappy Hour | 2019-11-04 | |
Grenoble | Atelier Contribuer avec Mapillary | 2019-11-04 | |
London | London Missing Maps Mapathon | 2019-11-05 | |
Stuttgart | Stuttgarter Stammtisch | 2019-11-06 | |
Helsinki | Missing Maps Mapathon at Finnish Red Cross – Nov 2019 | 2019-11-07 | |
Bochum | Mappertreffen | 2019-11-07 | |
San José | Civic Hack & Map Night | 2019-11-07 | |
Montrouge | Rencontre mensuelle des contributeurs de Montrouge et alentours | 2019-11-07 | |
Ulmer Alb | Stammtisch Ulmer Alb | 2019-11-07 | |
Dortmund | Mappertreffen | 2019-11-08 | |
Kameoka | 京都!街歩き!マッピングパーティ:第14回 鍬山神社 | 2019-11-10 | |
Budapest | OSM Hungary Meetup reboot | 2019-11-11 | |
Taipei | OSM x Wikidata #10 | 2019-11-11 | |
Lyon | Rencontre mensuelle pour tous | 2019-11-12 | |
Salt Lake City | SLC Mappy Hour | 2019-11-12 | |
Nitra | Missing Maps Mapathon Nitra #4 | 2019-11-12 | |
Wellington | FOSS4G SotM Oceania 2019 | 2019-11-12-2019-11-15 | |
Hamburg | Hamburger Mappertreffen | 2019-11-12 | |
Munich | Münchner Stammtisch | 2019-11-13 | |
Berlin | 137. Berlin-Brandenburg Stammtisch | 2019-11-14 | |
Nantes | Réunion mensuelle | 2019-11-14 | |
Encarnación | State of the Map Latam 2019 | 2019-11-14 | |
Niš | Missing Maps Mapathon Niš #1 | 2019-11-16 | |
Hanover | Stammtisch | 2019-11-16 | |
Cologne Bonn Airport | Bonner Stammtisch | 2019-11-19 | |
Reading | Reading Missing Maps Mapathon | 2019-11-19 | |
Lüneburg | Lüneburger Mappertreffen | 2019-11-19 | |
Prešov | Missing Maps Mapathon Prešov #4 | 2019-11-21 | |
Grand-Bassam | State of the Map Africa 2019 | 2019-11-22-2019-11-24 | |
Cape Town | State of the Map 2020 | 2020-07-03-2020-07-05 |
Note: If you like to see your event here, please put it into the calendar. Only data which is there, will appear in weeklyOSM. Please check your event in our public calendar preview and correct it, where appropriate.
This weeklyOSM was produced by Elizabete, Jorieke V, Nakaner, NunoMASAzevedo, PierZen, Polyglot, Rogehm, SK53, Softgrow, SunCobalt, TheSwavu, YoViajo, derFred.
Status of the Wikipedia Student Program for Fall 2019 in numbers, as of September 30:
The Fall 2019 term is in full swing. Students are enrolling on the Dashboard, beginning to take the introductory training modules, and learning how to critically evaluate Wikipedia. The process of learning how to contribute to Wikipedia is as important as the contributions our students will ultimately make which is why these beginning weeks are indispensable.
Wikipedia Student Program Manager Helaine Blumenthal spent most of September ensuring that all of our courses are getting off to a good start. Running a Wikipedia assignment, especially for the first time, can be a complex project with a lot of moving parts. As part of our efforts to provide robust support, Helaine launched a Slack channel for our Fall 2019 instructors. We’re hoping that the channel will be a space where our instructors can collaborate, exchange ideas, and share tips and solutions.
We’re looking forward to the next few months when our students will begin to choose their topics and make their initial contributions.
Activism and activists are an important part of the global community, as they can help bring our attention to worthy causes and peoples. This is most likely why some of the students in Kristy Roschke’s Digital Media Literacy class at Arizona State University chose to edit on this topic. One of the articles was the one on Xiuhtezcatl Martinez, an indigenous environmental activist, hip hop artist, and youth director of Earth Guardians, a worldwide conservation organization. Active since a young age, Martinez has spoken publicly about the effects of fossil fuels on indigenous and other marginalized communities. He is also one of the plaintiffs involved with the cases Juliana v. United States, where they are suing the federal government for failing to act on climate change, as well as the Martinez v. Colorado Oil and Gas Conservation Commission lawsuit, which has the same aim but focuses on a state level. The other article is on Kathy Jetnil-Kijiner, a poet and climate change activist from the Marshall Islands. She is a co-founder of the environmental nonprofit organization Jo-Jikum and in 2014, was chosen to address the United Nations Climate Summit and in the following year, at COP21 in Paris. Jetnil-Kijiner has also been recognized by Vogue magazine, who heralded her as one of the 13 Climate Warriors, and by the Earth Company, who named her Impact Hero of the Year.
Many of the edits we highlight via this monthly report are sizable edits, however it’s important to recognize good smaller edits as well. One of the students in Jennie Burnet’s Culture and Change in Africa class at Georgia State University chose to update the article on slavery in contemporary Africa with some updated figures on slavery and vulnerability to slavery. The introductory paragraph to the article gives a great overview of this topic area: The continent of Africa is one of the regions most rife with contemporary slavery. Slavery in Africa has a long history, within Africa since before historical records, but intensifying with the Arab slave trade and again with the trans-Atlantic slave trade; the demand for slaves created an entire series of kingdoms (such as the Ashanti Empire) which existed in a state of perpetual warfare in order to generate the prisoners of war necessary for the lucrative export of slaves. These patterns have persisted into the colonial period during the late 19th and early 20th century. Although the colonial authorities attempted to suppress slavery from about 1900, this had very limited success, and after decolonization, slavery continues in many parts of Africa even though being technically illegal.
Suicide is one of the top ten leading causes of death worldwide. Its impact can be felt long after a successful attempt and has the potential to rip asunder lives. One of the students in Janni Aragon’s Gender and International Relations class at the University of Victoria chose to edit on this somber topic, focusing specially on suicide among Indigenous peoples, who still too often marginalized and overlooked. Suicide rates across First Nations, Inuit, and Metis communities continue to be considerably higher than that of non-Indigenous peoples in Canada. A Statistics Canada survey from 2011 to 2016 found that, when comparing suicide rates of Indigenous peoples to the rest of the Canadian population, First Nations people had a suicide rate three times higher, Metis had an estimated rate two times higher, and Inuit communities were found to face a suicide rate as much as 9 times higher than the national average. A 2017 study in the Canadian Journal of Psychiatry found intergenerational trauma due to the Canadian Indian residential school system to be linked to mental health issues and suicidal thoughts and actions. Much like the Indian schools in the United States, these residential schools were created to assimilate Indigenous children into the dominant culture (in this case Canadian) and to remove them from their homes and culture – even going as far as to deny and discourage family visits. Many of the students were exposed to physical and sexual abuse. All of this served to disconnect these children from their families and culture, leaving them unable to fit into either community even as they were still exposed to racism from mainstream Canadian society. All of this led to an increased risk of suicidal ideations and attempts that could in turn impact future generations.
In September, Wikipedia finally cracked 18% for proportion of women’s biographies. Increasing this number from 15.5% in 2014 has been a tremendous effort, and we’re proud to support instructors who write women into Wikipedia. One such instructor is Dr. Rebecca Barnes, whose most recent course Introduction to Global Climate Change just wrapped up. In a short 3.5 weeks, Dr. Barnes used our modules to teach students how to edit Wikipedia, resulting in an impressive 23 new biographies of women scientists! We now have articles for oceanographer Caroline C. Ummenhofer, marine biologist Anne E. Giblin, as well as earth scientist Katherine Calvin, among many others!
Students in Joan Strassmann’s Behavioral Ecology class have been off to a great start, working on articles about Diptera, the insect order that includes flies, fruit flies, and mosquitoes. The Hawaiian Islands are home to about 1,000 fruit fly species; many of these species evolved there and are found nowhere else in the world. A student in the class created an article about Drosophila silvestris, one of these unique fruit fly species. Other students in the class have created new articles about Drosophila mettleri, the Sonoran Desert fly, and Aedes taeniorhynchus, the black salt marsh mosquito, which is a vector of a range of mosquito-borne diseases including West Nile virus, eastern and western equine encephalomyelitis, and yellow fever.
We have some exciting updates from the Wikidata program this past month. We have another beginner’s Wikidata course running currently. This course differs from our first round of Wikidata courses in that we have strong representation from art museum staff. We are eager to see how our curriculum and training are able to support the linked data needs of these institutions. There are eight participants currently enrolled and we are looking forward to all of the edits they will make to Wikidata. You can follow their progress here.
We have also had some time to analyze the results of our first round of Wikidata courses from this summer. We have summarized some of the results of those first two courses in a blog post. We are proud of all of the edits these participants made on Wikidata. These two courses created more than 200 new items, made more than 3,000 edits, and added more than 300 descriptions to items. Lastly we had one participant merge more than 400 items. This is an achievement we are extremely proud of.
On a qualitative level, we had a participant created a new property: Archives Directory for the History of Collecting in America ID, which is now in use with almost 100 items. We had another start an engaging discussion about how to express the concept of “exoneration” on Wikidata. These kinds of conversations could have a lasting impact on their respective disciplines on Wikidata. This level of engagement on Wikidata is something we hope future courses can build off of and that the Wikidata community can benefit from.
This month we launched two new courses with two new partners! First, a 12-week course with the National Science Policy Network (NSPN) as part of its 2020 Election Initiative. Wiki Scientists are learning to contribute to Wikipedia in order to improve articles on scientific subjects relevant to the 2020 election. The neutral, well-sourced, fact-based material participants add will contribute to the body of knowledge voters check when making decisions at the ballot next year. You can read more about our partnership in this blog post from last month. The scientists taking the course are just starting to make some edits and select articles to work on in the coming weeks. A few examples of the topics they plan to improve at pathogen, algal bloom, user research, and science policy of the United States, among many others. We are excited by the cause and passion of the course and looking forward to helping these subject-matter experts have an impact on public knowledge.
We also started an 8-week course in connection with the New York Academy of Sciences. Like the NSPN course, participants are still in the early stages of the course, making minor edits and selecting their main project articles. We are thrilled with the range of scientific expertise these Wiki Scientists bring with them, selecting the kinds of articles that are difficult to edit for people without subject-matter training like sense strand, nigrostriatal pathway, graph C*-algebra, and anterior cranial fossa. Stay tuned next month, when participants will be busy making substantial improvements.
Also this month we wrapped up our second course in partnership with the Society of Family Planning. Like the first course, which finished last month, participants brought with them a wealth of expertise and experience on the subjects of abortion and contraception. In total, they added more than 23,000 words to 33 articles. Here are some stand-out examples
We had another article appear on Wikipedia’s main page through Did You Know (DYK) on behalf of a summer NARA participant: Maud E. Craig Sampson Williams with the following hook: Did you know that African-American suffragist Maud E. Craig Sampson Williams was denied membership in the National American Woman Suffrage Association?” It received more than 1,000 page views while on the main page!
This month Northeastern University Visiting Scholar Rosie Stephenson-Goodknight created an incredible seven new biographies of women and improved one that already existed:
Meanwhile, George Mason University Visiting Scholar Gary Greenbaum has been working hard with several other editors to improve the lengthy article on the Apollo 13 space mission. To date, he has made more than 500 edits to the page. Most Wikipedians don’t make 500 edits to any single page, but this is not terribly unusual for Gary. He also set to work on the San Francisco–Oakland Bay Bridge half dollar. If history is any precedent, it will not be long before we report its promotion to one of the higher levels of quality on Wikipedia, joining his collection of other excellent numismatics entries.
This month, we started our Wiki Scientists courses with the New York Academy of Sciences and the National Science Policy Network.
One of our partners, the International Society for Technology in Education (ISTE), officially launched a collective campaign (#DigCitCommit) to raise awareness of digital citizenship projects and the importance of engaging students to improve their digital literacy. Wiki Education is a part of the coalition aiming to reach 1 million students with new digital citizenship competencies, teaching students to be inclusive, informed, engaged, balanced, and alert. Wiki Education looks forward to working with new instructors who join the Student Program through this initiative, assigning students to write Wikipedia—a classroom project proven to achieve digital literacy skills.
September was a productive month on the fundraising front. We received our first grant payment of $550K for our current general operating support grant from the William and Flora Hewlett Foundation and our second grant payment of $167K for our current grant from the Stanton Foundation. We also received the exciting news that the WITH Foundation will be awarding Wiki Education a $40K grant to improve information on Wikipedia related to healthcare and disability issues. This great news was followed by the announcement that the Michelson 20MM Foundation will be awarding us $25K Spark grant to support improvements to our Dashboard. Finally, we received a grant of $1000 from the Leighty Foundation to support our Wiki Scholars and Scientists courses. All of this support from our wonderful foundation partners is helping us accomplish our goals of improving the quality, representativeness, and accuracy of Wikipedia.
In addition to receiving these new grants, we continued our efforts to acquire new grants, as well as renewal support from our existing funders. We submitted a letter of intent to the Park Foundation as well as a pre-proposal to the Institute of Museum and Library Services, in partnership with Wayne State University. We also had positive check-in conversations with our program officer at the Moore Foundation and with our program officer at the Wikimedia Foundation. As we cultivated and strengthened relationships with our funder partners, we also conducted a lot of desk research to identify potential new funders that we can reach out to and establish meaningful reciprocal relationships.
Academia is changing its mind about the place Wikipedia has in the classroom. This month, we featured new research published by Dr. Kate Grillo about the value of a Wikipedia assignment in archaeology courses. The paper, which she published along with Daniel Contreras in Cambridge University Press earlier this year, ultimately concludes that “Wikipedia’s popularity and reach mean that archaeologists should actively engage with the website by adding and improving archaeological content.”
So many women in STEM don’t have a Wikipedia biography until they’ve been recognized in a huge way. But thanks to Dr. Rebecca Barnes’ student at Colorado College, paleoclimatologist Dr. Andrea Dutton already had one even before she was named a MacArthur Foundation Fellow this month. Read our story here.
Our Dashboard software won the “Coolest Tool” award at Wikimania this year. Read why our Chief Technology Officer Sage Ross was so touched by the recognition. Or read about our positive experience at Wikimania more generally.
If you asked people to name an American suffragist, you might hear a few names of famous white women repeated. Our National Archives Wiki Scholars are making sure Wikipedia gives equal weight to suffragists of color, too. Read more about their progress here.
Blog posts:
External media:
In September, Software Developer Wes Reid focused on implementing a new user experience for the core ‘create/improve an article’ workflow for students. This new interface, which we plan to deploy between terms before the Spring 2020 classes start, provides relevant information for each distinct stage of the assignment lifecycle.
Along with the usual set of library upgrades, we significantly updated the Dashboard’s background job system, which is responsible for calculating course statistics and making automated Wikipedia edits to reflect course actions. With this update, the background jobs are now part of the server’s “system” services, which means they automatically get restarted when a server is rebooted. We also moved more of date importation into the core background job that handles data on a course-by-course basis, removing inconsistencies between different stats that were previously updated independently of each other.
We also made a number of improvements around how the Dashboard handles private information including better documentation of exactly what private information the Dashboard stores and why, steps for removing private information, and a way to download the private information stored about users.
Overall expenses in September were $171K, ($10K) less than the budgeted plan of $181K. Programs were under by ($12K) due to a combination of benefits ($1K), Indirect Expense allocation ($5K), Communication ($2K), and Travel ($7K) while incurring an overage in Professional Fees +$3K. General and Administration was over by +$2K due to a combination of items including an increase in travel +$1K, benefits accrual +$1K, and Promotional expense +$1, while under in Meetings ($6K), along with an uptick in Shared expenses +$5K. Fundraising and Governance were right on budget for the month.
The Year-to-date expenses are $513K ($43K) under budget of $556K. Fundraising and Board are right on target. General and Administration is under by ($2K) due to Operational Expenses ($14K), Payroll ($6K) and Occupancy ($1K) with an uptick in shared expenses +$19K. Programs are under by ($41K) due to Travel ($16K), Communications ($6K) and Indirect Cost allocations ($19K).
Current priorities:
In September, Frank provided the board with his reflections on the organization’s performance during the past fiscal year. 2018–19 has been a year that brought many changes to Wiki Education: most notable, and as a result of an effort to increase our organization’s financial sustainability, Wiki Education embarked on offering a new line of paid services. This step required an internal restructuring and the establishment of new processes which we’re still fine-tuning in order to improve the smooth cooperation across different departments. First results of our “Selling Services” project are very positive: the interest in our Scholars & Scientists Wikipedia and Wikidata courses has continuously increased and feedback from course participants has been overwhelmingly great. As a result, our earned revenue last fiscal year has by far exceeded our expectations and put us on a course toward creating a meaningful second source of revenue for Wiki Education.
As part of our effort to streamline and improve processes, Frank created the first draft of a new contract signing policy. Given that we started working with a fast growing number of external partners who pay for our services, this new policy will provide more clarity for those among staff who have the authority to sign contracts. In order to gather feedback, Frank has shared the draft with members of the senior leadership team and is planning on enacting the policy in October.
Also in September, Frank participated in the board’s development committee call, alongside TJ Bliss in his role as Chief Advancement Officer, updating the committee members about the current state of our fundraising efforts and the path forward.
Wikipedia aspires to collect and distribute the sum of human knowledge, but systemic barriers prevent the realization of this goal. Barriers to editing Wikipedia are highest in the Global South, where internet access can be sporadic or nonexistent, and people have less leisure time to contribute as unpaid labor. The entire continent of Africa (1.2 billion people) has fewer editors than the Netherlands (7 million people), meaning that content about Africa’s cultures, places, and people are predominantly written by outsiders.
With our partnership with the Society of Family Planning (SFP), we taught around two dozen public and women’s health experts how to edit Wikipedia, empowering them to apply their expertise towards improving Wikipedia’s coverage of family planning and maternal health. With our training and resources, one such health expert, a PhD candidate, chose to devote their time to improving articles related to Uganda, where they are from.
Over the 12-week course, they improved two articles related to family planning and maternal health in Uganda: Abortion in Uganda and Maternal health in Uganda. Their editing overlapped significantly with their scholarly research interests, which are maternal and child health. While they were pleased that articles specific to Uganda existed, they were disappointed in the low quality of those articles, expressing a belief that “not many contributions to the articles [they] edited seemed to be made by Ugandans”.
“I think specialist content on topics like family planning in Uganda is limited,” this health professional shared in an interview with Wiki Education, “yet it is common from my experience that people usually rely on Wikipedia information for initial Google searches for any topic.”
The PhD candidate’s role as a public health expert from Uganda meant they were uniquely positioned to improve this content. The article for Abortion in Uganda saw the addition of a new section about the health and economic consequences of unsafe abortions. Additionally, ten-year-old statistics about maternal deaths from unsafe abortions were updated to more recent figures. Maternal health in Uganda was improved by the addition of six references, enhancing the verifiability of the content. The statistics for maternal mortality ratio were also updated.
“The Wikipedia writing and editing process was completely new to me. Even with prior edits that I attempted to make before the SFP course, I learned that it is more complex that I initially thought.”
Although learning how to add to Wikipedia was an unfamiliar experience, it was one that this health professional found enlightening. “Prior to this training I was not so ‘open minded’ toward Wikipedia especially because being a physician, we rarely refer to Wikipedia for any reference.” Ultimately, though, they now believe that public health specialists should engage with Wikipedia because people rely on it for their initial information needs.
By contributing their voice and expertise, this scholar helped Wikipedia become more accurate and representative. Ugandans now have the opportunity to access information on English Wikipedia about their country by a fellow citizen, and we are honored to facilitate that connection!
The Islamic world has created many of the knowledge and inventions we see nowadays, such as coffee, algebra, and possibly the paper mill. Islamic art and architecture has also been highly influential throughout the world. The students of Boston University instructor Dr. Emine Fetvaci’s Islamic Art and Architecture class reviewed content in this topic area, paying attention to particular artworks, as well as trying to understand the patrons, artists, architects, and audiences of the works. Below are some of the articles they created and expanded.
The Shrine of Khwaja Abd Allah, commonly called the Shrine at Gazur Gah and the Abdullah Ansari Shrine Complex, is the funerary compound of the Sufi saint Khwaja Abdullah Ansari. It was built by architect Qavam al-Din of Shiraz in 1425, in Herat, Afghanistan and the patron of this monument is Shah Rukh, ruler of the Timurid dynasty. He commissioned the site as a memorial mausoleum for patron-saint Khwaja Abdullah Ansari, a Sufi mystic. Much of the focus of the complex is given to the east iwan, a rectangular interior space with one un-walled side. The facade consists of three entrances from the large polygonal bay, covered in intricate mosaics. Despite the grandeur of the ornamentation, the iwan walls are rough. This is likely due to the rushed nature of construction, which only took around three years despite the fact that decoration itself is usually completed in the same length of time. Historians believe this suggests that Qavam al-Din designed the ornamentation himself, which was then executed by a team of mosaicists.
Another example of Islamic architecture is the Al-Firdaws Madrasa, a 13th-century complex located southwest of Bab al-Maqam in Aleppo, Syria. It was established in 1235/36 by Dayfa Khatun, who would later serve as the Ayyubid regent of Aleppo, and consists of a madrasa, mausoleum, and other functional spaces. The complex is the largest and best known of the Ayyubid madrasas in Aleppo and due to its location outside the city walls, the madrasa was developed as a freestanding structure. This central location is believed by historians to have been chosen in order to demonstrate the power and wealth of the ruler of Aleppo to any passerby and because the site’s strong religious ties would have earned continuous words of prayer from passersby.
Other articles created and expanded by these students includes the one on Maqama, a literary genre which alternates the Arabic rhymed prose known as Saj‘ with intervals of poetry in which rhetorical extravagance is conspicuous. Originally in Arabic prosimetric, there are only eleven illustrated versions of the Maqāmāt from the thirteenth and fourteenth centuries that survive to this day. These Maqāmāt manuscripts were likely created and illustrated for the specialized book markets in cities such as Baghdad, Cairo, and Damascus, rather than for any particular patron. Elite and educated classes were the audience for these manuscripts, as the Maqāmāt was largely appreciated and valued for its nuanced poetry and language choice, rather than its manuscript illustrations.
Are you interested in incorporating a Wikipedia writing assignment into a future course? Visit teach.wikiedu.org to find out how you can gain access to our free tools, online trainings, and printed materials.
How’d we do in our strive for operational excellence last month? Read on to find out!
There were five recorded incidents last month, equal to the median for this and last year. – Explore this data.
To read more about these incidents, their investigations, and pending actionables; check Incident documentation § 2019.
This month saw three major upgrades across the MediaWiki stack.
The client-side switch to toggle between HHVM and PHP 7.2 saw its final push — from the 50% it was at previously, to 100% of page view sessions on 17 September. The switch further solidified on 24 September when static MediaWiki traffic followed suit (e.g. API and ResourceLoader). Thanks @jijiki and @Joe for the final push. – More details at T219150 and T176370.
The RFC to discontinue basic compatibility for the IE6 and IE7 browsers entered Last Call on 18 September. It was approved on 2 Oct (T232563). Thanks to @Volker_E for leading the sprint to optimise our CSS payloads by removing now-redundant style rules for IE6-7 compat. – More at T234582.
With HHVM behind us, our Composer configuration no longer needs to be compatible with a “PHP 5.6 like” run-time. Support for the real PHP 5.6 was dropped over 2 years ago, and the HHVM engine supports PHP 7 features. But, the HHVM engine identifies as “PHP 5.6.999-hhvm”. As such, Composer refused to install PHPUnit 6 (which requires PHP 7.0+). Instead, Composer could only install PHPUnit 4 under HHVM (as for PHP 5.6). Our unit tests have had to remain compatible with both PHPUnit 4 and PHPUnit 6 simultaneously.
Now that we’re fully on PHP 7.2+, our Composer configuration effectively drops PHP 5.6, 7.0 and 7.1 all at once. This means that we no longer run PHPUnit tests on multiple PHPUnit versions (PHPUnit 6 only). The upgrade to PHPUnit 8 (PHP 7.2+) is also unlocked! Thanks @MaxSem, @Jdforrester-WMF and @Daimona for leading this transition. – T192167
Take a look at the workboard and look for tasks that might need your help. The workboard lists error reports, grouped by the month in which they were first observed.
→ https://phabricator.wikimedia.org/tag/wikimedia-production-error/
Or help someone that’s already started with their patch:
→ Open prod-error tasks with a Patch-For-Review
Breakdown of recent months (past two weeks not included):
Thank you, to everyone else who helped by reporting, investigating, or resolving problems in Wikimedia production. Thanks!
Until next time,
– Timo Tijhof
Footnotes:
[1] Incidents. –
wikitech.wikimedia.org/wiki/Special:PrefixIndex?prefix=Incident…
[2] Tasks created. –
phabricator.wikimedia.org/maniphest/query…
[3] Tasks closed. –
phabricator.wikimedia.org/maniphest/query…
[4] Open tasks. –
phabricator.wikimedia.org/maniphest/query…
I’m happy to announce a brand new blog dedicated to MediaWiki and all things enterprise wiki related.
Half a year ago I launched Professional Wiki together with Karsten Hoffmeyer. Professional Wiki is, as the name suggests, a company providing professional wiki services. We help companies create and manage wikis, we provide training and support and we offer fully managed wiki hosting.
Today we published our new blog featuring a first post on installing MediaWiki extensions with Composer. This blog will contain both wiki news and longer lived articles, such as the one about Composer.
In recent years I was hesitant to post MediaWiki specific content on this blog (EntropyWins) because it had evolved a focus on software design. The new Professional Wiki blog solves this problem, so you can expect more MediaWiki related posts from me again.
The post New MediaWiki blog appeared first on Entropy Wins.
Latest tech news from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. Translations are available.
Recent changes
px
(pixels) instead of em
(em) for some specific cases. [3][4]
Changes later this week
Meetings
Future changes
wg*
to mw.config
. The old global variables will be removed later this year. You can know more about it and tell the developers if you want to try this out on your wiki first.
Tech news prepared by Tech News writers and posted by bot • Contribute • Translate • Get help • Give feedback • Subscribe or unsubscribe.
15/10/2019-21/10/2019
access=private
is used on service roads. Usually this choice means no routers will use these highways; more nuanced access options should be chosen instead.
contact:phone=
in favour of phone=
is up for voting until 5 November 2019.
Where | What | When | Country |
---|---|---|---|
Prizren | State of the Map Southeast Europe | 2019-10-25-2019-10-27 | |
Rapperswil | 11. Micro Mapping Party Rapperswil (OpenStreetMap Mapathon) | 2019-10-25 | |
Yosano-chō | 京都!街歩き!マッピングパーティ:第13回 ちりめん街道 | 2019-10-27 | |
Bremen | Bremer Mappertreffen | 2019-10-28 | |
Zurich | Missing Maps Mapathon Zürich | 2019-10-30 | |
Düsseldorf | Stammtisch | 2019-10-30 | |
Ulmer Alb | Stammtisch Ulmer Alb | 2019-10-31 | |
Dhaka | State of the Map Asia 2019 | 2019-11-01-2019-11-02 | |
Brno | State of the Map CZ+SK 2019 | 2019-11-02-2019-11-03 | |
London | London Missing Maps Mapathon | 2019-11-05 | |
Stuttgart | Stuttgarter Stammtisch | 2019-11-06 | |
Bochum | Mappertreffen | 2019-11-07 | |
San José | Civic Hack & Map Night | 2019-11-07 | |
Montrouge | Rencontre mensuelle des contributeurs de Montrouge et alentours | 2019-11-07 | |
Dortmund | Mappertreffen | 2019-11-08 | |
Budapest | OSM Hungary Meetup reboot | 2019-11-11 | |
Taipei | OSM x Wikidata #10 | 2019-11-11 | |
Lyon | Rencontre mensuelle pour tous | 2019-11-12 | |
Salt Lake City | SLC Mappy Hour | 2019-11-12 | |
Nitra | Missing Maps Mapathon Nitra #4 | 2019-11-12 | |
Wellington | FOSS4G SotM Oceania 2019 | 2019-11-12-2019-11-15 | |
Hamburg | Hamburger Mappertreffen | 2019-11-12 | |
Munich | Münchner Stammtisch | 2019-11-13 | |
Prešov | Missing Maps Mapathon Prešov #4 | 2019-11-13 | |
Berlin | 137. Berlin-Brandenburg Stammtisch | 2019-11-14 | |
Nantes | Réunion mensuelle | 2019-11-14 | |
Encarnación | State of the Map Latam 2019 | 2019-11-14 | |
Grand-Bassam | State of the Map Africa 2019 | 2019-11-22-2019-11-24 | |
Cape Town | State of the Map 2020 | 2020-07-03-2020-07-05 |
Note: If you like to see your event here, please put it into the calendar. Only data which is there, will appear in weeklyOSM. Please check your event in our public calendar preview and correct it, where appropriate.
This weeklyOSM was produced by Elizabete, Nakaner, Polyglot, Rogehm, SK53, Silka123, SunCobalt, TheSwavu, YoViajo, derFred, geologist, jinalfoflia.
In our last adventure we looked at C++ exceptions in WebAssembly with the emscripten compiler. Now we’re taking a look at the main error handling system for another language targeting WebAssembly, Rust.
Rust has a “panic”/”unwind” system similar to C++ exceptions, but it’s generally recommended against catching panics. It also currently doesn’t work in WebAssembly output, where Rust doesn’t use emscripten’s tricks of calling out to JavaScript and is waiting for proper exception integration to arrive in Wasm.
Instead, most user-level Rust code expresses fallible operations using the Result or Option enum types. An Option<T> can hold either some value of type T — Some(T) — or no value — None. A Result<T, E> is fancier and can hold either a data payload Ok(T) or a Err(E) holding some information about the error condition. The E type can be a string or an enum carrying a description of the error, or it can just be an empty () unit type if you’re not picky.
Rust’s “?” operator is used as a shortcut for checking and propagating these error values.
For instance a function to store to memory (which might fail if the address is invalid or non-writable) you could write:
// Looking up a memory page for writing could fail,
// if the page is unmapped or read-only.
pub fn page_for_write(&mut self, addr: GuestPtr)
-> Result<&mut PageData, Exception> {
// ... returns either Ok(something)
// or Err(Exception::PageFault)
}
pub fn store_8(&mut self, addr: GuestPtr, val: u8)
-> Result<(), Exception> {
// First some address calculations which cannot fail.
let index = addr_to_index(addr);
let page = addr_to_page(addr);
let mem = self.page_for_write(page)?;
// The "?" operator checked for an Err(_) condition
// and if so, propagated it to the caller. If it was
// Ok(_) then we continue on with that value.
mem.store_8(index, val);
Ok(())
}
This looks reasonably clean in the source — you have some ?s sprinkled about but they indicate that a branch may occur, which is good to help reason about the performance. This makes things more predictable when you look at it — addition of a destructor in C++ might make a fast path suddenly slow with emscripten’s C++/JavaScript hybrid exceptions, while the worst that happens here is a visible flag check which is not so bad, right?
Well, mostly. The beautiful, yet horrible thing about Rust is that automatic optimization lets you create these wonderful clean conceptual APIs that compile down to fast code. The horrible part is that you sometimes don’t know how or why it’s doing what, and there can still be surprises!
The good news is that there’s never any JavaScript call-outs in your hot paths, unlike emscripten’s C++ exception catching. Yay! But the bad news is that in WebAssembly, returning a structure like a Result<T,E> or an Option<T> that doesn’t resolve into a single word can be complicated. And knowing what resolves is complicated. And sometimes things get packed into integers and I don’t even know what’s doing that.
Rust “enums” can be much more fancy than C/C++ “enums”, with the ability not only to carry a discriminator of which enumerated value they carry, but to carry structure-like data payloads within them.
For Option<T>, this means you have a 1-bit discriminant between Some(_) or None and then the storage payload of the T type. If T is itself a non-zero or non-nullable type, or an enum with free space (a “niche”) then it can be optimized into a single word — for instance an Option<&u8> takes only a single pointer word of space because null references are not possible, while Option<*const u8> would take two words. When we use Result<(), E> for a return value on fallible operations that don’t need to return data, like the store_8 function above, we get that same benefit.
When you can return a single word, life is simple. At the low-level JIT implementation it’s probably passed in a register, and everything is awesome and fast.
However we have two words on data-bearing Result<T,E>s, and WebAssembly can’t return two words at once from a function. Instead, most of the time, the function is transformed to not use the return value, and instead send the address of a stack location to write the structure to memory, which means two memory stores and at least one memory read to check the discriminant value. Plus you have to manipulate the stack pointer, which you might not have needed otherwise on some functions.
This is not great, but is probably better than calling out to JavaScript and back. I haven’t yet benchmarked tight loops with this.
I’ve also sometimes seen Result enums get packed into a single word, and I don’t yet understand the circumstances that this happens.
On a WebAssembly build, I’ve had it happen with Result<u16, E> where E is a small fieldless enum: it’s packed into a single 32-bit integer. But Result<u8, E> is sent through the stack, and Result<u32, E> is too, though it could have been packed into a single 64-bit integer.
On native x86-64 builds on macOS, I see the word packing for both Result<u16, E> and Result<u32, E>… meanwhile Result<u64, E> uses the stack, but Result<u8, E> uses two words returned in different registers.
I know the internals of Rust layout and calling conventions are officially undocumented and can change, but it’d be nice to know roughly what some of them are. ;)
Subscriptions
Feed | RSS | Last fetched | Next fetched after |
---|---|---|---|
Ø | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Ad Huikeshoven On Open Blog | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
All The Modern Things - Article | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
All Things Linguistic | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Andy Mabbett, aka pigsonthewing | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Bawolff's rants | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Bina's blog | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Blue Rasberry | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Bookcrafting Guru | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
brionv | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Catching Flies | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Clouds & Unicorns | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Cometstyles.com | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Comments for maudite codes | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Content Translation Update | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
cookies & code | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Data Hacks | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Design at Wikipedia | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
dialogicality | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Doing the needful | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Durova | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Ed's Blog | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Einstein University | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Endami | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
English Wikisource | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Fae | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
FOSS – Small Town Tech | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Gap Finding Project | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Geni's Wikipedia Blog | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
http://blog.anubite.co.uk/index.php/category/mediawiki/feed/ | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
http://blog.us.glamwiki.org/feed/ | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
http://jimbojw.com/wiki/index.php?title=Blog&action=feed&tags=mediawiki | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
http://logic10.tumblr.com/ | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
http://medicalfuturist.com/tag/wikipedia/feed/ | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
http://midea.nmc.org/author/loribyrdphillips/feed/ | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
http://saml.rilspace.org/taxonomy/term/69/0/feed | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
http://sleepyhead.org/tagged/wikipedia/rss | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
http://stryn.hol.es/blog/tag/wikimedia/feed/ | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
http://thingelstad.com/tag/mediawiki/feed/ | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
http://www.scrubnugget.com/categories/wikipedia/feed/ | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
http://www.wikilove.in/feeds/posts/default | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
http://www.wikipediatrends.com/blog/feed/ | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
http://www.wikisym.org/category/wikimedia/feed/ | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
http://yaronkoren.com/blog/?feed=rss2 | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
http://yuvi.in/blog/category/wiki/feed/ | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
https://feeds.feedburner.com/enwikizine | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
https://theglamwikiexperience.blogspot.com/feeds/posts/default | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
in English – Wikimedia Suomi | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Infodisiac | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
International Wikitrekk | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Laura Hale, Wikinews reporter | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Leave it to the prose | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Localizando-me | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Luis Villa: Open Law and Strategy | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Make love, not traffic. | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Maria Codes | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
mariobehling.de - wiki | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Mark Rauterkus & Running Mates ponder current events | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Med BACHOUNDA محمد بشوندة | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
mediawiki – Addshore | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
MediaWiki – BlueSpice Blog | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
MediaWiki – Chris Koerner | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
MediaWiki – It rains like a saavi | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
MediaWiki – Moriel Schottlender | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
MediaWiki – Ryan D Lane | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
MediaWiki and Wikimedia – etc. etc. | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
MediaWiki Testing | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Ministry of Wiki Affairs | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Musings of Majorly | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
My Outreachy 2017 @ Wikimedia Foundation | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
NonNotableNatterings | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Notes from the Bleeding Edge | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Nothing three | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Okinovo okýnko | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Open Codex | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Open Source Exile | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Open Source Research | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Original Research | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Outreachy Internship – Gueleu Farida | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Pablo Garuda | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Pau Giner | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
PediaPress Blog | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Personal – The Moon on a Stick | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Planet Wikimedia – Entropy Wins | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Planet Wikimedia – OpenMeetings.org | Announcements | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
planetwikimedia – copyrighteous | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Political Bias on Wikipedia | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
project-green-smw | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Ramblings by Paolo on Web2.0, Wikipedia, Social Networking, Trust, Reputation, … | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Robin's Blog | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Rock drum | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Score all the things | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Semantic MediaWiki – news | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Sentiments of a Dissident | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Stories by Megha Sharma on Medium | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Stories by Neha Jha on Medium | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Sue Gardner's Blog | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Sumana Harihareswara - Cogito, Ergo Sumana | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Tech News weekly bulletin feed | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Technical & On-topic – Mike Baynton’s Mediawiki Dev Blog | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Technology – Wikimedia Blog | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
The Academic Wikipedian | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
The Ash Tree | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
The Lego Mirror - MediaWiki | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
The life of James R. | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
The Speed of Thought | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
The Whelming | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
the Wikimedia UK blog! | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
The Wikipedian | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
TheDJ writes | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
This Month in GLAM | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Thoughts For Deletion | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Timo Tijhof | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Timo Tijhof's Posts | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Ting's Wikimedia Blog | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Vinitha's blog | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
weekly – semanario – hebdo – 週刊 – týdeník – Wochennotiz – 주간 | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
What is going on in Europe? | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wik-eh-pedia – No maps for these territories | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wiki – Blog – Nick Jenkins | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wiki – David Gerard | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wiki – Gabriel Pollard | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wiki – Hay Kranen | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wiki – notconfusing | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wiki – Our new mind | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wiki – stu.blog | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wiki – The life on Wikipedia – A Wikignome's perspecive | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wiki – Wiki Strategies | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wiki – Ziko's Blog | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wiki Education | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wiki Loves Monuments | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wiki Northeast | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wiki Playtime - Medium | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wiki-en – [[content|comment]] | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikibooks News | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikidata – Wikimedia Deutschland Blog | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wikimedia – andré klapper's blog. | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wikimedia – apergos' open musings | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wikimedia – Bitterscotch | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikimedia – DcK Area | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikimedia – Guillaume Paumier | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wikimedia – Harsh Kothari | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wikimedia – Kevin Payravi: Blog | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wikimedia – millosh’s blog | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wikimedia – Neverness | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikimedia – Open and Free Source! | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wikimedia – Open World | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikimedia – Sam's notebook | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wikimedia – Software Research and the Industry | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikimedia – The Woodwork | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wikimedia – Thomas Dalton | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikimedia – Tim Starling's blog | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikimedia – Witty's Blog | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikimedia (en) – Random ruminations of a ruthless 'riter | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikimedia Blog | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikimedia Commons – Frank Schulenburg | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikimedia DC Blog | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikimedia Foundation | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikimedia India Blog | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikimedia Security Team | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikimedia | ഗ്രന്ഥപ്പുര | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikimedia-en – lyzzy sucht das wunderland | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikinews Reports | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikipedia & Linterweb | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikipedia – Aharoni in Unicode | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wikipedia – Andrew Gray | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikipedia – Andy Mabbett, aka pigsonthewing | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikipedia – Blossoming Soul | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikipedia – Bold household | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wikipedia – Going GNU | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikipedia – mlog | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikipedia – ragesoss | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wikipedia – The Longest Now | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wikipedia – Thoughtingal | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikipedia – wllm | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikipedia - nointrigue.com | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikipedia Notes from User:Wwwwolf | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikipedia Weekly | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikipedian in Residence for Gender Equity at West Virginia University | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
WikiProject Oregon | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikisorcery | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Wikistaycation | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wikitech – domas mituzas | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
wmf – Entries in Life | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Words and what not | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
Writing Within the Rules | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
XD @ WP | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |
{{Hatnote}} | XML | 22:37, Friday, 15 2019 November | 23:37, Friday, 15 2019 November |