HNHacker News
TopNewBestAskShowJobs

charlieegan3

1,191 karma · joined February 3, 2015

[ my public key: https://keybase.io/charlieegan3; my proof: https://keybase.io/charlieegan3/sigs/jY22eiTE68JWGA0mX-hLuJZLt8xIBAYlOlUG6jXjgGA ]

fe6250646d96bf340309769db59e5c69bd13d19d9d7f55a700324c9cc4ae7b36

submissionscomments
charlieegan3··on Open Policy Agent
I am not sure how your groups are structured, but something like this might work for this [0] use case:

    package play

    import rego.v1

    default allow := false

    allow if {
        user := input.id

        user in data.groups.A
        user in data.groups.B
        not user in data.groups.C
    }
[0] https://play.openpolicyagent.org/p/adMo9TE9bS
charlieegan3··on Open Policy Agent
I detailed a comparison of OPA and Cedar with verified permissions here: https://www.styra.com/knowledge-center/opa-vs-cedar-aws-veri...
charlieegan3··on Open Policy Agent
If you’re using OPA or learning Rego, you might be interested in checking out Regal - the Rego linter.

https://docs.styra.com/regal

Disclaimer: I work on this but it’s free, & open source!

charlieegan3··on Ask HN: Could you share your personal blog here?
I post my blog posts here: https://charlieegan3.com/posts (https://charlieegan3.com/posts.rss)

and my weeknotes here: https://charlieegan3.com/weeknotes (https://charlieegan3.com/weeknotes.rss)

charlieegan3··on Ask HN: What $500-2500 product improved your 2022
I have the same setup and find that I can’t use my cam link through my Caldigit element hub as the video freezes. Do you connect the cam link directly to your computer? It seems the cam link needs an entire bus bandwidth to function. :(
charlieegan3··on MacBook owners have two months to claim up to $395 over butterfly keyboard woes
I'm not sure which law it counts as exactly. Apple's own docs and were enough for me to explain to them using the correct terms: https://www.apple.com/uk/legal/statutory-warranty/uk/
charlieegan3··on MacBook owners have two months to claim up to $395 over butterfly keyboard woes
Yeah, I believe so. I think you need to go to an Apple Authorised Service Provider and then take the fault report to John Lewis to kick off the process. Assuming that your laptop is on this list: https://support.apple.com/en-gb/keyboard-service-program-for...
charlieegan3··on MacBook owners have two months to claim up to $395 over butterfly keyboard woes
If you live in the UK or the EU, I think you can follow the process I went through in 2019, provided that you bought the laptop in the last N years, where N seems to change depending on which country you're in. England is 6 years, Scotland is 5.

https://charlieegan3.com/posts/2019-11-02-refunding-another-...

charlieegan3··on MacBook owners have two months to claim up to $395 over butterfly keyboard woes
I went through an EU consumer law claim. I documented the process here: https://charlieegan3.com/posts/2019-11-02-refunding-another-.... I understand this is largely unchanged after Brexit.
charlieegan3··on Last.fm turns 20
I have thought about this before too. last.fm is well supported by services and players. It’s often the only option when there’s no API to access now playing on the device.
charlieegan3··on Ask HN: What are your “scratch own itch” projects?
I created gpxif [1] to update time and location data on image files from my camera.

With this tool I can keep the camera in UTC and use gpx data from Garmin or OwnTracks to tag photos with the correct location and offset time.

- [1] https://github.com/charlieegan3/gpxif

charlieegan3··on Use RSS for privacy and efficiency (2021)
You might be able to get what you need with IFTTT or Zapier. They have email digests and support RSS triggers.
charlieegan3··on An Open-Source HDMI Capture Card
I have an Elgato Cam Link 4K and it's a pain to use with my Sony camera and M1 MacBook (webcam scenario).

I find that the card needs an entire USB _bus_ (not port) to itself to function without the stream freezing regularly - even on 1080p. This means I can't connect it via my thunderbolt dock (CalDigit Element Hub).

Does anyone know if this open implementation would have the same issue?

charlieegan3··on Use NextDNS everywhere you use Tailscale
Might be to populate the favicon?
charlieegan3··on Ask HN: So you moved off Heroku, where did you go?
Certainly the best option I've found for my needs. Good luck :)
charlieegan3··on Ask HN: So you moved off Heroku, where did you go?
I have moved a Rails and Go app to https://northflank.com. I have my Rails app running in their free project (limited to two services and 2 jobs) and my Go app in a paid project. I find the pricing to be very reasonable and considerably cheaper than Heroku.

I was looking for somewhere I could run web services and cron jobs both in the same place.

They have a Heroku importer, however I think you need to ask to have it turned on. I found that it was easier for me to build docker images for my apps and use a 'build service' instead however. YMMV

I found their support to be very responsive and enjoy using their UI. The UI, builds and so on all feel very fast.

Northflank can run databases, however for my databases I've been running them on ElephantSQL for some time (https://www.elephantsql.com) - even when I was on Heroku.

Free for Dev's PaaS list is worth a review: https://free-for.dev/#/?id=paas

charlieegan3··on Man wakes up after night on sleeper train to find it never left Glasgow
This is actually surprising common in the anecdotal experience of myself and my family. (Common that the train never leaves the origin station, though once my mother slept all night in Euston!)

The rolling stock is pretty modern, but the locomotives appear to be quite unreliable. Finding a replacement at short notice is tricky. I’ve been a handful of services where this happened.

The sleeper is generally unreliable in addition to the locomotive situation. The highlander services travel almost the entire length of the country making chances of running into a local issue in an ageing and underfunded rail network quite common.

Usually this means you are woken in the small hours and put on the first ‘day time’ alternative.

charlieegan3··on Tell HN: Thank you for the noprocrast flag
Thanks for your kind words about serializer :)

Really happy you enjoy using it.

charlieegan3··on Ask HN: Any better alternatives to Google Workspace for a family of five
I'm surprised to see so many suggestions for Office 365. The cloud exchange configurations for wildcarding and alias sending were very challenging at least for me to configure. I also found the mailbox export to be impossible to get working. These tasks were both trivial in Google (where I was migrating from at the time) and Fastmail.

I think that fastmail's implementation of custom domains and wildcard alias sending is the best I've seen to date.

That might not be a feature you care about, but I'd certainly consider Fastmail either way. Their domain DNS checklist page is really helpful and responsive in helping check you've set it all up correctly (DKIM, SPF etc).

charlieegan3··on Ask HN: Those making $500/month on side projects in 2021 – Show and tell
Which endpoint do you use for all time plays?

It doesn’t match my own data aggregated via regular scraping of the recently played endpoint.

charlieegan3··on Cue: A new language for data validation
I wrote a blog post comparing Rego (OPA), Cue and Polar for authorization in Go applications. You might find it interesting: https://charlieegan3.com/posts/2021-05-08-authorization-dsls...
charlieegan3··on Notion is experiencing a DNS issue
https://status.notion.so/ is working - 'all operational'
charlieegan3··on Oso – open-source policy engine for authorization in Rust
Thanks for the prompt & detailed responses in this thread.

It’ll be interesting to see what this looks like in a polyglot stack, I think that’s where having functionality in in the policy language might be really valuable.

For the time being, it’d still be possible to build a oso based policy server which applications invoke to make consistent decisions - so there are options to achieve this in the meantime too.

charlieegan3··on Oso – open-source policy engine for authorization in Rust
It looks like they charge for support. https://www.osohq.com/developers/support
charlieegan3··on Oso – open-source policy engine for authorization in Rust
I’m unfamiliar with the oso architecture so this might not be how it works, but I’d be interested in particular in the performance with ‘large’ input objects (~5mb+ in JSON). They have a good page in their documentation here: https://www.openpolicyagent.org/docs/latest/policy-performan... which explains the loaded data is around 20x the input - we’ve had to work around this. Though we are using OPA for something which it’s not really designed for too...

EDIT: I see this question below is answered here: https://news.ycombinator.com/item?id=25443354

Another question would be around how one extends oso. For example, OPA supports custom built-ins: https://www.openpolicyagent.org/docs/latest/extensions/. The other option is to add functionality to the language itself, e.g. https://github.com/open-policy-agent/opa/pull/2538

Oso seems to support this by ‘registering’ objects in the host language, e.g. https://docs.osohq.com/using/libraries/ruby/index.html#worki... in Ruby. I like the look of this and I presume that this is how you’d rather have users build more advanced policy than extending what seems to be a pretty lightweight language (https://docs.osohq.com/using/polar-syntax.html). OPA seems to have gone the other way and has a lot of functionality in the language for common cases, e.g. x509, jwt, etc. Would I be right in assuming that the current design decision is not to add such functionality to oso?

charlieegan3··on Oso – open-source policy engine for authorization in Rust
Would you consider something comparable to an OPA server as a future possibility for oso? I think that’s something that’s really valuable about OPA in a microservices environment - having a single place to consult for and log policy decisions.

I suppose I could implement an OSO server to perform this function.

I’d also be interested to know if you’d compared the performance of oso policy vs Rego on comparable input.

charlieegan3··on Ask HN: What's are your personal automations?
Pretty much! Only I have the data all year round.

It's public, judge my music as you like! https://music.charlieegan3.com/

Repo here: https://github.com/charlieegan3/music/ all runs on GitHub actions.

charlieegan3··on Ask HN: What's are your personal automations?
I have a few:

- A site which has an RSS feed of my Twitter feed. On entry per day.

- Automated backups of Notion and Dropbox to Backblaze

- Notification for likely missing data in my Spotify logging app. (I download all my play data from the recent plays api)

- GitHub actions to download each new Instagram post.

- Scripts to process my personal finance data into a database which backs a grafana dashboard

charlieegan3··on Google Photos will end its free unlimited storage in June 2021
You might find rclone helpful. It has support for google photos.
charlieegan3··on The Computer Science of Human Decisions
One of the most interesting parts of this book for me was the section on exponential back-off, both for the origin of the technique and examples in the real world such as for handling criminal sentences.
Page 1 of 12Next →