• Как я веду Zettelkasten в Notion уже год: стартовый набор и полезные трюки


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

    Я почитал русскоязычные и англоязычные ресурсы и не нашел ни нормального шаблона для Notion, ни объяснения как реализовать главные преимущества метода Zettelkasten. Под катом и то, и другое. 

    Дисклеймер: ни Notion, ни автор метода мне за статью не платили.
    Читать дальше →
  • gogrep: структурный поиск и замена Go кода

      gogrep — это одна из моих любимых утилит для работы с Go. Она позволяет находить код по синтаксическим шаблонам, фильтровать результаты по типам выражений, а также выполнять замену (тоже по шаблону).


      В этой заметке я расскажу как использовать gogrep, а также о VS Code расширении для более удобной работы с gogrep прямо из редактора.


      Читать дальше →
      • +25
      • 3.5k
      • 2
    • Домашний кластер на Dask

        image


        Я недавно проводил исследование, в рамках которого было необходимо обработать несколько сотен тысяч наборов входных данных. Для каждого набора — провести некоторые расчеты, результаты всех расчетов собрать вместе и выбрать "лучший" по некоторым критериям. По сути это bruteforce перебор. Тоже самое происходит при подборе параметров ML моделей с помощью GridSearch.


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


        И поскольку в современной квартире сейчас можно найти больше одного "недогруженного" компьютера, а задача явно подходит для массового параллелизма — пора собрать свой домашний кластер и запускать такие задачи на нем.

        Читать дальше →
      • Как я искал пацанский движок для блога



          Я много пишу в интернетах и мне захотелось завести свой личный стэндалон блог, куда можно писать мелкие заметки и статьи, не подходящие для других площадок. Главная проблема личного блога — мне лень оформлять посты. Чтобы черкануть пару строк в каком-нибудь Wordpress, нужно слишком много телодвижений. Я попробовал несколько разных движков и каждый раз ловил себя на ощущении, что мне не хочется ими пользоваться, намного быстрее и проще писать в записную книжку вроде Evernote или Notion. Так я стал искать идеальный движок для блога, отвечающий всем моим потребностям.

          Мои требования к идеальному движку:


          • Желательно self-hosted — я пережил много закрытий сервисов, от narod.ru до google+ и точно знаю, что рано или поздно все протухает, поэтому надежнее всего держать контент у себя. Также посты могут удалять по каким-то фейковым жалобам или по DMCA, как это происходит на Medium и LiveJournal.
          • Возможность подключения своего домена — мне нужен сайт-визитка со всеми проектами и ссылками в одном месте, где можно разместить портфолио, резюме, контакты.
          • Минимум телодвижений и интерфейса — в идеале интерфейса CMS вообще не должно быть видно, админская панель не нужна, посты должны редактироваться, создаваться и просматриваться в одном месте.
          • Полноценный WYSIWYG редактор — поддержка разметки Markdown и обработка её в реальном времени, подсветка кода, вставка картинок из буфера обмена.
          • Нормальные комментарии — возможность оставлять анонимные комментарии и авторизовываться через максимум соц. сетей для персонифицированных комментариев.
          • Минималистичный внешний вид — я не хочу заниматься версткой и темами, подходящее оформление должно быть из коробки.


          Внутри я рассказываю какой вижу идеальную CMS, редактор постов и комментарии, почему большинство существующих движков устарели на десять лет, и сравниваю между собой разные движки.
          Читать дальше →
        • Подготовка к собеседованиям в IT-гиганты: как я преодолела проклятье алгоритмического собеседования


            Дисклеймер:


            Я не программирую с трёх лет, не знаю наизусть Кнута, не являюсь призёром олимпиад по информатике и чемпионатов по спортивному программированию, не училась в MIT. У меня за плечами образование по информатике и 6 лет опыта в коммерческой разработке. И до недавнего времени я не могла пройти дальше первого технического скрининга в IT-гиганты из FAANG (Facebook, Amazon, Apple, Netflix, Google и подобные), хотя предпринимала несколько попыток. 

            Но теперь всё изменилось, я получила несколько офферов и хочу поделиться опытом, как можно к этому прийти. Речь пойдёт о позиции Software Engineer в европейских офисах перечисленных компаний.
            Читать дальше →
          • Микросервисы на Java: практическое руководство

            • Translation

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


            Примечание: Статья ~ 7000 слов, вероятно, не стоит читать ее на мобильном устройстве. Добавьте ее в закладки и вернитесь позже.


            Содержание


            Читать дальше →
            • +7
            • 10.6k
            • 7
          • Что в Белизне тебе моей или Справочное пособие по гипохлориту натрия («хлорке»)

            • Tutorial
            Не передать, насколько мне приятно это писать. Данная статья полностью профинансирована подписчиками канала LAB66. Ни один производитель описанных в тексте средств -  своего участия не проявил, так что никакой скрытой рекламы, чиcтый альтруизм и потребительский интерес :)

            Сегодня читаем о самом простом, самом доступном и самом действенном антисептике — про гипохлорит натрия (он же «Белизна»). Совместимость с различными материалами, техника безопасности, свойства и эффективность не только против коронавируса, но и против страшной плесени и ее микотоксинов. В качестве «вишенки» — контрольная закупка магазинных отбеливателей и оценка их состава. Чтобы узнать как в эпоху пандемии нас дурят производители бытовой химии и прочий «менеджерский брат» — идем под кат. И обязательно закидываем в закладки. Эта информация пригодится еще не раз ;)


            Даешь нормальную Белизну!
          • Устройство расширений для браузера Firefox (WebExtensions)

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


              Тому, кто разбирается в веб-разработке, будет несложно создать новое расширение для браузера. Сейчас большинство самых популярных браузеров поддерживает стандартную систему разработки, которая использует в основном только JavaScript, HTML и CSS, — WebExtensions.


              Человеку, который никогда раньше не создавал дополнение для браузера на основе WebExtensions, может быть тяжело сразу понять, из каких основных частей оно должно состоять и что может делать. В сети Интернет есть много информации об этой системе, но для того, чтобы создать для себя общую картину, придётся потратить много времени. Эта статья поможет быстро разобраться в устройстве системы WebExtensions и покажет, как лучше ориентироваться в документации к её API. Здесь описывается расширение для браузера Firefox, поэтому почти вся информация, используемая в статье, взята с сайта MDN. Но статья будет полезна и тем, кто хочет создать расширение для других браузеров, поддерживающих WebExtensions, — в первую очередь для Google Chrome и Chromium.


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


              Читать дальше →
              • +20
              • 6.2k
              • 2
            • Закон Фарадея или как магнит застревает в медной трубе

                Магнит в медной трубе
                Изображение взято с сайта «Популярная механика»

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

                И если вы дочитали до этого места и не испугались, добро пожаловать под кат — дальше будет интереснее!
                Читать дальше →
              • [Flipper Zero] отказываемся от Raspberry Pi, делаем собственную плату с нуля. Поиск правильного WiFi чипа



                  Flipper Zero — проект карманного мультитула для хакеров в формфакторе тамагочи, который я разрабатываю с друзьями. Предыдущий пост [1].

                  Много всего произошло с момента первого поста про флиппер. Мы усердно работали все это время и проект претерпел радикальные изменения. Главная новость в том, что мы решили полностью отказаться от Raspberry Pi Zero и делать свою плату с нуля на базе чипа i.MX6. Это значительно усложняет разработку и полностью меняет всю концепцию, но я уверен, что оно того стоит.

                  Также мы до сих пор не нашли правильный WiFi чипсет, который поддерживает все нужные функции для WiFi-атак, при этом поддерживает диапазон 5Ghz и не устарел на 15 лет. Поэтому я приглашаю всех поучаствовать в нашем исследовании.

                  В статье я расскажу, почему мы приняли такое решение, на каком этапе находится проект, текущие задачи, и как можно принять участие.
                  Читать дальше →
                • Snoop Project невероятный инструмент интернет разведки, которого пользователи рунета ждали так долго — доступен

                    image

                    На Github-e выложен OSINT-инструмент, заточенный (в том числе) для поиска %username по СНГ локации


                    UPD: [В связи с добавлением новых функций].
                    Если вам до боли знаком такой софт, как namechk или spiderfoot, то «Snoop Project» вас явно порадует, он даёт «им» фору вместе взятым и это не желтый заголовок «Статья вечерняя» — это реальная «forensic-работа» по цифровым следам в киберпространстве…
                    Читать дальше →
                  • Powered by ZeroTier. Практическое руководство по строительству виртуальных сетей. Часть 1


                      Продолжая рассказ о ZeroTier, от теории, изложенной в статье «Интеллектуальный Ethernet-коммутатор для планеты Земля», перехожу к практике, в которой:

                      • Создадим и настроим частный сетевой контроллер
                      • Создадим виртуальную сеть
                      • Настроим и подключим к ней узлы
                      • Проверим сетевую связность между ними
                      • Закроем доступ к GUI сетевого контроллера извне
                      Читать дальше →
                    • Dell Inspiron 7490: лёгкий металлический ноутбук на каждый день с отличной автономностью

                        Сегодня мы хотим рассказать о ноутбуке Dell Inspiron 7490. Он ориентирован на тех, кто ищет максимально лёгкое и компактное решение на каждый день и, в то же время, не готов переплачивать за флагманские 13- и 14-дюймовые модели. Создавая его, наши разработчики исходили именно из этого, но им удалось добиться большего. Как и XPS 13, Inspiron 7490 тоже заключён в металлический корпус, но он легче! При этом в тонком корпусе нашлось место как для Thunderbolt (Type-C) для зарядки, так и для полноразмерных USB – переходники не понадобятся. А ещё гаджет интересен очень впечатляющим временем автономной работы. Плюс качественный FHD-дисплей, плюс удобная клавиатура… но обо всём по порядку.


                        Читать дальше →
                      • Тренды и торговля на бирже: 4 популярных индикатора технического анализа



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

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


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

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

                            • Translation
                            Прим. перев.: Эта статья, ставшая хитом на Medium, — обзор ключевых (за 2010-2019 годы) изменений в мире языков программирования и связанной с ними экосистемы технологий (особое внимание уделяется Docker и Kubernetes). Её оригинальным автором является Cindy Sridharan, которая специализируется на инструментах для разработчиков и распределённых системах — в частности, она написала книгу «Distributed Systems Observability» — и достаточно популярна в интернет-пространстве среди IT-специалистов, особенно интересующихся темой cloud native.



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

                            Хочу сразу оговориться, что в этой статье я не охватываю изменения в таких областях, как наука о данных (data science), искусственный интеллект, frontend engineering и т.п., поскольку лично у меня отсутствует достаточный опыт в них.
                            Читать дальше →
                          • Нейросети. Куда это все движется

                              Статья состоит из двух частей:


                              1. Краткое описание некоторых архитектур сетей по обнаружению объектов на изображении и сегментации изображений с самыми понятными для меня ссылками на ресурсы. Старался выбирать видео пояснения и желательно на русском языке.
                              2. Вторая часть состоит в попытке осознать направление развития архитектур нейронных сетей. И технологий на их основе.

                              Понимать архитектуры нейросетей непросто


                              Рисунок 1 – Понимать архитектуры нейросетей непросто


                              Все началось с того, что сделал два демонстрационных приложения по классификации и обнаружению объектов на телефоне Android:


                              • Back-end demo, когда данные обрабатываются на сервере и передаются на телефон. Классификация изображений (image classification) трех типов медведей: бурого, черного и плюшевого.
                              • Front-end demo, когда данные обрабатываются на самом телефоне. Обнаружение объектов (object detection) трех типов: фундук, инжир и финик.
                              Читать дальше →
                            • Графический интерфейс на Python за 5 минут

                              • Translation
                              image

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

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

                              Библиотеки Python, которые можно использовать для графического интерфейса


                              По сути, есть 3 большие библиотеки Python для графического интерфейса; Tkinter, wxPython и PyQT. Рассматривая их, я не нашел там ничего из того, что мне нравится в Python. Библиотеки Python, как правило, очень хорошо абстрагируются от супер-технических моментов. Если бы мне нужно было работать с объектно-ориентированным программированием, я мог бы с таким же успехом загрузить Java или .Net.
                              Читать дальше →
                              • +22
                              • 46.6k
                              • 8
                            • Crypt, XOR, взлом нешифрованного ZIP и ГПСЧ. Решение задач с r0от-мi Crypto. Часть 2

                              • Tutorial
                              image

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

                              Часть 1 — Кодировки, шифр сдвига, брут хешей и создание картинки с помощью PIL python.

                              Организационная информация
                              Специально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях:

                              • PWN;
                              • криптография (Crypto);
                              • cетевые технологии (Network);
                              • реверс (Reverse Engineering);
                              • стеганография (Stegano);
                              • поиск и эксплуатация WEB-уязвимостей.

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

                              • Tutorial
                              На данный момент мы запускаем доступ к серверам на базе WireGuard и сегодня я хочу рассказать, как настраивать клиентов, которые находятся за NAT, хотя про настройку сервера, тоже не забудем.
                              Читать дальше →