f.lux: Биоритмы вашего монитора

f.lux – небольшая и удобная утилита (от http://stereopsis.com/), которая меняет цветовую гамму вашего монитора в зависимости от географических координат и времени суток. Что положительно сказывается на ваших глазах и снимает усталость.

Есть версии под Win и Mac (а так же Linux).

image

Реклама

О шоколаде, интернете, удобстве и разработке

Введение

В мире (в частности в IT) наверное слишком часто встречаешься с трудностями, порою даже не обращаешь на это внимание, трудности вошли уже в обыденность и не воспринимаются осознанно. Однако у меня появилось желание произвести небольшой обзор трудностей.

Шоколад

Мне очень нравятся молочные продукты. В частности мне нравится выпить стаканчик молока с несколькими дольками горького шоколада. Сегодня этот очередной раз повторился. Но он не прошёл обычно (может быть это как-то связано с тем, что позавчера я начал новую жизнь ;)), а отметился этот случай тем, что я очень тщательно подошёл к вопросу открытия шоколадки:

gork_franz[1]

Вы когда-нибудь ели шоколадки этой серии? Фишка в том, что когда ты открываешь её, тебе не надо задумываться над тем как это сделать, потому что всё написано и нарисовано на упаковке, причём сделано так, что мало кто сумеет пойти другим путём. Это Великолепно!

Интернет

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

Приведу простейший пример:

Я пишу сообщение в каком-нибудь RTE (rich-text editor) редакторе, и вдруг меня посещает мысль о том, что неплохо бы было вставить картинку, мои глаза устремляются на поиски соответствующей кнопочки и хорошо, если я найду её, а то вместо того, чтобы продолжить изливать свою творческую энергию в редактор, я начну изливать её авторам сайта, либо критиковать его на различных информационных ресурсах.

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

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

Принято считать, что объекты, содержащие в себе «золотое сечение», воспринимаются людьми как наиболее гармоничные. Пропорции пирамиды Хеопса, храмов, барельефов, предметов быта и украшений из гробницы Тутанхамона якобы свидетельствуют, что египетские мастера пользовались соотношениями золотого сечения при их создании. Архитектор Ле Корбюзье «нашёл», что в рельефе из храма фараона Сети I в Абидосе и в рельефе, изображающем фараона Рамзеса, пропорции фигур соответствуют величинам золотого сечения. Зодчий Хесира, изображённый на рельефе деревянной доски из гробницы его имени, держит в руках измерительные инструменты, в которых зафиксированы пропорции золотого сечения. В фасаде древнегреческого храма Парфенона присутствуют золотые пропорции. При его раскопках обнаружены циркули, которыми пользовались архитекторы и скульпторы античного мира. В Помпейском циркуле (музей в Неаполе) также заложены пропорции золотого деления, и т. д. и т. п.

Хотелось бы привести в пример ресурс, с которым в последнее время начал активно работать, это Twitter

image Он безумно популярен, и это не удивительно, в связи с тем, что он:

  1. Реализует законченную идею
  2. Предоставляет интересный и исчерпывающий функционал
  3. Прост и удобен в использовании

Разработка ПО

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

Чтобы не быть голословным хочу привести в пример анализ некого out-of-box движка для интернет-магазина.

При разработке такого движка следует понимать следующее:

  1. Клиент, который будет заинтересован в покупке данного решения (мы продаём не продукты, мы продаём решения ;)), не будет заинтересован в организации его поддержки (если он купит коробку, он не захочет нанимать специалистов для работы с ней).
  2. Движок должен быть максимально прост и предоставлять основную функцию – разворачивание и поддержка интернет-магазина, желательно, чтобы это происходило по нажатии нескольких кнопок

Те же самые принципы должны относиться и к самому процессу написания программного обеспечения:

  • Не должно быть решений, натянутых за уши. Если что-то идёт не так, значит вы используете не ту технологию, не ту среду, не обладаете достаточной квалификацией.
  • Не должно быть трудночитаемого, запутанного, пугающего кода. Если такое получается, то необходимо вооружится такими инструментами, как рефакторинг, шаблоны проектирования, в этом может помочь опытный архитектор.
  • Код должен работать на любой стадии. Если к концу периода (дня, 2ух дней, недели) у Вас не получается сделать функционирующий экземпляр, значит необходимо пересматривать режим разработки, необходимый в решении функционал.
  • В каждой строчке кода должна быть идея, мысль. Если ваш код скучно читать, если это просто набор букв и цифр, попробуйте написать небольшой рассказ (хотя бы в уме) по поводу того, чем в данный момент занимается ваш метод, уверяю это пойдёт только на пользу, а так же наведёт ясности.
  • Написание кода должно дарить позитивные эмоции. Если это не так, возможно вы утомились на сегодня, советую передохнуть. Если на завтра это повторяется, значит вы просто в состоянии “непрухи”, попробуйте по возможности заняться каким-нибудь другим творчеством в это время. Если же это сопровождает вас постоянно – задумайтесь, а тому ли занятию вы посвящаете своё драгоценное время.

Заключение

Хотел попробовать пописать о разработке немного отвлеченно, немного не с технической стороны вопроса, хочу, чтобы мой опыт был полезен не только .NET – разработчикам.