@prologic@twtxt.net Best wishes!
@movq@www.uninformativ.de Did you place it in the sun? We only got 15°C today.
@prologic@twtxt.net Damn! :-( Yeah, I wonât build that into my client. Not worth it for the many things that are still undetectable and the low frequency it happens.
@bmallred@staystrong.run Oh, I hear you! Itâs always after carefully proofreading and publishing that a typo suddenly pops up. :-) Not sure if amending your edit implementation is really worth it, but happy hacking in case you do.
@movq@www.uninformativ.de Luckily, theyâre not made of steel as I would not have made it home with such heavy weights. :-D
@movq@www.uninformativ.de Fuck! So there arenât any non-criminal printer vendors out there anymore. Very sad. I really donât understand why this is not highly illegal in the entire world.
And I just added a video clip of the woodpecker. As you can easily see from the shaking, it hammers so dang hard that the whole ground around the tree vibrates.
I went on a 5:30 hours long hike to my second backyard mountain. About 12km to get there and roughly 9km on the way back. It was super nice, sunny all day long, 12°C and luckily just a little bit of wind. Great scenery. I managed to capture one great spotted woodpecker hammering along. There was also a kestrel hovering over a meadow and then landing on a sports field light pole. At the castle ruin I could watch 10-12 gliding red kites (with the V-shaped tail) and other raptors, maybe bussards, I donât know, for about five minutes. That was fascinating. Unfortunately, my camera doesnât too well with moving targets.
86 more photos: https://lyse.isobeef.org/wanderung-auf-den-hohenrechberg-2025-03-03/
@prologic@twtxt.net No edits anymore! \o/
@movq@www.uninformativ.de Yeah, the ground was wet here, too. Some sections of esp. smaller paths had turned into mud holes. There are a few notorious spots. Oh well, you just have to press on. :-)
Forest animals also have to do the laundry, they even have a proper clotheshorse! See: https://lyse.isobeef.org/wanderung-zu-den-schurrenhoffuechsen-2021-05-15/07.jpg :-D
@movq@www.uninformativ.de Hahaha, stimmt! :-D
@bmallred@staystrong.run I forgot one more effect of edits. If clients remember the read status of massages by hash, an edit will mark the updated message as unread again. To some degree that is even the right behavior, because the message was updated, so the user might want to have a look at the updated version. On the other hand, if itâs just a small typo fix, itâs maybe not worth to tell the user about. But the client doesnât know, at least not with additional logic.
Having said that, it appears that this only affects me personally, noone else. I donât know of any other client that saves read statuses. But donât worry about me, all good. Just keep doing what youâve done so far. I wanted to mention that only for the sake of completeness. :-)
@andros@twtxt.andros.dev Iâve commented on the ticket: https://git.mills.io/yarnsocial/twtxt.dev/issues/14#issuecomment-19142
In all reality, though, I donât see that our community will come to an agreement. Some folks just donât want to give up on the content-based addressing scheme.
@bmallred@staystrong.run Not an issue if youâre the doctor working there. :-)
@bmallred@staystrong.run Any edit automatically changes the twt hash, because the hash is built over the hash URL, message timestamp and message text. https://twtxt.dev/exts/twt-hash.html So, it is only a problem, if somebody replied to your original message with the old hash. The original message suddenly doesnât exist anymore and the reply becomes detached, orphaned, whatever you wanna call it. Threading doesnât break, though, if nobody replied to your message.
Es gibt Tage, da kommtâs mir auch so vor: https://www.youtube.com/watch?v=EUkkyrHc8so
We went up our backyard mountain again right after lunch. The sun peaked through the clouds sometimes. The 6°C felt much, much cooler with the northeast wind. We got lucky, though, it was dead calm at the summit. At least on the southwestern side, which is a few meters lower than the very top to the east. That was shielded absolutely perfectly from the wind (we were extremely surprised), so we sat down on a bench and could really enjoy the sun heating us up. Apart from the haze, the view was really nice.
There were even patches of snow left up top, that was unexpected. Also, somebody created a cool rock art piece on a tree stump. That one rock absolutely looked like a face. Crazy!
Gewisse Ăhnlichkeiten sind nicht zu leugnen: https://datajournal.org/schon-wieder/
@andros@twtxt.andros.dev I donât see a burst of new twtxt clients popping up. Yeah, the most recent ones are TwtxtReader and twtxt-el. Did I miss one? I agree with @david@collantes.us, looks normal to me. :-)
Iâm also working on my rewrite at the moment, but that started⊠*looking at the git history*⊠oh wow! O_o Over two years ago! I just implemented jumping to the next/previous unread message.
I just learned about a few to me unknown git settings: https://blog.gitbutler.com/how-git-core-devs-configure-git/ Letâs see how quickly I canât live without them anymore. ;-)
@movq@www.uninformativ.de @david@collantes.us Where can I join you? Building a log cabin in the woods would be dang awesome!
@movq@www.uninformativ.de I donât know. It seems a bit like whatever we do or donât do, weâre gonna lose. :-( Unless the ban is successful.
Amd of course, TDD! I tried that, but it doesnât work all that great for me in its strict form. I have the feeling that coming up with a single new failing test, making it pass, maybe some refactoring, rinse and repeat wastes significantly more time than doing it in â what they call â the âbundleâ approach. Coming up with several tests in advance and then writing the code or vise versa is usually much quicker. I do find that more enjoyable, it also helps me to reduce smaller context switches. I can focus on either the tests or the production code.
As for the potentially reduced code coverage with a non-TDD approach, I can easily see which parts are lacking tests and hand them in later. So, thatâs largely a specious argument. Granted, I can forget to check the coverage or simply ignore it.
I agree with John, TDD results in less elegant code or requires more refactoring to tidy it up. Sometimes, itâs also not entirely clear at the beginning how the API should really look like. It doesnât happen often, but it does happen. Especially when experimenting or trying out different approaches. With TDD, I then also have to refactor the tests which is not only annoying, but also involves the danger of accidentally breaking them.
TDD only works really well, if you have super tiny functions. But we already established that I typically donât like tiny methods just for the purpose of them being extremely short.
When fixing a bug, I usually come up with a failing test case first to verify that my repaired code later actually resolves the problem. For new code, it depends, sometimes tests first, sometimes the productive code first. Starting off with the tests requires the API to be well defined beforehand.
@andros@twtxt.andros.dev Just before the pandemic, we watched Uncle Bob videos once a week in the lunch break. While almost all of my old teammates agreed with his views, I partially found them to be very odd and even counterproductive.
I didnât come across John Ousterhout or any of his work before, at least not deliberately. So, this document is my first contact.
I only finished the chapter on comments and I totally agree with John so far. This document just manifests to me how weird Bobâs view is on certain subjects.
I always disagreed with the concept of a maximum method length. Sure, generally, shorter functions are probably better, but it always depends. And Iâve certainly seen super short methods that just made the code flow even worse to follow. While âone function should only do one thingâ is a nice general rule, Iâm 100% in team John with the shown examples. There are cases, where this doesnât help readability at all. Not even close.
To me, a function always has to justify its existence. Either by reusing it at least at another place or by coming up with dedicated tests for it. But if it is just called once and there are no tests, I almost always decide against it. Personally, I donât mind longer methods. We just recently had a discussion about that and I lost against two other workmates who are more in Uncle Bobâs camp, they refactored one medium sized method into three very short ones. Luckily, we agree on most other topics.
Lol, what!? The shorter the method, the longer the variables inside? I first thought I misread or the writeup mixed it up. Iâll always do it the other way around.
Iâve been also bitten badly by outdated comments in the past, but Bob must have worked on really terrible projects to end up with such an attitude to dislike comments. Oh well. No doubt, Iâve come across by several orders of magnitude more useless comments, in my experience (autogenerated) JavaDocs fall in the category more frequently than not. So, I know that there are different types of comments. A comment doesnât automatically mean that it is good and justified.
But I also partially agree with Bob and John and think that a good name has a proper chance to save a comment. Though, when in doubt, I go Johnâs route and use a shorter name with a comment rather than use a kilometer long identifier. Writing good comments typically takes some time, sometimes much longer than writing the code. It regularly takes me several minutes. Itâs a hard art.
I perhaps should read up on Johnâs work. He seems to be more reasonable and likeminded. :-) Let me continue to complete this document.
@thecanine@twtxt.net Thatâs one of my favorite dogs. Very cute. I like its headband and bandana with the bones.
@david@collantes.us Yeah. A horrendously wrong but simple solution often outpaces are bit more correct but complex one. Especially if the simple one suggests that oneself doesnât have to change at all and can just continue along. Wishful thinking.
@bender@twtxt.net @arne@uplegger.eu Hahaha, I love it! :-D
@aelaraji@aelaraji.com Same. It actually goes for anything AI-related. Itâs best kept in /dev/null.
@movq@www.uninformativ.de @arne@uplegger.eu Ach Herrjeh, was fĂŒr ein Interview! O_o Unfassbar. Da kannste den Sender auch gleich dichtmachen, sowas braucht ja echt niemand. Der Moderator hört sich in der Tat arg versprengt an. :-(
@movq@www.uninformativ.de Oh right, I completely forgot about the media! Maybe a sign that theyâre losing their relevance? The third power appears to be gone or changed sides. Lots of them work on their own abolishment.
@falsifian@www.falsifian.org Neat, I got the principle, so mission accomplished. :-)
I have configured my vim to use a tab width of four. So, I noticed that especially https://www.falsifian.org/blog/2021/06/04/catalytic/reachability_with_stack.cc (but also partially the other C++ file) mixes tabs and spaces for indentation. :-)
@movq@www.uninformativ.de I didnât, so itâs working fine. :-) I should rotate me as well.
Na, youâre spot on, @movq@www.uninformativ.de! The result is an expected, terrible disaster. It just seems the absolute catastrophy is delayed for another four years.
Even though Iâm the last one who wouldnât be glad about banning the nazis, Iâm not a fan of banning parties in general. I believe that a healthy democracy has to withstand extremists. Whether itâs still healthy is debatable. To me it appeared that the failed attempts to ban NPD in the past actually helped them gain more supporters.
The big established parties are all bad traitors. I blame them and their actions to help raise AfD. They just give a fuck about the ordinary people, theyâre only concerned about their private gain and power. I bet nothing will change, to the contrary, it will only get worse. The winners do have the chance to turn it for the better, but they just will not. No way, unfortunately.
But then, we must not forget that people are just dumb and stupid, too. Also, that wonât change. AfD wonât help these idiots either, but they still vote for them. I also donât understand how there is still so much support for the other big parties left. Education is important. Very important. But I have the impression that weâre lacking it.
It was mostly cloudy, but every now and then the sun peaked through. With very little wind, the 12°C felt quite nice. Especially for a hike. With the sun completely hidden and more wind, the lunch break at the summit was a bit chilly, though.
Thereâs a bad looking crack in the climbing rock in 10. When you have eagle eyes, you might be able to see the hooks in the cliff for the climbing ropes. I havenât seen this one before. Also, it looked like several cubic meters of earth, grass and rock fell off the top.
On the way home, it got much more sunny. I found yet another skyrocket stick. That was pretty neat. And we saw the first field of snowdrops. With some bees checking them out. In total we walked a bit over 15km.
More pics: https://lyse.isobeef.org/waldspaziergang-2025-02-23/
Spring must be here. I just saw the first bee of the year. She paid me a visit when I was baking waffles outside as todayâs hiking tucker.
Wuuuhuuuu, wie geil! Die neunte Staffel von Feuer und Flamme ist da: https://www.ardmediathek.de/serie/feuer-und-flamme/staffel-9/Y3JpZDovL3dkci5kZS9mZXVlcnVuZGZsYW1tZQ/9 Da muss ich mich dann wohl leider direkt durchsuchten.
@arne@uplegger.eu Nur gebrauchtes Lego ist gutes Lego!
@arne@uplegger.eu Right, theyâre great for upcycling. I knew youâd love that part. ;-)
@xuu Hahaha, this is great! :â-D
@bender@twtxt.net Oh dear!
@falsifian@www.falsifian.org Thatâs cool, dedicated parking for snow. :-) There are also some rather large icicles. Thanks for sharing this photo! <3
Very sunny 16°C, heaps of people outside. As soon as we were a bit further into the forest, we had it completely for us. From the foot we thought that the view might be rather good, but up at the summit, it turned out to be very hazy. Oh well. Surprisingly, I found four skyrocket sticks in premium quality. More than after New Year! Also, we came across two deer. It was a very nice two hours walk. No photos, though, sorry.
Iâm happy to note that tomorrow is already Friday. However, looking back on the week, I canât think of anything terribly useful Iâve accomplished. Hard to distinguish it from a plain zero. Again. Hmm. Anyway, looking forward to the weekend.
I hope not, @bender@twtxt.net! I havenât checked, but Iâd reckon it to be at most a single digit MiB number. How wrong am I?
@nff@www.noizhardware.com Nice! Yeah, itâs all about having fun. :-) The simplicity got me hooked. Happy hacking!
@off_grid_living@twtxt.net No right click thing, but in the terminal:
convert -strip -quality 70 -resize 300x original.jpg resized.jpg
âoriginal.jpgâ being the filename of the input file and âresized.jpgâ the filename of the output. You can play around with the width, â300xâ means 300 pixels wide and the height is determined automatically to still remain in the same ratio. The quality is how much to compress it. The closer to 0 the value gets, the worse the result, but also smaller in file size. More towards 100 and the quality improves together with a larger file size.
You have to install the package âimagemagickâ for this to work, I believe.
@off_grid_living@twtxt.net Oh, Iâm ready for my retirement, too. :-D Still have some decades to go, unfortunately.
@off_grid_living@twtxt.net You could try starting it in the terminal in order to spot errors. Just open the GNOME Terminal or something like that and then type in âkolourpaintâ and hit Enter.
@bender@twtxt.net Lol! :-D
@nff@www.noizhardware.com I do! :-) Btw. line 65 in your feed is broken.
Thanks, @falsifian@www.falsifian.org! Iâll definitely start with the latter one then. Letâs see how far I make it. :-)
@falsifian@www.falsifian.org Phew, okay. So, it took a few months to grow that big. I feared that it could have been just a week or so. Yeah, insulation always is a good idea.
@falsifian@www.falsifian.org Hahaha, thatâs sick, I love it! :-D I envy you a bit. On the other hand, I have to admit Iâm glad that I donât have to chisel down giant blocks of ice from the house.
@falsifian@www.falsifian.org Mate, what an amazing video, holy cow! :-D We only get complete jokes of icicles compared to what you had there ealier today. Itâs a giant wall. For how many days did that grow on your roof?
@falsifian@www.falsifian.org Oh, thatâs neat! Interesting how âobviouslyâ isnât all that obvious at all, even to the contrary. I reckon I have to read up on that subject on the weekend. :-)
I like how Ianâs and your photo complement each other, winter and summer join forces for something special. :-)
@falsifian@www.falsifian.org Wooooaaaahhh! That is BY FAR the biggest icicle Iâve ever seen. Really cool! :-) How long did it take to melt in your sink? The video download is still dripping in, looking forward to that.
twtxt
, the microblogging for hackers and friends...
@eapl.me@eapl.me I couldnât care less about ActivityPub, but twtxt is the thing for hackers by design. Thatâs the appealing part for me, personally. I actually do enjoy that not everybody and their dogs are here. :-)
@thecanine@twtxt.net I agree!
@movq@www.uninformativ.de @prologic@twtxt.net I donât know, I donât see this happening all that often. Very rarely. The problem I encounter much more often is that tech folks are blindly adopting every new hype without thinking the slightest bit what the consequences might be.
But maybe that also means Iâm one of these âtold you soâ guys. Not sure.
@prologic@twtxt.net That boycott didnât last very long, eh!?
Yeah, sounds like another hype train arriving at the station.
tt
rewrite in Go and quickly implemented a stack widget for tview. The builtin Pages is similar but way too complicated for my use case. I would have to specify a mandatory name and some additional options for each page. Also, it allows me to randomly jump around between pages using names, but only gives me direct access the first, however, not the last page. Weird. I don't wanna remember names. All I really need is a classic stack. You open a new fullscreen dialog and maybe another one on top of that. Closing the upper most brings you back to the previous one and so on.
@doesnm@doesnm.p.psf.lt Iâll let you know once it reaches a point where it might be barely usable by someone else than myself. There are long ways to go, though. Right now, you donât wanna even look at it. :-)
Iâm continuing my tt
rewrite in Go and quickly implemented a stack widget for tview. The builtin Pages is similar but way too complicated for my use case. I would have to specify a mandatory name and some additional options for each page. Also, it allows me to randomly jump around between pages using names, but only gives me direct access the first, however, not the last page. Weird. I donât wanna remember names. All I really need is a classic stack. You open a new fullscreen dialog and maybe another one on top of that. Closing the upper most brings you back to the previous one and so on.
The very first dialog I added is viewing the raw message text. Unlike in @arne@uplegger.euâs TwtxtReader, Iâm not able to include the original timestamp, though. I donât have it in its original form in the database. :-/
Next up is a URL view.
@movq@www.uninformativ.de Thatâs what I immediately thought as well. :-D @eapl.me@eapl.me Unfortunately, no fancy buttons. What does your model do?
When washing the dishes at the scouts I cut my hand open on the ladle. That piece of shit has a terrible burr.
@prologic@twtxt.net Of course you donât notice it when yarnd only shows at most the last n messages of a feed. As an example, check out mckinleyâs message from 2023-01-09T22:42:37Z. It has â[Scheduled][Scheduled][Scheduled]â⊠in it. This text in square brackets is repeated numerous times. If you search his feed for closing square bracket followed by an opening square bracket (][
) you will find a bunch more of these. It goes without question he never typed that in his feed. My client saves each twt hash Iâve explicitly marked read. A few days ago, I got plenty of apparently years old, yet suddenly unread messages. Each and every single one of them containing this repeated bracketed text thing. The only conclusion is that something messed up the feed again.
@movq@www.uninformativ.de Ja, völlig behĂ€mmert. Schade, vertane Chance fĂŒr einen âDochâ-Knopf.
Boah, jetzt mal ernsthaft, was ist denn das fĂŒr ein Dialog bittesehr!?
Wer hat sich zu dieser Meldung diese Knopfauswahl ĂŒberlegt und dann auch noch die Icons dazu ausgedacht? Und warum hatâs das Zertifikat ĂŒberhaupt schon wieder zerlegt? Und wieso kommt der Dialog direkt wieder in ner Endlosschleife hoch, wenn ich abbreche? Komplettversagen nach Strich und Faden an allen Enden. Allen. Grrr, so viel Hass! Ich schalt besser die BĂŒchse aus.
@prologic@twtxt.net Tolerant yes, but in the right places. This is just encouraging people to not properly care. The extreme end is HTML where parsers basically accept any input. Iâm not a fan of that. Whatever.
@prologic@twtxt.net The issue is that all bracketed text in the entire feed has been duplicated again two days ago. The bug is not fixed. Or itâs a new one.
@movq@www.uninformativ.de I can relate to that. :-/
@andros@twtxt.andros.dev I suggest to not touch it and work on a different project instead. :-D
No, in all seriousness, thatâs a tough one. Try to figure out the requirements and write tests to cover them. In my experience, if there is no good documention, tests might also be lacking. It goes without saying that you have to understand the code segments first before you can begin to refactor them. Commit even earlier and more often than usual, this will help you bisecting potentially introduced bugs later on. Basically baby steps.
But it also depends on the amount of refactoring required. Maybe just scrap it entirely and start from scratch. This might not be feasible due to e.g. the overall project size, though.
@andros@twtxt.andros.dev Iâm all for elegant solutions. I prefer when the computer helps me to really achieve my goal and solve it completely, not where I still have to manually filter a list by hand. Anyway. :-)
@eapl.me@eapl.me Yeah, you need some kind of storage for that. But chances are that thereâs already a cache in place. Ideally, the client remembers etags or last modified timestamps in order to reduce unnecessary network traffic when fetching feeds over HTTP(S).
A newsreader without read flags would be totally useless to me. But I also do not subscribe to fire hose feeds, so maybe thatâs a different story with these. I donât know.
To me, filtering read messages out and only showing new messages is the obvious solution. No need for notifications in my opinion.
There are different approaches with read flags. Personally, I like to explicitly mark messages read or unread. This way, I can think about something and easily come back later to reply. Of course, marking messages read could also happen automatically. All decent mail clients Iâve used in my life offered even more advanced features, like delayed automatic marking.
All I can say is that Iâm super happy with that for years. It works absolutely great for me. The only downside is that I see heaps of new, despite years old messages when a bug causes a feed to be incorrectly updated (https://twtxt.net/twt/tnsuifa). ;-)
Hahahaha, this is brilliant! :â-D https://denmarkification.com/
Exactly, @bender@twtxt.net, just like yours and prologicâs, too. :-( Subsequent Brackets Considered Harmfulâą.
@eapl.me@eapl.me Read flags are so simple, yet powerful in my opinion. I really donât understand why this is not a thing in most twtxt clients. Itâs completely natural in e-mail programs and feed readers, but it hasnât made the jump over to this domain.
@mckinley@twtxt.net Yeah, all this JS and HTMX garbage messes up a lot of things which used to work better in the earlier days.
@prologic@twtxt.net @xuu There:
Just search for ][
in https://twtxt.net/user/mckinley/twtxt.txt and youâll see.
@movq@www.uninformativ.de @prologic@twtxt.net @bmallred@staystrong.run @andros@twtxt.andros.dev Thank you all! I donât have emacs installed, so Iâll try lagrange and see. According to my shell history, I must have played around with amfora ages ago.
@xuu People should just fix their feeds. :-)
@movq@www.uninformativ.de Yeah, maybe. What browsers are you using again for these two?
I should really fix my calender rendering. A two day event only pops up in the first day, but not in the second. When extended to three days, it correctly shows up in all three days. Meh.
@mckinley@twtxt.net And there is the bracketed text duplication bug again⊠Actually with lots of twts. Did you edit a twt? Do you remember? /cc @prologic@twtxt.net
robots.txt
file. only noticed it because the OpenAI bot was hitting me with a lot of nonsensical requests. here is the list from last month:
@bmallred@staystrong.run Surprisingly, my
User-agent: *
Disallow: /
seems to work. Or maybe those bastards change their user agent and claim to be someone nice. In any case, I just added a bunch of
location = /robots.txt {
add_header Content-Type text/plain;
return 200 "User-agent: *\nDisallow: /\n";
}
in my nginx config. No need for any bot to visit, crawl and index most of my sites.
@movq@www.uninformativ.de Photographic memory, eh?
@movq@www.uninformativ.de I also thought that I have a new Linux friend the other day. But it was just a fake KDE look from Redmond. :-(
@jost@jost.sdfeu.org Yeah, this AI crap is a big reason not to blog.
@movq@www.uninformativ.de So they say. :-D
Iâm not a huge fan of docker. Sorry for the poor screen grab quality, but this is the funniest analogy for âno dockerâ vs âdockerâ Iâve come across: https://lyse.isobeef.org/tmp/no-docker-vs-docker-analogy.png :-D
Well, thatâs another bug: The search https://twtxt.net/search?q=%22LOOOOL%2C+great+programming+tutorial+music%22 yields the wrong hash. It should have been poyndha instead.
@thecanine@twtxt.net Lol⊠I just donât change my default profile pictures. (Well, only when my teammates ask me to.)
@doesnm@doesnm.p.psf.lt Haha, thatâs great! :-D
They fixed it. :-D https://www.youtube.com/watch?v=A8b7HFUXPqk
@thecanine@twtxt.net Some precious cloud space. Probably the Atlassian one.
How does one end up with an avatar of that weird size to begin with? :-D
@falsifian@www.falsifian.org Do you want me to reconfigure my nginx to look at the User-Agent
in order to serve you a different file for the time being? ;-) Good luck with your paper!
@movq@www.uninformativ.de Open-plan offices are just a giant mistake. Iâve never seen a single working one where people can actually concentrate. Except when I was the first one around in the morning.
@prologic@twtxt.net @bender@twtxt.net Looks like something for /dev/null.
@<url>
. Submitting this writes @<domain url>
instead of @<nick url>
in the feed.
While I now have a somewhat working fix for it in yarnd (https://git.mills.io/yarnsocial/yarn/pulls/1232), I also have the feeling that I should fix literal formatting in lextwt as well. This also uncovered more bugs I believe: https://git.mills.io/yarnsocial/go-lextwt/pulls/28
But then there is also the question why the textarea is populated with @<url>
in the first place rather than @<nick url>
or yarndâs own @nick@domain
/@nick
syntax. It indeed has to do something with whether I follow the mentioned feed or not.
Anyway, something to investigate for future Lyse or maybe @prologic@twtxt.net and/or @xuu. Gânight!
@<url>
. Submitting this writes @<domain url>
instead of @<nick url>
in the feed.
Righto, must be some caching thing thatâs going on, too. Now, with JS enabled and a feed that I follow, hitting âReplyâ actually automatically enters @nick@domain
in the textarea. Submitting it correctly writes â@in the feed. Let's digâŠ