Skip to content

Commit

Permalink
docs: Rename project to "Gibberish"
Browse files Browse the repository at this point in the history
  • Loading branch information
sgillespie committed Jul 23, 2023
1 parent ecd2b5c commit ae8d23e
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 72 deletions.
37 changes: 14 additions & 23 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,26 +1,17 @@
Copyright (c) 2015 Sean Gillespie
Copyright (c) 2023 Sean Gillespie

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the “Software”), to deal in the Software
without restriction, including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

The source shall be available freely.

Tom Van Vleck<http://www.multicians.org/cgi-sys/cgiwrap/thvv/squirnet.cgi> shall be notified.

Tom Van Vleck, and all other pioneers, should be given credit.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
47 changes: 28 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
# Elocrypt
[![Build Status](https://travis-ci.org/sgillespie/elocrypt.svg?branch=master)](https://travis-ci.org/sgillespie/elocrypt)
# Gibberish
![Build Status](https://github.com/sgillespie/gibberish/actions/workflows/build.yaml/badge.svg)

Elocrypt generates pronounceable, easy-to-remember, hard-to-guess passwords... as hard as Vince Carter's knee cartilage is. Elocrypt includes a Haskell library and program.
Gibberish generates pronounceable passwords that are easy-to-remember and hard-to-guess. Gibberish
can also generate pseudo english passphrases.

## Prerequisites
In order to build or install you will need
* GHC (tested on 8.6.5)
* Stack (tested on 2.1.3.1)

## Installing
Elocrypt is on [Hackage](https://hackage.haskell.org/package/elocrypt). Installation is as easy as:
Gibberish is on [Hackage](https://hackage.haskell.org/package/elocrypt). Installation is as easy as:
```
cabal install elocrypt
```
Expand All @@ -30,16 +31,18 @@ elocrypt --passphrases [min-length] [max-length]
```

## Obtaining the source
Elocrypt sources can be found
* https://github.com/sgillespie/elocrypt

Gibberish sources can be found
* https://github.com/sgillespie/gibberish
* https://hackage.haskell.org/package/elocrypt

## Building

In order to build or install you will need
* [GHC](https://www.haskell.org/ghc) (tested on 8.6.5)
* [Haskell Stack](https://haskellstack.org) (tested on 2.1.3.1)

Build elocrypt:
Build gibberish:
```
stack setup
stack build
Expand All @@ -50,13 +53,20 @@ stack install
```

## API Documentation
The full API documentation is on hackage @ https://hackage.haskell.org/package/elocrypt/docs. To build the documentation yourself, run

The full API documentation is on hackage @
https://hackage.haskell.org/package/elocrypt/docs. To build the documentation yourself,
run

```
stack haddock
```

### API Examples
You can use elocrypt to generate words in any Haskell code, so long as you have installed elocrypt. Generate a word by using Data.Elocrypt.newPassword

You can use gibberish to generate words in any Haskell code, so long as you have installed
gibberish. Generate a word by using Data.Elocrypt.newPassword

```
import Data.Elocrypt
...
Expand All @@ -65,7 +75,9 @@ fooGen :: IO String
fooGen = newPassword 10 `liftM` getStdGen
```

Alternatively, you can use Data.Elocrypt.mkPassword if you want to complete control of the random monad
Alternatively, you can use Data.Elocrypt.mkPassword if you want to complete control of the
random monad

```
import Data.Elocrypt
import Control.Monad.Random
Expand All @@ -78,15 +90,12 @@ fooGen' = evalRand (mkPassword 10) `liftM` getStdGen
## Authors
Sean Gillespie <[email protected]>

## Credits
Thanks to Tom Van Vleck for creating a 3rd order english approximation password generator. Elocrypt is based on his javascript generator @ http://www.multicians.org/thvv/gpw-js.html
## Acknowledgements

## Copying
You can use this source for any reason, provided that you:
Gibberish is based on Tom Van Vleck's work on 3rd order approximation to english for
generating passwords. Gibberish is based on his [javascript
generator](http://www.multicians.org/thvv/gpw-js.html).

* Let Tom Van Vleck know you are using it: http://www.multicians.org/cgi-sys/cgiwrap/thvv/squirnet.cgi
* Share your source freely
* Give Tom Van Vleck, and all the other pioneers, if you use the data or algorithms. (A link to http://www.multicians.org/thvv/gpw-js.html is sufficient
* Use a compatible license
## LICENSE

Please see LICENSE for all details
Gibberish is licensed under the MIT license. Please see [LICENSE](LICENSE) for details
19 changes: 11 additions & 8 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@
overlays = [
haskellNix.overlay
(final: prev: {
elocryptProject = final.haskell-nix.cabalProject' {
gibberishProject = final.haskell-nix.cabalProject' {
src = ./.;
compiler-nix-name = "ghc962";
name = "elocrypt";
name = "gibberish";

shell = {
tools = {
Expand All @@ -38,13 +38,13 @@
(final: prev: {
fourmolu =
final.haskell-nix.tool
final.elocryptProject.args.compiler-nix-name
final.gibberishProject.args.compiler-nix-name
"fourmolu"
"0.13.1.0";

hlint =
final.haskell-nix.tool
final.elocryptProject.args.compiler-nix-name
final.gibberishProject.args.compiler-nix-name
"hlint"
"latest";

Expand All @@ -53,7 +53,7 @@
"fourmolu-check"
{ buildInputs = [final.fourmolu]; }
''
cd "${final.elocryptProject.args.src}"
cd "${final.gibberishProject.args.src}"
fourmolu --mode check src test
[[ "$?" -eq "0" ]] && touch $out
'';
Expand All @@ -63,7 +63,7 @@
"hlint-check"
{ buildInputs = [final.hlint]; }
''
cd "${final.elocryptProject.args.src}"
cd "${final.gibberishProject.args.src}"
hlint src test
[[ "$?" -eq "0" ]] && touch $out
'';
Expand All @@ -75,15 +75,18 @@
inherit (haskellNix) config;
};

flake = pkgs.elocryptProject.flake {
flake = pkgs.gibberishProject.flake {
};
in
pkgs.lib.recursiveUpdate flake {
checks = {
inherit (pkgs) hlintCheck fourmoluCheck;
};

packages.default = flake.packages."elocrypt:exe:elocrypt";
packages = {
inherit (pkgs) hlintCheck fourmoluCheck;
default = flake.packages."gibberish:exe:gibber";
};
});


Expand Down
34 changes: 12 additions & 22 deletions elocrypt.cabal → gibberish.cabal
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
name: elocrypt
version: 2.1.0
name: gibberish
version: 3.0.0
synopsis: Generate easy-to-remember, hard-to-guess passwords
homepage: https://www.github.com/sgillespie/elocrypt
license: OtherLicense
homepage: https://www.github.com/sgillespie/gibberish
license: MIT
license-file: LICENSE
author: Sean Gillespie
maintainer: [email protected]
copyright: Copyright: (c) 2017 Sean Gillespie
copyright: Copyright: (c) 2023 Sean Gillespie
category: Cryptography
build-type: Simple
extra-source-files: README.md,
Expand All @@ -16,17 +16,16 @@ extra-source-files: README.md,
cabal-version: >=1.10

description:
Generates pronounceable, hard-to-guess passwords--as hard as
Vince Carter's knee cartilage is.
Generates pronounceable passwords that are easy-to-remember and hard-to-guess.

source-repository head
type: git
location: https://github.com/sgillespie/elocrypt.git
location: https://github.com/sgillespie/gibberish.git

source-repository this
type: git
location: https://github.com/sgillespie/elocrypt.git
tag: v2.0.1
location: https://github.com/sgillespie/gibberish.git
tag: v3.0.0

library
exposed-modules: Data.Elocrypt,
Expand All @@ -41,17 +40,17 @@ library
hs-source-dirs: src/lib
default-language: Haskell2010

executable elocrypt
executable gibber
build-depends: base >= 4.7 && <5,
elocrypt,
gibberish,
random
default-language: Haskell2010
hs-source-dirs: src/cli
main-is: Main.hs

test-suite test
build-depends: base >= 4.7 && <5,
elocrypt,
gibberish,
MonadRandom,
proctest,
QuickCheck,
Expand All @@ -69,12 +68,3 @@ test-suite test
Test.Elocrypt.UtilsTest,
Test.ElocryptTest
type: exitcode-stdio-1.0

test-suite elocrypt-lint
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: HLint.hs
build-depends: base >= 4.7 && < 5,
hlint
ghc-options: -threaded -rtsopts -with-rtsopts=-N
default-language: Haskell2010

0 comments on commit ae8d23e

Please sign in to comment.