среда, ноября 27, 2013

воскресенье, мая 19, 2013

Идентификация от Google: стоп машина

Взяли и сменились идентификаторы пользователей, возвращаемые Гуглем после аутентификации.

Взяли и отвалились юзерские аккаунты, связанные с этими идентификаторами.

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

Я за Стабильность потому что.

четверг, мая 16, 2013

Ещё один редизайн

...просто до кучи. Набросок к фейслифтингу существующего сайта, по заказу рекламного агентства. Здесь одновременно светлый и тёмный варианты, для краткости (есть и раздельно прорисованные). Логотип вот... но его надо сохранить.


"Курильский": редизайн

Сайт заповедника проходит редизайн и перелопачивание в соответствии с новыми веяниями (responsive design), осоциаливание, переход на текущую версию моего сайтодвигла (точнее, двигло получит новую версию благодаря редизайну этого сайта: в частности, делается единый класс для работы с изображениями, после чего все изображения станут социализируемыми, перепостируемыми, картографируемыми, комментируемыми... емыми... емыми...).

Дизайн согласован, будут мелкие изменения, несущественные. Показан вариант для настольного монитора.


среда, апреля 24, 2013

Краткая сводка спусков на воду

Запущен довольно давно, но не упомянут в личной истории туристический сайт Находки. Проект издательства "Тихоокеанский горизонт".

Пока не сильно богат контентом, но, если нужен путеводитель по городским кафешантанам, это лучший ресурс, я гарантирую это :-)

Продолжает активно развиваться, на днях начнёт раздачу ништяков посетителям (в основном дискаунты и халявные билеты в клубешники), далее добавятся базы отдыха, гостиницы, ну и разными полезными сервисами обвесится.

Из занимательного, во-первых, 3D-туры по заведениям (на сегодня один, но люди работают), во-вторых, некоторая интеграция с всеми нами тут любимым nakhodka.info: прологинившись на tur-n.ru через социальные сервисы (проще говоря - через Логинзу), можно в пару кликов перетянуть с Находки.Инфо свой ник и аватар и в будущем их синхронизировать. Тут я немного приподнял портьеру, но всё уже работает и будет открыто посетителям сегодня, так что приподнял совсем немного.

Второй сайт - визитка автошколы. Не представляла бы интереса, если бы была сделана простой визиткой. но это было скучно. Поэтому от себя добавил раздел "Практикум", где, во-первых, инструкторы школы объясняют трудные места Находки с использованием Яндекс-карты (пока совсем мало объяснений, но и сайт едва запущен); во-вторых, можно посмотреть записи реальной сдачи экзамена с регистратора, с командами гайца, то есть весь процесс (вырезал молчаливые длинноты - кстати, лучший видеоредактор под Линуксом для казуального применения - OpenShot).

Теперь полагается о творческих планах. Сейчас усиленно готовится к запуску ещё один социально-ориентированный сервис, тоже городской, но с перспективами масштабирования. Забавно, что это практически мой проект 2-летней давности, недавно изложенный мне по телефону приятелем ("Есть офигенная идея!") - был когда-то даже частично доведён до работоспособности когда-то, но позаброшен в суете и отсутствии менеджмента. Прежний код я даже не смотрел, пишу всё заново, потому что, как любой собственный код годичной и более давности, он вызовет депрессию и стыд, а кому этого хочется.

четверг, апреля 04, 2013

Починка Janome MB-4: [SOLVED]

Во-первых, это первой пост в 2013 году, надо бы поздравить себя, но не с чем. Наверстаю.

Во-вторых, ниже следует рассказ о ремонте вышивальной машины MB-4 в домашних условиях.

Возраст машины 4 года (пробег не адский, однако). Симптомы:

1) Явно повышенный нагрев.

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

Наблюдения:

1) возникает через 15-20 минут после начала работы (связано с нагревом?);

2) сообщение о неработающем игловодителе можно убрать с экрана, если вручную провернуть вал за крутилку сзади машины. В каком-то положении сообщение исчезает.

3) вал проворачивается с серьёзным усилием.

Прочитано в интернетах:

1) на русском языке - ничего нет,

2) на американском проблема описана, часто обсуждается на форумах, даже имеет название - grinding. Лечится авторизованным сервисом, до которого мне ехать несколько тысяч километров. Кто-то сообщил, что помогла смазка, за что его зашикали: и смазку нужную невозможно достать, и запас смазки в машине рассчитан на весь срок эксплуатации, и - вообще, нечего кривыми ручками куда ни попадя.

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

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

Противоположные полшипники находятся один в игловодителе (лезть туда совершенно не хочется), второй - в челноковой елде. Последний даже и не подшипник, а так, нечто на вид несмазываемое. Думаю, и верхний такой же. Не стал трогать.

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

После сборки все неисправности ушли, нагрев стал нормальным (то есть еле-еле), через час работы звук машины стал заметно тише.

Как грицо, хозяйке на заметку. Мало ли, кто-то ещё сейчас думает, какая беда, MB-4 работать устала. А ей просто дискомфортно и неприятно сухо.

вторник, декабря 25, 2012

К нам на утренний рассол...

...забегал сегодня в "НТС Тур" (делал им когда-то небольшой сайтик), услышал занимательную историю. Якобы в этом году на базе Dream Bay отдыхал чилийский посол. Критерием, по которому база была выбрана, стал тот самый небольшой сайтик.

Клянутся, что так всё и было. "Порой не верится, друзья, и всё-таки - бывает" :-)

суббота, декабря 22, 2012

четверг, декабря 20, 2012

Тик-так часики... вечером в Техасике...

...Приехав в "Техас" пообщаться совершенно по другому поводу, уехал с данным обещанием подумать, что бы такого им демонстрировать на сцене с проектора. К примеру, часики.

Flash исключается, 3D - я и подзабыл порядком Блендер, и использовал его только для статичных картинок.

Осталось прибегнуть к тому, что хорошо знакомо: HTML + CSS + Javascript.

Нашёл в инете вот это.

Изучил. Первое, графику надо прорисовывать заново. Второе, Яваскрипт, который всем этим заправляет, конечно, как это - sophisticated, - но это же полный, как это - overkill. В общем, Яваскрипт решил тоже сделать свой. В итоге от оригинальных часиков осталась идея указания времени посредством трёх стрелок - по одной для часов, минут и секунд, что тоже не вполне оригинально.

Часики нарисовал в Инкскейпе в виде черыёх объектов: фон и три стрелки, всё тщательно выровнено относительно, как это - bounding box, - затем этот квадрат размножен на четыре, и каждый объект с ним сгруппирован. Таким образом, при экспорте в растр все объекты гарантированно имеют общий центр. Экспортировал с большим, даже огромным запасом разрешения, чтобы даже на проекторе Full HD было эротишненько.

Собирается в HTML внутри квадратного блока: три блока для графики стрелок, абсолютно позиционированы и равны контейнеру.

Стрелки крутятся путём CSS Transitions, что оставляет за бортом всякие там недобраузеры, благо это делается для одного-единственного клиента.

Для транзишнов использован jquery.transit.js.

Итоговый Яваскрипт, в отличие от оригинального (кому лень смотреть - там два экрана мелким почерком), следующий:

$(document).ready(function(){
                
   var Now = new Date();
   var Hour = Now.getHours();
   var Minute = Now.getMinutes();
   var Second = Now.getSeconds();
                
   Hour=(Hour > 12)? Hour-12 : Hour;
                
   var angleSecond = Second * 6;
   var angleMinute = Minute * 6 + Second*.1;
   var angleHour = Hour * 30 + Minute*.5;
                
   $('#analogHour').transition({rotate: angleHour});
   $('#analogMinute').transition({rotate: angleMinute});
   $('#analogSecond').transition({rotate: angleSecond});
                
   setInterval(function() {
      doAnimation($('#analogSecond'), 6, 500);
      doAnimation($('#analogMinute'), .1, 500);
   }, 1000);
                
   setInterval(function() {
      doAnimation($('#analogHour'), .5, 500);
      }, 60000);
                
});
            
function doAnimation(obj, angle, timing){
   obj.transition({rotate: '+='+angle}, timing);
}

Попробовал - тикает, зараза! Для проверки накопления ошибки (всё-таки вращение, а часики выставляются только в момент запуска и далее тикают независимо от часов компьютера) оставил на ночь. Утром увидел опережение на минуту: 9:05 на компьютере, шесть минут десятого в браузере. Не успел сказать "тваюжтымать", как часы компьютера перескочили на шесть минут: они ж дискретные, ёлы-палы.

Осталось проверить в деле, для чего поехал в "Техас" с флешкой. Запустили в Chrome, вывели на проектор - ну прямо мняшка.

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



понедельник, декабря 03, 2012

Попёр Новый Год - 2

Корпоративная НГ открытка.

Нашёл подходящую змейку, врисовал в ноль. На этом мысли кончились. Бросил на выходные.

С утра решил дорисовать яйцо. Колпак новогодний, стрёмный. Ну всё плохо.

Решил придать масштаба - пририсовать сбоку маленького человечка.

Вспомнил "Археологическую реминисценцию" и позаимствовал человечков оттуда.

Потом осталось только сказать: "Йопа!" - и переделать всё в том же духе, включая новогодний колпак.

Набор далианских штампов, слава богу, читается людьми свободно. Кроме "Реминисценции" здесь явно икнулось "Рождение геополитического человека".




четверг, ноября 29, 2012

Попёр Новый Год

...первая в этом году - "Злата".

С завтрашнего дня по 12 января будет выглядеть вот так (то есть обе ссылки будут выглядеть одинаково). Ну и брильянтовый ажиотаж :-)

вторник, ноября 20, 2012

Из чего состоит успех сайта

15% проектирования, во всех смыслах.

5% программирования.

0,1% SEO.

0% графического дизайна.

79,9% послестартового участия владельца в своём ресурсе.

По итогам перепросмотра сделанных сайтов: растущих, выросших, прозябающих, умерших.

Это - реальность.

С точки зрения большинства заказчиков же: 60% графического дизайна, 30% SEO, 10% финтифлюшек. В их представлении, они платят за эти вещи. На самом деле, они покупают машину у ворот завода. Если её поставить на постамент, то зачем вообще покупать?

четверг, ноября 08, 2012

Конструктор дымоходов - теперь и на планшетах

Пропатчил свой констуктор:
  1. добавил Mobile_Detect.php для распознавания планшетов;
  2. для планшетов дополнительно подгружается jQuery UI Touch Punch;
  3. тап-драг работает!
Для телефонов решил оставить констуктор view-only, без конструкторской части, потому что на телефоне любого размера это всё равно нереально.

Мой Acer A701 не определялся как планшет, пока не исправил Mobile_Detect.php:

строка 74
'AcerTablet'        => 'Android.*\b(A100|A101|A200|A500|A501|A510|W500|W500P|W501|W501P)\b',

на

строка 74
'AcerTablet'        => 'Android.*\b(A100|A101|A200|A500|A501|A510|A700|A701|W500|W500P|W501|W501P)\b',

Разработчик уведомлен.

Ребёнок у моря: дежа вю

Случайно увидел такое в инете:


Вспомнил свою картинку с сыном, использованную на обложку журнала от 2002 года:


Просто занимательное совпадение. Думаю, похожих сюжетов существует over 10,000. Я лично вдохновлялся этим:


вторник, ноября 06, 2012

Gnome почил на последнем моём компьютере

Завёлся в доме телевизор Full HD, пригодный на роль метрового монитора.

Подключил к HDMI ноутбука. Заработало, но Гном отказался грузиться с сообщением, что не шмогла. После перезагрузки сообщение перестало появляться, но внешность Гнома исказилась до неузнаваемости: пропали панели, пропал вообще Unity, тупо голые апплеты висят по углам.

Подозрение, что Unity писался с одним маленьким экраном в уме, подтвердилось экспериментально.

Копать не стал, поставил XFCE. Ему всё равно: один экран, два, всё работает одинаково. Второй можно подключить или отключить в любой момент.

Телевизор со встроенным Ютюбом - это ахтунг. Теперь по вечерам поработать проблема: у детей мультики тормозятся :-)

четверг, ноября 01, 2012

Верный признак яваскриптера 80-го уровня

...наличие файла ~/Downloads/jquery-ui-1.x.x.custom(18).zip

среда, октября 31, 2012

Сайт МЦК г. Находка: Яндекс, вау.

Сайт ещё не сдан в полном объёме, и вообще запущен в нераннем сентябре.

Думаю, дай гляну, что там уже по выдаче: он вообще наглагне, нет?

По поиску "находка фестиваль": вау, третья позиция, сразу после Находки.инфо, тягаться с которой жесть.

По поиску "находка гастроли": пепец, первые две позиции.

Отношу эти несколько шокирующие результаты на то, что не поленился разметить события на сайте по схеме schema.org/Event.

Яндекс, в общем, предупреждал, что использование микроданных может иметь далеко идущие последствия.

понедельник, октября 29, 2012

Манипуляции ротацией

Потратил день на прокачку конструктора дымоходов для Dymunet.ru

Началось с малого: там есть (скоро - были) типовые схемы дымоходов, выдранные из буклетов производителей. Естественно, они разношёрстные. Поступило пожелание привести их в единый вид.

Прорисовывать в Инкскейпе было и в лом, и показалось неумным. Ведь под это дело можно задействовать конструктор дымоходов. Надо только приделать к нему сохранение схем. Помимо элегантности, этот подход принесёт ведь и кучку нового функционала. Можно сделать галерею юзерских дизайнов, например.

Все объекты в конструкторе представлены двумя тегами - div и img с общим классом, то есть не сложно вытащить их из DOM, убрать все другие теги и включенные в div/img яваскрипты (других тегов конструктор не использует и яваскриптов не включает, но кулхацкеры-то на выдумки хитры). Вытащить их из базы и внедрить снова в страницу - тоже не проблема... как казалось.

Когда я открыл Хромом схему, сделанную в Фоксе, детали с вращением это вращение потеряли.

При написании конструктора вращение через назначение класса оказалось неудобным. Вместо этого используется плагин jquery.rotate.3. Он назначает повёрнутому элементу один из вариантов CSS transform: transform, -moz-transform, -o-..., -ms-... Естественно, transform: rotate() из схемы, сделанной Фоксом, не работает в Хроме: там нужен -webkit-transform: rotate().

Ну ё-моё.

Дурной путь состоял в том, чтобы в Яваскрипте находить transform регекспом, вытаскивать значение, удалять transform и применять его заново вызовом .rotate() - и я этот путь прошёл. Во-первых, оказалось, что transform:  rotate() в браузере немедленно превращается в matrix(.....), и восстанавливать угол поворота приходится хитрым исчислением со всякими синусами. Это ладно, это полбеды. Беда в том, что это свойство просто оказывается none, если браузер его сразу не понял. Круг замкнулся.

Не может быть всё так безысходно, подумал я, и это было правильно.

Всё решение заключалось в создании у вращаемого объекта одновременно с браузер-специфическим свойством CSS абстрактного атрибута data-rotate="n". При сохранении свойство в любом его варианте на стороне сервера вырезается регекспом:

 /\s(-.*)?transform:\srotate\(.*\);/

При загрузке/внедрении в DOM надо просто сделать:

$('.canvas_element[data-rotation]').each(function(){
      $(this).rotate(parseInt($(this).attr('data-rotation')));
});

Проверка:

  1. Схема, сделанная в Фоксе, правильно открывается Хромом:  http://dymunet.ru/?constructor,load,id=11
  2. Схема, сделанная в Хроме, правильно открывается Фоксом:  http://dymunet.ru/?constructor,load,id=14
Остальные браузеры: надо проверить.

суббота, октября 27, 2012

Мелкий насмешил...

говорит, пап, я, когда вырасту, стану президентом.

 Говорю, ничо, нормально.

- А звать меня знаешь как будут?

- ?

-Президент Деревьев.

- ???

- Ну, президент Медведев же был. А мне медведи не нравятся.

- А, понимаю, тебе деревья нравятся.

- Ну да.

 Уже не стал грузить первоклашку забавным лингвистическим казусом, что словосочетания "президент Медведев" и "премьер-министр Медведев" переводятся на английский одинаково: nobody noname.







четверг, октября 25, 2012

Walnote: dropped

День отказов прямо.

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

Поиск по этому блогу