Моят личен и професионален живот

Показват се публикациите с етикет Технологии. Показване на всички публикации
Показват се публикациите с етикет Технологии. Показване на всички публикации

2020-05-23

Честит 25-ти Рожден Ден MySQL!

Днес, 23-ти Май 2020 г., MySQL навършва 25 години. За първи път се запознах с него по време на университетските ми години докато търсех безплатна и отворена релационна СУБД, за да уча и експериментирам с SQL. И го използвам от тогава. Така следвах развитието на "Най-популярната база данни с отворен код в света" през последните около 20 години от версии 3.2x насам. Годишнината е голяма. И така, какво означава MySQL за мен?
  • Първо и най-важно, MySQL е релационната (и не само) база от данни която избирам за личните ми и професионални проекти. За мен е лесно да измислям нови схеми на бази от данни в термините на MySQL и проектирам нови системи върху MySQL като система за бази от данни;
  • MySQL става все по-добър и по-добър с годините, което задържа интереса ми. Все още помня пристигането на:
    • 4.0 (със поддръжка на обединения, т.н.),
    • после 4.1 (подзаявки и подготвени изрази, т.н.),
    • после 5.0 (съхранени процедури, спусъци и изгледи, разпределени транзакции, т.н.),
    • после 5.1 (разделяне на таблица на дялове, XML и планировчик на събития, т.н),
    • после 5.5 (SIGNAL и RESIGNAL, PERFORMANCE_SCHEMA),
    • после 5.6 (пълнотекстово търсене за InnoDB, т.н.),
    • после 5.7 (JSON, именувани тригери, създавани колони, подсказки за оптимизатор, т.н.),
    • и по-скоро 8.0 (CTEs, прозоречни функции, подобрения по регулярни изрази, функция GROUPING, склад за документи, CHECK ограничения, LATERAL, функционални части на ключове и изрази по подразбиране и още много, много повече);
  • Изграждам MySQL сървър (и други продукти) за Slackware Linux от 2005 г., защото първоначално имах нужда от по-нови версии от предоставяните от официалното хранилище, а след това, защото Slackware превключи към MariaDB през 2013 г., но аз избрах да остана с MySQL. Това не значи, че не ползвам MariaDB въобще и в някои отношения вярвам, че е напред;
  • Докладвам бъгове на MySQL и свързани продукти, за да получа решение на проблемите (виж историята на някои от моите бъг доклади);
  • Пиша за MySQL през последните 2 години от излизането на MySQL 8.0, което ми помага да се запозная с новите възможности;
  • Също така представям MySQL от време на време, което ми помага да взаимодействам в обществото, да се уча и обменям идеи с по-опитните от мен;
  • Накрая, но определено не на последно място, има страхотно и много силно общество около MySQL, с което имах шанса да взаимодействам повече в последните 3 години. Това е което прави MySQL проекта силен толкова много години.
Казано просто MySQL е много повече от база данни за мен. MySQL беше с мен през значителна част от живота ми до сега и ме прави щастлив да виждам как базата продължава да се развива. Продължавам да смятам, че по-добрата поддръжка на SQL стандарта и новите възможности за разработчици трябваше да пристигнат по-рано, но по-добре късно отколкото никога. Също така разработката може да бъде по-отворена, но съм уверен, че бъдещето е отворено и светло.

За следващите 25 години и по-нататък! Честит рожден ден MySQL! Наздраве на всички, които използват и обичат MySQL!

    2019-01-10

    Нещата които научих за себе си през 2018

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

    Нямам достатъчно опит с отворен код

    Това ми беше казано някъде в началото на Март и въобще не възразявам. Допринесъл съм малки кръпки, преводи и буболечки към различни проекти с отворен код в изминалите около 20 години, публикувал съм някои от личните си проекти под отворени лицензи, но ми се иска да бях направил повече. Вярно е, че можех да допринеса повече, но за съжаление просто не намерих времето за това. Все още силно вярвам в софтуера със свободен и отворен код (FOSS), който използвам от университетските ми години, все още използвам и ще продължавам да използвам и за напред. Обаче, в днешни дни не съм толкова придирчив за това, че FOSS трябва също така да е безплатен като в "безплатна бира", което ме приближава към философията на GNU.

    Не чета достатъчно/вашите книги

    Беше ми предложено от някои да чета повече книги. Да, вероятно мога да чета повече, но все пак чета. И може да не чета същото като вас и вие не сте тези, които ще ми кажете какво да чета както и аз не казвам на вас. Освен книги чета също и някои списания както съм го правил от тийнейджърските си години. И някои неща в мрежата. С тази публикация искам да благодаря на семейството си и приятелите, които ми подариха книги миналата година, така че сега имам към 10 книги в списъка си за 2019. Съжалявам, списъка е лична информация ;-)

    Нямам достатъчно опит с тази или онази технология

    Научих това през лятото. Все още се смятам за любопитен човек относно технологията, но просто няма как да имам опит с всичко там и не вярвам, че някой може. За мен е по-интересно как човек възприема технологиите и как се справя с промените. Преди две десетилетия софтуера беше доста различен както и инструментите и технологиите, с които се правеше. Темпото на промените се увеличи както и хората заети в разработката на софтуер. Има много хора започнали да разработват софтуер преди едно, две, три десетилетия и повече, които лесно се приспособяват към нови инструменти и технологии, защото имат основни разбирания за това как се прави и работи софтуера. И което е по-важно те знаят, че трябва да учат постоянно и да се включат. Това означава да четат наръчниците, да следят и се възползват от промените, да обсъждат, да докладват буболечки, да правят предложения за нови функционалности, да допринасят колкото им е възможно и като цяло да се включат в общността.

    Не съм гъвкав

    Това е нещо което ми беше казано преди Коледните празници. Да, вероятно, не съм толкова гъвкав все пак. Запознат съм и разбирам ценностите и принципите на гъвкавата методология, но в същото време не ги споделям напълно.
    • Съгласен съм, че хората и взаимодействията се по-важни от процесите и инструментите, но само второто може да направи първото лесно и ефективно. Без ясни процеси и правилните инструменти дори най-добрите ще се провалят да взаимодействат по начин, който облагодетелства разработката на софтуер. Вярвам, че такива хора първо ще създадат необходимите процеси и инструменти.
    • Съгласен съм, че работещия софтуер е по-важен от подробната документация, но съм виждал софтуер написан с оскъдна или въобще никаква документация. След известно време (напр. 5, 10, 15 години) когато такъв софтуер спре да работи, трябва да бъде надграден или да бъде обяснен на клиент, той първо трябва да мине през процес на обратно инженерство, тъй като най-вероятно първоначалните разработчици са напуснали отдавна компанията. Затова в краткосрочен план и за малки проекти напълно поддържам това, но в дългосрочен план и за големи проекти не мисля, че помага на някого. Проблемът е, че ако не се напише навреме документацията най-вероятно никога няма да бъде написана.
    • Съгласен съм, че сътрудничеството с клиента е по-важно от прегорите по договора, но не всички клиенти могат да сътрудничат ефективно. Някои клиенти дори не знаят какво точно искат, не четат документи (и дори отказват да го правят когато са помолени) съответно не познават софтуера, който ползват и не прехвърлят правилно знанието през времето. Това са само моите скромни наблюдения, но вярвам, че сътрудничеството с клиента трябва да бъде отворено в смисъл, че трябва да бъде достъпно до всички заинтересовани страни сега и в бъдеще. Виждал съм случаи, в които софтуера е разработен в "тясно сътрудничество" между разработчик и човек от страна на клиента чрез лични съобщения, за който след това никой не знае нищо и не иска да знае.
    • Съгласен съм, че реакцията на промените е по-важно от следването на план, но реакцията на постоянни промени означава, че няма план и обхват на проекта въобще. Проектите, които започват като мехурче и постоянно се променят лесно се деформират и излизат извън контрол. Такива проекти обикновено се провалят. Виждал съм някои никога не свършващи проекти в практиката си и това е едно от нещата, които наистина не харесвам.
    Тези и вероятно други причини карат организациите да избират хибридни подходи в разработката на софтуер, защото намират гъвкавата методология за твърде крайна и неефективна в големи организации, а аз съм работил в такива в последните повече от 15 години, така че вероятно възгледите ми са изкривени от тази перспектива.

    Аз съм 'напреднал потребител'

    Това ми беше писано от представител на поддръжката. Случи се след като поисках (и настоях) за някои прости (според мен) подобрения в софтуера предоставян и поддържан от голям доставчик, за който той работеше. То го написа в смисъл, че само аз искам тези подобрения, от което автоматично ми стана ясно, че те няма да бъдат направени. Е, ако това ме определя като "напреднал потребител", така да бъде, но съм доста разочарован, защото очаквах повече от SOHO устройство използващо софтуер със свободен и отворен код. Може да напиша отделна статия за това по-късно.

    Аз съм себе си

    Накрая, но не на последно място аз все още съм себе си с всичките си предимства и недостатъци като човек и професионалист. Нямам претенции да съм всичко за всеки, нямам претенции, че знам всичко и нямам претенции да съм най-опитния там. Всичко, което научих за себе си през 2018-та, беше основано на някакъв опит и съм сигурен, че ще ми помогне да стана по-добър човек и професионалист в бъдеще.

    2011-02-07

    Премахване на стари сървърни сертификати в четеца на Nokia N900 (Firefox)

    За личните ми web страници ползвам самоподписани сертификати за SSL. Те се съхраняват от четеца и всичко е наред до момента в който сертификатите се преиздадат. Обаче, когато ги преиздадете (по начина по който го правя аз сменяйки само валидността) вече не можете да достъпите страниците, защото четеца все още използва стария сертификат. В настолната версия на Firefox, аз просто премахвам стария сертификат от Инструменти -> Настройки... -> Разширени -> Криптиране -> бутон Сертификати -> раздел Сървъри. За съжаление, Nokia N900 има потребителски интерфейс само за управление на сертификати от клиенти удостоверители. За щастие същия потребителски интерфейс като в настолната версия на Firefox е достъпен в мобилната му версия. Просто трябва да:
    1. Отворите четеца;
    2. Напишете chrome://pippki/content/certManager.xul в адресната лента;
    3. Щракнете на "Servers" под "Your certificates" и изтриете сертификата на сървъра ви.
    Не намерих точно същата информация в Интернет, така че пиша тук за всички със същия "проблем" като мен :-)