HN user

coxley

238 karma

https://coxley.org https://github.com/coxley https://linkedin.com/in/codey-oxley-15187555/

Posts1
Comments59
View on HN

From the docs:

ZeroFS fetches object data in 128 KiB parts

Read/write operations in object storage are _far more_ expensive than stored bytes. I'm always afraid of anything that abstracts over S3/GCS access specifically for that reason.

Yeah... my .com renewal lapsed due to an expired credit card, and it was snatched before I realized it. They've always wanted $2k for it.

Even if I was OK paying in principle, that's too much for a personal blog that gets one post every 4 years.

Monodraw 11 months ago

Both would be sick! I do spend quite a bit of time making my own "tables" and re-arranging things.

Monodraw 11 months ago

Are there any enhancements that you've wanted to do, but haven't had the time?

I'm a huge fan, and am surprised how stable Monodraw has been for me. I've kept a single, growing document open as a scratch pad for the last three years. The only downtime was converting it to the new-ish file format haha.

because interface{} is always counted as escaped from the stack

Not quite - if the function accepting interface{} can be inlined (and other heuristics are groovy), then it won't escape.

Trivial example but it applies to real-world programs:

    > cat main.go
    package main
    
    import "github.com/google/uuid"
    
    func main() {
            _ = foo(uuid.NewString())
    }
    
    func foo(s any) string {
            switch s := s.(type) {
            case string:
                    _ = "foo:" + s
            }
            return ""
    }
    
    # Build with escape analysis
    > go build -gcflags="-m=2" main.go
    # command-line-arguments
    ./main.go:9:6: can inline foo with cost 13 as: func(any) string { switch statement; return "" }
    ./main.go:5:6: can inline main with cost 77 as: func() { _ = foo(uuid.NewString()) }
    ./main.go:6:9: inlining call to foo
    ./main.go:6:24: uuid.NewString() does not escape
    ./main.go:6:9: "foo:" + s does not escape
    ./main.go:9:10: s does not escape
    ./main.go:12:14: "foo:" + s does not escape

That makes sense.

I love my iPhone 13 Mini. Its only issues are battery life (now), and non-competitive camera. I'm personally happy with the photos it takes, but then I look at my girlfriend's shots and get FOMO.

While I doubt it's economical, I'd love a small, simple phone with juiced up camera. I'd be fine with worse battery life as external batteries can remedy that in a pinch.

I've been using Otter for ~2(?) years, and it's a good time. This post made me realize we should upgrade to v2, as we've had a craving for async refresh.

Thanks to maypok86 for their dedication. The long comment threads on Ristretto issues are endlessly informative and entertaining. ;)

For many years at FB, suffixing dangerous or really-deprecated tokens with `_DO_NOT_USE_OR_YOU_WILL_BE_FIRED` was the standard. Everyone[^1] was in on the joke.

In the middle of the pandemic when ~50% of the workforce had started post-2020, it and other things became complaints for causing fear/uncertainty. We didn't do the best job on-boarding remote people and making them feel part of the culture at that time.

[^1]: It was a big company so this statement could only be true in the circles I had access to.

Thank you! This is the resource I've been wanting to hand-feed web components to me.

Looking forward to playing around with some personal projects. :)

Expect helped launch my early career in programming.

Automating tedious tasks as a network engineer and sysadmin motivated me to learn proper software development. If gluing together TCL/tk scripts could make my life easier, imagine what larger programs would do.

The good days.