HNHacker News
TopNewBestAskShowJobs

iansinnott

850 karma · joined June 11, 2013

GH: https://github.com/iansinnott

YT: https://www.youtube.com/@iansinnott

Blog: https://notes.iansinnott.com

Feel free to message me via the above links or at ian@<my domain>.

submissionscomments
iansinnott··on A ChatGPT mistake cost us $10k
Why migrate to a new language? I didn't see it mentioned in the post. Seems like they already had a working solution.
iansinnott··on Please support "skip to main content" on your docs site
You can do better than the Tab key when navigating a site via keyboard. Install a plugin that creates hotkeys for most actions on a site. I'm thinking of Vimium [1] but I'd guess there are others too.

[1]: https://github.com/philc/vimium

iansinnott··on The accidental tyranny of user interfaces
Ad-based business models will lead to UIs that force you to do things. There's not much to say here other than not to use those services, if possible.

Ideally UIs and services (APIs) would be separate, so you could choose the interface that's best for you. This is a pipe dream though.

Failing that, users paying for software directly is a step in the right direction. For example, Kagi and Linear are both excellent software (IMO).

iansinnott··on The push to ban ransom payments is gaining momentum
The idea would be to reduce the likelihood of a payout.
iansinnott··on Amber: Programming language compiled to Bash
Odd that (on desktop) the actual install URL is obscured by a gradient.
iansinnott··on Take a look at Traefik, even if you don't use containers
> Traefik is more comparable to HAProxy than to nginx/caddy/apache2

Aren't caddy and traefik fairly comparable? I've only used them both lightly so I may be missing the core point of each, but I thought of them as very similar.

iansinnott··on HonoJS: Small, simple, and ultrafast web framework for the Edges
Have used this a bit on personal projects. Being runtime agnostic was the selling point for me. Wanted to try Bun as the runtime but not use APIs that are Bun specific, in case I ran into issues and had to move to Node.
iansinnott··on Cory Doctorow on Kagi Search
> I've basically stopped using Google search altogether.

This. As a portion of the global market I suspect Kagi's userbase is tiny, but the fact that it has become an actual viable alternative makes me hopeful for a resurgence in paid B2C services.

iansinnott··on Ask HN: What is your approach for managing personal digital assets?
I've faced (and am still facing) this problem as well. I don't think there's a good single solution, especially for finding specific photos.

My current imperfect approach is to use Raycast / Alfred as a meta search tool to find things in various places. It doesn't unify things but it makes searching multiple places low friction.

Some specific tools, in case it helps.

- invoices, contracts, etc. go into paperless-ngx. Physical documents get scanned in.

- miscellaneous or unorganized documents into Nextcloud

- custom solution for searching text messages

- no solution whatsoever for images. I think semantic image search might do the job, although I haven't explored what tools exist for that.

Edit: formatting

iansinnott··on Optimize CSS with SAT Solving
Check out: https://github.com/uncss/uncss

I've only used it once but it did the job (NOTE: Plain HTML, plain CSS, no build pipeline. So YMMV)

iansinnott··on Ask HN: If you could spend $100k to get healthy and fit, how would you do it?
While you can't buy discipline you can buy accountability, which is very powerful for affecting change.

Given your budget you can hire a trainer for every session. A good trainer won't just tell you what to do but will also help track that you're doing it. It's only a partial solution, but it's a start.

I'd also suggest tracking more bio metrics so you get a sense of progress before you see it in the mirror, which can take a while.

Some related reading from a few years ago -- A millionaire seeing how far they can get by throwing money at the problem: https://medium.com/hackernoon/im-32-and-spent-200k-on-biohac...

iansinnott··on Show HN: My AI writing assistant for Chinese
This is great. Foreign-language practice definitely seems like a great use case for LLMs. I'm surprised it understood your “你 dei tie ..." example, since "tie" is also valid pinyin.
iansinnott··on Don't fuck with paste
100% in agreement with regaining paste. Another workaround is to create a macro that will "type" the clipboard contents, simulating typing it out by hand.

On macOS you can do this via Keyboard Maestro [1]. Create a macro with the action "Insert text by typing" and for the text to insert use `%PastClipboard%0%`.

Yes, very niche, but I'm sure some HN users already use Keyboard Maestro.

[1]: https://www.keyboardmaestro.com/main/

iansinnott··on Interesting ideas in Observable Framework
Fair point, I hadn't made the distinction in my mind. Perhaps that resolves my previous qualms.
iansinnott··on Interesting ideas in Observable Framework
100%. Was never able to get past the fact that it's slightly just not quite actual JS. Close enough to the base language that it seems they could have easily used JS, probably with some additional APIs for showing graphics.
iansinnott··on Esperanto, Toki Pona, Swahili, Indonesian
> But for me, still, the language with the greatest unlocking power is clearly Mandarin Chinese

Chinese has really excellent grammar. No conjugation, no tenses, no words that change with gender.

(All the rest of it is hard though, at least for an English speaker)

iansinnott··on Show HN: I made an app to use local AI as daily driver
Fair point, and it's not implemented that way currently. It's more like "custom instructions" but thanks for pointing that out. I haven't used multiple system prompts in the OpenAI playground either, so I hadn't given it much thought.
iansinnott··on Show HN: I made an app to use local AI as daily driver
You can update the system prompt in the settings. Admittedly this is not mentioned in the README, but is customizable.
iansinnott··on Show HN: I made an app to use local AI as daily driver
You could try out Prompta [1], which I made for this use case. Initially created to use OpenAI as a desktop app, but can use any compatible API including Ollama if you want local completions.

[1]: https://github.com/iansinnott/prompta

iansinnott··on Readability.js
Excellent library. This is what i'm using to build a full text index of every website I visit [1]. It doesn't work perfectly, but well enough.

[1]: https://github.com/iansinnott/full-text-tabs-forever

iansinnott··on Readability.js
I seem to remember it can be run with JSDom rather than a real DOM. I've never tried with CF workers specifically though.
iansinnott··on PGlite – Postgres in WASM
No one using postgres in the cloud is going to use this as an alternative, but there are at least two use cases where this could be very useful:

- You want your app to be local first (snappy, great offline support, etc) but sync data to a server. This is the ElectricSQL use case.

- You want a serious data store in-browser. SQLite via wasm already fits this use case, but it's nice to have options.

iansinnott··on Go run
> what happens if you want to use modern syntax like esmodule, or maybe you want to use types with typescript? You are going to have to use npm.

Shout out out to Bun (and Deno too?) for allowing you to treat typescript as an interpreted language. Great for scripting with all the bells and whistles.

(Go is great, just pointing out that running TS does not actually require NPM anymore)

iansinnott··on So You Want to Ship a Command-Line Tool for macOS (2022)
At a past job the team had a custom CLI tool to manage all sorts of dev tooling. Worked great, highly recommended.

The distribution mechanism was to build from source[]. Once compiled, all other dev tasks were handled by the tool.

If you compile it yourself you don't run into any of these issues. This approach is only viable for developer tools of course, but that's what the post is about.

[]: This was a Go project, so building from source was relatively straight forward.

iansinnott··on Show HN: Reor – An AI note-taking app that runs models locally
Not OP but Obsidian (as mentioned) and Logseq are both good options.
iansinnott··on Panda CSS: build time and type-safe CSS-in-JS
Agreed that grid styling works better in plain CSS, but that's often only a small amount of the CSS a site needs in my experience. You can write grid in a normal class and then write all your other styles inline via classes.

Best of both worlds IMO.

iansinnott··on Panda CSS: build time and type-safe CSS-in-JS
There's definitely a subjective element to authoring CSS, so I'm glad people have options.

That being said, one of the things Tailwind got right is that it's even faster to type out than normal CSS _or_ JS objects.

When you know what you want from Tailwind you write it and see it very quickly. Subjectively, there would have to be some very strong benefits to get me to go back to writing plain CSS rather than a bunch of class names.

iansinnott··on Browser extensions are underrated: the promise of hackable software (2019)
> Customizability is important enough that it may be worth prioritizing it over security in some cases.

100% this. It should at least be acknowledged that "security" often means less options for the user.

iansinnott··on Browser extensions are underrated: the promise of hackable software (2019)
Entirely agree, although as a developer the auto updating is definitely a feature. Since it lets you assume users are all on the same version.

It is definitely a risk for users though.

You can also "opt out" of automatic updates, but the process is a bit involved.

1. Locate the extension on disk

2. Copy it to some other location

3. Add it as a developer extension via the "Load unpacked" button in the extensions screen.

I would also advocate for extensions being open source, but of course most of them are not.

iansinnott··on An Introduction to the WARC File (2021)
A bit of a late response, but yes I've been storing full text of every website I visit and it's excellent for finding stuff again.

The idea is to index pages as you visit them using a browser extension, thus avoiding all the pitfalls of being treated like a bot.

Here's the project: https://github.com/iansinnott/full-text-tabs-forever

← PreviousPage 2 of 6Next →