Бърз начин за тестване на натоварване на уеб сайт

След инсталация на Apache в папка binary има прост инструмент за натоварване на уеб сайтове – ab

Важните параметри са два

-n – указва броя заявки, които да се изпълнят

-kc – конкурентни заявки (с keep-alive)

Например:

ab -kc 50 -n 1000 http://www.google.com/

И резултатът е нещо подобно на:

Percentage of the requests served within a certain time (ms)
50%     49
66%     50
75%     53
80%     53
90%     54
95%     55
98%     68
99%     79
100%    103 (longest request)

Което показва, че google се зарежда доста бързо дори и при многобройни конкурентни заявки 🙂

Може да се намерят много статии по въпроса, например : http://www.garron.me/en/go2linux/how-benchmark-stress-your-apache-nginx-or-iis-server.html

 

Информация за всички Windows услуги

Лесен начин за показване на списък с пътищата на всички windows services:

Лесно може да се модифицира, за да се показва друга информация за service-a като:

Authentication and Access Control Diagnostics за IIS

Всеки път като се боря с проблеми с IIS съм искал да имам инструмент като този: Authentication and Access Control Diagnostics

Честно казано – продължавам да искам, защото този е само x86 и е правен в тъмните векове на IIS 5.0 и 6.0, но предоставя добра информация и за IIS 7.0. Базови неща като проблеми с достъпа, потребители и authentication (аутентикация ли се превежда това?). Как досега не съм се натъквал на това? Мистерия…

Мигриране от Blogger към BlogEngine.net

След като реших да сменя адреса и engine-a зад блога остана задачата да прехвърля стартите постове към blogEngine. Вариант е да се въведат на ръка като текст, но някак си идеята не ми харесваше. Реших, че ще търся по-добрият начин. Не непременно по-бързия :))

BlogEngine.net поддържа импорт от BlogML формат, а през clickOnce приложение включено в самата дистрибуция (много добра идея!) може да се импортира и от RSS feed.

Първото нещо, което направих разбира се беше да потърся в google. Това, което излезе е много добра  статия как да прехвърлим постовете от Blogger v BlogML формат използвайки powershell. За съжаление, това не сработи в моя случай поради грешка в authorUri, а в последствие и поради други грешки.

Вторият опит беше да създам блог в WordPress.com, в който съвсем лесно може да се изтеглят постовете, коментарите и картинките от Blogger.

Дотук добре. Следващата стъпка беше да използвам BlogImporter-a на BlogEngine.net и да импортирам rss-a от WordPress блога. Това сработи и бях много шастлив до момента, до който не видях, че повечето постове са съкратени до няколко реда и имат Continue Reading в края, което сочеше … към wordpress блога. Много неприятно развитие…. Изглежда WordPress след версия 2.8 (май) в RSS-a подава само част от информацията (независимо от настройките).

Трети опит (и този път успешен)

Регистрирах блога във FeedBurner и това вече реши (почти) всичките ми неприятности. Импортът мина безпроблемно и се появиха всички постове. Без коментарите. И без снимките. Тоест – със снимките, но те сочеха към старите линкове. Но всичко останало работеше – включително датите 🙂

Проблем с отваряне на CHM файлове под Vista

Няколко пъти ми се случва досега да не мога да видя съдържанието на CHM файлове. Ако се отварят от network share – причината е ясна.
Възможно е да дава странни грешки от сорта на “Navigation to the webpage was canceled”, “File not Found” и т.н. Оказа се, че не съм първият с такъв проблем (както обикновено) и решение е описано в http://blog.crowe.co.nz/archive/2007/04/13/719.aspx.
В общи линии – в Properties има бутон Unblock, след което всичко се оправя и CHM файла си е вече съвсем наред.Забележка: Ако файлът се намира на системния диск – Unblock бутона изглежда като да не работи, въпреки че не изкарва грешка. (Най-вероятно е заради правата, но можеше да изкара грешка)

Корекция на правописни грешки на български език с Office 2007

Много е приятно, когато нещата просто работят. Още по-приятно е, когато никак не се очаква да работят, пък те си работят съвсем добре 🙂

Едно от тези неща е ItaEst -една разработка на Българската Асоциация за Компютърна Лингвистика.
“ItaEst – Така е!” е система за корекция на правописни грешки и сричкопренасяне за български език за Microsoft Office 2000, XP и 2003.”
 
Лесна и бърза инсталация – работи безпроблемно и за Office 2007 (въпреки че е софтуер от 2004-та година). Лицензът е максимално опростен – може да се инсталира без никакви ограничения.
Какво по-добре от това. Опредено си заслужава да се използва!
Адресът, от който може да се изтегли е: http://www.bacl.org/itaestbg.html , размерът е под 6 MB.

Размисли на тема memory карти и различните smart card четци

В един от последните ми проекти се наложи да работя със memory карти , по-специално SLE4428.
Защо? Ами евтини са, лесно се доставят и вярвах, че лесно се работи с тях – в крайна сметка – като голяма магнитна карта.
Да, ама не – след 3 дневно проучване и четене в google се оказа, че последното хич не е вярно.
Тъй наречените memory карти или карти със синхронен достъп се оказаха костелив орех и PS/SC спецификацията не важи за тях (PS/SC била само за карти с протоколи T=0 и Т=1, но откъде да го знам това…). В крайна сметка всеки модел картов четец си има собствен начин за достъп до синхронни карти!
Частта по инициализирането със SCardEstablishContext и SCardConnect е същата и идва от стандартния Windows winscard интерфейс, но самото четене и писане е специфично за конкретния четец.
С две думи – в зависимост от vendor-a на четеца се използват различни команди за достъп до паметта на картата. Мнооого неприятно. Това в комбинация с нуждата за поддръжка на няколко различни типове memory карти – още по-неприятно.

Все пак – решение има. За ACS има описание на командите в SDK-a (не знам дали е публично достъпен, но със сигурност може да се намери в Интернет),
за OMNIKEY има достъпно SDK на http://www.omnikey.com/ като трябва да се търси Synchronous API като цялата функционалност е затворена в scardsyn.dll и има готови функции за четене/запис.
За GemPlus (вече Gemalto) нужната библиотека е GSC.dll като идва с кратко описание от сайта на Gemalto.

Update: Ако се използва четец на Omnikey, за да сработи API-то за работа със синхронни карти е необходимо да се инсталират драйверите за Omnikey, тъй като стандартния драйвер по подразбиране от Windows не работи правилно.

Update2: ACS произвеждат USB картови четци, които не поддържат memory cards. Например такива са ACS ACR38C (C идва от CCID). За тези четци драйвери не са необходими, но за съжаление поддържат само карти с микропроцесор.

AI in Finance

I found an interesting site related to Neural Networks and Finance browsing on the Internet the other day. The information is little bit out of date, but it is well structured and up to the point.

There are several sections – Neural Networks, Genetic Algorithms, Simulated Annealing and General optimization. Only the first and the second one are of particular interest for me.
Furthermore every section is divided in some subsections

  • Selected articles
  • References
  • Journals
  • Software
  • Links

Here is the web address:
http://www.geocities.com/francorbusetti/neural.htm

Many pdfs and links to other valuable resources.

I am still reading the information (there is a lot!) and investigating any broken links (so far I have found just a few).

I will post a follow up once I have a definitive idea about the complexity and real value of that site.
The Good news is that, well – there are Neural Networks, there is Finance 🙂
The bad news is that the information is slightly old and the site is no longer actively updated…