Category: Hacking

Computer, technical and life hacks!

Visual’s 2005 безплатно

Visual’s 2005 безплатно

Вчера Афанасчо ме сръга да съм видел, че Майкрософт са пуснали безплатен даунлоад и регистрация на най-новите версии на следните продукти за разработка:

* Visual Basic 2005 Express Edition [адрес на ISO-то за сваляне]
* Visual C# 2005 Express Edition [адрес на ISO-то за сваляне]
* Visual C++ 2005 Express Edition [адрес на ISO-то за сваляне]
* Visual J# 2005 Express Edition [адрес на ISO-то за сваляне]
* Visual Web Developer 2005 Express Edition [адрес на ISO-то за сваляне]
* SQL Server 2005 Express Edition [адрес за сваляне]

Всичко по-горе, освен SQL Server 2005 Express Edition, е дадено за безплатна регистрация за период от една година след официалното обявяване на най-новите версии на тези среди за разработка. За да използвате всяко едно от свалените ISO, ще е необходима безплатна регистрация, при която ще получите своят продуктов код. Регистрацията се извършва като част от инсталационния процес. От Microsoft твърдят, че продуктовия код, получен при регистрацията, е за “вечна” употреба, а не само за първата година (за която е обявена промоцията). Аз засега така и не мога да разбера дали след като мине промоционалната година ще можем да си преинсталираме (евентуално) съответния Express Edition. Е, то ще се види.

На мен лично посоката ми харесва. Преди няколко години (при официалния release на Visual Studio 2003 например) и не можех да си помисля, че ще има пълнофункционални безплатни версии. Какво ли ще е, когато излезе Visual Studio 2007? То не е чак толкова далече…

Ако някой се интересува повече – да чете ЧЗВ-тата тук. С по две думи:

* Да, продуктите може да се използват както на човек душа му сака, включително и за комерсиална разработка
* Периодът на промоцията е една година. След това (по това, което аз разбрах) продуктите ще струват около $60 на парче. Без SQL Server Express, който остава безплатен завинаги.
* Свалените и регистрираните версии ще могат да се ползват безплатно и след този период. Както по-горе казах, не знам какво ще стане ако след края на този период човек се опита да си преинсталира някой от промоционалните продукти. Който може да чете по-добре от мене – да каже. Аз ще оставя на времето да покаже :).

Датско свидетелство за правоуправление

Датско свидетелство за правоуправление

Както вече писах, купихме си кола в Дания. Сега беше ред на свидетелството за правоуправление, a.k.a. “книжка”.

Лошата новина в случая е, че българската книжка не важи за постоянно живеещите в Дания българи. Ако човек има постоянен адрес в Дания, то той е длъжен да си смени книжката в двуседмичен срок от пристигането си в Дания (ако иска да шофира, разбира се). Ако не иска да шофира, може да си чака колкото иска – нищо не е задължително. Но дойде ли време за кола, новата книжка е задължителна – старата отдавна не е валидна, защото двете седмици са изтекли.

С ръка на сърцето си признавам, че наруших веднъж разпоредбата. Удобството в това да закарам Веси и малкия до Малмьо със собствената ни кола пред переспективата да ползваме обществения транспорт в 05:00 в неделя ме накара да рискувам. Рискът се криеше в това да ме спрат за рутинна проверка (или недай Боже – да участвам в ПТП) и да се окаже, че не съм с редовни документи. Предвид колко са редки рутинните проверки в Дания (колегата сподели, че за 12 години полиция го е спирала 5 пъти като цяло), двамата с Веси решихме да рискуваме и да използваме колата.

Но още в понеделник аз трябваше да си реша въпросът с правоуправлението. Във връзка с това още в петък с помощта на колеги бяхме проверили в сайта на датската полиция информация относно какво точно се изисква при подмяна на книжката на чужденец. Интересното в случая беше, че иначе добре организираните датски власти нямаха описание на английски за тази процедура, та ми трябваше датчанин, за да разбера за какво става въпрос. Уж страницата е специално за чуждестранни шофьорски книжки – не ми го побира ума как не са направили английска версия поне? А може би има, но аз не съм я видял? И това е възможно.

Както и да е, необходимо е следното:

* Снимка (от автомат или фотоателие) в нормален паспортен формат. Моята снимка отпреди една година свърши идеална работа

* Преглед от личния лекар.
Това съвсем не е прегледа, който имаме в България. Представлява платен преглед (независимо, че датската здравна система е безплатна, този преглед ми струваше DKK 375), при който се попълва специална анкетна карта-декларация (на датски), в която декларирате, че нямате съответните критични за водач заболявания, и в която личния ви лекар нанася резултатите от прегледа. На мен лично ми прегледаха само очите (които се оказаха годни за водач – да не повярва човек след толкова WoW).
След прегледа лекарят подписва и подпечатва снимката ви, подписва и подпечатва анкетната/прегледната карта и слага всичко в плик, който носите при подаването на документите
* Специална “синя форма”, която се взема от офисът, където подавате документите си.
Офисът на полицията, който трябва да посетите за да подадете документите си, се намира във Valby, Copenhagen пред един доста голям открит паркинг. Сврян е в ъгъла на една административна сграда, точно до офиса на DSB – службата на датските държавни железници. Точият адрес е Gammel Køge Landevej 1, 2500 Valby (точката на картата много ясно показва местоположението на офиса).
Формата е на датски, за да я попълня ми трябваше помощта на приятели. Искам специално да благодаря на Поля и Микел. Без тяхната помощ щях да загубя поне още един ден, в който да отсъствам от работа. Не че това щеше да е кой-знае какъв проблем, но на мен лично ми беше ужасно неловко да искам още един ден, особено при сегашната натовареност на екипа.
* Паспортът ви, заедно с разрешението за пребиваване
* Жълтата карта с датския CPR номер
* Българското ви свидетелство за правоуправление
* DKK 260. Не знам дали може да платите кеш, аз платих с картата на гишето при подаване на документите.

Най-ефикасна ще е процедурата, ако първо си минете лекарския преглед, след това директно отидете в офисът на полицията, попълните на место формата, вземете си номер и подадете документите си. Така може за три часа да отхвърлите цялата процедура.

При мен нещата бяха малко по-сложни, понеже не бях наясно с гореописаното. Аз в петък взех час за лекаря, в понеденик в 10:00 бях в офиса на полицията, там си взех две форми и забързах към прегледа при лекаря. Прегледът отне десетина минути, след което по най-бърз начин отидох до Микел, за да попълним заедно документите. След Микел изтичах до влака и точно в 13:00 бях обратно в офиса на полицията. След още 15 минути вече имах временно датско свидетелство за правоуправление – един хвърчащ лист, на който пише моето име, CPR номер, адрес и датата на издаването. Пише още, че важи 2 месеца (отпечатано е един месец, ама каката зад гишето го задраска и написа “2 месеца”). Написано е с химикал върху бланка, която прилича на нашенска касова бележка и е горе-долу със същата големина.
Истинската датска книжка (която прилича ужасно много на българските такива) ще дойде по пощата. Горещо се надявам тя да пристигне преди да замина за България (18.12), защото в противен случай просто няма да мога да шофирам по времето на този ми отпуск. А няма да шофирам, защото при подаването на документите датската полиция прибира чуждестранните книжки, за които издава датски еквивалент, трупа ги на огромен куп и редовно организира зловещи вуду-сборища, на които разголени местни катаджийки танцуват около купа екзотични свидетелства за правоуправление от далечни страни. И това продължава до момента, в който върнете датското свидетелство за правоуправление. Тогава изравят вашенското от купа и ви го връщат.

Така описано, процедурата може да се вижда сложна. Истината е, че е съвсем рутинна, но на мен ми беше за пръв път. Когато дойде време Веси да си сменя книжката, на нея ще и е по-лесно и ще отнеме еt оjeblik (едно мигване на окото), както казват датчаните. У нас вече имам синя форма за Веси (макар и зловещо сгъната на 8 части), така че тя само ще трябва да мине преглед при лекарката и да търчи в полицията. О, аз забравих, тя би следвало сама вече да може да попълни такава елементарна форма, даже и да няма предварителната информация. Ето за това трябва да се учи датски, ама пуст мързел…

Right click slow responce resolved?

Right click slow responce resolved?

I was experiencing very nasty problem for the past months: when I right click a file on the notebook, it took hell lot of a time to display the context menu. Sometimes it took even more than 30 seconds or so. The most nasty thing (apart from this problem) was the fact that I can’t do anything, while I’m in “waiting state” for the context menu – if you click somewhere else, the menu will hide immediately after shown and you will have to right-click and wait again.

Today I made a huge step to the resolution of this problem. Everything started with this forum posting, about which I red in Windows XP Expert Zone Community WebLog. The resolution, which was suggested there, was simple:

> try this…
>
> Go into any folder’s menu
> Click Tools->Folder options
> Go to the “View” tab
> …And uncheck “Automaticaly search for network folders and printers”
> Click OK…

I tried these steps and Ohhh, Miracle – the right click reaction seems much faster now. It will take some time until I confirm my observations, but so far it seems much, much faster.

I’ve still got some delays (for example – in the PDF files), but these are acceptable (and unavoidable) for now.

Another place to look for probable resolution of this problem is the following registry key:

HKEY_CLASSES_ROOT\Drive\shellex\ContextMenuHandlers

This is the registry place, where most of the Context menu handlers are located. If you start removing the handlers one by one, you will most probably see which one of these guys are causing the long delay. And you may switch off the context menu handler (if you can afford).

It’s not bad idea at all to backup your registry before proceeding. If you do so, you will be able to restore the things, if you mess up something! Also, System Restore Point is not a bad idea before proceeding.

I will continue digging in this direction and I will most probably share my findings, if there are any…


Днес успях да преодолея много досаден проблем, който имам от година. Проблемът накратко: при натискане на десния бутон в/у папка или файл, на компютъра му отнемаше от 10 до 30 секунди да ми покаже контекстното меню. Много досадно и дразнещо!

Проблемът се оправи, когато приложих следните инструкции:

> От менюто на Explorer в коя да е папка:
> Избери Tools->Folder options
> Отиди на “View”
> Махни отбелязаното на “Automaticaly search for network folders and printers”
> Натисни ОК…

Това направи нещата доста по-бързи. Все още се наблюдава забавяне при някои файлове, но това засега е поносимо (и неизбежно)…

Уведомяване за нов коментар

Уведомяване за нов коментар


Today I implemented comment post notification plugin, which allows any user, who commented on my blog, to receive email notification if there is additional activity on the same post. It’s simple – you have another check box (selected by default), which you must leave selected in order to receive email notificaiton each time when there is a new comment on the thread.
I think this is great plugin, since it allows better comunity interaction. It allows the interested users to be informed about change in the discussion. It also allows the users to manage their subscriptions, in case they don’t want to be subscribed anymore to (some of) the threads.
There is one problem though with this plugin and my blogs (and some other blogs as well). The problem is that notification mail are sent two times instead of just one. It’s not so big issue (the mails are the same), but it’s a bit annoying for the users. I am working on bug’s resolution, we’ll see how it will go.

Flickr image (cc) Shinya OmachiОт днес и моят блог има плъгин, който уведомява коментиралите по темата при нов коментар по нея. Всички коментиращи ще виждат по една нова кутийка, която ще е включена по подразбиране. Ако коментиращият остави тази кутийка включена, тогава той ще бъде безжалостно “спамнат”, когато друг (включително и аз) оставя коментар по тази тема. Виждам, че поради някакъв бъг плъгинът праща по два мейла вместо един, но си мисля че който иска да бъде нотифициран, той ще изтрае и два мейла (идващи едновременно). Аз ще се опитам да оправя бъга, но няма да е тази вечер. Виждам, че на страницата на плъгина като че ли няма информация за подобен бъг все още, така че май сам ще се занимавам с този проблем.

Мисля, че нотификацията за коментари ще се хареса много на някои пишещи тук, а други пишещи ще я намразят. Ако желаете да имате по-гъркава нотификация, просто си направете акаунт в блога – мисля, че тогава нотификаторът просто не работи (може би защото така или иначе ще си получавате нотификациите?). Останалите просто ще трябва да изключват тази кутийка – не е кой-знае какво.

Above image (cc) Shinya Omachi

.NET 2.0, VS 2005 и т.н.

.NET 2.0, VS 2005 и т.н.

Visual Studion Icon, (cc) Ben WardТози материал е едновременно и новина, и за моя справка.

Вчера беше официалното представяне на Microsoft .NET Framework 2.0, Microsoft Visual Studio 2005 и Microsoft SQL Server 2005 (aka Yukon). Това, което чувам оттук-оттам е, че представянето е било доста интересно. Продуктите са още по-интересни, защото по един или друг начин те ще определят посоките през следващите няколко години. Моето мнение е – Visual Studio определено е била водещата среда за разработка, по която всички са се равнявали. Дали ще остане така и през следващите няколко години – това зависи единствено от “готвачите” на Visual Studio 2005.

Лично аз до сега винаги забравях къде са връзките за сваляне на последния .NET Framework. Е, слагайки връзките тук се надявам да нямам такива проблеми поне с 2.0 :).

1. Microsoft .NET Framework Version 2.0 Redistributable Package (x86)

2. .NET Framework 2.0 Software Development Kit (SDK) (x86)

Вече VS 2003 е стар, добре дошъл на VS 2005. Това, което съм видял до сега ме кара само да цъкам и да клатя глава…

Title image (cc) Ben Ward

Qtec Bluetooth and ActiveSync

Qtec Bluetooth and ActiveSync

Recently I was obsessed with the idea to force my Qtec 9090 to use its Bluetooth capabilities for ActiveSync-ing with my notebook. Both gadjets have Bluetooth and both were capable of using it (well, at least I thought so) – making Bluetooth working should not be a big deal.

I made some searches and hit the following resources on the net:

1. Synchronizing HP iPAQ h2210
with Bluetooth (Belkin Dongle) using MS ActiveSync 3.7
, which explains in general how to setup Bluetooth from both sides in order to make the synchronization. During my search I noticed these good articles as well:
1. Bluetooth ActiveSync Guide for Windows XP Service Pack 2
2. ActiveSync Troubleshooting Guide : Synchronization Errors
3. Bluetooth AutoSync for Microsoft Smartphone 2003; Bluetooth ActiveSync Guide for i-mate Smartphone2 [These links are just for my reference for the future, when I will need similar procedure for Smartphone]
4. ActiveSync with Bluetooth and Windows XP SP2 (another good explanation with screenshots)

2. Going crazy with ActiveSync via bluetooth at XDA-Developers forum, which explained me how to patch my bluetooth with its latest software release. Actually, I had to download and install Pocket Bluetooth Tools. The latest version (1.1.0.0) works for me so far…

3. Activesync Port Availability Via Bluetooth, How to reassign port numbers ?

4. Auto-start for ActiveSync via Bluetooth?, whicih teached me how to start my Bluetooth ActiveSync with a push of a button

After this reading I decided to step on. The first problem I had was “no serial connection” between the two devices. Reinstalling my Bluetooth notebook drivers fixed that one.

After the successful pairing it took me some time to fix the big mess (because of the previous problem and many changed settings), but as a result now I have working Bluetooth synchronization – just in the way I want it to work. Now I do not need the craddle, but just the power cable, because with this Bluetooth working continuously the device became even more power-hungry…

More Secure Image

More Secure Image

Current plugin version: 1.0rc2.DA1

Few months ago I found a great plugin SecureImage, which helped me to get out of all nasty spam comments in my blog. However, during the plugin’s usage I found some very nasty problems:

1. Probable and dangerous SQL injection in some parts of the code (original author was already notified)
2. Sometimes the PNG image was not displaying correctly, and also PNG image stream contained the whole blog’s main page after the PNG image. Obviously, this was causing wrong images for some contents of the main page (most of the times the contents were OK and the PNG image was displayable).
3. Pingbacks and trackbacks were disabled. Mike Baptiste’s comments told me how to re-enable this back, and I integrated it in this custom version of the plugin.

As direct result of all the problems above, I decided to create new version of this great plugin. The new version is based at the original plugin, plus the three fixes above. Please feel free to download and use it. Installation instructions are simple – just copy the plugin and enable it – it should be quite sufficient.

Please have in mind that I also changed a bit the form with the secure image – I like the image to be just after the edit box, where the user should enter it. I find it more compact this way.

If you find a problem, or have an idea, or just want to say something, please do not hesitate to comment below!

_Update_: It seems to me that the pingbacks/trackbacks still do not work. Any help with that will be much appreciated!

SecureImage “invalid image” problem

SecureImage “invalid image” problem

I was a happy user of the SecureImage plugin for some months, while at some point few of my friends started to complain that they cannot see my “secure image”, which caused them to loose ability to comment, unless they are registered users.

Initially I did not believe my eyes, but after some research I found a very nasty generic problem in the plugin, which could cause some of these “header already sent” errors, about which the users complain in the plugin’s main page. Unfortunately, these warnings were just the tip of the iceberg – the main and most nastiest problem is when my readers cannot see the secure image: both the browsers (IE and FF) were failing to display it.

It was not easy to find the problem, but I finally nailed it down. The problem is in the plugin’s PNG generation code. When the plugin is asked to generate the PNG image, it does all correctly, but after that it passes the control to the standard WordPress processing, which causes your whole main page’s HTML code to be concatenated after the PNG image’s stream. This caused two problems:

1. Depending on your current site’s contents, your readers may or may not see the PNG image, which will definitely cause them not being able to comment at all (sick!)

2. Your traffic will be increased, because instead of serving 30K (the PNG image average size), it will serve 30K+<the contents of your index.html at the time of the serving>. In my case each image went to about 100K because of this.

The solution of this problem is easy: you just have to replace the “print” command of the image generation:

print $wpdb->get_var(“SELECT img_data FROM $wpdb->secureimage
WHERE img_name = ‘$image'”);

with “die” instead:

die ($wpdb->get_var(“SELECT img_data FROM $wpdb->secureimage
WHERE img_name = ‘$image'”));

This will cause your plugin to stop at the very rigth point just after the image is sent to the client.

SecureImage SQL Injection

SecureImage SQL Injection

Recently I installed SecureImage WordPress plugin. Main reason: Comment spam went so high I was absolutely mad and angry, and I decided to give these bastards a lesson.

However, on the same day after installing it I found some problems in the plugin. The plugin itself was working, but the problems were serious. I wrote the following email to the author (Thom Skrtich):

>Hi Thom,
>
> I recently installed 1.0rc2 version of SecureImage plugin.
>
> I have found one minor and one major problem in the code. I am attaching the a file with the “old” version and my modifications. Here is the description of what I’ve found:
>
> __I) SQL Injection Attacks__
> Unfortunately, the plugin contains few places, where SQL injection attacks are possible. Please diff my code and original code – you will find these places. I have added mysql_real_escape_string on these places.
>
> __II) MD5 hash visible__
> This is much minor problem than the one above, because the worst thing, which may happen is to bypass with some logic the protection code. I have modified the code, and now it stores two MD5 hashes: one for the image (completely different than the code word) and the original code word one. Please take a look at the changes – they are minor I suppose – easy to understand. However, please do not hesitate to ask me for information, if you need more explanations.
>
> Please have in mind that I have not yet published this information. I will schedule my post to appear in a week, so the users would have enough time to upgrade. The flaws are serious and they must be resolved, because they might be crucial for the user’s databases, if someone decides to use them.
>
> Best regards,
> \-\-\-
> Doncho

Thom reacted quite quick and he assured me that he will change the plugin. But today there is still no intention of this, so I decided to post this, because the users must be informed for the danger, and also because I have made some additional modifications, which can be outlined as a new, modified version of the SecureImage plugin.

SecureImage проблеми

SecureImage проблеми

В петък Мирчо ми спомена, че “абе нещо security image-то не ти работи”. Аз, като един типичен Тома Неверни, изпробвах нещата от фирменото прокси и видях, че всичко си е наред. С това въпросът приключи, а Мирчо трябваше да си направи собствена сметка в моя блог, за да може да пуска коментари без досадното, неработещо изображение.

Животът беше прекрасен, докато един друг приятел не ми прати мейл, защото не може да пусне _важен_ коментар. E, това вече беше много сериозно, и аз реших да повторя пробата от вкъщи – както си стоях. Logoff и о, ужас – коментарното изображение не работи!

Понеже всичко си работеше отпреди, очевидно подмяната на сървъра в моя хостинг беше предизвикала този грозен страничен ефект. Започнах да се опитвам да гледам какво става, щурах се малко из сорс-кода на SecureImage плъгинът ми… нищо! Всичко изглеждаше както трябва. И като капак на всичко, ако пробвам да направя wget само на изображението, файлчето работи като слънце! Само че от браузърите нито Firefox, нито IE можеха да покажат същото това изображение, което свалето от wget и показано в IrfanView да речем изглеждаше прекрасно.

Изпратих поща на Никола за проблема и започнах да търся някакво (макар и временно) решение. Като начало, за да виждам какво става, започнах да слагам die(“…”) из разни важни точки при генерацията на изображението и да наблюдавам как върви програмния поток. Видях, че наистина всичко си изглежда както трябва и всичко би трябвало да е наред. Точно се зачудих какво да правя и дали има друго решение, освен изключването на плъгина, когато в един момент всичко взе, че тръгна?! Погледнах аз по-внимателно какви съм ги вършил и забелязах, че след слагане на die(“…”) след print-ът, който трябва да изстреля изображението към клиента, всичко работи! Опитах да заместя print-ът с die – всичко работи!

Сега като премислям всичко, като че ли ми е ясно какво става. Очевидно е, че след този print вероятно някой друг [плъгин?] взема инициативата в свои ръце и прецаква нещата. Не зная дали това идва от сървъра или не, но факт е, че спирането на РНР процесинга след като изображението е генерирано постига точно желания ефект.

Стигайки до това предположение, се сетих че в кошът все още се намира изображението, което в петък свалих (след проблемите на Мирчо) и за което тогава ми направи впечатление, че е цели 100К. Я да го извадя аз от коша и да го погледна. Мда, както и предполагах, краят на “изображението” всъщност е край на един HTML поток, докато началото си е начало на PNG файл…

Изводът: Някой продължава да “печата” в изходния файл, след като изображението е генерирано. Този “някой” очевидно е стандартния WordPress процесинг, който “поема инициативата” след SecureImage плъгина. И наистина: ако погледнете някъде на около 1/3 от потока, обявен като PNG изображение, ще видите че започва страничката на вашия блог, така както би се появила при отваряне на централната страница без никакви параметри:

IENDBB`‚
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Първите няколко символа са края на PNG изображението а останалите… да ви изглеждат познато?

Мда, явно ще трябва да пиша отново на автора на плъгина… Но имайки впредвид какво се предложи до сега като отговор от него, май направо ще напиша един английски материал за промените, които съм направил в моя плъгин и ще го пусна като подобрена версия.

Така и така правих промени, сложих и допълнителния код, който би следвало отново да разреши pingbacks/trackbacks, въпреки SecureImage-то. Може да изпробвате дали работят.

Мерси, Мирчо! Мерси, george!

Theme: Overlay by Kaira Extra Text