The most customizable typing website with a minimalistic design and a ton of features. Test yourself in various modes, track your progress and improve your speed.
Find a file
WormholeDragon 54a45b60c1
impr(quotes): add Russian quotes (@WormholeDragon) (#6437)
### Description

Added quotes from Russian classics.

### Translations

1058: A drowning man, they say, grabs a small splinter, and he has no
reason to think that a fly can ride on a splinter, and his weight is
almost four poods, if not even five whole poods; but it does not come to
his mind at that time, and he grabs the splinter.

1059: The current generation now sees everything clearly, marvelling at
the misconceptions, laughing at the unreasonableness of their ancestors,
not for nothing, that this chronicle is scrawled with heavenly fire,
that every letter screams in it, that a piercing finger is everywhere
directed at them, at them, at the current generation; but the current
generation laughs and presumptuously, proudly begins a series of new
misconceptions, which will also be laughed at later by their
descendants.

1060: Everything quickly turns in a man; before you know it, a terrible
worm has grown inside, self-possessedly turning to itself all the vital
juices. And many times not only a broad passion, but a petty passion for
something petty grew in him who was born for the best feats, made him
forget his great and holy duties and see the great and holy in
insignificant trinkets.

1061: All life is thought and labour, labour though obscure, dark, but
continuous, and to die with the consciousness that one has done one's
work.

1062: As soon as he woke up, he immediately resolved to get up, wash his
face, and, having drunk tea, to think hard, to think of something, to
write it down, and generally to do it properly. For half an hour he lay
there, tormented by this intention, but then he reasoned that he would
have time to do it after tea, and tea could be drunk in bed, as usual,
especially as there was nothing to prevent him from thinking while lying
down.

1063: The fact was that Tarantiev was a master only of speaking; he
decided everything clearly and easily in words, especially what
concerned others; but as soon as it was necessary to move a finger, to
move from a place - in a word, to apply his own theory to a case and to
give it a practical course, to give it disposition and speed - he was
quite a different man: Suddenly he was not enough - he was suddenly
heavy, or unwell, or awkward, or another matter would come up, which he
would not take up, and even if he did, God forbid what would happen.

1064: He was not frightened, for instance, by the cracked ceiling in his
bedroom: he was accustomed to it; nor did it occur to him that the
perpetually stale air in the room and the constant sitting locked up
were almost more ruinous to health than the dampness of the night; that
to overfill the stomach daily was a kind of gradual self-destruction;
but he was accustomed to it and was not frightened.

1065: He unfurled his umbrella while it rained, that is, he suffered
while the grief lasted, and he suffered without timid submission, but
more with vexation, with pride, and he bore it patiently only because he
attributed the cause of every suffering to himself, and did not hang it,
like a caftan, on someone else's nail. And he enjoyed joy like a flower
plucked on the road, until it wilted in his hands, without ever
finishing the cup to that drop of bitterness which lies at the end of
every pleasure.

1066: When all the forces in your organism play, then life will play
around you, and you will see what your eyes are closed to now, you will
hear what you cannot hear: the music of the nerves will play, you will
hear the noise of the spheres, you will listen to the growth of grass.
Wait, do not hurry, it will come!

1067: It often happens to fall asleep in summer on a quiet, cloudless
evening, with twinkling stars, and think how good the field will be
tomorrow in the morning's bright colours! How cheerful it is to go deep
into the thicket of the woods and hide from the heat! And suddenly one
wakes up to the pounding of rain, to grey sad clouds; cold, damp....

1068: He had never clearly grasped the weight of a word of goodness,
truth, purity, thrown into the stream of people's speech, the deep
windings it breaks through; he had never thought that if spoken
cheerfully and loudly, without the colour of false shame, but with
courage, it would not sink into the ugly cries of the secular satyrs,
but would sink like a pearl into the abyss of social life, and there
would always be a shell for it.

1069: Many hesitate at a good word, weeping with shame, and boldly,
loudly utter a frivolous word, not realising that it too, unfortunately,
does not go to waste, leaving a long trail of evil, sometimes
ineradicable.

1070: Life flashes by like an instant, and he would lie down and sleep!
Let it be a constant burning! Oh, if I could live two hundred, three
hundred years! How many things could be done!

1071: Human beings are created to organise themselves and even to change
their nature, but they grow a paunch and think that nature has sent them
this burden! You had wings, but you cut them off.

1072: I know that love is less exacting than friendship, it is even
often blind, love is not for merit - that's true. But love requires
something, sometimes trifles, which can neither be defined nor named,
and which is absent in my incomparable but clumsy Ilya.

1073: Reach out to a fallen man to lift him up, or weep bitterly over
him if he perishes, rather than mock him. Love him, remember yourself in
him, and treat him as yourself - then I will read you and bow my head to
you...

1074: A short, daily rapprochement between man and man does not cost
either of them for nothing: a lot is needed on both sides of life
experience, logic and warmth of heart, that, enjoying only the
advantages, not to stab and not stab mutual shortcomings.

1075: Friendship is a good thing when it is a love between a young man
and woman or a remembrance of love between old men. But God forbid if it
is friendship on one side and love on the other.

1076: When you don't know what you live for, so you live somehow, day by
day; you rejoice that the day has passed, that the night has come, and
in your sleep you plunge the dull question of why you lived this day,
why you will live tomorrow.

1077: Some people have nothing better to do than talk. It's a calling.

1078: And the night was the darkest you can imagine. In summer, you
know, we have such dark nights near Kursk, but warm and mild: the stars
are hung like lamps across the sky, and the darkness underneath is so
thick that it is as if someone were fumbling and touching you in it...

1079: These astronomers are the worst, and especially in the drawbar
they are the most dangerous; a postilion always has to watch a horse
with such a habit, because the astronomer himself does not see how he
pokes his feet, and God knows where he ends up.

1080: Who knows what I'll find when I return? And how much I may lose!

1081: When you have travelled and returned home, and the smoke of the
Fatherland is sweet and pleasant to us!

1082: Have you ever, laughing or in sorrow, by mistake, said a kind word
about someone? Though not now, but perhaps when you were a child.

1083: What a trick you pulled! I haven't written two words for three
years! And then suddenly it came out of nowhere.

1084: How marvellous is the light created! If you philosophise, your
mind will be dizzy; If you take care, then dinner: Eat for three hours,
but in three days it will not be digested!

1085: There are on earth such transformations of governments, climates,
and manners, and minds; there are people important, heard for fools:
another in the army, another a bad poet, another ... I am afraid to
name, but recognised by the whole world, especially in recent years,
that they have become clever as anything.

1086: When in business I hide from mirth, when to fool, I fool; and to
mix these two trades there are a darkness of artisans, I am not of their
number.

1087: I was blind! In whom I sought the reward of all my labours! In a
hurry! Flying! I was trembling! I thought happiness was at hand. Before
whom I was so passionate and so low a waster of tender words! And you!
Oh, my God! Whom have you chosen? When I think who you have chosen! Why
did you entice me with hope? Why did you not tell me that you have
turned the past into laughter?! That the memory of those feelings, of
those movements of the heart in both of us, which neither distance, nor
amusement, nor change of place has cooled in me. I breathed them, and
lived them, and was occupied with them without ceasing! If you had been
told that my sudden arrival, my appearance, my words, my actions -
everything disgusts you - I would have cut off all communication with
you at once, and before parting for ever I would not have tried to find
out who this amiable man is?

1088: So! I have sobered up completely, dreams are out of sight - and
the veil has fallen;

1089: Who are the judges? - Beyond the antiquity of years. Their enmity
to free life is irreconcilable; their judgements are drawn from
forgotten newspapers of the times of Ochakovsk and the conquest of the
Crimea; always ready for a fight, they all sing the same song, not
noticing about themselves: what is older, is worse. Where are the
fathers of the fatherland, whom we should take as models? Are not these,
rich in robbery? They have found protection from judgement in friends,
in kinship, in splendid chambers, where feasts and debauchery spill
over, and where foreign clients will not resurrect the meanest features
of their past lives.

### Checks

- [ ] Adding quotes?
- [ ] Make sure to include translations for the quotes in the
description (or another comment) so we can verify their content.
- [ ] Adding a language or a theme?
- [ ] If is a language, did you edit `_list.json`, `_groups.json` and
add `languages.json`?
  - [ ] If is a theme, did you add the theme.css?
- Also please add a screenshot of the theme, it would be extra awesome
if you do so!
- [ ] Check if any open issues are related to this PR; if so, be sure to
tag them below.
- [ ] Make sure the PR title follows the Conventional Commits standard.
(https://www.conventionalcommits.org for more info)
- [ ] Make sure to include your GitHub username prefixed with @ inside
parentheses at the end of the PR title.

<!-- label(optional scope): pull request title (@your_github_username)
-->

<!-- I know I know they seem boring but please do them, they help us and
you will find out it also helps you.-->

Closes #

<!-- the issue(s) your PR resolves if any (delete if that is not the
case) -->
<!-- please also reference any issues and or PRs related to your pull
request -->
<!-- Also remove it if you are not following any issues. -->

<!-- pro tip: you can mention an issue, PR, or discussion on GitHub by
referencing its hash number e.g:
[#1234](https://github.com/monkeytypegame/monkeytype/pull/1234) -->

<!-- pro tip: you can press . (dot or period) in the code tab of any
GitHub repo to get access to GitHub's VS Code web editor Enjoy! :) -->
2025-04-10 14:10:20 +02:00
.github chore(workflows): use correct name of action input (@NadAlaba) (#6378) 2025-03-17 16:30:41 +01:00
.husky chore: update master pre-push script 2024-07-25 11:13:25 +02:00
backend impr: lazy load chartData on results (@fehmer) (#6428) 2025-04-08 13:46:40 +02:00
docker chore: update mongodb version to 5.0.13 (@fehmer) (#6364) 2025-03-12 15:29:19 +01:00
docs docs: add orderedByFrequency to the language adding guide 2025-03-18 13:54:09 +01:00
frontend impr(quotes): add Russian quotes (@WormholeDragon) (#6437) 2025-04-10 14:10:20 +02:00
packages impr: lazy load chartData on results (@fehmer) (#6428) 2025-04-08 13:46:40 +02:00
.dockerignore chore: update backend out dir 2024-07-25 19:59:05 +02:00
.editorconfig Add .editorconfig (#1976) 2021-10-10 16:09:32 +01:00
.eslintignore fix(docker): fix configuration endpoint, add configuration export (@fehmer) (#6317) 2025-02-27 10:48:59 +01:00
.gitignore chore: move vscode extension recommendations to workspace file (@fehmer) (#6310) 2025-02-26 17:49:12 +01:00
.npmrc chore: switch from npm to pnpm (#5690) 2024-07-30 22:36:19 +02:00
.nvmrc chore: upgrade node to 20.16.0 (#5688) 2024-07-30 18:44:35 +02:00
.prettierignore feat(languages): add portuguese 320k and 550k (@jeffersonjpr) (#5698) 2024-08-02 14:13:31 +02:00
.prettierrc TypeScript FrontEnd: Add Account Files (#2494) 2022-02-19 17:44:27 +01:00
commitlint.config.cjs chore: update file extension 2024-07-22 16:58:49 +02:00
LICENSE Create LICENSE 2020-05-30 00:30:54 +01:00
monkeytype.code-workspace chore: move vscode extension recommendations to workspace file (@fehmer) (#6310) 2025-02-26 17:49:12 +01:00
package.json chore: release v25.13.0 2025-03-26 23:04:54 +01:00
pnpm-lock.yaml chore(deps-dev): bump vitest's vite fom 5.2.14 to 5.4.17 (@NadAlaba) (#6415) 2025-04-07 16:10:07 +02:00
pnpm-workspace.yaml chore: switch from npm to pnpm (#5690) 2024-07-30 22:36:19 +02:00
README.md chore: add more badges to readme (@fehmer) (#5744) 2024-08-08 17:06:50 +02:00
turbo.json fix(dev): mark dev tasks as persistent 2024-08-14 12:36:21 +02:00
vitest.config.js chore: fix test coverage not working with vitest workspaces (@fehmer) (#5764) 2024-08-11 17:50:26 +02:00
vitest.workspace.json chore: add vitest workspace configuration file 2024-08-11 00:14:39 +02:00


ChartJs Eslint Express Firebase Fontawesome HTML5 JQuery MongoDB PNPM Redis SASS TsRest Turborepo TypeScript Vite Vitest Zod

About

Monkeytype is a minimalistic and customizable typing test. It features many test modes, an account system to save your typing speed history, and user-configurable features such as themes, sounds, a smooth caret, and more. Monkeytype attempts to emulate a natural typing experience during a typing test by unobtrusively presenting the text prompts and displaying typed characters in place, providing straightforward, real-time feedback on typos, speed, and accuracy.

Features

  • minimalistic design, with optional advertisements and focus mode while typing
  • type what you see, see what you type
  • live errors, wpm, and accuracy displays
  • a variety of test lengths and languages
  • punctuation and numbers modes
  • quotes
  • themes
  • smooth caret
  • account system
  • challenges and just-for-fun test modifiers
  • and much more

Discord bot

On the Monkeytype Discord server, we added a Discord bot to auto-assign optional roles based on typing performance and challenge completion. You can find its code over at https://github.com/monkeytypegame/monkeytype-bot.

Bug report or Feature request

If you encounter a bug or have a feature request, send us an email, create an issue, create a discussion thread, or join the Discord server.

Want to Contribute?

Refer to CONTRIBUTING.md.

Code of Conduct

Before contributing to this repository, please read the code of conduct.

Security

To report a security vulnerability, please refer to SECURITY.md.

Credits

Montydrei for the name suggestion.

Everyone who provided valuable feedback on the original Reddit post for the prototype of this website.

All of the contributors have helped implement various features, add themes, fix bugs, and more.

Support

If you wish to support further development and feel extra awesome, you can donate, become a Patron or buy a t-shirt.