Обновить
26
0
Александр Дербенёв @alexac

Senior Software Engineer

Отправить сообщение
> ARM делает замечательные встраиваемые процессоры
ARM не делает процессоры. ARM проектирует процессорные ядра и лицензирует их.
А еще, судя по скринам это msys shell под виндой, но не будем холиварить.
Я за месяц работы походил по всем граблям и по максимуму задействовал софтовые способы ускорения сборки:
— Отказался от MSBuild в пользу ninja, благо оригинальный проект в gyp и генерируется что угодно.
— Включил компонентную сборку.
— Установил msysgit из ветки fscache, который кеширует обращения к файловой системе на винде.
— Включил clcache (оригинальный немного недопилен, я использую форк, моего коллеги — github.com/vchigrin/clcache/
или забери этих индивидов обратно…
> никто не расстроится от замены.
dvcs же… У меня полная рабочая среда разворачивается за четыре часа из корпоративной сети, причем две трети времени занимает сборка мастера, одну треть — клонирование репозитория, а паралельно можно установить и настроить идешку, браузер, мессенджер, etc…
У меня выходит в районе трех полных компиляций в день на локальной машине. Еще до пары десятков на сборочной ферме.
На полную компиляцию уходит полтора часа на локальной машине и минут сорок на серваках сборочной фермы. Я не считаю запуск юнит тестов.
Буквально на днях увеличили память, SSD должны поставить позже…

А вообще, даже не используя SSD можно экономить время. Во первых, отказаться от студии. Она слишком прожорлива. В качестве системы сборки ninja заставила MSBuild курить в сторонке, а Sublime Text показал себя, как очень приятная IDE. Git из бранча с кешированием дисковых операций на винде, заметно быстрее обычного, включение компонентной сборки тоже возымело эффект.

Но не спорю, ждать компиляции всё равно приходится долго.
Знаете, два месяца назад, когда я, отчисляясь из вуза, искал работу, мне говорили то же самое. А когда устроился в крупную компанию — все заткнулись.
На этот вопрос тяжело ответить однозначно. С одной стороны нет, с другой — почему бы и нет. Объясню подробнее.

1. В своем коде — да.
Мы наследуем принципы хромиума. Мы не допускаем изменений, которые:
* Значительно увеличивают размеры файлов (10Кб — уже значительно);
* Замедляют приложение даже на доли секунды;
* Значительно увеличивают потребление памяти;

2. В чужом коде — нет.
То что наш проект основан на хромиуме, дает нам хорошую базу и между тем немного связывает руки — чем радикальнее наши изменения, тем сложнее merge на новую версию. В общем целом, провести радикальное ревью мы не можем (директория с проектом на рабочем компе у меня сейчас занимает 82Гб — такие объемы очень тяжело отрефакторить, у нас пока маленькая команда, да и чем больше изменения, тем сложнее их отдать в апстрим.

3. Но местами — тоже да.
Но при этом нельзя сказать, что мы ничего не меняем и никого не слушаем, к примеру, вскоре после появления соседнего поста о уменьшении периода таймера хромом, кто-то предложил заняться этой проблемой и отдать в апстрим.

Обращаю внимание, что это ни в коем случае не официальная позиция. Это личные впечатления.
Не скажите, буквально неделю назад в ходе code review получил вопрос по тому, как изменения сказываются на производительности.
Ну не скажите, у нас, к примеру, код не прошедший code review просто не сольется в мастер. Для чего-то хоть сколько-то нового — архитектурное ревью. Целая куча тестеров и внутренние прогоны внутри компании, прежде чем выкладывать релиз. Или это по вашему не вылизывание?
Плоский дизайн — вполне себе ничего, но вот длинные тени — это какое-то убожество. Такое ощущение, что кто-то пытается сделать плоский дизайн объемным… только вот зачем?
Американцы упрекают нас в пресечении пропаганды содомии среди детей, и при этом, сами засовывают свои носы в личную переписку десятков миллионов российских граждан. Поразительная двуличность фарисеев этих западных демократий, которые, с одной стороны, призывают нас к уважению к закону, к соблюдению прав человека, к конфиденциальности информации, а с другой стороны, бесцеремонно залезают и воруют информацию наших граждан.


Простите, но я не могу удержаться от этого:

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

Это я к тому, что и те, и другие хороши… у всех бревна в глазах есть.
Кстати, в последнее время это все чаще cmake. && make && make install.
Как раз деньгами настоящее творчество не мотивируется. Деньгами мотивируется ширпотреб. А творчество само по себе мотиватор, потому что сам процесс должен доставлять удовольствие. Как музыкант, учащийся импровизировать, говорю.
Для подобных целей мне удалось использовать самый обычный bison/flex и связку из clang и emscripten. Вот немного сумбурная запись в блоге, где я описал, как это можно сделать: http://alex-ac.blogspot.ru/2013/04/javascript-emscripten-lexyacc.html

Да, в этом случае есть дополнительные этапы, вроде компиляции в llvm биткод и трансляции его в javascript, зато действия по подготовке кода минимальны — нужно только написать простенькую обертку (никаких шаблонов на m4).
Если человек покупал компьютер без ОС или с предустановленным DOS/linux/BSD или у него вообще mac, то Office starter у него не будет. К тому же, насколько я понял, речь идет не о формате документа, а об обучении работе с офисным пакетов (что в техническом вузе — бредовая затея, ладно бы latex объясняли).
Office не входит в программу dreamspark, и даже в MSDN AA.
Скорее всего вы не знали, когда выбирали название, но pinboard — крутая отладочная плата от dihalt. Мне интересно, как он отреагирует на такое название.
Религия не позволит.

Да и там пол системы с нуля надо переделать, чтобы *nix-овые утлиты работали так, как задумано, а не как-то через жопу по особенному.
А вы сравните:
$strComputer = "." $objWMI = gwmi win32_computersystem" -computername $strComputer $objWMI.CurrentTimeZone = 207 $objWMI.Put()
и
ln -sf /usr/share/zoneinfo/Asia/Novosibirsk /etc/localtime

И скажите, как долго надо курить маны, чтобы дойти до такого решения.

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность

Специализация

Десктоп разработчик
Старший
От 100 000 €