Тридцать часов блокчейна
FreeCodeCamp.org запилили курс по блокчейну и смартконтрактам аж на тридцать часов. Я пока осилил только первый час, но уже понимаю, что курс мегаполезный.
Интервальное повторение
Реализовал в своем маленьком пет проекте superwords метод интервального повторения.
Superwords это маленькое приложение под android, при помощи которого я изучаю иностранные языки. Что-то типа Anki но с возможностью учить синонимы и варианты переводов - когда я только начинал делать эту программу я был увлечен японским языком и мне нужно было запоминать не только смысл слова но и написание каной и канзи.
Знание языков мне всегда очень помогало в путешествиях по Европе, в поиске работы и, сейчас, когда я живу в Германии, без них никуда. Хотя, признаюсь, иностранные языки мне всегда давались с большим трудом. Ну нет у меня к ним таланта!
Интервальное повторение - это повторение на основе кривой забывания Эббингауза. Кривая забывания или кривая Эббингауза была получена вследствие экспериментального изучения памяти немецким психологом Германом Эббингаузом в 1885 году.
Эббингауз был увлечён идеей изучения «чистой» памяти — запоминания, на которое не влияют процессы мышления. Для этого им был предложен метод заучивания бессмысленных слогов, состоящих из двух согласных и гласной между ними, не вызывающими никаких смысловых ассоциаций.
В ходе опытов было установлено, что после первого безошибочного повторения серии таких слогов забывание идёт вначале очень быстро. Уже в течение первого часа забывается до 60 % всей полученной информации, через 10 часов после заучивания в памяти остаётся 35 % от изученного. Далее процесс забывания идёт медленно, и через 6 дней в памяти остаётся около 20 % от общего числа первоначально выученных слогов, столько же остаётся в памяти и через месяц.
Для лучшего запоминания информации психологи советуют делать несколько повторений, через некоторые интервалы, величина которых зависит от того, который раз происходит данное конкретное повторение.
В приложении это работает таким образом - при повторении каждого слова сохраняется количество успешных повторений а также дата последнего повторения, поэтому в следующий раз при выборе слова из списка слов предпочтение отдается тем словам которые уже пора повторять. Удивительно, насколько это повышает качество запоминания!
Первое повторение — через 30 минут, второе повторение — день после первого повторения, третье повторение — через неделю после второго, четвёртое повторение — через месяц после третьего, пятое повторение — через пол года после четвёртого повторения.
Штука оказалась абсолютно убойной, и почему я раньше это не реализовал...
К сожалению, в GooglePlay приложение в настоящее время недоступно - сейчас новая версия ещё проходит ревью. Но можно установить apk вручную.
Альтернативное IDE для Ардуино
Давно ищу замену для Arduino IDE которое очень примитивное и жутко неудобное.
Пробовал использовать для этого Атом и Eclipse но так и не смог их настроить для компиляции скетчей. Приходилось все равно использовать родное IDE но оно не умеет автобновлять содержимое файлов если их изменить в сторонней программе, поэтому скетч нужно постоянно закрывать и открывать заново, что жутко неудобно.
Оказалось что Visual Studio Code прекрасно умет почти из коробки запускать скетни Arduino. Просто ставится соответствующее расширение и ваши скетчи начинают волшебным образом компилироваться. При этом, как я понял, используются те же библиотеки, которые используются для компиляции скетчей в Arduino IDE.
Как же это здорово, когда можно пользоваться нормальной подсветкой синтаксиса и использовать автоподсказки. К хорошему быстро привыкаешь.
Почему в npm так много плохих пакетов?
А просто любой школьник может создать новый пакет и опубликовать его!
И беда в том, что пакеты для использования нужно обязательно опубликовать, даже если ты его создаёшь исключительно для личного использования. Невозможно, скажем, указать git репозиторий как в composer и использовать его не публикуя.
Понадобилась мне на днях для одного маленького проекта библиотека cuba - такая маленькая утилита для вытягивания данных с google таблиц. Так оказалось, что библиотека перестала поддерживаться, а мне она очень нужна - уж больно удобная. Из-за маленького бага, табличка, которую я создал на Google Sheets никак не хотела импортироваться. При этом фикс простой, и Pull Request на гитхабе уже есть, но автор библиотеку давно не обновляет. Пришлось форкать репозиторий, и публиковать свою исправленную версию.
Встречайте - cuba-sheet. Теперь в npm одной плохой библиотекой больше!