• Программистское везение

      Более двух десятков лет назад мы разрабатывали устройство, передающее и принимающее данные, используя телевизионный сигнал. Это сейчас все избалованы гигагерцами и гигабайтами, а тогда, имея компьютер типа IBM/PC-AT, на таких скоростях можно было работать только с помощью встроенного контроллера прямого доступа к памяти (ПДП), реализованного в виде микросхем 8237А-5. Это устройство позволяло писать или читать данные, не привлекая центральный процессор.

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

      И вот, при заключительном просмотре текста, я вдруг увидел глупую описку в программировании ПДП. Адрес в 16-разрядной 8237А-5 приходилось задавать по частям и при задании номера «станицы» (т.е. номера куска памяти в 128 Кбайт) вместо команды

      Читать далее
    • Квантовая теория. Вселенная из волн вероятностей

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

        image Что будет, если по аналогии с двущелевым опытом, все пространство на пути частицы до экрана будет заполнено щелями?
        Читать дальше →
      • Сайты для обучения программированию: Топ 100

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

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

          Итак, сайты для обучения программированию онлайн, ТОП 100:
          Читать дальше →
        • 7 бесплатных книг, которые следует прочитать каждому дата-сайентисту

          • Перевод


          Самообразование — пожалуй, один из самых сложных путей и процессов для взрослого человека. Когда вокруг столько отвлекающих факторов, уже трудно заставить себя довести дело до конца (особенно если мотивация неочевидна). Но самообразование как эволюция — это неотъемлемый элемент жизни любого профессионала или того, кто хочет им стать. Книги в этом случае могут стать тем самым выстрелом, которым убиваются два зайца, вы и растете как специалист, и не «выпадаете из жизни». Автор материала подобрал 7 бесплатных электронных книг, которые помогут вам изучать Data Science и ML.
          Читать дальше →
          • +18
          • 8,6k
          • 4
        • Ультимативный список инструментов для разработчиков и опытных пользователей для Windows

            Можете ли вы поверить, что с момента моего последнего списка инструментов прошло 6 лет? Инструменты изменились, многие из них доступны онлайн, но, честно говоря, для составления нового списка инструментов требуется ОЧЕНЬ МНОГО РАБОТЫ. Но я смог, вот список на 2020-2021 годы. Это инструменты в моей папке Utils. Я создал папку d:\dropbox\utils и добавил ее в свой PATH. Таким образом, он будет на всех моих компьютерах, и я могу мгновенно добраться до любого из них.

            Это обновленный до версии 2020-21 мой список 2003, 2005, 2006, 2007, 2009, 2011 и 2014 годов, который в настоящее время включает все остальные мои списки. Я занимаюсь этим более 17 лет. Вау. Думаю, стоит тратить на это больше времени.

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

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

            Эту статью написал наш коллега Скотт. Вот версия на английском. Ну а сам список под катом.

            Читать дальше →
          • Чем плоха СМС-аутентификация и как защититься от угона SIM-карты

              Привет, Хабр! В прошлой статье мы затронули тему, что аутентификация по СМС – не самый лучший способ многофакторной аутентификации. Такой способ используют многие веб-сервисы: соцсети, почтовые клиенты, платежные системы. Вдобавок номер телефона используется в качестве логина: для регистрации ВКонтакте, в Telegram и так далее. 

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

              В этой статье возьмем несколько популярных сервисов и заменим СМС-аутентификацию на более безопасные способы. Заодно разберемся, как дополнительно защитить аккаунты от угона и спать спокойно.
              На статью нас вдохновил лонгрид MyCrypto, посвященный защите от SIM-джекинга (SimJacking). Мы изучили их рекомендации и составили актуальный список для России. 

              Читать дальше →
            • Мой набор для автономного выживания во время карантина

                Эта статья посвящена подготовке к автономному выживанию в течение периода карантина. Судя по опыту ЕС и Китая, Украины и Беларуси, не за горами введение карантина из-за пандемии коронавируса Covid-19 и в РФ. Многие это уже поняли и начали заранее запасаться продуктами, средствами защиты органов дыхания, дезинфицирующими средствами и т.п. Не стал исключением и я. Эта статья подытоживает мой опыт в изучении СЗОД (средств защиты органов дыхания), разных режимах и стилях питания, составлении продуктовых раскладок для автономного выживания в течение длительного времени (у меня приличный опыт пеших, водных и горных походов длительностью 2-4 недели с составлением продуктовых раскладок на этот срок), подборе оптимальных продуктов для полноценного питания как по калориям, так и по нутриентам и балансу БЖУ (белки-жиры-углеводы) и в хранении этих продуктов в течение длительного времени. Постараюсь изложить все это простым языком, кратко и не перегружая лишней информацией.

                Читать дальше →
              • Повышение продуктивности при работе с Jupyter Notebook за 5 минут

                • Перевод
                • Tutorial

                Для начала повторим основные горячие клавиши. Если вы их ещё не используете — начните обязательно. В долгосрочной перспективе время на изучение окупится многократно.


                0. Основные горячие клавиши


                • Esc: Переключение между режимом выполнения и редактирования
                • A: Добавление пустой ячейки сверху
                • B: Добавление пустой ячейки снизу
                • DD: Удаления ячейки
                • C: Копирование ячеек
                • X: Вырезание ячеек
                • V: Вставка ячеек

                1. Перезапуск блокнота


                Для рестарта просто нажмите ESC + 00.


                Читать дальше →
              • Файл дескриптор в Linux с примерами

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

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

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

                  Интервьюер прервал меня на последнем слове, дополнив свой вопрос: «Предположим, что данные нам не нужны, это просто дебаг лог, но приложение не работает из-за того, что не может записать дебаг»?

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

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

                  Интервьюер остался доволен, а я нет.

                  Тогда я подумал, почему человек, проверяющий мои знания, не копает глубже? А что, если данные все-таки важны? Что если мы не можем перезапускать процесс, и при этом этот процесс пишет на файловую систему в раздел, на котором нет свободного места? Что если мы не можем потерять не только уже записанные данные, но и те данные, что этот процесс пишет или пытается записать?
                  Читать дальше →
                • Назад в будущее? Квантовый ластик с отложенным выбором

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

                  Читать дальше →
                • Применение машинного обучения и Data Science в промышленности

                  • Перевод
                  Хабр, привет. Перевел пост, который идёт строго (!) в закладки и передаётся коллегам. Он со списком блокнотов и библиотек ML и Data Science для разных отраслей промышленности. Все коды на Python, и размещены на GitHub. Они будут полезны как для расширения кругозора, так и для запуска своего интересного стартапа.

                  image

                  Отмечу, что если среди читателей есть желающие помочь, и добавить в любую из подотраслей подходящий проект, пожалуйста, свяжитесь со мной. Я их добавлю в список. Итак, давайте начнём изучение списка.
                  Читать дальше →
                • Галерея лучших блокнотов по ML и Data Science

                    Привет, читатель.

                    Представляю пост который идёт строго (!) в закладки и передаётся коллегам. Он с подборкой примечательных файлов формата Jupyter Notebook по Machine Learning, Data Science и другим сферам, связанным с анализом данных. Эти блокноты Jupyter, будут наиболее полезны специалистам по анализу данных — как обучающимся новичкам, так и практикующим профи.

                    image

                    Итак, приступим.

                    Вводные курсы в Jupyter Notebook


                    Читать дальше →
                    • +27
                    • 27,8k
                    • 7
                  • [в закладки] Шпаргалка системного администратора по сетевым инструментам Linux

                    • Перевод
                    В повседневные задачи системных администраторов входит работа с сетями и с подключённым к ним оборудованием. Нередко роль рабочего места администратора играет компьютер, на котором установлен какой-нибудь дистрибутив Linux. Утилиты и команды Linux, о которых пойдёт речь в материале, перевод которого мы публикуем сегодня, включают в себя список инструментов различной сложности — от простых, до продвинутых, которые предназначены для решения широкого спектра задач по управлению сетями и по диагностике сетевых неполадок.



                    В некоторых из рассматриваемых здесь примеров вы столкнётесь с сокращением <fqdn> (fully qualified domain name, полное доменное имя). Встретив его, замените его, в зависимости от обстоятельств, на адрес интересующего вас сайта или сервера, например, на нечто вроде server-name.company.com.
                    Читать дальше →
                  • Путеводитель по Швейцарии

                      Приветствую, товарищи!

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

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

                      Я решил не делить его на отдельные куски — так информацию искать будет проще. Надеюсь что не сильно нарушу тематику ресурса, пусть НЛО нас рассудит.


                      Flumserberg. Здесь и далее — обычно мои фотографии, которые мне показались более или менее приличными :)
                      Читать дальше →
                    • Гаджеты для сна от Sleepace: умная лампа, трекер Xiaomi и наушники-маска

                        Пару дней назад в подборке к 8 марта в блоге одной из компаний появилось упоминание трекера SleepDot, и некоторых внимательных юзеров оно могло ввести в заблуждение, потому что составлено было с фактическими ошибками. SleepDot, о котором шла речь, — переиздание трекера Sleepace, компании, которая создает гаджеты и аксессуары для сна.

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



                        Ассортимент, однако, куда шире. Тех, кто интересуется данной темой, мы приглашаем в нашу небольшую подборку.
                        Читать дальше →
                      • 7 бесплатных курсов по Data Science для начинающих

                          Большие данные перестали быть просто модным словом и теперь применяются в сферах от IT до ритейла. Самое время начать разбираться в моделях анализа данных, погрузиться в массивы информации и получить опыт в интересном направлении — Data Scientist. Держите курсы, в которых изучите теорию и наберетесь практики. Профи не станете, но первый шаг сделаете.


                          Читать дальше →
                          • +17
                          • 97,9k
                          • 1
                        • Чеклист фронтенд-разработчика

                          • Перевод
                          Глеб Летушов, редактор-фрилансер, адаптировал для блога Нетологии чеклист с Github от David Dias. Этот чеклист уже переводили, но так как на Хабре его нет, мы решили, что он пригодится. В чеклисте собран полный список элементов, которые необходимо проверить перед запуском и публикацией сайта.



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

                            Чувствуете, что готовы уйти с работы, самостоятельно контролировать свой день, биться за клиента и работать только над интересными задачами? Пришло время попробовать себя во фрилансе. Это совсем нелегко, а чаще труднее, чем офисная рутина. Чтобы не разочароваться в выборе формата работы, устройте себе тест-драйв — на праздниках или в выходные. Собрали площадки, где найдете задачи по душе.


                            Читать дальше →
                          • 10 самых популярных сайтов для соревнований программистов на начало 2018 года

                            • Перевод


                            В конце 2016 года была опубликована аналогичная статья. С тех пор список был обновлен на основе наблюдений и анализа нескольких ресурсов (постов в популярных блогах, обсуждений на Quora, поисковых запросов в Google и обсуждений на форумах, таких как reddit/learnprogramming и Hacker News).

                            Предлагаем вниманию читателей обновленный список на 2018 год, который включает в себя 10 платформ, которые по личному мнению автора являются лучшими соревновательными площадками для программистов и содержат ресурсы, которые могут помочь начинающим и Intermediate-разработчикам совершенствовать свои навыки, подготовиться к собеседованию и продвинуться по своей карьерной лестнице.

                            На этих сайтах также можно просто посоревноваться с коллегами или развлечься, решая интересные головоломки. Порядок составления списка основан лишь на уровне сложности заданий: от начального до продвинутого.
                            Читать дальше →