Wat is een #indiewebcamp ? Frank Meeuwsen, legt onze verwachtingen voor #indieweb camp Utrecht (#iwcutrecht) uit. Ben jij er bij op 18 en 19 mei? https://diggingthedigital.com/wat-is-indiewebcamp/
Sinds twee jaar doe ik iets soortgelijks. Bij ieder spreekverzoek op een conferentie kijk ik naar wie nog meer komt, en of er, als er panels zijn, evenwicht in een panel zit. Als ik zelf niet kan, geef ik vrouwen op als alternatieve sprekers. Bij mijn panel deelname op een conferentie in Servië vorig jaar september, was het panel in evenwicht. Een half jaar eerder in Servië was het ook in orde. Mijn optreden bij State of the Net afgelopen jaar vond ik lastiger, in die zin. Te weinig vrouwen als spreker vond ik (3 van de 11), en telkens drie sprekers werden in een panel gezet, waardoor je dus geheel mannelijke panels kreeg. Wel heb ik, ik zit in het adviescomité van dat congres, zelf alleen vrouwelijke sprekers voorgedragen. Uiteindelijk ben ik wel gegaan, enerzijds omdat ik zelf een geheel nieuw verhaal wilde testen op een relevant publiek, anderzijds om een goede vriend die het organiseert niet teleur te stellen. Maar het betekent wel iets voor hoe ik dit jaar mijn adviserende rol in wil vullen.
Als event-organisator weet ik dat het kan, een gebalanceerde sprekerslijst en dito panels. Je moet wel zorgen dat je netwerk bij voorbaat al gebalanceerder is. Zo probeer ik dat bijvoorbeeld al te doen in mijn feedreader bij de weblogs die ik volg. Er is een overvloed aan vakmensen en denkers, als je die niet vindt ligt het niet aan die mensen. Als ik bijvoorbeeld vrouwelijke sprekers wil kunnen aanraden moet ik ze zelf ook eerst kennen: netwerken is gewoon een continue activiteit. Als event-organiser moet je er ook rekening mee houden dat mannen en vrouwen verschillend op een uitnodiging te spreken reageren. Mannen zijn eerder gevleid en gaan er vanuit dat ze wel een relevant verhaal kunnen houden. Vrouwen reageren eerder met reserve t.a.v. match van hun eigen kwalificaties en wat je zegt te zoeken voor je conferentie (er is altijd wel iemand beter), of planningsproblemen. Bij internationale conferenties die ik organiseerde nodigden we dan ook twee vrouwelijke sprekers t.o.v iedere man uit. In de praktijk kwam je dan op het omgekeerde uit, 1 op de 3 vrouwen als spreker. Het had nog een stuk beter gekund met meer vasthoudendheid (en betere planning) van onze kant. In Zweden op technische conferenties waar ik sprak was het altijd keurig 50-50. Ook in de organisatie zelf, en dat is volgens mij al het halve werk.
Help jij ons mee organiseren? We gaan een IndieWebCamp organiseren in Utrecht, een event om het gebruik van het Open Web te bevorderen, en met elkaar praktische zaken aan je eigen site te verbeteren. We zoeken nog een geschikte datum en locatie in Utrecht. Je hulp is dus van harte welkom.
Op het Open Web bepaal jij zelf wat je publiceert, hoe het er uit ziet, en met wie je in gesprek gaat. Op het Open Web bepaal je zelf wie en wat je volgt en leest. Het Open Web was er altijd al, maar in de loop van de tijd zijn we allemaal min of meer opgesloten geraakt in de silo’s van Facebook, Twitter, en al die anderen. Hun algoritmes en timelines bepalen nu wat jij leest. Dat kan ook anders. Bouw je eigen site, waar anderen niet tussendoor komen fietsen omdat ze advertentie-inkomsten willen genereren. Houd je eigen nieuwsbronnen bij, zonder dat andermans algoritme je opsluit in een bubbel. Dat is het IndieWeb: jouw content, jouw relaties, jij zit aan het stuur.
Frank Meeuwsen en ik zijn al heel lang onderdeel van internet en dat Open Web, maar brengen/brachten ook veel tijd in websilo’s als Facebook door. Inmiddels zijn we beiden actieve ‘terugkeerders’ op het Open Web. Afgelopen november waren we samen op het IndieWebCamp Nürnberg, waar een twintigtal mensen met elkaar discussieerde en ook zelf actief aan de slag gingen met hun eigen websites. Sommigen programmeerden geavanceerde dingen, maar de meesten zoals ikzelf bijvoorbeeld, deden juist kleine dingen (zoals het verwijderen van een link naar de auteur van postings op deze site). Kleine dingen zijn vaak al lastig genoeg. Toen we terugreden met de trein naar Nederland waren we het er al snel over eens: er moet ook een IndieWebCamp in Nederland komen. In Utrecht dus, dit voorjaar.
Om Frank te citeren:
Voel je je aangesproken door de ideeën van het open web, indieweb, wil je aan de slag met een eigen site die meer vrij staat van de invloeden sociale silo’s en datatracking? Wil je een nieuwsvoorziening die niet meer primair wordt gevoed door algoritmen en polariserende roeptoeters? Dan verwelkomen we je op twee dagen IndieWebCamp Utrecht.
Laat weten of je er bij wilt zijn.
Laat weten of je kunt helpen met het vinden van een locatie.
Laat weten hoe wij jou kunnen helpen bij je stappen op het Open Web.
Je bent uitgenodigd!
Today I gave short presentation at the Citizen Science Koppelting conference in Amersfoort. Below is the transcript and the slidedeck.
I’ve worked on opening data, mainly with governments worldwide for the past decade. Since 2 years I’ve been living in Amersfoort, and since then I’ve been a participant in the Measure Your City network, with a sensor kit. I also run a LoRaWan gateway to provide additional infrastructure to people wanting to collect sensor data. Today I’d like to talk to you about using open data. What it is, what exists, where to find it, and how to get it. Because I think it can be a useful resource in citizen science.
What is open data? It is data that is published by whoever collected it in such a way, so that anyone is permitted to use it. Without any legal, technical or financial barriers.
This means an open license, such as Creative Commons 0, open standards, and machine readable formats.
Anyone can publish open data, simply by making it available on the internet. And plenty people, academics, and companies do. But mostly open data means we’re looking at government for data.
That’s because we all have a claim on our government, we are all stakeholders. We already paid for the data as well, so it’s all sunk costs, while making it available to all as infrastructure does not increase the costs a lot. And above all: governments have many different tasks, and therefore lots of different data. Usually over many years and at relatively good quality.
The legal framework for open data consists of two parts. The national access to information rules, in NL the WOB, which says everything government has is public, unless it is not.
And the EU initiated regulation on re-using, not just accessing, government material. That says everything that is public can be re-used, unless it can’t. Both these elements are passive, you need to request material.
A new law, the WOO, makes publication mandatory for more things. (For some parts publication is already mandated in laws, like in the WOB, the Cadastre law, and the Company Register)
Next to that there are other elements that play a role. Environmental data must be public (Arhus convention), and INSPIRE makes it mandatory for all EU members to publish certain geographic data. A new EU directive is in the works, making it mandatory for more organisations to publish data, and for some key data sets to be free of charge (like the company register and meteo data)
Next to the legal framework there are active Dutch policies towards more open data: the Data Agenda and the Open Government action plan.
The reason open data is important is because it allows people to do new things, and more importantly it allows new people, who did not have that access before, to do new things. It democratises data sources, that were previously only available to a select few, often those big enough to be able to pay for access. This has now been a growing movement for 10-15 years.
That new agency has visible effects. Economically and socially.In fact you probably already use open data on a daily basis without noticing. When you came here today by bike, you probably checked Buienradar. Which is based on the open data of the KNMI. Whenever in Wikipedia you find additional facts in the right hand column, that informations doesn’t come from Wikipedia but is often directly taken from government databases. The same is true for a lot of the images in Wikipedia, of monuments, historic events etc. They usually come from the open collections of national archives, etc.
When Google presents you with traffic density, like here the queues in front of the traffic lights on my way here, it’s not Google’s data. It’s government data, that is provided in near real-time from all the sensors in the roads. Google just taps into it, and anyone could do the same.You could do the same.
There are many big and small data sets that can be used for a new specific purpose. Like when you go to get gas for the car. You may have noticed at manned stations it takes a few seconds for the gas pump to start? That’s because they check your license plate against the make of the car, in the RDW’s open database. Or for small practical issues. Like when looking for a new house, how much sunshine does the garden get. Or can I wear shorts today (No!).
But more importantly for today’s discussion, It can be a powerful tool for citizen scientists as well. Such as in the public discussion about the Groningen earth quakes. Open seismological data allowed citizens to show their intuition that the strength and frequency of quakes was increasing was real. Using open data by the KNMI.Or you can use it to explore the impact of certain things or policies like analysing the usage statistics of the Utrecht bicycle parking locations.A key role open data can play is to provide context for your own questions. Core registers serve as infrastructure, key datasets on policy domains can be the source for your analysis. Or just a context or reference.
Here is a range of examples. The AHN gives you heights of everything, buildings, landscape etc.
But it also allows you to track growth of trees etc. Or estimate if your roof is suitable for solar panels.This in combination with the BAG and the TOP10NL makes the 3d image I started with possible. To construct it from multiple data sources: it is not a photograph but a constructed image.
The Sentinel satellites provide you with free high resolution data. Useful for icebreakers at sea, precision agriculture, forest management globally, flooding prevention, health of plants, and even to see if grasslands have been damaged by feeding geese or mice. Gas mains maintainer Stedin uses this to plan preventative maintenance on the grid, by looking for soil subsidence. Same is true for dams, dikes and railroads. And that goes for many other subjects. The data is all there. Use it to your advantage. To map your measurements, to provide additional proof or context, to formulate better questions or hypotheses.
It can be used to build tools that create more insigt. Here decision making docs are tied to locations. 38 Amersfoort council issues are tied to De Koppel, the area we are in now. The same is true for many other subjects. The data is all there. Use it to your advantage. To map your measurements, to provide additional proof or context, to formulate better questions or hypotheses.
Maybe the data you need isn’t public yet. But it might be. So request it. It’s your right. Think about what data you need or might be useful to you.
Be public about your data requests. Maybe we can for a Koppelting Data Team. Working with data can be hard and disappointing, doing it together goes some way to mitigate that.
[This post was created using a small hack to export the speaking notes from my slidedeck. Strangely enough, Keynote itself does not have such an option. Copying by hand takes time, by script it is just a single click. It took less than 10 minutes to clean up my notes a little bit, and then post the entire thing.]
(English TL;DR: January 3rd is Public Domain Day in the Netherlands.)
Op 3 januari is het Publiek Domein Dag. Dan wordt gevierd welke teksten, muziek, films, foto’s en kunst in het publiek domein komen. In de regel gebeurt dat 70 jaar na de dood van de maker. Ofwel, van auteurs, artiesten, componisten, ontwerpers, en kunstenaars die in 1948 stierven komen de werken nu in het publiek domein.
Gedurende het programma worden de werken die in het publiek domein zijn gekomen besproken, bekeken, en beluisterd. De makers van de werken staan centraal in enkele presentaties.
Publiek Domein Dag is net als Openbaarmakingsdag (waarop nieuw archiefmateriaal openbaar wordt) een feestje. Het is de kans voor makers van nu om vergeten werken weer tot leven te brengen, te re-mixen, aan te passen, en opnieuw te interpreteren.
Kom ook naar de Koninklijke Bibliotheek op 3 januari voor Publiek Domein Dag!
(In het kader van transparantie: Publiek Domein Dag wordt mede georganiseerd door Creative Commons Nederland. Ik ben bestuurslid van de Vereniging Open Nederland, die het Nederlandse Creative Commons chapter en makers ondersteunt)
Now that we’ve visited the Nürnberg IndieWeb Camp this weekend, Frank Meeuwsen and I are thinking about doing an IndieWeb Camp in the Netherlands sometime next spring. Likely in Utrecht, although if we find a good event to piggyback on elsewhere, it can be someplace else.
If you want to get involved with organising this, do ping me.
At IndieWeb Camp Nürnberg today I worked on changing the way my site displays webmentions. Like I wrote earlier, I would like for all webmentions to have a snippet of the linking article, so you get some context to decide if you want to go to that article or not.
It used to be that way in the past with pingbacks, but my webmentions get shown as “Peter mentioned this on ruk.ca”.
After hunting down where in my site this gets determined, I ended up in a file my Semantic Weblinks plugin, called class-linkbacks-handler.php. In this file I altered “get_comment_type_excerpts” function (which sets the template for a webmention), and the function “comment_text_excerpt”, where that template gets filled. I also altered the max length of webmentions that are shown in their entirety. My solution takes a snippet from the start of the webmention. I will later change it to taking a snippet from around the specific place where it links to my site. But at least I succeeded in changing this, and now know where to do that.
When the next update of this plugin takes place I will need to take care, as then my changes will get overwritten. But that too is less important for now.
The webmentions for this posting are now shown as a snippet from the source, below the sentence that was previously the only thing shown.
Task 1 now complete. My blog declared 16 h-cards, one for each time my name was mentioned as author under the 15 blogposts on my front page, and 1 in the side bar. That last one is the only one I want to have, so I wanted to remove those underneath blogposts.
In the original theme I then hunted down the function used to show the author information for each posting, the sempress_posted_on function. This by viewing the various Sempress files in the WordPress internal Themes Editor. Then I copied that over to my child theme, and changed it. I simply removed the bits that turned my name into a link and all the h-card elements declared as classes around it. There’s no need to link to my author page here. I’m the only author, don’t have a profile page, and if you look at the ‘author archive’ it is a list of all the postings on this site.
I also cleaned up my single remaining h-card, adding a “p-note” class so that the blurb becomes part of the h-card, and making sure it lists the e-mail addresses correctly now.
The child theme I created will be useful for changing the way webmentions are presented on my blog as well.
It’s day 2 of the IndieWeb Camp in Nürnberg, which means it’s coding day. There are a few things on my list before I board a train at three thirty back home. None of them are as advanced or grand as the list I made earlier. I learned a lot yesterday, in terms of understanding what happens where when I use indieweb protocols, so I can now see the different layers of the lasagna more clearly.
So for today the plan is:
- Remove a uid h-card microformat statement from my site template as it is declared multiple times instead of just once
- Try and fix the authorisation header issue with IndieAuth
- Work on how Webmentions are presented in this Sempress theme, which I now know is a theming issue, and not a webmention issue
A great effect of spending a day in the same room with 20 or so more geeking inclined others, is you get a lot of examples, tools and services mentioned. And geek is as geek does, I try them out on the spot. Today this helped me become aware that something is wrong on my server with the OAuth authentication I run. I thought that it was working fine, as it is no problem to actually use it, for instance to log in with my own domain name at the IndieWeb wiki. But when interacting with my micropublishing endpoint not all goes well.
Today I noticed that:
- When I try to post from Micropublish.net, I can log in at micropublish.net, but when I try to post I get an ‘unauthorized’ error
- When I try to use the Omnibear Firefox add-on it authorises ok, but then endlessly tries to load the list of syndication targets
- When I use Quill to post, it posts fine, but does not load the list of syndication targets
Those missing syndication targets (now that I understand what they are from todays sessions) was what first caught my eye. Testing the micropublish endpoint on my server myself I got the correct response, but Quill turned out to get ‘unauthorized’ as response for that request, just like micropublish.net got for posting.
The endpoint gives a correct response
In WordPress my IndieAuth plugin has a diagnostic tool, and running that, it turns out an authorisation header is not send out.
Which seems to be causing the problems. Reading in the links provided it seems like with XML-RPC, my hoster is actively blocking that header. [UPDATE: It is not, it’s just not available in the way the server currently runs PHP] Resulting in exactly the same experience as I had with XML-RPC, that it seems to be only half working (namely the ‘safe’ uses work, while the rest fails). There’s a work around, renaming the headers that get send out, and implementing that work-around is a thing for me to do tomorrow. To see if I can get around being unauthorised. [UPDATE: That workaround did not work until now]
During his keynote at the Partos Innovation Festival Kenyan designer Mark Kamau mentioned that “45% of Kenya’s GDP was mobile.” That is an impressive statistic, so I wondered if I could verify it. With some public and open data, it was easy to follow up.
World Bank data pegs Kenya’s GDP in 2016 at some 72 billion USD.
Kenya’s central bank publishes monthly figures on the volume of transactions through mobile, and for September 2018 it reports 327 billion KSh, while the lowest monthly figure is February at 300 billion. With 100 Ksh being equivalent to 1 USD, this means the monthly transaction volume exceeds 3 billion USD every month. For a year this means 3*12=36 billion USD, or about half of the 2016 GDP figure. An amazing volume.
Today I was in Amsterdam, participating in the Partos Innovation Festival, a yearly meet-up of those working on change and innovation in development and humanitarian aid. It was a much larger gathering than I had expected, and through the day I encountered a wide variety of projects and ideas. It was clear I normally operate in different environments, as some of the projects were making (technology) choices that wouldn’t have been made elsewhere. Clearly all of us work within the constraints of the capabilities, experience and knowledge available to us in our networks and sectors. The day started with two worthwile keynotes, one by Kenyan designer Mark Kamau, one by human rights lawyer Tulika Srivastava from India.
The reason I attended was that I was a jury member for one of 5 innovation awards presented today, the Dutch Humanitarian Coalition for Innovation’s “Best Humanitarian Innovation Award”. Together with Klaas Hernamdt, we go back a long time in the FabLabs network, and Suzanne Laszlo, general director of UNICEF Netherlands, we had the pleasure to judge a short list of 8 projects, from which we already selected 3 nominees two weeks ago. Today the winner was announced: Optimus, that through data analysis and optimisation models, helps the WFP to save millions of dollars while distributing food of the same nutritional value to those most in need. This allowed the WFP in trial runs to feed 100.000 people more against the same costs. This is crucial as food aid is continuously struggling with getting enough funding.
While Optimus were deserved winners I must say the other two finalists came close. Of the overall 40 points they could get in our judging method, all three ended up within 2.5 points of each other, while the other 5 nominees fell further behind. Personally I liked Translators Without Borders very much as well, who ended up in second place. I also had the pleasure of meeting Animesh Prakash of Oxfam India, who with a cheap and distributed early flood warning system came third, twice in the past week. It seems to me his effort might benefit from building closer ties to the maker community in India, and I will try and assist him doing that.
In just over a week I will be joining the Nuremberg IndieWebCamp, together with Frank Meeuwsen. As I said earlier, like Frank, I’m wondering what I could be working on, talking about, or sharing at the event. Especially as the event is set up to not just talk but also build things.
So I went through my blogpostings of the past months that concerned the indie web, and made a list of potential things. They are of varying feasibility and scope, so I can probably strike off quite a few, and should likely go for the most simple one, which could also be re-used as building block for some of the less easy options. The list contains 13 things (
does that have a name, a collection of 13 things, like ‘odd dozen’ or something? Yes it does: a baker’s dozen, see comment by Ric below.). They fall into a few categories: webmention related, rss reader related, more conceptual issues, and hardware/software combinations.
- Getting WebMention to display the way I want, within the Sempress theme I’m using here. The creator of the theme, Matthias Pfefferle, may be present at the event. Specifically I want to get some proper quotes displayed underneath my postings, and also understand much better what webmention data is stored and where, and how to manipulate it.
- Building a growing list of IndieWeb sites by harvesting successful webmentions from my server logs, and publish that in a re-usable (micro-)format (so that you could slowly map the Indieweb over time)
- Make it much easier for myself to blog from mobile, or mail to my blog, using the MicroPub protocol, e.g. using the micropublish client.
- Dive into the TinyTinyRSS datastructure to better understand. First to be able to add tags to feeds (not articles), as per my wishlist for RSS reader functionality.
- Make basic visualisation possible on top of TinyTinyRSS database, as a step to a reading mode based on pattern detection
- Allow better search across TinyTinyRSS, full text, to support the reading mode of searching material around specific questions I hold
- Adding machine translation to TinyTinyRSS, so I can diversify my reading, and compare original to its translation on a post by post basis
- Visualising conversations across blogs, both for understanding the network dynamics involved and for discovery
- Digging up my old postings 2003-2005 about my information strategies and re-formulate them for networked agency and 2018
- Find a way of displaying content (not just postings, but parts of postings) limited to a specific audience, using IndieAuth.
- Formulate my Networked Agency principles, along the lines of the IndieWeb principles, for ‘indietech’ and ‘indiemethods’
- Attempt to run FreedomBone on a Raspberry Pi, as it contains a range of tools, including GnuSocial for social networking. (Don’t forget to bring a R Pi for it)
- Automatically harvest my Kindle highlights and notes and store them locally in a way I can re-use.
These are the options. Now I need to pick something that is actually doable with my limited coding skills, yet also challenges me to learn/do something new.
This Tuesday 2 October sees the annual event of the Dutch Coalition for Humanitarian Innovation. The coalition consists of government entities, knowledge institutions, academia, businesses, and humanitarian organisations in the Netherlands. Together they aim to develop and scale new solutions to increase impact and reduce costs of humanitarian action.
I was asked to join this year’s jury for DCHI’s innovation award. There is a jury award and a public award. For the jury award 8 projects were shortlisted, from which the jury has now selected 3 finalists that were announced last Friday. The public award winner will be selected from the same short list.
At the annual event of DCHI this Tuesday the public award winner will be announced, followed by closing remarks by the Minister of development cooperation mrs Sigrid Kaag, who is very well experienced when it comes to international development. The jury award will be presented to the winner on October 11th at the Partos innovation festival.
The three finalists my colleagues and I in the jury selected are all very interesting, so I briefly want to list them here.
Optimus by the UN’s World Food Program and Tilburg University
Data analysis and mathematical modeling optimises supply and distribution also by taking into account locally available food and conditions. Optimisation means delivering the same nutritional value against lower efforts. It has been successfully used in Syria, Iraq, Yemen and Ethiopia. In Iraq it helped save a million USD per month, allowing the program to provide an additional 100.000 people in need with food packages. (link in Dutch)
Quotidian early warning solutions by Oxfam India
Flood prediction models in India are accurate, but still flooding causes many fatalities. The cause is often not being able to timely reach and warn everyone. Oxfam India came up with ways to integrate early warning systems with existing local infrastructure, and so create a low cost option for real time distribution of flood warnings.
Words of Relief / Translators without borders
Being able to provide key information to people in need depends on having that information in the right language. Information only saves lives if those who need it understand it. Translators without Borders creates glossaries which can be used for humanitarian response. Their Gamayun initiative wants to bring 20 underserved languages online by creating such glossaries and providing that as open data to all who can use it. They see it as a key tool for equality as well. In a slightly different setting I saw this work in practice, during the Syrian refugee wave in Germany, at a hackathon I attended such glossaries were used to build apps to help refugees navigate German bureaucracy and find the help they needed.
These three projects are very different, in terms of technology used, in the issues they address, and the way they involve the communities concerned, and all three highly fascinating.
Saturday I visited the Maker Faire in Eindhoven. Jeroen of the Frysklab team invited me to come along, when their mobile FabLab was parked in our courtyard for Smart Stuff That Matters. They had arranged a touring car to take a group of librarians and educators to the Maker Faire, and invited me to join the bus ride. So I took a train to Apeldoorn and then a taxi out to a truck stop where the bus was scheduled to stop for a coffee break, and then joined them for the rest of the drive down south.
The Maker Faire was filled with all kinds of makers showing their projects, and there was a track with 30 minute slots for various talks.
It was fun to walk around, meet up with lots of people I know. Lots of projects shown seemed to lack a purpose beyond the initial fascination of technological possibilities however. There were many education oriented projects as well, and many kids happily trying their hand on them. From a networked agency point of view there were not that many projects that aimed for collective capabilities.
Some images, and a line or two of comment.
En-able, a network of volunteers printing 3d-printed prosthetics, was present. Talked to the volunteer in the image, with his steam-punk prosthetic device. They printed 18 hands and arm prosthetics for kids in the Netherlands last year, and 10 this year until now. Children need new prosthetics every 3 to 6 months, and 3d printing them saves a lot of costs and time. You even get to customise them with colors, and your favourite cartoon figure or super hero.
Bringing LED-farming to your home, open source. Astroplant is an educational citizen science project, supported by ESA.
Robot football team versus kids team. Quite a few educational projects around robotics were shown. Mostly from a university of applied sciences, but with efforts now branching out to preceding education levels. Chatted to Ronald Scheer who’s deeply involved in this (and who participated in our Smart Stuff That Matters unconference).
A good way to showcase a wide range of Microbit projects by school children. I can see this mounted on a class room wall.
An open source 3d-printed, arduino controlled android. But what is it for? Open source robotics in general is of interest of course. There were also remote controlled robots, which were quite a lot of fun, as the video shows.
At the fringe of the event there was some steam punk going on.
Building with card board boxes for children. Makedo is an Australian brand, and next to their kits, you can find additional tools and elements as 3d printable designs online.