Analitycs

пятница, 23 декабря 2011 г.

Как удалить MacPorts?

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

После 2 дней попыток обойти все баги перекомпиляции MacPort, решил их снести к чертовой матери и попробовать собрать все начисто.

Итак, как удалить MacPorts?


# port -f uninstall installed

После чего ставлю/собираю заново то, что нужно - пока "коробочка жужжит" (с) ;-)

Если же нужно вычистить всю жизнедеятельность MacPorts из системы, то


$ sudo rm -rf /opt/local \
    /Applications/DarwinPorts  /Applications/MacPorts \
    /Library/LaunchDaemons/org.macports.* /Library/Receipts/DarwinPorts*.pkg \
    /Library/Receipts/MacPorts*.pkg /Library/StartupItems/DarwinPortsStartup \
    /Library/Tcl/darwinports1.0 /Library/Tcl/macports1.0 \
    ~/.macports

Да, если у вас вторая версия - то удаляемые каталоги, разумеется, меняются на те, что у вас. 

Найдено тут, HomeBrew ставить не собираюсь. ПОКА не собираюсь, во всяком случае.

среда, 21 декабря 2011 г.

Как сохранить/восстановить настройки-сайты/Sites в Panic Coda под MacOS?

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

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

~/Library/Preferences/com.panic.Coda.plist

Где ~/ ваш домашний каталог.

P.S. И да, принимаю поздравления с долгожданным новым Pro 13' (MD314RS/A). Теперь Aperture ведет себя вполне прилично - и даже матрица нормальная, без цветовых искажений ;-) ;-)

/me почти счастлив ;-)




воскресенье, 18 декабря 2011 г.

Skyrim: The Dragonborn Comes - Female Cover by Malukah

Уж на что я обычно спокойно отношусь ко всяким фэнартам и прочему user-generated контенту "по мотивам" чего-бы-то-не-было... но вот эта девушка сильно зацепила.



Our Hero, our Hero, claims a warrior's heart
I tell you, I tell you, the Dragonborn comes
With a Voice wielding power of the ancient Nord art
Believe, believe, the Dragonborn comes

It's an end to the evil of all Skyrim's foes
Beware, beware, the Dragonborn comes
For the darkness has passed and the legend yet grows
You'll know, you'll know, the Dragonborn comes

Dovahkiin, Dovahkiin
Naal ok zin los vahriin
Wah dein vokul mahfaeraak ahst vaal
Ahrk fin norok paal graan
Fod nust hon zindro zaan
Dovahkiin, fah hin kogaan mu draal

пятница, 16 декабря 2011 г.

Волшебный пендель

Решил ввязаться в небольшую сетевую авантюру - поучаствовать в блогоконкурсе "Волшебный пендель", но как известный скептик и циник - ничего хорошего от этого не жду ;-)

Цели блога на ближайший год

  • не потерять интерес и возможность вести блог;
  • писать в месяц по два более-менее приличных поста и несколько технических заметок;

Целевая аудитория блога

  • разработчики и админы, которым могут быть полезны те задачи, которые я решаю; 
  • люди, уставшие от копи-пасты в блогах;
  • мои знакомые и друзья;

Выполнение условий конкурса

Я участник самого полезного конкурса от Сергея Первушина "Волшебный Пендель для вашего блога"!. Благодаря этому конкурсу я могу стать успешным и известным блоггером. А еще я могу выиграть ценные призы:
1. 3 000 рублей и книга, единственная официальная биография Стива Джобса – “Стив Джобс. Биография“.
2. 2 000 рублей и книга, которая перевернет представления о бизнесе – “Rework. Бизнес без предрассудков“.
3. 1 000 рублей и книга, которая поможет вам потрясти воображение людей – “WOW-факторы. Пора потрясти воображение людей!“.
+ все победители получат "свежий" видеокурс от Александра Борисова "Как стать блоггером тысячником".

Определять победителей будет экспертное, независимое жюри:
1. Михаил Шакин (shakin.ru).
2. Дмитрий Голополосов (blog.dimok.ru).
3. Александр Борисов (isif-life.ru).

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

Скептические комментарии

>Я участник самого полезного конкурса

Сильно сомневаюсь в его полезности, но посмотрим...

>Благодаря этому конкурсу я могу стать успешным и известным блоггером.

Не уверен, что именно об этом я мечтал всю свою жизнь ;-)

>А еще я могу выиграть ценные призы:

Вот воистину - "nobody cares" (с). Призы как таковые - неинтересны, интересен - процесс и полученный результат эксперимента.

>Михаил Шакин (shakin.ru)

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

>Дмитрий Голополосов (blog.dimok.ru).

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

>Александр Борисов (isif-life.ru).

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

>все победители получат "свежий" видеокурс от Александра Борисова "Как стать блоггером тысячником".

Почему "свежий" написано в кавычках?  Не самый лучший способ анонса своего продукта - подобное написание эпитета вопринимается как сарказм.

Ладно, посмотрим что из этого получится...

пятница, 9 декабря 2011 г.

HeadHunt: нужны Highload Python, AppManager и тестеры

Мы ищем несколько человек - специалистов по highload Python, один application manager и хороших тестировщиков в СПб.

"Мы" - это ООО «Стрим», дочерняя компания ОАО «МТС»

Разработчик платформенных решений ( Python, Highload)

Обязанности:

  • разработка и дальнейшее сопровождение серверной части медийных сервисов для проекта Омлет.ру (в первую очередь сервиса управления и распространения легального видео-контента);
  • консультирование по вопросам высоконагруженных систем.
Требования:
  • опыт разработки на Python от 2 лет;
  • хорошее знание SQL, опыт работы, а так же оптимизации и тюнинга СУБД PostgreSQL или MySQL;
  • опыт работы с no-SQL решениями,  в проектах по запуску высоконагруженных веб-сервисов (от 500 тыс показов в сутки);
  • аналитический склад ума, коммуникабельность, знание основ ООП, хорошая математическая база;
  • дополнительными плюсами являются: знание и опыт применения различных языков программирования, новейших технологий, самообучение и саморазвитие, английский язык, опыт создания несложных UI
Если будет практический опыт Tornado/Twisted - вам большой такой плюс.

Специалист по передаче в эксплуатацию (application manager)

позиция подразумевает деятельность на стыке разработка ПО – эксплуатация, т.е. задачи связанные с передачей в эксплуатацию после разработки и тестирования. Подразумевает навыки системного администрирования, навыки написания документации, разумную дотошность.

Задачи:
  • написание скриптов деплоя приложений или настройка специализированной среды развертывания приложений;
  • приемка серверных приложений после тестирования;
  • передача приложения в эксплуатацию;
  • валидация документации по установке приложений;
  • написание документации по эксплуатации;
  • анализ поведения приложений при эксплуатации, выявление сложностей эксплуатации приложений; 
Требования к кандидату:
  • владение linux на уровне базового администрирования;
  • владение windows на уровне продвинутого пользователя;
  • опыт написания скриптов на shell;
  • знание одного из языков: php, ruby, python;
  • опыт написания документации;
  • аналитический склад ума;

Специалист по тестированию

Обязанности:
  • тестирование серверных компонент видео-сервиса и всего сервиса в целом, в том числе - автоматизация тестирования и нагрузочное тестирование
Требования:
  • образование в сфере ИТ, желательно понимание основ программирования;
  • опыт функционального и нагрузочного тестирования от 2 лет;
  • хорошее знание SQL;
  • опыт работы в проектах по запуску высоконагруженных веб-сервисов (от 500 тыс. показов в сутки);
  • аналитический склад ума, коммуникабельность, знание основ ООП;
  • владение инструментами JMeter или аналогичными;
  • дополнительными плюсами являются: знание и опыт применения различных языков программирования, знание английского языка.
Условия для всех вакансий:
  • вся белая ЗП, оформление по ТК;
  • ненормированный рабочий день;
  • 31 день оплачиваемого отпуска;
  • испытательный срок 3 мес.
  • ДМС после прохождения испытательного срока;
  • корпоративная мобильная связь;
  • квартальные и годовые бонусы;

Если ваше резюме удовлетворяет требованиям на 3/4 - смело шлите его на michael(dot)neradkov(dog)gmail(dot)com. 

Буду признателен, если поделитесь информацией со своими знакомыми.

Заранее спасибо!



четверг, 8 декабря 2011 г.

Итоги 2.5 месяцев отдыха...

В сентябре я понял, что уже года 4 практически не отдыхал - и устроил себе 2.5 месяца отдыха от работы.

Итоги этого мероприятия - ниже
  • 4 заказных гараж кита
     
  •  2 самолета, один - из них заказной
     
  • Значительное количество доработок на сайте,
  • Два проекта на подработке - увы, никуда от них не получилось деться ;-)
А теперь - снова работать.

суббота, 3 декабря 2011 г.

Как сделать sharding картинок в PHP между несколькими серверами?

Сегодня небольшой хак - боюсь, что скоро их будет тут больше, чем методически грамотных решений. ;-(

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

Дано

4 поддомена:
  • http://st1.xxx.ru
  • http://st2.xxx.ru
  • http://st3.xxx.ru
  • http://s4.xxx.ru
По ним и нужно раскидывать превьюшки - особенно это актуально, когда их много на страницах.

Функция получения url для превьюшки картинки после небольшой доработки выглядит так

 public function thumb_url($file = false) {
  $path = $this->path_by_file($file);
  $url = CMS_URL.'/'.$path.'/thumbs/'.$file;
  
  $key = md5($url) & 3;
  
  $static_url = 'http://st'.($key+1).'.xxx.ru/'.$path.'/thumbs/'.$file;
  
  return $static_url;
 }

Чем плох этот вариант?

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

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

Короче - не делайте так.

А как правильно?

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