Serious question: can you point out some serious complaints? They seem to have an exhaustive justification for their reasons to only support Pixels, see https://grapheneos.org/faq#future-devices
We would happily support other devices meeting these requirements and have limited what we include in the requirements to enable that. We're actively working with a major OEM towards a subset of their devices meeting these standards and providing official GrapheneOS support.
It's not our fault that the only other devices providing the security features we need don't allow GrapheneOS to be installed or to use those features. Massively lowering our standards and using low security hardware missing the basics we depend on and have built major protections around wouldn't make sense. It's not what GrapheneOS exists to provide. People can use LineageOS if they don't have the same priorities we do.
This list always bugged me. If Pixel - for example - starts to introduce security patches slower, they will change this list... or even ignore it. If something more secure comes into the picture, they will change this list, and they will ditch supporting Pixel. If they don't, then it will be quite obvious, that they formed this list only to meet only Pixel's feature list. Also Google can obviously satisfy this list more easily, than any other company, so basically they created a moot for them.
We haven't removed any requirements from our list. Many things Pixels provide are omitted from the list in order to enable another device to meet our requirements. There are other devices meeting the security feature requirements, but they don't allow us to support them. We're actively working with a major Android OEM towards a subset of their devices meeting these requirements and providing official GrapheneOS support. Providing the requirements on our list is not easier for Google and any OEM should be able to make a Snapdragon device meeting these requirements in 2026. It's already possible to meet all the listed requirements via multiple non-Snapdragon SoC platforms, but we'd prefer the upcoming Snapdragon generation with MTE support. The list has been deliberately kept limited to what is provided elsewhere than Pixels so that other devices can meet the requirements, which is in the process of happening.
Main work: tokenization of real-world assets, but on the side I’m building two projects as a solo dev:
- XRoll.io — a fully on-chain gaming framework on the XRP Ledger, inspired by SatoshiDice but built for compliance. Commit-reveal fairness (HMAC_SHA256(secret, bet_txn_hash)), full transparency on-chain. Integrated KYC, AML, self-limits at the protocol level. Frontend is optional; ledger is the source of truth.
- Nexula — an evolutionary image generation system. Embeddings extracted with CLIP, clustered via HDBSCAN, visualized with UMAP. User behavior (time spent) drives fitness scores; top samples recombine through weighted interpolation to generate new images. Built on Django backend, session-based personalization without login.
Looking for like-minded people interested in exploring both the technical and business sides of these systems.
I can also recommend Trilium Notes [1], which I have been happily using for years. It's currently in "maintenance mode", which I personally see as a feature (no risk of bloatware).
Self-hosted, great webapp, optional native clients and works offline.
If you're using print debugging in python try this instead:
> import IPython; IPython.embed()
That'll drop you into an interactive shell in whatever context you place the line (e.g. a nested loop inside a `with` inside a class inside a function etc).
You can print the value, change it, run whatever functions are visible there... And once you're done, the code will keep running with your changes (unless you `sys.exit()` manually)
If you are struggling to understand the README, I highly recommend the book Statistical Rethinking: A Bayesian Course with Examples in R and Stan by Richard McElreath. Although the examples are in R, the same concepts apply to Pyro (and NumPyro)
it's not that complicated that you need to read a whole book just to get a rough idea: it's just a cutesy way to specify a "plate model"[1] and then run inference using that model.
I was going to comment this. “What’s wrong with `cat`”, whose job is literally to concatenate files? Or even [uncompressed] `tar` archives, which are basically just a list of files with some headers?