Git Product home page Git Product logo

nimiro's Introduction

Nimiro

A Phonetic Number System mnemonics generator [WIP]

I have learned a few things since last time I tried to do this in February 2018 (and screwed it in March of the same year, see nimiro-2018-03-screwed.zip).

Given a number, it (hopefully) outputs some meaningful and memorable words/phrases/sentences.
Main goal: Memorizing dates (8 digits) and phone numbers (10 digits).

Like, "8020" -> "XSNS" -> graph of words -> "she is nice"

Example

Suppose you want to memorize the date of Algerian's War for Independence: November 1, 1954.

Nimiro.getCandidates({
  number: "1954-11-01", // LGVR-LL-SL
  domains: "history military politics", // Wordnet Domains
  language: "en", // Other langs (like "fr") will be supported later
  limit: 2,
});

expected =
[
  "well giver lowly soul",
  "well give real lazily"
]
  // TODO sould return Array<{word, code, score}>
  // Like, {word: "giver", "GVR", score: 3}>
  // Imagine that score = 3 is for being in #politics, and encoding more than 2 numbers, being a common word.

Notes

  • It works as a node library, CLI tool, and web app

  • The included model.json file was built from the (poorly parsed) Complete Works of Lewis Carroll.


When encoding dates, it is recommended to use this pattern: YEAR-MONTH-DAY. Rationale:

  • Standard format (see ISO 8601)
  • Consistency. Sometimes the full date is required, sometimes MONTH-YEAR, other times only YEAR. This way you, if you know it's a date mnemonic, you can unambigiously know what number encodes what part of the date.
  • This pattern may be used in later version to output better mnemonics.

Why?

Because the projects I found are limited, they only generate word sets: Got2Know (Java), Adi Mukherjee's mnemonic-major (JavaScript), maleadt's majormem (Perl/C++)

How

It works as if it were a stupid speech recognition system that can recognize only "consonants". This gives rise to problems like Word Segmentation and Vowels/Diacritics Restoration...

TODO

Check TODO.md

  • Compile a list of important dates for the bac history exam.
  • Nimirofy them
  • Create a cheatsheet
  • Share it and spread the word!

License

CC0

nimiro's People

Contributors

djalilhebal avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.