И здесь мы подходим к личности автора, талантливого и суперпродуктивного программиста Марка Руссиновича. Он показал, что один умный парень способен интеллектуально продавить мегакорпорацию. И той придётся заплатить ему огромные деньги, и даже взять на работу. Потому что повторить его программы она не сумела…
Читать полностью »
Рубрика «разработка под windows» - 2
Величайшие программисты XXI века. Марк Руссинович и его 65 системных утилит
2023-01-16 в 9:00, admin, рубрики: ruvds_статьи, Блог компании RUVDS.com, взлом Windows, разработка под windows, системное администрирование, системное программирование, СофтJEP-400 или UTF-8 РєРѕРґРёСЂРѕРІРєР° РїРѕ умолчанию
2023-01-12 в 7:10, admin, рубрики: java, JDK, кодировки, обратная совместимость, Программирование, Разработка под Linux, разработка под windows, разработка языков программированияНе прошло и пяти лет, как в Java 18 докатилось небольшое, но очень ожидаемое и обсуждаемое изменение: теперь во всех стандартных API используется UTF-8 кодировка по умолчанию. Это изменение, которое сделает выражение «Write once, run anywhere» действительно правдой, так как теперь поведение приложения будет еще меньше зависеть от системы, где оно запущено.
На конференции Joker я рассказал, как развивались события в работе над JEP-400Читать полностью »
Ретроразработка драйвера для Windows 3.1
2023-01-04 в 13:00, admin, рубрики: masm, ruvds_переводы, windows, windows 3.1, ассемблер, Блог компании RUVDS.com, драйверы, разработка под windows, реверс-инжиниринг, старое железоWord, запущенный в Windows 3.1 с удобным разрешением 1152х864
Много месяцев назад я попробовал свои силы в написании 256-цветного драйвера высокого разрешения для Windows 3.1. Попытка была успешной, но работа пока ещё не завершена. В процессе я заново открыл для себя множество забытых вещей и узнал ещё больше новых. Этот пост основан на заметках, которые я делал по ходу разработки.Читать полностью »
7-zip — нет времени спешить
2022-12-21 в 8:43, admin, рубрики: 7-zip, c++, WinAPI, windows, Клиентская оптимизация, разработка под windows, реверс-инжинирингПреамбула
Данной заметки не должно было быть, но мы живем не в идеальном мире.
Есть много пользователей, что предпочли стандартному проводнику Windows альтернативу и наверное еще больше пользователей архиватора 7-zip. Имеет смысл поделиться с ними, подумал я и вот мы здесь.
Поиск бага регистра, приводящего к вылету Chrome
2022-12-07 в 5:12, admin, рубрики: chrome, chromium, браузеры, отладка, Программирование, разработка под windows«Эй ты, функция. Да, я к тебе обращаюсь. При очистке не забудь, пожалуйста, восстановить все мои регистры. Да, и этот тоже, ты что, думаешь, в Linux попала?»
Вот краткое описание проблемы, с которой я столкнулся. ABI (Application Binary Interface) платформы требует от функций, чтобы они сохраняли значения определённых регистров и восстанавливали их в случае использования, однако набор восстанавливаемых регистров зависит от платформы, и правила в Linux отличаются от правил в Windows. Возможно, поэтому я столкнулся с повреждением регистров Chrome в Windows. Но давайте начнём с самого начала.
Читать полностью »
Примеры кошмарного программирования вокруг нас. Выученная беспомощность
2022-09-07 в 9:00, admin, рубрики: AWS, gzip, ruby, ruvds_статьи, stripe, zstd, Блог компании RUVDS.com, единая точка отказа, костыли, ненормальное программирование, принцип DRY, принятие решений, Программирование, разработка под windows, реестр windows, системное программированиеНет в мире совершенства. Куда ни глянь — всюду костыли и компромиссы. Вроде каждый в отдельности хочет сделать как лучше, но чем больше участников — тем сильнее хаос…
Возьмём классический пример — реестр Windows. Этот странный артефакт инженерной мысли представляет некое подобие иерархической БД для хранения абсолютно всех настроек — и системных, и приложений, и драйверов. Центральное бинарное хранилище заменило массу файлов .ini, разбросанных по всей системе и должно было упростить жизнь. Но вышло наоборот. И глядя на монструозный тормозящий конструкт, возникает только один вопрос: как это исправить? Ответ тоже простой: «Если вкратце, то никак». И так во всём. Мы создаём монстров, а потом не можем от них избавиться.
Читать полностью »
IopReadyDeviceObjects: медвежья услуга от ядра и как с ней сосуществовать
2022-09-03 в 1:04, admin, рубрики: баги, Драйвер, разработка под windows, реверс-инжиниринг, системное программированиеПредисловие
Всем привет! Столкнулся я недавно с одной интересной и не вполне понятной с первого взгляда проблемой в KMDF драйвере, разработкой которого я в данный момент занимаюсь. Опыта в этой сфере у меня не много - это первый проект на KMDFЧитать полностью »
Есть ещё выдающиеся программисты, кроме Торвальдса, Беллара и Дина? Знакомьтесь — Джастин Танни
2022-08-15 в 9:00, admin, рубрики: APE, APE Loader, Redbean, ruvds_статьи, αcτµαlly pδrταblε εxεcµταblε, Биографии гиков, Блог компании RUVDS.com, Джастин Танни, Разработка под Linux, разработка под windows, системное программированиеНа Хабре рассказывали про «чак норрисов» от программирования, таких как Линус Торвальдс, Фабрис Беллар и Джефф Дин. Конечно, есть и другие феноменальные таланты, их много. Зачастую эти люди далеки от публичности, никогда не давали интервью и известны только по никам. Но их объединяет одно — выдающиеся индивидуальные разработки, которые разрывают шаблон и выделяются из общей массы.
Мы собирали этот список несколько лет. Начнём с последних строчек своебразного хит-парада… Знакомьтесь — Джастин Танни (Justine Tunney), хакерша и гений системного программирования.
Читать полностью »
PowerShell: обход и визуализация HTML-дерева из файла
2022-08-14 в 17:08, admin, рубрики: html, powershell, Алгоритмы, визуализация данных, визуализация деревьев, обход дерева, разработка под windowsРанее я написал скрипт для программы-оболочки «Windows PowerShell» версии 5.1 (или для «PowerShell» версии 7), работающей в операционной системе «Windows 10». Этот скрипт получает текст из текстового файла с кодом на языке HTML (в кодировке UTF-8 без метки BOM) и помещает его в переменную $html
типа System.String
. После этого с помощью библиотеки «HTML Agility Pack» содержимое переменной $html
конвертируется в объект $dom
, содержащий HTML-дерево:
Add-Type -Path "HtmlAgilityPack.1.11.43libnetstandard2.0HtmlAgilityPack.dll"
$dom = New-Object -TypeName "HtmlAgilityPack.HtmlDocument"
$dom.LoadHtml($html)
Использование цвета в терминале
2022-08-07 в 6:17, admin, рубрики: powershell, usability, windows terminal, Оболочки, разработка под windows, цвет, цветовая палитра, цветовая схемаЯ пишу небольшие скрипты для работы в программах-оболочках «Windows PowerShell» версии 5.1 и «PowerShell» версии 7 в операционной системе «Windows 10». Иногда тянет подсветить текстовый вывод в консоль разными цветами. В этой статье я хочу рассказать о паре грабель, на которые можно при этом наступить.