File manager за Tiny MCE (asp.net)

TinyMce е прекрасен rich text редактор с много възможности, лесна интеграция и добър външен вид.

Безплатната версия винаги ми е вършила много добра работа, като единственото съществено нещо, което ми е липсвало е Media/File Manager. В Про версията има MoxieManager, както и много други plugins, но тя струва пари (плаща се месечна такса).

Тъй като на мене ми трябваше нещо просто и бързо, открих http://www.roxyfileman.com/. Поне що се отнася до моя проект върши много добра работа за всички цели. Може да се използва както като stand-alone file manager, така и в лесна интеграция с TinyMce 3/4 и CKEditor.

Debug на Clipper приложение

Clipper е популярен софтуер за разработка на DBase III ориентирани приложения от края на 80-те и 90-те години.

Наложи се да направя промени по едно такова приложение и в процеса научих някои неща, които могат да помогнат за в бъдеще (хе-хе-хе – Clipper и бъдеще в едно изречение!).

Като начало се оказа, че стандартно Clipper генерира p-Code – нещо като байткод, който се изпълнява на собствена виртуална машина.

Така че, за модифицирането на изпълнимия файл не трябва да се пишат ASM инструкции, а специфични Clipper p-Code инструкции.

Например JF (jump if false) e 1B, а JMP е 1E. Съответно лесно се променя кода, тъй като инструкциите са еднакъв размер ( по 1 байт)

Друго полезно нещо е, че приложението е 16 битово, съответно не работи под 64 битова OS. Решението е да се използва някакъв вид виртуална машина, като би трябвало и DosBOX да свърши работа в повечето случаи.

В случай, че започне да се появява грешка DOS Error 4, това обикновено означава, че File handles са изчерпани. Могат да се увеличат, като се редактира следния файл:

Полезни ресурси и инструменти:

Информация за Clipper (на руски) http://softclipper.net/soft/clipper/

Декомпилатор Valkyrie – много удобен, показва pCode-a на приложението. Turbo Vision интерфейс. http://softclipper.net/soft-skachat/dekompilyator-dlya-clipper-5-valkyrie-5.html

valkyrie5

Декомпилатор Rescue5 – генерира сорс кода на приложението и е полезен за бърза справка какво прави програмата. http://softclipper.net/soft-skachat/dekompilyator-dlya-clipper-5-rescue5.html

 

Безплатни (като безплатна бира) сайтове за stock изображения

Сайтове, които предлагат безплатни изображения (stock images) във висока резолюция и които могат да се изпозлват за всякакви (включително комерсиални) цели и са без attribution (няма изискване за обратен линк или друго):

  1. Pixabay https://pixabay.com
    Вероятно най-добрия сайт, на който съм попадал – над 570 000 изображения, добра търсачка и хубав интерфейс
  2. StockSnap – https://stocksnap.io
    Добра търсачка, добър (макар и не богат) избор от изображения
  3. Unsplash – https://unsplash.com
    Може да се използват за всякакви цели
  4. Pexels – https://pexels.com
    Според тях имат 5000 изображения и всеки месец добавят около 600
  5. Picjumbo – https://picjumbo.com
    Навигацията и търсенето не е много удобна
  6. FreeImages – http://www.freeimages.com/
    Много изображения, не съвсем удобно търсене
  7. Списък със сайтове – http://publicdomainarchive.com/free-stock-photos/
    Дълъг списък със сайтове за изображения

Прикачане на документи към данъчна декларация в НАП

Подписването и прикачването на документи към данъчната декларация в НАП всяка година ми отнема поне по час и всяка година след като открия причината си казвам “Ей сега ще си го запиша, за да не се повтори следващата година”.

И съответно всяка година се повтаря :)) Затова този път реших да го напиша и евентуално догодина да съкратя времето в търсене на проблема.

Подписването на документи се прави с CAPICOM като името на файла се взима от <input type=”file” /> тага и  така разбира кой файл точно да се подпише. Проблемът е, че в IE ( а и други браузъри) от клиентската страна стандартно не може да се прочете пътя до файла (с цел security). Пътят, който се прочита е C:\Fakepath\<името на файла> и съответно се изкарва съобщение от ActiveX контролата файлът не беше открит. (Повече информация на http://acidmartin.wordpress.com/2009/06/09/the-mystery-of-cfakepath-unveiled/ )

Този проблем може да се разреши по два начина:

  • Добавя се сайтът в Trusted sites – така реалният път може да се достъпи от контрола на самата страница
  • Прави се директория c:\fakepath и се поставят нужните файлове вътре :))) (В случай, че по някаква причина не може да се добавят сайтове в Trusted sites)

Бавен PHP под Plesk

От много време насам този wordpress сайт се зареждаше ужасяващо бавно, но най-после намерих време да проуча и да разбера какъв е проблема.

Тъй като хостинга е IIS, платформата е PHP, а базата е MySQL имаше доста варианти за проблем. Бързо елиминирах MySQL като вариант и остана IIS/ PHP. По-точно всяка PHP страница се зареждаше за над 5 секунди, колкото и да е малка!

След опити за custom php.ini и така нататък проблемът се оказа в настройката на самото PHP в Plesk. Конкретно за мене в Web Hosting Settings PHP работеше като CGI – смених го на ISAPI extension и всичко тръгна нормално

PHP Setting in Plesk

 

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

След инсталация на 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 бутона изглежда като да не работи, въпреки че не изкарва грешка. (Най-вероятно е заради правата, но можеше да изкара грешка)