mltype-Typing practice for programmers

mltype is een commandoregel tool voor het verbeteren van typen vaardigheden. Het doet dat met een klein beetje diep leren.

als u op dit bericht hebt geklikt in de hoop iets te leren over statisch typen, annotaties of iets dergelijks, dan is dit niet het juiste artikel. Het typen ik praat over in deze post is het ding dat je doet met je toetsenbord. Of om precies te zijn

de handeling of vaardigheid van het schrijven van iets met behulp van een schrijfmachine of computer.

een paar maanden geleden besloot ik touch typing te leren! Ik weet wat je denkt … ” ben je een snellere typist dan voorheen en was alle pijn het waard?”Ik zou zeker ja en ja zeggen. Echter, het internet is vol met soortgelijke voor en na getuigenissen en ik ben niet van plan om nog een andere te schrijven.

waar ik het over wil hebben is dat ik echt verbaasd was over hoe weinig middelen er zijn voor het oefenen van touch-typen met programmeertalen. Na een snelle google-zoekopdracht zult u waarschijnlijk ontdekken de volgende sites:

hoewel de bovenstaande websites meerdere sterke punten hebben, wil ik wijzen op enkele van hun tekortkomingen

  • gebrek aan variabiliteit en verrassingselement
  • Handmatige selectie van bronbestanden en bijbehorende regels
  • niet aanpasbaar
  • niet vrij (typing.com)
  • niet nerdy genoeg – zou het niet mogelijk zijn om het in de terminal te doen?

om bovengenoemde redenen besloot ik het een kans te geven en mijn eigen typoefenprogramma te schrijven: mltype.

Wat doet het?

kortom, het is een command line tool (geschreven in Python). Het maakt gebruik van neurale netwerken om tekst te genereren die eruit ziet als een programmeertaal (of normale taal). Daarnaast biedt het niet-machine learning functionaliteiten zoals het lezen van tekst uit een bestand of standaardinvoer.

als je je afvraagt wat voor soort “neuraal netwerk” erachter zit, zou ik je meer dan aanmoedigen om de onredelijke effectiviteit van terugkerende neurale netwerken door Andrej Karpathy te (her)lezen. mltype doet min of meer hetzelfde op de achtergrond. Om precies te zijn, er is een karakter-niveau taalmodel. Het spuwt een kansverdeling over het volgende teken gegeven vorige karakters. Het belangrijkste is dat het probeert alle complexiteit en saaie details van de training en gevolgtrekking van de gebruiker te verbergen. Het genereren van tekst van een bestaand model en het trainen van een nieuw model kunnen beide in één opdracht worden gedaan.

voorbeelden

hieronder zijn enkele voorbeelden van verschillende programmeertalen. Alle modellen die ze gegenereerd en vele andere voorgetrainde modellen zijn beschikbaar voor download (zie de README.md op github).

wil je het proberen?

als u meer wilt weten en het zelf wilt uitproberen, bezoek dan de onderstaande links!

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