Новый путь...
and_cesbo
Лучше поздно, чем никогда...

4 Октября был последний день на работе. Первый - 8 февраля 2010. Три года и почти 8 месяцев.

Дальше - новый путь. Планы грандиозные. Основные цели: развитие собственного бизнеса ( Решения в области цифрового ТВ для операторов связи cesbo.com ) и зимовка в тёплых краях :)

Немного про зимовку, наверняка:
с 7 по 11 ноября - Стамбул
с 11 ноября на 4-5-6 дней - Гонконг
(Перелёты Екатеринбург -> Стамбул -> Гонконг -> куда-нибудь в Тайланде получился дешевле чем напрямую из Екб в Тайланд)

Затем, примерный план:
Тайланд, примерно две недели на Koh Lanta (самолётом из Гонконга до Пхукета, от Пхукет-тауна паромами до ланты)
на несколько дней в Куала-Лумпур, от туда в Бангкок, также на 3-4 дня.
На этом "отпуск" заканчивается, в начале декабря едем в паттайю, и там продолжаю активно работать над своими проектами.

Celery - немного асинхронности для питончика
and_cesbo
Пишу небольшое веб приложение на питончике и с замечательным фрэймворком Flask.
В приложении необходимо рассылать почту - торговая статистика,уведомления о транзакциях, личные сообщения, новостные рассылки. Всё как обычно.
Изучил возможные способы отправки почты: Amazon SES, Sendgrid, Google Apps (остановился на нём). Во всех случаях при отправке письма происходит задержка, что не очень хорошо, даже плохо - пока пройдёт подключение, уйдут данные (а их может быть неприлично много) - проходит вечность.
Начал изобретать велосипед... и тут на помощь пришёл Celery.
О запуске Celery...Collapse )

Почему программисты не таксисты
and_cesbo
Программист не таксист потому, что:

  • Нельзя сесть в такси, доехать до нужного места, сказать, что сейчас дела идут не очень хорошо, я расплачусь потом.

  • Нельзя сказать, что вот мне позвонили и сказали, что там таксист берёт меньше, отвези меня обратно, платить соответственно ничего не буду.

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

  • Нельзя сказать таксисту «ты меня довези, если поедем с ветерком, без пробок, чтобы салон был просторный, тогда я заплачу».

  • Нельзя сказать, что мы как-то не весело ехали, вернись и давай всё сначала.

  • Нельзя сказать, что у брата есть тёща, которая пользовалась вашими услугами, поэтому сделай мне скидку.


Комментарии в исходном коде
and_cesbo
Уже несколько раз меня спрашивали, зачем я в исходном коде делаю подобные комментарии:
/*
 * ooooooooo  ooooo  oooo oooooooooo           oooooooo8
 *  888    88o 888    88   888    888         888
 *  888    888  888  88    888oooo88 ooooooooo 888oooooo
 *  888    888   88888     888    888                 888
 * o888ooo88      888     o888ooo888          o88oooo888
 *
 */

...

/*
 * oooooooooo      o       oooooooo8 ooooooooooo
 *  888    888    888     888         888    88
 *  888oooo88    8  88     888oooooo  888ooo8
 *  888    888  8oooo88           888 888    oo
 * o888ooo888 o88o  o888o o88oooo888 o888ooo8888
 *
 */


А вот зачем
Screen Shot

Очень удобно для навигации в SublimeText.

Делаю с помощью: http://patorjk.com/software/taag/#f=O8

Устаревшая информация
and_cesbo
Посмотрел свои записи, столько информации устаревшей...
Пойду по порядку.

Android
Из поездки по тайланду привёз не только много впечателений но и iPhone 5.
Есть у андройда интересные фишечки, но очень много неудобных моментов.
Мой выбор — iPhone.

C++
После нескольких дней игры с С++ понял что это не моё. На Си я могу сделать всё тоже самое с большим для себя удобством. Подчерпнул несколько интересных идей из С++ и продолжил разработку новой версии Астры на Си. На сегодняшний день Астра 4 почти готова, осталось перенести пару модулей из текущей версии. По тестам производительности она обходит не только текущую версию, но и С++ версию.

trello.com
Trello отличное средство для управления задачами, но для ведения сложных проектов не подходит. После непродолжительных поисков выбрал Jira от Atlassian. Оказывается это очень удобная штука для ведения проектов, задач и багов (если использовать по нормальному). Также взял дополнения для Jira: GreenGopper (люблю я Канбан) и Stash (попробую переехать на него с bitbucket.org)

Git
Тут без изменений, за всё время работы с ним, я всё больше убеждаюсь, что git лучшее средство для контроля версий.

cesbo.com
Тут много нового. Движок форума сменил на IP.Board от InvisionPower, так как темпы развития XenForo и активность его разработчиков очень плохие. Выбором очень доволен.
С VDS переехал на полноценный сервер (это отдельная история и пачка документации по настройке KVM). Сервер взял также на hetzner.de

Пхукет. Март 2013
and_cesbo
Поездка обычная, ездили через тур-оператора на Патонг.

Отель был очень хороший Baan Boa - окраина патонга, на пляже народу не много, во время прилива вода вполне чистая, да и в любом случае вода чище чем в паттайе :-)
Основное место для ужинов - Sweet Restaurant, на улочке напротив Патонг-Тауэра. Дёщево и вкусно. Напротив свита, ещё есть Break Point - ещё дешевле.

В целом Патонг - место очень скверное, среди продавцов полно арабов, а это "Дрюг, купи", "Зайди, посмотри", "Марихуана!", "Порно!", "Купи DVD" и т.п.

Самое интересное из всего путешествия - экскурсия по 7-и островам.
Read more...Collapse )

Захотелось странного: Android...
and_cesbo
Очередное обновлени парка мобильных телефонов - мой iPhone 4S ушёл к Полинке, а себе взял...


Huawei Ascend D1 Quad XL nix66.ru порадовал ценой в 17000р, отрыв от связного почти в 2000.
Характеристики описывать не буду, девайс очень хороший...

За первые два дня использования появились следующие впечатления (все сровнения с iPhone 4s)

Плюсы:
  1. Кнопка "Назад", большие габариты телефона не напрягают, активная зона вся внизу
  2. Статистика расхода трафика, можно установить предупреждение о перерасходе
  3. Блокировка экрана с защитой (соединить несколько точек в правильной последовательности)
  4. На главном экране только "ярлыки" все приложения в отдельном месте
  5. Экран очень хороший, (размер и качество)
  6. Приятная задняя поверхность
Минусы:
  1. Вылетает лаунчер (главный экран), периодически при выходе из приложения, пока не знаю с чем связано
  2. Автоматическая настройка яркости ночью слепит со страшной силой
  3. Пока я спал (6 часов) сожрал куда-то 30% батарейки (2600 мАч)
  4. Прокрутка списков без эластичности - дошёл до конца и всё (у айфона список продолжает тянуться, как отпускаешь список выравнивается)
  5. Неудобно использовать несколько вкладок в браузере (перезагружает содержимое при возвращении на вкладку)
  6. Камера очень паршивенькая, хоть и 8 мегапикселей
Перепробовал кучу клавиатур прежде чем нашёл оптимальную: Hacker's Keyboard
Нашёл наиболее приятный лаунчер: Nova Launcher (но из-за того что лаунчеры (любой лаунчер) вылетают использовать неудобно - выходишь из приложения, всё гаснет и загружается стандартный 3D Home (даже если по умолчанию стоит другой лаунчер))

Большая часть проблем в софте. Жду обновление до Android 4.1 или 4.2.
Почти уверен, что это мой последний андройд.

Захотелось объектов... С++
and_cesbo
Для упрощения организации связей между модулями захотелось в астре сделать какую-то объектную модель, начал искать различные варианты, прочитал 21st Century C, прочитал несколько pdf-ок про способы реализации ООП в Си, но все эти велосипеды я уже изобрёл сам.

Решил попробовать С++, никогда не любил его. Использовал только вместе с Qt, особо не вдавался в его глубины. Всегда считал его непригодным для embedded-девайсов из-за различных его плюшек увеличивающих размер бинарника и уменьшающих производительность. Начал с изучения способов отрезания всего лишнего. Результат получился замечательный - компактный бинарник, без stl, rtti и без исключений (try-catch).

Сделал простой тест udp_input -> цепочка из 2000 модулей пропускающих трафик -> udp_output:
Размер бинарника не изменился (для меня самое главное в 500Кб уложиться).
Оригинальная астра: 58% CPU + 17Mb памяти.
Тестовая астра на С++: 30% CPU + 800Kb памяти...
(PS: в реальных условиях, изменения не будут заметны, так-как логика модулей не изменится)

Объяснение простое мой код связывающий модули слишком запутанный, С++ связал объекты наиболее оптимальным способом. В добавок код стал более понятным.
Астра 4 будет на С++ :-)

Управление задачами. trello.com
and_cesbo
Чуть ниже писал о Управление проектами в Evernote.
Всё было замечательно, но проекты развиваются, количество задач и идей увеличивается. Началась путаница: пару раз было "эту мелочь сделаю за несколько минут, нечего её добавлять"... задача забыта и потеряна; что-то планировал сделать к определённой дате, но забывал.
Появилась необходимость в специализированном средстве для управления задачами. Одно из главных требований - все задачи в одном месте.
Попробовал несколько сервисов:
  • do.com - оочень задумчивый сервис, проще всё сделать чем добавить задачу
  • asana.com - простой сервис для управление задачами. не хватает возможности добавлять заметки к задачам
  • teambox.com - также простой сервис со своими плюсами и минусами
в итоге наткнулся на trello.com - пробовал его несколько месяцев назад, тогда он был очень приметивен. Но на этот раз сервис мне очень понравился, есть всё необходимое и множество интересных плюшек о которых не задумывался.
На "доске" сделал пять списков:
  • Ideas — в описании задач набор мыслей, в дальнейшем из идеи формируется набор задач для реализации
  • Next Up — запланированные задачи на ближайшее будущее, чем выше задача, тем ближе срок реализации
  • In Progress — что в данный момент в работе
  • Testing — тестирование (от сюда задачи попадают обратно в In Progress или дальше в Done)
  • Done — выполненные задачи, но не добавленные в основную ветку (после слияния с основной веткой карточка архивируется)
Активно использую следующие возможности:
  • Description — описание задачи, поддерживает markdown, нет никаких ограничений. Особенно важно для идей - можно описать весь хаос мыслей и со временем упорядочивать в отдельные задачи
  • Checklist — использую как список мелких подзадач. Очень удобно, это не отдельная задача, просто этап реализации задачи
  • Attach — поддерживает DropBox, Google Drive и загрузку с компьютера. Использую DropBox
Что ещё надо использовать, но пока не использую:
  • Due data — время выполнения, нужно для задач про которые надо незабыть, приложение на мобильнике напомнит, что висит задача
  • Labels — метки, карточке добавляется цветной ярлык, меткам можно присвоить произвольное описание
Нехватает интеграции с bitbucket.org, уверен, в будущих версиях появится :-)
Перекинул все задачи из Evernote в Trello. Очень удобное средство.
Пример использования : http://trello.com/dev

Переход на Git
and_cesbo
Продолжительное время сидел на меркуриале, но в итоге перешёл на git.
Причины начала перехода довольно простые:
  • очень хороший плагин для git в sublime text 2
  • много "рекламы" в интернете
Что получил в итоге:
  • работа с бранчами - естественная и не принуждённая. может руки не от туда растут, но в меркуриале постоянно какие-то проблемы с этим были у меня и небыло желания создавать лишний бранч
  • теги - в меркуриале на каждый тег создаётся отдельный коммит. это как минимум некрасиво
  • git stash - очень удобная штука, запихнуть изменения недостойные коммита в "тайник" и переключиться в другой бранч
  • возможность подредактировать историю, например удалить определённый файл из всех коммитов - это конечно не очень хорошо, но всякое бывает
Некоторые моменты ещё не понятны, особых киллер-фич нет, но с гита я точно не слезу :-)
ещё стоит добавить - у гитa нет киллер-фич, у меркуриала нет вообще никаких фич по сравнению с гитом.

?

Log in