В этой статье я собираюсь рассказать о плагине для IDA Pro, который написал прошлым летом, еще находясь на стажировке в нашей компании. В итоге, плагин был представлен на ZeroNights 2016 (Слайды), и с тех пор в нём было исправлено несколько багов и добавлены новые фичи. Хотя на GitHub я постарался описать его как можно подробнее, обычно коллеги и знакомые начинают пользоваться им только после проведения небольшого воркшопа. Кроме того, опущены некоторые детали внутренней работы, которые позволили бы лучше понять и использовать возможности плагина. Поэтому хотелось бы попытаться на примере объяснить, как с ним работать, а также рассказать о некоторых проблемах и тонкостях.
Пользователь
Открываем доступ к видеозаписям HighLoad++ за последние пять лет
Мы выложили в открытый доступ видеозаписи последних пяти лет конференции разработчиков высоконагруженных систем HighLoad++. Смотрите, изучайте, делитесь и подписывайтесь на канал YouTube.
Более терабайта записей и 500 видеороликов! Это всё, под катом только реклама :)
Перейти в канал YouTube!
Видео лучших докладов .NET-конференции DotNext 2015 Moscow
Уже через две с половиной недели в Питере пройдет большая .NET-конференция DotNext.
Предыдущая конференция DotNext прошла в декабре в Москве. В этом посте я, по уже сложившейся традиции, расскажу о ее лучших докладах (по мнению участников).
Конференцию посетило около 450 человек, и еще около 100-150 смотрели ее онлайн. Свои отзывы нам оставили более 400 человек — это около 70% участников. Такой процент позволяет нам говорить о том, что наша выборка релевантна, а рейтинг — довольно объективен.
10 место
Александр ControlFlow Шведов, JetBrains — Дизайн и эволюция C# на примере свойств
Средняя оценка: 4.41
Эдакий экскурс в историю построения языка, позволяющий взглянуть на один из элементов современного C# глазами ее разработчиков. В докладе речь идет не только о том, какие свойства сейчас, но и о том, как они эволюционировали от версии к версии.
Изучаем Bootmgr. Часть 1 — инструментарий и основные принципы отладки начальных этапов загрузки ОС Windows
Введение
Возможно некоторые читатели помнят мою самую первую статью на ресурсе, посвященную загрузке Windows с VHD-образа. Возможно я бы и не вернулся к этой теме, если бы не нашлись люди, попытавшиеся повторить данную технологию на своих домашних машинах. Естественно, с реализацией этого решения возникли проблемы, касающиеся в основном тех ошибок, которые выплевывает bootmgr в тех случаях, когда ему что либо не нравится. Попытки интерпретации ошибок загрузки вроде 0xc03a0003 путем гугления к особо ценным результатам не приводят, а документация Microsoft на этот счет хранит многозначительное молчание. Возникла идея изучить процесс обработки VHD-образов, получив информацию из первых рук, то есть от самого загрузчика.
Если обратится к уже имеющейся в сети информации, то существует замечательный блог "Записки эникейщика о Windows" на страницах которого (раз, два и три) размещены, на мой взгляд, самые ценные сведения, по вопросам устройства bootmgr. Автор подробно рассмотрел процесс загрузки, включая исследования кода MBR и PBR, остановившись на структуре bootmbr, кратко описав происходящие при его работе процессы.
Мы же пойдем дальше — опишем инструментарий, который можно использовать для изучения устройства загрузчика и попытаемся разобраться с некоторыми, интересующими нас алгоритмами. Если такое предложение показалось кому-то интересным, милости прошу под кат
Почему по мере заполнения SSD падает скорость записи в RAID, или зачем нужен TRIM
Особенность SSD
SSD пишут и читают данные страницами, записать можно только на очищенные страницы, а очистить страницы можно только большими блоками. Например, у диска размер страницы 8 КБ, в блоке находится 128 страниц, таким образом, размер блока — 1024 КБ (здесь и далее, если не указано иного, КБ и МБ двоичные).
Например, если изменить 40 КБ в одном файле, то на физическом уровне это будет выглядеть так:
Пудра для мозга или как сделать порошок для посудомойки в 9,7 раз дешевле
Update
Новый вариант порошка и более подробный разбор во второй части: DIY порошок для посудомойки: разбираем промышленные средства и улучшаем рецепт
Сейчас расскажу, как из соды и стирального порошка сделать порошок для посудомоечной машины. Такой же по составу, только дешевле на порядок.
Есть очень много областей нашей жизни, где наше представление формирует исключительно маркетинговый буллшит. Увы, большинство людей даже не пытаются задумываться о том, что лежит в основе всего этого. Очень часто рыночная ситуация приводит к тому, что себестоимость продукта составляет 0.5% от его цены. Остальное маркетинг, наценки, логистика, упаковка и тому подобное. Почти все в курсе про концепцию продажи чернил для принтера по цене слез гималайских девственниц и настойчивые рекомендации производителей использовать только оригинальные расходные материалы. Например, совсем недавно меня озарило, что 1.5 грамма сухого вещества во флаконе удобрений для растений не могут стоить 200-250 рублей. А ведь именно такое количество может уместиться в относительно стабильном состоянии в виде раствора. Я сразу представил себе гектары полей и грузовики, которые везут тонны порошка. В результате перешел на расфасовки по 1 кг Буйских комплексных сухих удобрений. Можно ванну раствора приготовить.
Сегодня будем создавать ультра-дешевый порошок для посудомойки. Уменьшение реальной зарплаты и удорожание импортной бытовой химии заставило перерыть учебники, просмотреть кучу материалов с форумов химиков и попытаться найти способы экономии на расходниках. Очень уж ощутимо стал стоить порошок. Результаты вдумчивого исследования и экспериментов сильно удивили. Для промышленного применения чаще всего химиками-технологами создаются индивидуальные рецептуры в зависимости от качества воды и задач. Почему бы нам не попробовать разобраться во всем этом?
TLDR:
70% прокаленной соды и 30% стирального порошка вместо моющего средства.
Если очень лень возиться с содой, то просто порошок Биолан или его аналоги. Сода удешевляет.
Пищевая соль «Экстра» вместо соли.
Особенности переустановки предустановленной Windows 8
Хочу поделиться полученным опытом, чтобы вы избежали моих ошибок и сэкономили себе время, силы, и самое главное — нервы. Массу нервов. Принесли мне вчера для обслуживания ультрабук свежих серий, двухбуквенной компании, с описанием «ужасно тормозит, не работают браузеры». Первичный осмотр показал заражение парой троянцев, неработоспособность ни одного из четырех браузеров, установленных пользователями в системе, общую замусоренность системы утилитами из разряда «поставь меня —
Итого, имеем ультрабук с Windows 8, рабочим разделом восстановления и отсутствием каких-либо дисков в комплекте поставки (этот момент важен). Бук в качестве стартового ПО имеет UEFI, что в принципе для использования с Windows 8 логично, и даже было бы удобно, если бы не одно но — ключ для установки системы зашит в таблицу данных ACPI, в поддтаблицу MSDM. На тот момент я ещё этого не знал, да и не думал, что мне это понадобится.
Microsoft Research запустила браузерную игру-головоломку по обучению программированию
Microsoft Research в своем блоге анонсировала запуск браузерной игры-головоломки Code Hunt по обучению программированию на C# и Java.
Игроку даются фрагменты кода с заранее неизвестной функциональностью. Цель игры заключается в том, чтобы на основе входных данных и ожидаемого результата, изменить код метода или функции так, чтобы выходные данные соответствовали этому ожидаемому результату.
Доступен новый JIT: теперь с поддержкой SIMD
От переводчика
Лично я просто невероятно обрадовался новой возможности. Как раз не так давно одолел Pro .Net Perfomance, в которой одна из глав была посвящена параллельности, и векторизации в частности. Вывод, сделанный авторами: «К сожалению, использование векторизации возможно исключительно на С++, выполнение кода на видеокарте — возможно и средствами .Net, однако C++ AMP оставляет любые управляемые библиотеки GPGPU далеко позади, поэтому, к сожалению, в данных задачах рекомендуем использовать подключаемые C++ сборки.» Поэтому рад сообщить, что по крайней мере одна проблема решена. Что ж, приступим!
CryEngine становится доступен по модели Engine-as-a-Service
GDC преподносит нам много сюрпризов — вслед за анонсом, что Unreal Engine 4 становится доступным всем желающим по подписке о том же самом заявили и товарищи из Crytek. Начиная с мая этого года инди разработчики смогут получить доступ к CryEngine за 9.99$/EUR в месяц без отчислений каких-либо роялти.
Бесплатный SDK так же останется доступным, но он не будет предоставлять доступа к последним функциям движка. Так же пока не совсем ясно будут ли доступны исходные коды движка и можно ли будет продолжать пользоваться движком не имея активной подписки. Обо всем этом Crytek обещает рассказать в ближайшее время.
5 способов сравнить два байтовых массива. Сравнительное тестирование
Т.к. CLR не предоставляет стандартного способа сравнить два куска памяти, то функция была написан на скорую руку самостоятельно (лишь бы работало).
Погуглив по фразе «Best Way to Compare Byte Arrays in .Net», я пришёл в замешательство: в абсолютном большинстве случаев люди предлагали использовать либо LINQ, либо Enumerable.SequenceEqual(), что практически одно и тоже. Даже на StackOverflow это был самый популярный ответ. Т.е. катастрофически популярно заблуждение вида:
«Compiler\run-time environment will optimize your loop so you don't need to worry about performance.» Отсюда.
Именно оно впервые навело меня на мысль написать этот пост.
Я провёл сравнительное тестирование пяти способов сравнения буферов, доступных из C#, и на основании результатов тестирования дал рекомендации в выборе способа.
Кроме того, я декомпилировал некоторые функции, и проанализировал код, генерируемый JIT-компилятором для конфигурации x86, а так же сравнил машинный код, генерируемый JIT-компилятором, с машинным кодом функции CRT аналогичного назначения.
Меняем лампы подсветки монитора (сами)
В данном посте, я бы хотел рассмотреть такую болячку LCD мониторов, как вышедшие из строя лампы подсветки, попытаться разобраться почему это происходит, ну и соответственно поменять их. Заинтересовавшихся прошу проследовать за зелёным человечком.
P.S.
Под катом содержится 27 фото
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность