Есть GNU typist, в нем есть тренировочные программы для различных раскладок, в том числе и для Дворака. Правда дальше первых нескольких упражнений я не ушел — нудно, приходится набирать комбинации вроде: as on et uh id uh et on as (то есть все символы из среднего ряда).
Я бы сказал, что наилучшим тренажером будет какой-нибудь реальный текст (приличного объема) или кусок кода. к примеру, мне сильно помогло то, что срочно надо было написать некоторое количество кода. С огромным количеством ошибок писал, не смотреть же все время в шпаргалку да и раз начал сдаваться было бы как-то странно. Спустя неделю количество ошибок заметно сократилось, а сейчас (прошло месяцев четырнадцать) я с йцукен больше ошибок делаю, чем с Двораком.
У Дворака есть один побочный эффект — начинаешь люто ненавидеть qwerty. Печатать на ней можешь, но с напрягом. Сейчас я даже на лабу по информатике прихожу и первым делом садясь за комп переключаю раскладку на Дворак — иначе не могу.
Помимо vi обычно присутствует nano и даже ed, и если последний довольно таки сложен для освоения (да и по сути является чисто командным режимом vim, без отображения всего текста), то nano придерживается привычной вам модели.
Хотя стоит заметить, что обычно != всегда, к примеру на голой FreeBSD nano нет, но ставится он за секунды.
>> (<([a-z]+[^>]*)>)(.*)(</\2>)
Немного не верно. Правильнее будет:
(<([A-Za-z](?:[A-Za-z0-9:-]*[A-Za-z0-9])?)[^>]*>)(.*)(</\2>)
Иначе аттрибуты искать будет в закрывающем тэге.
А вообще нужно еще корректно описать формат аттрибутов, а не с помощью [^>]*.
Да и с вложеными тегами облажаться можно. Короче, прописная истина: использовать регулярные выражения для разбора xml — себе дороже.
Зря вы так о Двораке. Не раскладка а сказка. Заставил себя — потратил неделю на освоение, не жалею.
Кстати рекомендую попробовать http://www.kaufmann.no/roland/dvorak/, от обычного Дворака отличается тем, что цифры перенесены в верхний регистр, немного сменились положения знаков препинания и цифры расположены как в первоначальной раскладке Дворака — 7531902468.
Википедия уже очень давно работает по https, просто пока они не включают его по умолчанию.
А вообще есть очень полезное расширение KB SSL Enforcer (Поищите в WebStore для хрома), для других браузеров есть аналоги. Если сайт поддерживает https, то расширение автоматически переключает вас на него.
Я использую screen даже локально, чтобы не привязываться к сессии (иногда запущено несколько экземпляров иксов, иногда не одного, а процесс прерываться не должен.
^Z, bg обычно не помогут — зачастую это какой-нибудь emerge, который очень много всего выводит. Да и запускать длительные по времени процессы без screen не рискую — бывает нужно перелогиниться, а приходится ждать окончания.
Одна из причин, по которой не люблю python (ой сейчас я огребу), именно _.__.___.
Тут надо знать меру, IMHO больше одного символа "_" подряд — недопустимо.
Благодаря throw не забываешь об исключениях, когда используешь метод.
А по поводу algorithm:
for(auto item : vect) {
/* do some stuff */
}
Читается легче, чем
std::for_each(vect.begin(), vect.end(), [] (some_type item) -> void {
/* do some stuff */
});
Местами похоже на машинный перевод.
«визуальный опыт» (очевидно «visual experience»),
«для улучшения пользовательского опыта» (очевидно «user experience»).
по теме — при использовании asm.js они расчитывают получить код, который выполняется всего вдвое медленнее, чем нативный (буквально на днях была об этом статья), учитывая, что сейчас получаются довольно неплохие игры, работающие на мобильных устройствах, то написать игру, которая не будет тормозить в десктопном браузере — реально. А целесообразность покажет время.
Знаю, сам как-то для мелкой команды пытался составить.
Всё учесть не реально, к примеру во всей статье и в комментариях нет ни одного упоминания тернарного оператора. Хотя обычно тот, кто составляет такой документ прямо его зарещает (еще одна тема для холивара — не редко он читается легче, чем конструкция if/else).
Читаемость кода — очень субъективная штука. Если мне доводится писать подобные рекомендации, то я пишу примерно следующее:
K&R стиль для скобок;
строчное написание везде, кроме имен типов, там — CamelCase;
#pragma once;
отступ — 4 пробела;
строго 80 колонок;
только блочные комментарии;
длинные самодокументирующиеся имена;
никакой венгерской нотации;
метки — на уровень левее кода, case, private, protected, public приравниваются к меткам;
использование auto и decltype;
использование static_assert;
там, где можно — циклы по коллекции, вместо итераторов;
обязательное использование const в параметрах методов;
использование final, override;
использование constexpr;
явное указание всех исключений, которые может выбросить метод.
Остальное — на собственное усмотрение. Уже в перечисленном обычно находится пяток тем для споров, из которых уже выводятся окончательные требования к стилю в проекте.
Тогда понятно. Хотя если мне ясно, что команда будет работать долго, то я прибиваю её, если уже запустил, запускаю её в screen и просто занимаюсь другими делами на других тегах. Благодаря тому, что теги повешены на хоткеи, мне нужно около двух секунд, чтобы проверить, закончилось ли выполнение.
Я бы сказал, что наилучшим тренажером будет какой-нибудь реальный текст (приличного объема) или кусок кода. к примеру, мне сильно помогло то, что срочно надо было написать некоторое количество кода. С огромным количеством ошибок писал, не смотреть же все время в шпаргалку да и раз начал сдаваться было бы как-то странно. Спустя неделю количество ошибок заметно сократилось, а сейчас (прошло месяцев четырнадцать) я с йцукен больше ошибок делаю, чем с Двораком.
У Дворака есть один побочный эффект — начинаешь люто ненавидеть qwerty. Печатать на ней можешь, но с напрягом. Сейчас я даже на лабу по информатике прихожу и первым делом садясь за комп переключаю раскладку на Дворак — иначе не могу.
Помимо vi обычно присутствует nano и даже ed, и если последний довольно таки сложен для освоения (да и по сути является чисто командным режимом vim, без отображения всего текста), то nano придерживается привычной вам модели.
Хотя стоит заметить, что обычно != всегда, к примеру на голой FreeBSD nano нет, но ставится он за секунды.
Вообще, писал этот комментарий сразу после трехчасовой работы над грамматикой для lex/yacc, поэтому мои примеры несколько предвзяты.
(<([a-z]+[^>]*)>)(.*)(</\2>)Немного не верно. Правильнее будет:
(<([A-Za-z](?:[A-Za-z0-9:-]*[A-Za-z0-9])?)[^>]*>)(.*)(</\2>)Иначе аттрибуты искать будет в закрывающем тэге.
А вообще нужно еще корректно описать формат аттрибутов, а не с помощью
[^>]*.Да и с вложеными тегами облажаться можно. Короче, прописная истина: использовать регулярные выражения для разбора xml — себе дороже.
Кстати рекомендую попробовать http://www.kaufmann.no/roland/dvorak/, от обычного Дворака отличается тем, что цифры перенесены в верхний регистр, немного сменились положения знаков препинания и цифры расположены как в первоначальной раскладке Дворака — 7531902468.
А где шестнадцатеричные значения надо вводить строго в верхнем регистре?
Да. У самого раскладка переключается по Caps Lock и я не испытываю трудностей с набором констант, зажимая shift.
UPD. Я всегда буду обновлять комментарии, прежде чем писать.
А вообще есть очень полезное расширение KB SSL Enforcer (Поищите в WebStore для хрома), для других браузеров есть аналоги. Если сайт поддерживает https, то расширение автоматически переключает вас на него.
А вообще, было бы интересно добавить особое поведение компилятору, чтобы он ругался на быдлокод.
MyClass.cpp:354:5: error: What the fuck? Why method count() contains 9 variables with one letter names?Одна из причин, по которой не люблю python (ой сейчас я огребу), именно
_.__.___.Тут надо знать меру, IMHO больше одного символа "_" подряд — недопустимо.
Благодаря
throwне забываешь об исключениях, когда используешь метод.А по поводу algorithm:
Читается легче, чем
или
Давайте закроем тему, все равно в итоге каждый останется при своем мнении.
«визуальный опыт» (очевидно «visual experience»),
«для улучшения пользовательского опыта» (очевидно «user experience»).
по теме — при использовании asm.js они расчитывают получить код, который выполняется всего вдвое медленнее, чем нативный (буквально на днях была об этом статья), учитывая, что сейчас получаются довольно неплохие игры, работающие на мобильных устройствах, то написать игру, которая не будет тормозить в десктопном браузере — реально. А целесообразность покажет время.
Всё учесть не реально, к примеру во всей статье и в комментариях нет ни одного упоминания тернарного оператора. Хотя обычно тот, кто составляет такой документ прямо его зарещает (еще одна тема для холивара — не редко он читается легче, чем конструкция
if/else).Читаемость кода — очень субъективная штука. Если мне доводится писать подобные рекомендации, то я пишу примерно следующее:
CamelCase;#pragma once;case,private,protected,publicприравниваются к меткам;autoиdecltype;static_assert;constв параметрах методов;final,override;constexpr;Остальное — на собственное усмотрение. Уже в перечисленном обычно находится пяток тем для споров, из которых уже выводятся окончательные требования к стилю в проекте.