Searching We Love Privacy Club

Twts matching #mind
Sort by: Newest, Oldest, Most Relevant

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

Mum of Gavin Preston killer used AI to ask the court for leniency
The mother of Jaedon Tito said her son had taken up colouring in to ā€œclear his mindā€ in prison after he and another man were convicted of killing the underworld figure. ⌘ Read more

⤋ Read More

Every Year After Boss on Why [Spoiler] Leaves, Talks Season 2 After Cliffhanger Ending
With the explosive ending of Every Year After, leaving a slew of questions in viewers’ minds, showrunner Amy B. Harris has come out to shed light on the abrupt departure of Percy (Sadie Soverall) from Barry’s Bay after falling apart with Sam (Matt Cornett). In a recent interview, she broke down the arcs of several […]

The post [Every Year After Boss on Why [Spoiler] Leave … ⌘ Read more

⤋ Read More

Show HN: ABC Classic 100 Rankings visualised
This weekend is the ABC Classic FM countdown, which prompted me to dust off an old un-published data visualisation of rankings from previous years.

I’ve considered adding a search function, but I also kind of like that it requires a bit of exploration in the current form.

Some of the code is a bit clunky and I wouldn’t mind refactoring it. I’m also not sure about browser compatibility - I’ve only got access to a couple of devices to test it on.

Comments URL: [https://news.yc … ⌘ Read more

⤋ Read More

Scary Movie 6 Isn’t the Only Sequel on Anna Faris’ Mind: ā€˜There’s Interest’
Anna Faris teased the idea of reviving a cult favourite from 2008, apart from Scary Movie 6. The actress revealed that there is interest in bringing Shelley Darlingson back to the screen. Anna Faris talks about potential sequel to The House Bunny Faris, currently on the press circuit for her return to the horror-parody franchise […]

The post [Scary Movie 6 Isn’t the Only Sequel on Anna Faris’ … ⌘ Read more

⤋ Read More

Doctor Doom’s Strange Recruit to New Avengers Team Highlights His Genius
Doctor Doom just confirmed his genius with an unlikely recruit to a new team of Avengers. As a sorcerer, scientist, and statesman, Doom is recognized as dangerous on many levels. However, it is the first member of the new team which showcases Doom’s greatest asset; his strategic mind. The new Avengers of Doom were revealed […]

The post [Doctor Doom’s Strange Recruit to Ne … ⌘ Read more

⤋ Read More

AI-Driven Security Disclosures, NVIDIA Vera & Linux 7.1 Features That Made An Exciting May
May 2026 is now in the books after writing 275 original Linux/open-source minded news articles and another 20 featured-length benchmark articles / Linux hardware reviews. There was a lot of exciting topics in May to keep the month interesting and as we approach the Phoronix 22nd birthday this week… ⌘ Read more

⤋ 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.

Image

⤋ Read More

OpenAI Co-Founder Andrej Karpathy Joins Anthropic
OpenAI co-founder Andrej Karpathy has joined rival AI lab Anthropic. ā€œThe hire is a major coup for Anthropic in the high-stakes competition for elite AI talent – and another sign the company is emerging as a magnet for some of the industry’s most respected technical minds,ā€ reports Axios. From the report: Karpathy will start this week on Anthropic’s pre-training team, which is re … ⌘ Read more

⤋ 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

MidnightBSD 4.0.4 Released With Aged & Agectl For Age Verification/Attestation
MidnightBSD 4.0.4 is out today as the newest update to this desktop-minded BSD operating system. Notable with this update is introducing the Aged daemon and Agectl program for handling age verification and age attestation given the increasing number of US states pursuing laws around age verification at the OS user level… ⌘ Read more

⤋ 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 » Alright. I have a minimal working instance of a twtxt feed. Now, what's the first thing we do? Exactly, FOLLOW EVERYONE!

The absence of a ā€œfollowā€ button isn’t enough to stop me! In fact, an even crazier plan is already forming in my mind, where the concepts of ā€œfunā€ and ā€œpointless, frustrating tech madness for the pure sake of itā€ a lot of times overlap…

⤋ Read More