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 таблица.

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

 

 

SQL Server 2016/2017 – MS 70-761 Querying data with T-SQL

Подготовката за изпит MS 70-761 Querying data with Transact-SQL задължително минава през новостите в SQL Server 2016, като част от тях  са:

  • Dynamic Data Masking
  • Row Level Security
  • Always encrypted
  • Temporal data
  • JSON support
  • Polybase

Долните са по-скоро административни, но така или иначе са полезни

  • Query Store
  • Stretch Database

ASP.NET Core encoding на кирилица като UTF-8

По подразбиране в ASP.NET Core 1.0/1.1 при визуализация на кирилица (всичко non Latin) в сорс-а на страницата се появява нещо подобно на това:

Това затруднява дебъгването и увеличава размера на страницата. По-странното е, че текст написан на кирилица в cshtml-a се показва правилно както е изписан.

Мислех, че е проблем с encoding-а на страницата или контролера или нещо друго, но всичко беше настроено на UTF-8.

В крайна сметка попаднах на дискусия в github: https://github.com/aspnet/HttpAbstractions/issues/315 . Там се обяснява, че по подразбиране се кодира в BasicLatin и съответно всичко останало се променя до UTF-8 като по-горе.

Решението е, да се добави следния код в Startup.cs:

Така и не ми стана ясно, защо default-a e BasicLatin, но вероятно има някаква важна причина, която в момента ми убягва

 

Одитиране на заявки с ASP.NET Core

Лесен начин за одитиране на заявки с ASP.NET Core компилиран от няколко различни сайта и модифициран да работи с Core

Няколко неща, които си заслужава да бъдат обяснени:

Използваме стандартното ASP.NET Core cookie, за да установим нещо като сесия за потребителя. Така получаваме всички действия извършени в хубав хронологичен ред.

Целта да прихванем и OnResultExecuted е да запишем колко време е отнело да се изпълни метода (полезно за разрешаване на проблеми от сорта на “Много е бавно”)

С предаване на параметри може да решим колко детайлно да запазим информация за съответния метод – параметри, query strings и т.н.

Използва се по следния начин в базовия controller (прави се по този начин, за да може да извикаме атрибута хем с DI, хем без параметри)

Допълнително разполагаме с property AuditId, което показва Id на съответния одит запис, в случай че искаме да добавим допълнителна информация в тялото на метода.

 

Например по следния начин:

 

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.