среда, 24 февраля 2010 г.

svn against all!

кого же выбрать
SVN
GIT
или
Mercurial
?

пятница, 19 февраля 2010 г.

IPTV

курим сказку про PVC. как же железка узнаёт что у неё в одном проводе приходит и мультимедиа и обычный трафик? как оказалось ничего удивительного - разные PVC метки творят чудеса, у простого трафика PVC 50 у мультимедии PVC 90.

четверг, 18 февраля 2010 г.

FF Extensions 2

обновил список расширений к FF. добавилось расширение Weave - полезняшка для синхронизации закладок/букмарков м/у несколькими инсталляциями FF.

ошипко или ах если бы, ах если бы

теле2 ошиблись в денежном знаке при указании стоимости человека, но каков размах!

пятница, 12 февраля 2010 г.

libvmime under windows (часть 3) smartPtr.hpp

хочется написать, что 5ые сутки продолжается суровая половая ёбля с внеземным разумом написавшим чудо библиОтеку libvmime, но нет, всего лишь 2ой день. всё что нужно собрано - нестерпимо выёбывается сама библиотека, а точнее файлик smartPtr.hpp

void detach()
{
if (m_ptr)
{
m_ptr->getRefManager()->releaseStrong();
m_ptr = 0;
}
}

компилятор говорит мол "чё за хуита m_ptr, и вся та тряхомудь в виде getRefManager и releaseStrong мне непонятна" выглядит это вот так

1>------ Build started: Project: vmime, Configuration: Release Win32 ------
1>Compiling...
1>defaultSASLAuthenticator.cpp
1>m:\prg\gmail_checker\libvmime-0.8.1\vmime/utility/smartPtr.hpp(362) : error C2027: use of undefined type 'vmime::security::sasl::SASLContext'
1> m:\prg\gmail_checker\libvmime-0.8.1\vmime/security/sasl/SASLSession.hpp(40) : see declaration of 'vmime::security::sasl::SASLContext'
1> m:\prg\gmail_checker\libvmime-0.8.1\vmime/utility/smartPtr.hpp(358) : while compiling class template member function 'void vmime::utility::ref::detach(void)'
1> with
1> [
1> T=vmime::security::sasl::SASLContext
1> ]
1> m:\prg\gmail_checker\libvmime-0.8.1\vmime/security/sasl/SASLSession.hpp(129) : see reference to class template instantiation 'vmime::utility::ref' being compiled
1> with
1> [
1> T=vmime::security::sasl::SASLContext
1> ]
1>m:\prg\gmail_checker\libvmime-0.8.1\vmime/utility/smartPtr.hpp(362) : error C2227: left of '->getRefManager' must point to class/struct/union/generic type
1>m:\prg\gmail_checker\libvmime-0.8.1\vmime/utility/smartPtr.hpp(362) : error C2227: left of '->releaseStrong' must point to class/struct/union/generic type
1>Build log was saved at "file://m:\prg\gmail_checker\libvmime-0.8.1\Release\BuildLog.htm"
1>vmime - 3 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

на всё что написано ниже строчки

1>m:\prg\gmail_checker\libvmime-0.8.1\vmime/utility/smartPtr.hpp(362) : error C2027: use of undefined type 'vmime::security::sasl::SASLContext'

можно класть хуй. На все попытки образумить функционал вызова detach() и заставить его нормально потрудится не увенчались успехом, даже блядь намёка на малюсенькую победу не было и это лишний раз подтвердило мудрость что мол
ковырять чужой код себе всегда дороже, и проще написать свой.
Поэтому делаем так
void detach()
{
//
// if (m_ptr)
// {
// m_ptr->getRefManager()->releaseStrong();
// m_ptr = 0;
// }
return;
}
функционал превращаем в затычку и везде где он встречается в этом (class auto_ptr) классе, заменяем вызов detach() на

// detach();
if (m_ptr)
{
m_ptr->getRefManager()->releaseStrong();
m_ptr = 0;
}
и это проделываем в плоть до

/** Weak reference.
* Avoid circular references.
*/
здесь следует остановится так как там (class weak_ref) с detach() всё в порядке.
Это грязный и низкий фикс, но он работает. Так делать вообще нельзя, но иногда если никто не видит и не пиздит, то МОЖНО. Ссылка на покорёженный таким образом smartPtr.hpp

четверг, 11 февраля 2010 г.

опять прогресс бар от Микрасофт

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





если вдруг кто не помнит, такой "прогресс бар" в виде крутящейся палочки был в MS DOS лет 15-17 назад, а затем, с массированным насаждением GUIни был стремительно заменён на ползающего туда сюда "червячка/полосочку etc"

libvmime under windows (часть 2)

продолжаем собирать библиотечку libvmime. на этот раз вскрылось что в КОЕ ГДЕ не определён типа ssize_t. да вот так странно size_t определён, а его ближайший родственник, даже может быть брат(!) ssize_t, нет. погуглив не много и поняв что отличаются они только тем что один sign а другой unsign пришлось там где оно требовалось сделать так:
/* by rxx_void */
typedef _W64 signed int ssize_t;
to be continued.

АП так же почему то не определено GNUTLS_E_OPENPGP_TRUSTDB_VERSION_UNSUPPORTED в TLSSession.cpp, делаем так

#define GNUTLS_E_OPENPGP_TRUSTDB_VERSION_UNSUPPORTED -178

или комментируем её нахуй (страшного в этом ничего не вижу, там закоменченных подобных строк доебени фени, да и под рукой есть отладчик, гы )


АП за ким хером определять класс

class X509CertificateInternalData* m_data;

а затем описывать его как структуру,

struct X509CertificateInternalData
{
X509CertificateInternalData()
{
gnutls_x509_crt_init(&cert);
}

~X509CertificateInternalData()
{
gnutls_x509_crt_deinit(cert);
}


gnutls_x509_crt cert;
};

это что так модно? ублюдские кегли

да кстати, собираю я это всё под MS Visual Studio 2008 (Team Edition). это если вдруг кто собирал под 2003 и мол граблей не встретил.

среда, 10 февраля 2010 г.

libvmime under windows (часть 1)

сказочно поебался со сборкой сабжевой(libvmime) либы под виндус.
дабы её собрать, вам предварительно придётся выебать и высушить 3х её старшеньких сестёр.
gnutls-2.9.9
gsasl-1.4.0
libiconv-1.9.2
приготовьте вазелин :)

вторник, 9 февраля 2010 г.

Китай по определению гавно?

а вот хуй!

Mediaconverter

иногда очень нужно по быстрому сграбить звуковую дорожку с YOUTUBE.COM, а все эти действия с выливанием в FLV и дальнейшим выковыриванием звука никак не вписываются в политику "по быстрому" и тогда на помощь приходит ОН - онлайн сервис! видел я как минимум 3 подобных сервиса, могущих по ссылке с ютюба дёрнуть на диск звуковую дорогу, а запомнил (читай выбрал для себя) одни - сабжевый Mediaconverter.

среда, 3 февраля 2010 г.

FF Extensions

какое то время ставил интересные расширения особо не задумываясь. сегодня когда ФФ загружался минуты 3 я понял что с этим нужно завязывать и решительно приступил к беспощаднйо и непокалебимой чистке в рядахх расширений. вот что осталось. опять же никому не рекомендую :)

Приложение: Firefox 3.5.7 (20091221164558)
Операционная система: WINNT (x86-msvc)

- Amazon Wish List 1.0
- Ask Toolbar for Firefox 2.1.0.5
(Отключено, Несовместимо)
- Destroy the Web 0.9.1
- DownloadHelper 4.7
- Extension List Dumper 1.14.8
- Firebug 1.5.0
(Отключено)
- FireGestures 1.5.6
- FirePHP 0.4.3
(Отключено)
- Fission 1.0.9
- Foxdie for Firefox 3.5.2
- Gmail Space 0.5.995
- Google Toolbar for Firefox 5.0.20090324W
(Отключено)
- ImTranslator 3.3.3
- Java Console 6.0.07
- Java Console 6.0.11
- Java Console 6.0.13
- Java Console 6.0.15
- Java Console 6.0.17
- Java Quick Starter 1.0
- Lingvo Online 1.0
(Отключено, Несовместимо)
- Microsoft .NET Framework Assistant 1.1
- NoScript 1.9.9.47
- SkipScreen 0.3.20091214_AMO
- Speed Dial 0.9.5
- Weave Sync 1.0.1
- Менеджер сессий 0.6.7.4
- Просмотр HTTP заголовков 0.16

RUSSIAN POST TRACKING from UK

ещё раз обновил скрипт. на этот раз добавился монитор посылки едущей из Объединённого Королевства

#########################next##########ROYAL#MAIL##UKPOST######
echo $html_hr >> $index_h

/usr/local/bin/wget "http://www.royalmail.com/portal/rm/track?trackNumber=$post3" -O $index_t

/usr/bin/grep -i -v "DOCTYPE\|xmlns\|head\|meta\|title\|script\|link\|body\|div\|href\|img\|_validateSearch\|table\|col\|тд\|тр\|searchInput\|sitesearch\|notDisplayed\|rm_search.jspf\|\|var\|ecos\|engurl\|firstItem\|siteCatalyst\|" $index_t >> $index_h

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

#############################next##########HONGKONG##POST######
echo $html_hr >> $index_h

/usr/local/bin/wget "http://app3.hongkongpost.com/CGI/mt/genresult.jsp?tracknbr=$post2&submit=Enter" -O $index_t

/usr/bin/grep -i -v "\/div\|charset=\|Bangkok\|Speedpost\|Select\|return false\|Footer\|else\|form\|form1\.country\.value\|country\|option value=\|Mail Tracking\|www\.hongkongpost\.com\|Transitional\|title\|footNavImg\|x\.substring\|getTrackNum\|alert\|true\|format the header\|spacer\.gif\|uspsLogo\.jpg\|\.jsp\|navigation\|\.gif\|nofearact\|JavaScript\|script\|FunOnSubmit\|WebTrends\|Enter\|www\.w3\.org\|}\|{" $index_t >> $index_h



обращаю внимание на теги: тд и тр это подмена стандартных тегов td и tr. в силу того что фильтр блогспота не позволяет постить теги, приходится их писать по русски. Для нормальной работы grep-фильтра в скрипте, эти тегу нужно перекинуть в их нормальное английское написание и поставить перед каждым < скобку.