mltype-Typing practice för programmerare

för några månader sedan bestämde jag mig för att lära mig touch typing! Jag vet vad du tänker… ” Är du en snabbare maskinskrivare än tidigare och var all smärta värt det?”Jag skulle definitivt säga ja och ja. Internet är dock fullt av liknande före och efter vittnesmål och jag kommer inte att skriva ännu en.

vad jag vill prata om är att jag verkligen blev förvånad över hur få resurser det finns för att öva touch typing med programmeringsspråk. Efter en snabb google-sökning kommer du förmodligen att upptäcka följande webbplatser:

medan ovanstående webbplatser har flera starka punkter, låt mig påpeka några av deras brister

  • brist på variation och överraskningselement
  • Manuellt val av källfiler och motsvarande rader
  • inte anpassningsbar
  • inte gratis (typing.com)
  • inte nerdy nog-skulle det inte vara möjligt att göra det i terminalen?

av ovan nämnda skäl bestämde jag mig för att ge det ett skott och skriva min egen skrivpraxis programvara: mltype.

Vad gör den?

kort sagt, det är ett kommandoradsverktyg (skrivet i Python). Den använder neurala nätverk för att generera text som ser ut som ett programmeringsspråk (eller normalt språk). Dessutom ger det icke-maskininlärningsfunktioner som att läsa text från en fil eller standardinmatning.

om du undrar vilken typ av ”neuralt nätverk” som ligger bakom det skulle jag mer än uppmuntra dig att (åter)läsa den orimliga effektiviteten av återkommande neurala nätverk av Andrej Karpathy. mltype gör mer eller mindre samma sak i bakgrunden. För att vara exakt finns det en språkmodell på teckennivå. Det spottar ut en sannolikhetsfördelning över nästa tecken som ges tidigare tecken. Viktigast, det försöker dölja all komplexitet och tråkiga detaljer i träningen och slutsatsen från användaren. Att generera text från en befintlig modell och träna en ny modell kan båda göras i ett enda kommando.

Nedan följer några exempel på olika programmeringsspråk. Alla modeller som genererade dem och många andra förskolade modeller finns tillgängliga för nedladdning (se README.md på github).

exempel

C++

Python

vill du prova det?

om du vill veta mer och prova det själv, besök länkarna nedan!

  • github: https://github.com/jankrepl/mltype
  • docs: https://mltype.readthedocs.io/en/latest/



+