Pull to refresh
90
0
Бушуев Стас @Xitsa

User

Send message

Ускорение загрузки Windows for fun and profit

Reading time4 min
Views807K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста
Total votes 533: ↑517 and ↓16+501
Comments365

Вы неправильно пишете животных

Reading time5 min
Views382K
Животные – это платформы с очень ограниченной памятью, вычислительными способностями и возможностями модификаций. Разработчикам энимал-сцены приходится выдавать практически гениальные низкоуровневые алгоритмы. Правда, большое количество хардкода вызывает характерные проблемы с отсутствием проверки в экзотических условиях. Та же фильтрация входных данных делается очень и очень криво.


Уязвимость рекурсивных алгоритмов навигации муравья: спираль смерти

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

Но пойдём далее. Я не знаю, кто разрабатывал архитектуру ящериц, но они бегают в одном процессе, а дышат в другом. При этом платформа не поддерживает многозадачность, поэтому костыль с максимальной длиной бега в 4-6 секунд просто эпичен.
Читать дальше →
Total votes 442: ↑438 and ↓4+434
Comments352

Использование C# и Wix# для создания msi-пакетов

Reading time9 min
Views40K
От переводчика: англоязычные it-блоггеры обычно начинают такие статьи со слов I'm so excited. Про Wix# я узнал совершенно случайно и спешу поделиться этим открытием с хабрасообществом, т.к. каждый, кто имел дело с «голым» WiX, знает, насколько неприятным может быть этот процесс. И вот теперь можно сделать msi-дистрибутив, написав всего лишь несколько строчек на C#! По-моему, это круто! А относительно недавно (4 дек 2014) автор Wix# Олег Шило дал интервью изданию InfoQ. Перевод этого интервью я и представляю вашему вниманию. И прошу не судить строго за кальку некоторых слов — тот же «деплоймент» мне как-то ближе, чем «развертывание».
Предоставим слово Олегу Шило, автору Wix#
Total votes 26: ↑24 and ↓2+22
Comments9

Age of JIT compiling. Part II. CLR is watching you

Reading time9 min
Views13K
Продолжая тему JIT-компиляции .NET'a, сегодня мы рассмотрим диспетчеризацию методов у интерфейсов, generics (как классов, так и отдельных методов вместе с реальными сигнатурами); производить отладку релизных сборок с оптимизациями; разберемся с истинным предназначением типа System.__Canon (это не то, что Вы подумали).
Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments11

Three Futamura Projections и не только

Reading time7 min
Views11K
Привет, хабрачеловек. Сегодня я расскажу тебе про некоторые фундаментальные вещи в computer science: частичные вычисления, три проекции Футамуры и суперкомпиляцию.
 
 

1. Сразу к коду


-- функция, которая возводит x в степень y (неотрицательную)
power x y =
    case y of
        0 → 1
        1 → x
        _ → x * (power x (y - 1))


Читать дальше →
Total votes 126: ↑117 and ↓9+108
Comments76

Сводная таблица по поддержке C++ 11/14/17

Reading time5 min
Views65K
Как любому C++ разработчику, следящему за новинками в отрасли и стандартами в частности, мне стало интересно, насколько полно вообще поддерживается стандарт C++ 11 (а также 1y и 1z) разными компиляторами? Да, существуют разные сводные таблицы, но чаще всего это сравнение двух компиляторов или двух версий одного компилятора, либо сводная таблица, но уже устаревшая, либо вообще неполный список. В общем, сел я да и сделал полную таблицу (на основе списка Clang-a и GCC) по четырем компиляторам: Clang, GNU C++, MSVC и Intel C++.
Таблица под катом
Total votes 73: ↑71 and ↓2+69
Comments46

Незаметные сложности ракетной техники. Часть 2: Твердотопливные двигатели

Reading time7 min
Views204K

В комментариях к первой статье мне справедливо указали, что я совсем не рассказал о твердотопливных двигателях, которые применяются в космонавтике. Действительно, в одну статью даже простой ликбез не влез. Поэтому приглашаю желающих почитать продолжение.
Читать дальше →
Total votes 199: ↑198 and ↓1+197
Comments57

ДНК-оригами: как из ДНК делают интересные штуки нанометрового размера

Reading time12 min
Views85K
Недавно я обнаружил весьма печальный факт: на Хабре совершенно не освещена такая забавная тема, как ДНК-оригами. Есть только один пост 2009 года, рассказывающий лишь самое начало занимательной истории о том, как из ДНК (да-да, той самой дезоксирибонуклеиновой кислоты, несущей нашу генетическую информацию) можно создавать всякие хитрые, плоские и трехмерные штуки нанометрового размера. Та самая нано-технология, как она есть. В этом обзоре я хочу рассказать о развитии ДНК-оригами: двухмерные смайлики из ДНК, трехмерные фигуры, кристаллы из ДНК с запрограммированной структурой, ДНК-«коробочки» с крышкой, способные нести молекулы нужных веществ и выпускать их после сигнала об открытии крышки, и, наконец, динамические структуры типа ДНК-шагохода (walker), гуляющего по подложке (создатели гордо говорят, что это уже наноробот!). Кто хочет узнать больше о том, зачем все это нужно, почитать о технологиях изготовления красивых нанометровых штук из ДНК или просто посмотреть красивые картинки, добро пожаловать под кат.


Так выглядит ДНК-наноробот

Читать дальше →
Total votes 117: ↑117 and ↓0+117
Comments57

Быстрое возведение чисел от 1 до 100 в квадрат

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


*квадраты до сотни

Для того, чтобы бездумно не возводить в квадрат по формуле все числа, нужно максимально упростить себе задачу следующими правилами.
Читать дальше →
Total votes 118: ↑83 and ↓35+48
Comments38

Как мы искали Марс-3

Reading time9 min
Views442K
Честное слово, это почти случайно получилось, что такая новость пришла к началу апреля и Дню космонавтики. Сегодня я расскажу о том, как история, которая началась и оборвалась более 40 лет назад, внезапно получила продолжение в наши дни. О том, как простой юзернейм вконтакта, в своем интересе к Марсу дошел до NASA. О том, что международная солидарность ученых — не пустой звук. И о том, что космос ближе, чем кажется.

Мы искали Марс-3.

И мы нашли его! Прямо на Марсе, на дне гигантского кратера Птолемея, среди безжизненных пустошей и валунов.

О том, как мы это сделали, сегодняшний рассказ.


Читать дальше →
Total votes 677: ↑669 and ↓8+661
Comments169

GTD на кухне: чем накормить голодного программиста

Reading time9 min
Views56K
imageИтак, как и обещал в первой части, продолжаем упрощать бытовую жизнь хабражителя. Сегодня 8 марта (кстати, девушки, поздравляю!) и части мужчин хочется порадовать своих женщин и освободить их от «рабского труда» на кухне, а другой части – приготовить для себя не традиционные пельмени\вареники\сосиски, а что-то посущественней.
Вот несколько проверенных рецептов, которые пригодятся и первым, и вторым.

Осторожно, много картинок. Голодным не входить!
Читать дальше →
Total votes 220: ↑168 and ↓52+116
Comments214

Узелковая бухгалтерия в трактате «Коцо-пец» (индейцы чинча, IV в. н.э.)

Reading time8 min
Views9.4K
image

Перепечатка из японского научного журнала «Пусюви васяби хоэмуцу сигутони вайдэй» за 2011 год.

«В прошлом номере я детальнейшим образом изложил историю отыскания древнего бухгалтерского трактата «Коцо-пец» и мучительную работу над его расшифровкой. Настала пора пожинать плоды. Надеюсь, придирчивый японский читатель по достоинству оценит достигнутый результат. Если раньше первой бухгалтерской книгой считался «Трактат о счетах и записях» европейца Луки Пачоли, то с публикацией настоящей статьи историческую несправедливость в отношении южноамериканцев можно считать исправленной. Действительные изобретатели древнейших бухгалтерских технологий – индейцы чинча». Всегда к Вашим услугам, профессор Сикимицу.

Текст трактата с комментариями профессора Сикимицу
Total votes 33: ↑28 and ↓5+23
Comments11

Об одном способе, как можно ускорить и упростить создание закладок в DjVu и PDF документах

Reading time1 min
Views2.4K
Привет, Хабравчане!

Хочу поделиться с вами решением одной небольшой проблемы.

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

Тратить много времени на ручное создание закладок мне не хотелось, а найти в интернете какой-либо универсальной софт, чтобы можно было удобным способом редактировать закладки сразу и в DjVu и PDF документах, я не смог. Есть правда один хороший вьювер для DjVu и PDF – программа STDU Viewer. Эта программа умеет создавать закладки и экспортировать их в XML файл, но в ней не предусмотрено функций для записи созданных закладки в саму документ.

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

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

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

Программа бесплатная. Страница для скачивания и с более подробной информацией находится здесь.

Буду рад, если кому-то пригодится.
Total votes 11: ↑11 and ↓0+11
Comments5

Что такое Hi10P?

Reading time7 min
Views118K
В сущности, Hi10P всего навсего профиль известного стандарта H.264, который использует 10 бит для передачи цвета, тем самым уменьшая сегментацию изображения (например, досаждающие многим ступенчатые градиенты) и уменьшая общий вес файла. Если не углубляться в детали, то достаточно сказать, что применение данного профиля это большой шаг вперёд. Данный текст ставит своей целью помочь людям в выборе проигрывателя способного корректно воспроизводить Hi10P видео.
В оригинальной статье есть некоторые изменения, посему данный перевод можно считать устаревшим, тем не менее инструкция остаётся работоспособной.
Читать дальше →
Total votes 51: ↑45 and ↓6+39
Comments97

Перестаньте называть себя программистом и другие карьерные советы

Reading time19 min
Views258K
Есть один курс, который я бы добавил в программу обучения по всякой инженерной специальности, и он не о компиляторах или сложности алгоритмов. Это “Введение в реальность индустрии”, ибо об этом не говорят и это приводит к никому не нужным обломам. Эта статья претендует стать README.txt для молодого инженера в деле построения карьеры. Ее цель — сделать вас счастливее, заполнив пробелы в образовании относительно того, как работает реальный мир. Я не призываю следовать написанному как подробному руководству, но я надеюсь, что эта информация окажется для вас более ценной, чем то ничто, что вам рассказали об этом в университете.
Читать дальше →
Total votes 251: ↑212 and ↓39+173
Comments175

Немного о рукописных шрифтах

Reading time4 min
Views97K

— У вас же такие славные письменные принадлежности, и сколько у вас карандашей, сколько перьев, какая плотная, славная бумага… И какой славный у вас кабинет!
Ф.М. Достоевский, «Идиот»


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

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

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

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

Желаемая механизация с сохранением индивидуальных особенностей? Безусловно так. Но давайте сравним всем нам знакомые компьютерные шрифты с рукописными: частично с познавательной целью, частично – с целью предаться ностальгии об ушедшем в прошлое великом и незабвенном искусстве каллиграфии.
Читать дальше →
Total votes 88: ↑84 and ↓4+80
Comments35

Молнии

Reading time4 min
Views42K


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

По крайней мере, таков план.

Но как же именно вам, как разработчику игры, отрендерить такой эффект?
Читать дальше →
Total votes 99: ↑97 and ↓2+95
Comments22

Мультитест мультиварок: что купить IT-шнику, если хочется плова и борща

Reading time33 min
Views166K
Нам неоднократно поступали предложения о тестировании мультиварок, но до определенного времени мы от них отказывались — ну что такого можно рассказать о мультиварке. Однако, предложения продолжали поступать, и примерно после 5-6 письма редакция Box Overview задумалась, и решили сделать не просто тест одной мультиварки, а глобальное тест-сравнение 8 мультиварок нижнего ценового сегмента от разных брендов.

image

В нашем тесте участвуют 8 мультиварок от компаний Vitek (VT-4209), Kitfort (KT-201), Scarlett (SL-MC411S01), Polaris (PMC 0527D), Rolsen (RMC-5500D), Redmond (RMC-250), Philips (HD2173) и Panasonic (SR-MHS181).

Мы не будем рассказывать вам о дизайне — его можно посмотреть на фотографиях, не будем уточнять наличие контейнера для сбора конденсата — в него он попадает лишь в редких случаях, мы не будем говорить о «эффекте русской печи» и прочей маркетинговой шелухе, которую так любят продавцы.
Мы расскажем о более интересных вещах — об удобстве управления, о качестве рецептов из комплекта, о физической и химической стороне процесса приготовления, о типах антипригарных покрытий, о реальном, а не маркетинговом функционале и о том, что у мультиварок внутри.
Под катом много картинок, фотографий плова и борща, физический и химический ликбез и geek-porn
Total votes 382: ↑363 and ↓19+344
Comments244

Variadic templates. Tuples, unpacking and more

Reading time7 min
Views94K
В этом посте я поговорю о шаблонах с переменным числом параметров. В качестве примера будет приведена простейшая реализация класса tuple. Также я расскажу о распаковке tuple'а и подстановки, хранимых там значений в качестве аргументов функции. И напоследок приведу пример использования вышеописанных техник для реализации отложенного выполнения функции, которое может быть использовано, например, в качестве аналога finally блоков в других языках.
Читать дальше →
Total votes 53: ↑51 and ↓2+49
Comments7

Что такое Томита-парсер, как Яндекс с его помощью понимает естественный язык, и как вы с его помощью сможете извлекать факты из текстов

Reading time6 min
Views88K
Мечта о том, чтобы машина понимала человеческий язык, завладела умами еще когда компьютеры были большими, а их производительность – маленькой. Главная проблема на пути к этому заключается в том, что грамматика и семантика естественных языков слабо поддаются формализации. Кроме того, от языков программирования их отличает присутствие многозначности.

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

image

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

Называется технология Томита-парсер, и по большому счету, любой желающий может воспользоваться ей уже сейчас: бинарные файлы доступны для скачивания. Однако прежде чем пользоваться технологией, нужно научиться ее правильно готовить.
Читать дальше →
Total votes 154: ↑148 and ↓6+142
Comments78

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity