Pull to refresh

Learning languages

We speak not only in our native language

Show first
Rating limit
Level of difficulty

Your own Duolingo without overengineering

Reading time 14 min
Views 1K

Hi, my name is Mikhail Emelyanov, I’m a Python programmer and I would like to show you my pet project — Flywheel, a micro-platform for learning foreign languages, a mixture of Duolingo and Anki, an application that can teach you to properly write in Spanish (or any other language you’re studying). Flywheel’s source code is available on GitHub.


As you may know, generalized knowledge of a foreign language can be broken down into four relatively independent components: reading, writing, listening, and speaking. Unfortunately, training one of these abilities has no direct effect on the other components, so, for example, by developing our reading skills, the effect on our writing skills is quite indirect. Flywheel is a ‘sharpener’ specifically for written Spanish.

If you’ve ever used Duolingo, you should have some idea of the format in which you’ll be studying. The formula is simple: here’s a phrase, translate it into the other language; the app will remember the last time you translated a phrase and how successful you were at it; and depending on the accuracy of your answer, it will determine when you should do the same phrase again. In my opinion, Duolingo and its approach are brilliant. However… There are certain aspects that somewhat spoil the learning experience, and Flywheel was specifically designed to address them.

Read more →
Rating 0
Comments 1

How to create bilingual books. Part 2. Lingtrain Alignment Studio

Reading time 6 min
Views 2.3K


How to make a parallel book for language learning. Part 1. Python and Colab version

This is a second article on making parallel books. Today we will use the more advanced tool which will bring rich UI functionality. Lingtrain Alignment Studio is a web application written on Vue and Python. The main purpose of it is to extract the parallel corpora from two raw texts and make a bilingual (or even multilingual) parallel book. This is an open-source project and I will be glad to hear all of your bright ideas. Links to the sources and our community contacts can be found below. Los geht's!


The app is packed into the docker container. It's a simple technology to deploy your stuff anywhere from the server to your local machine. It's available across all the operating systems. So at first, you need a docker installed locally. Then you need to run two simple commands. The first will download the container:

docker pull lingtrain/aligner:v4

And the second one will run the application:

docker run -v C:\app\data:/app/data -v C:\app\img:/app/static/img -p 80:80 lingtrain/aligner:v4

C:\app\data and C:\app\img — your local folders.

The app will be available on the 80th port. Let's open the localhost page in your favorite browser.

Lingtrain app 1

We will make three simple steps: Load, Align, Create

Continue reading
Total votes 8: ↑8 and ↓0 +8
Comments 0

Lingtrain Aligner. How to make parallel books for language learning. Part 1. Python and Colab version

Reading time 8 min
Views 2.7K


If you're interested in learning new languages or teaching them, then you probably know such a way as parallel reading. It helps to immerse yourself in the context, increases the vocabulary, and allows you to enjoy the learning process. When it comes to reading, you most likely want to choose your favorite author, theme, or something familiar and this is often impossible if no one has published such a variant of a parallel book. It's becoming even worse when you're learning some cool language like Hungarian or Japanese.

Today we are taking a big step forward toward breaking this situation.

We will use the lingtrain_aligner tool. It's an open-source project on Python which aims to help all the people eager to learn foreign languages. It's a part of the Lingtrain project, you can follow us on Telegram, Facebook and Instagram. Let's start!

Find the texts

At first, we should find two texts we want to align. Let's take two editions of "To Kill a Mockingbird" by Harper Lee, in Russian and the original one.

Read more →
Total votes 5: ↑5 and ↓0 +5
Comments 0

9 Reasons Why Students Don’t Want You as a Teacher

Reading time 1 min
Views 1.4K
Teaching is hard! Finding a way to explain ideas and concepts, finding an approach to each individual among your students, each having a unique mind and learning capabilities. Being patient and creative, friendly but respective, kind but fair. You have to understand complex stuff and be able to present them in the simplest of ways. There are so many things that you must balance and consider in your work. Teachers, you are heroes, the every-day heroes! With this heroic work comes a responsibility. A responsibility of keeping yourself accountable for your student’s education. Some teachers forget about that and stay oblivious to the mistakes they are making. We’ve compiled a list of 9 Reasons Why Students Don’t Want You as a Teacher. We sincerely hope that it will help you to self-reflect, better connect with your students and achieve better results during your lessons.
Total votes 1: ↑0 and ↓1 -1
Comments 0

Getting Better at Reading Academic Papers: a Brief Guide for Beginners (Part 2)

Reading time 3 min
Views 1.9K
«Nothing makes you feel stupid quite like reading a scientific journal article» — writes the TV presenter and molecular biologist Adam Ruben. In a way, he's right — many of us get lost in the often confusing language of peer-reviewed papers. But the situation does not have to be hopeless. A bit of effort on the readers' part can go a long way. We looked at the techniques actual scientists use to navigate academic content. And compiled them into this two-part guide (Part 1: Getting Better at Understanding Academic Papers).

Read more →
Total votes 7: ↑7 and ↓0 +7
Comments 0

Getting Better at Understanding Academic Papers: a Brief Guide for Beginners (Part 1)

Reading time 4 min
Views 6.3K
«Nothing makes you feel stupid quite like reading a scientific journal article» — writes the TV presenter and molecular biologist Adam Ruben. In a way, he's right — many of us get lost in the often confusing language of peer-reviewed papers. But the situation does not have to be hopeless. A bit of effort on the readers' part can go a long way. We looked at the techniques actual scientists use to navigate academic content.

And compiled them into this two-part guide (part 2).

Read more →
Total votes 5: ↑5 and ↓0 +5
Comments 0

7 Ultimate Programming languages For Mobile App Development

Reading time 5 min
Views 4.2K

Do you know that 21% of people open an app 50+ times per day? Yes, you heard that right. With the rapid development of technology, the mobile app now made many things possible, which was previously unthinkable.

And that's why there is an incredible increase in the number of mobile users. According to a recent mobile app development stat, the number of mobile users worldwide is projected to increase to 6.95 billion by the end of 2020.

In the last couple of years, the mobile app development industry has grown manifold, changing how businesses function around the world. If you are planning to jump into mobile app development, then choosing the right programming language will be the most significant challenge.

There are more than 600 programming languages, and each one has its own perks and popularity. Are you pondering which language would be best for developing a stunning app?

Several factors come to mind when making this choice, but the most important one is the language's demand. Here in this blog, I have listed the best programming language for mobile apps in terms of popularity and demand. Let's start!
Read more →
Rating 0
Comments 0

Can you learn English from books?

Reading time 3 min
Views 576

Short answer? — No! Read below

This is a hotly debated topic, which I frequently encounter almost on a daily basis. In this day and age, it is a needless reminder of the importance of learning English, however learning it “correctly” is quite another thing on its own.


Teaching English in Moscow and several Russian regions, one comes across a plethora of “English books” coming from various publishers such as Cambridge Assessment, Oxford University Press, MacMillan, and the Russian flavourings a.k.a Starlight. These books are quite expensive in themselves, with several components such as CD, workbooks, DVD sold separately, and for a budget-conscious student can add to a nice princely sum.

However an underscored importance of “punctuation” is often missing in almost all the books, which in my opinion is the building blocks of English language. The other unintended consequence being — students tend to “memorise” the answers and “complete the book/ workbook” syndrome begins to develop, which in turn hampers their learning and cognitive abilities significantly. As the student grows older, this exacerbates the problem significantly and thus reflects itself during speaking and reasoning skills -> fundamental testing aspect of any English exam, GCSE, A Levels, EGE (Russian), TOEFL, IELTS etc…
Read more →
Total votes 8: ↑8 and ↓0 +8
Comments 5

8 amazing new trends in the English language

Reading time 3 min
Views 6.8K

I’ve searched high and low in an attempt to find current trends and recent changes in the English language, but have faced only articles about what has changed since the time of Shakespeare. So, I’ve decided that I’d rather present the data I’ve gathered myself throughout years of teaching by method of observation.
Read more →
Total votes 2: ↑1 and ↓1 0
Comments 2

Agile English teaching. What is it?

Reading time 4 min
Views 2K

Modern-day agile English teaching has come to take the place of rigid, cut-and-dried lessons that are fast becoming a thing of the past.

Let me clarify what I mean by agile teaching that is bound to substitute conventional teaching.

Some decades ago and up until recently it was perfectly valid to choose a certain textbook and go through it module by module together with your students (be it a group or individual learners). Given the abundance of high-quality materials readily accessible online and offline, it is completely unthinkable to proceed with this outdated approach.
Read more →
Total votes 1: ↑1 and ↓0 +1
Comments 0

The Silverfish Programming Language

Reading time 9 min
Views 2.4K

They say, each professional developer must have done at least three pet projects: a sophisticated logging utility, a smart json parser, and an amazing programming language. Once we have both logger and parser accomplished, we finally decided to reveal our desperate success in creation one of the most innovative programming languages named Silverfish.

Карасик → На самом деле плотвичка

Read more →
Total votes 9: ↑9 and ↓0 +9
Comments 3

TOP-23 Language Learning Apps

Reading time 6 min
Views 5.3K
There are hundreds of language learning apps and hundreds of reviews and comparisons. Actually most of the comparisons are about the same programs. Are the apps really helpful or this is only ad and marketing? Yes, and Yes.

I have been studying English using various methods and resources over five years. Language learning is not my greatest talent but I have achieved B2 level (from A2) using only my smartphone and PC. I found a set of features that really helps you study a foreign language. Some of them are crucial, others are just useful. Under the cut you will find a rating of the language learning apps that I composed by analyzing these features, As Objective As Possible.
Read more →
Total votes 10: ↑9 and ↓1 +8
Comments 13

Python Vs R — Data Science

Reading time 3 min
Views 3.7K
When mulling over the best programming language to use for data science, Python and R ring a bell (very quickly). While there are a lot of languages like C, C++, Java, Julia, Perl, and Scala, it's protected to state that Python and R are the harbingers in data science.

While a great deal of data researchers will discuss the customary shortcomings like data wrangling in R or data representation in Python, ongoing improvements like Altair for Python or R have adequately reacted to these shortcomings.

So which one would it be a good idea for you to decide for your next data investigation venture?

R has been ruling this space for a long time now. This bodes well as this programming language was explicitly intended for analysts.
Read more →
Total votes 11: ↑11 and ↓0 +11
Comments 0

C# or Java? TypeScript or JavaScript? Machine learning based classification of programming languages

Reading time 6 min
Views 1.5K
GitHub hosts over 300 programming languages—from commonly used languages such as Python, Java, and Javascript to esoteric languages such as Befunge, only known to very small communities.

Figure 1: Top 10 programming languages hosted by GitHub by repository count 

One of the necessary challenges that GitHub faces is to be able to recognize these different languages. When some code is pushed to a repository, it’s important to recognize the type of code that was added for the purposes of search, security vulnerability alerting, and syntax highlighting—and to show the repository’s content distribution to users.

Linguist is the tool we currently use to detect coding languages at GitHub. Linguist a Ruby-based application that uses various strategies for language detection, leveraging naming conventions and file extensions and also taking into account Vim or Emacs modelines, as well as the content at the top of the file (shebang). Linguist handles language disambiguation via heuristics and, failing that, via a Naive Bayes classifier trained on a small sample of data. 

Although Linguist does a good job making file-level language predictions (84% accuracy), its performance declines considerably when files use unexpected naming conventions and, crucially, when a file extension is not provided. This renders Linguist unsuitable for content such as GitHub Gists or code snippets within README’s, issues, and pull requests.

In order to make language detection more robust and maintainable in the long run, we developed a machine learning classifier named OctoLingua based on an Artificial Neural Network (ANN) architecture which can handle language predictions in tricky scenarios. The current version of the model is able to make predictions for the top 50 languages hosted by GitHub and surpasses Linguist in accuracy and performance.
Read more →
Total votes 6: ↑5 and ↓1 +4
Comments 0

How to learn English

Reading time 4 min
Views 13K

One one hand I don't want to be the final authority, but on the other hand, I'd like to share my point of view on how to learn English. The English language is not secret knowledge; it is just a lot of hard training. One of the most important bullets is constantly improving English. You should do it from day to day if you want to approach result. It must not loathe torture for you, It means that you should find out something interesting in that process.

Read more →
Total votes 17: ↑16 and ↓1 +15
Comments 17

Authors' contribution