# I am the Watcher. I am your guide through this vast new twtiverse.
#
# Usage:
# https://watcher.sour.is/api/plain/users View list of users and latest twt date.
# https://watcher.sour.is/api/plain/twt View all twts.
# https://watcher.sour.is/api/plain/mentions?uri=:uri View all mentions for uri.
# https://watcher.sour.is/api/plain/conv/:hash View all twts for a conversation subject.
#
# Options:
# uri Filter to show a specific users twts.
# offset Start index for quey.
# limit Count of items to return (going back in time).
#
# twt range = 1 6525
# self = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=3296
# next = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=3396
# prev = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=3196
@will It depends on several factors. Smaller stuff will just get a TODO
comment right in the code itself. For bugs I sometimes use FIXME
instead, but that's getting rarer over time. It's super easy to just grep -rn TODO
and find all open TODOs. I don't find this messy but actually rather elegant.
Bigger stuff like a new feature goes in the README for my private stuff. I never used a dedicated TODO file, always just threw it in the README. At work we of course use a ticket system, so I create a story/task/whatever there. For open source projects I use whatever the project figured out worked for them. But I usually don't add TODOs in open source projects.
@prologic I haven't seen one either here in Germany for at least a decade I'd say. Interesting, your's doesn't have a door. After looking for a German phone booth on Wikipedia, I of course came across one without a door, too. Can't recall ever seeing one in person. The telephone hood on the left is accessible to wheelchair users.
@abucci Ha, this is some cool talk! Very nice.
@justamoment Ok, thanks for your insights. I would just try to build my rules based on the HTML structure if I had to tackle this. But luckily my stuff isn't so complicated to begin with. Phew. ;-)
@abucci I'm a strong Vim user and never touched Sublime. The JetBrains universe uses Shift+Shift by default to launch this "goto anywhere" search box (or what I think you mean by that). I use that feature every now and then at work, maybe once a fortnight.
@movq Haha, thanks for the A+. :-D Yeah, to me it makes no sense to [plenk(en?)](https://en.wikipedia.org/wiki/Plenken) with question and exclamantion marks, but hey.
@eaplmx Yeah, in French you use the double angled «» a bit like HTML tags. German prefers „“ and if you nest them, unless using the single ones, you reverse the angled ones »« compared to French. Or as I would call it, use the correct ones. :-) It's just how languages evolved.
@movq @eaplmx Exactly the same here, they were isolated very well and had some kind of fan to exchange the air, not sure if that qualifies for AC. And yes, it felt a bit like being in the zoo. But some work mates and I had fun just waving at each other, when passing by. :-)
Yes, open workspaces are just the worst. In my whole career I always had to work in those, but once I had the opportunity to move to a four people office room. And man, let me tell you, productivitiy at least trippled or quadrupled instantly. Only working from home is better (minus the fun with the great seat mates).
@justamoment So do you use the same stylesheet for several web applications then? Or do you have a common base stylesheet where everthing else builds upon?
@prx This is cool! I don't agree with some of the particular choices, but the idea is spot on.
@off_grid_living Your garding is looking great! I also like the geese. :-) You should provide some photos of those cute little fellers.
@stigatle This is beautiful indeed! On my way home in the train (we had an onsite meeting) I saw a super vivid sunset.
@eaplmx Beaucoup de succès mon ami ! I had French in school for four years and sucked at it.
@abucci @movq We had three of those in my old company. Most likley different brand, though. They were added because we had not enough meeting rooms. The single person phone box and two people cabins alleviated the situation a tiny little bit.
@justamoment No, that goes totally against my philosophy. But I don't build fancy web applications, mostly write documents. And a few simple applications, that don't need a shitload of different styling.
@justamoment Ah, right, the good old freezing trick. Of course. :-)
Thank you very much, @justamoment and @prologic! :-) It's kind of twofold, shaming the litterer, but also showing that this garbage matches the forest or nature theme. :-)
Hm, we neither had rain nor a thunderstorm so far. I don't reckon that both will happen today either.
@mckinley Hui, these are some cool looking demos! I'm interested in how it feels, @movq. :-)
@abucci Hmm, I'm also using dolphin and had this never happen to me.
@movq Thanks! Yeah, unfortunately, my mushrooms top views are all a bit more blurry than I liked them to be. Not sure what was going on, but especially today I had looooooaaaads of super blurred takes. From all kinds of subjects. Even if lighting conditions were close to perfect. Luckily, I usually take tons of photos (309 photos today O_o), so I can make up for most of them.
Hahaha, this time the slenderman was unintentionally. But you can see the red ribbon on that tiny apple tree.
Wow, even 26°C, holy moly! Tommorow's supposed to rain and even lightly thunder. Let's see.
@abucci Yeah, that myth is widespread and very persistent here as well. :-(
@justamoment What a yield, not bad! Do you treat or prepare them somehow for storage? How long will they last before they go bad? You being mushroom fans they probably won't survive that long at your place, anyways, huh? ;-)
@justamoment Exactly! About 90% or maybe even more of my rules target just elements, not classes or IDs. I don't like my HTML being polluted with tons of useless classes and <div>
and <span>
hells, just to make up for some weird positioning and alignment problem. As always, simplicity is key.
@darch I'm sure you can improve the UI somehow. :-)
@akoizumi Hahaha, that's great, I like that! :-)
@prologic In Germany fax is still a thing. However, I personally never sent or received one, let alone operated a fax machine. But for unexplainable reasons corporations and authorities still like it. We just like to be underdeveloped.
Summer is back for a bit. We had 23°C today and I went up my mountain. On the way home I encountered a deer maybe seven meters away from me. You won't be able to see it on the 28 photos, though. Every now and then the smell of rotten fruit was in the air, a few farmers mowed their grasslands, so freshly cut grass odor was a nice and welcome contrast.
Green, yellow and mostly orange autum leaves on a tree
@prologic Not on paper, just in my head. I watched a lot of videos online and then slapped it together. But it's very much inspired by Matthias Wandel's apple grinder.
Btw. he is also the one why I started woodworking in the first place about a decade ago. I watched his fascinating videos and read his articles for some years and then thought, I wanna finally do this bloody cool shit, too! Not just watching and thinking about doing it, but actually getting my hands dirty for real. Obviously, I'm nowhere near him, but it's very great fun for sure.
Hell no! The frame is too tight, the chute locks up before reaching even close the position it is supposed to rest at. Yet, I was sure there are 3-4 mm play, so I can lock in the whole thing with wedges when being used. Shit. How did that happen? I even dry-assembled it with a clamped up frame!
After closer examination I figured the cupped frame side rails narrow in the middle. I should have planed them straight to begin with. Grrr. The dadoes might have turned out a tiny bit deeper than planned, too. This combination is evil. Didn't see that coming. Not at all. These two reasons explain some of the tight tolerances, but I reckon there must be something else. Probably a bad calculation. Not sure anymore whether the dry-assembly was with dadoes on both sides or just one side piece. And I also just used the light clamps to hold it together. When glueing I used my more sturdy ones. So I reckon I compressed the width much more.
I gotta sand the inner sides of the frame down by 1-2 mm tomorrow. I hope I can get my sander in. Apart from the hand drill and drill press (unfortunately, I don't have a cool brace and bit) the sander would be the first power tool in this build.
@prologic Yes, I will do. It will take me a couple of days or even weeks, but I will eventually get to it.
@prologic Thanks mate! I'm not super good, but I try to. :-)
Already sorted out on IRC. For the rest: I didn't know I could simply click on the timestamp of a search result which brings me to the twt view. There I can click on a conversation link that brings up the whole indexed conversation. And now with a more recent change this can be done right from the search results page by following the "conv:$hash" link. Very, very great!
@prologic I reckon you mean https://twtxt.net/conv/we56xwa, don't you? Haven't used the grinder so far.
I built the chute, frame and handcrank. The chute was assembled with just butt joints. But I reinforced it with 22 dowels in total. The frame on the other hand has dadoes. The first chiselled dado was too wide, so I had to glue it with foaming wood glue to fill the void. The other three fits were super tight, I had to use a clamp to force them in.
It was probably very stupid to glue the crank to the axle. Cleaning the wheel will be much more awkward with a handle attached to it. A bolt and nut would have been a better choice I think. But of course I noticed that only after glueling a dowel through the axle to lock it in place. The handle is a section of my grandma's old lamp stand. It's slightly conical and I used the end with the largest diameter to comfortably fit in the hand. It had already a hole in the middle of the cable. I just had to ream it a little bit with a 15 mm drillbit, so I could fit a round M12 coupling nut as a smooth turning surface. In fact I just cut one coupling nut in half for both ends. It now has the perfect slack, both axially and radially. I was quite surprised, it worked better than expected.
Handcrank on the apple grinding wheel
Gotta drill, saw and glue the wheel axle clamps tomorrow. And a slat has to be glued to the chute to stop it from falling through the frame. And then it can be tested.
@abucci Pics or it didn't happen!@1@11
I finally continued with the apple grinder prototype today. Had some fun with the hand plane to make this cylindricalish grinding wheel. Made a paper template with the hole pattern for the stainless steel screws. My hope is that this tooth pattern helps bringing the mash into the middle of the drum. With a crude punch out of a nail pushed into a branch I transferred the locations onto the wheel and drilled the holes on the drillpress at an angle. Parts for the inner box are glued together. The frame where the inner box will sit in and the handcrank will be built tomorrow. Let's see how that goes.
Wooden apple grinding wheel prototype with stainless steel screws as teeth
The grinding wheel probably needs more teeth. If it works well enough, I will make one out of hardwood or ask my mate to make me one out of stainless.
Great news, @quark, thanks! :-) You could have left the other headers, though. They don't hurt. :-)
Welcome back, @quark! Your web server doesn't send back a Last-Modified
header for your feed, so the official twtxt client complains not to cache it. I just fixed that, so that tt shows your feed (of course no progress has been made in the meantime). And the Date
header of your server seems to be quite funny, too. ;-)
@justamoment Very good, it's just way too dangerous to come across very similar poissonous brothers.
That reminds me of a story a mate told me years ago. As a little child he went into the woods with his dad every now and then and collected mushrooms. On the way back they always checked back with an old local mushroom expert. One day this guy made a tour with few interested people. There was one dude who just picked each and every mushroom he could find. When in the end they checked, his basket was full of poisson. Not only death caps, but also a bunch of the very obvious fly amanita, which virtually each toddler knows not to get. Except this crazy dude. They then just threw away the whole basket.
@justamoment Yeah, I don't understand CSS frameworks either. Soooo much garbage in there that I don't need in a million years. Just write all the rules from ground up. Only a few rules will do most of the time.
@prologic Cool. I'd like to be able to easily visit the conversation of a found twt by following a link. The yarnd URL could be configurable in the settings, so people operating both yarnd and yarns could just link to their own instance.
@justamoment Wow, good haul! I actually never went on a mushroom foray. Apart from the obvious fly amanita I don't know how to tell edible ones apart from poisonous. My grandpa knew a little bit but as a child I never cared to learn from him about that. :-(
@prx @abucci This is cool, indeed! I think I stumbled across this one or a similar list before, but it's always great to check again.
@movq I see a lot of carelessness combined with unexperienced people and stupid political decisions. And there's much more to add.
@movq It just occurred to me that maybe the Ace Ventura guy was involved, so I looked up Jim Carrey's movies and voilà: The Truman Show. I thought I quickly report back, but you already guessed it correctly. :-)
@justamoment @prologic Thank you very much! This time it was a real exploration, indeed. I've never been there before, just my mate. Fun fact, this year we're having a huge mushroom shortage I heard. But right from when I first heard that message, I encountered so many of them. So maybe they're just growing later than usual, now that it is getting wetter.
@prologic Uuuuhhhhh, how adorable! :-) I got an instant lizard flashback from the weekend. It's sooo much of a better photo than what I managed to take. Super crisp. Awesome!
@thecanine Bwahahaha, brilliant story! :-D Sorry to hear you turning into an ice cube. :-(
@movq I once saw a movie where everything was simulated for one person. Can't remember neither the details nor even the title. I reckon the movie was from the 70ies, 80ies or maybe 90ies.
We went on the same tour on Saturday and discovered a few new paths. This time only 36 photos. I was not able to get a good shot of the wine grapes. Looks like I have to visit my mate again.
Colorful leaves
Just encountered two lizards. Well, the ones we did actually see. Plenty more rustling of course.
Autumn finally hit! Visited a mate and enjoyed the colorful season with the best weather. We encountered 50-70 lizards on our Friday stroll. Yes, that's more than in my entire life together. Unfortunately, my camera battery flattened before we reached the loop trail around the fortress full of lizards. Fucking cool experience, though. :-)
Lizard enjoying the autumn sun on warm a sandstone wall
Sorry for the huge photo gallery on that day. I had a very hard time to throw away files.
@prologic @justamoment @movq Thank you mates! Oh, that is really lovely, justamoment! A few years back there were birds nesting in the hedge, but they never returned. Probably too unsafe. That was lucky indeed, movq. The other two photos were rubbish. ;-) Right after this shot it flew away.
I grabbed a yoghurt and just noticed that I actually forgot to eat it. That probably means I'm ready for bed. Further picture sorting will have to wait for tomorrow.
@prologic Exactly, the last entry is the only correct one.
@eaplmx I forgot to mention that I like the HTTP status codes idea! I need to think about it a bit more, but that sounds very appealing. We just need to watch out that we don't tie it too much to HTTP. I have no clue about Gopher or Gemini.
@prologic I'm happy to see a fix in yarnd. ;-) The thing is, though, there are still old broken data out there. You can't fix them. At least not without breaking all sorts of conversations then. And I assume lots of people just don't care about their old contents all that much as to bother fixing mention URLs.
@mckinley The idea is not to have a single source of truth. It's definitely designed to have multiple databases operated by different people. That's why all this synchronization exists. Granted, I haven't put much thought into that so far.
@eaplmx The idea is to only provide mappings for wrong URLs and mark dead ones. So a single database for multiple protocols should do. No need to spin up a dedicated one for a different protocol. If a feed is available over multiple protocols or locations, there's no need to insert any of them, if they work. Unless one wants to rewrite some URLs to some other canonical forms.
@eaplmx So I have two personal main goals with this:
1. In the long run fix producing broken mentions in yarnd. I reckon the yarnd client is the main source of all those broken mentions I've encountered so far. There might be others, too, but to me it looks like that's the main bad guy. :-)
2. Reduce 404 in my HTTP error logs. Yes, I could configure my web server to exclude some paths, but where's the fun in that?
There are at least three specific reasons why a twtxt feed URL is wrong at some point in time. And there are probably much more.
1. It never existed in the first place, because somebody screwed up the feed URL a mention, some other feed URL should have been used.
2. The feed URL was valid before but it is now gone, the feed author decided to quit.
3. The feed URL was valid before but the feed author decided to move the feed to somewhere else.
I'm not entirely sure what you mean with "two URLs have changes". But the idea would be if URL A becomes wrong for any reason and a mapping to B is added and then later B points to C, A would also be updated to point to C directly.
The main consumers of such a database are search engines/crawlers and clients. Search engines could lookup a twtxt feed URL in this database and follow the mapping instead. Clients could use that DB to check before posting whether a mention should be corrected or use these mappings to fix broken mentions when displaying a twt.
@eaplmx @mckinley @prologic Thank you very much, mates! I will be gone over the weekend, so keep the feedback coming, I'll catch up eventually. However, so far it looks like this idea is a busted flush.
I just spent a few hours thinking about the Twtxt Feed URL Normalization Database, that I suggested a few times already in the past weeks. It then occurred to me that a simple text file managed in a version control system would be enough to start out. No need to build a dedicated (web) interface just yet. So ignore all the reviewer, synchronization and REST API stuff for now. Any thoughts? Any feedback is very much appreciated.
@mckinley I think I counted just five levels, when scrolling over it. Zoomed out as far as my terminal allowed:
Conversation in tt
@prologic Oh! Thanks for pointing out the "POLITE", @justamoment. I obviously misread it as "POLICE". I was wondering why I didn't see any emergency lights, but thought maybe it's an unmarked police vehicle. And congrats for winning! ;-)
@prologic You mean the motorcycle cop(s)? Is it rare in Australia?
@tkanos Scouting is really great, yes! My best school mate introduced me to it some time at the end of school or beginning of uni, can't remember. I was invited to the last two days of the scout group camp he had organized. All the folks welcomed me open-heartedly and after just an hour I felt like I was with mates I knew for several years. In fact, I just met them that day for the first time. It took me about another two years to finally hand in my registration. There was just too much else going on. Since I joined very late, I couldn't be a rover (last youth section, age 16-21 here) anymore. I became a volunteer since I didn't want to start right off as a leader without even knowing the basics. And then I just stuck with it ever since. :-)
I have to add, this conference was just for our leaders round table — that is leaders, volunteers and a bunch of rovers. No kids this time. But the week before we had the annual scout meeting on Saturday afternoon with the whole group, followed by a scout church service (scouting is affiliated to the church rather than the military in I suppose most of Europe). After that we had a bbq in the church yard for everybody to attend for free. I helped setting it up while most of us were in church. On Sunday we played games with all the kids, grilled stick bread on the fire and then older kids were "levelled up" to the next youth sections and got their new colored scarfs of their new troops.
German report of that weekend: https://dpsg-salach.de/2022/bericht-vom-stammeswochenende/
@tkanos Oh, this ASCII art preview is looking nice! :-)
@prologic @tkanos I'm a volunteer not a leader, so I don't have a group of kids, but I help out at most events. Our yearly conference was good fun. We went through a few topics, scheduled most events for next year and assigned organizers. Later, we went on an excursion to nearby Schloss Weißenstein where we got a guided tour through the palace and saw super amazing microscopic shots of all sorts of things. The tour guide's dad was a pioneer on microscopic photography. The absolute highlight at the end was watching some kind of glue crystalizing live. Highly entertaining science art. I'll be back some day, that's for sure.
In order to get to the Kreuzberghütte that we rented for the weekend, we split up into two groups and went for a scavenger hunt. It took both teams a bit longer than we anticipated, but they all made it. On the way back we discovered that one group solved one quizz completely and utterly wrong, but still managed to find the final solution with the next coordinates. They parked a few meters ahead than what we had planned and found something completely different, that still perfectly matched the vaguge description on their note.
For dinner on Friday we cooked Linsen mit Spätzle at the hut. When we wanted to roast onions a gas smell suddenly was in the air. So we quickly shut down the gas stove and checked for leaks, but couldn't find any. Next attempt and the gas smell was back again. We knew the group before us broke one of the two pit toilets, reported the hand water pump in the kitchen to be broken (worked flawless after priming, though), didn't turn off the main gas tap, left a filthy baking tray behind, didn't close a window shutter, so we figured maybe that's also why the stove was cactus. Hence we decided to get our own gas cooking equipment from our material store. Luckily, we stayed regionally, so about one and a half hours to two later we were back in business. When finally dressing the salad we noticed, that the olive oil with truffle was the cause for the gas smell. Never use this kind of oil for browing onion, kids! Unless you wanna have a good story to tell (and delay your meal).
@movq Only a few things I really looked at in more detail. I decided to keep a few pages. CS even in total without glimpsing over. But most of the stuff I just checked for recycling as scratch paper. No real gems, though. There are a lot of centimeters in height to cover in the future.
@tkanos The uploader blocked this video in Germany.
A few hours later I got rid of 27 cm double-sided printed or written DIN A4 paper and have a 10 cm stack of scratch paper for the rest of my life. To be continued.
School was such a waste of paper
I'm weeding out my old school stuff. What a giant paper mess.
Sorry, I was out with the scouts.
@stigatle This looks super beautiful! Great subject, perspective and colors.
@movq Haha, I can barly read it. But just because I know what it's supposed to say. :-D
@mckinley Sounds good to me, go for it. Interesting mention analysis btw.
Very nice, @tkanos! 1. Indeed. :-) 4. Ah, now I see. Didn't think of follow metadata. Ten seconds is really awesome. :-)
@prologic @darch @mckinley Yes, I just meant to remove the line, when there are no naviation links. But it's fine. Thank you, darch!