Searching txt.sour.is

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

Launch HN: Runtime (YC P26) – Sandboxed coding agents for everyone on a team
Hey HN, We’re Gus and Carlos from Runtime ( https://runtm.com). We’re building infra that lets your whole team (including non-engineers) ship with Claude Code, Codex, and other agents without engineering having to handhold every session.

After Mentum (YC S21) was acquired, I personally shipped 4 full-stack products in 3 months using coding agents. When I tried to roll the same workflow out to the rest of the team, it fell apart: Most PRs were unme 
 ⌘ Read more

​ Read More

A Library Dedicated Solely to the Epstein Files Is Opening in New York
The Institute for Primary Facts has compiled more than 3.5 million pages of the Epstein files for public display at the newly opened Donald J. Trump and Jeffrey Epstein Memorial Reading Room. ⌘ Read more

​ Read More
In-reply-to » @lyse I don’t know a number (wait, why can’t I google a Wetterbericht but only a Wettervorhersage?!), but it was enough for public transportation to shut down. 😅 I think I saw around five trucks on the side of the road who couldn’t continue, too icy. Some cars stranded.

@lyse@lyse.isobeef.org Found some numbers now, they’re saying it was around 10cm in 3-4 hours. I don’t know, felt like more. 😂 The forecast wasn’t really good either, now that I think about it. They said there’s going to be some snow, okay, fine, but then, boom.

Haha, that old ad is lovely. Those days are over. đŸ€Ł

​ Read More

** Bicross **
I made a game. I’ve written about it in passing a few times, but here is an honest to goodness intro to it!

Bicross is 3 versions of the same basic game,

  • Bicross, is a zen-mode version of the game.
  • Bicross RPG, is an RPG version of the game where you can earn power ups, and build up hearts and stuff.
  • Bicross Daily, is very similar to the RPG version, but everyone who plays on a given 
 ⌘ Read more

​ Read More
In-reply-to » @lyse I don’t know a number (wait, why can’t I google a Wetterbericht but only a Wettervorhersage?!), but it was enough for public transportation to shut down. 😅 I think I saw around five trucks on the side of the road who couldn’t continue, too icy. Some cars stranded.

@movq@www.uninformativ.de Oh, so just half a millimeter then! :-D That’s plenty these days for everything to shut down, I’m afraid. If only the same Ă©lan was still in action as back then:

Image

And here I am watching Mattias Björnström’s gas pedal freezing at full throttle around -40°C. Well, falls apart and gets stuck.

https://www.youtube.com/watch?v=MLgmV15XeSY

I’m not an expert on this subject at all, but I reckon an automatic in addition with all its sensors is much worse than a manual one. All wheel drive, studded tires and diff locked is what one wants in icy situations. :-D

​ Read More
In-reply-to » Omg, Python. Parsing arguments with argparse takes 50 ms on my NUC, because this pulls in all kinds of fancy stuff behind the scenes, colorization and what not. 😼‍💹

Just importing data classes takes another 60 ms 
 This fancy new stuff is really costly.

​ Read More

“A fotĂłgrafa alemĂŁ Alice Brill, que desde o ano 2000 tem sua coleção de 14 mil negativos sob a guarda do IMS, trouxe a fotografia na bagagem quando veio da Alemanha para o Brasil, fugindo do nazismo. Alice tinha 14 anos quando a famĂ­lia aqui desembarcou em 1934 para encontrar a mĂŁe, que viera na frente, e trazia na bagagem “uma minicĂąmera Agfa, tipo caixĂŁo”, que fazia fotos 3 x 4 e com a qual registrou suas impressĂ”es da viagem pela Espanha e ItĂĄlia, que precedeu a aprovação dos papĂ©is de imigração. A cĂąmera era presente do pai, Erich Brill, um pintor viajante e artista plĂĄstico que, dois anos depois, nĂŁo tendo se firmado em SĂŁo Paulo, voltou Ă  Alemanha e morreu em 1942, num campo de concentração. Alice seguiu seus passos profissionais com firmeza, fazendo-se artista plĂĄstica, gravadora e ensaĂ­sta, alĂ©m de fotĂłgrafa.”

https://ims.com.br/titular-colecao/alice-brill/

#SĂŁoPaulo #Fotografia

​ Read More

I’m trying to implement configurable key bindings in tt. Boy, is parsing the key names into tcell.EventKeys a horrible thing. This type consists of three information:

  1. maybe a predefined compound key sequence, like Ctrl+A
  2. maybe some modifiers, such as Shift, Ctrl, etc.
  3. maybe a rune if neither modifiers are present nor a predefined compound key exists

It’s hardcoded usage results in code like this:

func (t *TreeView[T]) InputHandler() func(event *tcell.EventKey, setFocus func(p tview.Primitive)) {
    return t.WrapInputHandler(func(event *tcell.EventKey, setFocus func(p tview.Primitive)) {
        switch event.Key() {
        case tcell.KeyUp:
            t.moveUp()
        case tcell.KeyDown:
            t.moveDown()
        case tcell.KeyHome:
            t.moveTop()
        case tcell.KeyEnd:
            t.moveBottom()
        case tcell.KeyCtrlE:
            t.moveScrollOffsetDown()
        case tcell.KeyCtrlY:
            t.moveScrollOffsetUp()
        case tcell.KeyTab, tcell.KeyBacktab:
            if t.finished != nil {
                t.finished(event.Key())
            }
        case tcell.KeyRune:
            if event.Modifiers() == tcell.ModNone {
                switch event.Rune() {
                case 'k':
                    t.moveUp()
                case 'j':
                    t.moveDown()
                case 'g':
                    t.moveTop()
                case 'G':
                    t.moveBottom()
                }
            }
        }
    })
}

This data structure is just awful to handle and especially initialize in my opinion. Some compound tcell.Keys are mapped to human-readable names in tcell.KeyNames. However, these names always use - to join modifiers, e.g. resulting in Ctrl-A, whereas tcell.EventKey.Name() produces +-delimited strings, e.g. Ctrl+A. Gnaarf, why this asymmetry!? O_o

I just checked k9s and they’re extending tcell.KeyNames with their own tcell.Key definitions like crazy: https://github.com/derailed/k9s/blob/master/internal/ui/key.go Then, they convert an original tcell.EventKey to tcell.Key: https://github.com/derailed/k9s/blob/b53f3091ca2d9ab963913b0d5e59376aea3f3e51/internal/ui/app.go#L287 This must be used when actually handling keyboard input: https://github.com/derailed/k9s/blob/e55083ba271eed6fc4014674890f70c5ed6c70e0/internal/ui/tree.go#L101

This seems to be much nicer to use. However, I fear this will break eventually. And it’s more fragile in general, because it’s rather easy to forget the conversion or one can get confused whether a certain key at hand is now an original tcell.Key coming from the library or an “extended” one.

I will see if I can find some other programs that provide configurable tcell key bindings.

​ Read More
In-reply-to » More widget system progress:

And now the event loop is not a simple loop around curses’ getch() anymore but it can wait for events on any file descriptor. Here’s a simple test program that waits for connections on a TCP socket, accepts it, reads a line, sends back a line:

https://movq.de/v/93fa46a030/vid-1767547942.mp4

And the scrollbar indicators are working now.

I’ll probably implement timer callbacks using timerfd (even though that’s Linux-only). đŸ€”

​ Read More

Creative efforts to drive down thousands of tonnes of coffee pod waste
Between 10 and 20 per cent of the 3 million coffee pods Australians consume daily are actually recycled. Here’s what’s being done to change that. ⌘ Read more

​ Read More

@eldersnake@we.loveprivacy.club

Steps to world domination:

  1. “Invent” “AI” (by using other people’s data).
  2. Get people hyped about it and ideally hooked on it.
  3. Only provide it as a cloud service. But hey, if you want to, you can run it locally!
  4. Buy all hardware available on the market, so that nobody but you can build more systems.
  5. All PCs of consumers and competitors are too weak now and can’t be upgraded anymore.
  6. Everybody depends on your cloud service! Win!

All of that is possible because corporations don’t have a “conscience” in capitalism. Nobody forces the RAM manufacturers to sell all their stuff to just one or two buyers, but since the only goal of that manufacturer is to make money, they do it.

​ Read More
In-reply-to » @lyse You actually have a Markdown parser/renderer in there? Oh dear. I would have been (well, I am) way too lazy for that. 😅

@movq@www.uninformativ.de Well, just a very limited subset thereof:

  1. inline and multiline code blocks using single/double/triple backticks (but no code blocks with just indentation)
  2. markdown links using using [text](url)
  3. markdown media links using ![alt](url)

And that’s it. No bold, italics, lists, quotes, headlines, etc.

Just like mentions, plain URLs, markdown links and markdown media URLs are highlighted and available in the URLs View. They’re also colored differently, similarly to code segments.

I definitely should write some documentation and provide screenshots.

​ Read More
In-reply-to » @movq That's cool! I also like the name of your library. :-) I assume you made the thing load quickly, didn't you?

@movq@www.uninformativ.de Yeah, I see. Just crudely checked on my computer, with around 0.013 seconds, Python 2.7 seems a tad faster than Python 3.14’s 0.023 seconds in this little program.

The lazy imports sound not too bad, but I just skimmed over them. There are surprisingly many exceptions, but yeah, no way around them. :-)

​ Read More
In-reply-to » @movq That's cool! I also like the name of your library. :-) I assume you made the thing load quickly, didn't you?

@lyse@lyse.isobeef.org

I assume you made the thing load quickly, didn’t you?

That’s the problem with Python. If you have a couple of files to import, it will take time.

I want this to be reasonably fast on my old Intel NUC from 2016 (Celeron N3050 @ 1.60GHz) and I already notice that the program startup takes about 95 ms (or 125 ms when there are no .pyc files yet). That’s still fine, but it shows that I’ll have to be careful and keep this thing very small 


Python 3.14 will bring lazy imports, maybe that can help in some cases.

​ Read More

The tt URLs View now automatically selects the first URL that I probably are going to open. In decreasing order, the URL types are:

  1. markdown media URLs (images, videos, etc.)
  2. markdown or plaintext URLs
  3. subjects
  4. mentions

I might differentiate between mentions of subscribed and unsubscribed feeds in the future. The odds of opening a new feed over an already existing one are higher.

​ Read More

2025 end the year rewind:

Compared to only 3 new artworks in 2024 and next to no work, on other projects, this year I not only met the self-imposed goal of monthly pixelart, but exceeded it by 50%, with 18 additions in total.

Relicensed the majority of canine faction owned art and projects, under two less restrictive Creative Commons licensees*. This also applies retroactively, to everyone who used/archived our art and projects, back when the old license didn’t allow it.

Disappointed by the current state of the Internet and continued lack of competition among browsers, completely reworked the main website* and made Smol Drive** (a new image gallery project), both made to be compatible with as many web and Gemini browsers, as possible.

*see https://thecanine.smol.pub
**see https://thecanine.smol.pub/smolbox

​ Read More
In-reply-to » Hey EU friends 👋 wtf happened to the EU Internet today for about 40 minutes or so?

@movq@www.uninformativ.de From 2:50 PM to 3:23 PM AEST (+10 UTC) there was an outage. Everything went “up” on Down Detector, my EU region went offline, numerous sites were unavailable, and so on. Basically everything to/from the EU appeared to basically go kaput.

​ Read More

https://li-ma.nl/

«Our online catalogue comprises the largest media art collection in the Netherlands. Search through more than 3,500 works of art, from video-art pioneers from the 1960s to up-and-coming talents and well-known contemporary artists working with the latest technologies. New works are continuously added. The works are available for screenings, exhibitions and research.»

Via @ranoya@ranoya

#NewMediaArt #CreativeCoding #DigitalPreservation

​ Read More

Fuck me, soooooooo beautiful! Awwww! :‘-) https://www.youtube.com/watch?v=oYfKgi133qo

This focuses more on the landscape part, other episodes also have amazing interactions with the locals. I cannot recommend the Itchy Boots channel enough. It’s in my top three channels of all time I believe. I hardly get the travel bug, but this has now changed. Watching Noraly’s videos brings me great joy. It also shows humanity is not lost, contrary to what one might think in this crazy world. :-)

Caution, this channel gets very addictive!

​ Read More
In-reply-to » @lyse what’s on the one on the left, back? Looks
 enticing! đŸ€€

@lyse@lyse.isobeef.org 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.

I know someone who on 3 February 2004 left his job to go elsewhere. At the time his teammates threw a party, and gave him a very nice portable storage. Twenty days later, he returned, and jokingly they asked him for the storage, and money spent on farewell party back. I heard, from a close source, that he gave them his middle finger, but don’t quote me on that. 😂😂😂

​ Read More

@bender@twtxt.net Mate, I don’t know how you do it, but the frequency of words I haven’t come across before is actually quite high in your work. I noticed it in your twtxt messages in the past, but your notes are also full of them. I love it, always learning something new. Thank you for teaching me without knowing. In case you’re wondering, “yesternight” and “squalid” are the ones I stumbled across today. :-)

​ Read More
In-reply-to » @lyse what’s on the one on the left, back? Looks
 enticing! đŸ€€

@bender@twtxt.net That’s the best one of them. An almonds cake with hazelnut chocolate glaze. The one in front is similar, but with chocolate only. Gingerbread on the right. But it develops the best flavor and consistency only in a few weeks, right now it’s quite hard like a rock, but it will soften up.

All those years I always said that my teammates are THE VERY BEST I ever had. Fuck me, look at that, I didn’t leave the company, just changed projects and this is my farewell present:

Image

How absolutely beautiful is that, I’m in awe! Now I feel even worse deserting. :‘-(

This emblem is the fleur-de-lis of the world scout movement: https://en.wikipedia.org/wiki/World_Organization_of_the_Scout_Movement#WOSM_emblem I reckon I must have mentioned casually that I’m a scout. ;-)

​ Read More

Thinking about doing Advent of Code in my own tiny language mu this year.

mu is:

  • Dynamically typed
  • Lexically scoped with closures
  • Has a Go-like curly-brace syntax
  • Built around lists, maps, and first-class functions

Key syntax:

  • Functions use fn and braces:
fn add(a, b) {
    return a + b
}
  • Variables use := for declaration and = for assignment:
x := 10
x = x + 1
  • Control flow includes if / else and while:
if x > 5 {
    println("big")
} else {
    println("small")
}
while x < 10 {
    x = x + 1
}
  • Lists and maps:
nums := [1, 2, 3]
nums[1] = 42
ages := {"alice": 30, "bob": 25}
ages["bob"] = ages["bob"] + 1

Supported types:

  • int
  • bool
  • string
  • list
  • map
  • fn
  • nil

mu feels like a tiny little Go-ish, Python-ish language — curious to see how far I can get with it for Advent of Code this year. 🎄

​ Read More
In-reply-to » Which actively maintained Yarn/twtxt clients are there at the moment? Client authors raise your hands! 🙋

@lyse@lyse.isobeef.org Damn. That was stupid of me. I should have posted examples using 2026-03-01 as cutoff date. 😂

In my actual test suite, everything uses 2027-01-01 and then I have this, hoping that that’s good enough. đŸ„Ž

def test_rollover():
    d = jenny.HASHV2_CUTOFF_DATE
    assert len(jenny.make_twt_hash(URL, d - timedelta(days=7), TEXT)) == 7
    assert len(jenny.make_twt_hash(URL, d - timedelta(seconds=3), TEXT)) == 7
    assert len(jenny.make_twt_hash(URL, d - timedelta(seconds=2), TEXT)) == 7
    assert len(jenny.make_twt_hash(URL, d - timedelta(seconds=1), TEXT)) == 7
    assert len(jenny.make_twt_hash(URL, d, TEXT)) == 12
    assert len(jenny.make_twt_hash(URL, d + timedelta(seconds=1), TEXT)) == 12
    assert len(jenny.make_twt_hash(URL, d + timedelta(seconds=2), TEXT)) == 12
    assert len(jenny.make_twt_hash(URL, d + timedelta(seconds=3), TEXT)) == 12
    assert len(jenny.make_twt_hash(URL, d + timedelta(days=7), TEXT)) == 12

(In other words, I don’t care as long as it’s before 2027-01-01. 😏😅)

​ Read More
In-reply-to » And regarding those broken URLs: I once speculated that these bots operate on an old dataset, because I thought that my redirect rules actually were broken once and produced loops. But a) I cannot reproduce this today, and b) I cannot find anything related to that in my Git history, either. But it’s hard to tell, because I switched operating systems and webservers since then 


@lyse@lyse.isobeef.org Probably wouldn’t help, since almost every request comes from a different IP address. These are the hits on those weird /projects URLs since Sunday:

    1 IP  has  5 hits
    1 IP  has  4 hits
   13 IPs have 3 hits
  280 IPs have 2 hits
25543 IPs have 1 hit

The total number of hits has decreased now. Maybe the botnet has moved on 


​ Read More
In-reply-to » There are no really good GUI toolkits for Linux, are there?

FTR, I see one (two) issues with PyQt6, sadly:

  1. The PyQt6 docs appear to be mostly auto-generated from the C++ docs. And they contain many errors or broken examples (due to the auto-conversion). I found this relatively unpleasent to work with.
  2. (Until Python finally gets rid of the Global Interpreter Lock properly, it’s not really suited for GUI programs anyway – in my opinion. You can’t offload anything to a second thread, because the whole program is still single-threaded. This would have made my fractal rendering program impossible, for example.)

​ Read More

For those curious, the new Twtxt <-> ActivityPub bridge I’m building (bidirectional) simply requires three things:

  1. You register your Twtxt feed to the bridge: https://bridge.twtxt.net
  2. You verify that you in fact own/control the feed by putting the verification code somewhere on/in your feed (doesn’t matter where or how)
  3. You proxy/forward requests for /.well-known/webfinger to the Bridge bridge.twtxt.net.

I’m still testing through and ironing out bugs 🐛 Please be patient! 🙏

​ Read More
In-reply-to » On today's night walk I came across an absolutely giant shooting star. With it being visible for three seconds, it's my second largest I've ever seen so far.

@lyse@lyse.isobeef.org I hope you were prepared to cram those wishes in 3 seconds. I am always prepared for that eventuality. You don’t have to mutter a word, nor clearly think much about it—that is, you don’t need to think your wish(es) word-by-word. As long as you stay within the wish(es) main goal(s), you should be fine, and it/they shall be granted, of course.

​ Read More
In-reply-to » Android shopping list apps disappointed me too many times, so I went back to writing these lists by hand a while ago.

@movq@www.uninformativ.de Wow, that’s a hell lot of food! If it doesn’t spoil, it’s easily enough for the rest of your life and all your neighbors and surrounding cities, probably more. :-D

That’s a great font. I like it. It just suits the print style incredibly well. No offence, to the absolute contrary, I would not have thought that you actually designed that. It looks just so right. Hats off! :-)

​ Read More
In-reply-to » @bender Thanks for this illustration, it completely “misunderstood” everything I wrote and confidently spat out garbage. 👌

@prologic@twtxt.net Let’s go through it one by one. Here’s a wall of text that took me over 1.5 hours to write.

The criticism of AI as untrustworthy is a problem of misapplication, not capability.

This section says AI should not be treated as an authority. This is actually just what I said, except the AI phrased/framed it like it was a counter-argument.

The AI also said that users must develop “AI literacy”, again phrasing/framing it like a counter-argument. Well, that is also just what I said. I said you should treat AI output like a random blog and you should verify the sources, yadda yadda. That is “AI literacy”, isn’t it?

My text went one step further, though: I said that when you take this requirement of “AI literacy” into account, you basically end up with a fancy search engine, with extra overhead that costs time. The AI missed/ignored this in its reply.

Okay, so, the AI also said that you should use AI tools just for drafting and brainstorming. Granted, a very rough draft of something will probably be doable. But then you have to diligently verify every little detail of this draft – okay, fine, a draft is a draft, it’s fine if it contains errors. The thing is, though, that you really must do this verification. And I claim that many people will not do it, because AI outputs look sooooo convincing, they don’t feel like a draft that needs editing.

Can you, as an expert, still use an AI draft as a basis/foundation? Yeah, probably. But here’s the kicker: You did not create that draft. You were not involved in the “thought process” behind it. When you, a human being, make a draft, you often think something like: “Okay, I want to draw a picture of a landscape and there’s going to be a little house, but for now, I’ll just put in a rough sketch of the house and add the details later.” You are aware of what you left out. When the AI did the draft, you are not aware of what’s missing – even more so when every AI output already looks like a final product. For me, personally, this makes it much harder and slower to verify such a draft, and I mentioned this in my text.

Skill Erosion vs. Skill Evolution

You, @prologic@twtxt.net, also mentioned this in your car tyre example.

In my text, I gave two analogies: The gym analogy and the Google Translate analogy. Your car tyre example falls in the same category, but Gemini’s calculator example is different (and, again, gaslight-y, see below).

What I meant in my text: A person wants to be a programmer. To me, a programmer is a person who writes code, understands code, maintains code, writes documentation, and so on. In your example, a person who changes a car tyre would be a mechanic. Now, if you use AI to write the code and documentation for you, are you still a programmer? If you have no understanding of said code, are you a programmer? A person who does not know how to change a car tyre, is that still a mechanic?

No, you’re something else. You should not be hired as a programmer or a mechanic.

Yes, that is “skill evolution” – which is pretty much my point! But the AI framed it like a counter-argument. It didn’t understand my text.

(But what if that’s our future? What if all programming will look like that in some years? I claim: It’s not possible. If you don’t know how to program, then you don’t know how to read/understand code written by an AI. You are something else, but you’re not a programmer. It might be valid to be something else – but that wasn’t my point, my point was that you’re not a bloody programmer.)

Gemini’s calculator example is garbage, I think. Crunching numbers and doing mathematics (i.e., “complex problem-solving”) are two different things. Just because you now have a calculator, doesn’t mean it’ll free you up to do mathematical proofs or whatever.

What would have worked is this: Let’s say you’re an accountant and you sum up spendings. Without a calculator, this takes a lot of time and is error prone. But when you have one, you can work faster. But once again, there’s a little gaslight-y detail: A calculator is correct. Yes, it could have “bugs” (hello Intel FDIV), but its design actually properly calculates numbers. AI, on the other hand, does not understand a thing (our current AI, that is), it’s just a statistical model. So, this modified example (“accountant with a calculator”) would actually have to be phrased like this: Suppose there’s an accountant and you give her a magic box that spits out the correct result in, what, I don’t know, 70-90% of the time. The accountant couldn’t rely on this box now, could she? She’d either have to double-check everything or accept possibly wrong results. And that is how I feel like when I work with AI tools.

Gemini has no idea that its calculator example doesn’t make sense. It just spits out some generic “argument” that it picked up on some website.

3. The Technical and Legal Perspective (Scraping and Copyright)

The AI makes two points here. The first one, I might actually agree with (“bad bot behavior is not the fault of AI itself”).

The second point is, once again, gaslighting, because it is phrased/framed like a counter-argument. It implies that I said something which I didn’t. Like the AI, I said that you would have to adjust the copyright law! At the same time, the AI answer didn’t even question whether it’s okay to break the current law or not. It just said “lol yeah, change the laws”. (I wonder in what way the laws would have to be changed in the AI’s “opinion”, because some of these changes could kill some business opportunities – or the laws would have to have special AI clauses that only benefit the AI techbros. But I digress, that wasn’t part of Gemini’s answer.)

tl;dr

Except for one point, I don’t accept any of Gemini’s “criticism”. It didn’t pick up on lots of details, ignored arguments, and I can just instinctively tell that this thing does not understand anything it wrote (which is correct, it’s just a statistical model).

And it framed everything like a counter-argument, while actually repeating what I said. That’s gaslighting: When Alice says “the sky is blue” and Bob replies with “why do you say the sky is purple?!”

But it sure looks convincing, doesn’t it?

Never again

This took so much of my time. I won’t do this again. 😂

​ Read More
In-reply-to » For the innocent bystanders (because I know that I won’t change @bender’s opinion):

@movq@www.uninformativ.de Gemini liked your opinion very much. Here is how it countered:

1. The User Perspective (Untrustworthiness)

The criticism of AI as untrustworthy is a problem of misapplication, not capability.

  • AI as a Force Multiplier: AI should be treated as a high-speed drafting and brainstorming tool, not an authority. For experts, it offers an immense speed gain, shifting the work from slow manual creation to fast critical editing and verification.
  • The Rise of AI Literacy: Users must develop a new skill—AI literacy—to critically evaluate and verify AI’s probabilistic output. This skill, along with improving citation features in AI tools, mitigates the “gaslighting” effect.
2. The Moral/Political Perspective (Skill Erosion)

The fear of skill loss is based on a misunderstanding of how technology changes the nature of work; it’s skill evolution, not erosion.

  • Shifting Focus to High-Level Skills: Just as the calculator shifted focus from manual math to complex problem-solving, AI shifts the focus from writing boilerplate code to architectural design and prompt engineering. It handles repetitive tasks, freeing humans for creative and complex challenges.
  • Accessibility and Empowerment: AI serves as a powerful democratizing tool, offering personalized tutoring and automation to people who lack deep expertise. While dependency is a risk, this accessibility empowers a wider segment of the population previously limited by skill barriers.
3. The Technical and Legal Perspective (Scraping and Copyright)

The legal and technical flaws are issues of governance and ethical practice, not reasons to reject the core technology.

  • Need for Better Bot Governance: Destructive scraping is a failure of ethical web behavior and can be solved with better bot identification, rate limits, and protocols (like enhanced robots.txt). The solution is to demand digital citizenship from AI companies, not to stop AI development.

​ Read More
In-reply-to » There are no really good GUI toolkits for Linux, are there?

@movq@www.uninformativ.de Don’t you worry, this was meant as a joke. :-D

There was a time when I thought that Swing was actually really good. But having done some Qt/KDE later, I realized how much better that was. That were the late KDE 3 and early KDE 4 days, though. Not sure how it is today. But back then it felt Trolltech and the KDE folks put a hell lot more thought into their stuff. I was pleasantly surprised how natural it appeared and all the bits played together. Sure, there were the odd ends, but the overall design was a lot better in my opinion.

To be fair, I never used it from C++, always the Python bindings, which were considerably more comfortable (just alone the possibility to specify most attributes right away as kwargs in the constructor instead of calling tons of setters). And QtJambi, the Java binding, was also relatively nice. I never did a real project though, just played around with the latter.

​ Read More

The most infuriating 3 seconds of using this Mac every day are the first time I run man and it calls home to see if I’m allowed to do that.

​ Read More

PEP 8107: 2026 Term Steering Council election
This document describes the schedule and other details of the 2025 election for the Python steering council, as specified in PEP 13. This is the steering council election for the 2026 term (i.e. Python 3.15). ⌘ Read more

​ Read More

Mathieu Pasquet: slixmpp v1.12
This version is out mostly to provide a stable version with compatibility with the newly released Python 3.14, there are nonetheless a few new things on top.

Thanks to all contributors for this release!

Fixes
  • Bug in MUC self-ping ( XEP-0410) that would create a traceback in some uses
  • Bug in SIMS ( XEP-0447) where all media would be marked as inline
  • Python 3.14 breakage
Features

​ Read More