• Как бороться с привычками запрограммированным людям

    • Translation
    Перевод статьи из микроблога биохакера Сержа Фаге.

    В человеке есть запрограммированные паттерны поведения, которые всегда запускаются одним и тем же механическим, линейным способом. Так называемые «страстные желания» (англ. – cravings) – вещи и занятия, которые очень хочется начать делать в определённые моменты времени.

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


    Читать дальше →
  • Визуализация странных аттракторов в Plotly — это шедеврально

      Поэзия — это очень красивый, зачастую глубокомысленный слог, которым мы не пользуемся в обыденной жизни, но так им любим наслаждаться. То же самое можно сказать и о математике. В фильме «Пи» главный герой называет математику «языком природы», а в фильме «Игры разума» главный герой говорит о ней, как об «особом виде искусства». Мы же, в обыденной жизни, можем напрочь забыть об этом.

      Облик странных аттракторов необычен и притягателен даже в двумерном измерении. Plotly позволяет строить их в трех измерениях, причем он дает возможность очень легко получить именно 3D-модель, которую можно «вертеть» и сквозь которую можно «пролетать» — ощущение «прикосновения».

      image

      Читать дальше →
    • Как работают кодировки текста. Откуда появляются «кракозябры». Принципы кодирования. Обобщение и детальный разбор

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

        Чтобы получить детальное понимание этого вопроса придется прочитать и свести воедино не одну статью и потратить довольно значительное время на это. В данном материале же это все собрано воедино и по идее должно сэкономить время и разбор на мой взгляд получился довольно подробный.

        О чем будет под катом: принцип работы одно байтовых кодировок (ASCII, Windows-1251 и т.д.), предпосылки появления Unicode, что такое Unicode, Unicode-кодировки UTF-8, UTF-16, их отличия, принципиальные особенности, совместимость и несовместимость разных кодировок, принципы кодирования символов, практический разбор кодирования и декодирования.

        Вопрос с кодировками сейчас конечно уже потерял актуальность, но все же знать как они работают сейчас и как работали раньше и при этом не потратить много времени на это думаю лишним не будет.
        Читать дальше →
      • Забота о себе во время написания кода

        Привет, Хабр! Представляю Вашему вниманию перевод статьи «Developer health — taking care of yourself as you code» автора Christopher Kad.

        Недавно мне поставили диагноз «тендинит», и, конечно, в этом нет ничего особенного, и его можно вылечить, но я понял, что не слишком хорошо относился к своему здоровью до этого момента. Я говорю не о пробежке или посещении спортзала несколько раз в неделю, а о других, казалось бы, мелочах, которые оказывают серьезное влияние на нашу карьеру.

        Кто бы мог подумать, мои руки важны для написания кода.

        Давайте подумаем, что Вы можете сделать прямо сейчас, чтобы предотвратить проблемы со здоровьем в будущем.
        Читать дальше →
      • Бег — идеальный спорт для удаленщика. Часть 2: физика и матчасть



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

          Итак, что даёт нам бег?
          Читать дальше →
        • Боль в запястьях и компьютерные мышки

            В одно прекрасное утро я осознал, что не могу опереться на правую руку — ощутимо болело запястье. Проводя 8 часов за компьютером на работе и ещё пару-тройку часов дома, я всегда несколько переживал из-за перспектив заработать туннельный синдром. Когда речь заходит про компьютеры и здоровье, то на слуху 3-4 общие проблемы: ухудшение зрения, гиподинамия и набор массы тела, проблемы со спиной, наконец, «туннельный синдром» (синдром запястного канала) кистей рук. Но я столкнулся с ещё одним типичным недугом, о котором, почему-то, ранее не слышал. Особенно применительно к компьютерам.


            Основной подозреваемый

            Тенденит — воспаление сухожилий (не только рук).
            Читать дальше →
          • Зарубежные заказчики и легализация доходов программиста в РФ. Что надо делать и сколько это всё будет стоить?

            image


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


            Сразу пишу к чему пришёл в ходе изысканий:


            1. ИП на ПСН
            2. поступление оплаты за услуги по разработке ПО на счёт ИП в долларах США
            3. основание для оплаты инвойс, сумма которого не превышает 200 000 руб.
            4. инвойсы выставляются по-мере необходимости
            5. ККТ не используется

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


            Почему так? Какие могут быть ещё варианты? Чем плохи для меня Upwork, PayPal и Payoneer? Попробую ответить под катом. Кому интересны все эти детали, читаем дальше :-)

            Читать дальше →
          • Введение в Git

            • Tutorial

            Оглавление


            Предисловие
            1. Настройка git
            ....1.1 Конфигурационные файлы
            ....1.2 Настройки по умолчанию
            ....1.3 Псевдонимы (aliases)
            2. Основы git
            ....2.1 Создание репозитория
            ....2.2 Состояние файлов
            ....2.3 Работа с индексом
            ....2.4 Работа с коммитами
            ....2.5 Просмотр истории
            ....2.6 Работа с удалённым репозиторием
            3. Ветвление в git
            ....3.1 Базовые операций
            ....3.2 Слияние веток
            ....3.3 Rerere
            4. Указатели в git
            ....4.1 Перемещение указателей
            5. Рекомендуемая литература

            Предисловие


            Git — самая популярная распределённая система контроля версиями.[1][2]

            Основное предназначение Git – это сохранение снимков последовательно улучшающихся состояний вашего проекта (Pro git, 2019).
            Читать дальше →
          • Пилим статью на Хабр

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



              А также про выбор и покупку российских вин.

              Читать дальше →
              • +12
              • 2.6k
              • 8
            • Как заговорить на английском через месяц. 9 простых и проверенных шагов

              Хабр, привет!

              Меня зовут Марина Могилко, я кофаундер онлайн-платформы LinguaTrip.com.

              Мы с командой помогаем людям выучить язык и поступить в зарубежный университет. Я знаю, что за месяц английский не выучишь, но иногда бывают ситуации, когда надо срочно подтянуть язык — предстоит поездка за рубеж или намечается работа в англоязычном проекте. А возможно, просто нет больше сил учить язык и хочется уже начать на нём разговаривать. Для таких случаев мы подобрали простые шаги, которые доступны любому работающему человеку с часом свободного времени в день.

              Все советы рассчитаны на тех, кто уже обладает минимальным уровнем английского — учил его в школе или на курсах. Но заговорить через месяц смогут и те, кто только знакомится с языком, правда, им будет труднее. В статье не будет рекомендаций типа «учите язык вместе с носителем языка» или «погрузитесь в языковую среду». Это действенные методы, но они не всегда подходят.

              Итак, начинаем! Осторожно: под катом мини-словарик на все случаи жизни.

              image
              Читать дальше →
            • AI для людей: простыми словами о технологиях

                Представляем исчерпывающую шпаргалку, где мы простыми словами рассказываем, из чего «делают» искусственный интеллект и как это все работает.

                В чем разница между Artificial Intelligence, Machine Learning и Data Science?



                Разграничение понятий в области искусственного интеллекта и анализа данных.
                Читать дальше →
                • +29
                • 26.6k
                • 7
              • 9 полезных браузерных расширений для разработчиков (cписок на 2020 год)

                • Translation
                Как упростить себе жизнь при помощи браузерных плагинов.

                Хитрые веб-разработчики умеют пользоваться браузером на уровне «god-mode». Расширения(плагины, add-on) чрезвычайно полезны, когда речь идет об улучшении рабочей среды и повышении производительности написания кода.

                Не за горами 2020 год. Появилось много новых расширений. Я собрал наиболее полезные расширения для веб-разработчиков и поместил их в один список.

                Refined GitHub


                Refined Github упрощает интерфейс GitHub и добавляет полезные улучшения.

                image

                Refined Github

                «Надеемся, что GitHub заметит как необходимы эти улучшения и добавит некоторые из них. Поэтому, если вам нравится какое-либо из этих улучшений напишите, пожалуйста, в службу поддержки GitHub об этом».
                — создатели Refined Github.
                Читать дальше →
                • +16
                • 18k
                • 8
              • Холивар. История рунета. Часть 7. YouTube: комики, зашквары и Кремниевая долина

                  Холивар. История рунета. Часть 1. Начало: хиппи из Калифорнии, Носик и лихие 90-е
                  Холивар. История рунета. Часть 2. Контркультура: пАдонки, марихуана и Кремль
                  Холивар. История рунета. Часть 3. Поисковики: Яндекс vs Рамблер. Как не делать инвестиции
                  Холивар. История рунета. Часть 4. Mail.ru: игры, соцсети, Дуров
                  Холивар. История рунета. Часть 5. Тролли: ЖЖ, бешеный принтер, Потупчик
                  Холивар. История рунета. Часть 6. Блокировки: Лурк, Лента, 282-я и китайский путь



                  – Привет. Дальше что? Как дела?… (Рома Жёлудь)

                  «Ютьюб» – самый посещаемый сайт в России, особенно среди молодёжи. Первой звездой русского «Ютьюба» стал Рома Жёлудь, записывавший бесхитростные ролики о тяжёлой подростковой доле:

                  – Что я думаю о школе? [Обсценная лексика]

                  К 16 годам Рома стал кумиром миллионов девичьих сердец. Впрочем, ненавидели его с той же силой.

                  Disclaimer. Эта статья — расшифровка замечательного фильма «Холивар» Андрея Лошака. Есть люди, которые экономят время и любят текст, есть те, кто не может на работе или в дороге смотреть видео, но с радостью читает Хабр, есть слабослышащие, для которых звуковая дорожка недоступна или сложна для восприятия. Мы решили для всех них и вас расшифровать отличный контент. Кто всё же предпочитает видео — ссылка в конце.
                  Читать дальше →
                • Балансировка красно-чёрных деревьев — Три случая

                    Двоичные деревья поиска — эта структура данных для хранения элементов с возможностью быстрого поиска. Идея проста и гениальна: «меньше – налево, больше – направо». На этом простота заканчивается и начинаются сложные вопросы балансировки дерева, чтобы оно не превратилось в длинную ветку.




                    В этой статье мы дадим определение, перечислим правила размещения элементов в красно-чёрном дереве, рассмотрим алгоритм балансировки и закрепим сказанное на примере. Более подробно эту тему, а также другие виды двоичных деревьев поиска мы изучаем на курсе «Алгоритмы для разработчиков».


                    Читать дальше →
                  • WolframClientForPython | Новая клиентская библиотека Wolfram Language для Python

                    • Translation

                    Оригинал перевода в моём блоге

                    Получение полного доступа к языку Wolfram Language из языка Python


                    Язык Wolfram (Wolfram Language) дает программистам в руки уникальный язык с огромным множеством сложных алгоритмов, а также встроенных знаний об окружающем мире. На протяжении многих лет люди спрашивают нас, как получить доступ ко всем возможностям нашей технологии из других программных сред и языков программирования. Шли годы и мы создали множество таких решений как Wolfram CloudConnector для Excel, WSTP (протокол символьной передачи Wolfram) для программ на C/C++ и, конечно, J/Link, который обеспечивает доступ к Wolfram Language непосредственно из Java.

                    Поэтому сегодня мы рады официально представить вам новое долгожданное решение по объединению языков, что позволит напрямую и эффективно вызывать Wolfram Language из языка Python: Клиентскую библиотеку Wolfram для Python. И что особенно важно, это клиентская библиотека имеет полностью открытый исходный код размещенный на git-хранилище WolframClientForPython под лицензией MIT, так что вы можете сколько угодно копировать ее и как угодно использовать ее по своему усмотрению.

                    Это легко и просто


                    Клиентская библиотека Wolfram позволяет легко интегрировать большую коллекцию алгоритмов языка Wolfram Language, а также базу знаний Wolfram непосредственно в любой уже существующий код Python, что значительно экономит ваше время и силы при разработке нового кода. В этой статье мы сначала покажем вам, как настроить соединение между Python и Wolfram Language, рассмотрим несколько методов и примеров, которые могут быть использованы для вычислений на языке Wolfram Language, а затем и вызова его для использования из Python. Для получения более полной справочной информации перейдите по ссылке: домашняя страница документации для клиентской библиотеки Wolfram для Python.
                    Читать дальше →
                    • +15
                    • 4.5k
                    • 6
                  • Снова про phpQuery

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

                    Содержание статьи:


                    Читать дальше →
                  • 30.000$ за решение задач о Правиле 30 для клеточных автоматов — конкурс от Стивена Вольфрама

                    • Translation

                    Оригинал перевода в моём блоге

                    Прямая трансляция Стивена Вольфрама о конкурсе (на английском)

                    Сайт конкурса

                    Поясним для читателей, что означает «Правило 30» — это элементарный клеточный автомат (см. Wiki), состояние которого (правило построения нового уровня ячеек на основе старого) в двоичной системе счисления задается как 0-0-0-1-1-1-1-0, что можно интерпретировать как 30 в десятичной системе счисления.

                    Итак, с чего все началось? — «Правило 30»


                    Как может быть так, что что-то невероятно простое производит на свет что-то невероятно сложное? Прошло уже почти 40 лет с того момента, как я впервые познакомился с Правилом 30, но оно до сих пор поражает меня и приводит в восторг. На долгое время оно стало моим личным любимым открытием в истории науки, за эти годы оно изменило все мое мировоззрение и привело меня к разнообразным новым типам понимания науки, технологий, философии и многому другому.

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

                    Итак, сегодня я предлагаю соискателям 30000 долларов США в качестве общей суммы призов за ответы на три основных вопроса о Правиле 30.

                    Правило 30 чрезвычайно просто:
                    Существует последовательность строк черных и белых клеток (ячеек) и, учитывая конкретную строку чёрно-белых ячеек, определяются цвета ячеек в строке ниже, рассматривая каждую ячейку в отдельности и ее смежных соседних ячеек, затем к ним применяется следующее простое правило подстановки, а именно:


                    Код
                    RulePlot[CellularAutomaton[30]]
                    [Посмотрите ролик, в котором за пару минут рассказывается суть клеточных автоматов и Правила 30 — примечание переводчика]
                    Читать дальше →
                  • Время высокой точности: как работать с долями секунды в MySQL и PHP

                    • Tutorial


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


                    В этой статье я расскажу про способы использования времени с дробными частями секунды в MySQL и PHP. Она задумывалась как туториал, поэтому материал рассчитан на широкий круг читателей и местами повторяет документацию. Основную ценность должно представлять то, что я собрал в одном тексте всё, что нужно знать для работы с таким временем в MySQL, PHP и фреймворке Yii, а также добавил описания неочевидных проблем, с которыми можно столкнуться.


                    Я буду использовать термин «время высокой точности». В документации MySQL вы увидите термин “fractional seconds”, но его дословный перевод звучит странно, а другого устоявшегося перевода я не нашёл.

                    Читать дальше →
                  • Переезд: подготовка, выбор, освоение территории

                      Кажется, что IT-инженерам легко живется. Они хорошо зарабатывают и свободно перемещаются между работодателями и странами. Но это все не просто так. «Типичный айтишник» красноглазит за компьютером со школы, а потом еще в университете, магистратуре, аспирантуре… Дальше работа, работа, работа, годы продакшн, и только тогда переезд. А потом опять работа.

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



                      Переезд в другой город, страну, континент или планету не так уж прост. Иной менталитет, культура, правила, законы, цены, медицина, а еще надо найти куда переезжать, оффер, жилье, сделать визу… тысячи нюансов. Как не получить нервный тик, а только максимальную выгоду и удовольствие от процесса, расскажет Денис Неклюдов (nekdenis).

                      По каким причинам люди уезжают, что их ждет там и как выбирать, куда переехать? Как сориентироваться на рынке труда, найти работу, подготовиться к интервью и выбрать самый выгодный оффер. На примере переездов Дениса на Пхукет, в Сингапур, Сан-Франциско и опыта множества других экспатов подготовимся к новым приключениям. Рассказ Дениса — это дорожная карта или чек-лист, который будет полезен всем, кто задумывается о переезде.

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

                      Всем привет.

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

                      Итак, начнем. Но не с самого начала – думаю, что такое граф и какие они бывают (ориентированные, неориентированные, взвешенные, невзвешенные, с множественными ребрами и петлями или без них), мы все уже знаем.

                      Итак, поехали. Какие же варианты структур данных для «графохранения» мы имеем.
                      Читать дальше →