• xonsh — python как замена shell

      Удивительно, на на хабре до сих пор нет поста о такой, весьма интересной, замене шеллу как xonsh (github), с моей точки зрения синтаксис всяких shell'ов ужасен и не вижу никаких оснований сохранять его в 21 веке, а Python, в свою очередь, обладает прекрасным синтаксисом и массой других преимуществ, поэтому, на мой взгляд, он и должен быть языком автоматизации по умолчанию, чего и пытаеся достичь xonsh.


      Какое-то время использую xonsh, поэтому думаю, что могу рассказать о нём достаточно для того, чтобы начать пользоваться.

      Читать дальше →
    • Что нужно запомнить программисту, переходящему на Python

      • Tutorial

      Когда-то давно, в студенческие годы, меня укусил питон, правда инкубационный период затянулся и получилось так, что я стал программистом на перле.


      Однако в какой-то момент перл исчерпал себя и я решил заняться питоном, сначала просто делал что-то и разбирался с тем, что нужно для данной задачи, а потом понял, что нужны какие-то систематизированные знания и прочитал несколько книг:


      • Билл Любанович «Простой Python. Современный стиль программирования»
      • Дэн Бейдер «Чистый Python. Тонкости программирования для профи»
      • Бретт Слаткин «Секреты Python: 59 рекомендаций по написанию эффективного кода»

      Которые мне показались вполне подходящими для понимания основных тонкостей языка, хотя не помню, чтобы в них упоминалось про slots, но и не уверен, что это реально нужная фича — если уже по памяти прижало, то скорее всего одного этого способа будет недостаточно, но это всё зависит от ситуации.


      В итоге у меня накопились какие-то заметки об особенностях питона, которые, как мне кажется, могут быть полезны тому кто пожелает мигрировать на него с других языков.

      Читать дальше →
    • Блокчейн это не экономика, это политика. Хайп не туда

        Был я недавно на конференции и у меня сложилось впечатление, что даже специалисты как-то слишком оптимистично смотрят на все эти якобы децентрализованные блокчейны.

        Это заставило меня задуматься над теми идеями, которые ранее я уже формулировал, но держал их в фоне, и вот что получилось.
        Читать дальше →
      • Семантическая разметка: LaTeX, DocBook или ???

          Писал комментарий к статье и понял, что надо выносить в отдельный пост.
          Как многие отмечают там в комментариях статья отстой, человек не разбирается и смешал всё в кучу, попробую поделиться своими выводами от использования разных разметок.
          Читать дальше →
        • Современный найм — отстой

            Прежде чем начать сей вопль отчаяния, вызванный безумием этого мира, хотелось бы кратко сказать о себе — рограммист, руководитель программистов (нанимался и нанимал), значительный опыт разработки только на языке Perl.

            Perl — это когда-то бывший популярным для веба, но ныне умирающий, язык. Умирающий вполне обоснованно, поэтому хотелось бы слезть с него на что-то массово востребованное (Java).

            Проблема


            Сменить стек технологий — это не такая простая задача, проблема в том, что если у тебя в опыте работы не указан конкретный язык программирования, а то и конкретный фреймворк/библиотека, то ты считаешься неподходящим кандидатом.
            Читать дальше →
          • Свободу информации

              Когда-то на хабре, я выкладывал заметку с предложением как можно было достичь компромисса между правообладателями и пользователями. Обратной связи было немного, а та, что была не привела к значимым изменениям в моей концепции.

              Впоследствии я добавил некую выжимку из этой статьи в свою книгу и думал что вопрос решён.
              Однако, прочитав доклад «Анархономика» Копенгагенского Института исследований будущего и подискутировав с одним из немногочисленных читателей моей книги, я изменил своё мнение.
              Теперь я считаю, что копирование не должно преследоваться государством, идея, конечно же, не новая, но ранее она мне казалась недостаточно обоснованной, а теперь, как мне кажется, я смог достаточно убедительно обосновать её.
              Читать дальше →
            • Почему я больше не хочу програмировать на Perl

                Про недостатки перла как языка и платформы сказано многое, например, про то, что нет спецификации языка, про то, что странный синтаксис к которому нужно долго привыкать и т.д.

                Достаточно того, что авторы языка, задумывая новые версию, по сути создали новый язык мало похожий на исходный (Perl 6), тем самым признали что текущий перл вышел не очень удачным, что в принципе понятно т.к. язык создавался как замена shell'у, а потом оброс фичами.

                Я бы хотел сказать о своих личных наблюдениях, которые привели меня к тому, что работать на перле я пойду только в крайнем случае, несмотря на то, что этой мой основной язык.
                Читать дальше →
              • Нужны ли социальные сети?

                  Прежде чем начать разговор о социальных сетях, необходимо дать определение социальной сети, а значит описать то, без чего социальная сеть не будет таковой.

                  Социальная сеть это люди (объективная информация о человеке, его профиль) и связи между ними (тип отношений и субъективное мнение/знание индивидов друг о друге).

                  Всё остальное можно отбросить — вполне можно представить социальную сеть без обмена музыкой и видео, даже без блог-платформы, без игр и приложений, без обмена сообщениями и прочего (ходят слухи про какие-то стикеры, уверен — они тоже не обязательны).

                  Далее необходимо вспомнить историю социальных сетей, вернуться к истокам. Начать необходимо со времён когда представители вида homo sapiens жили малыми группами (до 150-200 особей) на значительном удалении друг от друга.
                  Читать дальше →
                • Почему земляне делают глючный софт и железо

                    Думаю никто не станет спорить с тем, что качество сколь-либо сложных систем создаваемых землянами далеко от идеала. Конечно, можно сказать, что всё работает — самолёты летают, космические корабли бороздят просторы орбиты Земли и т.д.

                    Но при этом все привыкли к тому, что ПО на их устройствах работает непредсказуемо, через раз, что даже установка самых последних обновлений не гарантирует отсутствия проблем с безопасностью, что часто в открытом, массово используемом коде находят ошибки существующие там много лет, что даже у крупных и «технологических» компаний бывают сбои и утечки данных, что космические аппараты разбиваются или теряют часть функциональности вовсе не из-за козней инопланетян (марсиане клянутся что не сбивали ExoMars).

                    Хотелось бы рассмотреть причины и возможные пути решения этой планетарной проблемы.
                    Читать дальше →
                  • Объективные критерии качества Perl кода

                      Захотелось мне объективных критериев качества кода и конечно я вспомнил про свои давние наработки (коллекцию нефункциональных тестов, см. тут и тут).
                      Ещё тогда была идея оформить их не в виде коллекции тестов, а в виде отдельной утилиты, но удалось сделать только теперь, встречаем perlqual (от perl quality).
                      Читать дальше →
                    • Работа будущего

                        Сегодня большая часть работы выглядит так: есть некий деловой человек-владелец бизнеса, который нанимает людей для делегирования им каких-то видов деятельности.
                        Цель дельца — заработать на машину/дом/яхту/остров и т.п. в зависимости от амбициозности.
                        Нанятые сотрудники — это винтики в механизме, создатель механизма не очень-то заинтересован в том чтобы винтики возомнили себя бизнесменами, поэтому старается не перегружать никого информацией о всех тонкостях бизнеса (некоторая разновидность принципа «разделяй и властвуй»).
                        Золотое правило управления: В каждой фирме всегда есть один человек,
                        который понимает что происходит на самом деле, вот его-то и нужно
                        уволить в первую очередь.

                        Мотивированы эти сотрудники денежными средствами необходимыми для выживания, Маркс называл это отчуждённым трудом.
                        Есть конечно исключения, который выглядят как инопланетяне или посланцы из будущего
                        Читать дальше →
                      • Что делать?

                          В последнее время много говорят о том, как быть эффективнее, но мне почему-то кажется, что это не работает. Нет, конечно, некоторые практики могут быть полезны, нельзя отрицать, что совет «не отвлекаться на коммуникации во время работы, требующей концентрации» полезен, хотя он очевиден и не требует прочтения книг и посещения тренингов. Суть в том, что если вы занимаетесь бессмысленной с вашей точки зрения деятельностью, то никакая система не поможет, хотя нет, есть один вариант, если вы занимаетесь нетворческим трудом, то надсмотрщик с плетью может помочь, ну или голод, например.
                          Читать дальше →
                        • Правообладатели vs пользователи: компромисс

                            Хотелось бы попытаться сформулировать как мог бы выглядеть компромисс между владельцами/производителями развлекательного контента и потребителями.

                            Противостояние «пиратов» и держателей прав на контент (в первую очередь развлекательный) выглядит сегодня так.
                            С одной стороны владельцы прав на контент (обычно огромные корпорации), которые владеют правами на произведения:
                            Читать дальше →
                          • Что ускоряет принудительная сверхурочная работа

                              Многие аутсорсинговые компании грешат тем, что по любому капризу заказчика готовы заставлять (отдельный вопрос могут ли заставить, но это зависит от личностных качеств человека, многие соглашаются) сотрудников работать в выходные, я уверен что это совершенно неразумно почти всегда. Конечно с точки зрения аутсорсера и конкретного менеджера всё выглядит отлично — проект ускоряется, менеджер получает премии за выполнение сроков, заказчик доволен, заказчик платит больше денег, сотрудники получают двойную оплату (правда это в самом лучшем случае). Вроде все должны быть рады.
                              Читать дальше →
                            • Что должен знать начинающий Perl разработчик о перловой инфраструктуре

                                В связи с тем, что дефицит кадров в ИТ отрасли велик, а перловиков совсем мало (а те, что есть, уже хотят быть техдирами и получать много денег), многие конторы с радостью берут способную молодёжь для превращения в перловиков.
                                Компания, в которой я сейчас работаю, тоже об этом задумалась и я вспомнил свою идею набросать некую шпаргалку-карту для начинающих шеф-поваров по приготовлению перловой каши.

                                Сразу хотелось бы отмести разговоры о смерти перла, вроде где-то тут не помню кто писал, что если технология перестала быть модной и кажется мёртвой, то это означает, что технология зрелая, понятна её область применения и нужно идти и работать, а не трещать языками.
                                Perl 6 считаю другим языком и его долгое и мучительно рождение не мешает жить и развиваться перлу.

                                Конечно бывает что технологии умирают, однако если посмотреть на даты в истории коммитов в репозитории перла и даты в ленте заливки/обновления дополнительных модулей, то не скажешь что перл зачах — жизнь кипит ежедневно. Как-то я специально мониторил модули на CPAN — десятки модулей обновляются/заливаются ежедневно.

                                Также отмечу что весь свободный софт, и перл не исключение, делается для Unix-подобных ОС, на винде всё это можно делать, но не нужно, рекомендую сразу осваивать нормальную для девелопера ОС (GNU/Linux, FreeBSD).

                                Как обычно всё будет в шпаргалочном стиле, ссылки будут в основном на официальные доки, всяких док для быстрого старта полно в сети:
                                Читать дальше →
                              • Шпаргалка начинающего Debian/Ubuntu администратора по управлению пакетами

                                  Долгое время меня глодало незнание того, как сделать некоторые элементарные вещи в дебиановских менеджерах пакетов, но, как часто бывает, спросить рядом было не у кого, а до написания куда-либо руки не доходили. И вот наконец вопросы вызрели и я написал свой вопрос в дебиановскую рассылку. Естественно оказалось что пропустил что-то очевидное, но и узнал много неочевидных полезностей, посему решил набросать шпаргалку, авось кому пригодится.
                                  Читать дальше →
                                • Шпаргалка по mock-объектам в Perl

                                    В богатом русском языке к сожалению нет некоторых слов, поэтому вместо того чтобы начать заметку словами «Пися/Пиша модульные тесты», я вынужден удлинить фразу.
                                    В процессе написания модульных тестов часто приходится заглядывать в старые тесты, чтобы быстро вспомнить как подменить тот или иной объект, поэтому я решил что пришло время набросать небольшую шпаргалку, авось и кому-то ещё сгодится.
                                    Сразу прошу сильно не пинать, это шпаргалка, а не руководство, поэтому всё предельно кратко.
                                    Читать дальше →
                                    • +11
                                    • 2,4k
                                    • 8
                                  • Unix-way напоминалка

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

                                      Поиск по хабру показал что ещё никто не рассказывал об инструменте, который я решил использовать. Важным отличием этого инструмента является то, что это настоящий unix-way, что намекает на одинаковую её работу на всех GNU/Linux дистрибутивах, хотя по слухам утилита работает и на ОС от Apple и даже на MS Windows (cygwin), хотя автор не очень рад такому использованию.
                                      Читать дальше →
                                    • Нефункциональное модульное тестирование — «главное чтобы блестел». Часть 2

                                        В прошлом году я написал небольшую заметку о нефункциональном тестировании — т.е. о тестах пытающихся выявить уродливый и сложный в сопровождении код. Конечно такие тесты не гарантируют идеального кода, но какой-то минимальный уровень качества обеспечат т.к. несмотря на очевидность требований этих тестов многие их игнорируют и потом приходиться разбираться в процедурах на 5 000 строк.
                                        Заметка в ЖЖ не вызвала ожидаемой мной обратной связи (хотелось бы знать что я упустил), поэтому несмотря на сопротивление хабра решил выложить продолжение тут (спасибо людям добавившим кармы).
                                        Со времени публикации первой заметки произошли следующие изменения:
                                        Читать дальше →
                                      • Удобная и безопасная работа с серверами по ssh

                                          Так как по работе приходится много удалённо работать с unix серверами, то пришлось разобраться как это делать комфортно и безопасно и со временем возникло желание поделиться. Данная заметка не претендует на новизну информации, но мне показалось что нигде нет цельного руководства, нечто похожее есть только на английском.
                                          Описание тестировалось под Debian GNU/Linux с KDE, но должно подходить под основную массу unix систем/дистрибутивов/оконных менеджеров и графических сред.
                                          Читать дальше →