HN user

rhamzeh

383 karma

Person. Does stuff. Passionate about books, Libre & Open Source software and the intersection of tech, creativity & community.

https://www.rhamzeh.com

Posts6
Comments88
View on HN

AFAIK, even if the developer removes a game from Steam, if you bought it (or rather, a license for it), it remains in your account.

E.g. I have Lord of the Rings: War in the North that is no longer available anywhere, yet I can still download install and play it on my devices through Steam (even on Linux, which it was not intended for)

That of course doesn't help if the game does not have an offline component, e.g. I also still have League of Legends in my Steam account, but that is unusable because the Riot servers don't allow updating/connecting from it.

Hey @idlefeature

Member of the OpenFGA team here.

TLDR: OpenFGA supports recursive nesting - you can find many examples (e.g. GDrive) of that in the sample stores repo [1] and the documentation.

For your case:

"User C manages User B, who owns Object A."

In the model, that is represented by:

```

model

  schema 1.1
type user
  relations

    define manager: [user]
type folder
  relations

    define owner: [user]
```

So:

- Object A is owned by User B.

- User B is managed by User C.

- User C is managed by User D.

These can all be expressed as tuples:

```

- user: user:D, relation: manager, object: user:C

- user: user:C, relation: manager, object: user:B

- user: user:B, relation: owner, object: folder:A

```

"User D should be able to view Object A, because User D manages User C, who manages User B, who owns Object A."

The model would become

``` model

  schema 1.1
type user
  relations

    define manager: [user]

    define managed_by: manager or managed_by from manager
type folder
  relations

    define owner: [user]

    define can_view: owner or managed_by from owner
```

Notice how on the folder, you cannot say `manager from manager from owner`, but you can model your way around it by adding the `managed_by` relation on the user.

You can play with this sample on the FGA Playground here [2] (give it any name to continue, note that this is publicly viewable/editable). Your use-case is similar to the expenses sample [3]

Another option the docs is warning you of is that in order to use a relation as the base of a `from`, it MUST be just a directly assigned type, for example the below is not allowed as owner has redirects (or manager from owner), so cannot be used as the base of a recursive from

```

type folder

  relations

    define owner: [user] or manager from owner

    define can_view: owner or manager from owner
```

but as you saw above, you can work around it with modeling slightly differently to reach the desired solution

In case it is easier for you, feel free to ask on our Discussions page or CNCF channel [4] as they render markdown a bit better than here on hn.

As for other AuthZ frameworks that support recursion, most of the Zanzibar[5][6] inspired ones (like what OpenFGA is) do, in fact it's one of the strong suits of a Zanzibar inspired approach to AuthZ.

[1] https://github.com/openfga/sample-stores/tree/main/stores

[2] https://play.fga.dev/stores/create/?id=01JNPQKC4TMHBW271V6N4...

[3] https://github.com/openfga/sample-stores/tree/main/stores/ex...

[4] https://openfga.dev/community

[5] Zanzibar is a Google paper from 2019 around how Google handles authorization for their products: https://research.google/pubs/zanzibar-googles-consistent-glo...

[6] https://zanzibar.academy/

Non-Americans should not, and usually do not believe either. It's funny when Republicans/Democrats treat either as reputable.

They're politicking 101 made into 24/7 news media panic.

They're both charlatans and peddlers of lies and cheap tricks; they engage in propaganda and employ journalists who seem to believe that they're anything other than foot soldiers to stir up the masses against XYZ.

Everyone knows Fox News is trash, it's laughable when some continue to argue that CNN isn't.

Where XYZ can be anything, depending on which way the wind is blowing, sometimes it's each other, sometimes it's internal to the US, sometimes it's external

I mean, to follow that analogy, yeah people absolutely should abandon their families if the families are out there actively murdering innocents.

The person saying that they're only staying to murder with their families because they care about them is not a redeeming quality, and they should definitely be held accountable and not excused for their crimes.

For the record, I consider any armed person outside their home country should be considered as a terrorist and a militia and treated as such. There is no reason someone from country A should be carrying a weapon in country B and attacking people there. This is 100 times even more valid when country B has not authorized this.

Yes, just as much as airlines are an arm of the US government:

U.S. airlines avoided broad bankruptcies and cuts with the record $74 billion in government Covid-19 aid (https://skift.com/2021/07/29/federal-aid-saved-u-s-airlines-...)

Or the US semiconductor industry > Most of the money is going into industry and supporting industry investments. Of the $52.7 billion in subsidies, the bulk of that will end up going to private companies. (https://www.scientificamerican.com/article/nearly-53-billion...)

Of course there's more examples for almost any country.

I'm not debating your conclusion. I think it is spot on. I am calling out the tone though as if this was not the norm for all the mega corps/mega industries.

I can't believe I'm on the side of Facebook on this one.

The problem is "nations" don't represent the people in those nations, and those in power are just as capable as big tech in to relying on scare tactics and duplicitous messaging and misleading the populace in order to push forward their own agendas.

Fighting encryption has nothing to do with "saving the children", no more than all the misguided disastrous crusades against one thing or another over the past 50 years have been about saving the children.

I come from a place where in the 2000s the religious institutions through a hissy fit about certain music and subcultures and how they must be suppressed in order to "save the children". Fighting encryption may not be religious in nature but is born out of the same need for power and control.

Thanks for that! Probably in a couple of years, as my laptop is still serving me well enough for now. It's also pretty light and still has good battery, so not a ton of benefit there.

If the battery life was doubled (~8+ hours), that definitely would be more intriguing.

But ouch, hadn't had WiFi or sound issues on Linux since the 2009~2010 era, will not be fun to get back to that, though hopefully in a few years as the drivers mature, this would become less of an issue.

On the most annoying side, I don't know if there is a way to configure the lid action, as it put the laptop on standby.

Even when an external display is connected? That's got to be annoying!

Based on my experience, I can tell you the grass is not greener on the other side.

Forced to use Mac for work, the previous Macbook Pro would lose charge _while plugged in_! The battery goes empty, it shuts off and I wait for it to recharge while off.

They recently changed mine to an M1. Battery is much better than the previous generation and could be good, so long as you're not using it for anything. As soon as the IDE/Zoom/Docker/what have you spins up, it loses charge. It is slower at loses charge while plugged in, but so long as you are not using it except for note taking, I would not trust away from a power source.

If I don't have a power source nearby, I turn everything off and switch my dev workflow to Sublime to prolong the battery.

I don't have to suffer any of these shenanigans under Linux. Granted, I have a Thinkpad, which has great Linux support, so that definitely helps.

I'd be much more interested in the Linux situation on this laptop. Most of the UI applications I use casually or CLI apps are available on ARM (I have them running fine on a Pinephone, so the experience on a laptop will only be better).

But not sure how the dev workflow would be: Podman, IntelliJ, Sublime Text, etc.. And some casual stuff like Calibre, Thunderbird, Joplin.

Oh and how much would the battery life improvement be. I already get 4~5+ hours on my 5 year old Thinkpad, so an improvement to 6 hours is not really worth it.

How is the BIOS and openness on these systems? I always heard the arm laptops are way more locked down than the x86 ones.

Some pros of Joplin that go unnoticed vs other note taking apps:

1- Available on F-Droid (unofficially) 2- Available as a Flatpak (unofficially) 3- Supports syncing to file system (thus syncing via syncthing) 4- Supports encrypting the exported files 5- Open source 6- Can handle a lot of notes (I have around 5k, but some of those are large notes) 7- Dark Mode

These, among many other features make it my note editor of choice for the past 5 years.

Why is it ironic?

That's how colonialism works. Rid the colony of resources, introduce tech and changes the local population has no experience with and make sure not to train them on it. Watch them attempt to get their freedom while at the same time being forced to come to you for help.

On this particular issue, Gabon never had to administer this, so they never had a need for this skillset.

Wayback machine link: https://web.archive.org/web/20230411113056/https://lists.zx2...

Because they're now generating reproducible builds on Android, Wireguard is unifying the signing keys across several distribution platforms (F-Droid, Play Store, Self-release).

F-Droid users in particular need to uninstall the old Wireguard app and re-install it following these steps:

1. ⋮ -> Export tunnels to zip file.

2. Uninstall the WireGuard app entirely.

3. Reinstall the WireGuard app from the Google Play Store or F-Droid.

   * Be sure to install version ≥ 1.0.20230405.
4. + -> Import from file or archive -> Downloads/wireguard-export.zip

5. File Manager -> delete Downloads/wireguard-export.zip

Edit: Added Wayback Machine Link, because main link is no longer loading

"a country with a long history of theft and cheating agreements will do anything besides ignore any rules the west attempts to create" - kinda ironic you mention this considering your description fits the US like a glove.

I don't get it. Twitter bookmarks already exist and I've been using them for the past (roughly) 4 years when I want to save something but nit like it. Are they changing that?

It definitely can't be coming soon if it's been here for ages already though.

Last time I migrated (many years ago), not all the data was in the export. And the secure notes especially were mostly missing or messed up.

I think others have posted on HN that they experienced the same last year when they attempted to migtate.

So you may have exported in 10m, but do not assume you got everything, go through the list and make sure everything is there (including verifying the contents).

this a massive pain if you happen to work on a project that isn't GPL compatible

Good. And I hope that continues to be the case.

The harder life is for non-copyleft licensed software and ecosystem the more society stands to benefit and the more the software industry stands to redeem itself.

neither of the solutions you called out has been out for more than ~1 year,

That's a good callout. These are still early days when it comes to Zanzibar & co, and all implementations are very new. I'm glad different implementations exist. This will allow the community to experiment with multiple ideas and allow them to flourish or be discarded.

Authzed's idea Jimmy linked to elsewhere (Caveats) [0] is not in the Zanzibar paper, however it is an interesting option to try to tackle ABAC scenarios within a Zanzibar context.

OSO (and Aserto seems to be doing the same) is approaching this the other way - they have a good Policy/ABAC solution, do they benefit from a more Zanzibar-like approach to the AuthZ problem, the answer seems to be also yes (OSO Cloud [1]).

In OpenFGA, we dropped the concept of Zookies. Will we regret this? Time will tell. SpiceDB bet on the importance of Zookies, and in some cases they are right. We also added support for having multiple model versions active at the same time and some ABAC scenarios through Contextual Tuples [2] (less powerful than caveats, but more Zanzibar-y). Is that a good idea? Hopefully!

That's the beauty of it, there are considerations (pros and cons) for all of these approaches, users can pick and choose what works best for their situations. We will all learn and adapt. We may all end up discarding some of our assumptions and adopting new ones. Ultimately this will benefit all of us, and more importantly the wider audience and the ecosystem. And maybe newcomers will implement all of the good ideas floating around while discarding the cruft existing solutions are stuck with.

Hopefully as the ecosystem matures, all the implementations benefit from it. Multiple implementations allows each to investigate certain solutions.

Quoting Jimmy above:

it'd be awesome to collaborate [...] this is what open source is all about

100%! Though as a FOSS fan myself, I'm hoping for a new comer GPL/copyleft solution to come about and rule us all :)

Side-note: Absolutely loved this article from OSO with Abhishek Parmar, one of the co-creators of Zanzibar [3]

[0] https://github.com/authzed/spicedb/issues/386

[1] https://www.osohq.com/docs/concepts/oso-cloud-data-model

[2] https://openfga.dev/docs/modeling/contextual-time-based-auth...

[3] https://www.osohq.com/post/abhishek-parmar-oso

[Disclaimer: On the OpenFGA team]

My experience back then (10~12 years ago) with Arch was issues upgrading in general, granted I was using it wrong, but in one instance I remember the networking daemon got upgraded, but there was no uodates for something core that depended on it which lead to a non-functioning network until I managed to copy files over USB and revert.