HNHacker News
TopNewBestAskShowJobs

graypegg

4,970 karma · joined April 6, 2022

Red panda furry person
submissionscomments
graypegg··on Wikipedia's Cleanup of AI-Generated Content
I’ll never understand this desire from certain OSRS folk.

You can put hundreds of hours into these accounts, and people will roll the dice on a vibecoded plugin they (or a stranger on the runelite plugin repo) make with very little understanding that Jagex (the company that maintains OSRS) just sees client commands. If you look like a bot and smell like a bot, you get treated like a bot.

I now know two friends that got bans (one permanent!) for rolling their own unpublished plugins, not realizing that they asked Mod Claude for a macro set for some bossing content… oof.

graypegg··on Waymo in Toronto
I've never been to SF, but looking up some pictures and info, it looks like it's the same rules. You can't pass it at certain moments, and need to be prepared to stop for people getting on and off.

The main difference is going to be scale and the chaos that brings. You see a LOT of streetcars in Toronto. For a huge chunk of downtown, it's the main subway-ish transit option. Some of the lines are on a 5min frequency, others are every ~10min or so, with some segments having 2-3 lines on it. I've seen them get backed up before an intersection, and open doors for passengers before they even reach the stop haha. I've personally hood-surfed over cars that got into the lane between the streetcar and the stop quite a few times, and sometimes it really isn't their fault.

The signal on the rear-end [1] is awful. There's a blurb saying "DO NOT PASS OPEN DOORS" which is clear enough, but there's also a sign that illuminates when the doors are open and it's NOT a stop sign. It's this do-not slashed circle with a picture of a stick figure seemingly walking into traffic. I think there's a reading of that symbol from well-meaning tourists that says "Attention boarding passengers, don't run into traffic". I could see that freaking out a waymo without a little bit of custom code.

[0] (All red lines are streetcars) https://cdn.ttc.ca/-/media/Project/TTC/DevProto/Images/Home/...

[1] https://blogto-production2-baselayer-display.blogto.com/arti...

graypegg··on Iosevka is an open-source, sans-serif and slab-serif, monospace font
I personally like them because (to me) it makes a few symbols less ambiguous. (I use Victor Mono [0], so in my mind things like == and === in that font makes mistakes more obvious to me at least.)

But also... I know I have the minority opinion on this. It absolutely should be opt-in, not opt-out. I think the past decade, I've been told the font tweaks I enable are incomprehensable to everyone I work with. The way I like my IDE fonts is far outside the bell curve (ligatures, cursive variants for some syntax, proportional variants for prose) so the fact that most new monospace code-focused fonts seem to align with my opinions should be concerning to font makers! I like that I don't have to patch a different font's italics into my code font anymore, but common sense says I SHOULD still have to do that!

[0] https://rubjo.github.io/victor-mono#ligatures

graypegg··on Apple HomeView
I have an original homepod, and man, I wish I could lobotomize it easily.

It's a really nice speaker if I set it on something sturdy that won't rattle, and airplay is still pretty good even on ancient devices.

I can't keep it plugged in because it will just randomly say "You can enable personalized responses in the settings app!" at 3am about once a week if I do. It's horrifying when it happens because it always seems to be 10x louder than I remember it being set to.

graypegg··on Documents add to evidence in climate deception case against ExxonMobil
You already know why that’s a confusing argument because you included the time scale yourself, but to say the obvious: I think we probably need to go a bit faster than “millions of years”.
graypegg··on Orkut.com

    What if [positive noun] instead of [negative noun]? Have you ever thought about that? [Nefarious proper noun] tries to feed us [negative noun] but using [url] we're going to change the [collective noun]! [Collective noun in which the reader self-includes] has always been at the forefront of [positive adjective] innovation, and that has inspired me [artisanal synonym for "to make"] with love for you all.
I'm there, I feel it, it's 2011 and I'm being pitched facebook for dog walkers or twitter for the uzbec equestrian community unironically except this is taking the bold step of making the niche "all of humanity".

You really need more than "new time bad... remember old time?" to pitch a general-purpose social media product that avoids the obvious, well-documented foibles of social media.

graypegg··on Animated ASCII Art for Web Pages
Nahhhh you don't need a new term. It's just like... on the fringes of what the term means.

I'd call it an "ASCII-Art inspired shader", but some % of people would look at it and immediately call it "ASCII Art" with no confusion. Some other % of people are also going to scoff at me saying it's "ASCII-Art inspired" at all.

Should mention, I have no issue with this little project! I'm just agreeing with the parent comment that this is just hinting at the limitations of ASCII art without actually working with them, in our opinion. Thinking about art being an important step in appreciating art, and all of that.

graypegg··on Animated ASCII Art for Web Pages
Ayyy that's a much more articulate way to put what I was also thinking.

"Being constructed of text characters" is a very loose definition of ASCII art. Not to say it's not visually interesting, but just that it's on the far ends of the histogram of what people think of when they hear "ASCII art".

Personally, I think the fact this is relying on colour for contrast makes this feel more like a shader that quantizes the input into little dots that just happen to be 1 of 3 characters, than ASCII Art. It's a vague border between that and an ASCII shader, and then ASCII art, but there's definitely some measureable distance between those peaks.

graypegg··on IANA's email about why example.com changed
Maybe stupid to point out on my part, but it HAS to be in a order. There's definitely a version of this that's just "the order we wrote it down" https://xkcd.com/221/

Though I think you're right that it's alphabetical by English name: Arabic, Chinese, French, Russian, Spanish

graypegg··on Big Tech's Capex Is Half of Wall Street's Profit Growth
The idea of the author assuring you that "no corrections are needed" is immensely funny haha. If the author is around this thread, it's all good to translate content dude, and thanks for doing so! But you definitely should translate the output back to your native language and give it a read as a sanity check.

Archive link for context in the future: https://archive.is/g6Znd

graypegg··on Stripe's Knowledge AI Platform
It’s a cool name! Don’t let Stripe make you doubt that haha
graypegg··on MCP was always a bad idea?
Yeah sorry I'm just a humble Senior-Staff Vibe-Engineer born in 2020. Get out of here with your ancient 2010s API specs, old man! </sarcasm>

But seriously, just publishing OAS docs at a /.well-known URI seems very sensible. https://www.rfc-editor.org/rfc/rfc9727.html

graypegg··on Why MCP Was Always a Bad Idea
People keep trying to systematize things for the tools they keep saying don't need systemization. No idea why you can't just put the documentation programming language context in the URL. "/docs/typescript/...", "/docs/python/..." etc.

I don't think the agents are struggling with the idea that different URLs have different responses, and that checking the sitemap is a good idea.

Tangential: A rare en–dash user out in the wild!

graypegg··on MCP was always a bad idea?
> Recently, a Vercel engineer called on harnesses to send the programming language the client prefers, so documentation sites can serve more specific examples. For example, adding Python could prioritize docs for the Python SDK instead of sending something generic.

I know this is pedantic, but IMO that should just be in the URL if the resource is going to be totally different. Accept-Language is already a bit weird for the same reason in my mind, but I think the intention behind it is the resource itself is attempting to communicate the exact same resource. Obviously, two different languages from two different cultures are going to have different interpretations of the same direct translation, but the intention is the service has at least tried to avoid that as much as possible.

Adding programming language into that same concept just makes it seems like you're serving both /docs/typescript/vx/... and /docs/python/vx/... from /docs/vx/... despite them (in theory) having many more differences in between implementations/context than that would imply.

Agents should read sitemaps. Does anyone's harness do specifically that when looking up documentation?

graypegg··on Key symbols we lost to time, pt. 2: The Mac side
I bought my MBP in Québec, with the default keyboard they stock.

https://f.toi.sh/fr-ca-mbp.jpg (Pardon the dust!! You never really look too closely as your keyboard until you have to take a picture of it eh?)

Tab, capslock, shift, backspace, and return are all symbols-only. I feel like I have a pretty good ambient understanding of what they mean at a glance so I think I've always seen them on fr-CA layouts I've used.

Was trying to communicate to a designer in Ontario a while ago that we could use the backspace symbol for a correction key in a PIN entry view. We were working on an iOS application so I was immediately thinking that the apple default UI font would have exactly that "chevron with a cross" symbol styled how it looks on the keyboard somewhere in it. Designer was pretty confused about it though, so I think it's probably just fr-CA keyboards.

graypegg··on AI-generated posters don’t have to be horrible
If it's a craft festival, you should pay one of the crafts people to craft a poster. Any stench of AI (and in particular, the weirdness of an AI generated punk-ish poster) for a craft event makes me think it's a scam because I know for sure they had contacts of people that could've done a better job, and been supported while doing it... which is the moral pitch of the event. Even if the craft was basketmaking or something totally non-poster-related, use a close-cropped photo of a basket as the background or something. You've got artistic people around you. The outcome is going to be better, universally. (I don't really want to debate this honestly. We can agree to disagree if you think this isn't universally applicable.)

But I'm fine with the beer festival phoning it in. I guess my only issue with the in-the-wild poster example you found is it does look... bland and just aestetically bad. Your example AI poster styles would be a huge improvement! I can't say they're like, impressive in anyway or winning any awards since they're also bland, but aestetically they hold up and IMO, actually communicate the info better than the ez-slop original.

Maybe to put it another way: if it was 2015, and an craft festival and a beer festival both used the same incredibly lame looking Word template for posters, I'd have the exact same opinion.

graypegg··on Artificial intelligence now beats some of the best human forecasters
I smoked every gun, bore every load, I even signposted an honest assesment of your yakshaving... and yet, you push back?
graypegg··on Artificial intelligence now beats some of the best human forecasters
Then the next person needs an LLM trained to predict the LLM trained to predict the mainline LLM.

It's derivatives all the way down

graypegg··on A coffee shop owner used AI to make a menu poster. Then came the angry DMs
The follow up instagram post, so the one after she showed off her awful looking sign:

    > I want to address the recent conversation surrounding our fall menu boards.
    > The design was created using gen AI. I want to be transparent about that. At the time, I genuinely did not understand the extent of the concerns surrounding AI-generated artwork, particularly the impact it can have on artists and the environmental concerns associated with it.
    > My intention was never to disrespect artists, take credit for someone else’s work, or diminish the value of human creativity. I was simply trying to put together our fall menu during an especially busy and demanding time for me and our small team.
    > That said, I have listened to the feedback. I understand why people have strong feelings about it, and I respect those concerns. Going forward, I have decided that Penny’s Coffee Shop will not be using AI for our menu artwork and promotional designs.
    > What has been difficult for me, however, is the amount of negativity, personal attacks, and messages that followed this situation. There is a real person behind this small business. I am doing my best to run a local coffee shop, support my team, serve our community, and navigate being a new mom at the same time.
    > I am always willing to listen, learn, and do better. I just hope we can have those conversations with kindness and respect.
    > To everyone who continues to support Penny’s, especially through a challenging time for our business, thank you. Your support means more than you know. 
Why does business insider make it seem like she's seething angry about this situation when the actual content of the response instagram post seems very level headed. (Rhetorical question, I know why.)

    - I'm sorry
    - I know my use of gen AI made it seem like I dislike artists
    - That's not a belief of mine
    - I'll prove that by not using gen AI at my cafe for this sort of thing ever again
    - Please be kind to me, this is a small business and I'm very stressed out
Bam, perfect, hit everything a PR firm would tell you to say to make this go away as quickly as possible...

Talking to business insider was exactly the wrong thing to do after that. Your sign looks bad. You've made the awful mistake of telling more people about your bad sign with the intent of making them feel sympathetic. Even if they feel sympathetic, people still look at the bad sign you made in desperation along with the framing from BI and think... "oh so maybe she shouldn't be running a cafe then. This seems like she's barely getting by at this point".

On the flip side, telling someone "pay my artist friend or else I'll go out of my way to tell people primed to hate you based on a single detail, about only that 1 single detail" is actual old-school extortion.

Everyone in this story is tiring and annoying.

graypegg··on Show HN: Neobrutalism.dev – Just added Base UI support and added new color theme
> I'd say only sites that look like they use the default style of HTML with no CSS on Netscape 1.x could be called "brutalist"

I agree, but maybe just not on the Netscape 1.x part. Brutalism in all of it's forms has never been about traditionalism. Even if concrete wasn't a new matieral in the 50s, you can't say something like Église Notre-Dame du Haut [0] is following any sort of traditional church architecture.

Brutalism on the web to me would focus more on honesty. An honest website shows you the processes your browser is undertaking, and how that results in rendering it's purpose. Images should load in progressively, any layout tables/divs/scaffolding shouldn't be invisible, a link/button/headings should behave/look how they "natively" do in whatever browser you happen to be using (not specifically netscape 1.x). If you're writing a cookie to the current session, I want to see that state reflected on the page. If I see a process happening I don't like, I should be able to stop it.

That doesn't have to look old or be unstyled. But there's certainly a way that letting hypertext just sort of "exist" makes a website more honest. All things considered right now, I'd say honesty is a pretty non-traditional adjective for the web haha.

[0] https://en.wikipedia.org/wiki/Notre-Dame_du_Haut

graypegg··on I'm being cyberattacked by Tesla, Inc
Thankfully it doesn't seem to be much traffic, but still... weird. You'd hope at somepoint the weird responses would get looked at in some log, but I won't hold my breath for that haha.

Tangential, but I love the design of your blog. That's so freakishly accurate to old GNOME 2 Ubuntu, amazing work.

graypegg··on Show HN: Hacker News, Without AI
Oh I'm just saying this would be faster to make with a framework and... traditional coding or whatever I'm told to call my job now.

If you're talking about parsing HTML with regex... buddy that IS the pinnacle of software quality. I'm sure... nay convinced, that HTML is fully parseable with regular expressions. We were just waiting for one very special boy to ask Claude for it, and today, the world hath received the fruits from a tree we planted long ago... thank you.

graypegg··on Show HN: Hacker News, Without AI
Huh... it's not even that hard of a problem to solve right? Maybe I'm insane, but I feel like this is easier to crank out in rails or something than sloppin' it. It's a singular page, with some filtering on one model + a job to add entries on a regular basis with an API call out to openanthrogemingptai.

We do get the the pinnicle of software quality though: parsing HTML with regex. https://github.com/leiDnedyA/hn-without-ai/blob/007e7b4a6df6...

graypegg··on Antiquated HTML Snippets and Artefacts
Huh, a few of the examples/prose about RSD, pingback, and twitter tags follow the same heading order, and mention the same details with the same links.

Like, it's really no big deal I guess. You were always going to find out this info from sources compiled by other people. But at least don't do the "I'll change some words and call it mine" high school essay plagiarism technique. There was clearly real research done here as well, it's not like it would've been that much harder to write it yourself.

Edit: LLM's used as a context-aware thesaurus called out here... https://vale.rocks/posts/ai-usage#:~:text=Apart%20from%20tho...

    source:
    > X (formerly Twitter) now falls back to Open Graph tags when twitter:* tags are absent, making the dedicated Twitter Card markup redundant for most use cases.

    article:
    > X falls back to the widely respected Open Graph meta tags, making the Twitter-specific declarations largely useless.
---

    source:
    > The Twitter Card Validator was retired and the original Twitter Developers documentation is no longer accessible.

    article:
    > However, the documentation and card validator are no longer accessible (previously at https://dev.twitter.com/cards/getting-started and https://cards-dev.twitter.com/validator respectively).
---

    source:
    > Twitter's Do Not Track support was effectively dropped following the platform's transition to X. The original Twitter privacy options documentation is no longer accessible, and the signal is not honored in practice.

    article:
    > Twitter also had a Do Not Track meta tag for opting out of tracking when using Twitter for Websites widgets. Again, the documentation (previously at https://dev.twitter.com/web/overview/privacy) is now inaccessible, and it seems the tag is no longer respected.
---

    source:
    > XML-RPC pingbacks have been widely disabled by default due to their use in DDoS amplification attacks. Use Webmention instead.

    article:
    > They functioned somewhat similarly to how WebMentions do. Unfortunately, pingbacks rather quickly became an avenue for spam and SEO-gaming, so fell out of fashion. Vulnerabilities allowing sites to be tied up in DDoS attacks also became widely exploited.
graypegg··on Ambient CSS v3 – Blender meets CSS
UI greebling [0] is something I'm not looking forward to.

People always miss out the fact that older information-dense UIs were... information dense. We get this weird simulacrum of information density where the LLM has slapped on "every pod has a machine", a made-up PDU for pods with a watt rating somehow, and random status labels EVERYWHERE. All it's missing is the green circle "LIVE" label that every claude app seems to have...

[0] https://en.wikipedia.org/wiki/Greeble

graypegg··on Ambient CSS v3 – Blender meets CSS
Nitpick, but elevation would make much more sense if you assumed a base plane + set a perspective, and then translate3d'd upwards on the Z axis. It would grow the size of the element as well.

Saying that, probably annoying to work with transformed DOM nodes, but the background being the only thing moving in the "bounce" example just stood out to me as weird.

Also, the texures seem to be just gradients or embedded texture data. Was thinking this would use https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/V... and fall back to gradients/premade images for firefox.

graypegg··on Get your Windows license refund
What? I think you're latching onto something meant as a general example, as something specific. Microsoft has many goals they'd like to push on their OEMs, I'm sure. You're having a different conversation.
graypegg··on Get your Windows license refund
Asus selling millions of PCs a year that each pester their users to make a Microsoft account is well worth a major discount to them than any sort of additional OEM licensing revenue. Giving Asus cheap licenses lets them sell cheaper units to more people.

And yeah, Asus DOES need to sell windows laptops because the market demands it, but it doesn't mean they need to follow all of Microsoft's rules/goals. ("Pleeeeease put an NPU in every laptop and advertise copilot for us, pleeeease") Giving them a steep discount gives Microsoft a lever to pull if they feel like punishing an OEM later, though with the goal of avoiding anything that halts the sale of PCs with windows on it, which is bad for all parties.

You can't really model that on a supply/demand curve. Microsoft supplies Windows licenses, but Asus supplies a big chunk of market access. A license to software is an infinitely available resource which only has a value determined by the market's willingness to pay for it; a market that microsoft has historically been dogshit at accessing themselves. (Surface product line, for example)

graypegg··on Get your Windows license refund
I honestly would assume that’s a pretty honest price for an OEM license paid by a company as big as Asus, they definitely don’t pay retail!
graypegg··on GitHub Outage Tracker: Is GitHub Cooked?
Ahhh, I think the author mixed up two values here. That value seems to actually be the average over the past 3 months.

    const incidents = e.detail.incidents;
    
    // ...snip...
    
    const now = new Date();
    const threeMonthsAgo = new Date(now);
    threeMonthsAgo.setMonth(threeMonthsAgo.getMonth() - 3);
    
    // ...snip...
    
    var currentFreq = recentIncidents.length / 3; // <- We out here, smoking these guns with our homeboy Claude
    
    // ...snip...
    
    var earliest = null;
    for (var j = 0; j < incidents.length; j++) {
      var dd = new Date(incidents[j].started_at); // <- eventually incidents[j].started_at is "2016-03-01T07:07:37.000Z"
      if (!earliest || dd < earliest) earliest = dd;
    }
    
    // ...snip...
    
    document.getElementById('n-since').textContent = earliest
      ? earliest.toLocaleDateString('en-US', { month: 'long', year: 'numeric' })
      : '?';
    document.getElementById('n-rate').textContent = Math.round(currentFreq * 10) / 10;

#n-since is going to be either march or feburary. It'll change depending on your timezone because JS's Date object always shifts the date around to match the same instant but in the system's timezone.

#n-rate has nothing to do with the #n-since month, it's just the last trailing 3 months. And even then, it's sort of underbaked? It's moving the date back by 3 calendar months not taking into account differing numbers of days, so it'll under-report short months.

I wouldn't trust the stats here.

Edit: whoops, author updated the template while I was writing this! It now says "Over the last 3 months", though that's still calendar months.

Page 1 of 34Next →