bbkr / homoglypher Goto Github PK
View Code? Open in Web Editor NEWHomoglyph toolset for Raku language.
License: Artistic License 2.0
Homoglyph toolset for Raku language.
License: Artistic License 2.0
You can replay the test using RakuDist:
$ sparrowdo --no_sudo --docker=debian-rakudist --repo=http://repo.westus.cloudapp.azure.com
02:13:19 01/07/2020 [repository] index updated from http://repo.westus.cloudapp.azure.com/api/v1/index
02:13:24 01/07/2020 [create user HomoGlypher] uid=1004(HomoGlypher) gid=1004(HomoGlypher) groups=1004(HomoGlypher)
02:13:24 01/07/2020 [create user HomoGlypher] user HomoGlypher created
[task check] stdout match <created> True
02:13:27 01/07/2020 [create directory /data/test/HomoGlypher] directory path: /data/test/HomoGlypher
02:13:27 01/07/2020 [create directory /data/test/HomoGlypher] directory owner: <HomoGlypher>
02:13:27 01/07/2020 [create directory /data/test/HomoGlypher] directory group: <HomoGlypher>
02:13:27 01/07/2020 [create directory /data/test/HomoGlypher] directory access rights: drwxr-xr-x
[task check] stdout match <owner: <HomoGlypher>> True
[task check] stdout match <group: <HomoGlypher>> True
02:13:31 01/07/2020 [bash: git checkout https://github.com/bbkr/HomoGlypher.g ...] /data/test/HomoGlypher
02:13:31 01/07/2020 [bash: git checkout https://github.com/bbkr/HomoGlypher.g ...] stderr: Cloning into '.'...
02:13:33 01/07/2020 [bash: last commit] commit ba51d1fe9b67bc4c521b98ea71d0fc4516d103d1
02:13:33 01/07/2020 [bash: last commit] Author: Pawel Pabian <[email protected]>
02:13:33 01/07/2020 [bash: last commit] Date: Mon Dec 30 11:41:25 2019 +0100
02:13:33 01/07/2020 [bash: last commit]
02:13:33 01/07/2020 [bash: last commit] Create FUNDING.yml
02:13:33 01/07/2020 [bash: last commit]
02:13:33 01/07/2020 [bash: last commit] A .github/FUNDING.yml
02:13:35 01/07/2020 [bash: cd /data/test/HomoGlypher && ls -l] total 24
02:13:35 01/07/2020 [bash: cd /data/test/HomoGlypher && ls -l] -rw-r--r--. 1 HomoGlypher HomoGlypher 8902 Jan 7 02:13 LICENSE
02:13:35 01/07/2020 [bash: cd /data/test/HomoGlypher && ls -l] -rw-r--r--. 1 HomoGlypher HomoGlypher 442 Jan 7 02:13 META6.json
02:13:35 01/07/2020 [bash: cd /data/test/HomoGlypher && ls -l] -rw-r--r--. 1 HomoGlypher HomoGlypher 6964 Jan 7 02:13 README.md
02:13:35 01/07/2020 [bash: cd /data/test/HomoGlypher && ls -l] drwxr-xr-x. 2 HomoGlypher HomoGlypher 30 Jan 7 02:13 example
02:13:35 01/07/2020 [bash: cd /data/test/HomoGlypher && ls -l] drwxr-xr-x. 3 HomoGlypher HomoGlypher 52 Jan 7 02:13 lib
02:13:35 01/07/2020 [bash: cd /data/test/HomoGlypher && ls -l] drwxr-xr-x. 2 HomoGlypher HomoGlypher 117 Jan 7 02:13 t
02:13:38 01/07/2020 [bash: zef install Test::META] stderr: All candidates are currently installed
02:13:38 01/07/2020 [bash: zef install Test::META] No reason to proceed. Use --force-install to continue anyway
02:13:43 01/07/2020 [bash: zef install /data/test/HomoGlypher] stderr: Invalid json? File: /data/test/HomoGlypher/META6.json
02:13:43 01/07/2020 [bash: zef install /data/test/HomoGlypher] <empty stdout>
02:13:43 01/07/2020 [bash: zef install /data/test/HomoGlypher] task exit status: 1
02:13:43 01/07/2020 [bash: zef install /data/test/HomoGlypher] task bash: zef install /data/test/HomoGlypher FAILED
The spawned command 'docker exec -i debian-rakudist sh /root/.sparrowdo/sparrowrun.sh' exited unsuccessfully (exit code: 1)
in block <unit> at /opt/rakudo-pkg/share/perl6/site/resources/375DCCC7CEEDC0A696B38FBD13B6A1EBB162B393 line 17
in sub MAIN at /home/scheck/.perl6/bin/sparrowdo line 3
in block <unit> at /home/scheck/.perl6/bin/sparrowdo line 1
This one is not trivial.
For text
abcdef
And mappings
b = B, BE
bc = BC, BECE
c = CE
Regexp alternatives must be collapsed to avoid tail copy-pasting:
a [ [ b | B | BE ] [ c | CE ] def ] | [ [ bc | BC | BECE ] def ]
Above case has "join point" and it can be used to avoid "def" being in regexp twice:
a [ [ b | B | BE ] [ c | CE ] | [ bc | BC | BECE ] ] def
Things gets complicated if we add overlapping mapping
cd = CEDE
:)
Few of those characters are already present (for example in %flipped
mapping), still more needs to be added.
There is huge mess in character ranges:
MATHEMATICAL SCRIPT SMALL A 𝒶
MATHEMATICAL SCRIPT SMALL B 𝒷
MATHEMATICAL SCRIPT SMALL C 𝒸
MATHEMATICAL SCRIPT SMALL D 𝒹
SCRIPT SMALL E ℯ
MATHEMATICAL SCRIPT SMALL F 𝒻
...
All typefaces have to be regenerated and merged into consistent blocks.
This goes into weird category, of being both typeface and base character homoglyph.
Co myślisz o zamiania ne gem-a?
Ruby
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.