Windows on ARM

Ну чё? Мы стоили, строили и, наконец, построили: Microsoft Announces Support of System on a Chip Architectures From Intel, AMD, and ARM for Next Version of Windows. Отличная новость, я считаю.

Шрёдингер ходил по комнате...

«Шрёдингер ходил по комнате в поисках нагадившего котёнка, а тот сидел в коробке ни жив ни мертв.» (с) :-)

Dragon полетел

А тем временем в замке у шефа SpaceX успешно запустила и вернула с орбиты Dragon:

We are hiring!

Extreme Computing Group (XCG), в которой я работаю, нанимает разработчиков. В том числе рассматриваются кандидаты из-за рубежа. Само собой, локальные кандидаты предпочтительней, но их как-то не очень заметно, так что у вас есть хороший шанс. Делаются как новые H1B, так и H1B transfer, насколько я могу судить. Позиции ищуться по ключевым словам «eXtreme Computing Group (XCG)». Вот пара ссылок:

От себя добавлю, что проекты у нас сложные и интересные, а люди хорошие. :-) Подаваться нужно через http://careers.microsoft.com, в крайнем случае – пришлите резюме мне (alexeypa@gmail.com). На разбор писем я собираюсь потратить не так уж много времени. Никаких гарантий, что письмо посланное мне будет передано рекрутеру нет (я даже и не знаю, кто он), так что careers - надежнее.

Read On →

Бесплатный звонок в службу поддержки Microsoft

Microsoft распространяет среди сотрудников карточки Quick Assistance, каждая из которых обеспечивает одно бесплатное обращение в службу поддержки. Делается это на тот случай, когда сотрудник нежданно-негаданно оказывается в роли эксперта. Ну, знаете, как бывает: «Так вы работаете в Microsoft? А вот у меня компьютер не работает…» В такой ситуации, зачастую, проще перенаправить товарища в службу поддержки. Но учитывая, что звонок туда не бесплатный, в большинстве случаев никто в службу поддержки звонить не станет. Но осадок останется…

У меня эти карточки постоянно протухают. Главным образом потому, что они привязаны к стране, а большинство проблем, с которыми ко мне обращаются, происходят на другой половине земного шара. И вот я подумал, что пора проявить немного активности и найти нуждающихся до того, как они найдут меня. :-)

Read On →

Рекомендации NASA по написанию безопасных программ

Читаю местами увлекательный документ «NASA Software Safety Guidebook». Документ содержит рекомендации по написанию безопасных программ. Тех самых, которые в космос летают. Чуть менее чем всё из того, что там написано применимо и для обычного софта.

Хотя есть и космический экстрим, конечно. Например, идет речь о мультипрограммировании (N-Version Programming). Одна и та же функциональность реализуется разными способами. Если разные версии возвращают одинаковый результат, то всё в порядке. Если результаты не совпадают, то используется голосование, чтобы определить какой результат наиболее достоверный. Для защиты от одного сбоя нужно написать три разных реализации; от двух – пять.

Read On →

Tringle hepper

Моя дочь недавно начала ходить в садик, где она, общаясь с другими детьми, потихоньку постигает (и скоро нас с женой заткнет за пояс) английский язык. Не обходится без казусов. Свежее приобретение – ребенок был совершенно уверен, что расчёска по английски называется “tringle hepper”. Откуда, почему было совершенно не понятно. В результате допроса с пристрастием выяснилось, что так Скаттл (Scuttle) из мультика про русалочку назвал вилку, перепутав её с расческой. Бросились смотреть мультик. Read On →

Песня про ёжика

Многочисленные ссылки господина Пратчетта на некую пошлейшую “Песню про ежика” вдохновили меня на написание. Вариантов этой песни в стихотворном виде очень много и их нетрудно найти. Этот - мой, за исключением нескольких строк, автор которых мне неизвестен. Текст песни есть на страничке YouTube.

Отладка NMAKE скриптов

Раз уж я заговорил про BUILD и NMAKE, то вот несколько простых (и, в общем-то, очевидных) способов отладки NMAKE скриптов. Директива препроцессора !ERROR очень полезна, когда нужно выяснить доходит ли управление до интересующей нас линии скрипта. Директива выводит указанный текст в сообщении об ошибке (U1050) и останавливает NMAKE. !MESSAGE пригодится для дампа макросов в лог. Например: !MESSAGE BUILD_PASS = $(BUILD_PASS) Выведет в лог номер прохода (PASS0, PASS1 или PASS2), в случае, если NMAKE, был запущен через BUILD в билд-окружении WDK. Read On →

Обход некоторых ограничений утилиты BUILD

Система сборки в Windows Driver Kit базируется на утилите BUILD. Эта утилита сканирует структуру проектов, отслеживает зависимости (к сожалению далеко не все) и подготавливает окружение для запуска NMAKE, который, собственно, и выполняет всю черновую работу по сборке. К сожалению, BUILD создавался и развивался по принципу «так получилось», исключительно эволюционным путем – как средство сборки исходников Windows. Так что эта утилита некоторыми неудобными ограничениями.

Одно из них – полное непонимание переменных и директив препроцессора.

Read On →