• 3 Posts
  • 2.06K Comments
Joined 3 years ago
cake
Cake day: June 30th, 2023

help-circle

  • Discord is going to be the age-verification-service for gaming, if they can get laws to follow fast enough.
    They have the gaming community, they have chats/friends/DMs/VoIP.
    If they release a dev toolkit that implements in-game chat, in-game VoIP, friends list and age verification… All while not being tied to steam? Imagine if they offered a system for in-game purchases and gifting purchases to friends (oh yeh https://gam3s.gg/news/discord-adds-in-app-purchases-for-in-game-items/ )
    They are positioning themselves to offer a huge range of features, easy navigation of legal minefields, and no distribution-platform tie-in - while also offering out-of-game functionality of all of that (likely leading to player retention for games that leverage it properly).

    They are positioning themselves to be a market-leader/industry-standard for game social networks. Everyone that has ever used discord is the product they are selling, and they are now releasing the features and tools for companies to leverage that.




  • I think this is the a major step in discords plan to be a service to games (ie business-to-business).
    They are positioning themselves to be an age-verifying platform for games, alongside in-game chat, in-game VoIP, in-game store and game community.

    At some point, games are going to have to require age verification. It’s just the way the “protect the children” bullshit is going (instead of “enable the parents to raise their kids”, which is far to socialist and progressive) Or game shops will. But if you don’t sell your game, that bypasses game shops. And if cracks can bypass purchasing, then… It’s on the game to comply with laws.
    If there is in-game chat: needs age verification.
    If there is in-game voip: needs age verification.

    At some point, discord is going to roll out this massive suite of dev tooling that “just works” for devs creating multiplayer games with voip, chat, in-game purchases, gifting in-game purchases to friends, friends lists, out-of-game chat, game communities etc. while also offering age verification.
    It already does a lot of that.
    They are getting ahead of the age verification laws so they offer a very simple path for developers to “just pay discord” to skip a HUGE legal minefield, and get a bunch of functionality for whatever cut discord decides .









  • Does Canada have local manufacturing of good EVs?

    Assuming Canada doesn’t want American trash (seems like the prevalent opinion) the next option is European vehicles.

    And I dunno that Canada yet has a favourable trade relationship for EU cars, so why shouldn’t they get some Chinese import cars?
    I haven’t heard anything actually bad about them except “cheap”.
    Probably some tracking and privacy issues, but it seems like all companies do that so who the duck cares?!

    To be clear, I live in the UK. I am very much local first, closer to home the better, never American.


  • Git. Git git git.
    If it is text and can be modified from multiple places, should have a single “main” branch and feature work done independently on separate “branches”. Or even just a “back this up”.
    Git.

    Git is text based version control (tho it will do binary file, just not elegantly).

    So yeh, git.
    GitHub is easy to host on, but owned by Microsoft and is somewhat proprietary (by the time issues and other enhancements GitHub provides), but at the end of the day it is git with authentication and is on the ol “cloud”.
    Plenty of ways to replicate this if it’s just for you



  • I haven’t experienced “2 or 3 prompts later” regression.
    I have found asking it to queue changes until I ask for it to work on the queue.
    Maybe ask it to produce a single file for review, or tell it how to modify a file (and why, it likes an explanation).
    But always stack up changes, ask it to review it’s queue of changes etc.
    Then ask it to do it in a one-er.
    Although, this is the first time claude said such a request will take a long time (instead of showing it’s working/thinking and doing it is 20 minutes).
    Maybe this is when it starts forgetting why it did things.


  • Probably not relevant to the article, I had to rant. I’m drunk, and suffering!

    I’m trying the old vibe coding, except with actual specs. I feel like I have to. I hate it.

    I think refining the spec/prompt with Claude makes sense. I found it helped me crystallise my spec and highlight gaps & pitfalls.
    At which point, I should’ve just coded it.
    I’d have known what it does, and it would be exactly what I needed.
    But I figured I’d see what Claude could do.

    So, my “dev->staging->prod” (project isn’t in production state yet, thought it would be good to try AI on something) database migration system with a planning, apply and rollback stage was built by Claude.
    There are system tables that should migrate fully (but allow for review if they are structurally different) and there are data tables that should only alter schema (not affect data). It’s decently complex that it would take me a week or so to write and generate, but maybe I can spend a day or 2 writing a spec and seeing what clause can do.

    It wanted to use python, and told me that migra is outdated and tried to generate something that would do it all.
    I told it to use results (the migra replacement), and after convincing it that results was the actual library name and that it can produce schema differences (and telling it that it is a different API than migra cause it tried to use it as if it was migra, and… So much wasted time!), I finally got working code. And all the logs and CLI etc resulted in SUCCESS messages.
    Except that tables are named like “helloThere” were ignored by it, cause it hadn’t considered tables might have uppercase. So I got it to fix that. And it’s working code.

    It looks nicely complex with sensible file names.
    Looking at the code: there are no single responsibilities, no extensibility. It’s actually a fucking mess. Variables sent all over the place, things that should be in the current command context being randomly generated, config hard coded, randomly importing a function from another file (and literally the only place that other function is used) because… I don’t know.
    It’s just a bunch functions that does stuff, named be impressive, in files that are named impressively (ignoring the content). And maybe there are context related functions in the same file, or maybe there are “just does something that sounds similar” functions.

    The logging?
    Swallows actual errors, and gives an expected error messaged. I just want actual errors!

    It’s hard to analyse the code. It’s not that it doesn’t make sense from a single entry point. It’s more that “what does this function do” doesn’t make sense in isolation.
    “Where else might this be a problem” has to go to Claude, cause like fuck could I find it it’s probably in a functionally similar function with a slightly different name and parameters or some bullshit.

    If I didn’t know better, and looked at similar GitHub projects … Yeh, it seems appropriate.

    It is absolutely “manager pleasing complexity”.
    But it does work, after telling it how to fix basic library issues.

    Now that it works, I’m getting Claude to refactor it into something hopefully more “make sure functions are relevant to the class they are in” kinda thing. I have low expectations

    I don’t EVER want to have to maintain or extend Claude generated code.
    I have felt that all the way through this experiment.
    It looks right. It might actually work. But it isn’t maintainable.
    I’m gonna try and get it to be maintainable. There has to be a way.
    Maybe my initial 4-page spec accidentally said “then randomise function location”.

    I’m gonna try Claude for other bits and pieces.
    Maybe I’ll draw some inspiration from this migration project that Claude wrote (if I can find all the bits) and refactor it into something maintainable (now that I have reference implementations that seems to work, no matter how convolutedly spread they are)



  • If the snowman was build on the road, the driver is at fault for driving carelessly, not paying attention.
    Nobody else was hurt. Nobody else’s property was damaged. There is no one to be held liable.

    This guy drove into a snowman, regardless of where it was.
    A static object that only moves in Christmas music.

    If it was a snowbank, same deal.
    If it was a parked car, same deal.
    If it was a fallen telephone/power pole, same deal.
    If it was a pile of cinderblocks that fell off the back of a truck, same deal.

    The guy either wasn’t paying attention, or was being an asshole.
    Either way, driving carelessly. Asshole is at fault