Searching yarn

Twts matching #mind
Sort by: Newest, Oldest, Most Relevant
In-reply-to » $599 retail purchase $9.95/month optional subscription

@prologic@twtxt.net Potentially, depending on the features supported / hardware used.

I’ve long wished for an appliance (like a video game console) that hosts my essential services - email, shared files, social media, etc. - but which ā€œjust runsā€ in a box behind the TV.

So what do you have in mind? šŸ¤”

⤋ Read More

@david@daiwei.me Also if you wouldn’t mind writing up an Issue for the image/upload problem too, that would be great šŸ‘ I still haven’t solved it properly, but I’ll try to do so today. There’s also an issue uploading images via the yarnd API path from the Twtxt App too, which I can replicate with basically any photo from my iPhone’s Photo gallery hmm šŸ¤”

⤋ Read More

Bwahahaha, these security folks have a great sense of humor! :-D Got a phishing test e-mail disguised as an overdue anti-phishing training e-mail:

We receive these test phishing e-mails every now and then at work. When you follow the links and log in at the fake login, you probably get assigned another (real) training.

When I got this e-mail, I immediately thought of such a test. Since I actually do have some stupid training deadlines coming up soon, I wasn’t 100% sure, but still doubted that this was one of them. To make the timing even better, in the team meeting last week, our bosses reminded us to complete outstanding trainings before the deadlines. Ideally well in advance. Notifications about deadlines coming closer are sometimes not only sent to the individuals but also to the bosses and their bosses. And then things can get out of hands when somebody doesn’t read the e-mails properly and mistakes them for deadline exceeded reports.

Anyway, the URL also looked kinda legit. It really doesn’t help a single bit that domain names change all the fucking time. So, still with the test program in mind, I thought, I just give it a quick shot out of curiosity. Since I just had logged in before, the empty SSO username field was totally obvious then. Looking at the e-mail headers confirmed that this was indeed one of security’s field checks. :-)

⤋ Read More
In-reply-to » The original twt is unavailable. It may have been edited or deleted, or is from an unknown or muted feed.

@david@daiwei.me It’s truly mind-boggling. All the hand full of episodes I’ve seen so far on this channel are amazing. Totally worth tuning in. I have to catch up a lot. :-)

⤋ Read More
In-reply-to » @lyse Ahh yes, but tt has a "draft" mode right? You didn't publish, then edit over and over did you? šŸ˜…

@prologic@twtxt.net Not sure if this really counts as a draft mode or this is what you had in mind. I just was in the editor for ages and didn’t close it. tt provides an integrated preview for the rendered message in there. It automatically updates every second.

Here’s a screenshot of the compose view with the conversation context on the top to which to reply to, the editor in the middle and the almost-live preview at the bottom, I hope it’s big enough:

But it’s not like I hit the ā€œAdd messageā€ button in the compose view (the one currently selected on the screenshot), see the message in the conversation tree and then come back into the compose view to continue editing. There’s no edit functionality in tt. Once the message is appended to my twtxt.txt file on disk, all I can do is edit it with vim. The U+2028 line breaks are really annoying to deal with (I’m sure I could do something about that if I spent the time), so I try to avoid that at all costs.

Once new messages have been added to my local file, I then manually upload the file to my server in a separate terminal. There’s no upload command integrated into tt. Right from my very first message in the beginning, I’ve always done it exactly like that. I’m used to this and it really doesn’t bother me. But I can see that others might not be fans of that at all. I might add an upload mechanism to tt at some point in the future.

⤋ Read More

Hurray, I can now press gg instead of g to go to the top in tt. Much better! :-) Other multi-key combinations are also easily possible now.

I should probably write a real article about this at some point, but here we go. The only downside with my new key binding system is that it breaks tview’s established pattern. You’ve got an InputHandler(), that is implemented using WrapInputHandler(…). It typically then directly implements the switching logic depending on the key press. Something like this:

func (w *Widget) InputHandler() func(event *tcell.EventKey, setFocus func(p tview.Primitive)) {
    // WrapInputHandler allows for intercepting key events with SetInputCapture(…)
    // from the outside for customization. This handles the default key bindings.
    return t.WrapInputHandler(func(event *tcell.EventKey, setFocus func(p tview.Primitive)) {
        switch event.Key() {
        case tcell.KeyRune:
            if event.Modifiers() == tcell.ModNone {
                switch event.Rune() {
                case 'k':
                    w.scrollUp()
                    return // we already handled the event, stop processing

                case 'j':
                    w.scrollDown()
                    return
                }
            }
        }

        // We didn't handle the key event. Maybe the parent
        // widget knows what to do with it.
        if handler := w.parent.InputHandler(); handler != nil {
            handler(event, setFocus)
        }
    })
}

From the outside, you can intercept and either stop or continue the widget’s original key handling with a potentially rewritten key event using SetInputCapture(…):

w := NewWidget()
// customized or additional key bindings
w.SetInputCapture(func(event *tcell.EventKey) *tcell.EventKey {
    switch event.Key() {
    case tcell.KeyUp:
        // Rewrite the event, so the "cursor up" key is an alias
        // for the vim key binding "k", that is handled by the
        // wrapped input handler above. (I know, I know, this is a
        // completely unrealistic example, why would anyone use
        // cursor keys when there are vim key bindings available?!)
        return tcell.NewEventKey(tcell.KeyRune, 'k', tcell.ModNone)

    case tcell.KeyRune:
        if event.Modifiers() == tcell.ModNone {
            switch event.Rune() {
                case 'q':
                    app.Stop()
                    // we already handled the event, do not pass it
                    // to the wrapped input handler above
                    return nil

                case 'r':
                    toggleMessageReadStatus()
                    return nil
            }
        }
    }

    // we didn't handle the event, pass it to the wrapped
    // input handler above
    return event
}

Since they all expect a single key, I’ve noticed that using multiple dedicated KeyBindings of mine on these different levels kinda breaks multi-key handling with common prefixes. The outer-most KeyBinding captures the prefix, but it can’t transfer it to the inner one if not handled by the outer one. At least not without some more (potentially ugly) changes. So, I now have to work with just a single KeyBindings object for the entire widget chain (if it consists of multiple other widgets or the regular input handler and input capture are in the game). The outside needs to register all its key bind customizations or extensions at the same level that the original widget handles its default ones. Doable by exposing the widget’s KeyBindings instance, but not pretty. You always have to keep this in mind.

With the KeyBindings, it will look like that:

type Widget struct {
    parent tview.Primitive

    // make it available to children or the outside either by
    // direct field access or by providing a getter method
    KeyBindings *bind.KeyBindings
}

func NewWidget() *Widget {
    w := &Widget{KeyBindings: &bind.KeyBindings{}}
    w.KeyBindings. // default key bindings
        Bind0(bind.KeySequence('k', w.scrollUp).
        Bind0(bind.KeySequence('j', w.scrollDown)
    return w
}

func (w *Widget) InputHandler() InputHandler() func(event *tcell.EventKey, setFocus func(p tview.Primitive)) {
    return t.WrapInputHandler(func(event *tcell.EventKey, setFocus func(p tview.Primitive)) {
        // also note the missing support for focus transfer at the moment
        event = w.KeyBindings.Capture(event)
        if event == nil {
            return
        }

        if handler := w.parent.InputHandler(); handler != nil {
            handler(event, setFocus)
        }
    }
}

And then from the outside, or in a child widget:

w := NewWidget()
w.KeyBindings. // additional or customized key bindings
    Bind1(bind.KeySequence(tcell.KeyUp), func(*tcell.EventKey) *tcell.EventKey {
        return tcell.NewEventKey(tcell.KeyRune, 'k', tcell.ModNone)
    }).
    Bind0(bind.KeySequence('q'), app.Stop).
    Bind0(bind.KeySequence('r'), toggleMessageReadStatus)

When directly working with tview primitives that are not part of custom widget implementations, the following works well so far:

textView := tview.NewTextView().
    SetWordWrap(true).
    SetText("…")
    SetScrollable(true)
textView.SetInputCapture((&bind.KeyBindings{}).
    Bind0(bind.KeySequence('q'), app.Stop).
    Bind1(bind.KeySequence('g', 'g'), func(*tcell.EventKey) *tcell.EventKey {
        return tcell.NewEventKey(tcell.KeyHome, 0, tcell.ModNone)
    }).
    Capture)

I need to sleep on this some more.

Also, writing very long messages like this one is really not all that fun in tt’s editor. I should absolutely provide a way to shell out to vim.

(Took me about one and a half hours to compose, holy crap. But not only because of not using vim. Although, that might have saved me a quarter hour or so for sure. Proof-reading this message also uncovered quite a few bugs in my real documentation. So, that’s a big win!) Good night!

⤋ Read More
In-reply-to » @lyse Besides, have a look at https://movq.de/v/cf0903ebc3/numb.png again: When it goes from item 9 to item 10, the indentation of the text (after the number) changes. Pretty ugly. In other words, a table of contents should be a table, not a list like it is at the moment. And that would require me to write my own extension for python-markdown … Probably not worth it.

@movq@www.uninformativ.de Yes, that’s what I was thinking, too. For a moment, I wanted to suggest to use <ol> instead of <ul> to fix that. However, that’s only gonna work for the first level, but subsections then miss their parent level.

And it turns out that I was wrong. At least sort of. There are some CSS tricks to fix it: https://stackoverflow.com/a/26243681 Of course, with text or retro browsers, this is not gonna fly.

I also came across this interesting article. I just skimmed it and it’s about real tables of contents with page numbers, so not what you have in mind, but cool nevertheless: https://css-tricks.com/a-perfect-table-of-contents-with-html-css/

⤋ Read More
In-reply-to » @bender Well no. Some of us don't. Let me point you at some research on the subject šŸ˜… Some people don't have an inner monologue

@bender@twtxt.net So yeah, no, I do not have an inner monologue at all. Most of the time my inner mind is busy just replaying music or visuals (or at least it used to before I lost my sight, these days it just replays visuals and sounds), but there is never a time when I ā€œtalk to myselfā€, ever, I don’t ever think through something, a problem or an activity and have self-arguments. I just do.

⤋ Read More
In-reply-to » @prologic don’t get mad at me, but the long block of text didn’t address any of my questions. šŸ˜œšŸ˜…

@bender@twtxt.net Fine, Let me answer properly and concretely šŸ˜…

Would you want your children not to learn anything, because ā€œthey have AIā€?

No, children still need to learn. That will never change. What they learn however will over time.

Are you OK with your children using the AI for all of their homework?

Yes, frankly I am. Why? Because much of what we teach them in school is utterly pointless.
For example, learning to read Shakespear never taught me anything useful in my life. I regret much of my school years to be honest.
I leanred to read and write, sure. But I learned Math, Science, Computing and how things work on my own by being very curious.

What sense will it make?

That assumes I answered ā€œnoā€, which I did not. So it all makes perfect sense :D

What kind of future would that bring for them?

This assumes I said ā€œYesā€, which I did :D It will be an itneresting future that’s for sure. I don’t think we can just bury our heads in teh sand and pretend it’s all going to go away, It will not. It will make things very interesting for sure, as we’re already starting to see what’s possible and what’s changeing. For example; ordinary people are using these LLM(s) to write their legal suit and defense in courts with varying levels of success.

Even if AI were to become omniscient, what will it be of the human race then?

I’m not convinced it ever will. In fact, I am not convinced we know how to create true intellience at all.

What would we do?

What would be so different from say an Alien invasion from far superious beings?
What would we do that? Band together and defend humanity?

Serve the AI? Maintain the AI?

That assumes that ā€œAIā€ will become intelligent and omniscient, which I don’t believe it ever will.

Would we have found the true meaning of life then?

If the meaning of life is to create our own sub-species liken to ourselves, sure, maybe. But is that even a reality? not sure, I doubt it. We barely understand ourselves at the best of times, let alone how our minds works.

To care for AI, Is that it?

How would this be different to caring for a friend, a family member If we could ever truly reate an actual sentient being with real feelings and intelligenace, is there any reason to worry? Could we not be freinds and have mutual goals and form relationships?

⤋ Read More
In-reply-to » @lyse (Do you want to be linked on that page? Do you want your name to be there at all? šŸ¤”)

@movq@www.uninformativ.de I really like your style of writing, btw. It’s much calmer and less aggressive then mine. :-) When I turned my bullet points into paragraphs, I got a bit mad in the process.

Sure, feel free to include anything you want. Regarding citing, this is where twtxt falls short in my opinion. Especially with feed rotation, classic links die quickly. Message hashes only help so much. Nobody outside the twtxt universe knows how to deal with them. So, not perfect for inclusion on a web page. Linking to a thread or message on some yarnd instance might be the more user-friendly option. But the disadvantage is that it’s ā€œjustā€ a mirror, not the primary or original source. In all reality, this could be considered splitting hairs, though.

I should have probably written a proper article. That would have given me time to review the result more carefully, too. ;-) Perhaps that’s something for the future. But honestly, I’m not sure if I really want to waste my time and energy on that subject. So many other fun or useless things come to mind right away that I could do instead. 8-)

So, yeah, do whatever feels best to you. I don’t mind being cited or linked, but I also don’t mind not to be cited or not to be linked to. :-D Not a helpful answer, I know. Sorry. ;-) But anyway, thanks for asking, mate! I do appreciate it.

To finish my thought, linking to my frontpage is probably also useless, since I deliberatly do not have a table of contents there. In fact, my entire frontpage is rather silly.

⤋ Read More

I should have changed the key binding from Print to Shift+Print a long time ago to launch import and upload the screenshot to my server. I was constantly hitting that stupid key on accident when I actually wanted to press [AltGr].

If I only could map a key binding to slap these damn ThinkPad T15 keyboard layout designers at Lenovo remotely in the face. Seriously, who in their right mind puts Print (in German Druck) between AltGr and Ctrl at the bottom row to begin with?! Exactly. Nobody. What a horrible location.

⤋ Read More
In-reply-to » 495 turns and about ~4hrs alter I won! šŸ™Œ Small map, 2-players, myself and an AI player. šŸ˜… Media -- It took forever to beach the island the AI player was on and get enough Galley's and Swordsmen just to push back and eventually slowly destroy all enemy units and capture all cities! 🤣

@prologic@twtxt.net I am going to give it a more serious spin (meaning I am going to go read the help page). I’ve got to tell you though, most successful games do not need a help. But I am fully aware that there is a subset of gamers that would not mind—if not appreciate—a game with help, manual, and the likes.

⤋ Read More
In-reply-to » Eehhh, what the hell is going on here!?

@movq@www.uninformativ.de Yup, I’ve also seen the floating point conversion happening with (1 << 63) - 1 yesterday night. But instead of pausing to think about it for a second, somehow all I had in mind was ā€œgive me a better representation, ain’t gonna have time for this shitā€, so I turned it to hex. Beyond my comprehension what I was thinking there. O_o That’s embarrassing, unbelievable. Well, I blame late o’clock where my brain had already quit on me and went to bed.

Very interesting data point you raise there. The fun part didn’t cross my mind yet or at least I couldn’t pinpoint it. In hindsight it’s totally obvious, though. Past experience also tells me the exact same. Dealing with a problem and researching something myself is a so much more better teacher. The longer I faced up with a topic, the higher the chance to really manifest in long- or at least mid-term memory. If I just get told something, the odds are that it’s completely erased from memory in a matter of days if not hours.

⤋ Read More
In-reply-to » I made the classic mistake. I thought I was smarter than this. I could try to scrub this from my repository, but that seems like more trouble than it's worth, so here it is for your enjoyment: https://fossil.falsifian.org/misc/info/f6fa59e27781ce75f4cbaf700997ffffab41ad9d2e97b4aa3e360400ead3532c

@falsifian@www.falsifian.org Thanks, I’ll keep this in mind in case I’m ever around your neighborhood. ;-)

⤋ Read More
In-reply-to » @lyse Thanks for letting me know. HTML checkers seem happy now. I'm not sure what to do about the images not loading. The photos have three sizes (thumbnail, photo page, and original if you click the img tag on the photo page); can you at least see the smaller two sizes? Maybe I will do some experimental fetches and/or start measuring things on my web server.

@lyse@lyse.isobeef.org Thank you for the suggestions. I will probably do some of that when I have time. For the thumbnails, I’m also thinking about trying the loading=ā€œlazyā€ img attribute. Top on my mind is actually understanding why the big images don’t load. Maybe my VPS’s network connection is saturated, for example. I’ve never needed to worry about such things until now. I’m looking forward to spending some time on it.

⤋ Read More
In-reply-to » hi yarn! what is everyone working on today?

@kiwu@twtxt.net I am trying to read our Information Security Office ā€œmindā€ to grasp what they want. So far they seem to want to get logs from our BIG-IP F5 load balancers into Azure Sentinel, but the Telemetry Streaming plugin normally used for it is on maintenance mode, with deprecations happening on the F5 and Microsoft side soonish. So, yeah… ā€œfunā€. Oh, and they want it on production by tomorrow. LOLz!

⤋ Read More
In-reply-to » The original twt is unavailable. It may have been edited or deleted, or is from an unknown or muted feed.

@movq@www.uninformativ.de I also had to laugh. :-D And that’s what crossed my mind for a splitsecond, too. Two decades ago or so, that would have worked. But these days are long over. Wasn’t it even an INI file or something like that?

⤋ Read More
In-reply-to » The original twt is unavailable. It may have been edited or deleted, or is from an unknown or muted feed.

@movq@www.uninformativ.de Oh yeah, I’d take that, too. :-)

I don’t mind most sauna goers. It would be just nicer if there were fewer people or parallel Aufguss sessions, so that it’s not overcrowded.

⤋ Read More
In-reply-to » The original twt is unavailable. It may have been edited or deleted, or is from an unknown or muted feed.

@movq@www.uninformativ.de I don’t have any statistics, just observe what is around me, so it’s very subjective. I know a bunch of kids with names I’ve never heard before. Sometimes, I first thought other kids were making fun of their friends by calling them by made-up nonsense. But no. Without question, I live under a rock. I just looked up some of them that came to mind immediately and they seem to be of Greek, Swedish and Latin origin, etc.

⤋ Read More
In-reply-to » @lyse I swear, Her vlog is all I needed to cleanse my soul! Full of pure human interactions (whenever there is any), No BS No pretending and No Nonsense. Again, Thank you!

@aelaraji@aelaraji.com Yes, exactly. It also blows my mind that with sooo much less budget and equipment, her videos are way superior to productions of big TV stations.

⤋ Read More
In-reply-to » @lyse no wonder I picked that cake (albeit coincidentally), I adore almonds, and hazelnuts! Your teammates are absolutely amazing, dude! A very nice project farewell! On leaving places I have a small anecdote.

@bender@twtxt.net Goes to show you just have a good nose for that. :^)

No doubt, I really do love them. Not only wonderful humans and like-minded, but also technically gifted. That made for a superb combination. I just hope the new team turns out to be equally great.

Bwahahahahaaahaaahaaahaaa, what a brilliant story! :ā€˜-D I’ve been given at most ten weeks to return, let’s see. ;-)

⤋ Read More
In-reply-to » … and now I just read @bender’s other post that said the Gemini text was a shortened version, so I might have criticized things that weren’t true for the full version. Okay, sorry, I’m out. (And I won’t play that game, either. Don’t send me another AI output, possibly tweaked to address my criticism. That is besides the point and not worth my time.)

@bender@twtxt.net All good. āœŒļø It’s just that I’ve been through several iterations of this (on other platforms), AI output back and forth, pointing out what’s wrong, but in the end people were just trolling (not saying that’s what you had in mind), because apparently that’s ā€œfunā€.

⤋ Read More
In-reply-to » @bender Thanks for this illustration, it completely ā€œmisunderstoodā€ everything I wrote and confidently spat out garbage. šŸ‘Œ

@movq@www.uninformativ.de this I find more worrisome, and saw no mention of it on your text: Right-Wing Chatbots Turbocharge America’s Political and Cultural Wars (gift article).

Enoch, one of the newer chatbots powered by artificial intelligence, promises ā€œto ā€˜mind wipe’ the pro-pharma biasā€ from its answers. Another, Arya, produces content based on instructions that tell it to be an ā€œunapologetic right-wing nationalist Christian A.I. model.ā€

⤋ Read More
In-reply-to » It happened.

@prologic@twtxt.net Nothing, yet. It was sent in written form. There’s probably little point in fighting this, they have made up their minds already (and AI is being rolled up en masse in other departments), but on the other hand, there are – truthfully – very few areas where AI could actually be useful to me.

There are going to be many discussions about this …

This is completely against the ā€œspiritā€ of this company, btw. We used to say: ā€œIt’s the goal that matters. Use whatever tools you think are appropriate.ā€ That’s why I’m allowed to use Linux on my laptop. Maybe they will back down eventually when they realize that trying to push this on people is pointless. Maybe not.

⤋ Read More
In-reply-to » sorry i haven't been working on bbycll or even hanging around twtxt much at all as of late -- gf was over for a few weeks, i turned twenty years old, and have been doing extremely unnecessary things to my website

don’t mind the glaring light mode i just think the pink looks pretty. this ā€œdesktop modeā€ is just a bunch of css repurposing the sidebar into the taskbar, but the file manager and its supporting code is proving a very fun endeavour. my favorite part is u can just turn javascript off and it functions like a regular website with nothing suspicious about it at all

⤋ Read More
In-reply-to » The hail we had yesterday 🤯 Media Media

@prologic@twtxt.net Ouch, I don’t want to get hit by these projectiles! :-O Is that black tube on the bottom the remains of a chair leg?

I reckon one could collect these hail stones and put them in the drinks to work around the lost air conditioning. At least if one doesn’t mind icy drinks. (I can’t stand that, because I immediately get hickup when drinking something cold.)

⤋ Read More
In-reply-to » @zvava @lyse I also think a location based reference might be better.

@prologic@twtxt.net I can see the issues mentioned, but I think some can be fixed.

  1. The current hash relies on a url field too, by specification, it will use the first # url = <URL> in the feed’s metadata if present, that too can be different from the fetching source, if that field changes it would break the existing hashes too, a better solution would be to use a non-URL key like # feed_id = <UNIQUE_RANDOM_STRING> with the url as fallback.

  2. We can prevent duplications if the reference uses that same url field too or the client ā€œcollapseā€ any reference of all the urls defined in the metadata.

  3. I agree that hashing based on content is good, but we still use the URL as part of the hashing, which is just a field in the feed, easily replicable by a bot, also noting that edits can also break the hash, for this issue an alternative solution (E.g. a private key not included in the feed) should be considered.

  4. For offline reading the source would be downloaded already, the fetching of non followed feeds would fill the gap in the same way mentions does, maybe I’m missing some context on this one.

  5. To prevent collisions there was a discussion on extending the hash (forgot if that was already fixed or not), but without a fallback that would break existing clients too, we should think of a parallel format that maintains current implementations unchanged, we are already backward compatible with the original that don’t use threads at all, a mention style format for that could be even more user-friendly for those clients.

We should also keep in mind that the current mention format is already location based (@<example https://example.com/twtxt.txt>) so I’m not that worried about threads working the same way.

Hope to see some other thought about this matter. šŸ¤“

⤋ Read More
In-reply-to » @prologic im unsure how i feel about the hash v2 proposal, given it is completely backward incompatible with hash v1 it doesn't really solve any of the problems with it. it only delays collisions, and still fragments threads on post edits

@lyse@lyse.isobeef.org i dont mind if the hash is not backward compatible but im not sure if this is the right way to proceed because the added complexity dealing with two hash versions isnt justified

regular end users wont care to understand how twt hashes are formed, they just want to use twtxt! so i guess i could work in protecting users from themselves by disallowing post edits on old posts or posts with replies, but i’m not fond of this either really. if they want to break a thread, they can just delete the post (though i’ve noticed yarn handling post deletes dubiously…)

on activitypub i do genuinely find myself looking through several month or even year old posts sometimes and deciding to edit/reword them a little to be slightly less confusing, this should be trivial to handle on twtxt which is an infinitely simpler specification

⤋ Read More