Обоснование необходимости приобретения SSD для разработчиков

Добрый день, уважаемые хабраюзеры.

Данный пост ставит собой целью попытаться донести до менеджера проекта/руководства необходимость приобретения SSD для разработчиков.

image

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

Я решил написать эту статью в то время, пока мой проект компилировался. И он все еще компилировался, когда я написал треть.

Мозг и компьютер

Компьютер следует воспринимать не как нечто великое, достойное поклонения, перед которым нужно стоять на коленях, когда он выполняет вычисления. Нет, это время прошло вместе с ламповыми ЭВМ середины XX века. Сейчас компьютер — это помощник, инструмент, отвертка, которая должна быстро и своевременно помогать. Работы выполняет пользователь, программист, и этой работе оборудование должно помогать, а не наоборот.
Во время работы программиста в его мозгу летает множество идей, мыслей, вариантов. Программисту требуется быстро их проверять и реализовывать. Для этого компьютер должен четко и быстро реагировать на действия пользователя. Даже 30 секундная задержка, при открытии браузера для гуглинга какого-либо технического вопроса, долгий запуск утилиты системы контроля версий, долгое открытие проекта и уж тем более компилирование, при котором, к тому же, компьютер начинает сильно тормозить, сбивает с ритма работы. Приходится учиться думать медленно, записывать на листочек мысли, потому что через 5 минут, когда ты получишь техническую возможность от своего электронного покемона Слоупок реализовать мысль, уже становится поздно. Мозг уже занят другим. И, самое страшное, если мозг теряет поток (http://habrahabr.ru/post/103572/). Сейчас компилирование Awad с тремя сотнями проектов в решении — заняло около 10 минут. Это потеря потока. Мозг уже занят другими глобальными задачами, поиском вселенской справедливости или другой багой. И требуется еще 10 минут, помимо времени на завершение текущего процесса мозга, чтобы вернуться в поток. Это ужасно. На одном проекте, для тестирования изменений в коде, надо было потратить до 20 минут на развёртывание. Там были жуткие и долгие кодогенераторы, и для работы измеренной логики, генераторы должны были отработать. Так вот, та 20 минутная задержка превращалась в 40 минутную. Даже после 5-10 минутного компилирования уже можно забыть, зачем же ты это делал. В состоянии технического поиска и тестирования, необходимо быстро проверять разные возможности, и время между задержками на эти проверки, должно быть минимальным.
Быстрый компьютер, который удовлетворяет желаниям программиста, является очень важной вещью. Так же как и гоночный автомобиль, он должен быть быстрым, позволяя реализовать весь потенциал гонщика, а не задерживать его. За быстрым ПК комфортно работать, физически экономится время, и самое главное, не начинается диссонанс с работой головы, не происходит потеря потока.

Скорость работы ПК

Очевидно, что на производительность влияет множество деталей. С центральными процессорами все понятно, они все быстрей и все многоядерней, и загружены они будут только при компилировании. 3D дизайнеры и математики у нас расчеты не ведут. Память поможет большему количеству программ работать совместно. А студия прожорлива на память. Скорость памяти тоже важна. Но следует понимать, что обратиться к оперативной памяти компьютеру, все равно, что сходить в библиотеку человеку. В зависимости от технических характеристик, эта библиотека либо в соседней комнате, либо в соседнем доме. А вот получить данные с устройства постоянного хранения — равносильно заказать книгу на Amazon с доставкой ее по океану на гребной галере, а потом еще и почтой России на телеге, запряжённой старой клячей. Но сейчас происходит очень важная революция в системах хранения данных. К нам приходит SSD, это очень важная веха, наравне, а то и значительнее, чем появление многоядерных процессоров.
SSD — это самолет. Это самолет, в котором сидит курьер FedEX, который с парашютом спрыгнет прямо над твоим домой. SSD дает 5 кратное ускорение при чтении больших файлов. Но это неинтересно. Мы работает с тысячами мелких файлов с кодами, конфигами, и студия все это компилирует. А в сегменте мелких файлов скорость чтения SSD превосходит HDD в 50-100 раз. Это означает компилирование раз в 10 быстрей, как минимум! И общий прирост производительности, гораздо более быстрый запуск системы, своевременную реакцию системы на действия пользователя, готовность системы выполнять требования программиста. SSD даст, условно говоря, 10 кратный прирост производительности; замена же памяти, процессоров даст двух кратный. Вложить в SSD, все равно, что вложить в платину в 18 веке, когда они была дешевле меди. Результат много превосходит затраты. Но об этом в следующей главе.

Экономическое обоснование

Попробуем рассчитать выгодность SSD
Требуется SSD со 120GB – это хватит на систему, проекты и резерв в ~40% свободного места, нужный для полной эффективности накопителя.

Исходные данные

  • Произвольный сферический SSD на120GB 4000 р.
  • Сферический программист в вакууме с низкой зарплатой в месяц 70000 р.
  • Продолжительность рабочего месяца 176 ч.
  • Расходы компании на программиста, включая ЕСН (30%) ~100000 р.
  • Стоимость часа программиста 570 р.
  • Среднее число рабочих дней в месяце 23 дня

Прикинем потери времени программиста в день.
Предположим активный кодинг, 4 компиляции проекта в день

  • Время компиляции 10 минут
  • Простой из-за долгой загрузки (время на полыни запуск системы и софта – 7 минут, с SSD 2 минуты) 5 минут
  • Простой из-за общих тормозов сложно оценит 30 минут

Посчитаем потери времени

  • 4 компиляции 40 минут
  • 4 потери потока 40 минут
  • Загрузка 5 минут
  • Тормоза 30 минут

Итого 115 минут. Предположим погрешность в +-50% и предположим, что мы переоценили потери и ошиблись в большую сторону. Предположим общий простой в 1 час в день.
Итого 23 часа в месяц. Это 13110 рублей. Это 3,2775 SSD в месяц.

Таким образом, покупка SSD один раз может принести уменьшение убытков на простои вследствие прироста производительности на 13110 рублей в месяц.

Заключение

Покупка SSD повысит производительность программистов и общую удовлетворенность от работы. Экономический эффект многократно превысит стоимость SSD.

p.s. Трудно было выбрать правильный хаб. Если посоветуете в какой хаб перепубликовать — сделаю.

ссылка на оригинал статьи http://habrahabr.ru/post/188360/

Цвета: ссылки, книги и инструменты, которые сделают вашу жизнь проще

Цвет — конечно, очень важный элемент проекта, и выбор лучшей цветовой палитры для проекта является чем-то, чему действительно должны выделить время. Кроме понимания теории цвета нужно иметь еще и представление о психологии цвета, вы должны убедиться, что ваш выбор будет не только хорошо выглядеть, но и иметь хороший баланс и доставить правильное сообщение. Размышляя об этом, мы решили собрать некоторые советы, книжные рекомендации, ссылки к интересным статьям, а также некоторые инструменты и приложения, которые сделают вашу жизнь легче, когда речь идет о цвете.

Инструменты

Flat UI Colors

Это небольшое веб-приложение поможет вам скопировать цвет из Flat UI

image

Color Palettes – ColourLovers

Старый, но действительно хороший!

image

color.hailpixel.com

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

image

hexu.al

image

Sphere: Color Theory Visualizer

image

Color Scheme Designer

Тоже старый, но тоже хороший.

image

Книги

Color Design Workbook: A Real World Guide to Using Color in Graphic Design

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

image

Color by Betty Edwards: A Course in Mastering the Art of Mixing Colors

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

image

Color – Messages & Meanings: A PANTONE Color Resource

image

Pantone’s Guide to Communicating with Color

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

image

ссылка на оригинал статьи http://habrahabr.ru/post/188512/

Распараллеливание с минимальными правками в коде

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

Было:

class Service {   void longJob() {...} } ... Service s=new Service(); ...  longJob(); 

Стало:

class Service {   void longJob() {...} }  ... Service s=new Service(); ...  longJob(); 

ссылка на оригинал статьи http://habrahabr.ru/post/188508/

ITSea — конференция о людях, море и технологиях

image
Шестая по счету конференция ITSea пройдет 22-25 августа на неисследованном и прекрасном участке побережья Казантипского залива, а темами докладов под палящим крымским солнцем будут: html5, dart, кайтсерфинг, haxe, робототехника и дизайн интерфейсов.

Размещение производится на базе отдыха «Красивое место» или в палатках. Вы можете приехать на этот пляж один или с семьей, друзьями. Программу конференции можно найти на сайте itsea.ru

Специальный гость — реггей группа Корадуба.

ссылка на оригинал статьи http://habrahabr.ru/post/188506/

Список сервисов 3d-печати

image

Добрый день всем!

На хабре относительно часто можно увидеть статьи посвященные 3d принтерам, сравнению их цен и возможностям заказа у нас.
А как дело обстоит с готовыми 3д моделями?
Что если я пока не хочу покупать принтер, а «пощупать» напечатанную модель было бы интересно. И желательно выбрать из каталога готовых моделей, а не рисовать самому.
Много ли ресурсов, где их можно скачать, купить или распечатать из каталога?
Отвечая на эти вопросы я и решил сделать небольшой список ресурсов с возможностью выбора готовых моделей и заказа печати.

Иностранные сервисы:

  • www.thingiverse.com — наверное, самый известный из существующих. Сервис создан для свободного обмена моделями по лицензии GNU General Public License. Сервис работает с 2008 года. Принадлежит MakerBot Industries, США.
  • www.shapeways.com — печать моделей на заказ. Сервис работает с 2011 года. Производство (печать) расположенно в Нидерландах и США. Можно добавлять свои, даже можно создать свой магазин. В связи с обширном парком 3d принтеров предоставляют большой выбор материалов, включающих керамику и сталь. Осуществляют доставку в Россию.
  • i.materialise.com/gallery — печать моделей из каталога. Компания работает с 1990 года, находится в Бельгии.
  • Также есть возможность оценить свою модель и выбрать материал
  • www.sculpteo.com/en/gallery/today/ — печать 3d моделей и продажа своих. Есть достаточно сложные и дорогие модели.
  • www.kraftwurx.com — платформа для создания 3d моделей и их продажи.
  • www.turbosquid.com — база 3d моделей для дизайнеров игр, архитекторов и т.д. Многие модели не создавались с целью 3d печати, можно что-то найти.

Российские сервисы:

  • 3dmarket.org — сервис, позволяющий скачивать и загружать модели, а также выбирать исполнителя на печать.
  • printshare.ru — печать моделей из представленного каталога, а также печать своих моделей.

Если список не полный, прошу дополнять в комментариях, буду обновлять пост.

ссылка на оригинал статьи http://habrahabr.ru/post/183750/