2026-07-22 11:33:58 codeberg just announced they don't allow vibe coded projects 2026-07-22 11:34:25 I don't vibe code and am not interested in vibe coding, but this decision means I definitely won't use their platform 2026-07-22 11:34:52 that seems...very counterintuitive logic 2026-07-22 11:35:04 I'll explain myself don't worry 2026-07-22 11:35:24 I'm not interested in a git host that is going to discriminate this way and without warning, and without (in my opinion) good enough reason 2026-07-22 11:35:36 have you ever heard of the parable of the Nazi bar? 2026-07-22 11:37:06 It's not open / free in spirit to discrinate this way re vibe coding and it's a realistic threat to me as I've been blocked by services before for other kinds of spurious concerns, like I've been blocked by git hosts because I'm in the UK. 2026-07-22 11:37:29 Banning vibe coding is very very different to banning Nazis, I wouldn't think anything of a sudden ban of Nazis 2026-07-22 11:37:54 the answer then is "no, I have not heard of the parable of the Nazi bar" 2026-07-22 11:38:11 I have heard of that parable actually 2026-07-22 11:38:20 It's true I think 2026-07-22 11:38:25 I've seen it in action 2026-07-22 11:39:50 I will admit I am by no means an "open source"/"free software" advocate, despite working for a company which works primarily on an open-source tool 2026-07-22 11:41:22 I guess I'm more on the open source end of the spectrum which is more laissez faire 2026-07-22 11:41:43 So when I see stuff like geoblocking or policies about "how the code was written" I am not happy 2026-07-22 11:42:04 I don't know what the free software people want, I won't pretend to understand them 2026-07-22 11:43:06 tbqh I understand why git hosts block us; the UKOSA is continually demonstrating itself to be an own goal 2026-07-22 11:44:01 resulting in Ofcom having to make "novel interpretations of the law" to not regulate Wikipedia 2026-07-22 11:44:39 I understand why but I disagree that it's proportionate to ban the UK without so much as a letter from UKOSA, especially when they claim that geoblocking the UK doesn't prevent oversight because VPNs exist 2026-07-22 11:45:26 I am expecting or hoping Ofcom will be reformed because it's bad for business, open internet, and everyone's sanity 2026-07-22 11:46:02 Ofcom has demonstrated that they are willing to pursue companies for content hosted before a geoblock, e.g. imgur 2026-07-22 11:46:23 so, geoblock at entry into force is basically _required_ by UKOSA 2026-07-22 11:46:59 But as I said they don't consider it safe even post block, so the block is actually redundant 2026-07-22 11:47:08 Because VPNs are in widespread use 2026-07-22 11:47:47 I think what you're saying is more righteous indignation than measured legal advice 2026-07-22 11:48:10 And I respect that but don't want it from hosts or projects I am to be involved with 2026-07-22 11:49:10 At an individual level it's fine but the project as a whole can't do stuff like this, it's the project equivalent of expelling your diplomats, I prefer a slightly less chaotic relationship 2026-07-22 11:51:38 Maybe Burnham will ax it, would be a good cost saving 2026-07-22 12:25:48 Personally, I consider GNU ethical repository criteria to be a rather good thing to follow, and among other things, it requires for the code hosted to /always/ have clearly stated (and free - but that's beside the point) license(s). I'm not sure I see a way the license - or even authorship - of the code could be inferred when "vibe coding." 2026-07-22 12:25:48 I'd think that'd require a curated training set, with /lots/ of human effort put into it. Which kind of eliminates the (supposed) advantage of "vibe coding." I would have qualms with a decision of a hosting site to disallow certain categories of "adult" content (say, things concerning human reproductive health), but disallowing (potential) plagiarism seems like fair game to me. 2026-07-22 12:35:43 The existence "VPN" (or, really, /any/ form of international communication - you can ask a person in another country to "save" webpages not available in yours and send them to you in an email; or even as CD-R via post) complicates things, but, well, is the regulatory body supposed to deliberately /circumvent/ measures intended to prevent access to "illegal" content from their country? 2026-07-22 12:41:27 What ofcom's doing doesn't make any sense at all iv4nshm4k0v 2026-07-22 13:05:58 When a tyrant can execute you for wearing jeans, you stop wearing them. When your company can be fined for providing weather data to users in some country, you stop doing that, too. The organizations that geoblock users in the UK have no way to cause Ofcom to stop, so it's reasonable that they themselves stop doing that which offends Ofcom. 2026-07-22 15:05:16 iv4nshm4k0v: The thing they want is ID checks if you're the kind of org they care about, and they have said geoblocks don't exempt you 2026-07-22 15:06:15 I don't think git repo hosts are under their radar because they're not really social media and they aren't really adult either, although I've not read the rules in detail 2026-07-22 15:08:20 I just know they have said blocking the UK isn't good enough, which is probably because they don't want to encourage sites to block the UK or lose authority over sites that are being used by kids on VPNs or via proxies 2026-07-22 15:47:55 veltas: The interpretation of the law is in the hands of the court. Ofcom might have some ideas as to how the law is supposed to be applied; the court might still decide otherwise. Also, while I'm not familiar with the law, I suspect it places emphasis on the content actually hosted, rather than how the hosting site positions itself. And it's certainly possible to put "adult" content in Git. 2026-07-22 15:47:55 Kinda reminds me of this. "Upon publication of Caroline Elkins' 'Imperial Reckoning' in 2005, Kenya called for an apology from the UK for atrocities committed during the 1950s. The British government claimed that the issue was the responsibility of the Kenyan government, 2026-07-22 16:47:36 Hopefully it gets shut down, they are looking for cost cutting anyway 2026-07-22 16:55:56 Might depend on how the public opinion will swing. Say, there're a lot of parents who seek to prevent their kids from accessing "un-Christian" content; and there're also a lot of parents who seek to prevent their kids from accessing "Christian" content. "Divide and conquer" manipulation works quite well in the societies with such splits. 2026-07-22 16:55:56 The way I see it, a kid can only grow into a responsible adult if given freedom and support. Someone sheltered and blind has far worse chance. 2026-07-22 17:50:50 As a parent and a child I have to agree 2026-07-22 17:51:32 I think the internet had some quite negative effects on me when I was young, yet I am still here. Also did a lot of good. 2026-07-22 17:51:45 Probably got me into the career I'm in, for better or worse 2026-07-22 17:52:09 You can't protect kids from reality 2026-07-22 17:52:56 I feel responsible for controlling what my kids are exposed to, and I will probably use content blocks etc and do what I can to supervise and make sure they don't see too much bad stuff when they're very young 2026-07-22 17:53:33 But as they get older they can't be shielded from things forever, eventually they need to fly on their own 2026-07-22 18:42:53 I recall being a kid myself, too, and from what I remember, kids are capable of /avoiding/ harm. There's a capacity for self-harm there, too, but first, it's not any different to adults; and second, if that becomes a problem, it likely needs an intervention of a specialist anyway. 2026-07-22 18:42:53 One episode I remember is when my relatives took me to a cinema - to an adaptation of one of the Agatha Christie stories, no less. There was a scene of a body lying in a pool of red liquid that I've found disturbing enough to ask them to get me out there. (That being Soviet Union, there were really two age ratings: "everyone" and "18+" - the movie had the former.) 2026-07-22 23:01:02 02how is forth's "threaded" code any different from common interpreted languages? 2026-07-22 23:01:33 by "common interpreted languages", do you mean "bytecode VMs"? :p 2026-07-22 23:15:48 02lofty: yes pretty much 2026-07-22 23:16:30 actually we consider bytecode a form of threaded code; we call it token threaded code 2026-07-22 23:18:55 but bytecode amounts to an indirect function address; if you know that emitting bytecode X results in a call to function Y, why not directly emit the address of Y to call, instead of having to dispatch to Y on X? 2026-07-22 23:19:07 that's what threaded code is 2026-07-22 23:22:15 pyzozord: ^ 2026-07-22 23:23:41 02yeah for me threaded code and interpreted code seem like the same thing really 2026-07-22 23:24:04 well yes, threaded code is an interpreter 2026-07-22 23:24:06 02things get interpreted until somewhere at the bottom there is a piece of assembly doing the basic operation that is "built in" 2026-07-22 23:24:30 02like in python you eventually execute a piece of c code that adds two integers of whatever 2026-07-22 23:24:58 e.g. one of the textbooks on Forth is called "Threaded Interpreted Languages" 2026-07-22 23:25:01 02so i dont understand what is different about "threaded code" compared to "normal" interpreted code, why use different name if they are the same thing 2026-07-22 23:26:13 pyzozord: well, no, they're not the same thing, because for example AST interpretation is "interpreted code" 2026-07-22 23:26:50 02wdym? 2026-07-22 23:27:10 how would you interpret, say, a Lisp? 2026-07-22 23:28:10 the "most obvious" way is to evaluate expressions by descending through the parens 2026-07-22 23:28:20 02yeah 2026-07-22 23:28:37 which is quite distinct from threaded code, is it not? 2026-07-22 23:28:45 02doesnt seem that way to me 2026-07-22 23:29:22 02in lisp you evaluate the expressions, keep track of "environments" which are just hashmaps of variables and values and make operations on them 2026-07-22 23:29:41 02in forth you evalue the words, keep track of stack and make operations on it 2026-07-22 23:29:56 um. 2026-07-22 23:30:39 phrases mean things, you know? 2026-07-22 23:31:22 02im not following, can you explain what do you mean? 2026-07-22 23:31:47 02im not trying to be difficult, i truly dont understand and im trying to understand why people consider threaded and interpreted code different thigns 2026-07-22 23:31:53 02i feel like im missing something 2026-07-22 23:31:55 as fun as it is to point at literally anything and go "look, an interpreter" (in which case GCC is a C++ interpreter) 2026-07-22 23:32:09 threaded code is _a specific way_ to make an interpreter 2026-07-22 23:32:19 02oh hmm ok 2026-07-22 23:32:29 02i like ontological perspective, it really helps 2026-07-22 23:32:47 02so threaded code is a sort of sub category of interpreter 2026-07-22 23:33:38 you really should go research the term "AST interpreter" 2026-07-22 23:33:42 02so if threaded code is a subcategory of interpreter that is different than "normal" interpreted languages, what subcategory of normal interpreted languages use? 2026-07-22 23:34:08 that's not an answerable question because it depends on the implementation in question 2026-07-22 23:34:37 02lets say cpython to make things simple 2026-07-22 23:35:35 Matz's Ruby Interpreter (Ruby <= 1.9) is an AST interpreter; YARV (Ruby >= 2.0) is a bytecode interpreter 2026-07-22 23:36:54 pyzozord: from a forth implementer's perspective, CPython uses token threaded code, i.e bytecode 2026-07-22 23:38:05 02what's "token" here? 2026-07-22 23:38:11 unfortunately I haven't looked at CPython enough to know whether it's STC, DTC or ITC 2026-07-22 23:38:18 02wait so byte code is a subcategory of threaded code? 2026-07-22 23:38:37 yes 2026-07-22 23:39:01 which is what I've tried to say 2026-07-22 23:39:17 02is ast interpreter also a type of threaded interpreter? 2026-07-22 23:39:25 no 2026-07-22 23:39:51 02what disqualifies it? 2026-07-22 23:40:09 pyzozord: Wikipedia has a pretty good compare-contrast between bytecode, threaded code, and AST interpreter: https://en.wikipedia.org/wiki/Interpreter_(computing)#Variations 2026-07-22 23:40:24 belated: hey lofty 2026-07-22 23:40:56 lofty: thanks for the trailhead of the nazi bar parable; I hadn't had a name for that idea 2026-07-22 23:42:02 02psf: i think i generally understand the difference between ast and bytcode interpreter basically ast interpreter has only one intermediate representation, bytecode has two, but i do not understand what makes one of a threaded interpreter but other one not 2026-07-22 23:42:03 pyzozord: "threaded code" is, to me, where a function definition is transformed into a series of function calls. AST interpreters never perform this transformation, so they are not threaded code. 2026-07-22 23:42:29 I get conflicted re: the Codeberg no-AI thing. Part of me really appreciates neutrality and nonjudgment, and, yeah, part of me has also seen how "let them be" has led to the overton window shifting in a disturbingly rightward direction 2026-07-22 23:43:57 I mean, it's worth pointing out that Codeberg polled its members and democratically decided on this position; I feel like veltas casts this as a sudden policy change when it really wasn't 2026-07-22 23:44:30 https://codeberg.org/Codeberg/org/pulls/1253#issuecomment-19820434 2026-07-22 23:45:09 I also looked at the terms, and it's actually only for "mostly AI" projects 2026-07-22 23:47:34 02lofty: right, so effectively all bytecode interpreters are threaded code, and all threaded code are bytecode interpreters, it is the same thing? 2026-07-22 23:47:50 yes, no 2026-07-22 23:48:07 02can you give example for no? 2026-07-22 23:49:21 Each bytecode value corresponds to a function inside the interpreter, but you have to dispatch on the bytecode value to resolve it to the function 2026-07-22 23:49:50 in threaded code, you just emit the address of the function to call directly, without resolving it 2026-07-22 23:50:50 from the perspective of "threaded code is a series of function calls", the bytecode indirection still amounts to a function call, but threaded code does not _need_ this indirection 2026-07-22 23:51:05 02oh but arent things like computed gotos etc the same thing really? 2026-07-22 23:51:19 02it seems like an implementation detail 2026-07-22 23:51:39 no, because computed goto must still dispatch on the bytecode value 2026-07-22 23:52:05 02i mean i can imagine various dispatch optimisation techniques in bytecode vm that eliminate runtime dispatch 2026-07-22 23:52:31 oh? can you give an example? 2026-07-22 23:53:43 02i mean like with compute gotos it can just do "go to this address and execute it" and that can be at the end of each builtin 2026-07-22 23:53:55 congratulations, you've invented threaded code 2026-07-22 23:54:10 02i see 2026-07-22 23:55:16 02so i can think of threded code is a particular bytecode vm dispatch optimization technique where instead of a central switch statement, simply each builtin ends with a "goto and execute the next builtin" 2026-07-22 23:55:51 02? 2026-07-22 23:57:20 which behaves like it's a series of function calls, right? 2026-07-22 23:58:32 but can you not use the term "bytecode VM" for this? the whole point is _there is no bytecode_ 2026-07-22 23:59:34 02wait, forth compiles its words 2026-07-22 23:59:40 02to a series of function addresses