а
1 00:00:00,180 --> 00:00:03,660 What is Wikifunctions? Wikifunctions is a new project
2 00:00:03,660 --> 00:00:07,320 by the Wikimedia Foundation, the caretaker of Wikipedia,
3 00:00:07,320 --> 00:00:11,700 Wikidata and other projects. The vision behind Wikimedia is
4 00:00:11,700 --> 00:00:15,900 a world where everyone can freely share in the sum of all knowledge.
5 00:00:16,920 --> 00:00:23,700 Wikifunctions is the first new Wikimedia project since 2012. It is fully multilingual
6 00:00:23,700 --> 00:00:29,100 both in terms of spoken languages but also in terms of programming languages. It is
7 00:00:29,100 --> 00:00:34,980 a wiki of functions. But what does that mean? What is a function? Mathematically,
8 00:00:34,980 --> 00:00:39,900 a function is a mapping from elements of one set of elements to another set. Now,
9 00:00:39,900 --> 00:00:45,060 this is technically correct but it usually doesn't explain much. Here's a different explanation:
10 00:00:45,600 --> 00:00:53,400 a function is something that takes an input and transforms it predictably into an output,
11 00:00:53,400 --> 00:01:00,180 following a specific recipe. It is some form of process, or calculation, or transformation.
12 00:01:01,140 --> 00:01:06,780 These calculations can be on numbers, but don't have to be. They can be on coordinates, colors,
13 00:01:06,780 --> 00:01:12,180 ingredients. They can turn two numbers into their sum, two or more colors into their mixture,
14 00:01:12,180 --> 00:01:18,720 or a list of ingredients into some new food. Functions don't just transform an input to an
15 00:01:18,720 --> 00:01:25,140 output: they answer questions. If a function can transform red and blue into their mixture,
16 00:01:25,140 --> 00:01:30,600 then it also answers the question "What do I get if I mix red and blue?" And if you have something
17 00:01:30,600 --> 00:01:36,900 that answers questions, that's knowledge. Functions answer questions. Functions are
18 00:01:36,900 --> 00:01:42,540 knowledge. And the big tech companies know this. They have been using functions to answer your
19 00:01:42,540 --> 00:01:49,020 questions for a while. I can ask Siri "How many teaspoons are in two tablespoons?" Siri will use a
20 00:01:49,020 --> 00:01:55,020 function to calculate the answer. I can ask Bing: "How tall is the Pyramid of the Sun?" I can ask
21 00:01:55,020 --> 00:02:00,360 DuckDuckGo "How far is the Pyramid of the Sun from Mexico City?" Here is one of my favorites: if you
22 00:02:00,360 --> 00:02:04,740 go to Google and ask for the volume of a pyramid you get this beautiful, immersive, interactive
23 00:02:04,740 --> 00:02:10,200 experience. It shows the relevant inputs, it shows the diagram, it shows the formula, it substitutes
24 00:02:10,200 --> 00:02:14,940 the inputs I enter and calculates the results. I give the height of 65 meters we just looked
25 00:02:14,940 --> 00:02:20,220 up and it will tell us the volume of the Pyramid of the Sun: about 1 million cubic meters. This is
26 00:02:20,220 --> 00:02:25,320 beautiful. but you only have these wonderful experiences for the functions that people at
27 00:02:25,320 --> 00:02:31,140 a tech companies deemed to be important enough. As soon as we get away from those experiences, like trying to
28 00:02:31,140 --> 00:02:35,820 calculate the mass of a pyramid, we're out of luck and instead we get a normal search experience.
29 00:02:36,840 --> 00:02:41,400 There's no way to create a new function, to share that function with the world,
30 00:02:41,400 --> 00:02:48,720 to answer more types of questions, to contribute to the world's knowledge on the topics we care
31 00:02:48,720 --> 00:02:57,480 about. Functions are knowledge. Knowledge is power. In fact, functions are a superpower.
32 00:02:58,140 --> 00:03:04,680 Because, unlike a Wikipedia article they don't just have the answers that are in the text, no,
33 00:03:04,680 --> 00:03:13,620 a function can be used to answer a question no one in the world has ever asked before. And you
34 00:03:13,620 --> 00:03:19,980 know that they will do so reliably, if you trust a function. Which is why it is important that the
35 00:03:19,980 --> 00:03:25,260 functions are in the open, that the functions can be edited by everyone, can be checked by everyone.
36 00:03:26,280 --> 00:03:33,300 Imagine that: you can ask a question that no one, that no one ever asked and you can
37 00:03:33,300 --> 00:03:40,140 be confident to get the correct answer for that question. That, that is truly amazing.
38 00:03:42,420 --> 00:03:49,200 And I really think that this is a superpower. A superpower we don't want to be granted and taken
39 00:03:49,200 --> 00:03:56,100 away by big tech companies. This is why we are building a library of functions that any one of
40 00:03:56,100 --> 00:04:04,260 us can edit, that any one of us can contribute to, that any one of us can use: Wikifunctions.
41 00:04:05,520 --> 00:04:08,940 These following screenshots are from the beta version of Wikifunctions.
42 00:04:09,480 --> 00:04:15,060 Wikifunctions is a wiki, just like Wikipedia is. You can join and edit.
43 00:04:15,060 --> 00:04:20,460 On Wikifunctions, every function has its own page. We can see here links to many
44 00:04:20,460 --> 00:04:25,680 different functions. For example, this is a pretty simple function: addition. Addition
45 00:04:25,680 --> 00:04:30,960 takes two positive integers and returns one, for example, it takes 5 and 2 and returns 7.
46 00:04:31,500 --> 00:04:37,020 Every function can have several implementations. This for example is the implementation of addition
47 00:04:37,020 --> 00:04:44,280 in Python. This in JavaScript. Wikifunctions aims to support many different programming languages.
48 00:04:44,880 --> 00:04:51,420 It also allows us to implement a function by composing existing simpler functions together.
49 00:04:52,560 --> 00:04:58,680 Addition for example can be pieced together by functions that add one, take away one
50 00:04:58,680 --> 00:05:04,980 repeatedly. And because each of these functions have their own pages in Wikifunctions, each with
51 00:05:04,980 --> 00:05:11,040 the names in different languages, we can read and even write implementations and functions in
52 00:05:11,040 --> 00:05:18,900 other languages, such as German in this example. For many people this will be the first time they
53 00:05:18,900 --> 00:05:24,840 can read and write functions in their own native language without having to learn English first.
54 00:05:25,500 --> 00:05:28,740 And it's the first time they can create and share functions they care about:
55 00:05:28,740 --> 00:05:33,180 functions about their calendars, their units of measurements, their traditions and cultures.
56 00:05:33,180 --> 00:05:40,200 To summarize: we aim to allow for people without English language skills to use functions,
57 00:05:40,200 --> 00:05:46,680 to create functions, to implement functions. We think that there is a large pool of potential
58 00:05:46,680 --> 00:05:52,380 contributors who have all the skills necessary to contribute functions, but don't speak English.
59 00:05:53,220 --> 00:05:58,620 We hope to unlock that potential. We hope to grow a new community,
60 00:05:58,620 --> 00:06:03,240 we hope to bring in new contributors by supporting a new form of knowledge.
61 00:06:03,780 --> 00:06:08,040 We hope that Wikifunctions will lead to the creation of a comprehensive library
62 00:06:08,040 --> 00:06:15,720 of natural language generation functions for 300 and more natural languages. This will be a major
63 00:06:15,720 --> 00:06:21,000 stepping stone towards something we call Abstract Wikipedia, of which we will talk at another time.
64 00:06:22,320 --> 00:06:28,920 And we really want for Wikifunctions to democratize access to functions. Today,
65 00:06:28,920 --> 00:06:34,740 programmers have easy access to all kinds of functions, but others only to whatever
66 00:06:34,740 --> 00:06:41,700 big tech companies allow us to have. With Wikifunctions we want to democratize the usage
67 00:06:41,700 --> 00:06:48,000 and also the creation and sharing of functions, to enable many more questions to be answered,
68 00:06:48,000 --> 00:06:54,900 to bring us closer to a world where everyone can freely share in the sum of all knowledge.
69 00:06:55,740 --> 00:07:02,220 Join us on this path. Join us on Wikifunctions, now available at wikifunctions.org