HNHacker News
TopNewBestAskShowJobs

frio

1,538 karma · joined June 22, 2009

submissionscomments
frio··on Zed 1.0
I also disliked that and discovered you can toggle it with config now :).
frio··on Zed 1.0
I use the television task described here (https://zed.dev/blog/hidden-gems-part-2) for that experience :)
frio··on Got an Old Kindle? It Might Not Work Anymore
If you want an e-ink type screen, the Supernotes (or Remarkables, or Viwoods) are all very good at this. Personally I hate trying to read things on iPads.
frio··on jj – the CLI for Jujutsu
> A good way to think of it is that jj new is an empty git staging area. There's still a `jj commit` command that allows you to desc then jj new.

This always made me feel uncomfy using `jj`. Something that I didn't realise for a while is that `jj` automatically cleans up/garbage collects empty commits. I don't write as much code as I used to, but I still have to interact with, debug and test our product a _lot_ in order to support other engineers, so my workflow was effectively:

    git checkout master
    git fetch
    git rebase # can be just git pull but I've always preferred doing this independently
    _work_/investigate
    git checkout HEAD ./the-project # cleanup the things I changed while investigating
```

Running `jj new master@origin` felt odd because I was creating a commit, but... when I realised that those commits don't last, things felt better. When I then realised that if I made a change or two while investigating, that these were basically stashed for free, it actually improved my workflow. I don't often have to go back to them, but knowing that they're there has been nice!

frio··on Your phone is an entire computer
> All of our expectations for control over our phones are completely out of whack compared to other computers.

I would, sadly, challenge this. If anything, our desktops and laptops are the exception now. Phones, TVs, game consoles, set top boxes, cars, Amazon echos, ebook readers, tablets, security cameras, autonomous devices like vacuum cleaners — when I think of the myriad devices we interact with that have a computer in them, they are all as stringently locked down as possible.

frio··on Qatar helium shutdown puts chip supply chain on a two-week clock
Nuclear fusion?
frio··on Agents that run while I sleep
“PHP was so easy and fast that they’ve built such a successful startup they now have scaling problems” is, as far as I can tell, an endorsement of PHP and not a criticism of it.
frio··on Ask HN: How do you safely give LLMs SSH/DB access?
I do wonder if LLMs will see tools like immudb (https://immudb.io/) or Datomic (https://www.datomic.com/) receive a bit more attention. The capacity to easily rollback the state to a previous immutably preserved state has always seemed like a fantastic addition to databases to me, but in the era of LLMs, even more important.
frio··on Deno has made its PyPI distribution official
It would be pretty magical if this simplifies bundling static assets in Python applications, letting us avoid independently installing and running the Node toolchain.
frio··on Brave overhauled its Rust adblock engine with FlatBuffers, cutting memory 75%
No. They’re only installed if you git clone react and npm install inside your clone.

They are only installed for the topmost package (the one you are working on), npm does not recurse through all your dependencies and install their devDependencies.

frio··on Show HN: Agentastic.dev is Ghostty and Git worktrees = multi-agent CC/Codex IDE
The use case is making them work on distinct tasks in parallel — just like an organisations developers each have (traditionally) their own laptop with its own isolated environment. So that I can say to agent 1 “clean up the unit tests in the payments module” and I can say to agent 2 “implement a simple client for Mailchip so that we can migrate off Sendgrid” and the two can work independently.

Note that I don’t work like this personally — I quickly get overwhelmed by the volume of context switching — but I can absolutely see the appeal; particularly for smaller shops.

frio··on AI is forcing us to write good code
Yeah, this is something I'd like more of outside of Agentic environments; in particular for working in parallel on multiple topics when there are long-running tasks to deal with (eg. running slow tests or a bisect against a checked out branch -- leaving that in worktree 1 while writing new code in worktree 2).

I use devenv.sh to give me quick setup of individual environments, but I'm spending a bit of my break trying to extend that (and its processes) to easily run inside containers that I can attach Zed/VSCode remoting to.

It strikes me that (as the article points out) this would also be useful for using Agents a bit more safely, but as a regular old human it'd also be useful.

frio··on AI is forcing us to write good code
A TypeScript test suite that offers 100% coverage of "hundreds of thousands" of lines of code in under 1 second doesn't pass the sniff test.
frio··on Unifi Travel Router
You don't need to get too far down the page to see "VPN", which is what it is. But on top of that primitive, it's also a bunch of software and networking niceties.
frio··on Vibe coding creates fatigue?
This is far and away the biggest problem I have atm. Engineers blowing through an incredible amount of work in a short time, but when an inevitable bug bubbles up (which would happen without AI!), there's noone to question. "Hey, you changed the way transactionality was handled here, and that's made a really weird race condition happen. Why did you change it? What edge case were you trying to handle?" -- "I don't know, the AI did it". This makes chasing things down exponentially harder.

This has always been a problem in software engineering; of course -- sometimes staff have left, so you have to dig through tickets, related commits and documentation to intuit intent. But I think it's going to make for very weird drags on productivity in _new_ code that may not counter the acceleration LLMs provide, but will certainly exist.

frio··on “Super secure” messaging app leaks everyone's phone number
It's intent of action vs. actual action.

Elon may not be _intending_ to pay foreigners to cosplay as patriotic Americans.

However, X pays people based on engagement. A number of people outside the USA have figured out that if they post outrageous shit to Americans, they get engagement -- and therefore earn money. So in fact, Elon _is_ paying foreigners to cosplay as Americans, but it might not have been what he meant to do.

frio··on Jujutsu worktrees are convenient (2024)
Thanks, I'll try that :). Despite the fact that I've worked my way back to `git` for my mainline work, I've still got some repos that I've left jj live in to keep picking away at it.
frio··on Jujutsu worktrees are convenient (2024)
I kind of don't get this comment. Isn't the `jj` default behaviour effectively `git commit --all`? There's no staging area -- and I personally find `git add` or `git add -p` a better UI than `jj commit -i`.

Meanwhile, there are git tools that solve the above three problems. My organisation uses `git-spice` (https://abhinav.github.io/git-spice/) which tightly integrates with Github to give you stacked PRs, editing of branches and management of your stacks in Github.

I've been trying jj for a while now because Steve Klabnik heavily recommended it, and so far it hasn't clicked in as nicely as my existing git setup.

frio··on Django 6
I'm not sure why people aren't saying Spring Boot, but Spring Boot. Yeah it has heaps of other batteries included, and it doesn't have a built-in admin, but it gives you pretty decent stuff out of the box
frio··on Perkeep – Personal storage system for life
I use `tsnet` and `tsidp` heavily to safely expose a bunch of services to my client devices, they've been instrumental for my little self-hosted cloud of services. Thanks for building `tsidp` (and Perkeep!) :).
frio··on Perkeep – Personal storage system for life
I've been similarly half-interested in it for... more than a decade now. The new release (which is what I assume prompted this post) looks pretty impressive (https://github.com/perkeep/perkeep/releases/tag/v0.12).
frio··on What happened to Apple's legendary attention to detail?
I don't see how it's Apple's choice?

Google sells PiP, background playing etc. as part of YouTube Premium (not Apple!). Google serves browser clients a player that can't do those things, because they want you to pay for them. Vinegar is a browser extension that replaces Google's player with Apple's plain HTML5 player. Apple's plain HTML5 player does all that stuff for free.

frio··on What happened to Apple's legendary attention to detail?
The YouTube thing is Google's choice, not Apple's, as those are "premium" features. Install Vinegar (https://apps.apple.com/us/app/vinegar-tube-cleaner/id1591303...) to get a standard HTML5 player in YouTube, which will let you make it full screen, PiP it, background it, whatever.

I dislike the new Safari layout in iOS 26 too. https://support.apple.com/en-nz/guide/iphone/ipha9ffea1a3/io... -- change it from "compact" to "bottom". I assume this choice will disappear in the future, but for now, you can make it more familiar.

Unfortunately, I don't have any advice for the Clock/Alarm; I don't typically schedule one-off future alarms. That would be a useful feature.

frio··on Django 6.0 beta 1 released
In `pyproject.toml`:

    "django-stubs>=5.2",
    "django-stubs-ext>=5.2.2",
In `settings.py`, add:

    import django_stubs_ext

    django_stubs_ext.monkeypatch()

With that, it seems _mostly_ OK, though I had to toggle off some of basedpyright's typechecking.
frio··on Django 6.0 beta 1 released
This is neat, thanks :)
frio··on Django 6.0 beta 1 released
I love Django, and the new `tasks` framework to replace `celery` (/whatever processor you prefer) looks great.

I've only recently come back to it, and I do hope they continue to add more batteries to their "batteries included" framework over time. I was surprised just how much stuff I had to add to my little project that will require updating _outside_ the main framework, eg.:

* django-components for little template partials (I'm not sure the new partials feature is robust enough to replace this)

* django-(configurator,split-settings,pick-your-poison-here) for more robust settings management

* structlog for much better logging (feels like this should get baked into Python's stdlib...)

* debug-toolbar

* dj-database-url for parsing database URLs (should be baked in!)

* django-money

There's plenty of other deps that are less annoying/surprising (eg. Sentry, granian, Tailwind), but the set above feel like more or less like they should be baked in, and (to my mind) don't represent an inordinate amount of work to adopt.

Other than that, it's been a real pleasure coming back to it, and I'm excited for its continuation.

EDIT -- oh, and built-in static types, stubs and stubs-ext were a bit of a nightmare to get working well.

frio··on Amid cuts to basic research, New Zealand scraps all support for social sciences
I’m on my phone right now and getting search engines to limit their time frame in a mobile UI is tiresome, so I’ll do that when I’m back at a computer :) (but the core thing to do is compare projected budget under the previous govt and actual budget under this govt). Both of those numbers above are post-new budget. The budgeted “increase” in healthcare was less than the increases in population and inflation. It gets worse when we add in the fact that NZ has an aging population with requisite cost increases. This govt gave us tax cuts and restored billions of dollars in tax rebate for landlords which decreased the spending pool available for things like healthcare.
frio··on Amid cuts to basic research, New Zealand scraps all support for social sciences
It’s likely a future left-wing government will reintroduce these funds. The problem is the ratcheting effect: it takes no time at all to destroy something like this. Society reacts; people leave, people retrain, we lose the ability to do the thing we used to do. Then, a new government arrives and we rehire into these positions: it takes a lot more money to find people, attract them back to the country, get their programs established… and then the next government arrives and says “wow this is inefficient” and cans it again.

NZ in general is starting to suffer from the swings in partisan politics, despite our MMP system. Similar problems happen with bread and butter infrastructure projects.

frio··on Amid cuts to basic research, New Zealand scraps all support for social sciences
This government arrived on a promise of “fixing” our financial problems. A lot of these shortfalls have been artificially created; as an example, our healthcare sector went from breaking even to being “hundreds of millions” in deficit after the budget was massaged. That created the “crisis” that let them fire the board in charge and appoint a commissioner who has been aggressively slashing public services in order to meet the new budget. The reduction in service is driving growth in the private insurance sector.

Science is in a similar position. The shortfalls they’re talking about now are shortfalls they created last year and left to rot so they could have a crisis now.

It’s cynical and depressing.

frio··on Dependency management fatigue, or why I ditched React for Go+HTMX+Templ
Sure, but the framework cares about that for me. I don’t use rails personally but that’s the whole point — someone upstream of me is paying attention and making everything work together.

In contrast, I have work apps made in React that need regular piecemeal updating — routers, form libraries, query managers, CSS — because we’ve chosen to cobble that together ourselves. That’s fine, that’s the path we chose knowingly when we picked the tech we picked, but the point isn’t that frameworks don’t have dependencies — it’s that they take on more of the burden of managing them for you.

← PreviousPage 2 of 17Next →