• 2 Posts
  • 251 Comments
Joined 2 years ago
cake
Cake day: March 3rd, 2024

help-circle
  • people have tried.

    people predicted the enshittification of GitHub as soon as the acquisition was announced, as you can imagine. now, picture yourself as a dev in that month where a small vocal userbase is reading tea leaves based on Microsoft’s past behavior telling you to move your project, where the best outcome is nothing changes, to a new platform. you have a hundred issues and a dozen PRs in review, and those won’t stop coming in while you are migrating. now you need to mirror your project on GitHub, unless you want to immediately fade into obscurity, because while you’re spending your valuable time making sure everything is setup as it was but now on GitLab (the only realistic alt at the time), issues and PRs are still coming in, and you have to keep your releases updated in GitHub for a while during the migration. you also need to figure out CI/CD on your new platform.

    so the ideal—that you can migrate and nothing changes—is a pipe dream. your packaging is now likely totally different; you’re now that snowflake project in the config where i had to figure out how to point to something other than GitHub and waste 30min questioning whether i need your tool at all. you still continue to get PRs and issues through GitHub because of course they didn’t read the README. and there’s tiny friction everywhere. the UI is different, how OAuth is handled is different, the plug and play you got from GitHub Actions is gone, etc etc.

    meanwhile for 6 years things are chugging along fine at GitHub: Actions is getting better, Treesitter support, better UI for PRs.

    it’s the AI stuff that’s ruining GitHub no doubt. not the AI itself but the culture around it with the “what is our team doing with AI?” nonsense corporate policy. it’s all happened really quickly, and isn’t the “boiled frog” scenario at all really.

    Linux was around before GitHub, and wherever we end up as long as we still have our Unix tools like git it’ll be fine.

    ideals are great. the perfect is the enemy of the good



  • i have a VPS offsite to act as a gateway. it’s just a small piece of a machine somewhere in my region that routes requests to my home network via Tailscale. this has a few benefits:

    • i don’t have to worry about my ISP changing my IP. my VPS has more stable IPs.
    • i don’t have to expose ports directly to the internet. Tailscale authenticates the connection. plus i have Caddy routing the whole system. i use subdomains like foundry.chrash.net, jellyfin.chrash.net, etc.
    • another benefit of Tailscale to point out is that you don’t need local IPs to be static either; Tailscale will allow you to access your machines by hostname or another static IP. this helps to decouple your local topology from your service network.



  • i use Nushell for this! works with JSON, YAML, TOML, markdown, Polars Dataframes, SQLite, and a bunch of others including builtin parsing tools for whatever formats and a plugin ecosystem. i use it at work and for personal projects as my main shell, and it’s super handy for exploring, unpacking, sorting, and visualizing all sorts of data. i use it to:

    • find specific parts of YAML cloud configs
    • visualize JSON logs, including a parser that restructures journalctl logs.
    • _re_structure data from CLIs to work with them as structured: git logs, Unix coreutils, etc
    • script my environment: common kubectl queries, specific web API helpers, building and running and testing applications, etc

    it is a slight learning curve, and technically you could do all of that with bash or zsh and jq or jc, but i appreciate the modern take on your base shell terminal env.

    it’s replaced both Python and Bash for me.


  • i dunno if “realism” is an argument here. you’re talking about a specific market segment targeting a specific hardware configuration and distribution medium. developers still have the choice to target Nintendo or Sony hardware, to sell physical copies or codes through Walmart, Amazon, Target, Gamestop, your local game store, etc, to sell via mobile platforms like iOS or Android, etc etc.

    honestly, if i sat here and listed them all out it would be an enormous comment.

    i do see how Valve has a hegemony over a big part of the market, but they haven’t been anticompetitive or tried to push anyone out or buy up competition. at least that’s not what’s being claimed, as far as i can tell. Epic’s lawsuits against Apple and Google don’t even apply cuz you can install friggin Windows on their hardware if you had some sort of mental illness.




  • the problem is that MCP isn’t really solving a problem that can’t be solved with existing technology. it’s actually infuriating that access to resources is hidden behind this silly new protocol for agents only as if just giving me API access, which is already well-understood and supported, is insecure or traffic heavy.

    plus, the gold rush at my company of adding an MCP server to every resource has turned into a graveyard of wasted effort and abandoned projects.



  • i always hated the web as a programmer. i couldn’t put my finger on it as a junior Android dev. now i’m a cloud engineer doing federated GraphQL at a huge corporation, and i know exactly why i hate it. HTTP sucks. HTML sucks. CSS sucks. JavaScript sucks. the web is jank and designed to leak information about you. you have to be pretty obtuse to say that any website operates as smoothly and seamlessly as any decent native app, unless it’s the “This is a Fucking Website” design with no modern features or JavaScript. sure, there’s a mountain of RFCs around these protocols, but not even Chromium follows them all to the letter. documentation has always been a desperate way to enforce protocols. i’ve always been interested in alternative protocols, but this has finally inspired me to give Gemini a go in my off time.

    but i’ve been more interested in data passing than application distribution (ie HTML/CSS/JS). i’m curious to see what these protocols offer beyond yet another markup format. maybe a better object format than friggin JSON? 🙏



  • my point is that we’ve just internalized this as normal. that it seems like such an insurmountable chore to even go on a bike ride or hike or maintain a garden or building project is sad to me as well. i grew up in a culture that absolutely hated any form of exercise, and i watched a lot of people live absolutely miserable, short lives because of it. i’ve put a ton of effort into rejecting that lifestyle, and i recognize that as a privilege.

    i don’t think it’s so natural for beings to optimize their effort to zero. dogs will chew through cages or self harm. and i’ve seen humans who, without stimulus, will act similarly.




  • my problem with JetBrains products is not really quality. generally, i think they’ve done a good job with Kotlin, Compose, and keeping IntelliJ modern and reasonably stable, given it’s a pretty old legacy product (built on Swing of all GUI toolkits). my problem is the vendor lockin. Kotlin in Jupyter notebooks is great; it’s paywalled. Compose Multiplatform is probably the best cross platform GUI toolkit; most of the tools are paywalled. when i was an Android developer it was basically developer due diligence to have an IntelliJ Ultimate subscription, but as an individual it’s hard to justify a pricey subscription for side projects. Kotlin is a brilliantly pragmatic language, but the fact they don’t support LSP comes off as stubborn walled garden behavior that makes me nervous about the company.