Home

Advertisement

January 1st, 2014


12:00 am - sticker
Чтобы убрать неястности...

Я программист / орхетектор / аналитик / team lead, больше всего - программист. Занимаюсь я восновном приблудами для операторов мобильной связи. Ну, знаете? Биллинги там, провижининг, CRM'ы, платежи, sms сервисы и прочая дрянь.
Интересно это тем, что у твоего продукта десятки миллионов гарантированных пользователей.

А ввиду того, что это не тематический блог, а ЖЖ, готовтесь встретить всякий мусор эмоционального происхождения, да и прочий мусор тоже.

Заметки о программировании фильтруются по dev

(5 comments | Leave a comment)

February 2nd, 2010


11:15 am - Любителям писать свой vector посвящается
Интересно, какой процент изобретателей велосипедов используют такие вот оптимизации:
namespace _detail {

    template<typename _Forward_Iterator>
    inline void call_destructor_for_range_aux(_Forward_Iterator first, _Forward_Iterator last, const boost::false_type&)
    {
        while (first != last)
        {
            call_destructor_for(&*first);
            ++first;
        }
    }

    template<typename _Forward_Iterator>
    inline void call_destructor_for_range_aux(_Forward_Iterator, _Forward_Iterator, const boost::true_type&)
    { /* DO NOTHING */ }
}

template<typename _Forward_Iterator>
inline void call_destructor_for_range(_Forward_Iterator first, _Forward_Iterator last)
{
    _detail::call_destructor_for_range_aux<_Forward_Iterator>(first, last, 
            boost::has_trivial_destructor<_Forward_Iterator::value_type>::type());
}
_Winnie C++ Colorizer

код фактически из GCC STL, только переписан под boost

Это я к тому, что нельзя быть уверенным в том, что ты сядешь и напишешь код лучше того, который используется и причесывается годами.
Current Music: Chevelle - Jars
Tags: ,

(11 comments | Leave a comment)

January 29th, 2010


12:27 am - IPTV на телефоне
Поигрался немного и настроил broadcast в VLC плеере чтобы смотреть видео на телефоне по Wi-Fi.
Вдруг кому пригодится:
1. В VLC плеере media->streaming, выбираем любой источник (файл / IPTV / etc.), next, next, в output вводим строчку:
:sout=#transcode{vcodec=mp4v,vb=384,fps=25,scale=1,width=320,height=240,acodec=mp4a,ab=128,channels=2,samplerate=44100}:rtp{mp4a-latm,sdp=rtsp://0.0.0.0:5554/stream.sdp}:sout-keep
transcode - декодировать поток (здесь: кодек MPEG4 / AAC 320x240 25 FPS с пониженным битрейтом)
rtp - вещать по rtsp
sout-keep - keep streaming alive
2. Открываем ссылку rtsp://VLC-player-IP:5554/stream.sdp браузером телефона
3. PROFIT!!!
Current Mood: [mood icon] geeky
Current Music: Blue October - Kangaroo Cry

(Leave a comment)

January 22nd, 2010


04:53 pm - Ink


Посмотрел недавно забавный фильм Ink (в русском переводе "Чернила"). Впечатления он оставил двоякие. Прежде всего стоит сказать, что это фильм с бюджетом 250к(!) в жанре фантастика, интересно? Снимала фильм студия Double Edge известная по корометражке "Spin", та самая короткометражка "Трудно быть богом".
Ну а теперь что касается самого фильма: операторска и режиссерская работа просто потрясают, у фильма есть свой фирменный стиль (первый раз видел чтобы в кино применяли bloom, но в Ink он к месту). Костюмы, декорации и игра актеров на уровне (если помнить про 250к - великолепно). Единственное, что подкачало, так это сценарий, из-за него фильм кажется немного затянутым и скучноватым. Поэтому как обычное развлекательное видео фильм не пойдет, тем не менее посмотреть его стоит конечно же киноманам, тем кто хочет отвлечься от штампов голливуда и тем, кто любит красивые легкие фильмы.
Скриншоты )
Current Mood: [mood icon] okay
Current Music: Ночные Снайперы - 9 1/2
Tags:

(Leave a comment)

January 11th, 2010


01:47 am - Однако
Шутки шутками, а бизнес-модель:
  1. Свистелки-перделки.
  2. ?????
  3. PROFIT!!!11
вполне прижилась на айфоне
Current Mood: [mood icon] sleepy
Current Music: The Beatles - Norwegian Wood
Tags:

(1 comment | Leave a comment)

January 8th, 2010


07:38 pm - Symbian Kickstart: Симбиан глазами песишника
"Кто под Symbian писал, тот в цирке не смеется"
Анонимус
 

Чем интересен Symbian
Прежде всего стоит сказать, что по данным Wikipedia Symbian установлена на 54% выпущенных смартфонов, по данным developer.symbian.org это более 250M устройств (К.О. подсказывает, что это over 9000)

Читать дальше )
Current Mood: [mood icon] awake
Current Music: Lowel Fulson - One More Blues
Tags: , , ,

(12 comments | Leave a comment)

04:06 pm - Дыбр, как он есть

Current Music: Flaw - Get Up Again

(4 comments | Leave a comment)

December 16th, 2009


02:03 pm - Фишечки от гугла
Гугль мобайл научился распознавать голосовые поисковые запросы. Нюансы есть, конечно же, но популярные запросы (free java games) разбирает отлично. Лично для меня это возможность не набирать URL руками - "лайв джорнал дот ком" и ЖЖ первой ссылкой.
Current Mood: [mood icon] excited

(Leave a comment)

December 11th, 2009


12:41 am - Current mood с пикчей


Triolan показали пример качественного суппорта.

1. Попытались перевести абонентов на статик IP => Половина осталась без инета
3. Звонки в колл-центр переключили на автоответчик
4. Админы выключили мобильные
5. Темы форума в разделе "Жалобы" периодически подчищались

Алсо в список трекеров каждого скачанного .torrent файла они добавляют свой -> если я отдаю внутри сети провайдера, остаюсь без учета рейтинга.
Tags:

(2 comments | Leave a comment)

November 25th, 2009


02:43 am - ...
Мне говнокод отдали на поддержку
В нем бизнес лоджик на 15 мегабайт,
Там ифов овер 9000,
И глобал вариэйблс стейтами рулят

И как бы не хотелось сделать лучше,
Но на рефактор хьюмэн дэев нет.
Поэтому скажу себе: "..."
Прийду домой и делать буду пет
Current Mood: [mood icon] crappy
Current Music: Incubus - Drive
Tags:

(7 comments | Leave a comment)

November 13th, 2009


04:59 pm - shared_ptr экономим байты
Пока все пишут про функциональные ЯП, я, значится, обустраиваю свою С++ берлогу.
Так вот, shared pointer'ы в некоторых случаях просто незаменимая вещь, но надо помнить про накладные расходы, а именно - аллокация на sizeof(pointer) + выравнивание для shared counter'a. Чтобы избежать этой аллкации можно хранить каунтер прямо в теле shared объекта и пользоваться boost::intrusive_ptr. Чтобы пользоваться интрузивным умным указателем, пишется обертка вида:
namespace boost {
    void intrusive_ptr_add_ref(YourClass *c);
    void intrusive_ptr_release(YourClass *c);
}
_Winnie C++ Colorizer

Только вот неудобно писать ее для каждого класса, поэтому я немного "очеловечил" использование intrusive_ptr.
Собственно лисапед: )

Правка:
На комментарий [info]sleppy_drago
Множественное наследование - не проблема, проблемы будут при размере дерева наследования больше 1-го - вызовется неправильный деструктор.
SomeClass : public Base, public refcounted<SomeClass> (release вызовет SomeClass::~SomeClass)
DerivedClass : public SomeClass (release опять-таки вызовет SomeClass::~SomeClass) Чтобы такого избежать можно конструктор refcounted сделать private и добавить _Successor в друзья.
Current Music: Everlast - Stone In My Hand
Tags: ,

(2 comments | Leave a comment)

November 12th, 2009


11:27 pm - Partly cloudy
Просто отличный короткометражный мульт
http://www.youtube.com/watch?v=O0JdaUiPmQU
Current Mood: [mood icon] sleepy
Current Music: Seether - Like Suicide

(Leave a comment)

October 8th, 2009


04:56 pm - Пеарю
Ртутная река Киева

А интересно, сколько еще такого "наследия" по территории бывшего СССР осталось? Что еще забавно - я даже не удивлен.
Current Mood: [mood icon] blank
Tags:

(Leave a comment)

September 19th, 2009


10:45 pm - Оператор goto, мы его не используем
Я не хочу начинать тему про обработку ошибок и про нюансы использования опреатора goto. Мне интересно другое - неприязнь к этому оператору заставляет использовать goto-подобные решения. И даже САМ Макконели в "Code Complete" приводит пример обработчика ошибок такого плана, как альтернативу goto:
    do
    {
        
        if (FAIL == DoSomething())
            break;

        if (FAIL == DoSomethingElse())
            break;

    } while (false)
_Winnie C++ Colorizer

Мне понятны преимущества такого подхода перед goto - мы не можем прийти в контролирующую структуру хрен знает откуда, мы не можем уйти хрен знает куда. Но ведь мы говорим о коде, который легко читать. Мне дико видеть типичный код обработки ошибок, замаскированный под цикл. Я хочу видеть здесь именно goto
Current Mood: [mood icon] awake
Current Music: Incubus - Love Hurts
Tags:

(8 comments | Leave a comment)

August 31st, 2009


03:09 pm - Линуксовое
Вот лично для меня Linux станет primary desktop OS тогда, когда я буду делать "lsmod | grep snd" и переустанавливать ndiswrapper только после того как посмотрю стоит ли галочка "mute" в KMix
Current Music: Everlast - Lonely Road

(Leave a comment)

August 26th, 2009


04:46 pm - Мечта
Мдя, у меня сильно лирическое настроение, оно требует выхода, а посему
полкило сахара и столько же соплей )
Читать не рекоммендую - это надпись "&#$" на сарае, вот только лиричнее и не так глубокомысленно.

(2 comments | Leave a comment)

August 4th, 2009


04:32 pm - CVS / DCVS / etc
* xxx с удивлением обнаружил, что корзина в виндовс является прекрасным средством для резервного копирования исходников активного проекта. там могут находиться файлы с одинаковым именем а также пишется дата помещения в корзину

via ibash.org.ru
Current Mood: [mood icon] tired
Current Music: Placebo - Where Is My Mind (Pixies cover)

(Leave a comment)

July 27th, 2009


05:21 pm - Че-та я устал.
А никто Exodus from the Earth 2 не продюссирует? Берусь реализовать быстро, качественно, недорого. Не гербалайф.
Current Mood: [mood icon] tired
Current Music: Massive Attack - Teardrop
Tags: ,

(Leave a comment)

July 26th, 2009


12:13 am - Советы и грабли
Обидно, умные люди советуют умные вещи, но не объясняют почему нужно делать (не делать) именно так, в итоге я им не верю. В очередной раз наступаю на грабли самостоятельно, а дело вот в чем: самый простой способ выполнения чего-либо асинхронно это "вызвал метод, подписался на callback". Все хорошо, но ровно до тех пор пока порядок вызова и результат выполнения не влияют на логику программы. В противном случае вся программа превращается в стейт-машину неподъемной сложности.
А вдобавок ко всему, при написании каждого куска кода надо четко осознавать в контексте какого потока он будет выполняться.
Current Mood: [mood icon] crappy
Current Music: Theory Of A Deadman - Santa Monica
Tags:

(3 comments | Leave a comment)

July 1st, 2009


03:55 pm - По мотивам башорг
#define _2PI PIPI

(Leave a comment)

D.Rider on everything

> Recent Entries
> Archive
> Friends
> User Info
> previous 20 entries

> previous 20 entries
> Go to Top
LiveJournal.com

Advertisement