• Выживание Windows XP x32 на современных ПК c процессором Intel

    Речь пойдет про платы периода 2016-2021+, т.е. процессоры Skylake и выше. На платформах AMD почти те-же проблемы, но их меньше. Статья не является "пошаговой инструкцией", в основном теория и способы решения проблем

    Читать полностью
  • На коленке: агрегация VPN, или Надежная связь на ненадежных каналах

      Представьте задачу: необходимо обеспечить стабильным интернетом и покрыть бесшовным Wi-Fi здание площадью 300 м2 с возможной расчетной нагрузкой до 100 человек. На первый взгляд, "вроде изян". Но стоит добавить пару деталей, и задача усложняется: здание стоит в лесопарковой зоне, где нет оптики, а бюджет ограничен.

      Итого: потери и отвалы от базовой станции подкрадываются в самое неподходящее время. 

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

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

      Читать далее
    • Администратор узла сети I2P. Полный курс

      • Tutorial

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

      Этот мануал посвящен администрированию роутера, т.е. пониманию конфигурации рядового узла, обеспечивающего функционирование скрытой сети.

      Читать далее
      • +24
      • 9,6k
      • 6
    • Meshname – DNS судного дня

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

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

        Читать далее
      • Старый компьютер, Windows 7, 1 Гб оперативки, Firefox и интернет

        • Tutorial
        Лёгкая мобильная версия этой страницы (без комментариев) m.habr.com/ru/post/424019

        Несмотря на пройденное время, многие по прежнему ещё пользуются Windows 7. Кто-то вынужден работать на этой ОС или обслуживать такие компьютеры, у кого-то может быть хобби восстановления старых ПК, некоторых полностью устраивает Windows 7 или же из-за своих финансовых или прочих убеждений они не хотят менять старого верного «друга» на нового.
        Эта статья, возможно поможет многим обладателям старых компьютеров открыть «второе дыхание» своим музейным экспонатам.

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

        — Firefox
        — Дополнения к браузеру
        — Драйверы
        — Windows 7
        — BIOS
        — Советы по аппаратной части
        Читать дальше →
      • Updated: Как сделать из планшетного USB-сканера сетевой с памятью, используя Raspberry Pi. Видеолекция и текст

        • Tutorial
        Раз уж сегодня посыпались публикации про Raspberry Pi, вставлю свои пять копеек. Выложил на днях на Youtube лекцию с демонстрацией, как из Raspberry Pi и USB-сканера сделать девайс для сканирования с сетевым диском, используя SANE, Samba и WiringPi, владея немного электрикой и bash-ем. Всё продемонстрированное эксплуатируется в реале, хоть и в несколько адаптированном виде. Интересующихся приглашаю посмотреть… ну и покритиковать тут в комментах и карме. :)

        Лекция получилась почти на 2 часа, так что, наверное, лучше смотреть прямо на Youtube; в описании к ролику есть оглавление. Под видео пойдёт текстовая расшифровка в сокращённом виде (special for Habr).

        Приятного просмотра или прочтения. :)
        Читать дальше →
      • ИК датчик движения на STM32

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

          Прочитать полностью
        • Делаем модальные окна для сайта. Заботимся об удобстве и доступности

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


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


          В итоге было задумано сделать собственное простое решение.


          Читать дальше →
        • Освобождаем свободное место на жестком диске: WIMBoot

            Сегодня стационарные компьютеры начинают медленно уходить на задний план. Их место прочно занимают ноутбуки, а затем идут и планшетные компьютеры. Сочетание мобильности, высокой производительности и высокой скорости получения информации – все это является несомненным плюсом планшетов. Однако, и своя ложка дегтя у планшетов есть: это малый размер жестких дисков. Если диск 16, 32 и даже 64 ГБ, вовсе не хочется разбрасываться ценным пространством на установочные файлы. С выходом Windows 8.1 Update появилось решение этой проблемы – WIMBoot – новый способ установки ОС, обеспечивающий большее свободное пространство для пользователя.


            Читать дальше →
          • Пришло время бесплатных сайтов

            Привет, %username%!




            Сегодня многие начинающие веб-разработчики делают большую ошибку, и не одну. Они что-нибудь сверстают, а потом покупают хостинг. Далее покупают домен. Регистрируют и подключают SSL-сертификат. Я, спасаясь от минус-кармы, просто расскажу как не тратить деньги на свои тестовые проекты.
            Читать дальше →
          • Разработка веб-сайта на паскале (backend)

              В этой статье я расскажу о том, зачем, почему и как я начал делать сайты на паскале: Delphi / FPC.
              Вероятно, «сайт на паскале» ассоццируется с чем-то вроде:

              writeln('Content-type: text/html');

              Но нет, всё гораздо интереснее! Впрочем, исходный код реального сайта (почти весь) доступен на GitHub.
              Читать дальше →
            • Весь Хабр в одной базе

              Добрый день. Прошло уже 2 года с момента написания последней статьи про парсинг Хабра, и некоторые моменты изменились.


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

              Читать дальше →
            • STM32 Часть 1: Основы

              Нельзя доверять коду, который вы не написали полностью сами. — Кен Томпсон
              Пожалуй, моя самая любимая цитата. Именно она и стала причиной по которой я решил нырнуть в самую глубь кроличьей норы. Свой путь в мир программирования я начал совсем недавно, прошло всего около месяца и я решил писать статьи для закрепления материала. Все началось с простой задачи, синхронизировать лампы в своей фото студии с помощью Ардуины. Задача была решена, но в фото студию я больше не заходил, времени нет. С того момента я решил основательно заняться программированием микроконтроллеров. Ардуина, хоть и привлекательна в своей простоте, как платформа мне не понравилась. Выбор пал на компанию ST и их популярную продукцию. В тот момент я еще не представлял в чем особо разница, но как типичный потребитель я сравнил скорость «процессора» и количество памяти, купил себе внушительную плату с дисплеем STM32F746NG — Discovery. Я пропущу моменты отчаяния и сразу перейду к делу.
              Читать дальше →
            • Загружаем и храним в Google Drive файлы любого размера бесплатно. Баг или Фича?

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

                Конечно, я сразу решил сообщить об этом в Google через программу BugHunter. Но, к моему сожалению, потратив неделю на общение со специалистами Google мне так и не удалось убедить их, что это баг. Сотрудник не смог воспроизвести этот баг и я получил ответ, что «это не баг, а фича» и меня отправили в RTFM. В конце концов Google просто закрыл тикет и перестал отвечать на мои письма.

                Так как переписка с Google зашла в тупик, я решил публично рассказать о этой «фиче» и, возможно, наконец привлечь внимание сотрудников Google к этой проблеме или хотя-бы понять, что я делаю не так. Ниже под катом история переписки с Google и proof of concept.
                Читать дальше →
              • Redux Toolkit как средство эффективной Redux-разработки

                  image
                  В настоящее время разработка львиной доли веб-приложений, основанных на фреймворке React, ведется с использованием библиотеки Redux. Данная библиотека является самой популярной реализацией FLUX-архитектуры и, несмотря на ряд очевидных преимуществ, имеет весьма существенные недостатки, такие как:


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

                  Для устранения этих недостатков разработчики Redux представили библиотеку Redux Toolkit. Этот инструмент представляет собой набор практических решений и методов, предназначенных для упрощения разработки приложений с использованием Redux. Разработчики данной библиотеки преследовали цель упростить типичные случаи использования Redux. Данный инструмент не является универсальным решением в каждом из возможных случаев использования Redux, но позволяет упростить тот код, который требуется написать разработчику.


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

                  Читать дальше →
                • Прямой VPN-туннель между компьютерами через NAT'ы провайдеров (без VPS, с помощью STUN-сервера и Яндекс.диска)

                    Продолжение статьи о том, как мне удалось организовать прямой VPN-туннель между двумя компьютерами находящимися за NAT'ами провайдеров. В прошлой статье описывался процесс организации соединения с помощью третьей стороны — посредника (арендованный VPS выполняющий роль, что-то типа STUN-сервера и передатчика данных узлов для соединения). В этой статье я расскажу как обошелся без VPS, но посредники остались и ими были STUN-сервер и Яндекс.Диск…

                    Читать дальше →
                  • Рецепт разработки бота под Telegram



                      Добрый день, уважаемые читатели Хабрахабра!

                      В этом топике я хочу поделиться с вами опытом разработки бота под Telegram за 4 дня. Этот бот переводит все голосовые сообщения, которые получает, в текст. Пытался сделать быстро, но качественно — подучил пару-тройку технологий. Постараюсь максимально подробно описать свой процесс преодоления ошибок и преград; доказать, что, даже не имея нужных навыков, запустить свой продукт не так-то и сложно.

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

                      Преамбула


                      И так, что же может сделать один программист за 4 дня?
                      Читать дальше →
                    • Y-метод — действительно простой способ собрать кубик Рубика

                      • Tutorial

                      Введение


                      В статье рассматривается «Y-метод» сборки кубика Рубика — его легко понять и запомнить. Он основан всего на одной последовательности, которая называется «Y-движение». Поняв этот алгоритм, вы навряд ли забудете как собрать кубик самостоятельно.
                      Читать дальше →
                    • Один язык чтобы править всеми

                      • Перевод

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



                      На момент написания этой статьи запрос «программирование какой язык изучать первым» выдаёт 517 миллионов поисковых результатов. Каждый из этих сайтов будет нахваливать один определённый язык, и 90% из них, в конечном итоге, порекомендуют Python или JavaScript.


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


                      Просто знать как кодить ещё не достаточно. Рынок настолько насыщен выпускниками институтов и курсов, что позиция джуниора практически перестала существовать*. Чтобы преуспеть в сегодняшнем мире, вы должны и кодить, и иметь продвинутое фундаментальное логическое мышление.


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


                      Мой первый урок информатики


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


                      «Сегодня мы будем дегустировать самостоятельно приготовленные пломбиры. Но с одним условием: вы должны составить список конкретных инструкций, как приготовить десерт, а я — буду им следовать»

                      Читать дальше →