Analitycs

вторник, 18 декабря 2012 г.

Google Adsense тестирует тизеры?

Сегодня в интерфейсе Gmail заметил нечто - безумно напоминающее тизер.

Я что-то пропустил?

понедельник, 17 декабря 2012 г.

Apt-git

Суровые будни запаренного человека - пишу в консоли
$ sudo apt-git install make
и удивляюсь - почему не работает ;-)

вторник, 11 декабря 2012 г.

Imsanity - Wordpress Image Upload Resizer

Если дать пользователям  активно пользоваться Wordpress - тут же начинается бесконтрольная загрузка больших картинок по 4-5-6 мегабайт каждая.

Да, WP использует различные размеры картинок, но их ОРИГИНАЛЫ  остаются огромными, безумно расходуя дисковое пространство на сервере.

Погулив, наткнулся на кучу безумных советов и реплик, из которых "труъ" (с) вариантом оказался плагин Imsanity.

"Must have" (с), однозначно.

среда, 28 ноября 2012 г.

Ищется 3D моделер Blender

Ищется 3D моделлер, оплата - сдельная по каждому заказу, направление - скульптурка/предметка в Blender.

Если есть навык работы с моделями под 3D рост - хорошо, Украина - совсем отлично. ;-)

Писать и слать портфолио сюда.

суббота, 24 ноября 2012 г.

Nginx accept() failed (24: Too many open files)

При достижения определенного уровня нагрузки на сайт Nginx начинает сыпать ошибками

2012/11/12 20:12:53 [alert] 5554#0: accept() failed (24: Too many open files) while accepting new connection on X.X.X.X:80

Диагноз

Диагноз, кстати -очевиден - слишком много открытых файлов

Лечение

Две строчки

1) в скрипт иницаилизации - например /etc/init.d/nginx

ulimit -n 65535

2) в конфиг nginx-  сразу после worker_processes

worker_rlimit_nofile 20480;

Рестарт.... и шерсть вашего любимца снова мягкая и шелковистая ;-) ;-)

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

nginx Connection reset by peer) while reading response header from upstream

Иногда некоторые скрипты, запущенные на PHP-FASTCGI или  PHP-FPM кидают в лог nginx странную ошибку

Connection reset by peer) while reading response header from upstream

Погуглив - нашел много танцев с конфигами nginx и бубнами, ни один из которых не помог, кроме одного... БЕЗУМНОГО совета, который как водится - сработал в моем случае ;-)

Вы не поверите... ;-)

/sbin/service php-fpm restart

Установка Wordfence Security на Wordpress - прошла успешно ;-)

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

.htaccess -> nginx конвертор

"Must have" (с) -  я считаю

http://winginx.ru/htaccess

Сэкономили мне сегодня минут пятнадцать на настройку rewrite_rules. Но нужно обязательно проверять - мне например пришлось break; заменять на last;.

НО - Большое человеческое спасибо!

пятница, 2 ноября 2012 г.

Google готовится переводить Blogger для пользователя?

По некоторым косвенным данным появилось подозрение, что Google в ближайшее время собирается переводить блоги на Blogspot с помощью Google Translate.

1) Первый звоночек - в статистике Google Adsense несколько месяцев назад начали появляться зеркала блога - такие как

michael-xiii.blogspot.cz
michael-xiii.blogspot.au

и так далее.

2) Вчера заметил, что теперь блоги с суффиксом *.blogspot.com перенаправляются на домен *.blogspot.ru .

Например http://massivevoodoo.blogspot.com

А решение было бы удачное - автоперевод блогов в зависимость от языка пользователя + локализованная реклама...

Трафик растет, рекламодатели довольны, доходы Google растут... ;-)


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

Stream - мультфильмы для детей. Disney и Союзмультфильм в одном флаконе

На нашей видео-платформе выпущено новое приложение для iPad - на этот раз для детей и их родителей. Подписка - 3.9$ за месяц - все лицензионное и никакой рекламы.







пятница, 19 октября 2012 г.

From Skyrim to Tamriel - шаг за шагом

С каждым выходом нового DLC Bethesda потихоньку гнет свою линию...

Почитав кучу негативных отзывов про DLC: Hearthfire - удивился. 

Многие игроки за деревьями и рудой не видят не только лес, но и то, что из этого леса  можно будет построить. А можно будет построить многое - но только уже в  The Elder Scrolls Online - ведь это готовая заготовка для целого раздела изготовления предметов, домов и прочих радостей жизни, столь любимых игроками.

Вслед за возможностью строить домики и изготавливать предметы - тянется линия добычи полезных ископаемых и переработки их в материалы - а затем приходит и экономика. Ведь чтобы добыть руду - можно искать и копать, можно купить - а можно и убить. ;-) Сразу вспоминается моя любимая когда-то Entropia Universe - с полноценным торговым рынком, завязанным на реальные деньги. 

И через пару лет за несколько Iron Ingot, необходимых для достройки своего домика у озера -  игроки будут убивать друга в PVP зоне ;-)

Так что Hearthfire - это не отстойный DLC: The Elder Sims - а весьма приличный такой заход на крафтинг в будущей онлайн версии игры.

Двигаемся дальше...

Только что анонсированный DLC: Dragonborn - всем известный остров Solstheim, неподалеку от Vvangerfell.

Явно прослеживается линия работы  разработчиков - берем какой-то промежуточный уже ГОТОВЫЙ кусок территории, импортируем его в новый движок, затем доводим-дополировываем и выкладываем на тест большому количеству пользователей по всем у миру. Всяко проще чем рисовать с нуля ;-)

Следующий шаг - втихаря импортируем и доделываем детали на Cyrodiil из Oblivion и Vvangerfell из Morrowind. 
И вот уже по факту, вместе со Skyrim - получаем больше трети территории для будущей онлайн версии. Также, и ведь из Daggerfall можно наверняка что-то позаимствовать.

Вот так вот, тихой цапой - шаг за шагом с каждым DLC мы движемся к Tamriel.

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

Язык Google Go - кто, куда и зачем?

Кстати, вот вспомнился активно продвигаемый Google язык Go. "Многие спрашивают" (с) - кто go, куда go - и главное - ЗАЧЕМ go?

Мне кажется - все гораздо проще. На японском языке - ГО - это язык...

  • Японский язык - НихонГО
  • Русский - РусияГО
  • Новый типа "прикольный" язык программирования - ГО.

Ну вот как то так, скорей всего.

понедельник, 15 октября 2012 г.

Нужен тестировщик [API, mobile]

Ищем тестировщика в команду. Цитирую

"Нужно будет заниматься тестированием API, вероятно мобильных клиентов (на девайсах – Android (штук 10 планшетов), iOS, W8). Вот для этого сервиса: http://www.stream.ru/ . Хорошо, если желающий будет знать JS/Python/Bash.

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

Нужен средне- (а лучше сильно-) опытный тестировщик, не потерявший желания учиться и умеющий, хотя бы немного программировать (научу тестировать API через node.js – Selenium нервно курит в сторонке). " (с)

Писать можно и нужно на адрес asergeev@stream.ru

"Все вышесказанное подтверждаю, записано с его слов верно" (с)

суббота, 13 октября 2012 г.

Как выставить chmod 664 файлам, а 775 каталогам?

Хронический склероз - как выставить всем файлам 664, а каталогам - 775.

find ./* \( -type d -exec chmod 775 '{}' \; \) , \( -type f -exec chmod 664 '{}' \; \)

Может хоть так запомню - в стиле ориентира - "лежит где-то там" (с). ;-)

Wordpress - Briefly unavailable for scheduled maintenance. Check back in a minute.

Если вдруг ваш обнаглевший Wordpress после попытки обновления начинает грязно ругаться матом в стиле

Briefly unavailable for scheduled maintenance. Check back in a minute.

То нужно пройти с ним в тихий уголок document_root и там ему надавать по сусалам удалить оставшийся файлик .maintenance - который и отвечает за обновление этого монстрика.

Взлетели. ;-)

понедельник, 1 октября 2012 г.

Как вывести массив из PHP в JSON без всяких UTF конвертаций?

Если нужно вывести кириллический массив в JSON для последующей обработки в Javascript, генерируя его посредством PHP, да еще и в Windows-1251 (без всяких UTF-8, encoding и прочего)  - да, да - "мсье знает толк в извращениях" (с) ;-) ,

то можно воспользоваться вот такой жуткой конструкцией.

function php2js($a=false)
{
  if (is_null($a)) return 'null';
  if ($a === false) return 'false';
  if ($a === true) return 'true';
  if (is_scalar($a))
  {
    if (is_float($a))
    {
      // Always use "." for floats.
      $a = str_replace(",", ".", strval($a));
    }

    // All scalars are converted to strings to avoid indeterminism.
    // PHP's "1" and 1 are equal for all PHP operators, but
    // JS's "1" and 1 are not. So if we pass "1" or 1 from the PHP backend,
    // we should get the same result in the JS frontend (string).
    // Character replacements for JSON.
    static $jsonReplaces = array(array("\\", "/", "\n", "\t", "\r", "\b", "\f", '"'),
    array('\\\\', '\\/', '\\n', '\\t', '\\r', '\\b', '\\f', '\"'));
    return '"' . str_replace($jsonReplaces[0], $jsonReplaces[1], $a) . '"';
  }
  $isList = true;
  for ($i = 0, reset($a); $i < count($a); $i++, next($a))
  {
    if (key($a) !== $i)
    {
      $isList = false;
      break;
    }
  }
  $result = array();
  if ($isList)
  {
    foreach ($a as $v) $result[] = php2js($v);
    return '[ ' . join(', ', $result) . ' ]';
  }
  else
  {
    foreach ($a as $k => $v) $result[] = php2js($k).': '.php2js($v);
    return '{ ' . join(', ', $result) . ' }';
  }
}

Страшно, да...  но работает ;-). "Костыли - это кошерно" (с)

Найдено в дебрях PHP.net

пятница, 14 сентября 2012 г.

"Довакин, довакин, наал ок зин вас вахриин" (с)


Показываю нашу последнюю работу для NorthStarModels, мои - консультации в процессе разработки мастера, сборка и окраска.
Фигура доступна для заказа у производителя, подробности и больше фото тут.

суббота, 8 сентября 2012 г.

MacOS X Lion: Finder съедает всю память

После обновления MacOS  X до Lion достаточно часто появляется странная проблема с Finder - без всяких видимых причин он начинает активно есть память, отъедая 1.5 и даже больше 2 Гб.

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

Решение

Обновить Dropbox. Так как у него нет автоматического обновления - старая версия может плохо работать на новой ОС.

В моем случае обновление было с версии 1.4.1 до 1.4.17 - помогло


воскресенье, 19 августа 2012 г.

Почему умирают IT-блоги?

Будучи "в этих ваших интернетах" с 1997 года (с перерывами на учебу, работу и военную службу)  заметил одну интересную особенность.

А именно - практически любой блог ITшника, который пишет на профессиональные темы - рано или поздно обречен на угасание и умирание.

Причины вымирания IT блогов просты как грабли

  • Человек развивается - то, о чем он писал полгода назад активно и с горящими глазами, сейчас не представляет для него никакого интереса
  • Если человеку по прежнему интересно писать - то зачастую он  продолжает писать уже на другую тему, не связанную с той, с которой он начинал. Соответственно - теряются те читатели, которые подписались на него раньше из-за его профессиональных постов
  • Технологии стагнируются и сворачиваются - раньше в фокусе внимания был Delphi и - где он сейчас?
  • Чем более профессиональным ITшником становится человек со временем - тем меньше времени у него на написание текстов. Время - деньги ;-)

По этим причинам IT-шные блоги через несколько лет

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

В плане сообществ - все еще грустнее

Профессиональные сообщества - выживают только за счет user-generated контента - смотрите, кто сейчас на плаву в IT среде? ХабраХабр да Stack-Overflow либо специализированные форумы с не сильно большой посещаемостью.

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

Единственное исключение - это те люди, чья деятельность напрямую зависит от их ИЗВЕСТНОСТИ - это тренеры, консультанты, фотографы и так далее.  То есть те люди, которые совершают сделки с большим количеством разных людей/организаций за действия, совершаемые за небольшие периоды времени.

Программисты и сисадмины к этому не стремятся - они, как правило - работают на одну-две организации долгое время, по этой причине - известность им не сильно помогает в профессиональной деятельности. Ну... если только они не закоренелые фрилансеры. ;-)

Но вот если программист хочет стать учителем-"гуру" - тогда да, блоггерство имеет смысл - генерируем контент, нагоняем учеников и продаем им секреты мастерства. Но увы - эти секреты зачастую устаревают или просто становятся неактуальными со временем - не забывайте, что если программист ДЕЙСТВУЮЩИЙ - плодить потенциальных конкурентов ему просто не выгодно.

По этому на плаву держаться либо сообщества с тысячами студентов, генерирующих сообщения ( с кнопками оценки like / facepalm, ) - в которые профессионалы иногда заходят поржать а иногда уделяют свое время  чтобы написать небольшой ответ к умным вопросам (типа StackOverflow), либо небольшие групки-сообщества, зачастую закрытые от публичного доступа.

А личные IT-блоги - потихоньку вымирают, ибо многим авторам просто не нравится вещать в пустоту...

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

Особых надежд на этот блог не возлагаю - это записная книжка ;-)

суббота, 18 августа 2012 г.

Блокировка аккаунта.

Здравствуйте,

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

Согласно пункту 14.3 пользовательского соглашения, Google оставляет за собой право временно приостановить либо прекратить предоставление услуг Google Mail, своевременно уведомив об этом пользователя.

Опровергнуть заявление можно, пройдя аутентификацию: http://support.google.com/cgi-bin/?start?unblocked=2008474861215660

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

Жалобе присвоен номер id2008474861215660.

С уважением, Google Team

Получено с адреса teame.suport.corp@gmail.com

"Божественно" (с) - я считаю... ссылка подменена, URL другой, но дизайн - один в один ;-)

четверг, 9 августа 2012 г.

FileMerge exited - Compare Script Error


Диагноз

При попытке сделать Diff файла в Coda -  не происходит вообще ничего.
При попытке сделать Diff в Versions вываливается такая ошибка.


FileMerge exited with the following error:

You have not agreed to the Xcode license agreements, please run 'xcodebuild -license' (for user-level acceptance) or 'sudo xcodebuild -license' (for system-wide acceptance) from within a Terminal window to review and agree to the Xcode license agreements.

Решение

Собственно - нужно сделать то, чего вам и рекомендуется ;-)

xcodebuild -license

потом Space - для пролистывания лиценций и печатаем agree - для того чтобы согласится.

Теперь - можно пользоваться. Что это было - не понял, либо обновление XCode (что вероятнее), либо Mountan Lion.



вторник, 7 августа 2012 г.

Ubuntu sudo без пароля

sudo visudo
Добавляем в самый конец строчку где superpuperuser - ваш логин
superpuperuser ALL=(ALL) NOPASSWD: ALL
Готово

понедельник, 30 июля 2012 г.

Stream.ru Кинотеатр на iOS с дешевым месячным абонементом

А это собственно говоря, чем мы занимаемся - обзор нашего приложения Stream.ru на iPhones.ru.

Постепенно российский App Store наполняется интересными развлекательными приложениями для любителей кино, способными в какой-то мере заменить американский iTunes, славящийся своим выбором сериалов и голливудских лент. Так, ранее на страницах iPhones.ru уже рассматривались такие приложения как MaxiFilm и aikino!, но герой сегодняшнего обзора хоть и ориентирован на ту же самую сферу и в некоторой степени пересекается с упомянутыми приложениями функционально, но при этом все же имеет ряд серьезных отличий, главное из которых — это система видеопроката.

 При первом запуске клиент Stream для iOS, который является универсальным приложением, раскрывает все карты, не оставляя никакой интриги. Ну и правильно, так как без подсказки могут возникнуть вопросы, без ответов на которые разобраться с программой можно далеко не сразу.

Читаем, ставим, смотрим лицензионное видео в хорошем качестве на большинстве девайсов БЕЗ рекламы - iOS, Android, PC, TV.

понедельник, 16 июля 2012 г.

Как найти долгие запросы в Tornado?

Если нужно посмотреть, какие http запросы в Tornado (ну или в чем-то подобном) выполняются больше определенного времени.

Пример лог-файла

[I 120704 17:24:50 application:264] 200 GET /session/info/ (xxx.33.251.70) 138.56ms
[I 120705 18:17:15 application:264] 200 GET /catalog/xxxx/(xxx.33.251.70) 572.84ms
[I 120706 12:24:53 application:264] 200 GET /session/info/ (xxx.33.251.70) 127.04ms
[I 120706 13:03:12 application:264] 200 GET /session/login/ (xxx.33.251.70) 10.36ms
[I 120706 13:05:04 application:264] 200 GET /session/info/ (xxx.33.251.70) 209.89ms
[I 120706 13:06:59 application:264] 200 GET /session/info/ (xxx.33.251.70) 10.08ms
[I 120710 16:50:53 application:274] 200 GET /session/info/ (xxx.33.251.70) 171.46ms

Команда

# grep '200 GET' ./log/webapp.log |  sed 's/ms/ ms/g' | awk '{ if ($9 > 100 ) print $p0'}

Где 100 - минимальное время запроса

среда, 4 июля 2012 г.

Как восстановить ну ОЧЕНЬ большой dump MySQL?

Если дамп базы с боевого сервера MySQL весит НУ ОЧЕНЬ много, то для ускорения импорта в mysqld имеет смысл ВРЕМЕННО выставить следующие значения в my.cnf

set autocommit=0

unique_checks=0

foreign_key_checks=0

и перезапустить сервер

#sudo service mysqld restart

После импорта дампа -  нужно вернуть на место родные значения.

Для восстановления из бекапов - этот способ не рекомендуется,  он скорее - для разработческих серверов/копий.

понедельник, 25 июня 2012 г.

Как перемещать 3D камеру в Blender на MacBook?

Занесла меня тут нелегкая в 3D - с которым лет 10-15 уже дела не имел ;-) Последний раз чего то пытался рисовать еще в 90-е годы в институте в VRML. Понял, что не мое - но тут - НАДО! ;-)

Скачал Blender под MacOS, поставил и вот нужно мне некоторые предметы рассмотреть в трехмерке весьма тщательно и подробно - ан нет.

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

Все, думаю - кранты - необходимый мне предмет ну никак не рассмотреть... ;-(

Рецепт

Идем в User Preferences -> Input и включаем галки

[v] Emulate 3-button mouse
[v] Emulate Numpad

В итоге с помощью цифровых клавиш  2<->8 и  4<->6 можно хоть как-то крутить камеру в трехмерке. Неудобно - но хоть как-то
И да, оказывается тут еще и на Python можно писать... Ляпота ;-) ;-)

суббота, 23 июня 2012 г.

Windows Phone 7 Outlook Error Error code: 80072F0D

Если Ваш новый телефон на Windows Phone 7 не может присоединится к Exchange с самоподписанным сертификатом, выдавая что-то в стиле

Outlook Error
Not updated
There is a problem with the certificate for mymailserver.ru. Contact a support person or your service provider.
Error code: 80072F0D

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

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

понедельник, 18 июня 2012 г.

Как скрыть версию nginx?

В конфиг nginx в раздел http добавляется строка

server_tokens off;

а в php.ini

expose_php = Off