Инсталация и използване на Tika OCR сървър

 

Сървърът е достъпен на

Инсталиране на нов език за Tesseract:

Извличане на текст от съдържанието на документ:

Доълнителна информация може да се намери тук: https://medium.com/@masreis/text-extraction-and-ocr-with-apache-tika-302464895e5f

Проверка дали сървърния сертификат е с пълна верига

Ако сървърния SSL не е с пълна верига е възможно мобилни браузъри и приложения да имат проблем със свързването като дават SSL грешки.

Локално това може да се провери с OpenSSL

Например:

Ако се получава цялата верига, ще има информация подобна на:

Certificate chain

Ако по някаква причина се връща само последния сертификат, то ще има резултат от сорта на:

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

Overclock на Intel GMA 950

Intel GMA950 e стара вградена видеокарта в Intel 945 chipset (2008), която се използва в много  netbooks (като Acer Aspire One и др.). Тези нетбуци са много остарели, но интересното е, че с известни усилия могат да подкарат Windows 10 и даже да са използваеми.

Видео картата поддържа 400MHz, но е ограничена на 166MHz с цел по-дълга работа на батерията. Това и преди, и сега водеше до по-бавна графика. Сега обаче всеки бит производителност е добре дошъл и е необходим за по-нормална работа.

За XP имаше програма GMABooster, която позволяваше да се възстановят оригиналните 400 MHz (беше нужно да се изпълнява след всяко стартиране), но тази програма не работи за нови OS като Windows 10.

В този пост https://forums.freebsd.org/threads/under-overclocking-the-gma950-gpu-with-pciconf-setpci-works.58668/ е описано какви pci команди е необходимо да се изпълнят, за да се контролират стойностите.

Оказа се, че lspci/setpci имат съответни портове за Windows – https://eternallybored.org/misc/pciutils/ и може да се работи нормално с тях (при админски права).

Долното ще установи работата в 400 MHz (като 02.0 се вижда от lspci и е кода на видео картата)

Какъв е резултатът след всичко това?

GPU-Z показва 400MHz (вместо 166) и Pixel FillRate от 1.6 GPixels(вместо 0.7). Разлика има, като може и да се забележи в някои случаи.

Тъй като горният код трябва да се стартира при всяко стартиране, най-лесно е да се сложи като Scheduled Task с админ права, който да се стартира при всяко стартиране на системата.

Конкретният модел е Acer Aspire One D150 с параметру Intel Atom N270 (1 core, 1.6GHz), 2 GB RAM, 128GB SSD

 

Tile Server за OpenStreetMaps

OpenStreetMaps са прекрасни карти, които са безплатни за  използване, могат да се редактират от всеки и допускат да се изтеглят сурови данни.

За да се използват данните е нужен “tile server”, който да ги предоставя. Стандартните mapnik и т.н. са много добри, но и сложни за подкарване.

Тук идва Tile Server GL – лесен за инсталиране като npm пакет или docker контейнер. NPM пакета съществува и в разновидност, която е изцяло javascript (без растер) и включва node сървър.

За работа са необходими mbtiles карти например от OpenMapTiles

Цялото подкарване отнема по-малко от 5 мин и след това it just works 🙂

Генериране на Nuget пакет и качване в локално хранилище

Бърз начин за генериране на nuget пакет и Upload към локално (shared folder) хранилище

 

Криптиране на връзката към MS SQL Server

Бърз начин за осигуряване на криптирана връзка по пътя (data at transit) до MS SQL server е използването на SSL сертификати от сървърна страна.

Ако не може да се издаден валиден SSL сертификат или няма възможност за локален CA, то може да се добави TrustServerCertificate=Yes към connection string-a към базата, за да вярва на сървърния сертификат.

Разбира се по този начин осигуряваме криптирана връзка с лесна конфигурация на цената на риска от използването на self-signed сертификат.

 

Криптиране на конфигурационни файлове в ASP.NET

Криптиране на connectionStrings секцията в web.config използвайки DPAPI. Командата трябва да се изпълни на машината, където е сървъра, защото използва данни от machine.config

и съответно декриптиране на секцията

 

Конфигуриране на TDE за SQL Server

SQL скрипт за създаване на TDE (Transparent Data Encryption) и осигуряване на “Encrypt the data at rest”.

Информацията в базата данни е криптирана и ако някой намери backup на базата няма да може да я използва.

Друга положителна страна е, че приложението,което достъпва данните няма нужда се променя и продължава да работи както и досега.

Криптирането на базата е онлайн, прозрачно и може да се проследи до къде е стигнало чрез изпълнение на query към dmv таблица.

Важно е да се запазят ключовете и сертификата, за да може базата данни да се прочете, ако се премести на друг сървър!

 

 

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