Лична страницата на Крум Лозев. Блог, снимки, мисли
Kik's web blog
"It's not that we gotta do what we do
It's what we know, so to me it ain't nuttin but bein true..."
-- DMX "The Rain"
Статии за 2008-05

Някои хора учат в чужбина, някои работят за много пари, някои изкарват шофьорска книжка ....

... а аз си оставам фен на ученичките
преди завършване ...
(Smile)

[ Нагоре ] [ Няма коментари ]
Имах наскоро проблеми с изпращането на поща съдържаща кирилица. На някои пощи (хотмейл и подобни) темата (subject) се получаваше с маймуни ако съдържа кирилица. Разтърсих се из интернет и изнамерих няколко функции, които в комплект работят доста прилично. Целия проблем се оказа, че е заради quoted-printable спецификацията в RFC, която за всеки клиент е интерпретирана различно, а ако я няма пък (пращаме чист текст) в заглавието всеки интерпретира свободно encoding-а. В PHP има вградена библиотека, която се казва IMAP-нещо си, но в моя случей (предполагам и в повечето) нея я няма, затова боравим с подръчни материали.
Ето го и кода, който създава функция email(), абсолютно идентична (и използваща) mail(), като обаче конвертира входните данни в UTF-8 Quoted-printable формат и кирилицата се виждадобре. Само внимавайте какви допълнителни хедъри подавате на тази функция за да не се окаже че се повтарят и омазват. Ето кой хедъри се добавят в email(): MIME-Version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ето каде стой файла в PHP кода: email.func.txt. Моля обърнете внимание, че не съм автор на самоте фунции, а във файла е описано къде да намерите оригиналите. Правил съм много малки промени по кода, като още има някои бъгове, който са в процес на изчистване.

Не съм сигурен, дали сървъра ми поддържа PHPS extensions, затова - email.func

Позвайте кода, като запазите имената на оригиналните автори!
[ Нагоре ] [ 1 коментар ]
Кой се оплака от Софийското метро?
http://www.biertijd.com/mediaplayer/?itemid=6500
[ Нагоре ] [ Няма коментари ]
Колко уникално клипче намерих преди малко:
http://www.dota-allstars.com/media/view/43
Enjoy!
[ Нагоре ] [ 1 коментар ]
Идва края на семстъра, а и с това се започва мъката на горките студенти учещи програмиране - време е за курсови проекти и други подобни животни, съпоставими за тях с ядрената физика и космонафтиката (както и да се пише второто (Smile)).
Та и аз така се хванах да помогна на познат за курсовата му работа, която трябваше да е на Java и представляваше малко приложение със Swing визуализация. Честно казано за пръв път ми се налага да пиша на Java без да се отказвам след като проследя 11-тия наследен клас и ми писне (Smile)
Едно е сигурно - Java безспорно заслужава голямото си име - найстина писането на проекта ми достави удоволствие. Да похваля страхотната документация на Java и да отбележа защто Java програмистите искат толкова пари по интервютата - е братче тея лекарства не са безплатни - да следиш класове като луд по цял ден и да мъчиш недомислици със сайзери, за да не ти стърчат бутони наляво - надясно (Smile).
А и последно което се убедих точно след като реших да поокрася и подредя приложението:

Java мразят програмистите (Smile)

[ Нагоре ] [ Няма коментари ]
За разлика от други неща в потребителските приложения малките екстри имат голямо значение. Току що добавих една много малка екстра към xmms-а, а именно - като го цъкна в панела, той започва да свири. Разбира се тук следва и похвала към авторите му - когато го включите, той помни какво е свирил последно (изключително полезно, ако слушате радио) и второ - позволяват достъп до контролите му от конзола. А иначе не е някакво голямо изобретение. Вместо в launcher-а да стартирам xmms (или /usr/bin/xmms или както так си го пускате(Smile)) стартирам xmms --play. Даже XMMS ще провери дали случайно не е вече включен, ако е - просто ще даде play, иначе се стартира.
Голяма работа е това линукса спестява сума-ти цъкания. Дето се вика - с поглед можеш да го управляваш ако щеш (Smile).
[ Нагоре ] [ Няма коментари ]
Ето няколко номера в Линукс за по-начинаещи.
Наскоро ми се наложи да пробвам коя библиотека ми върши по-добра работа, когато идва в бинарен вид, т.е. не е компилирана при мен. Като цяло този начин за overload-ване на библиотеки е опсасен и не гарантира успех, но ако сте ентусиаст-експериментатор (като мен (Smile)) това би ви било полезно.
Линкера на Линукс позволява да му казвате коя точно библиотека да използвате, ако искате дадено приложение, ползващо споделени ресурси (shared libraries). Което разбира се означава, че буквално му казвате "По-умен съм от теб", което в 99,99% от случайте е грешно.
Давам промер с compiz, който настройвах за драйвър i915: kik@kik:~$ ldd `which compiz` linux-gate.so.1 => (0xffffe000) libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0xb7eca000) libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0xb7ec7000) libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb7ec2000) libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xb7ebc000) libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb7eb3000) libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xb7eb0000) libxslt.so.1 => /usr/lib/libxslt.so.1 (0xb7e7d000) libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb7d64000) libz.so.1 => /usr/lib/libz.so.1 (0xb7d50000) libstartup-notification-1.so.0 => /usr/lib/libstartup-notification-1.so.0 (0xb7d48000) libSM.so.6 => /usr/lib/libSM.so.6 (0xb7d3f000) libICE.so.6 => /usr/lib/libICE.so.6 (0xb7d27000) libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0xb7d25000) libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb7d0e000) libXau.so.6 => /usr/lib/libXau.so.6 (0xb7d0b000) libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb7d06000) libGL.so.1 => /usr/lib/libGL.so.1 (0xb7c83000) libXext.so.6 => /usr/lib/libXext.so.6 (0xb7c75000) libX11.so.6 => /usr/lib/libX11.so.6 (0xb7b8d000) libdl.so.2 => /lib/libdl.so.2 (0xb7b89000) libm.so.6 => /lib/libm.so.6 (0xb7b62000) libc.so.6 => /lib/libc.so.6 (0xb7a20000) libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0xb7a1a000) libpthread.so.0 => /lib/libpthread.so.0 (0xb7a03000) /lib/ld-linux.so.2 (0xb7eea000) Това са ресурсите, който compiz ще ползва от Slackware (12 в моя случей). Обаче тъй като (в моя случей) libGL.so го имам в 5 разновидности (s dri, без dri, от сайта на intel и едно от пакета на mesa) не съм сигурен, че compiz е закачен към това, което аз си мисля че е подходящо за случая. За да тествам другите .so-та правя следното: LD_PRELOAD=/usr/lib/libGL.so.1.2.INTEL, с което ще го накарам да зареди libGL.so.1.2.INTEL, а не default библиотеката. По принцип ldconfig ще направи правилни симлинкове към библиотеките в /lib/, но пак повтарям - ползвам го за тестове. и сега как бих презаписал библиотеката му, и да видя резултата: kik@kik:~$ LD_PRELOAD=/usr/lib/libGL.so.1.2.CLOSED ldd `which compiz` linux-gate.so.1 => (0xffffe000) /usr/lib/libGL.so.1.2.CLOSED (0xb7f3f000) libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0xb7f20000) ... по подобен начин и стартирам самия compiz: kik@kik:~$ LD_PRELOAD=/usr/lib/libGL.so.1.2.CLOSED which compiz &
Внимавайте как overwite-вате библиотеките, тъй като подобни експерименти ми костваха рестарт на компютъра, което не ми се беше случвало преди (Smile)
[ Нагоре ] [ Няма коментари ]
Добро утро Алказалцер!
Е добро утро пак с главоболие (Smile)
Тая работа с алкохола е доста неприятна сутрешно време. Обаче прекарвайки 2-3 часа (правейки нещо и пъщкайки тежко) намерих няква прилика между махмурлука и любовта. Така де - нали има една приказка че влюбените имали пеперуди в корема; та аз сутринта си имах цяло стадо лисици в корема. Не беше готино, ама така е - хубавите неща не стават лесно (Smile). Пак цяла сутрин ме гони миризма на джибри и алказалцер (Smile).
Жалко само че свърши почивката и София пак ще започне да се пръска по шевовете от хора. Тези почивни дни просто бяха невероятни - можеш да се разминеш с хората по тротоара на Графа и то даже хора почти нямаше като се замисля. Ех ...
[ Нагоре ] [ Няма коментари ]
И така мисля че е време да попиша малко след като 4 месеца нямаше нищо впечатляващо, което да споделя или просот ми е липсвало желание.
Все тая де, важното е че идва сезона на куси поли и пиянства по паркове и градинки.
Тия дни се заиграх с JS от нямане какво да правя, та реших да споделя малко "playground"-а, а и клавиатурата ми беше започнала да прашасва от неползване (Smile)
js_pretty_box playground
На този линк можете да видите до каде сам я докарал. Идеята е да има кутиика с текст, стрелки нагоре и надолу да правят плавен ефект на преминаване на текста, а отстрани правим scrollbar, който да следи положението на текста. Не съм сигурен, че ще работи на всички browser-и (както сами се сещате съм пробвал само под Firefox 2). Като се замисля, доста е вероятно да не работи под IE, защото за много от ефектите се ползва стойност на блоковите елементи .clientHeight, за съществуването на която разбраш от dev сайта на мозила и много вероятно ми се струва да е специфична, но няма значение. Така или иначе работата започна да отива към цигания, след като за по-ефектно преливане на текста сложих timeout 20 милисекунди и машината ми накусваше на моменти (Smile).
Мисля си че ако найстина изчистя примера от циганииките, подредя кода и го пробвам през всички Browser-и ще се получи (както биха му казали колегите) costom textbox или custom scrollbar (дизайнерска работа), но за сега ще си остане under development, като няколко загубени часа (Smile)
[ Нагоре ] [ Няма коментари ]
Има 9 статии за този месец
Get Firefox! X Multimedia System Pidgin Instant messanger Get Slackware Valid XHTML 1.0 Transitional [Valid RSS]

Creative Commons License
This work is licensed under a Creative Commons Attribution 2.5 Bulgaria License.
Това е лична страница. Писаното тук не е мнение на хора свързани по какъвто и да е начин с мен и не трябва да се цитира като такова!