yarwelp_
Joined 8 years ago
Joined 8 years ago
> Ownership was a bit different. Once a cube is owned by a player, no other player could take ownership until that player reliquished ownership. I planned to use ownership for players grabbing cubes, because I didn’t want to make it possible for players to grab cubes out of other player’s hands after they picked them up.
I’ve previously been thinking about a shared multi-user 2D desktop - one computer with one or more displays with two or more keyboards and mice attached, and this is somewhat like how I concluded that interaction should work there as well by default.
Additionally in a 2D environment where the objects are program windows, each user would be able to give permission to other users to enter a window owned by them so that they could collaborate on a text document for example, or they could give access to the underlying file so that the other person could edit the file in a separate window ala Google Docs. By default users cannot obscure other peoples windows, and each user can take up no more than 1/nth part of the screen where n is the number of users currently present.
The plan as I said is to get pgen into some package manager repos. Until then building from source will be the only way I will encourage anyone to get a copy of my tool.
Rust is still undergoing changes frequently enough that most package manager repos have a very old version of the Rust toolchain in terms of what it is capable of doing.
For example the version of rustc that you get from Ubuntu default repositories was too old to compile my pgen when I checked some weeks ago.
And exactly because the tool is for generating passwords I don't want to distribute pre-compiled binaries of my tool myself, and therefore until I get pgen itself into package manager repos I tell people to download the Rust toolchain and to build my tool from source themselves as I did above.
1) My shell function was too slow. There was a noticeable delay and it became annoying. The tool I wrote in Rust is insanely fast. Life improved!
2) The wordlist I used to use would use /usr/share/dict/words. These words are not good for typing because there are a lot of weird and arcane words in that list. The new tool I wrote has an optimized wordlist made by the EFF (read about it in the README) compiled right into it.
Regarding your question about installing other dependencies, like I said I will eventually get it into package managers. The pgen utility is a single binary. My assumption until then is that the people interested in my tool also happen to be interested in Rust and that therefore installing the Rust toolchain to use my tool will also give them motivation to get back into learning Rust like they at some point started doing. This was intentionally unstated but now you made me say it :)
GitHub: https://github.com/ctsrc/pgen
It's written in Rust. Install the Rust toolchain installer from https://rustup.rs/
curl https://sh.rustup.rs -sSf | sh
And remember to add ~/.cargo/bin to your PATH.Then install my command-line utility
cargo install pgen
Usage is described in detail in the README on GitHub. Additionally you can ask the program itself for a brief help summary. pgen --help
Eventually pgen will be available in some package manager repos so that you can use your preferred package manager to install pgen but until then it must be built from source following the steps above.It's fast, secure and open source.
* Fast
* Makes use of EFF wordlists which were designed to contain human-friendly words as opposed to the arcane and obscure and strange words found in e.g. /usr/share/dict/words.
* Single binary with wordlists compiled into it.
* It can tell you the password entropy if you'd like it to.
* You can use physical dice if you like. By default it will use the OS provided CSPRNG.
Installation:
1) Install Rust - https://rustup.rs/
2) cargo install pgen