Search
Write a publication
Pull to refresh
208
77.1
Send message

Зачем нужен эмулятор retrowin32

Reading time4 min
Views7.5K

Самый популярный вопрос о моём эмуляторе Windows retrowin32 (после «Зачем вообще это нужно?») — это вопрос о том, как он работает. Сегодня ответ кажется мне очевидным, но прежде чем я разобрался, он представлял для меня огромную загадку. Поэтому я постараюсь объяснить так, чтобы вам тоже стало понятно.
Читать дальше →

CLI инструменты, которые облегчат времяпровождение в терминале и сделают его приятнее

Reading time6 min
Views58K

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

В этом посте описан мой топ-25 обязательных инструментов CLI, на которые я привык полагаться. Если тут нет вашего любимого - дайте мне знать в комментариях :)

Читать далее

Как мы делали Warface для Денди

Reading time31 min
Views44K
В октябре 2020 мне написал мой друг Андрей Скочок, работающий в Mail.ru, и предложил сделать для них необычную промоакцию.

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



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

Краткая история календаря и фантазии о шестидневной неделе

Level of difficultyEasy
Reading time14 min
Views21K

Привет, Хабр.

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

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

?

Пасхалки в DNS

Reading time8 min
Views19K
Сетевой стек TCP/IP не в одночасье стал паутиной, соединившей интернет от края до края. Вся система развивалась довольно бурно, противоречиво, но в целом через инкрементальные усовершенствования в разных местах. Не было какого-то единого плана создания глобальной коммуникационной сети и подходящего под эти цели стека протоколов. Из-за этого вместо сферической семиэтажной OSI в вакууме в наличие у нас есть причудливое смешение технологий и протоколов, где стандарты, написанные в 1970-х всё ещё живы, лягаются и даже обеспечивают нагрузкой ваши боевые сервера.

The less popular 8.8.4.4 is slated for discontinuation
Figure 1. Комикс xkcd на злобу дня

Всё это в полной мере относится к подсистеме разрешения имён, aka name resolving, и DNS, как современной и наиболее полноценной реализации этой ключевой технологии. В качестве такового DNS пережил разнообразных саблезубых тигров и археоптериксов вроде YP/NIS/NIS+ эпохи накопления битов, вследствие чего в нём набралось немало артефактов и пасхальных яиц. Иногда их обнаруживают случайно при раскопках с помощью dig, но есть также и новые, нестандартные применения старого механизма.
Читать дальше →

Лучшие IT-работодатели России 2022: ежегодный рейтинг Хабр Карьеры

Reading time9 min
Views104K

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

В прошлом году свои компании оценили более 20 000 сотрудников, а мы собрали эти оценки и теперь торжественно представляем вам рейтинг лучших IT-работодателей России в 2022. Под катом — не только про компании, но и про качества, за которые их особенно ценят.

Узнать, кто в топе

GeoIP: экономим время на настройке шлюза безопасности

Reading time4 min
Views10K

Как показывает статистика, порядка 60% рабочего времени системных администраторов и специалистов по ИБ обычно уходит на настройку железа и софта, остальное — на устранение неисправностей, последствий инцидентов и другие текущие задачи. Поэтому любое средство, призванное облегчить конфигурирование и администрирование оборудования, всегда вызывает интерес. Один из таких инструментов, внедренных в универсальный шлюз безопасности (UTM) Traffic Inspector Next Generation, называется GeoIP. О его устройстве и принципах работы, а также о том, зачем он вообще нужен, мы сегодня и поговорим.

Читать далее

Несоответствия исторических пластов Windows 11 — если копнуть, на дне сохранились даже элементы Windows 3.1

Reading time5 min
Views50K


Спустя несколько лет Windows 11 доросла до более-менее нормального состояния, так что ею с удовольствием пользуется большинство людей. В сентябре вышло обновление Sun Valley (22H2) с давно назревшими изменениями в дизайне. Но достаточно ли их, чтобы устранить исторические несоответствия в UI?

Давайте посмотрим.

Примечание. В данном исследовании используется Windows 11 build 25267, последняя сборка Insider Dev на данный момент (01.01.2023 г).
Читать дальше →

TCP и UDP, или Два столпа Интернета

Reading time14 min
Views120K

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

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

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

Но и рассказывать про то, как браузер загружает страницы, тоже не будем. HTTP-запросы, сжатие, языки программирования, рендеринг страниц – всё мимо.

Что нам интересно, так это то, как данные находят путь от одного компьютера до другого.

И как же?

Бюджетный 3D принтер как конструктор. Собираем и настраиваем модель до 200$

Reading time12 min
Views15K

3D принтеры давно уже превратились в конструктор — достаточно взять популярную платформу и дополнять ее фабричными и самодельными деталями и устройствами. И по стоимости бюджетный 3D принтер оказывается на уровне конструкторов лего или фишертехник (наборы со словами «робототехника» в названии и вовсе стоят кратно дороже). К примеру, большой конструктор «Fischertechnik Dynamic XXL» (и это еще без «робо») три года назад нам обошелся в 200$ (с доставкой и пошлинами), а сегодня за эти деньги можно купить один из многих популярных экструзионных (филаментных) 3D принтеров (тоже с доставкой и пошлинами). Конечно, такая покупка сопряжена с приключениями, поскольку производитель экономит на всем, на чем только может, стараясь сохранить качество печати. Притом, даже на таких принтерах энтузиастам удается получать отличные результаты — так что тут есть чему поучиться (и не только детям).


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



Для начала модель Articulated Snake v8 вполне удалась. Использован простейший PLA филамент от неведомого китайского производителя.

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

Пишем драйвер ядра Linux для неизвестного USB-устройства

Reading time15 min
Views19K
image

В этой статье объяснен весь процесс, на выходе которого получается рабочий драйвер ядра Linux для недокументированного USB-устройства. Выполнив обратную разработку коммуникационного протокола USB, я покажу архитектуру драйвера ядра для USB. Кроме драйвера ядра в этой статье будет рассказано о простом инструменте для пользовательского пространства; при помощи этого инструмента можно управлять таким устройством. Конечно, придется углубиться в подробности, касающиеся конкретного прибора, но не сомневайтесь – описанный процесс с тем же успехом применим и к другим USB-устройствам.
Читать дальше →

На технических собеседованиях даже нормальные люди звереют

Reading time5 min
Views105K
В Сети опубликованы сотни постов о том, что собеседования в IT никуда не годятся, что на них расспрашивают о каких-то частностях или задают вопросы о том, что твердо знает только вчерашний выпускник университета (классический пример – сортировка с помощью двоичного дерева). Все эти выпады справедливы, но я хочу добавить еще один от себя: от собеседований звереют даже нормальные люди.

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

История первая: собеседование прошло отлично. Кандидат был уверен в своих силах, поэтому сотрудник компании забрасывал его новыми и новыми вопросами. Казалось, всё складывается прекрасно… но только казалось. Позже, когда кандидату предложили работу, он ответил отказом и пожаловался на то, что тон собеседования был слишком агрессивным.

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

Величайшие программисты XXI века. Марк Руссинович и его 65 системных утилит

Reading time9 min
Views50K
Кто из админов не знает утилиты SysInternals (Winternals) для администрирования и диагностики Windows? Кажется, они известны с незапамятных времён. Но не каждый в курсе, что эти незаменимые инструменты написаны вовсе не компанией Microsoft. Скорее наоборот, они написаны вопреки её желанию.

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

Внедрение в архитектуру советских программируемых калькуляторов «Электроника МК-52»

Reading time18 min
Views47K


В этой статье я хочу рассказать об архитектуре советских программируемых микрокалькуляторов на примере калькулятора «Электроника МК-52» и как можно внедриться в его архитектуру.

Советские калькуляторы семейства "Электроника Б3-34" («Электроника МК-56», «Электроника МК-61» и «Электроника МК-52») были особенно популярны в СССР. Причиной этому была не только доступная цена в 65 рублей за МК-54, 85 рублей за МК-61 или 115 рублей за МК-52, но и развитой язык программирования. Это семейство калькуляторов стало де-факто стандартным для многочисленных пользователей. Огромное количество книг было посвящено программированию на этих машинках и публикацией готовых алгоритмов. Электроника МК-52 даже летала в космос на корабле Союз ТМ-7, где предполагалось его использование в качестве резервного на случай неисправности спускаемого навигационного оборудования. Даже в военно-морском флоте СССР калькулятор «Электроника МК-52» с блоком расширения памяти БРП «Астро» какое-то время был стандартным средством для навигационных расчетов.


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

Происхождение и эволюция аллокатора памяти в С

Reading time11 min
Views24K

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

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

Читать далее

WireGuard клиент для Windows на основе BoringTun

Reading time10 min
Views37K

В начале 2019 года компания Cloudflare представила BoringTun, реализацию WireGuard протокола, написанную на языке Rust. Код проекта распространяется под лицензией BSD-3-Clause и включает в себя библиотеку, которая может использоваться для интеграции функциональности клиента WireGuard в произвольные приложения для любых платформ, включая iOS и Android. Библиотека реализует только протокол WireGuard без сопутствующих механизмов туннелирования, которые предполагается реализовывать в зависимости от целевой платформы.

В этой статье мы рассмотрим реализацию альтернативного VPN клиента WireGuard под Windows на основе BoringTun и оценим ее эффективность в сравнении с существующими решениями. Кого заинтересовало, прошу под кат.

Читать далее

Обход блокировок WireGuard в Египте

Reading time5 min
Views64K

В 2021 году VPN протокол WireGuard стал настолько популярен в Египте, что удостоился чести пополнить список заблокированных, несказанно “обрадовав” не только клиентов Cloudflare Warp+, Mullvad Wireguard и других коммерческих VPN-провайдеров, но и некоторых пользователей корпоративных VPN. Предварительные исследования показали, что по всей видимости DPI нацелен на WireGuard Handshake Initiate пакеты, которые имеют фиксированный размер (148 байт) и узнаваемую структуру (первые четыре байта UDP пакета [0x01, 0x00, 0x00, 0x00]). Мы постараемся разобраться с особенностями работы DPI по блокировке WireGuard и попробуем ее обойти. Кого заинтересовал - добро пожаловать под кат.

Читать далее

Консоль SSH на WebAssembly внутри браузера: как это сделано

Reading time5 min
Views16K
Веб-консоль SSH запускается по нажатию кнопки на сайте

Почти у каждого VPS- и облачного провайдера есть веб-клиент SSH, который запускается через браузер. Такое приложение помогает вам подключиться по SSH к своим виртуальным машинкам на удалённом сервере, не выходя из браузера.

В наше трудное время безопасность не бывает лишней, а область использования SSH и RDP сильно расширяется. Есть смысл шифровать каналы связи при подключении к любым устройствам, в том числе в своей домашней сети. Например, из любой точки мира вы можете подключиться к домашнему компьютеру в РФ и работать внутри страны — заходить на местные сайты типа госуслуг, сбера, оплачивать пошлины, оформлять документы и т. д.

К счастью, существуют удобные инструменты для выполнения всех этих задач.
Читать дальше →

Создаем свой загрузочный диск Linux

Reading time13 min
Views54K

В статье описывается способ, как создать собственный загрузочный диск Linux (оптический диск или флешку), добавить в него только нужные программы и убрать все лишнее. Полученный образ в экспериментах занял менее 25 Мб. Он позволяет быстро загружаться, работать в текстовом режиме, создавать, редактировать, удалять файлы на разных файловых системах, имеет поддержку русского языка. За основу взят Debian.

Читать далее

Все эссе Пола Грэма на русском

Reading time1 min
Views7.6K

Журналисты издания The New York Times сообщили, что Пол Грэм является одним из самых уважаемых людей среди разработчиков, основателей и инвесторов. Он является профессиональным программистом, хакером, создателем дерзкого инкубатора Y Combinator, философом.

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

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

К началу работы я сумел найти 156 эссе, хотя переводов существовало больше, я не сумел восстановить утерянные. В 22 переводах не было примечаний и еще 56 эссе не были переведены целиком.

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

Я регулярно отслеживаю выход новых эссе на сайте Пола и перевожу их.

Ознакомьтесь с переводами и следите за новыми на сайте.

Читать далее

Information

Rating
151-st
Registered
Activity