Electrum 2.0 & Trezor — компиляция на Ubuntu

На данный момент, девайс Trezor работает только через сайт. Но есть бета версия программы Electrum 2.0, которая уже работает с Трезором. Но чтобы её поставить — её надо откомпилировать. Здесь я опишу механизм полный компиляции не только Electrum 2.0, но также и плагина для Trezor, полностью из исходников, включая драйвер USB. Эти инструкции получены на основании моего опыта. Те инструкции, что есть в интернет — не работают как есть. Их пришлось доработать 🙂 Читать далее Electrum 2.0 & Trezor — компиляция на Ubuntu

Начинаю писать об Ubuntu

Привет всем!

Более года я уже сюда ничего не писал. Просто мало времени свободного. Но сейчас появилось желание для своих друзей, которых подсадил на Ubuntu, писать заметки, посвящённые этой ОС. Я сам недавно стал работать с этой ОС и каждый раз что-то новое узнаю. Попробую делиться с этим. Надеюсь, время буду находить для этого. Читать далее Начинаю писать об Ubuntu

VMWare или VirtualBox?

Недавно познал всю прелесть виртуальных машин из под Windows. Предположим, надо иметь и Windows, и Linux, как сервер, для экспериментов. Раньше я думал, и делал так, что покупал второй комп и ставил на него Unix. Соединял две мишины свитчем или хабом и работал с Unix по сети. Как то слышал я про виртуальные машины, но относился к ним с недоверием. Примерно знал, что они делают. А недоверял, потому что как то не верилось мне, что нормально может работать Unix из под Windows. Но в наше время с многоядерными процессами, кучей памяти, десктопные компьютеры и ноутбуки позволяют решать легко такие задачи.

Читать далее VMWare или VirtualBox?

Cygwin — очень полезная штука под Windows!

Недавно открыл для себя такую классную вещь, как Cygwin!

Если вкратце — то это почти полноценный набор всех утилит, что есть под Unix, но под Windows системой. Лично для меня полезными оказались такие утилиты, как: bash & rsync. Первый позволяет использовать всю мощь shell команд, но под Windows, второй — с легкостью делать синхронизацию и резервирование.

Ранее для синхронизации я использовал Good Sync, но сейчас решил отказаться от него Читать далее Cygwin — очень полезная штука под Windows!

Perl — создание дистрибутива

Как приятно, когда кому то надо то, о чём ты пишешь. Вот решил исправить ситуацию и продолжить цикл своих статеек по perl. На этот раз про создание дистрибутива perl проекта.

Итак, с чего же начать создание Perl дистрибутива своего проекта?

Для начала, давайте рассмотрим общие принципы построение дистрибутива на Perl. Читать далее Perl — создание дистрибутива

Почему они называются I18N и L10n?

Ух, давно не писал я в свой блог. Решил немного встряхнуть его этим мелким постом 😉

Итак, в мире программирования есть такие два понятия — I18N и L10N. Это абревиатуры Internationalization и Localization соотвественно. Но что за цифры в них? Я очень долго не знал ответа на этот вопрос и он меня иногда пугал. Я даже как то думал, что по началу интернационализация в Unix была сделана для 18-ти языков, и от туда название…

Но оказалось всё ещё проще. Чтобы не писать Internationalization, решили сократить — оставили первую и последнюю буквы, а цифры соответствуют количеству букв между ними, которые убрали из-за сокращения. То же и Localization — между ‘L’ и ‘N’ идёт 10 букв. Вот так всё оказывается просто получилось…

20 лет первому посту о Linux :)

Перепечатано с BugTraq:

25 августа 1991 года в 20:57:08 GMT некий студент из Хельсинки с адресом torvalds@kruuna.helsinki.fi отправил в конференцию comp.os.minix сообщение под заголовком «What would you like to see most in minix?», в котором рассказал, что пишет бесплатную операционную систему, свободную от кода minix (чисто хобби, не будет такой большой и профессиональной, как gnu), в которой уже вроде работают bash 1.08 и gcc 1.40, но нет переносимости, и вряд ли когда-нибудь она будет работать с чем-то помимо ATшных винчестеров.

От себя: Читая этот блог, вы читаете его с Linux сервера 🙂 Неплохая бесплатная операционнная система получилась! 😉 Что уж говорить про Linux-ы Google

SSH Telnet под Windows

Давно работаю под ShellGuard, но в последнее время стал искать замену (мало того что он платный и уже не поддерживаемый, дак еще и не работает с UTF-8). Перепробовал много telnet-ов, но остановился на проверенном и нормально работающем — PuTTY. Но вот есть у него довольно неприятная проблема. ShellGuard работает почти с теми же клавиами, что привычные Unix терминалы — Alt + F1(F2, … F12) — переключает на нужные открытые консоли, а PuTTY работает всегда с одной консолью и для новой надо заново запускать новый процесс, а переключаться между ними не удобно — Alt+Tab — обычное переключение в Windows.

Долго искал — можно ли как-то приблизиться к сервису, близкому ShellGuard, и нашел максимально хорошее решение Читать далее SSH Telnet под Windows

perl, utf8 и encode & decode термины

Полезно будет знать Perl программерам. Дело в том, что часто в документациях к perl (perldoc utf8) и модулям (например JSON) употреблаются такие термины, которые лично меня часто путали своим смыслом, а именно: encode to UTF-8, decode to UTF-8. Что подумает нормальный программер, услышав слово encode to? То, что что-то кодируется во что-то, а именно «encode to UTF-8» -> «кодирование в UTF-8». Я знаю, что perl хранит внутри себя строки UTF-8 со специальным флагом — если он установлен — строка UTF-8, если нет — бинарная. Поэтому, когда в доке я читал encode to UTF-8, я все время путался — думал, что говорят про установку этого флага. Оказалось, все в точности наоборот.

Правильно так: когда пишут encode to UTF-8, это значит, что внутри перла строка с UTF-8 данными остается как есть, но флаг UTF-8 убирается, и perl начинает вести себя со строкой так, как будто там бинарные (octet) байтовые данные (то есть посути, строка внутри перла перестает быть UTF8, хотя слово «encode» несет в себе другой смысл). И наоборот — decode to UTF-8 -> UTF8 флаг ставится (то есть для perl-а строка становится UTF8).

P.S. В Perl есть такая функция — encode (модуль Encode). Смысл ее в том, чтобы перевести строку из внутреннего содержания на perl (которое всегда UTF-8 внутри, т.е. Unicode символы) в байтовую последовательность, которая бы отражала ту кодировку, которую ей указали (то есть раз байтовая — значит всегда utf8 флаг в результате отсутсвует). Если мы делаем $result = encode(‘utf-8’, $string), то результат как раз будет в том, что флаг utf8 будет просто снят для $result и в реальности никакого переводирования не будет (то есть побайтово внутри perl-а $string & $result будут содержать одни и те же байты, только $string еще будет иметь взведенный utf8 флаг). И это как раз вписывается в те понятия, которые я описал ранее. Для decode и байтового UTF8 всё обратно — флаг utf8 просто ставится в $result.

Вот такая абракодабра… Будьте внимательны!

Немного о супер направлениях в Web на Perl

Немогу не поделиться своими выводами об изучении нескольких новых технологий в Perl и в Web программировании. Немного предистории.

Я сам программирую динамические веб сайты (CGI) только на Perl. Никогда не использовал PHP. Это не только потому, что я фанат Perl, но и дань эффективности — под Perl много модулей, много возможностей, и при грамотном подходе сайты на Perl будут работать быстрее PHP — ведь Perl код после компиляции хранится в памяти в виде байт кода (типа «Пи кода» кода в Pascal). А если знаешь Perl, то и разработка может идти гораздо быстрее. Читать далее Немного о супер направлениях в Web на Perl