Tag Archives: Софтуер

За Школо и софтуера в обществения сектор

от Божидар Божанов
лиценз CC BY

Школо е продадено на британска компания. В стартъп света това е добра новина – успешен exit за българска компания. Но предвид, че Школо обработва данните на хиляди ученици, има и притеснения от това развитие.

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

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

Винаги, когато става дума за софтуер, държавата трябва да осмисли рисковете от дългосрочно обвързване с частен доставчик и да ги претегли спрямо ползите от това. Дори да избере външен доставчик, трябва да има право да прекрати договора и да продължи да разполага с данните – нещо, което Школо предоставя.

Данните се изпращат и в централната система на МОН (НЕИСПУО), т.е. училищата не са вързани за доставчика. Това е устойчиво решение и добра практика както от страна на държавата, така и от страна на доставчика.

Появиха се и твърдения, че Школо е безплатно (и съответно продава данните на децата). Това не е вярно – Школо има договори с училища и те не са безвъзмездни.

Школо е пример за това как частната инициатива дава много по-добри резултати от „централното планиране“ на държавата, особено когато става дума за потребителски софтуер. Държавата има много по-голям ресурс да изгради система за електронни дневници, но Школо е предпочитано от учители, родители и ученици, защото се грижи за потребителя, а не просто „да изпълни нормативните изисквания“.

Държавата е „вързана“ да използва т.нар. waterfall модел, който е остарял, но следва от Закона за обществените поръчки – изготвя се едно голямо задание, то се възлага, това отнема много време и накрая ако резултатът не отговаря на очакванията, няма много какво да се направи, освен да де поръча надграждане. Този модел трябва да се промени, за да може системите, които държавата неизбежно се налага да изгради, да са по-добри (и вече работим по такъв модел).

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

В заключение, смятам, че продажбата на Школо не носи риск за данните на учениците или за системата на образованието. Може да ни служи за пример как да използваме софтуер без да сме заключени за него. И за стимул държавата да подобри процесите си по изграждане на софтуер, защото в много случаи няма пазарен стимул за изграждане на твърде специализиран софтуер за нуждите на държавата.

Материалът За Школо и софтуера в обществения сектор е публикуван за пръв път на БЛОГодаря.

Набързо за aptitude

от Lindeas
лиценз CC BY

По случай скорошния рожден ден на проекта Debian, нека кажем нещо за търсенето в aptitude. Aptitude е някак странна програма – ползва се за основни неща от тези, които не искат да се задълбават в подробностите на apt, dpkg и пакетното управление в Debian. От друга страна пък се ползва и от напреднали хакери и разработчици на пакети. Едните ползват два, максимум три клавиша – u за обновяване, f за забравяне на новите и g за инсталиране на отбелязаните – а другите използват всякакви подробни клавиши, съкратени търсения и превключване на изгледите, от които на нормалния човек му се завива свят. Е, или поне му става като в Emacs (приятелска закачка към емаксаджийте, не се сърдете).

Да видим някои от най-полезните клавиши за ежедневна работа и някои основни търсения и шаблони за търсене, които може да са ни полезни. Без претенция за изчерпателност, разбира се – аз самият дълги години вече не съм седнал да дочета наръчника за програмата… Действам на принципа “колкото ми стига – толкова”.

Клавиши:

u – обновяване на списъка с пакети. Същото като apt-get update, или по-точно aptitude update. Някои си го настройват в cron, други инсталират cron-apt, apticron и подобни. Трети, като моя милост, натискат u при влизане в aptitude, за да се радват на запълващите се зелени и оранжеви стълбчета.

f – забравяне на новите пакети (aptitude forget-new). Когато повече от веднъж видите един и същи пакет в графата “New Packages”, си е досадно. Може да се настрои автоматично да ги отбелязва като нови след инсталиране на нещо, но къде отива удоволствието да гледаш как една програма “забравя”? :)

g – при първо натискане дава списък с действията по пакетите и при повторно – започва да ги действа. Пак стълбчетата.

e – ако има неразрешени зависимости, се опитва да ги разреши автоматично. Ако първият списък не ви харесва, натиснете “>” за следващо предложение. И пак, и пак – докато намерите комбинация, която ви устройва. Назад в тази поредица предложения се връщате с “<”. Понякога спестява време вместо ръчно да оправяте конфликтите с избиране на всеки пакет, да ползвате “e”. Но и често не върши работа – логиката е такава, че няма тотален приоритет на вече инсталираните пакети и неведнъж може например за едно малко програмче да ви предлага да махнете целия X с цяла страница пакети. Не разчитайте сляпо на тая автоматика.

M – ръчно отбелязване на отделния пакет като “автоматично инсталиран”.

m – ръчно отбелязване на отделния пакет като “ръчно инсталиран”. Тези последните две са полезни при бъдещо обновяване или премахване на пакети, които са в зависимост от въпросните. Казано накратко, “автоматичните” се повличат от зависещите от тях (не е толкова просто, но ни стига за момента). Разработчиците описват зависимости, но понякога ръчната донастройка на това си е полезна.

Бързи търсения:

b – търси счупени зависимости (от “broken”). Същото като “/~b”.

/ – влиза в режим търсене. Най-простото е да въведете някакъв низ, който смятате, че се съдържа в името на пакета, защото по подразбиране търси в името. Може да шикалкавите с ^ за търсене в началото и ! в края на името.

/~ – специални търсения. Тук темата е широка и не ни стига малкият сайт. Накратко някои полезни – /~dtext търси за “text” в описанието на пакета; /~mtext търси в полето за пакетиралия разработчик; /~atext търси зададено действие за пакет (“text” може да е install, upgrade, hold и т.н.); /~stext търси в секцията “text”; /~Atext търси в конкретен архив на хранилището “text” (stable, unstable и т.н.); /~Otext търси в хранилището на “text”… Май за тези се сещам…

Да не търсим повече шаблони за търсене, мисля че има още доста, но и тези са предостатъчно. Особено като се има предвид, че едно от удобствата на aptitude е визуалната работата с интерфейса – стрелки, enter, q. Каквото е mc за командния ред. :)

Може би тук е моментът да спомена, че съкращенията с ~ си имат несъкратен аналог с ? – например на d отговаря description, на b – broken и т.н. Рядко съм ги ползвал, но ако някъде видите да се споменават, да знаете, че са същите като кратките. Може би е някакво удобство да виждаш изписана цялата дума и така да не я грешиш, не знам.

Също така всяко от тези условия за търсене може да се обръща с “!” – тоест /!text търси за пакети, които НЕ съдържат “text”.

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

/~i!~Odebian

Това ще ви даде пакетите, които са инсталирани и не са от официалните хранилища на Debian. От пакет на пакет може да минавате с “n” (от “next”). А списък с всички тези пакети наведнъж може да получите от команден ред така:

# aptitude search '~i!~Odebian'

Ако като мен използвате към официалните хранилища и тези на Siduction, тогава:

# aptitude search '~i!(~Odebian|~Osiduction)'

Всичко останало са пакети от рожденика :)

EmailPrintIdenti.caFacebookTwitterGoogle+DeliciousLinkedInShare/Bookmark