All Projects → pb- → gotypist

pb- / gotypist

Licence: Unlicense license
A touch-typing tutor

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to gotypist

Prism
React / Redux action composition made simple http://salsita.github.io/prism/
Stars: ✭ 499 (+330.17%)
Mutual labels:  elm-architecture
Elmctron
Elm meets Electron
Stars: ✭ 86 (-25.86%)
Mutual labels:  elm-architecture
Render
UIKit a-là SwiftUI.framework [min deployment target iOS10]
Stars: ✭ 2,150 (+1753.45%)
Mutual labels:  elm-architecture
Bucklescript Tea
TEA for Bucklescript
Stars: ✭ 581 (+400.86%)
Mutual labels:  elm-architecture
Extending Tea
Example of an extension to The Elm Architecture
Stars: ✭ 30 (-74.14%)
Mutual labels:  elm-architecture
Reactivereswift
Unidirectional Data Flow in Swift via FRP - Inspired by Elm
Stars: ✭ 133 (+14.66%)
Mutual labels:  elm-architecture
Bubbletea
A powerful little TUI framework 🏗
Stars: ✭ 7,886 (+6698.28%)
Mutual labels:  elm-architecture
Gipher
tinder like app for gifs built with elm and firebase
Stars: ✭ 229 (+97.41%)
Mutual labels:  elm-architecture
Concur Static
Generate semi-dynamic UIs with Concur
Stars: ✭ 55 (-52.59%)
Mutual labels:  elm-architecture
Philip2
An Elm to OCaml compiler
Stars: ✭ 182 (+56.9%)
Mutual labels:  elm-architecture
Tanok
Elm Architecture-inspired wrapper for Rx.js+React
Stars: ✭ 22 (-81.03%)
Mutual labels:  elm-architecture
Elm Kitchen
Easily bootstrap a new Elm SPA
Stars: ✭ 21 (-81.9%)
Mutual labels:  elm-architecture
Learn Elm Architecture In Javascript
🦄 Learn how to build web apps using the Elm Architecture in "vanilla" JavaScript (step-by-step TDD tutorial)!
Stars: ✭ 173 (+49.14%)
Mutual labels:  elm-architecture
Purescript Pux
Build type-safe web apps with PureScript.
Stars: ✭ 562 (+384.48%)
Mutual labels:  elm-architecture
Javascript Todo List Tutorial
✅ A step-by-step complete beginner example/tutorial for building a Todo List App (TodoMVC) from scratch in JavaScript following Test Driven Development (TDD) best practice. 🌱
Stars: ✭ 212 (+82.76%)
Mutual labels:  elm-architecture
Bubbles
TUI components for Bubble Tea 🍡
Stars: ✭ 467 (+302.59%)
Mutual labels:  elm-architecture
Unidirectional Architecture On Mobile
Dive into 📱 Unidirectional Architecture!
Stars: ✭ 115 (-0.86%)
Mutual labels:  elm-architecture
Concur
An unusual Web UI Framework for Haskell
Stars: ✭ 252 (+117.24%)
Mutual labels:  elm-architecture
Hydux
A light-weight type-safe Elm-like alternative for Redux ecosystem, inspired by hyperapp and Elmish
Stars: ✭ 216 (+86.21%)
Mutual labels:  elm-architecture
Reactor
🔄 Unidirectional data flow in Swift.
Stars: ✭ 174 (+50%)
Mutual labels:  elm-architecture

Gotypist Build Status

A simple touch-typing tutor that follows Steve Yegge's methodology of going in fast, slow, and medium cycles.

Screenshot of a Gotypist session, normal mode

The TL;DR of this methodology is that you make three passes for each phrase.

  • Fast - type as fast as you can without any attention to proper technique or correctness
  • Slow - use proper technique at all costs, go as slow as needed to achieve that
  • Normal - type at target speed, try to make no mistakes

Gotypist will score each pass accordingly: errors do not matter in the first pass, speed does not matter in the second pass, and both matter in the final pass. Check out score.go for details (which are subject to change).

This project was mainly motivated by trying out termbox-go, but it is definitely ready for productive learning.

Installation

From source

Go version 1.16 or newer is required.

go get github.com/pb-/gotypist

Using a package manager

Debian

Grab .deb from barnumbirr/gotypist-debian, then

dpkg -i gotypist_<version>_amd64_<debian_version>.deb

Usage

gotypist [-f FILE] [-s] [-n PROB] [-c] [WORD]...

WORD...     Explicitly specify a phrase
-f FILE     Use FILE instead of a built-in dictionary
-n PROB     Sprinkle in random numbers with probability 0 <= PROB <= 1
-c          Tread -f FILE as code and go sequenntially through the lines
-d          Run in demo mode to take a screenshot

Key bindings

ESC   quit
C-F   skip forward to the next phrase
C-R   toggle repeat phrase mode
C-I   toggle finger usage hints

Code organization

The code loosely follows an Elm-like architecture. In a nutshell that means all interesting and Gotypist-specific code resides within pure functions. This is quite experimental and some corners were cut since Go is not primarily a functional language, but it still enjoys a lot of the benefits of this architectural style!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].