Месяц: Июль 2015
Первый день использования Windows 10

Вместо предисловия
Microsoft провела большую пиар акцию связанную с бесплатным обновлением Windows 7 и Windows 8/8.1 до Windows 10, которая должна была начаться 29 числа. Владельцы лицензионных версий получили возможность зарезервировать лицензионную версию, чтобы начать обновление как можно быстрее.
Установка обновления
Накатить обновление на сотни миллионов компьютеров в один день задача непростая. Но я верил в Microsoft, и предполагал, что замечательная утилита начнет скачивание дистрибутива заранее, скажем 20 числа. Скачает 95%, а самые важные 5% докачает в день релиза. Организовать это совсем не сложно. А защищаться от людей, которые решат из превью версий выдрать 5% и заставить это работать, на мой взгляд совсем не стоит. Но Microsoft похоже думает иначе.
Долгожданное обновление игнорировало меня до самого вечера. Лишь ближе к 23:00 система решила попробовать установить обновление, долго пыталась скачать дистрибутив и вывалилась с ошибкой.
Как оказалось, Microsoft заявила, что обновление будет выходить волнами и может вам достаться чуть позже. Причем это чуть может занимать несколько месяцев. По словам пиарщиков, это сделано потому, что часть оборудования не поддерживается новой ОС и его необходимо допилить. На мой взгляд, такая пиар компания выглядит как минимум странно. Это всё равно что помахать конфетой перед лицом ребенка и сказать, что получит он ее через месяц.
Что еще более удивительно, так это масштабы тестирования новой версии. Чуть ли не год назад, я устанавливал первую Preview версию. И народу было вовлечено масса. Плюс ядро системы явно не претерпело глобальных изменений, а значит и драйвера вряд ли надо глобально исправлять. Да и масса бета-тестеров должна была быстро выявить список неработающих драйверов. В общем, это их внутренняя кухня, про которую мало что понятно. Создается впечатление, что пиарщики просто решили сгладить негативную реакцию у некоторых пользователей, которые столкнуться с проблемой.
Маленькие полезности для Git

Это вторая статья, источником которой служат мои презентации для отдела разработки ПО в нашей компании в конце 2014 года. В ней я расскажу о маленьких хитростях при работе с git, которые не очень хорошо известны.
Posh-git
Posh-git это набор фантастических скриптов для работы с git в PowerShell. Многие программисты в Windows используют графический интерфейс для Git, например, TortoiseGit. А с появлением поддержки Git в Visual Studio использовать его стало еще проще.
Я же привык пользоваться консольным клиентом git. Наверняка сказываются многие часы работы с git в linux. Раз уж я заговорил о консоли, не могу не отметить отличную работу, которую проделала Microsoft при разработке своего Powershell. Совместимость с командами linux терминала — это просто гениальная идея. Надеюсь, что в будущих версиях прикрутят работу через pipe и grep.
Вернемся к posh-git. Если вы используете Chocolatey (см. предыдущий пост), то для установки надо просто выполнить
cinst -y poshgit
Наши вопросы по криптографии

Так как наша компания (https://ancud.ru/) занимается защитой информации, то хорошее знание криптографии никому не помешает.
Криптография
- Что такое симметричная и асимметричная криптография?
- Что такое хеш-функция? Какие хэш-функции вы знаете? Почему CRC32 не подходит? HMAC? KDF?
- Какие симметричные алгоритмы вы знаете? AES, 3DES, ГОСТ 28147-89, RC5, Blowfish?
- В чем отличие блочных шифров от поточных шифров? Сеть Фейстеля?
- Что такое режимы шифрования? ECB (простая замена), CBC, гаммирование, CFB (гаммирование c обратной связью).
- Какие асимметричные алгоритмы вы знаете? RSA, DSA, ГОСТ 34.10-2012?
- Причем тут односторонние функции? Дискретный логарифм и эллиптические кривые.
- Цифровая подпись (ЭЦП) и асимметричное шифрование.
- Инфраструктура открытых ключей (PKI). Зачем? Что содержит сертификат?
- Алгоритмы аутентификации. Как работают симметричные и асимметричные?
- Выработка сессионных ключей. Почему Диффи-Хелман – это не аутентификация? Что такое Forward Secrecy (прямая секретность)? Защита от MITM атак.
- Как часто надо менять ключи? А пароли? От чего это зависит?
- Чему равна криптостойкость пароля? А если его выбирает пользователь?
- Почему для криптографии важны случайные числа? Приведите пример атаки на ДСЧ.
Chocolatey

Небольшое предисловие
В конце 2014 года я готовил что-то вроде конференции одного выступающего для своих коллег в отделе разработки ПО. Для этой конференции я подготовил ряд выступлений с презентациями о различных интересных вещах, которые происходят в мире разработки ПО, о наших внутренних проблемах с проектами, а так же о различных хитростях работы Git.
Сегодня я решил поделиться этой информацией (конечно, без наших внутренних вещей) со всеми желающими. Поэтому следующие несколько постов будут основаны на моих выступлениях. И первая штука, которой я хотел бы поделиться это Chocolatey.
Наши вопросы по программированию на C/C++

Следующий блок вопросов это самые важные вопросы для кандидата на позицию C/C++ программиста. Вопросы поделены на две категории. Надеюсь в современном мире все в курсе, что такое C++14. Но на всякий случай, оставлю тут ссылку на wiki. Знание совсем новых плюсов не обязательно, но крайне рекомендуется. На мой взгляд если человек работает в какой-то области и не интересуется, что в ней происходит последние лет 5, то ничего хорошего в этом нет.
В целом мы стараемся не мучать людей именно по C++. Считаем, что если у человека есть техническое мышление и он знает базовые вещи, то тонкостям мы его научим. Так же большим плюсом является понимаение принципов ООП. Именно понимание, а не заучивание их наизусть.
Наши вопросы по сетям

Так как до публикации ответов руки почти не доходят, я решил опубликовать все наши вопросы в надежде, что их сможет найти кто-то из наших кандидатов и подготовиться =)
Вопросы по сетям
- Модель OSI с примерами протоколов, устройств и программ, работающих на каждом уровне (если есть)?
- Маршрутизация внутри сети. Как работает ARP? Зачем нужен MAC и IP?
- Маршрутизация между сетями. Автономные системы, OSPF и RIP, BGP?
- Разница между TCP и UDP? Что такое соединение и как оно создается?
- Как работает DHCP? Зачем он нужен?
- Как работает DNS? Зачем он нужен?
- Что такое NAT? Как он работает? NAT traversal?
- Зачем придумали IPv6? Какие проблемы и как именно он решает?
- Что такое VPN и как он работает? IPSec, PPTP, PPPoE и L2TP?
- Что такое SSL(TLS)?
Дэвид Сирлин «Играй на победу»

О чём
Эта книга о том, как научиться играть в игры профессионально. Автор известен как киберспортсмен: несколько раз он становился чемпионом в разных дисциплинах, например, в Street Fighter. Книга «Играй на победу» — это книга о том, как эффективно тренироваться, чтобы выигрывать. Она может быть интересна не только игрокам, но и просто тем, кто любит побеждать по жизни. Автор описывает свой карьерный путь и дает любопытные советы о психологической подготовке.
Переводчики на Мосигре, предлагают в качестве девиза книги выбрать — «Бить лежачее тело нечестно, зато ЭФФЕКТИВНО и БЕЗОПАСНО».
Нейл Фьоре «Легкий способ перестать откладывать дела на потом». Продолжение.
Это продолжение предыдущего поста про книгу Нейла Фьоре «Легкий способ перестать откладывать дела на потом».
Продолжаем тезисы.
Глава 5
- Представьте себе несколько мелких дедлайнов, находящихся под вашим контролем, – паралич, вызванный попытками выполнить большой проект (с печальными последствиями в случае провала) как рукой снимет. Имея собственные дедлайны, расписанные далеко вперед, вы начинаете контролировать работу и создаете себе возможность для передышки после каждого этапа. Общий взгляд на проект позволяет вам увидеть другие методы и инструменты и сфокусироваться на том, с чего лучшее всего начать.
- Вам нужно делать так, чтобы волнение начало работать на вас и преобразовалось в план, который уничтожит угрозу. Это поможет вам продуктивно использовать стресс, вашу здоровую реакцию человека, борющегося за выживание, таким образом, как вы и собирались, – для самозащиты и подготовки к позитивным действиям. Как только вы используете эту энергию как следует, ваш мозг, уверенный в вашем хорошем физическом и психологическом состоянии, вернется на нормальный энергетический уровень для продуктивной работы.
- Вам будет сложно принять тот факт, что другие люди не придерживаются таких же высоких стандартов качества, как вы. На самом деле вы можете даже почувствовать некоторое превосходство в данном вопросе. В конце концов, наступит день, когда от вас потребуют завершенный проект и будут ждать вашего ответственного отношения к установленному дедлайну. В вы в это время будете больше заботиться о качестве, а не о том, чтобы просто завершить работу вовремя. Это абсолютно нормалько, когда вам не хватает хотя бы еще одного часа, чтобы сделать свою работу по-настоящему хорошо, а от вас требуют готовый проект уже сейчас.
Нейл Фьоре «Легкий способ перестать откладывать дела на потом».

Новая книга по GTD
Ещё одна книга по GTD, с которой мне удалось недавно познакомиться это книга Нейла Фьоре “Легкий способ перестать откладывать дела на потом”. Что не перестает меня удивлять, так это то, что книга была написана в 1989 году, когда ритм жизни был ниже, чем сейчас. Однако, многие не читают подобной литературы даже сейчас. На мой взгляд одна из причин состоит в том, что люди просто не знают о существовании подобных книга.
Кстати, эта книга была так же мною куплена по рекомендации с Хабра. Где-то в начале этого года, я просмотрел все посты с рекомендациями книг на Хабре и составил для себя некоторый единый список книг из 3-х частей: художественные книги, книги по программированию и книги по саморазвитию. Надо будет на досуге причесать этот список и опубликовать – может кому-то будет полезно. У меня пока только положительные эмоции от тех книг, которые мне удалось прочесть.