|
January 1st, 2014
12:00 am - sticker Чтобы убрать неястности...
Я программист / орхетектор / аналитик / team lead, больше всего - программист. Занимаюсь я восновном приблудами для операторов мобильной связи. Ну, знаете? Биллинги там, провижининг, CRM'ы, платежи, sms сервисы и прочая дрянь. Интересно это тем, что у твоего продукта десятки миллионов гарантированных пользователей.
А ввиду того, что это не тематический блог, а ЖЖ, готовтесь встретить всякий мусор эмоционального происхождения, да и прочий мусор тоже.
Заметки о программировании фильтруются по dev
|
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
|
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: geeky Current Music: Blue October - Kangaroo Cry
|
January 22nd, 2010
04:53 pm - Ink

Посмотрел недавно забавный фильм Ink (в русском переводе "Чернила"). Впечатления он оставил двоякие. Прежде всего стоит сказать, что это фильм с бюджетом 250к(!) в жанре фантастика, интересно? Снимала фильм студия Double Edge известная по корометражке "Spin", та самая короткометражка "Трудно быть богом". Ну а теперь что касается самого фильма: операторска и режиссерская работа просто потрясают, у фильма есть свой фирменный стиль (первый раз видел чтобы в кино применяли bloom, но в Ink он к месту). Костюмы, декорации и игра актеров на уровне (если помнить про 250к - великолепно). Единственное, что подкачало, так это сценарий, из-за него фильм кажется немного затянутым и скучноватым. Поэтому как обычное развлекательное видео фильм не пойдет, тем не менее посмотреть его стоит конечно же киноманам, тем кто хочет отвлечься от штампов голливуда и тем, кто любит красивые легкие фильмы. ( Скриншоты ) Current Mood: okay Current Music: Ночные Снайперы - 9 1/2
|
January 11th, 2010
01:47 am - Однако Шутки шутками, а бизнес-модель:- Свистелки-перделки.
- ?????
- PROFIT!!!11
вполне прижилась на айфоне Current Mood: sleepy Current Music: The Beatles - Norwegian Wood
|
January 8th, 2010
07:38 pm - Symbian Kickstart: Симбиан глазами песишника
"Кто под Symbian писал, тот в цирке не смеется" Анонимус Чем интересен Symbian Прежде всего стоит сказать, что по данным Wikipedia Symbian установлена на 54% выпущенных смартфонов, по данным developer.symbian.org это более 250M устройств (К.О. подсказывает, что это over 9000)
( Читать дальше ) Current Mood: awake Current Music: Lowel Fulson - One More Blues
|
04:06 pm - Дыбр, как он есть
 Current Music: Flaw - Get Up Again
|
December 16th, 2009
02:03 pm - Фишечки от гугла Гугль мобайл научился распознавать голосовые поисковые запросы. Нюансы есть, конечно же, но популярные запросы (free java games) разбирает отлично. Лично для меня это возможность не набирать URL руками - "лайв джорнал дот ком" и ЖЖ первой ссылкой. Current Mood: excited
|
December 11th, 2009
12:41 am - Current mood с пикчей

Triolan показали пример качественного суппорта.
1. Попытались перевести абонентов на статик IP => Половина осталась без инета 3. Звонки в колл-центр переключили на автоответчик 4. Админы выключили мобильные 5. Темы форума в разделе "Жалобы" периодически подчищались
Алсо в список трекеров каждого скачанного .torrent файла они добавляют свой -> если я отдаю внутри сети провайдера, остаюсь без учета рейтинга.
|
November 25th, 2009
02:43 am - ... Мне говнокод отдали на поддержку В нем бизнес лоджик на 15 мегабайт, Там ифов овер 9000, И глобал вариэйблс стейтами рулят
И как бы не хотелось сделать лучше, Но на рефактор хьюмэн дэев нет. Поэтому скажу себе: "..." Прийду домой и делать буду пет Current Mood: crappy Current Music: Incubus - Drive
|
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. ( Собственно лисапед: )
Правка: На комментарий 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
|
November 12th, 2009
11:27 pm - Partly cloudy Просто отличный короткометражный мульт http://www.youtube.com/watch?v=O0JdaUiPmQU Current Mood: sleepy Current Music: Seether - Like Suicide
|
October 8th, 2009
04:56 pm - Пеарю Ртутная река Киева
А интересно, сколько еще такого "наследия" по территории бывшего СССР осталось? Что еще забавно - я даже не удивлен. Current Mood: blank
|
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: awake Current Music: Incubus - Love Hurts
|
August 31st, 2009
03:09 pm - Линуксовое Вот лично для меня Linux станет primary desktop OS тогда, когда я буду делать "lsmod | grep snd" и переустанавливать ndiswrapper только после того как посмотрю стоит ли галочка "mute" в KMix Current Music: Everlast - Lonely Road
|
August 26th, 2009
04:46 pm - Мечта Мдя, у меня сильно лирическое настроение, оно требует выхода, а посему ( полкило сахара и столько же соплей ) Читать не рекоммендую - это надпись "$" на сарае, вот только лиричнее и не так глубокомысленно.
|
August 4th, 2009
04:32 pm - CVS / DCVS / etc * xxx с удивлением обнаружил, что корзина в виндовс является прекрасным средством для резервного копирования исходников активного проекта. там могут находиться файлы с одинаковым именем а также пишется дата помещения в корзину
via ibash.org.ru Current Mood: tired Current Music: Placebo - Where Is My Mind (Pixies cover)
|
July 27th, 2009
05:21 pm - Че-та я устал. А никто Exodus from the Earth 2 не продюссирует? Берусь реализовать быстро, качественно, недорого. Не гербалайф. Current Mood: tired Current Music: Massive Attack - Teardrop
|
July 26th, 2009
12:13 am - Советы и грабли Обидно, умные люди советуют умные вещи, но не объясняют почему нужно делать (не делать) именно так, в итоге я им не верю. В очередной раз наступаю на грабли самостоятельно, а дело вот в чем: самый простой способ выполнения чего-либо асинхронно это "вызвал метод, подписался на callback". Все хорошо, но ровно до тех пор пока порядок вызова и результат выполнения не влияют на логику программы. В противном случае вся программа превращается в стейт-машину неподъемной сложности. А вдобавок ко всему, при написании каждого куска кода надо четко осознавать в контексте какого потока он будет выполняться. Current Mood: crappy Current Music: Theory Of A Deadman - Santa Monica
|
July 1st, 2009
03:55 pm - По мотивам башорг
#define _2PI PIPI
|
|
|
|