<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Стойнов</title>
    <link>https://stoinov.com/bg/</link>
    <description>Стойнов</description>
    <language>bg</language>
    <atom:link href="https://stoinov.com/bg/feed.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Избор на шрифт</title>
      <link>https://stoinov.com/bg/choosing-a-font</link>
      <author>Петър Стойнов</author>
      <description><![CDATA[<h1>Избор на шрифт</h1>
<p>В <a href="bg/making-your-own-tools/">предишната статия</a> обещах да разкажа по-подробно за някои от решенията, които взех, докато работех над този сайт. Изборът на шрифт се оказа едно от най-интересните. Това, което започна като „избери нещо, което изглежда добре“, бързо се превърна в задълбаване в типографията, кирилицата и оптимизацията на шрифтове.</p>
<div class="content-block"><h2>Кирилицата не е толкова проста</h2>
<p>Първото ми изискване беше едновременно просто, но и много важно: шрифтът трябваше да поддържа правилно българската кирилица. Но какво всъщност означава „правилно“ в този контекст? Отдавна знаех, че има разлика между българската и руската кирилица, но никога не бях отделял време да прочета повече по темата. Досега.</p>
<p>Добра отправна точка с преглед на историята и основните визуални разлики е <a href="https://cyrillic.bgweb.bg/">страницата</a>, създадена от <a href="https://bgweb.bg/english/">фондацията, организираща конкурса Български награди за уеб (BG Web)</a>. Най-силно впечатление ми направи разликата при малките букви: българските са много по-разнообразни като форма и височина от руските. Именно това разнообразие прави думите по-лесни за разпознаване с един поглед, защото всяка буква допринася повече за цялостния силует на думата. По-задълбочен анализ по темата може да се прочете в <a href="https://newspaper.kultura.bg/bg/article/view/23494">статия</a> на списание „Култура“.</p>
<p>Въоръжен с тази информация, започнах да търся шрифтове с поддръжка на българската кирилица. Добро място за начало на търсенето е <a href="https://localfonts.eu/freefonts/bulgarian-cyrillic/">тази страница</a>, която събира голям набор от шрифтове с българска кирилица.</p></div>
<div class="content-block"><h2>Серифен или безсерифен?</h2>
<p>Следващото решение беше по-скоро естетическо – да използвам серифен или безсерифен шрифт?</p>
<p>Отдавна бях чувал популярното твърдение, че серифните шрифтове са по-удобни за продължително четене, но ми се искаше да проверя доколко е вярно. <a href="https://phys.org/news/2022-07-personalized-fonts-comprehension.html">Едно скорошно изследване</a> показва, че предпочитанията към шрифтовете са силно индивидуални. Подобно на очилата, те могат да бъдат съобразени с конкретния човек. <a href="https://www.sciencedirect.com/science/article/pii/S000169182200138X">Други</a> <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC4612630/">изследвания</a> потвърждават, че разликите в четимостта между серифните и безсерифните шрифтове са минимални или изобщо липсват. В крайна сметка изборът остана изцяло личен, което ми даде повод да си задам въпроса: „Защо не и двата?“</p>
<p>И така реших да оставя избора на читателя – серифен или безсерифен - според това кое му е по-удобно.</p></div>
<div class="content-block"><h2>Техническата реализация</h2>
<p>След като избрах шрифтовете за сайта – <a href="https://github.com/lettersoup/Sofia-Sans">Sofia Sans</a> и <a href="https://github.com/StefanPeev/Veleka">Veleka</a> – оставаше само да реализирам превключването между тях и да запазя предпочитанието на читателя при следващи посещения.</p>
<p>Файловете на шрифтовете съдържаха десетки глифове, които сайтът ми никога няма да използва, но въпреки това всеки посетител щеше да ги изтегля и съхранява на устройството си. Още по времето, когато използвах WordPress, разчитах на <a href="https://transfonter.org/">Transfonter</a> за конвертиране и компресиране на уеб шрифтове. Запазих само латиница и кирилица, като премахнах разширените им варианти, както и гръцката азбука.</p>
<p>Така размерът на един шрифт намаля от около 400 KB до едва 28 KB – спад с над 90%.</p>
<p>Исках да видя точно кои символи са останали след тази обработка и използвах <a href="https://wakamaifondue.com">Wakamaifondue</a>. Качвате шрифт и получавате подробна информация за него – от поддържаните глифове и OpenType функционалности до визуализации как изглеждат.</p>
<p>След като сравних оригиналния и оптимизирания вариант, не останах напълно доволен от избраните символи по подразбиране. Затова съставих собствен списък с всички <a href="https://en.wikipedia.org/wiki/List_of_Unicode_characters">Unicode кодови точки</a>, които исках да използвам, и ги подадох като като параметър unicode-range в Transfonter. Това намали размера още малко – до около 24 KB – и ми даде точно набора от символи, който планирам да използвам.</p>
<p>Ако в бъдеще ми потрябват някои от премахнатите, просто ще повторя същия процес с разширен списък от кодови точки.</p></div>
<div class="content-block"><h2>Бъдеща оптимизация</h2>
<p>Единственото, което все още не съм реализирал, е автоматизирането на оптимизацията на шрифтовете по време на генерирането на сайта. Съществува инструмент за уеб шрифтове - <a href="https://github.com/zachleat/glyphhanger">Glyphhanger</a> - който може да анализира HTML файл или дори цял уеб сайт, да открие всички използвани символи и да създаде вариант на шрифта, съдържащ само тях. Така размерът на шрифтовете ще нараства единствено когато се появят нови символи, което ще минимизира използвания трафик.</p></div>
<div class="content-block"><h2>Заключение</h2>
<p>В крайна сметка се оказа, че изборът на шрифт далеч не е толкова прост, ако влагаш внимание във всеки етап от неговото използване. Това е още един пример за принципа, който стоеше зад целия проект още от самото начало. Малко повече усилия по време на разработката могат да премахнат изненадващо много неудобства за всеки бъдещ посетител. Независимо дали става дума за по-естествена за четене типография или за спестяване на стотици килобайти при всяко ново зареждане на страницата, детайлите имат значение.</p>
<p>Да дадеш на потребителите възможността сами да изберат между серифен и безсерифен шрифт е малко подобрение в потребителското изживяване, но според мен усилието си заслужава.</p></div>
]]></description>
      <guid>https://stoinov.com/bg/choosing-a-font</guid>
    </item>
    <item>
      <title>Да си правиш собствени инструменти</title>
      <link>https://stoinov.com/bg/making-your-own-tools</link>
      <author>Петър Стойнов</author>
      <description><![CDATA[<h1>Да си правиш собствени инструменти</h1>
<p>Една от повтарящите се теми в живота ми е премахването на неудобства. Независимо дали става дума за личния ми живот или за работата ми, винаги съм се стремял да улеснявам както себе си, така и хората около мен.</p>
<p>През двайсетте ми, това най-често се изразяваше в безкрайно търсене на <em>най-добрия</em> софтуер за дадена задача. Този подход ми служеше отлично години наред, докато изграждах уменията и най-вече увереността си. С времето обаче начинът ми на мислене се промени – от <strong>„Кой инструмент да използвам?“</strong> към <strong>„А защо просто не си го направя сам?“</strong></p>
<div class="content-block"><h2>Да се учиш, докато създаваш</h2>
<p>Никога не съм бил човекът, който се хвърля с главата напред в нов проблем. Предпочитах първо да прочета документацията, да разбера как изглежда цялостната картина и едва след това да започна да пиша код.</p>
<p>През последните няколко години обаче това се промени. Може би „нетърпелив“ не е най-точната дума, но започнах все повече да възприемам уроците и документацията като отправна точка, а не като последната инстанция. Те са чудесни, за да научиш синтаксиса или да вземеш някой изпит, но рядко ти дават разбирането, което идва с реалния опит.</p>
<p>Опитът определено има своята роля. След като си решил достатъчно подобни проблеми, започваш да разчиташ, че ще намериш решение в движение. Добавете към това бума на AI, както и неочакваното свободно време, и реших да си поставя предизвикателство: един проект, с който да науча няколко нови технологии и да го завърша за по-малко от седмица.</p></div>
<div class="content-block"><h2>Изборът на проект</h2>
<p>Проектът на практика сам се избра. Личният ми сайт стоеше недовършен от години.</p>
<p>Отчасти причината беше липсата на време, но основната беше, че не ми се занимаваше с WordPress или някоя друга сложна CMS система, само за да публикувам по някоя статия от време на време. Исках нещо много по-просто: пиша Markdown файл, изпълнявам команда и постът е публикуван.</p>
<p>Нямах нужда от визуален редактор или сложен процес за публикуване. Имах си IDE, а когато не съм пред компютъра – Notes на телефона. Целта винаги е била една и съща: максимално улеснение.</p></div>
<div class="content-block"><h2>Не просто генератор за статични сайтове</h2>
<p>Не се опитвах да създам популярен генератор за статични сайтове. Целта ми беше да се уча, докато го правя.</p>
<p>Правенето на нещо от нулата ме принуди да вземам архитектурни и технически решения, които повечето онлайн уроци просто прескачат. Всяко решение водеше до нов въпрос, а всеки въпрос – до поредното задълбаване в детайли. В крайна сметка научих много повече, отколкото ако просто бях минал някой курс или бях пресъздал примерен проект.</p>
<p>Много от тези задълбавания заслужават отделни статии. В следващите няколко поста ще разкажа за решенията, които взех, технологиите, с които експериментирах, и неочакваните резултати, до които стигнах. Генераторът за статични сайтове никога не беше крайната цел – той беше просто извинението да си поиграя с идеи, които отдавна ми се въртяха в главата.</p></div>
<div class="content-block"><h2>За финал</h2>
<p>Един от най-важните уроци, които DevOps ми даде, не беше Kubernetes, CI/CD или Infrastructure as Code. Беше осъзнаването, че ако дадена задача е повтаряща се или ненужно трудна, не е задължително да търсиш по-добър инструмент – можеш просто да си го направиш сам.</p>
<p>Почти всички инструменти, които ще създам, никога няма да бъдат използвани от повече от шепа хора. И това е напълно нормално. Да направиш нещо, което да се хареса на масовата аудитория, изисква съвсем различен начин на мислене и различни умения. А истината е, че това много рядко – ако изобщо – прави живота на хората по-лесен.</p></div>
]]></description>
      <guid>https://stoinov.com/bg/making-your-own-tools</guid>
    </item>
    <item>
      <title>19 години</title>
      <link>https://stoinov.com/bg/19-years</link>
      <author>Петър Стойнов</author>
      <description><![CDATA[<h1>19 години</h1>
<p>Половината ми живот.</p>
<p>Точно толкова време прекарах в една и съща компания, развивайки, поддържайки и усъвършенствайки един и същ продукт: Cognity. Половината от това пътуване премина като част от FactSet и нейното разнообразно портфолио от продукти, където имах възможността допълнително да развия инженерните си умения.</p>
<p>Поглеждайки назад към началото и към мястото, на което съм днес, няма как да не се замисля за някои от преживяванията, които ме оформиха по пътя.</p>
<div class="content-block"><h2>Първите години в Cognity</h2>
<p>Изключително благодарен съм за близката, почти семейна, среда, в която имах късмета да попадна. Периодът, в който изграждахме компанията, беше дълъг и често неблагодарен за всички замесени, но екипът компенсираше за тези моменти.</p>
<p>Присъединих се точно навреме. за да видя кризата от 2008 г. през очите на изключително компетентен финансов екип, който ми помогна да разбера случващото се. Трябваше да изграждаме продукта си в несигурни времена, изправени пред постоянни предизвикателства от всякакво естество. Уроците, научени в късните часове на деня и с ограничени (а понякога и несъществуващи) бюджети, ни направиха по-устойчиви за предстоящите години.</p></div>
<div class="content-block"><h2>Преходът към корпоративния свят</h2>
<p>В рамките на 2016 и 2017 година преминах от стартъп с около 40 души към компания с над 10 000 служители и повече от 30 години история. Промяната не се случи за един ден, но определено тогава така се усещаше.</p>
<p>Този бурен период беше повратен момент за мен. Наложи се да оставя инженерната шапка настрана и да се науча да плувам в непознати води. Например трябваше да наемам хора. Хора, на които да се доверя и да делегирам задачи. Да опознаеш човек в рамките на час е много различно от това, да изградиш доверие в продължение на години. Научих и още нещо — че в големите организации бизнес интересът почти винаги има предимство пред личните отношения. (Урок, чиято стойност осъзнах по-късно)</p></div>
<div class="content-block"><h2>Израстването във FactSet</h2>
<p>След като придобиването приключи и старият домейн остана в миналото, предизвикателствата нараснаха както по сложност, така и по продължителност. Изчезна възможността да вземем решение за пет минути след разговор в коридора. Изчезна и свободата да избирам инструментите, които според мен са най-подходящи за дадено решение.</p>
<p>Сега имаше тримесечни цели. KPI-и. Оценки. Задължителни рамки и процеси.</p>
<p>Най-ценното обаче, което ми даде този период, бяха мениджърите. По някакво щастливо стечение на обстоятелствата имах късмета да работя не за един, а за двама изключителни човека. Не просто добри мениджъри, а истински добри хора.</p>
<p>Те ми показаха, че грижата за екипа не е просто фраза, която се повтаря по интервюта, а реално качество, което някои хора притежават. И то има значение.</p>
<p>Уроците, които научих от тях, са безброй — не само в работата си, но и в това как да бъда по-добър човек. Не мога да си представя къде бих бил днес без тяхната подкрепа и насърчаване. В ранните си двайсет години ми липсваха много от нетехническите умения, необходими, за да се развиваш успешно в тази професия. Те търпеливо ми помогнаха да изградя тази основа и в много отношения оформиха професионалиста, който съм днес.</p></div>
<div class="content-block"><h2>Да затвориш една глава</h2>
<p>Не съм човек, който лесно се разделя с нещата. Всеки, който е виждал мазето ми — или автобиографията ми, ако щете — може да го потвърди.</p>
<p>Деветнадесет години с един и същ продукт сами по себе си са постижение, но да преминеш през всички препятствия, придобивания и финансови кризи го прави още по-значимо.</p>
<p>Затова и не очаквах краят да дойде по този начин. Но животът рядко пита какво сме планирали.</p>
<p>Днес, с целия този опит зад гърба си, се подготвям за ново начало — такова, което се надявам да помогна да бъде изградено по начин, с който те биха се гордели. Шанс да приложа уроците, които ми предадоха, с увереността и перспективата, които само един дълъг и криволичещ път могат да дадат.</p></div>
<div class="content-block"><h2>Бъдещето, преосмислено</h2>
<p>А сега накъде? Определено не смятам да си взимам творческа почивка. Осъзнах, че фокусирането над един продукт за толкова дълъг период носи и своите негативи - пропуснал съм да натрупам опит на накои технологии, които днес са в основата на ИТ инсутрията. Така че имам да наваксвам, а това може само да ме мотивира.</p>
<p>Надявам се да намеря следващата компания, с която да искам да прекарам поне още 19 години.</p></div>
]]></description>
      <guid>https://stoinov.com/bg/19-years</guid>
    </item>
    <item>
      <title>За (ръко)писането</title>
      <link>https://stoinov.com/bg/on-handwriting</link>
      <author>Петър Стойнов</author>
      <description><![CDATA[<h1>За (ръко)писането</h1>
<p>Напоследък забелязвам, че имам нужда не само да консумирам, не само да реагирам и отговарям, а и да се задълбочавам в теми и да се опитвам да разбера какво наистина чувствам и мисля по тях. Затова планирам да използвам този блог като платформа за разгръщане на мислите ми отвъд ограниченото пространство на кратките реплики в социалните мрежи.</p>
<p>Главният ми противник в това начинание е, разбира се, мързелът, но се надявам, че сега, когато имам конфигурирана платформа, ще ми трябва само повод да хвана писалката. Или да затракам по клавиатурата — в модерния вариант.</p>
<p>И като заговорих за това — през годините съм изчел десетки, ако не и стотици, публикации, <a href="https://www.craftyourcontent.com/handwriting-typing-best-method">статии</a> и дори <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC11943480">изследвания</a>, според които ръкописът има множество предимства спрямо машинописа. Основните са, че помага за запаметяване и по-задълбочено усвояване на темата, за която се пише. За съжаление никога не съм бил типа човек, който води дневник — винаги ми е изглеждало далечно и чуждо. Предпочитал съм да осмислям идеите и емоциите си само наум.</p>
<p>И все пак, колкото и неизбежен да е хода на времето, промяната на човека в някой, който иска да споделя своята мъдрост (да, осъзнавам колко много работа върши тази дума в този контекст), е дори по-неудържима. И ето ме тук — правейки първите си постове в споделянето на вътрешните си мисли едновременно с всички и с никого.</p>
]]></description>
      <guid>https://stoinov.com/bg/on-handwriting</guid>
    </item>
  </channel>
</rss>
