To me it appeared that the failed attempts to ban NPD in the past actually helped them gain more supporters.
What makes AfD stronger for sure is just going ālol nah weāre not even going to tryā:
https://www.tagesschau.de/inland/innenpolitik/afd-verbot-antrag-100.html
If they donāt try, then it means that āit canāt be that bad, itās just a normal partyā, right? š”
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.
The big established parties are all bad traitors. I blame them and their actions to help raise AfD. They just [donāt?] give a fuck about the ordinary people, theyāre only concerned about their private gain and power.
To a large degree, yes. But I think the media is also equally at fault. There was absolutely no reason to invite AfD people to every event and let them talk. This has been going on for over 10 years. When we give them a stage to spread their hate, are we really surprised that hate spreads ⦠?
I donāt know the answers to this desaster. Iām beginning to think that people literally just want an outlet for their frustration, nothing more. Itās not about what particular parties actually plan to do. At least I think this applies to people in their 30ies and 40ies.
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.
@bender@twtxt.net @prologic@twtxt.net The outcome was to be expected but itās still pretty catastrophic. Hereās an overview:
East Germany is dominated by AfD. Bavaria is dominated by CSU (itās always been that way, but this is still a conservative/right party). Black is CDU, the other conservative/right party.
The guy whoās probably going to be chancellor recently insulted the millions of people who did demonstrations for peace/anti-right. āIdiotsā, ātheyāre nutsā, stuff like that. This was before the election. He already earned the nickname āMini Trumpā.
Both the right and the left got more votes this time, but the left only gained 3.87 percentage points while the right (CDU/CSU + AfD) gained 14.72:
The Green party lost, SPD (āmid-leftā) lost massively (worst result in their history). FDP also lost. These three were the previous government.
This isnāt looking good at all, especially when you think about whatās going to happen in the next 4 years. What will CDU (the winner) do? Will they be able to āturn the ship aroundā? Highly unlikely. They are responsible for the current situation (in large parts). They will continue to do business as usual. They will do anything but help poor/ordinary people. This means that AfD will only get stronger over the next 4 years.
Our only hope would be to ban AfD altogether. So far, nobody but non-profit organizations is willing to do that (for unknown reasons).
I donāt even know if banning the AfD would help (but itās probably our best/only option). AfD politicians are nothing but spiteful, hateful, angry, similar to Trump/MAGA. If youāve seen these people talk and still vote for them, then you must be absolutely filled with rage and hatred. Very concerning.
Correct me if Iām wrong, @lyse@lyse.isobeef.org, @arne@uplegger.eu, @johanbove@johanbove.info.
here is my progress so far: https://github.com/eapl-gemugami/twtxt-direct-message-php
The encryption part seems to work, if I decrypt it the message with OpenSSL.
I think it can help you for some key parts not well explained in OpenSSL documentation.
@andros@twtxt.andros.dev reading your spec I wrote a few notes here: https://github.com/eapl-gemugami/twtxt-direct-message-php/blob/main/direct_message_spec.md
@arne@uplegger.eu I havenāt check your repo yet, although you are using sodium, right?
@arne@uplegger.eu Hi! I love that youāre implementing it! Maybe, when weāre both done, we could test the clients by communicating both.
I donāt think Iām going to be able to help you much, my knowledge of OpenSSL and PHP is not as high as Iād like it to be.
Maybe the OpenSSL version uses SHA-1 by default in PHP. Or that the IV is derived together with the key (not generated separately). But Iām not able to answer your questions, sorry.
Iām invoking the commands directly, without any libraries in between. Maybe that would help you?
ok, sounds like a ālargeā project to me.
Is it more an API (more oriented to developers), more oriented to UI/UX/Frontend? Perhaps both?
Iād go with prologicās advice of measuring and prioritizing. Perhaps you have a budget or at least something like āletās see how far can we reach in 6 monthsā, and possibly you wonāt finish in the time you have (just guessing).
Something that has helped me was defining āWhy do you we want to refactor this project?ā.
Could it be to make it compile on newer versions, or making it easier to grow and scale, or perhaps they are trying to sell that product to another company. Every reason has a different path, IMO.
@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. :-)
Rediscovering Plan 9 from Bell Labs
During a weekend of tidying up ā you know, the kind of chore where youāre knee-deep in old boxes before you realize it. Digging through the dusty cables and old, outdated user manuals, I found something that I had long forgotten: an oldĀ Plan 9Ā distribution. Judging by the faded ink and slight warping of the disk sleeve, it had to be from around 1994 or 1995. I couldnāt help but wonder: why had I kept this? Back then, I was curious about Plan 9. It was a forwar ⦠ā Read more
Suspension Bridge
ā Read more
Everybody wants to save the Earth; nobody wants to to help Mom do the dishes. - PJ ORourke, All The Trouble In The World #quotes
@prologic@twtxt.net @lyse@lyse.isobeef.org First, please leave me your comments on the repository! Even if itās just to give your opinion on what shouldnāt be included. The more variety, the better.
Second, Iām going to try to do tests with Elliptic keys and base64. Thanks for the advice @eapl@eapl.me
Finally, Iād like to give my opinion. Secure direct messages are a feature that ActivityPub and Mastodon donāt have, to give an example. By including it as an extension, weāre already taking a significant leap forward from the competition. Does it make sense to include it in a public feed? In fact, weāre already doing that. When we reply to a user, mentioning them at the beginning of the message, itās already a direct message. The message is within a thread, perhaps breaking the conversation. Direct messages would help isolate conversations between 2 users, as well as keeping a thread cleaner and maintaining privacy. I insist, itās optional, it doesnāt break compatibility with any client and implementing it isnāt complex. If you donāt like it, youāre free to not use it. If you donāt have a public key, no one can send you direct messages.
another one would be to allow changing public keys over time (as it may be a good practice [0]
). A syntax like the following could help to know what public key you used to encrypt the message, and which private key the client should use to decrypt it:
!<nick url> <encrypted_message> <public_key_hash_7_chars>
Also Iād remove support for storing the message as hex, only allowing base64 (more compact, aiming for a minimalistic spec, etc.)
@bender@twtxt.net all by myself too T__T not that i wasnāt offered help i wanted the challenge but my back paid the price lol
I need an alternative news source⦠Something I can shove into feeds.twtxt.net that helps me keep up-to-date with Tech and other important news šļø Hmmm š¤ Suggestions? I canāt stand Slashdot anymore since theyāve decided to come down hard on ad-blockers š¤¦āāļø
although I agree that it helps, I donāt see completely correct to leave the nick definition to the source .txt. It could be wrong from the start or outdated with the time.
Iād rather prefer to get it from the mentioned .txt nick metadata (could be cached for performance).
So my vote would to make it mandatory to follow @<name url>
but only using that name/nick if the URL doesnāt contain another nick.
A main advantage is that when the destination URL changes the nick, itāll be automagically updated in the thread view (as happens with some other microblogging platforms, following the Jakobās Law)
I just used screego to help a family member with their Windows PC. Flawless experience! š
Thanks š! @aelaraji@aelaraji.com I am working on a fork now because the new version will break the current code. Therefore, I will upgrade the current repository (https://codeberg.org/deadblackclover/twtxt-el). The original author is helping me with reviews. I am sorry for my long development, I am working in my free time and it is scarce. I will report back to you all. š
taskbook is really neat. i like using its to-do features, i think the note-taking i wonāt need as iāve been using obsidian a lot for that lately but the to-do stuff is really helping me out
I keep forgetting how much socialization with people I actually like really helps ease up my depression for a bit.
@prologic@twtxt.net awww thank you! yeah iād love to keep it small and chill. thatās what i and my friends like most about yarn, how small and quiet it is, itās just chill! and thereās no likes/reposts too which helps keep it super chill i think. just vibes⦠itās the best! youāve built something great!
GUYS HELP I LOCKED MYSELF OUT OF MY ACCOUNT ON WEB AND I COULDNāT GET EMAILS WORKING IāM STUCK POSTING FROM CLI LOLLLL
"twtxtfeevalidator/0.0.1"
UA about? I thought I could ask before throwing a 1000GB file at it šŖ¤ could it be the same 'xt' thing @lyse was talking about the other day?
@lyse@lyse.isobeef.org Oh! no need to be sorry and feel free to keep at it if it helps, I donāt mind. Itās just that Iām always on the lookout for corpo-bots and crawlers slipping through the cracks (a fun little game of sorts) š
the only thing I let them see is a robots.txt telling them to :diffoff
Also, Iām curious about the invalid lines in my feed. is it something I should lookout for in future?
@prologic@twtxt.net oh itās ok! thank you for the explanation! i think for me when it comes to programming i learn best by doing, so like written examples or talking about it helps less, BUT baseline explanations like what a pointer is does help! i was so confused and i still need to fix the error iām having but i will figure it out!
Rode my bicycle into town. What the hell is wrong with some of these motorists!? Here in right lane traffic land, a car reversed out of the driveway on the left into the road and nearly hit me. And this happened twice! If you donāt fucking see, how about you go slowly and not just hope that nobody is coming!? The first one even decided to honk at me. SUV drivers confirming prejudiceā¦
Well, at least I could help a lady with transfering her child in a pram.
help iāve had this account for barely 2 days and iām nearly at 100 posts
well, the extension helps to know the file format as in .txt
and .html
, perhaps .twt
, he!
Fartlek: 7.12 miles, 00:09:56 average pace, 01:10:41 duration
kept it chill the first three miles then took a walk break to lower the heart rate and started off again into a fartlek. the intervals helped because my mind was starting to fuck with me with the steady pace. got some pretty good rain in the last two and a half miles which was great too!
#running
Organised my decades old ebook collection and cleaned up all the duplicates. The Czkawka application helped a lot with getting that done. Also - finally - using Calibre as our home digital library.
@mckinley@twtxt.net To help saving the planet is a good reason. :-)
@prologic@twtxt.net Thereās always my log.html page if it helps⦠and while weāre still at it hereās the other twt #z2ymlkq for reference ;)
I sent a few local tests, could you help me check if you see https://eapl.mx/twtxt.txt
in your log file?
If you want more eyes on the agent, you can tell tell me, as I was thinking on something similar to catch those āfollowing requestsā.
@eapl.mx@eapl.mx Yes, the idea is to add User Agent support to #Timeline.
Right now it just adds every request to a growing log file, but I have also been working on a way to analyse it, so it only saves the time of the latest request.
Iām not sure how to make it part of timeline itself, since it requeses that you redirect/rewrite from twtAgent.php
to the acctual twtxt.txt
Help with making Timeline send proper User Agents to others would be much appreciated:)
@prologic@twtxt.net My pleasure! glad I could help.
Btw about social: found very interesting thing about twitter:
The legal basis that X asserts in the filing is not terribly interesting. But what is interesting is that X has decided to involve itself at all, and it highlights that you do not own your followers or your account or anything at all on corporate social media, and it also highlights the fact that Elon Muskās X is primarily a political project he is using to boost, or stifle, specific viewpoints and help his friends. In the filing, Xās lawyers essentially sayālike many other software companies, and, increasingly, device manufacturers as wellāthat the companyās terms of service grant Xās users a ālicenseā to use the platform but that, ultimately, X owns all accounts on the social network and can do anything that it wants with them.
Forcing social media to open their algorithms: hostile to corporations
Forcing young people to not use social media: hostile to young people, helps prevent them from organizing
You think they did this for the benefit of the young people?
Also this āļø
End of year holidays are a mix of sadness and happiness for me. I canāt help but remembering those who are gone, with which I spent so many good times. A part of me wants to feel happy, and celebrate another completed round around the Sun, while the other feels sad because of those I will never see again.
Whatās made you unlock twitch.tv?
A couple of events where my only choices for watching them are: Twitch, Youtube or Fartbook.
What are you doing differently?
TL;DR: I stopped going there unless I have to for the reason above.
I used to spend Waaaaay too much time on the platform. I had a whole setup using Streamlink, MPV and Chatterino where sometimes, Iād have up to 10 concurrent open streams all day long on a secondary monitor (thanks to tiling window managersā magic), some I was interested in watching, some I moderated for a couple of friends and some Iāve had open just for support (helping new streamers in the community with their numbers till they take off and such). Theeen something happened to one of my loved ones, so I had to stop all the nonsense and spend that time and attention with the person who deserves it the most. I blocked the platform at first since I had a habit to type twit...
as soon as I opened a browser š
(addiction is real) and now I donāt. (That reflex got replaced with typing twtxt...
instead š)
@bender@twtxt.net š Would calling it a Single user Twtxt "Yarn Pod **Like**" software
help you sleep better at night? And just in case things are not clear here, Iām being sarcastic (well, kindaā¦) and not trying to gaslight anyone. Think of my comment as Bromance or something like that LOL.
But seriously, Just like any UNIX-Like system to Unixā¢, as in non of them are UNIXā¢, but each of them is providing more or less similar experience and re-implementing what once was parts of āUNIX⢠softwareā their own (more or less better) ways. Timeline is Yarn⢠Pod like, (my personal take on the word pod is: āan instance of XYZ software acting an escape POD from X-BS for⦠ABC reasons.ā) providing more or less of a similar experience, implementing some of Yarn.social Extensions, trying to add in some more ā¦etc.
Otherwise, I donāt see the Yarn pod
mention as some kind of malicious manoeuvre, but more of a tribute to what (might have) sparked inspiration for creating Timeline? Also, our friend @sorenpeter@darch.dk here has got a valid reason for using PHP (#tms7aka) so letās letās put our unease towards the language itself aside and maybe just help however/as much as we can in order to make internet (the World?) a better place.
Want to help improve the shoddy code?
Thank you, @eapl.me@eapl.me! No need to apologize in the introduction, all good. :-)
Section 3: Iām a bit on the fence regarding documenting the HTTP caching headers. Itās a very general HTTP thing, so there is nothing special about them for twtxt. No need for the Twtxt Specification to actually redo it. But on the other hand, a short hint could certainly help client developers and feed authors. Maybe itās thanks to my distroās Ngninx maintainer, but I did not configure anything for the Last-Modified
and ETag
headers to be included in the response, the web server just already did it automatically.
The more that I think about it while typing this reply, the more I think your recommendation suggestion is actually really great. It will definitely beneficial for client developers. In almost all client implementation cases Iād say one has to actually do something specifically in the code to send the If-Modified-Since
and/or If-None-Match
request headers. There is no magic that will do it automatically, as one has to combine data from the last response with the new request.
But I also came across feeds that serve zero response headers that make caching possible at all. So, an explicit recommendation enables feed authors to check their server setups. Yeah, letās absolutely do this! :-)
Regarding section 4 about feed discovery: Yeah, non-HTTP transport protocols are an issue as they do not have User-Agent
headers. How exactly do you envision the discovery_url
to work, though? I wouldnāt limit the transports to HTTP(S) in the Twtxt Specification, though. Itās up to the client to decide which protocols it wants to support.
Since I currently rely on buckketās twtxt
client to fetch the feeds, I can only follow http(s)://
(and file://
) feeds. But in tt2
I will certainly add some gopher://
and gemini://
at some point in time.
Some time ago, @movq@www.uninformativ.de found out that some Gopher/Gemini users prefer to just get an e-mail from people following them: https://twtxt.net/twt/dikni6q So, it might not even be something to be solved as there is no problem in the first place.
Section 5 on protocol support: Youāre right, announcing the different transports in the url
metadata would certainly help. :-)
Section 7 on emojis: Your idea of TUI/CLI avatars is really intriguing I have to say. Maybe I will pick this up in tt2
some day. :-)
So letās recap⦠Weāve got Putin waging war against Ukraine. Netanyahu waging war against Palestine. Iran getting involved. Kim Jong Un helping Russia and sending soldiers as resources for Putinās war. And now Trump has won a 2nd term in the US where weāll see him scrap EU sanctions and fines against US companies violating EU laws and what else? š¤
What dafuq is wrong with this world?! š
@doesnm@doesnm.p.psf.lt here! create a $HOME/.cache/mutt/twtxt/
directory for example and then add this set header_cache = $HOME/.cache/mutt/twtxt/
to your muttrc (the one you have set up for or use with jenny if youāre using different ones). Thatās what helped me with that.
AI helps driverless cars predict how unseen pedestrians may move
A specialised algorithm could help autonomous vehicles track hidden objects, such as a pedestrian, a bicycle or another vehicle concealed behind a parked car ā Read more
My favourite part of Halloween is helping to set up the charity halloween party at a local school. Love decorating the haunted hallway and setting up the lights. Feels great to get those smiles on peopleās faces.
Pinellas County Running: 4.56 miles, 00:12:32 average pace, 00:57:13 duration
different path today to hit some uphills and tour a different neighborhood after milton. stopped at the high school to help brian out with the camper.
#running