Hacker Newsnew | past | comments | ask | show | jobs | submit | rhamzeh's commentslogin

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.


Huh, great to know, thank you. For some reason, I thought the game gets de-listed completely and no downloads are possible anymore.


Found it under "Palestine Deep Dive"

Feed Link: https://feed.podbean.com/palestinedeepdive/feed.xml


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/


For audiobooks, instead of pirating I would recommend https://libro.fm - you can buy them DRM free and they donate part of the proceeds to your library of choice.


Firefox has been doing that for a long while too. It recommends going to the already open tab but you can ignore that and open a nee tab anyway if you wish.


I believe this is the related PR to mutter [0]. Basically mouse pointer movements no longer happen on the main thread

[0]: https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2777


> it uses a CRTC vblank deadline based approach to postpone posting KMS updates until as late as possible, and uses this method to achieve lower latency cursor movements, as well avoiding potential cursor stutter when the main thread is too busy to manage completing a frame in time.

Mouse movements no longer happen on main thread.

And the RT KMS thread delays posting the update until just before a deadline, to make sure the mouse is samples at the last possible moment! What a neat & straightforward & simple hack, sampling late. I'm sure this kind of stuff is what Good game devs have been doing for decades but still amazes me to read this.


Yep in gamedev it's called frame pacing. If you have a 16 ms frame budget and you know rendering will take about 4 ms, you can sleep for 10 ms, sample the latest possible inputs, and kick off rendering just in time to make the deadline.

If you estimate wrong, you start missing frames. If you don't do any frame pacing, the game always has a little bit of preventable input lag.

I only learned about this a couple years ago, but I think I felt it years ago - One of my games just seemed to feel better with a 10 millisecond sleep right after I submitted each OpenGL frame. In a world where you can't control hardware and OS lag, that 10 ms of free lag reduction is wondrous.


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.


I agree, but the world just isn't this simple. It's not about murdering with you family- it's about protecting your family. Kids I knew that went to Iraq were the protective types, not murderous. People can enlist in the military with the intention of protecting their country only to be ordered overseas caught up in some bullshit war. Historically, drafts were the main reason. And no man is an island, so whatever situation pulls one person in, is bound to ripple through other people's lives and pull others in as well.

> I consider any armed person outside their home country should be considered as a terrorist and a militia

I mean, there are situations like hostage crises where foreign countries send in soldiers that I think are completely justified. But, I agree, in general. Our foreign policy has been fucked since the CIA started after WWII. I'm just grateful I never had to fight a war- chances are I would've being born in the last couple hundred years


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.


Yes but no government puts listening devices into their planes to spy on passengers considering they have full control.

Wait, that's actually a good idea. Probably likely that one of China/Russia/N Korea/Iran have done this.


..a good idea from the perspective of an authoritarian government. Not saying it's good for airplanes to do this.


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.


> The problem is "nations" don't represent the people in those nations

The hell they don't! And who are bigtech companies to decide who the legitimate leader or a nation is? Whatever government is recognized by your government as legitimate gets to call the shots over those people. Democracy is not a human right, and even if it was it is democratic nations that are demanding this to the most part. You don't get to claim you are really fighting for the people when you have no legitimate reason to make that claim. Even if the people wanted privacy at the cost of more harm to their fellow man, the people need to use the law to enforce that, either you have the rule of law, the rule of man or the rule of criminals.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: