And as https://GitHub.com/harrybr is quoted: “during the Workshop by Professor Harry Brignull, while the term “dark pattern” (originated and popularized in part by Brignull) has been useful for marketing and raising awareness, it would be both “vague and sloppy” if used as a legal term or standard.”
That being said, “harmful patterns” is vague and dilutes the intent of this issue.
It’s also not strictly accurate from the perspective of a company implementing such patterns, from their (typically attention/growth/profit-maximizing) perspective, such patterns are helpful to them personally, their shareholders/investors if any, and not harmful.
Such patterns are also too easy for such companies to hide behind a vague "intent" of supposedly "helping" people connect (quiet importing of contacts, suggesting joining radicalizing groups), or "helping" people get products they want/"need" (deceptive marketing, creating fear/insecurity in people’s minds then selling them a product to cope), etc.
More precise (and preserving of intent, meaning, and literal effect) would be the phrase “manipulative design”, also used & recommended by that ccianet workshop (same link): “Rather than employ the terminology of “dark patterns,” these comments will refer to “manipulative design” practices or interfaces”.
↳ In reply to @stop’s tweet@stop same friend, same. Maybe we could even do an easy run/walk/chat sometime (saw "Wanna-be runner" in your bio, and tbh often still feel that myself)
↳ In reply to issue 2 of GitHub project “h-card”This is precisely what the microformats2 "u-" property prefix is for, to instruct the parser to retrieve and parse for URL-like information from an element, from its URL-related attribute if any, and text content as a fallback, including relative URL resolution if applicable. E.g. in the example you gave, try u-tel instead of p-tel:
tl;dr: All the same reasons for not re-using WebID apply to Web Sign-in (and Sign-on is too similar), and thus we object to the proposed re-use.
There’s already an existing set of related specs[1][2][3], numerous deployed & in-use implementations[4][5], and an open standards community actively using (including numerous actual users using) the term / phrase / technology[6][7].
To state it even more strongly, Google of all parties must not act in a bullying way (we must consider the outsized influence & power dynamics), even within the auspices / context of a CG (using a vote in a CG to justify squatting over an existing active spec and a community’s use thereof). Rallying more folks to tacitly or otherwise approve of bullying is still bullying, perhaps even a worse form of doing so.
I can sympathize with the naming challenges in the area of identity (seems fitting).
That noted, an exploration in a CG seems premature to worry so much about a "marketable" name, especially in an area where naming is hard.
Instead, make up a throwaway placeholder name (like WID2021), first get the technology right, working across at least a few different vendors relying/consuming each others identities interoperably, and then worry about an actual marketable name, perhaps at WD/CR time. We know this can work per the prior example of "Atom" which went through a few throwaway names like "Pie" before being standardized as Atom in RFC 4287 at IETF.
Finished #RodeoValley 30k #trailRace in 5:10:43 on Saturday. In the photo I’m massaging a midsection cramp while power hiking uphill, and grinning because I knew I was almost at the top of the last big climb of the course.
First race post lockdown was exciting, fun, steady, strong, until a downhill trip (no fall) broke my momentum, strained the right leg/glute, and killed the appetite. Struggled and pushed thru remaining climbs to finish strong on the final downhill without injury, 26s longer than 2018.
Great starting with 50k runners Bryan & Eliza, and having pal Erika run me in the last 4 miles (also took this 📷) and share salty snacks, a needed boost.
Taking notes as memories resurface. Processing everything & how each section went, insights gained, and lessons learned.
The pandemic is not over just because you’re over it. Wear a mask. Get vaxed. Get boosted with another vax. Stop indoor dining. Black Lives Matter. Trans rights are human rights. Respect women. Housing & healthcare for all. There’s no Planet B.
Also, running my first race tomorrow since lockdown, @insidetrail #RodeoValley 30k!
Longest training stretch between races since I started running. Huge thanks to coach @CorrineMalcolm’s guidance for almost a year now.
Carving out little deliberate pockets of the past in the ever-changing present.
As it is currently specified, I consider the Idle Detection API too tempting of an opportunity for surveillance capitalism motivated websites to invade an aspect of the user’s physical privacy, keep longterm records of physical user behaviors, discerning daily rhythms (e.g. lunchtime), and using that for proactive psychological manipulation (e.g. hunger, emotion, choice [1][2][3]). In addition, such coarse patterns could be used by websites to surreptiously max-out local compute resources for proof-of-work computations, wasting electricity (cost to user, increasing carbon footprint) without the user’s consent or perhaps even awareness.
Thus I propose labeling this API harmful, and encourage further incubation, perhaps reconsidering simpler, less-invasive alternative approaches to solve the motivating use-cases.
They’ve stood the test of time (except email). Since then, there are more good practices, anti-patterns, & pitfalls to avoid. Time to write up a few more.
↳ In reply to @t’s tweet2.1 for calmness & peace: * good sleep * alone time * (guided) meditation * yoga (slow, stretchy, yin, easy flow) * herbal tea * writing (free-form, personal log, lists) * 20+ minute walk * long run * walk/hike/run outside, trails, with green, trees, views
↳ In reply to @t’s tweet2. evaluate things (as noted) in utility and how they make you feel. evaluating requires calmness. being very happy or sad will affect how you feel about any object you pick up. Like Yoda in ESB: “You will know... when you are calm, at peace, passive.”
↳ In reply to @t’s tweetmore on “moving in” mindset, before unpacking: visualizing & evaluating 1. visualize how you want your space to look and support who you are. get ideas for what resonates (or doesn’t) from stays in hotels & others’s homes, or magazines, even movies
Over 50 hours post-jab and no side-effects. Was a bit more tired last night, but nothing unusual, slept in today just in case. Now the 12 days wait til “fully vaccinated”.
24 hours ago I got vaccinated No one to see, nowhere to go I got #JNJ vaccinated
Just drive across the Bay Bridge And guide me to a lane Asking, asking, asking Confirming my consent I opened up my car door I rolled up my left sleeve Oh, jab, oh oh oh oooh!
Your examples “common X” and “standard Y” could be considered downplayer adjectives, except perhaps when in proper nouns like Common Lisp, Standard Oil, or if an actual standard (like HTML) is cited.
↳ In reply to @t’s tweetMore on this * Fires, smoke, pandemic risks, lockdowns taught us these things matter: + life-support + safety + comfort (perhaps absence of involuntary discomfort) Systems to sustain and tools to maintain these, matter more than does it “spark joy”
Going for a run to move my feet and get more vert for the @Nov_Project_SF #sfhillclimbchallenge https://sfhillclimb.challenges.run, adding reps on top of last month’s 50/50 Grand Slam feat made possible by a 35mile run around SF to get the last 21 hills.
↳ In reply to @t’s tweet* There’s a balance between keeping things that reinforce who you are & want to be (whether joyful, confident, etc.), strict necessity, utility, & preparedness (years of fires & smoke, and pandemic lockdowns taught us this), and efficiency & resiliency.
↳ In reply to @t’s tweet* Minimalism is not the answer (you both miss things and being prepared helps survive emergencies, reduce risks, reduce market/shopping dependencies) * Simplifying is useful and is essential for a good home design & user experience both for you and guests
↳ In reply to @t’s tweet* Not accessing so many of your things for weeks helps question the need for most of those things, and having them turned inside out in piles reveals their full extent (and their context among so many other things) more clearly.
↳ In reply to @t’s tweet* Painting the inside of your home is like moving in again, everything you own ends up packed (mostly in boxes) & piled in the middle of every room. * Rooms can look beautiful when empty (except for the piles in the middle obviously)
↳ In reply to @t’s tweet* The usefulness (even need) of the ability to “live” (sleep, eat, work) in any room (not counting bathrooms), and designing each room accordingly, optimized for its primary purpose, yet adaptable, modular, multipurpose.
Day before Thanksgiving 2019 my hot water heater broke, kicking off a cascade of forking paths still unfolding. For every repair I chose bold options, renovating thru 2020 lockdowns (another story). Most recently, painting the inside of my flat revealed:
Took my solar anniversary and the next day off from work.
Dialed down email, chat, news, & social media, creating larger blocks of continuous thinking. More insights surfaced, stretching from deeper in the past to possible futures. Some interconnected.
↳ In reply to @andybudd’s tweet@shiflett thank you! And cheers @andybudd, appreciate it! tbh I’ve been checking Twitter a lot less. Doing ok, safe, healthy, still running around
Last year last times: Mar 2 * lunch with co-workers Mar 4 * bus ride * in the office * #IndieWeb HWC @MozSFtantek.com/b/5BX1 * train ride Mar 5 * haircut * indoor yoga @YogaFlowSF Mar 7 * movie @AMCTheatres (Knives Out) & @Benihana for nephew1 bday
Normally I go into the office on Wednesdays but I had worked from home that morning. I took the bus (#5736) inbound to work in the afternoon, the last time I rode a bus. I setup a laptop on the podium in the main community room to show demos on the displays as usual.
Around 17:34 we kicked off our local Homebrew Website Club meetup with four of us which grew to seven before we took a photo. As usual we took turns
taking notes in IRC during the meetup as participants demonstrated their websites, something new they had gotten working, ideas being developed, or inspiring independent websites they’d found.
Can you see the joy (maybe with a little goofiness, a little seriousness) in our faces?
We wrapped up the meeting, and as usual a few (or in this case two) of us decided to grab a bite and keep chatting. I did not even consider the possibility that it would be the last time I would see my office for over a year (still haven’t been back), and left my desk upstairs in whatever condition it happened to be. I remember thinking I’d likely be back in a couple days.
We walked a few blocks to Super Duper Burgers on Mission near Spear. That would be the last time I went to that Super Duper Burgers. Glad I decided to indulge in a chocolate milkshake.
Afterwards Katherine and I went to the Embarcadero MUNI station and took the outbound MUNI N-Judah light rail. I distinctly remember noticing people were quieter than usual on the train. There was a palpable sense of increased anxiety.
Instinctually I felt compelled to put on my mask, despite only two cases of Covid having been reported in San Francisco (of course now we know that it was already spreading, especially by the asymptomatic, undetected in the community). Later that night the
total reported would be 6.
Yes I was carrying a mask in March of 2020. Since the previous 2+ years of seasonal fires and subsequent unpredictable days of unbreathable smoke in the Bay Area, I’ve traveled with a compact N-95 respirator in my backpack.
Side note: the CDC had yet to recommend that people wear masks. However I had been reading and watching enough global media to know that the accepted practice and recommendation in the East was quite different. It seemed people in Taiwan, China, and Hong Kong were already regularly wearing masks (including N95 respirators) in close public quarters such as transit. Since
SARS had hit those regions much harder
than the U.S. I figured they had learned from the experience and thus it made sense to follow their lead, not the CDC (which was already under pressure from a criminally incompetent neglectful administration to not scare people). Turned out my instinct (and analysis and conclusions based on watching & reading global behaviors) was more correct than the U.S. CDC at the time (they eventually got there).
Shortly after the train doors closed I donned my mask and checked the seals. The other useful advantage of a properly fitted N95 is that it won’t (shouldn’t) let in any funky public transit smells (perfume, patchouli, or worse), like none of it. No one blinked at seeing someone put on a mask.
We reached our disembarkation stop and stepped off. I put my mask away. We hugged and said our goodbyes. Didn’t think it would be the last time I’d ride MUNI light rail. Or hug a friend without a second thought.
“Life Happens” is an acknowledgement that there are numerous things that people experience in their actual physical lives that suddenly take higher priority than nearly anything else (like participation in volunteer-based communities), and those communities (like the IndieWeb) should acknowledge, accept, and be supportive of community members experiencing such events.
What Happens
What kind of events? Off the top of my head I came up with several that I’ve witnessed community members (including a few myself) experience, like:
getting married — not having experienced this myself, I can only imagine that for some folks it causes a priorities reset
having a child — from what I've seen this pretty much causes nearly everything else that isn’t essential to get dropped, acknowledging that there are many family shapes, without judgment of any
going through a bad breakup or divorce — the trauma, depression etc. experienced can make you want to not show up for anything, sometimes not even get out of bed
starting a new job — that takes up all your time, and/or polices what you can say online, or where you may participate
becoming an essential caregiver — caring for an aging, sick, or critically ill parent, family member, or other person
buying a house — often associated with a shift in focus of personal project time
(hat tip: Marty McGuire)
home repairs or renovations — similar to “new house” project time, or urgent repairs. This is one that I’ve been personally both “dealing with” and somewhat embracing since December 2019 (with maybe a few weeks off at times), due to an infrastructure failure the previous month, which turned into an inspired series of renovations
When these things happen, as a community, I feel we should respond with kindness, support, and understanding when someone steps back from community participation or projects. We should not shame or guilt them in any way, and ideally act in such a way that welcomes their return whenever they are able to do so.
Many projects (especially open source software) often talk about their
“bus factor” (or more positively worded “lottery factor”). However that framing focuses on the robustness of the project (or company) rather than those contributing to it. Right there in IndieWeb’s motto is an encouragement to reframe: be a “people-focused alternative to the corporate […]”.
The point of “life happens” is to decenter the corporation or project when it comes to such matters, and instead focus on the good of the people in the community. Resiliency of humanity over resiliency of any particular project or organization.
Adopting such values and practices explicitly is more robust than depending on accidental good faith or informal cultural support. Such emotional care should be the clearly written default, rather than something everyone has to notice and figure out on their own. I want to encourage more mutual care-taking as a form of community-based resiliency, and make it less work for folks experiencing “life happens” moments. Through such care, I believe you get actually sustainable community resiliency, without having to sacrifice or burn people out.
Acknowledging Life Happens And You Should Take Care
It’s important to communicate to community members, and especially new community members that a community believes in mutual care-taking. That yes, if and when “life happens” to you that:
we want you to take care of what you need to take care of
you are encouraged to prioritize those things most important to you, and that the community will not judge or shame you in any way
you should not feel guilty about being absent, or abruptly having to stop participating
it is ok to ask for help in the community with any of your community projects or areas of participation, no matter what size or importance
the community will be here for you when you’re able to and want to return
It’s an incomplete & imperfect list, yet hopefully captures the values and general feeling of support. More suggestions welcome.
How to Help
Similarly, if you notice someone active in the community is missing, if you feel you know them well enough, you’re encouraged to reach out and unobtrusively check on them, and ask (within your capacity) if there’s anything you can do to help out with any community projects or areas of participation.
Thanks to
Chris Aldrich
for expanding upon
How to help and encouraging folks to Keep in mind that on top of these life changes and stresses, the need to make changes to social activities (like decreasing or ceasing participation in the IndieWeb community) can be an added additional compounding stress on top of the others. Our goal should be to mitigate this additional stress as much as possible.
How to Repair
Absence(s) from the community can result in shared resources or projects falling behind or breaking. It’s important to provide guidance to the community with how to help repair such things, especially in a caring way without any shame or guilt. Speaking to a second person voice:
You might notice that one or more projects, wiki pages, or sections appear to be abandoned or in disrepair. This could be for any number of reasons, so it’s best to ask about it in a
discussion
channel to see if anyone knows what’s going on. If it appears someone is missing (for any reason), you may do kind and respectful repairs on related pages
(wikifying),
in a manner that attempts to minimize or avoid any guilt or shame, and ideally makes it clear they are welcome back any time.
If you come across an
IndieWeb Examples section on a page where the links either don’t work (404, broken in some other way, or support appears to have been dropped), move that specific IndieWeb Example to a “Past Examples” section, and fix the links with Internet Archive versions, perhaps at a point in time of when the links were published (e.g. permalinks with dates in their paths), or by viewing history on the wiki page and determining when the broken links were added.
Encouraging More Communities To Be Supportive When Life Happens
When I shared these thoughts with the IndieWeb chat and wiki a couple of weeks ago, no one knew of any other open (source, standards, etc.) communities that had such an explicit “Life Happens” statement or otherwise explicitly captured such a sentiment.
My hope is that the IndieWeb community can set a good example here for making a community more humane and caring (rather than the “just work harder” capitalist default, or quiet unemotional detached neglect of an abandoned GitHub repo).
That being said, we’re definitely interested in knowing about other intentional creative communities with any similar explicit sentiments or statements of community care, especially those that acknowledge that members of a community may experience things which are more important to them than their participation in that community, and being supportive of that.
This blog post is a snapshot in time and my own expression, most of which is shared freely on the IndieWeb wiki.
If this kind of statement resonates with you and your communities, you’re encouraged to write one of your own, borrowing freely from the latest (and CC0 licensed) version on the wiki: life happens. Attribution optional. Either way, let us know, as it would be great to collect other examples of communities with explicit “life happens” statements.
There's a lot I like about the IndieWeb community, but one of the best elements is a constant determination to strive to be better. Their recent adoption of an official "Life Happens" policy is a great example. It's a commitment to recognise that, well, life happens and that being part of an online community, or volunteering time/effort, is never a requirement. That slipping out for a bit is not just okay, but encouraged, whatever the reason. And providing a framework for supporting individuals in the community to whom life is happening.
Being in a “life happens” moment myself (finishing my dissertation), I originally missed Tantek Çelik’s chat conversations & blog post about developing a “life happens” approach to community participation & care on the IndieWeb. I love this idea.
#trailTuesdayThrowback to Saturday’s first Marin #trailRun of the year, masked & distanced on a beautiful #Junuary day. Chilly in Tennessee Valley as the sun crested the hills, poking through the eucalyptus[2]. After ascending Fox trail[3], it was warmer than any winter’s day. Nice breeze running down Coastal Fire Road[1 📷 @BryanTing] to Muir beach.
We took Redwood Creek to Miwok into the cool forest canopy, paused for a moment[4], then continued on our way.[5 📷 @BryanTing]
Seven years ago today I showed up to my first #hillsforbreakfast workout @Nov_Project_SF and ran up & down a few blocks for 25min[8]. In memory of #NPSF hills I ran to Twin Peaks today[1], 25min (or a bit less) of all uphill just to start — something that was beyond my reach back then.
Starting at Oak Street I caught a sign in a window[2] I hadn’t seen before, encouraging folks to: * see black women * hear black women * trust black women * love black women * protect black women * pay black women
After running up Ashbury to Clayton to Twin Peaks Boulevard and climbing to the summit & both peaks, I turned around to see a clear view of Sutro Tower, Mt Tam, and the Golden Gate Bridge from the South Peak[3]. On the return run, I spotted a pair of apparent princesses in pink dresses strolling along, brightly lit by the brilliant setting sun[4], along the adjacent road blocked to motor traffic. As I climbed the North Peak, I saw them again up ahead, strolling in the middle of the road without a care in the world[5].
Reaching the top of the North Peak, I noticed Market Street’s streetlamps had been lit, the sunset barely lighting up a few blocks of downtown[6]. Made it back to the Twin Peaks Summit as the sun dropped toward the Pacific Ocean, bathing everything nearby in orange light[7].
Ran down the hill at an easy pace, legs & feet tired after yesterday’s longer run. Grateful for regular runs up Twin Peaks, where 25 minutes is the start, rather than the whole workout.
🗓 More than half way through #January 2021. Since last month’s calendar post: Electoral college results finalized in the middle of the night[1] despite a violent insurrection[2]. Millions received their first vaccine doses, though new cases grew by many millions more[3].
And yet, Georgia’s Senate seats flipped, and with them the US Senate. 3 days til our next president snaps his fingers with executive orders, undoing damage or putting a stop to bad ideas, like the Keystone XL pipeline[4].
Finally, as of this morning, 2021-01-17, we’ve entered the future of Johnny Mnemonic (1995)[5], as noted by a wake-up call in its opening scene[6]. Time to pop in that USB stick and view it in today’s contexts.
For completeness (and those clicking through POSSE copy original post links), Hacker News permalink that does not depend on JS to view: * https://news.ycombinator.com/item?id=25813836
⭕🏃🏻♂️ Last track workout of the year and third #trackTuesday in a row. Spotted new #streetArt #heart by @kate_tova(1) a block before #Kezar. Blue sky and a dry track this morning(2,3) for a warmup, 6x progressively faster 400s with a 200walk+200jog in between. Cooldown jog/walk in the area, noting a #BlackLivesMatter sign in a window(4) & BLM stencil artwork on a plywood covering(5).
Last week the rain had left the track quite wet(6), glistening in the low sun(7), lanes in the shade still wet(8) from rain the night before. Completed a “broken 600s” workout: several sets of alternating fast and slow 400 200 200 400. On my cooldown jog back I spotted a BLACK LIVES MATTER sign leaning against lavender siding, behind a few potted plants(9).
Happy to finish 2020 with a return to regular track workouts, and looking forward to continuing them in the new year.
⛰ Tam summit #13 of 2020. Started(1) just before Emma & Olivia’s time trial. Barely made it up the first road before Nick caught up leading the speed train with Paddy bringing up the caboose(2). #BlackLivesMatter signs are present in many of the yards(3) on roads up to Tam.
Part way up #Temelpa #trail *someone(s)* had decorated a fir tree with holiday ornaments!(4). The views from the summit were the haziest I’d ever seen, SF(5) and Mount Diablo(6) barely visible. Despite the haze and cold (42F), it was one of my quicker recent ascents(7). On the way down I checked PurpleAir and the AQI was 100+(8) which would normally make it too hard to run. Perhaps the trees & bushes filtered the air along the trail. I could smell wood burning stoves & fireplaces as I ran back down the road to Mill Valley. Finished my 9th Tam ascent & descent on the same steep route (AKA H.A.M. on Tam) and returned to the Mill Valley depot where I started.
Congrats @emmakayemccune on a new Tam Ascent Course Record! And Olivia on a new PR! Well done you two!
🗓 Winter solstice, #December 2020. Took a break from posting photos since June. Sat with a lot. Listened. Focused inward, on essentials, on sheltering, and being sustainably supportive of others.
This month feels different. The U.S. Electoral college voted, shifting a critical mass of support for moving forward with election results. The Pfizer vaccine shipped and first doses have been administered.
Daily cases & tragedies continue, nearly ignored by the U.S. government, cruel obstructions of aid for months, only recently offering up mere crumbs for those in need.
As individuals there’s only so much we can do by ourselves. What we can do we should, putting on our own masks, filling our own cups so we’re not pouring from emptiness. 2020 has laid bare layers of challenges, individual entitlement & irresponsibility, masses succumbing to misinformation, systemic biases against those least privileged, racist idolatory of a narcissistic president.
And yet there’s bits of hope. 15 days until the chance of flipping Georgia’s Senate seats. 30 days until our next president can snap his fingers with day 1 executive orders to undo so much damage.
Balance work & joy while staying safe friends. Take care of yourselves, your loved ones, and let’s make it to 2021.
One year & one week ago, I finished my first #ultramarathon race @theNorthFaceECS #ECSCA 50k (actually 53km), my second-to-last race before everything was canceled (last: #TNFECS #halfmarathon the next day).
As a place for bringing together interested and concerned parties about browser engine diversity and standards, this repo would be useful for considering web standards in general beyond W3C, and the impact upon them by the participation (or lack thereof) of one or more browser engine implementations. How different orgs (IETF, WHATWG, TC39, etc.) approach these challenges and questions may help provide common approaches worth considering.
While the origin of this repo is from a W3C TPAC session, it was clear from the broad and diverse participation in that session that this is an area that goes beyond W3C, and thus we should consider expanding the README accordingly, noting browser engine diversity issues and opportunities across multiple standards organizations, and leave the W3C-specific parts as part of the origin (but not any restriction in scope) of this repo. If this general approach is non-controversial, I can make pull requests to update the README accordingly for specifics.
↳ In reply to @dens’s tweet@dens I remember 2009, when our worst complaints about #socialmedia were too many failwhales.
Congrats on Marsbot for AirPods! Could you allow sign-in with @Foursquare (OAuth) instead of a phone number for those of us without one or avoiding SIMjacking?
High level feedback on Canvas Formatted Text: Please harmonize this work with the
CSS Houdini effort.
In addition you may want to take a look at some of the prior work in:
SVG2 Chapter 11: Text.
Similar to
The Google WebID privacy threat model document,
the IndieAuth specification should have a brief non-normative
“Privacy Threat Model” or “Privacy Considerations” section, perhaps right after the
Security Considerations section, or alternatively as a separate document which the spec links to.
↳ In reply to issue 60 of GitHub project “w3process”This is not an “editorial mistake” from the perspective of those that carefully reviewed the Process document with the voting changes and in particular interpreted the only logical way that the election could be implemented given the text of the document (literally STV per seat for the number of seats in an election), and only approved the process accordingly. Several AC reps would have filed formal objections to the process had this been dropped before the Process went to review, and before that, in the AB.
The Process also doesn’t say, implement whatever voting experiments were run, so the excuses that have been made to justify running the subsequent elections as they have been run (“but the experiments!”) also hold no justification in the Process document.
Both of those are deemed objectionable enough to not remove this text from the Process and yes that leaves us at an impasse that the AB must take-up to resolve, especially towards a future where we may/will be relying even more on elected bodies to resolve conflicts rather than a BDFL “Director”.