Search
Write a publication
Pull to refresh
34
0
Дима @nihi_l_ist

Пользователь

Send message

Как начать и не бросить писать ОС

Reading time7 min
Views78K
Очередной велосипедЧитая Хабр в течении последних двух лет, я видел только несколько попыток разработки ОС (если конкретно: от пользователей pehat и iley (отложено на неопределённый срок) и Igor1024 (не заброшено, но пока больше походит на описание работы защищённого режима x86-совместимых процессоров, что бесспорно тоже необходимо знать для написания ОС под x86); и описание готовой системы от alman (правда не с нуля, хотя в этом нет ничего плохого, может даже наоборот)). Мне почему-то думается, что почти все системные (да и часть прикладных) программисты хотя бы раз, но задумывались о написании собственной операционной системы. В связи с чем, 3 ОС от многочисленного сообщества данного ресурса кажется смешным числом. Видимо, большинство задумывающихся о собственной ОС так никуда дальше идеи и не идёт, малая часть останавливается после написания загрузчика, немногие пишут куски ядра, и только безнадёжно упёртые создают что-то отдалённо напоминающее ОС (если сравнивать с чем-то вроде Windows/Linux). Причин для этого можно найти много, но главной на мой взгляд является то, что люди бросают разработку (некоторые даже не успев начать) из-за небольшого количества описаний самого процесса написания и отладки ОС, который довольно сильно отличается от того, что происходит при разработке прикладного ПО.

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

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

История игрушки. Поле Чудес

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

Жизнь мальчиков с математическими способностями в атомных городах была предопределена — школа с пятерками по алгебре и геометрии, мех-мат столичного университета, возвращение в систему, квартира через год, кандидатская степень в 40 лет, ВАЗ 2103 к пятидесяти годам, звание доктора, гараж, шесть соток, четыре квадратных метра.

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

Pole Chudes для iPhone

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

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

2Гига #45: DevCon'11 Uncut Version

Reading time1 min
Views377
2Гигаdevcon 11Участники:
Евгений Жарков
Владимир Юнев
Андрей Майоров
Денис Гладких
Сергей Пугачев

Содержание:
DevCon'11: доклады, впечатления, концерт Zdob si Zdub, комары убийцы, как жить когда мало интернета, в общем все, что можно рассказать о конференции за МКАД.
Длительность: ~45 минут
Подкаст на RPOD,POD.FM

Все ходы записаны

Reading time20 min
Views51K
   Я считаю, что одним из главных устройств, которое должно быть в любом автомобиле, является видеорегистратор. Что это такое и для чего он нужен? По большому счету, это небольшая штука, основная задача которой – записывать всё то, что видит водитель в лобовое стекло своего автомобиля. За этот «бесполезный» кусок китайской пластмассы иной раз хотят очень много денег, поэтому многие считают его покупку нецелесообразной, предпочитая купить какой-нибудь сабвуфер. Однако в жизни любого водителя может случиться (тьфу-тьфу-тьфу) такой момент, когда подобное устройство может оказаться единственным спасением – пройдет всего какой-то миг, а видеорегистратор, в отличие от того же сабвуфера, успеет многократно окупиться. От приключений на дороге никто не застрахован, просто одни вздохнут с облегчением, а к другим моментально придет понимание, что регистратор все-таки нужен. Был.

image

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

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

Две красотки

Reading time5 min
Views4.4K


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

Windows 8 для разработчиков: возрождение мечты? (2/2)

Reading time6 min
Views7K
От переводчика: следует понимать, что вся нижеследующая информация является лишь домыслами не имеющего отношения к Microsoft автора, и представлена здесь исключительно для понимания проблем, стоящих перед Windows.

Первая часть

О дивный новый мир


Следующая версия Windows будет включать в себя две исполняемых среды — новую версию .NET (пока обозначенную как 4.5) и классическую C++ среду (с технической точки зрения это COM или некое ее производное), названную WinRT. Также в Windows 8 появится новая встроенная библиотека для разработки пользовательских интерфейсов — DirectUI — основанная на API Direct2D и DirectWrite, которые были представлены в Windows 7. Новая версия Silverlight, по-видимому, пока называемая Jupiter, будет работать, используя DirectUI. И WinRT, и DirectUI будут доступны напрямую из .NET посредством встроенных средств доступа.
Читать дальше →

Подготовка и публикация приложений в Marketplace

Reading time7 min
Views11K
Недавно мне невероятно повезло участвовать в вебинаре Microsoft Стаса Павлова и Юлии Щегловой "Windows Phone для стартапов. Ответы на ваши вопросы" (запись доступна на techdays).

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

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

Анонс книг 7'2010

Reading time10 min
Views2.7K
Российские и зарубежные издательства трудятся во всю на благо простых разработчиков и выпускают десятки книг в месяц из самых разных областей компьютерной науки. При этом, как и во многих других областях, процент качественного товара остается на определенном (не слишком высоком) уровне. Прежде чем пойти в магазин и купить книгу (да, я в этом вопросе старомоден и не понимаю, как можно читать хорошую техническую книгу в электронном виде) приходится потратить солидное время на изучение того, стоит ли она потраченных средств и усилий.

Прежде чем выбрать книгу я точно так же пытаюсь выяснить ответ на этот вопрос с помощью некоторых критериев, которыми являются «перекрестные ссылки» авторитетных авторов друг на друга, имя самого автора (мало кто сомневается в качестве очередной книги Джеффри Рихтера, его книги можно брать практически не раздумывая), а также рецензии, желательно, так же известных людей.

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

Р. Мартин. Чистый код: создание, анализ и рефакторинг. Питер. 2010


(Оригинал: Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship, Prentice Hall, 2008)

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

Видео. Живой пример с TDD

Reading time1 min
Views1K
В продолжение или в поддержку поста Видео. Пример разработки приложения с помощью TDD. За основу мы взяли задачу — написать крестики-нолики с использованием TDD.

Отличие данного примера:
* больше теории про TDD
* немного отошли от стандартного цикла тест-код-рефакторинг
* пришлось ускорить сессию парного программирования в 5 раз (иначе получится двух часовая запись)
* запись в стерео, поэтому будет разговор в разных ушах

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

Может быть, когда-нибудь мы будем делать модели именно так?

Reading time1 min
Views510
Совершенно чумовой ролик Брюса Брэнита (Bruce Branit) под названием World Builder: с одной стороны необычный взгляд на развитие интерфейсов, с другой — романтическая история.

Программирование — это не Дженга

Reading time9 min
Views2.3K
Чувствуете ли вы себя игроком в Дженгу (игра, в которой игроки попеременно добавляют по одному элементу к возводимой конструкции, проигрывает тот, чье действие приведет к её разрушению), когда программируете? Насколько легко вносить изменения в ваши программные системы? Опасаетесь ли вы, что после внесения изменений ваш код неожиданно перестанет работать? Если вы утвердительно ответили на один из этих вопросов — это явный признак некачественно спроектированного кода, который приводит к замедлению вашей работу уже на следующий день после его появления. А приходилось ли вам когда нибудь разрабатывать код, который сложно было понять уже на следующий день? Мне посчастливилось присутствовать на многих презентациях Боба Мартина (Uncle Bob) и мне очень нравится та часть его выступления, где он спрашивает слушателей, сталкивались ли они с существенным замедлением скорости разработки из-за плохого кода. Когда большинство слушателей поднимали руки, он спрашивал: «Так зачем же вы его так написали?».

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

Паттерны проектирования для человеков.

Reading time4 min
Views30K
Была задача в максимально короткие сроки (зачет нужно было сдавать) человеку далекому от программирования объяснить паттерны на самом простом уровне.
В результате баланса простоты изъяснения и адекватности, образовалась эта шпаргалка.
Просьба оценить эту самую адекватность и простоту.
Читать дальше →

Если бы языки программирования были религиями…

Reading time4 min
Views13K
С удивлением обнаружил, что в интернете не было перевода на русский довольно забавной статейки, написанной неким Rodrigo Braz Monteiro, в которой он сравнивает языки программирование и религии. Поэтому пришлось делать перевод самому, который ниже и прилагается.

Автору написание этой статьи навеяло сравнение языков программирования с автомобилями(оригинал), а мне это навеяло перевод…

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

Как обычно «новечки» не знают, «гуру» молчат

Reading time2 min
Views1.1K
В заголовке процитирован комментарий (с сохранением орфографии оригинала), который побудил меня написать этот топик.

Я познакомился с линухом много лет назад. И для меня был только один человек, которого я могу в каком-то смысле считать своим «гуру». Я в то время хорошо знал DOS, весьма поверхностно OS/2 и Win3.1, держал свою BBS и был нодом в Fido. В общем, сама по себе командная строка, чисто внешне, меня даже привлекала, но… в остальном мой опыт был абсолютно бесполезен. А он работал админом у местного провайдера.
Читать дальше →

Мифы настройки и оптимизации Windows

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

Выключение QoS для освобождения 20% пропускной способности сети
Читать дальше →

Секреты памяти

Reading time5 min
Views3K
Память — великое свойство, без которого трудно представить себе жизнь человека. Благодаря памяти мы используем в повседневной жизни свой собственный опыт и опыт предыдущих поколений. Можно ли как-то улучшить ее? От чего она зависит?
Читать дальше →

Восстановление битых пикселей ЖК

Reading time1 min
Views144K
Сомневался в успешности метода, а также в том, что мой вечно салатовый пиксель, застывший полгода назад и постоянно мозоливший мне глаз, «станет на место». Но…
О чудо, помогло!
screenshot

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

«Намертво прибитая к ядру» графическая подсистема

Reading time6 min
Views18K


То, что принято называть «графикой в ядре» обычно относится к win32k. Win32k.sys представляет собой ядерную часть графической подсистемы. Загружается пользовательским процессом smss.exe в процессе инициализации всех остальных подсистем. Путь к исполняемому образу для «kmode» подсистемы прописан здесь:


Как же это происходит?
Читать дальше →

Here be dragons: Управление памятью в Windows как оно есть [1/3]

Reading time8 min
Views181K

Каталог:
Один
Два
Три

Менеджер памяти (и связанные с ним вопросы контроллера кеша, менеджера ввода/вывода и пр) — одна из вещей, в которой (наряду с медициной и политикой) «разбираются все». Но даже люди «изучившие винду досконально» нет-нет, да и начинают писать чепуху вроде (не говоря уже о другой чепухе, написанной там же):
Грамотная работа с памятью!!! За все время использования у меня своп файл не увеличился ни на Килобайт. По этому Фаерфокс с 10-20 окнами сворачивается / разворачивается в/из трея как пуля. Такого эффекта я на винде добивался с отключенным свопом и с переносом tmp файлов на RAM диск.

Или к примеру μTorrent — у меня нет никаких оснований сомневаться в компетентности его авторов, но вот про работу памяти в Windows они со всей очевидностью знают мало. Не забываем и товарищей, производящих софт для слежения за производительностью и не имеющих ни малейшего понятия об управлении памятью в Windows (и поднявших по этому поводу истерику на пол интернета, на Ars-е даже был разбор полетов). Но самое потрясающее, что я видел всвязи с управлением памятью — это совет переместить pagefile на RAM-диск:
Из моих трех гигабайт под RAM disk был выделен один (на тот момент, когда на лаптопе еще была установлена XP), на котором я создал своп на 768МБ ...

Цель данной статьи — не полное описание работы менеджера памяти (не хватит ни места ни опыта), а попытка пролить хоть немного света на темное царство мифов и суеверий, окружающих вопросы управления памятью в Windows.
Читать дальше →

Information

Rating
10,240-th
Date of birth
Registered
Activity