23 окт. 2015 г.
Блог переехал
http://obrizan.livejournal.com
Блог переехал навсегда.
4 мая 2013 г.
Об узких шрифтах в интерфейсе
Я предпочитаю использовать шрифты Paratype, потому что они включают кириллические буквы. На рисунке ниже показано что произойдет, если в программу загрузить шрифт, в котором авторы позаботились только о латинице:
Выигрыш в количестве информации на экране становится заметным тогда, когда загловок выводится в две строки:
Пример включения узкого шрифта в iOS-проект можно глянуть на гитхабе: https://github.com/obrizan/NarrowFontTable
О ситуации с русскоязычным Stack Overflow
Казалось бы, какое благое дело: поддержать сайт, где твои же сограждане, коллеги, могли бы быстро решать текущие профессиональные вопросы на родном для них языке. Тем не менее, некоторые мои знакомые отказались (хоть и аргументированно) подписаться под этой заявкой.
Кроме этого есть еще другой вопрос: будет ли запущен сайт, если завяка все-таки наберет все необходимые показатели по пользователям? Давайте посмотрим на опыт других стран. На картинке ниже показаны заявки турков, китайцев, потругальцев и бразильцев, испанцев (эта заявка еще не набрала всех показателей, но уже скоро).


Но это не является причиной не пойти и не подписаться под заявкой на русскоязычный Стаковерфлоу.
2 апр. 2013 г.
О PHP-фреймворках
8 янв. 2013 г.
Я взял фотографию

Для дизайнеров, которые подписываются под таким интерфейсом, все не англоязычные пользователи — это пигмеи. Они думают, что нам можно подсунуть суррогат, подделку и мы ей обрадуемся и удовлетворимся.
В этом и скрывается весь великий смысл "Я взял фотографию" в Instagram'е.
6 янв. 2013 г.
Я вспоминаю те дни
Я вспоминаю те дни, когда мы с другом детства в середине девяностых писали компьютерную игру-бродилку для компьютера ZX Spectrum.
Среда разработки — это тетрадка и ручка. Левелы рисовали на бумаге, спрайты сначала рисовали в тетрадке в клеточку, а потом в виде битовых масок вводили в компьютер. На Спектруме не было никакой операционной системы, при включении компьютер сразу входил в режим интерпретации команд языка Бейсик, где можно было построчно вводить программу.
Первым разочарованием было то, что оперативной памяти на Спектруме достаточно мало: всегод 48 КБ. А если еще вычесть видеопамять (около 6 КБ), системные переменные (около 2 КБ) и знакогенератор (около 1 КБ), то остается и того меньше 40 КБ. Программа хранилась в памяти в виде определенного байт-кода, имеется в виду, что одна команда кодировалась одним или двумя байтами. Отчетливо помню, когда я сидел и вбивал уровни, после очередной строчки кода у меня слетел знакогенератор: объем программы достиг того уровня, что байт-код начал затирать знакогенератор. Тогда мы поняли, что что-то серьезное мы на Бейсике не напишем. Мы знали, что существует язык ассемблера микропроцессора Z80, но у нас совершенно не было представления, как это работает. Я напомню, что это середина 90-х, никакого интернета с Википедией еще не было. Т. е. интернета ни у кого не было, а вообще он конечно где-то был. А Википедии точно не было нигде.
И вот мы с другом узнали, что есть специальная книга Как написать игру на ассемблере для ZX Spectrum. Денег ни у кого тогда не было, и мой друг попросил у мамы денег на то, чтобы купить футболку, и мы тайно поехали и купили на эти деньги книжку по программированию. Времена были суровые, демократия уже вовсю шагала по Украине, поэтому признаться, что ты потратил деньги не на еду, ни на одежду, а на книжку — было делом опасным.
Повторюсь, что интернета не было, да и книг тоже было не очень много. Поэтому в таком состоянии информационного голода книги прочитывались неоднократно.
Одно из первых ощущений написания игры на ассемблере по сравнению с Бейсиком — это то, что все работало намного быстрее и естественно занимало меньше памяти. К сожалению, программирование на ассемблере требует больших знаний и усидчивости, не все моменты были до конца понятны, и из-за этого разработка шла медленно. А потом компьютер вообще сломался, и на этом моя карьера спектрум-программиста окончилась. Игра так и осталась незавершенной.
Тогда мы выжимали максимум из тех немногочисленных источников информации, что имели. А вот сейчас смотрю и компьютеры с интернетом у всех есть, и книг много, и форумов, где быстро ответят на нужные вопросы, тоже много, а молодежь все равно в каком-то ступоре. Интернет для инженера — это как экскаватор для землекопа. За эти десятки лет информатизация нашей страны вырасла на порядки. Уже все есть. Препятствия к успеху остались только внутренние.
Я бы попрограммировал сейчас на Спектруме, да не вернешь годы.
24 нояб. 2012 г.
О дизайне графиков

Здесь мы видим сравнение двух показателей: синей линией показано количество посещений (Visits), а голубой — количество уникальных пользователей (Unique Visitors). Еще раз посмотрите на график и дайте ответ на вопрос, чего больше: посещений или уникальных пользователей? Может показаться, что правильный ответ — "уникальных пользователей", но этот ответ неверный. Во-первых, он нелогичен, потому что пользователей всегда меньше, чем посещений. Во-вторых, если мы наведем мышкой на линии графика, то нам покажут подсказку:

Оказывается, эти два графика показаны в разных масштабах. Один для посещений, другой для пользователей. И на самом деле посещений больше, чем уникальных пользователей.
Мы с детства привыкли, что в системе Декартовых координат чем выше находится точка, тем больше она в абсолютном значении. Но, видимо, в США в школах детей учат как-то по другому. Дети вырастают, становятся программистами и делают вот такие вот графики.
14 окт. 2012 г.
Самый главный гайдлайн
Самый главный гайдлайн при написании кода это отбивать реализации методов несколькими пустыми строчками и строкой-комментарием. Несмотря на возможности современных IDE по поиску и структуризации исходного кода, визуальное ориентирование все еще играет важную роль.
Рассмотрим пример ниже. Есть реализация класса на языке Objective-C. Методы отбиты всего-лишь одной строкой. Также отбивка одной строкой встречается не только между методами, но и между логическими блоками кода внутри методов. Длинна названия метода не может служить хорошим ориентиром начала нового метода. Например, название метод stopProgressAnimating короче любой строки предыдущего метода loadCommentsFailure. Глазу не за что зацепиться.
Тот же самый код, но методы отбиты пустыми строками и комментарием. Теперь место между концом одного метода и началом следующего образует однородный узор, который постоянно повторяется. Такой узор легко обнаружить даже при быстром скролировании.
15 сент. 2012 г.
Харьковскому «Эхостару» — пять лет
Тут на днях харьковскому офису «Эхостара» стукнуло пять лет. Тогда, в 2007 году, коллектив компании был сформирован большей частью из студентов, аспирантов и сотрудников факультета компьютерной инженерии и управления Харьковского национального университета радиоэлектроники. С кем-то работали вместе, с кем-то учились, с кем-то сходились в ожесточенных баталиях на футбольных полях.
Ребята, больших успехов вам! С праздником!
5 авг. 2012 г.
19 мая 2012 г.
Диалог с таксистом
Я обычно не разговариваю с таксистами. Но сегодня он первый начал.
Вот, дороги к Евро-2012 не сделали, а ведь обещал что все сделает! Что иностранцы подумают, когда увидят такое? Это ж наш дом, что они о нас подумают? Мне просто стыдно будет перед иностранцами!
Ну если уже они и начинают говорить, то я в свою очередь подыгрываю:
Да что вам-то стыдиться, не вы же эти дороги делаете. Вы же добропорядочный гражданин, добросовестно трудитесь таксистом. Кстати, а как у вас с английским? Вы готовы к работе с иностранными туристами?
Таксист испуганно посмотрел на меня через зеркало заднего вида. Неловкое молчание затянулось.
Да как-то не очень. А что, вообще сложно учить?
Когда остановились, еще минут пять пообщались на тему английского языка. Я его предупредил, что сложность будет не в том, чтобы выучить слова «стрит», «авеню», «стедиум», «рейл-уей-стейшн», а в том, как иностранцы будут произносить наши топонимы вроде
Ну а насчет стыда: я сомневаюсь, что он хотя бы машину свою к началу Чемпионата помоет, не то, что выучит английский.
3 янв. 2012 г.
Искусство провокации с Артемием Лебедевым
Пополнил коллекцию недавним интервью с Артемием Лебедевым и Татьяной Толстой.
Артемий Лебедев и Татьяна Толстая отвечают на вопросы американской публики. Темы:
история развития русского интернета;
отличия русской и зарубежной интернет-культуры;
скандалы, интриги, расследования;
провокации, троллинг.
31 дек. 2011 г.
И в номинации “Имейл года” побеждает…
А я совсем забыл!
29 дек. 2011 г.
Календарь на декабрь 2012
Занятно у них календарь на декабрь 2012 года показывает.
Неужели и вправду конец?
22 нояб. 2011 г.
Электронные «книги»
А вот нам пообещали, что электронные «книги» убьют бумажные книги. Но на деле оказалось, что электронные «книги» убили верстку, типографику, дизайн, иллюстрации, здравый смысл, зрение, но не бумажные книги.
В лицо смерти посмотреть не так страшно, как в серый экран электронной «книги».
Не могу себе представить, как уважающий себя автор позволит издать свой труд на платформе электронной «книги».
Как читают эти «книги» вообще непонятно. Ну это как пожрать сырой нечищеный картофель вместо ужина в ресторане.
12 нояб. 2011 г.
Дорога таланта
Периодически разные корпорации публикуют короткометражки о будущем: «Как оно там будет с информационными технологиями после выборов Президента в РФ в 2012»? Очередной фильм публикует корпорация Микрософт.
Спустя несколько недель после просмотра, я наткнулся на размышления некоего Брета Виктора по сути этого фильма. Брет говорит о том, что это видение лишь робкая попытка сделать шажок от того, что мы имеем уже сейчас. Далее популярно растолковано, почему он так считает и куда должны развиваться интерфейсы.
Но сегодня не об интерфейсах. Брет Виктор работал в корпорации Эпл с 2007 по 2010 год на должности изобретателя интерфейсов человек-машина. Меня заинтересовало, как он сам пишет о своей работе. Он исследовал экспериментальные аппаратные платформы, технологии ввода информации, разрабатывал новые концепты, проектировал, прототипировал, показывал разработки на внутренних совещаниях.
Заканчивает Брет так:
Я сделал много-много вещей. Эти вещи, которые меня очень волновали, большей частью не снискали популярности.
Я хотел бы показать вам все эти штуки, может быть они вдохновят вас. В прямоугольнике ниже я поместил все свои изобретения, которые я имею право показывать публично:
F. A. Q.
Но ведь этот прямоугольник пуст! Это пустой прямоугольник!
Совершенно верно. Ну ладно. А то я подумал, что ты допустил ошибку.
Совершенно верно.
29 окт. 2011 г.
По заявкам читателей
Читатель Максим попросил написать заметки об удобстве пользовательского интерфейса в Эклипсе.
Дорогой Максим!
Я еще не успел воспользоваться всеми преимуществами интегрированной среды разработки «Затмение» версии 3.7.1, артикул M20110909-1335, потому что вот уже как два часа подряд не могу поставить в нее Google AppEngine Toolkit. Тем не менее, уже при установке расширений я начал замечать интересные особенности пользовательского интерфейса.
На рисунке ниже показано окно прогресса установки расширения в IDE Eclipse 3.7. Мы видим линейку прогресса, видим описание текущей операции. Нам доступны следующие команды: выполнить установку в фоне, отменить установку, показать подробную информацию.
Классика жанра: любой процесс установки сразу прыгает до 50% в момент запуска, висит в этом состоянии бесконечно долго, а затем мгновенно прыгает до 100%. Таким образом, линейка прогресса в этом случае полностью теряет весь тот смысл, который в ней был заложен.
В надежде найти индикатор, указывающий на оставшееся время до завершения, пользователь может нажать кнопку «Подробнее». Но там его будет ждать разочарование.
Здесь мы видим тот же самый индикатор прогресса и описание выполняемой команды. Еще можно отметить фразу «Installing Software», которая в столь маленьком окне упоминается аж четыре раза. Кнопка «Подробнее» также не выполняет ту функцию, которая следует из ее названия. Никакой новой информации для пользователя здесь нет. Сложно себе представить программиста, настолько отрешенного от объекта своего труда, способного запрограммировать такую ахинею. Но как показано выше, в команде разработчиков Эклипса такой есть как минимум один.
На мой взгляд, причина подобной дегенерации заключается в следующем: в нашем мире все еще слишком мало качественного программного обеспечения. С глубокого детства мы пользуемся плохим программным обеспечением. И много ошибочных шаблонов уже зашиты у нас глубоко в сознании. В примере таким ошибочным шаблоном является наличие кнопки «Подробнее». Но если нечего больше показать, может эта кнопка и не нужна? Даже если показать больше нечего, программист все равно делает эту кнопку, не отдавая себе отчет, потому что он привык к этой кнопке с детства. Или задумайтесь, например, что значат символы << и >> на этой кнопке? Мы этого никогда не узнаем, потому что тот человек, который первый начал их применять, уже давно не с нами.
Можно привести еще несколько примеров. В любой даже самой простой программе должны быть настройки (Options, Settings). А должны ли они быть? В любой программе должно быть меню с обязательными разделами File, Edit, Window, Help. А нужно ли это меню? В каждой программе должен быть тулбар. А должен ли он быть? И так далее.
To clarify add detail. Edward Tufte
28 окт. 2011 г.
Тимошенко
Журнал «Фокус» сообщает:
Журнал «Фокус» представил свежий рейтинг 100 самых влиятельных женщин Украины. Первое место рейтинга пятый год подряд занимает экс-премьер-министр Юлия Тимошенко
Тимошенко самая влиятельная женщина в Украине. Уже
5-ый год подряд
А теперь еще и самая авторитетная.
23 окт. 2011 г.
Реклама ЛСД в харьковском метрополитене
В прошлый раз внимательно изучал рекламу либеральных ценностей. А на этой неделе заснял рекламу ЛСД-телевизора.
Дети в восторге от ЛСД. Особенно тот, который справа.
Плагиат в вузе
Время идёт, а мода ругать преподавателей, вузы и чиновников от образования (в нашем случае всегда только одного министра) не проходит. Мол, первые старпёры, читают с листика лекции
Поговорим сегодня о плагиате (т. н. «копипасте»). Для начала дадим определение этому понятию.
Плагиат умышленное присвоение авторства чужого произведения науки или искусства, чужих идей или изобретений [Википедия].
Плагиат это очень серьёзная проблема в отечественной системе образования. Причем всё настолько запущено, что не все даже способны осознать, что эта проблема присутствует. Насколько я понял из личного общения со студентами, далеко не все понимают, что заимствовать текста работ во-первых, неэтично (по сути это кража), во-вторых, запрещено правилами университета.
Я прекрасно понимаю, что очень легко вбить в гугл тему своего курсового и скопировать с первой попавшейся ссылки готовый текст сразу так страниц на 10. Ещё несколько таких забегов в гугл и курсач готов.
Растолкуем понятие плагиата с ещё одной стороны. Если плагиат это «несправедливое присвоение результатов», то и оценка за такой труд не может считаться справедливой, что следует из определения. Рассмотрим такую модель курсовой работы. Предположим, что нормой для курсовой работы является записка объемом 40 страниц авторского текста (без титульного листа, содержания, источников, приложений), которая оценивается по 100 балльной шкале. Очевидно, что если студент лично подготовил работу требуемого объема, которая не вызывает претензий у экспертной комиссии, то такой студент получает наивысшую возможную оценку: 100 баллов. Всё справедливо, ни у кого замечаний нет?
А что происходит, если студент половину своей работы заимствовал из других источников? Ну, не успевал или поленился и дёрнул 20 страничек из книжки, справочника или Википедии? Напомню, что реферат, курсовая или дипломная работа, диссертация это авторские работы, весь труд должен идти от автора.
Работа выполнена в полном объеме: 40 страниц текста присутствуют. Но справедливо ли здесь поставить наивысшую оценку? Я сторонник такого принципа, что оценка должна быть уменьшена пропорционально доле авторского материала. Половина текста скопирована? Значит, студент получит 50 баллов за работу, это если к той авторской зелёной части не будет претензий. Напомню, что 50 баллов это двойка по тоталитарной системе оценивания. Слабенький трояк начинается с 60.
Может показаться, что я очень строгий и выдумываю какие-то нелепые правила для студентов. Но давайте тогда обратимся к опыту той страны, которую считают идеалом, и куда некоторые стремятся уехать. В личной беседе друг, который уже там, подкинул ссылку на политику отношения к жульничеству и плагиату на одном из факультетов университета Беркли. Ниже представлен перевод нескольких пунктов близко к тексту:
Политика факультета
Копирование части или всей работы другого человека или использование запрещённых источников всё это формы списывания, которые не позволены. Студент, замеченный в списывании будет предупреждён преподавателем, и следующие правила будут иметь действия:
- Преподаватель может: а) потребовать переписать работу; б) поставить двойку или ноль баллов работе; в) в случае серьезных проступков поставить двойку за весь курс.
- Рекомендуемое действие за списывание на экзамене или в курсовой работе это п. 1. в (два балла за курс).
- Преподаватель обязан в письменной форме сообщить студенту и декану факультета о факте списывания, о предпринятых действиях, а также о праве студента подать апелляцию.
- Преподаватель обязан сохранить копии любых письменных работ, свидетельствующих о нарушении.
- Декан факультета обязан сообщить проректору по воспитательной работе (в оригинале Director of the Office of Student Conduct прим. пер.) о нарушении, а также имя студента и о предпринятых действиях преподавателем.
- Ректорат (The Office of Student Conduct прим. пер.) может провести формальное слушание по нарушению и вынести наказание за нарушение.
- Факультет подаст документы на отчисление тех студентов, которые будут замечены в повторном списывании.
Вот так скачал курсовой из интернета, а тебе сразу два балла за курс без всяких разбирательств. А потом ещё где-нибудь что-нибудь списал, а тебе ногой под зад. Всё по демократии, не по лжи!
И это мы только поговорили о плагиате. А ведь ещё есть проблемы списывания на контрольных работах и экзаменах, выдумывание экспериментальных результатов, защита неработающих (или вообще не созданных) программ или моделей.
Студент! Хочешь изменить этот мир измени для начала что-нибудь в себе.