Hacker Newsnew | past | comments | ask | show | jobs | submit | syhol's commentslogin

Great topic and message. But the AI-generated writing really gets under my skin. It's not painful. Not unclear. Just really annoying.


A great little expression I heard somewhere was 'AI;DR'. I find it grating to get through a text once I've lost the trust that the author wrote it themselves. When that trust is gone, how could I be sure that these are your ideas or just something an LLM said that you happen to agree with?


I can't help but wonder if we've already hit the point where real people now write like that because it's what they're exposed to day in and day out.

I have zero evidence to back this up but I'm convinced that autocorrect is what led to people pluralizing word's with apostrophe's. If we keep outsourcing how we express our ideas, how long until we no longer have any left?


Shifting baseline. In a year or two, people will tell you you're being silly, dismissive, or just an old timer for not liking AI writing.

Think of all the stuff that's happened with. How we get something new, it's kinda dumb, then within a year or two it's normalized to 60% of folks.


This is real. You are not imagining it.

Oh sorry. I cribbed that from the article itself.

> > This is real. You are not imagining it.


Its not just a movement, it's a message.


Let that sink in.


even the plain text version’s subheading gets under my skin for some reason

https://www.terrygodier.com/the-boring-internet/ascii

> You chose the quiet version. No animations. No scroll effects. Just words.


- Thunderbolt 3 is a superset of USB 3.1

- USB4 is built on Thunderbolt 3's protocol, implementing a subset of its mandatory features

- Thunderbolt 4 is a strict profile of USB4 (all optional features made mandatory)

- USB4 v2 introduced 80 Gbps signaling

- Thunderbolt 5 is a strict profile of USB4 v2 (again, optional features made mandatory)


https://pi.dev/ seems popular, whats not open source about opencode? The repo has an MIT License.


Been LOVING Pi so far!


Some people believe only copyleft licenses are open source. They're right on principle, wrong in (legal) practice.


They're not even right on principle: https://www.gnu.org/licenses/license-list.html

Even the FSF recognizes that non-copyleft licenses still follow the Freedoms, and therefore are still Free Software.


+1 for pi. I used claude and opencode but pi is the first agent tool that made me excited about the whole thing.


Maybe it's just my feeling. It asks to update/upgrade continuously.


It's completely open source, but is under heavy continual development (likely a lot of AI coding).

On launch, it checks for updates and autoupdates.


It doesn't auto update. Maybe you have an extension?



> Many popular tools are much more complex to install

I'm curious which dev tools you're using aren't installable with standard mise backends. 99% of dev tools I use don't require a plugin.

> (more painful than, say, an asdf plugin)

You can still use asdf plugins, I could use mise to install an asdf plugin right now with one line `mise use asdf:raimon49/asdf-hurl`. The mise registry is just a convenient list of aliases, even if it doesn't accept new asdf plugins, you don't need it to.

As Larry Wall said "make easy things easy and hard things possible"


There is a good chunk of overlap but mise predominately pulls from github releases artifacts/assets and pixi uses conda packages. While mise can use conda packages, the mise-conda backend is still experimental. I don't think github releases or conda packages are better than the other, they both have tradeoffs.

Pixi is very python focused, it's both a tool manager and a library dependency manager (see uv/pip). Mise considered library dependency an anti-goal for a long time, while I don't see that on the website anymore I haven't seen any movement to go into that space.


You start with the cleanest most minimal config you can get away with, but over the years you keep adding small additions and tweaks until it becomes a massive behemoth that only you will ever understand the reasoning behind.


Right, and then when you don't work on it for 6 or 12 months, you come back and find that now you don't understand it either.


Part of doing it well is adding comments as you add options. When I used vim, every line or block in the config had an accompanying comment explaining what it did, except if the config’s name was so obvious that a comment would just repeat it.


That's a good call. It's a big problem for JSON configs given pure JSON's strict no-comments policy. I like tools that let you use .js or better yet .ts files for config.


Or consider jsonc - json with comments - or jwcc - which is json with comments and trailing commas to make life a little easier.

https://jsonc.org/

https://nigeltao.github.io/blog/2021/json-with-commas-commen...

There are a lot of implementations of all of these, such as https://github.com/tailscale/hujson


I like this idea a lot, and pushed for json5 at a previous job, but I think there are a few snags:

- it's weird and unfamiliar, most people prefer plain JSON

- there are too many competing standards to choose from

- most existing tools just use plain JSON (sometimes with support for non-standard features, like tsconfig allowing trailing commas, but usually poorly documented and unreliable)

Much easier just to make the leap to .ts files, which are ergonomically better in almost every way anyway.


A lot of json parsers will permit comments even though it isn't meant to be valid. Worth trying it, see if a comment breaks the config, and if not then use comments and don't worry about it.


For reference, jq and python don't allow comments.



Tailscale's new aperture also solves this elegantly: https://aperture.tailscale.com/


But that's moving the whole LLM agent into the cloud, which creates its own difficulties. Not really a solution to the local secrets problem.


My gut reaction is to rush to the comments to shill my favourite task runner ( mise tasks[1], now with shell aliases[2]!) but pushing past that, the core idea of writing scripts in a file rather than a shell prompt is a great nugget of wisdom. But I disagree with this bit:

"I want to be clear here, I am not advocating writing “proper” scripts, just capturing your interactive, ad-hoc command to a persistent file."

What's the difference? Why not version control it, share it with colleagues. Imagine writing a unit test to test a new feature then deleting it when done, what a waste. Ok it's not exactly the same because you aren't using these scripts to catch regressions, but all of that useful learning and context can be reused.

I don't think the language you use for scripting is too important as long as the runtime is pinned and easily available on all engineers machines, perhaps using a toolchain manager like... mise[3].

[1] https://mise.jdx.dev/tasks/ [2] https://mise.jdx.dev/shell-aliases.html [3] https://mise.jdx.dev/dev-tools/


> What's the difference? Why not version control it,

Because I'm hardcoding directory paths.

Because I'm assuming things are set up a particular way: the way they are on my machine.

Because this is hardcoded to a particular workflow that I'm using here and now, and that's it.

Because I do not want to be responsible for it after no longer needing it.

Because I don't want to justify it.

Because I'm hard-coding things that shouldn't be checked in.

Because I don't want to be responsible for establishing the way we do things based on this script.


Do these scripts need to be productionised? I prefer working in an environment where efficient sharing of knowledge and solutions is encouraged, rather than framed as a burden of responsibility.

Given the choice between starting with an almost-working script or starting from scratch, I’ll take the former, it might save a few hours.

My colleagues and I don’t do this 100% of the time, but I never regret it and always appreciate it when others do.


Yeah, some of it can be solved as a simple naming convention thing. `_scripts/*.ts` for scripts that are "reproduceable" and/or production-ready and `_scripts/scratch/*.ts` or `_scripts/${username}/*.ts` for scripts that are piecemeal or work-in-progress or user-specific or otherwise "throwaway". Or a graduation process such as where things in `_scripts/` are considered "throwaway" until added to and documented in a larger production task runner like adding them to the "tasks" section of a deno.json file. (They graduate from being shebang run to `deno task taskname` run. They get basic documentation in the `deno task` list and various IDE integrations of such.)

The major thing to be concerned about there is leaking things like hard-coded secrets and that's where something like .env files can come in handy and knowing your tools to make use of them. Deno (as the running example) makes using .env files easy enough by adding the `--env` flag to your `deno run` shebang/task-line and then using `Deno.env` like any other environment variable. (Then don't forget to .gitignore your .env files.)


I don't understand this bit either, unless "proper" means Bash. Because no one should ever write Bash under any circumstances.


[flagged]


Heh, honestly I'm kind of touched that you went to that effort.

Obviously I was using hyperbole. But I can say for sure that my life as a developer and second-rate sysadmin improved when I adopted as policy that I would never ever write any Bash script. Not even for a supposed one-liner, since I could just write that in ZX and avoid any temptation to write (and badly maintain) a Bash script.

    import { $ } from 'zx'
    await $`echo my one liner`


My main problem with matrix is that it feels sluggish. I'm told the experience can be improved by running your own homeserver so I'll be trying that sometime this year.


In my limited experience, running a homeserver sucked. Really hard to do on limited resources. Then again, that was a long time ago so maybe things have improved and perhaps Dendrite has come along. But Synapse sucked to run IME.


Synapse has improved; Dendrite has stagnated due to lack of funding; meanwhile there are also rust-native homeservers like Conduit which are beta but smaller footprint. The plan on the Element side is to keep optimising Synapse - the main win to be had is https://docs.google.com/presentation/d/1pKtLl4vCV3-8xz8crvxW...


Those slides were interesting! And I use Claude similarly... kinda like Rubber Duck debugging except it's like Rubber Human debugging.


LOL if using a chat app requires running a server maybe better just use something that doesn't suck like XMPP?


I am vaguely reminded of running my own irc bouncer...


Mise started out using the same plugins as asdf, mostly focused on adding performance and usability improvements. Over time it added more features and security.

Most tools are now directly fetched from github releases without the need for random shell scripts (which is what asdf plugins are).

It also grew to be a task runner and environment manager. At first you might think this is scope creep but they're both opt in and very elegant additions. I don't want to ramble but let's just say they've solved real problems I've had.

I'm a fan of it, and I can't think of a reason why I would use asdf over mise. Its real competition is nix (+devbox/devenv/flox), devcontainers, and pixi.


I will check it out! Thanks for the explanation! Sounds really neat


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: