HN user

craigds

1,106 karma

Software Engineer @ Koordinates in New Zealand

github.com/craigds koordinates.com

Posts10
Comments235
View on HN
STFU 6 months ago

i like to sing "geeettt outt of the biiiiike laaaannne!" as loud as possible with my big fat tenor voice as i ride past them ringing my bell repeatedly the entire time. a single bell ring never seems to get anyone's attention

this reminds me of one of my favourite features of Buildkite. When you're waiting on the outcome of a build you can click a button in Canvas mode and it'll play a tune to accompany the build. As soon as the build is done, the music stops.

is really well thought out - means I can turn the volume up and go do the dishes in the next room and be notified when I should return. Much more useful than a browser notification

what's absurd? i haven't claimed it's not capable of this, just that the predictions seem more tailored to elicit a certain recognition from humans rather than chosen based on an honest attempt to predict a possible future HN homepage. Since the prompt apparently didn't include such a modifier, and as far as I know Gemini isn't trained by default to do so, I call shenanigans.

i agree. the thing that stands out to me is that almost every entry is quite notable - i.e. each entry would have a vote/comment count in at least the multiple-hundreds if not more. and all those events in one homepage seems very unrealistic.

it seems human generated to me or at least prompted with a stronger bias for choosing events that would be interesting to readers, not just a pure extrapolation of the current homepage into the future

M5 MacBook Pro 9 months ago

Dovker on mac has one killer feature though: bindmounts remap permissions sensibly so that uid/gid in the container is the correct value for the container rather than the same uid/gid from the host.

the workarounds on the internet are like "just build the image so that it uses the same uid you use on your host" which is batshot crazy advice.

i have no idea how people use docker on other platforms where this doesn't work properly. One of our devs has a linux host and was unable to use our dev stack and we couldn't find a workaround. Luckily he's a frontend dev and eventually just gave up using the dev stack in favour of running requestly to forward frontend from prod to his local tooling.

Mypy is currently the only one that can handle Django projects (because it has a plugin system and there's a plugin that can import your django code to infer types)

Unfortunately that massively limits its performance too since loading a large django codebase is pretty slow.

NZ didn't allow registration of raw .nz domains until 2014 so anything registered before that was a .co.nz or similar. It's still more common than .nz due to inertia / muscle memory I guess. I get weird looks when I give people my (name).nz email address - usually people ask if I meant .co.nZ

I'll need to get approval to use this on that codebase. I've tried it out on a smaller open-source codebase as a first step.

For anyone interested:

  - here's the Codebuff session: https://gist.github.com/craigds/b51bbd1aa19f2725c8276c5ad36947e2
  - The result was this PR: https://github.com/koordinates/kart/pull/1011
It required a bit of back and forth to produce a relatively small change, and I think it was a bit too narrow with the files it selected (it missed updating the implementations of a method in some subclasses, since it didn't look at those files)

So I'm not sure if this saved me time, but it's nevertheless promising! I'm looking forward to what it will be capable of in 6mo.

+1; Ideally I want a tool I don't have to specify the context for. If I can point it via config files at my medium-sized codebase once (~2000 py files; 300k LOC according to `cloc`) then it starts to get actually usable.

Cursor Composer doesn't handle that and seems geared towards a small handful of handpicked files.

Would codebuff be able to handle a proper sized codebase? Or do the models fundamentally not handle that much context?

Pygfx 2 years ago

We used the free tier for a couple of years before a user mentioned the ads. We had no idea our docs were surrounded by ads as no one on the team had ever tried it without ublock origin... We upgraded to the paid plan after that :)

right? we're on 13 and only now starting to consider upgrading to 16, and I don't think we're very abnormal and I don't consider 13 ancient. We have customers still using 9.3. (That last one does actually count as ancient.)

I'll agree with others here and endorse Linux for use by normal people. I've switched multiple family members now and no issues (despite absolutely no technical chops whatsoever on their part)

admittedly I did the installing part, but day to day use is not an issue any more. Ubuntu is hands down much more user friendly than Windows 11

I find myself bothering to click through to YT so rarely (< once/month) it's not really worth installing an addon for this, but it sounds really useful for YT regulars.

What I'd love (and even pay money for) would be the same thing for Spotify podcasts - especially for kids stories which are a constant feature of my car journeys at the moment. 5 minutes of junk surrounding 4 minutes of actual story is madness.

(I already have Spotify Premium - I'm not talking about ads; the actual content of podcasts is mostly fluff, and it's almost as bad as YT)

I'd suggest adding at least one example of using `semgrep --pattern <pattern>`. That seems pretty well hidden in the docs, and for me it's the most useful option.

I wasn't trying to search for things that other people thought were interesting; I wanted a tool that would search for some pattern I thought of - and preferably without having to write a yaml file.

I use semgrep for semantic search (and replace, sometimes).

Their docs and website try very hard to suggest you should use it for some kind of CI process, but so far I haven't found any need to do so. I can maybe see it being useful in a pre-commit hook.

It's VERY handy for semantic searches though - in situations where ripgrep would be useless due to multi-line matches.

I set up this alias to make it a bit less verbose for Python patterns:

    pygrep () {
        pat="$1"
        shift
        filez="$*"
        bash -xc "semgrep --lang=python --pattern '$pat' $filez"
    }
Usage is something like:
    pygrep 'myfunc(..., needle_arg=..., ...)'

It's probably something in between though. There's probably a point in between Developing Country Pay and Bay Area Pay where the company can get quality work done for the price they're willing to pay.

Obviously, they're less likely to get Bay Area developers, but I don't really see how that's a problem - there are plenty of good devs elsewhere. Maybe this is a good incentive for Bay Area devs to move somewhere cheaper :)