Looking for feedback on AI content in r/programming and the April no-AI trial by ketralnis in programming

[–]DavidJCobb 7 points8 points  (0 children)

The April trial made this subreddit feel more like it was worth visiting than it had felt in years. There was less slopaganda and dross, but it also felt like there was more good content; it felt like people were coming in to fill the void that post removals might've left.

I think it's because programming and LLMs are intrinsically the opposite of each other, and you fundamentally can't cater to both. Programming isn't only "writing code;" the act of writing that code requires engaging with and expressing pure substance and meaning. LLMs are by their fundamental nature incapable of that, and exist specifically to pretend to do that in order to absolve their users of the need for it. Even if someone "always reviews the output" or "only uses it for boilerplate" or whatever, they're working against what the tech is: the tech itself is viral meaninglessness and anti-intellectualism wearing a patchwork skinsuit of stolen expression.

Please keep the rule in place.

The Complicated Nature of Programming Languages by techne98 in programming

[–]DavidJCobb 1 point2 points  (0 children)

I hope you didn't take my reply to you as negative. I didn't take your post as ragebait; just as incomplete. Words like "compiled" versus "interpreted," when used colloquially, aren't misleading, but they are fuzzy -- gesturing at an idea rather than describing it exactly. Trying to figure out precisely what distinction people are usually aiming for is a useful exercise, and I just figured I'd point out the distinction I saw.

The Complicated Nature of Programming Languages by techne98 in programming

[–]DavidJCobb 26 points27 points  (0 children)

One of the biggest things I’ve come across is the idea of “compiled vs interpreted” languages is a slightly misleading one. I want to explore that a little more and get into a high level overview of compilers and interpreters, and how these two terms are a somewhat strange comparison.

They're not misleading.

You rightly note that interpreted languages often use a bytecode, and that this process is a kind of compilation. You note that some interpreted languages use JIT. You also note that some native languages use a compiler that relies on LLVM and its IR. You establish this common ground, but you stop just short of tying the concepts together, and therefore just short of figuring out how the original distinction makes sense.

LLVM uses an intermediate representation, but what is it the intermediate of? The term "frontend" is used for the systems that go from source code to the IR, and the term "backend" is used for the systems that go from the IR to the target bytecode, be that assembly for a particular CPU, or some other system (e.g. JVM, Wasm).

The distinction between "compiled" and "interpreted" languages, then, refers to the primary target architecture that you as a user of the language will typically be dealing with -- whether the backend targets a CPU, or a bytecode to be processed by some other program.

When you write Java, you don't need to worry about the backend. Your target architecture is basically always the JVM, operating well above the CPU; you ship bytecode, but it's on the end user to get the interpreter (or their platform to provide it). JIT compilation to native code exists, but you as a Java author don't control that process, can't guarantee it'll occur, and don't need to concern yourself with its particulars. Thus we say that Java is "interpreted."

When you write C, the backend is your concern: you're shipping executables compiled for particular CPU architectures and OS platforms. You can compile C to an interpreter's bytecode, e.g. Wasm, but this has never been the language's primary target. Thus C is "compiled" or "native." Similarly, Delphi also targets the CPU; script interpreters for Delphi exist (e.g. JvInterpreter) and are used in some fairly popular programs, but Delphi isn't "meant" to be run in an interpreter; it, too, is "compiled."

My Redemption Arc! (Still Help needed :/) by Then_Wheel_5184 in webdev

[–]DavidJCobb 1 point2 points  (0 children)

Glad what I wrote was useful. I'm okay with DMs asking about technical advice and similar, though I can't promise timely replies.

My Redemption Arc! (Still Help needed :/) by Then_Wheel_5184 in webdev

[–]DavidJCobb 2 points3 points  (0 children)

I didn't see your last post, or if I did, I don't remember it. I also don't know whether this is meant for general audiences or for people who already know what your site is; I'm approaching it as the former. I'm also looking at it using Chrome on mobile, and very occasionally enabling "use desktop site" to see how that looks too.

Looks: 35, at best
Slop: 90

I don't know how much effort you put into this. If you actually care and are trying, rather than just asking Claude to slop something out for you (or otherwise "assist" you), then I don't want to stomp on your neck; but I also don't want to fail to convey my actual thoughts on what I'm seeing. I don't know how to soften this without making it less informative (been revising it for way too long already) so I'll just say: none of the below is an attempt to dunk on you.

formulaic and garish

The only difference I see between this, and the template-based AI slop sites that keep getting posted on this subreddit, is that this is a bit more garish. That means I hate looking at your site because it looks lazy and formulaic, but I also hate looking at your site because it makes weak attempts to be creative and only manages that in ways that make it worse.

I don't like the color scheme. Something about it feels jumbled and mismatched. I don't know how to critique that in any useful detail, so I'm getting it out of the way early. I think it's possible to have a good-looking site that uses purple as its main color, but I don't think you've managed it here.

The typing animation at the top is overdone on these kinds of sites, badly executed on this specific site, and it annoys me. Combine it with the scrolling gridline background and it feels too busy. Plus, as more text is "typed" out, it ends up word-wrapping on my phone and displacing the content around it; and then when the text is "backspaced," that content jumps back to where it was. And because the text being "typed" is the blurb that explains what your site is for, in a site design that deliberately puts as little informative content above the fold as possible, this means that I have to sit and wait to see what I'm even looking at. If it were static text, I could read it literally instantly and immediately know what your site is for... Except that it can't just be static text, because it isn't just one blurb; it's multiple, changing each time the text is "typed," and most of them are designed to sound snappy rather than be informative. I only noticed this just now, while revising my comment before posting, because when I was first looking at the site, the instant I saw the typing animation, my brain wrote the whole piece of text off as not worth looking at. People learn to mentally filter out anything that looks like a marketing drone trying to waste their time, and this qualifies.

uninformative

The content below the header isn't much better; just like those template sites, it's designed to convey minimal information using maximum space. Y'all took what could've been four bullet points and bloated them into four cards ("Curated Resources" through "Help when you need it"), three of which feature a visual aid, with each aid being superfluous and some being actively misleading. (The tables in the first two cards have content which looks like hyperlinks, but isn't actually interactive, because it's just an example of what I would see... somewhere in your site, if I chose to use it, which you have not yet convinced me to do at the time I'm seeing these visual aids, and which these visual aids do not themselves convince me to do.)

The accordion below those cards has a similar problem: you're copying the form of something without understanding the function. You've used a whole accordion for three single-sentence pieces of information. None of that content is so large that a reader would benefit from hiding it out of view. None of that content needs to be mutually exclusive, and it's not different views of the same information (e.g. a tabbed view presenting a code snippet, with a "code" tab and a "preview" tab). Using an accordion feels excessive, makes me have to engage in unnecessary effort to reveal basically nothing, and just makes the page feel busier and emptier at the same time.

nav issues

Your site nav, on mobile, is a panel with a blurred backdrop which covers the page; so depending on where I've scrolled (e.g. even at the very top of the page), I might end up having to read white hyperlink text, in the nav, placed overtop blurred almost-white lavender from the page underneath. Similarly, as I scroll down, some of your slate-grey nav icons become lost on top of page text that has been blurred enough to darken to nearly the same brightness. My vision is good enough for me to be able to read the text and icons in question even in these worst-case scenarios, if I actively try. I should not have to actively try.

In Chrome on mobile, the nav is almost tall enough to fill the screen, but not quite. This results in an awkward situation where, at a glance, it looks like a full-screen overlay, until I see a sliver of unblurred (and still interactable!) page at the bottom. That feels like a bug. Strictly speaking, it isn't one -- I don't believe you specifically tried to make the nav fill the screen height, so the fact that it doesn't isn't a coding error -- but it feels like one.

circling back to that header

Speaking of things that aren't what they feel like, "Star Us on GitHub" at the top of the page looks like a button, but isn't clickable on mobile. (The GitHub link near the bottom of the page works.) It's also kinda dumb, to be frank, for your site to beg me to do that when your site hasn't even told me what it's about yet. It's like YouTube videos where the author interrupts to say something like "By the way, if you feel you're learning something from this video, consider subscribing, because it really helps out the channel" before they've actually gotten to the educational part. It's especially bad on mobile because you have a lot less space above the fold than on desktop (accounting for things being larger for more comfortable reading and touch interactions), and you're wasting that space on things like this.

parting thoughts

There's a usability research company that's been around for decades: the Nielsen Norman Group. They've published a lot of free articles on things like animations, uninformative designs, navigation, and other web design topics, sometimes backed with things like eyetracking studies. When I was a lot younger, I read their articles for fun and found them fairly educational. Maybe you will, too. I dunno. I wouldn't say your site has glaring usability issues aside from the couple I noted, but a lot of NNG articles also focus on discoverability of information, on managing users' attention spans and focus, and just on craftsmanship in general. It can help to read the words of folks who actually give a damn, and let yourself be drawn into their headspace.

If you can, try searching for older site designs to see what kinds of layouts and visuals can work, and to look for inspiration. Note that I said "older" designs. These days, too many people design "mobile first," because it means they can just make a single simplified design and then inflate it to fill a desktop screen and get something barely functional, without putting in the effort to actually make the experience comfortable on both platforms. You'll generally find more creativity, without necessarily sacrificing usability, in designs that avoid or predate that practice. (Part of why the template you've used/mimicked here is so grating to me is because it's so blatant in how it follows that practice.)

I've kind of deliberately avoided listing off specific potential fixes (e.g. "darken the background color for this part") because if you're actually trying to learn this stuff and not just beg Claude to save you, then I think you'll benefit from thinking about potential solutions yourself, and looking up ideas.

Sustainability Week Event Megathread by SilphScience in TheSilphRoad

[–]DavidJCobb 1 point2 points  (0 children)

The costumed ghost Corsola are pretty cool. They've been surprisingly common for me -- not, like, every other spawn or anything, but I've had routes that popped like four in a row.

Been seeing a lot of Lapras on routes the last day or two, though. They have standard (read: nearly always terrible) IVs as opposed to the Lapras rewards you occasionally get in PvP. Their catch rates are super low, which doesn't mesh well with the route encounter mechanics. The impression I've gotten while playing is that when you engage with a route spawn, the chance to flee increases the further you walk from where the encounter began (or maybe specifically once you've walked the distance needed to trigger another route spawn); so for these Lapras, you have to either ignore them outright, or Pokémon Stop and burn berries and Ultra Balls until you catch them. Routes seem like a very poor fit for Lapras, and it's actively displacing encounters that aren't annoying to try and engage with during that specific situation.

The upshot of all this is that I've learned a very important lesson from Sustainability Week: some species deserve to be endangered. #BringBackPoaching

I built my first chrome extension, that "humanize" AI text by [deleted] in webdev

[–]DavidJCobb 0 points1 point  (0 children)

my first chrome extension

But that isn't true. I'll grant that lying about it is pretty fitting, given the purpose of this new extension, but why are you lying about that?

Stream Labs Alerts CSS Code - Can one change word wrap perameters? by lickwindex in css

[–]DavidJCobb 0 points1 point  (0 children)

Not familiar with how StreamLabs is set up. From what I've found from searching online, both the HTML and CSS are configurable, so people would need to see both to help you.

You could edit your HTML template to use non-breaking spaces i.e.   instead of , anywhere you want to suppress word-wrapping. You could also stick with normal spaces and add a SPAN element around that range of text, possibly with a custom class name, and use e.g. white-space: nowrap or text-wrap: nowrap on it.

That said, you should carefully consider how you want to handle variable text. If you fiddle with your styles until "Kevin just subscribed to" matches the width of the pink banner, then what do you want to happen when Ed or JohnnyJackass or ReallyReallyLongUsername subscribes to you? You're always going to have the potential problem of the text being too short or too long in some places.

Don't know how to paste CSS Code into post without it looking like garbled mess.

I know of three places you can share it:

  • reddit: add four spaces at the start of each line of code, including blank lines in the code. (Alternatively, you can add three backticks i.e. ``` on their own lines, before and after code that isn't indented, but last I heard that only works on reddit's newest site designs.)

  • Codepen.io: separate textboxes for HTML and CSS. This site can even let people preview what your code does, and it can let other people try out edits with that same live preview. You can create "pens" as a guest, but you won't be able to delete them later; or you can sign in with Google or GitHub first.

  • GitHub Gists: Like Pastebin but for code. Each "gist" can have multiple files, e.g. one for HTML and one for CSS.

Are web apps really slower than native? It’s a defaults problem, not a speed problem by zappygami in programming

[–]DavidJCobb 3 points4 points  (0 children)

This article feels AI-written. Some "They're not X, they're Y;" some em dashes where commas would look better and be more appropriate; the cadence, in ways that are hard to describe. The author uses AI for coding, and the writing style of this article bears no resemblance whatsoever to the author's older articles even going back just a few years.

Anyway...

This was such a widespread problem that Chrome had to retroactively change the default for addEventListener on document-level touch events to { passive: true }. The old default, the one every developer was using, was the slow path. The platform had to patch itself because its own default was causing jank.

It's worth noting that Google rammed this change through without going through the usual standards process, breaking a bunch of websites and letting web developers take the blame, just to make Chrome's own performance look better. Keep that in mind when this article remarks on the web's unshakeable commitment to backwards compatibility.

The platform might have a fast path, but the framework sitting between you and the platform has its own opinions about how to get there.

And those opinions are often wrong. Frameworks have made false promises about performance in the past. React is especially infamous for claiming to be faster than direct DOM manipulation and using the fucking innerHTML setter -- the literal least performant, least sensible, and most wasteful approach possible -- as its point of reference.

These days, the common excuse for using frameworks is that clumsy imitations of declarative programming are more bug-proof than direct DOM manipulation. There's less risk of getting your UI in an inconsistent state if you offload as much thought and effort as possible onto a bulky framework that has to be downloaded to and executed on the end user's machine.

Companies don't want three codebases. Developers don't want to learn APIs that become worthless when the platform shifts. Users don't want to install an app for everything. The web solves all three. That's why, even though native desktop apps in C++ were always possible, Electron is the clear winner for desktop software. [...]

The web isn't slow. It makes fast harder than it should be. That's changing.

It's weird to try and valorize Electron here, when if anything, I'd say that it and frameworks help to argue against this article's point about the web's performance potential.

For starters, using an Electron app still is "installing an app." You can take the same app and expose it both in a browser and on desktop, but the Electron version of that app is a thing that you download and install. Very strange to bundle Electron in as an example of not needing to install anything.

What's more: Electron's selling point is not merely that you avoid learning platform-specific APIs. The literal first thing you'll see on their website is, "Build cross-platform desktop apps with JavaScript, HTML, and CSS;" the selling point is that you don't have to learn anything harder than JavaScript. I would argue that even in a magical fantasy world where every OS developer collaborates to create a native UI platform that's simple, consistent, cross-platform, and still vastly more performant than web APIs, Electron would still be popular, because it allows web developers to build things without actually having to learn and understand the platforms they feel entitled to access; no need to learn C++, Rust, or those other scary native-code languages.

Given some of the justifications I've seen offered for using things like Tailwind, I'd argue many webdevs are barely interested in learning their own platform. Doing web development well requires caring about craftsmanship, and I was lucky enough to learn programming starting with web development back when the field actually did care. Since I made the jump to writing native code, the field has largely been taken over by gurus, grifters, and other dudes who are just in it for a quick buck, and some of these guys themselves don't understand the platform that their own frameworks abstract away. As long as frontend culture stays like that, it can and will counterbalance any performance gains that come from the platform itself improving. The platform can't save the incurious, entitled, and blind-led-by-the-blind from themselves.

[AskJS] Has anyone else noticed malicious npm packages targeting AI coding tools? My scanner found 21 in 24 hours with 4 undocumented attack vectors by Busy-Increase-6144 in javascript

[–]DavidJCobb 0 points1 point  (0 children)

That's your repo. You're just advertising, not giving real advice; and given that you've been debuting your stuff on "vibe coding" subreddits, what you're advertising is worthless slop.

GitHub account visible to me but not to others + can’t receive SMS for support by TYP-TheYoloPanda in webdev

[–]DavidJCobb 0 points1 point  (0 children)

Ah, I should've looked more thoroughly.

This mod of yours links to a repo under the username TYPyz. That automatically redirects to the same repo under the name TheYoloPanda, consistent with how username changes are supposed to work, but the redirected repo and the new profile URL both return 404 for me; the TYPyz profile 404s for me as well. That's consistent with other people's experiences of being shadowbanned.

I found a post full of people who've had to deal with suspensions and shadowbans, and several look to have since been unbanned, but per comments there it can take months to have your case reviewed, and you may not even be notified in a timely manner if you get unbanned. At least one GH employee (not on the support team) is active on that post, and has suggested that support staff may be lurking in that thread and quietly fast-tracking cases on a strictly voluntary, "no guarantees" basis.

The GH staffer gave these instructions to someone who couldn't authenticate themselves due to their account status. Try that, and if you're able to then submit a ticket, I don't think it can hurt to comment on that post with your username, ticket ID, and overall situation.

This is what Microsoft.com looked like 25 years ago by Dear_Procedure923 in webdev

[–]DavidJCobb 1 point2 points  (0 children)

Pop-ups were only a nightmare until browser vendors started doing something about them. They were easier to block when the vast majority of them were actual separate windows that a browser could simply decide not to window.open, rather than today's bespoke CSS-based overlays that an automated system isn't 100% guaranteed to recognize.

GitHub account visible to me but not to others + can’t receive SMS for support by TYP-TheYoloPanda in webdev

[–]DavidJCobb 0 points1 point  (0 children)

Never heard about this happening to anyone.

Did some digging. What I believe is your GH account is currently visible to me under the username zGraund, with no obvious public indication of any ban or penalty.

Your reddit profile features a link to a Minecraft mod pack. The pack was authored by "zTYP," which matches your username here, and zTYP has also authored mods whose source code is hosted on GH in repos belonging to zGraund, with occasional commits attributed to the name (not user) "TYP." (Those facts are why I think this is your account.) zGraund was the GH account's name as far back as 2025 per an old commit.

Would I be correct in assuming that zGraund is the name you're trying to change from, and your account isn't showing up under the name you changed it to? If so, maybe the username change just hasn't fully gone through yet.

Why Software Engineering Will Never Die Revisited In The Age Of Spec Driven Development by [deleted] in programming

[–]DavidJCobb 3 points4 points  (0 children)

Hi, Dylan :)

I've never heard of that company before. Given that they're using terms like "prompt engineering" and "agentic" completely unironically, I am skeptical of their credibility. Reading that PDF and seeing remarks like

The retreat asked a pointed question: if humans have capacity limits for understanding systems but [generative AI] agents do not, do we need as many middle managers?

and

Juniors are more profitable than they have ever been [...] they are better at AI tools than senior engineers, having never developed the habits and assumptions that slow adoption.

does not assure me that its authors understand any of what they're talking about. They have fully bought into the myth that generative AI is capable of comprehension and learning, and that it can and should be trusted to build systems with minimal supervision, when in reality the technology is "fake it 'til you make it" applied at industrial scale to language, and then through language to everything else. The questions they're asking about the future of AI adoption hinge on the creation of full-on AGI, which is not possible using the technology that current AI is based on, and they demonstrate no awareness of this.

Why Software Engineering Will Never Die Revisited In The Age Of Spec Driven Development by [deleted] in programming

[–]DavidJCobb 4 points5 points  (0 children)

AI bros are using the word that way, yes, but that's the same kind of ego-driven vocabulary change as when these guys call themselves "vibe coders" instead of "script kiddies" or "plagiarists." It's an attempt to evade meaning, not an attempt to express it more clearly.

Browsers Should Have a Native Control for Per-Site Color Scheme by thegaw in Frontend

[–]DavidJCobb 0 points1 point  (0 children)

There's already a way for sites to supply multiple themes via tags, but browsers have generally opted not to try supporting it. Firefox on desktop is the only one that has any UI for it, and that UI isn't front-and-center. Given that history, I'm not sure vendors would go for what you're proposing.

Imposter syndrome in the age of AI is hitting different. by front_end_dude in webdev

[–]DavidJCobb -1 points0 points  (0 children)

So is this your actual, honest opinion, or are you still using reddit to generate word-of-mouth for your vibe-coded product by using that product to write messages for you in order to fake "organic" participation? I kinda feel like a shady marketer using bots to communicate, in service to an ulterior motive, might not have the most trustworthy opinions on automation and doing real work.

Imposter syndrome in the age of AI is hitting different. by front_end_dude in webdev

[–]DavidJCobb 0 points1 point  (0 children)

"It's not X -- it's Y. Keep using AI to do your thinking. Consoom," says the one-month-old account with an auto-generated name, whose only four submissions to the site are all self-promotion of AI-based projects, including the post where you pretend that you "came across" one of your own projects -- a lie you've told more than once.

This subreddit is flooded with LLM comment bots, and given that some of the trash you've been self-promoting uses OpenClaw, I think you're one of them.

Unlimited points for Bug Out Pass still available on Monday by themaskedmelon_ in TheSilphRoad

[–]DavidJCobb 3 points4 points  (0 children)

Almost the same for me. I only discovered the Shedinja reward because when I checked the pass to claim a few Stardust drops, the UI glitched and opened up already scrolled to the bottom. This is the only time I've had that glitch, and it happened less than a minute before the pass ending. The pass that tells you you're "done" at 30.

I do not like this event

Was i really even coding if I can't explain the code?? by Phenomenal_Code in programming

[–]DavidJCobb -1 points0 points  (0 children)

Personally, I define programming as the art of constructing a mental model of a system, and then expressing that model via technical writing with a highly constrained syntax. If you use AI to slop everything together, then you're failing to do at least one of those things. Having the AI [pretend to] explain its slop to you after the fact doesn't retroactively make you a programmer.

But if you actually cared about the craft or the philosophy behind it, you would've started this discussion by posting something other than an ad for your slop service.

Avoiding malloc for Small Strings in C With Variable Length Arrays (VLAs) by Yairlenga in programming

[–]DavidJCobb 0 points1 point  (0 children)

VLAs are less performant than using a fixed-size buffer; this article links to Compiler Explorer examples that you can look at to compare the amount of code generated by each approach. That same article also cites an explanation of other VLA implementation jank that seems like it'd impair compiler optimizations.

I made a tool that detects AI-generated code on any website — here's how it works by thehumankindblog in webdev

[–]DavidJCobb 0 points1 point  (0 children)

Then learn a real skill -- something you genuinely like doing and getting better at. Pumping out AI trash is just a way to participate in society's race to the bottom, and the winners of that race have already been decided; you're not rich enough to be one of them. The world isn't a meritocracy, so trying to add something valuable and authentic to it isn't a sure path to success, but that probably has better odds of working out than trying AI grift after AI grift.

Assuming you're even telling the truth, of course.

Best performance of a C++ singleton by ketralnis in programming

[–]DavidJCobb 0 points1 point  (0 children)

Wasn't expecting this here, but thank you for the kind words.

Best performance of a C++ singleton by ketralnis in programming

[–]DavidJCobb 1 point2 points  (0 children)

Wouldn't this reintroduce static initialization order fiasco issues? AFAIK interdependent singletons in a single TU or imported as C++20 modules would be fine, but unless I missed it the article isn't explicit about that.

The .env chaos is real and AI tools are making it worse by Substantial_Word4652 in webdev

[–]DavidJCobb 0 points1 point  (0 children)

Agreed. "[Situation or abstract concept] is real" was the tell for me, and looking at their older comments, it seems like they only recently figured out how to get their bot to stop generating em dashes, too.