Отново опит да съживя своята блогърска кариера. Модерно е да си ютубер, но моето лице е правено за блог.
Само, че Google ми се сърди, че сайта е много бавен. Все едно съм му обещал да стана шампион на “0.5 секунди зареждане при интернет от Марс”. Но понеже съм в добро настроение реших да му угодя.
Първото нещо, което направих е да раздвижа малко версията на PHP, която беше на сървъра. От съображение за сигурност няма да кажа коя е в момента, но мога да кажа, че PHP 7.3 дава крилаа!
Lighthouse-а обаче не отлепи от 0-та за Performance.
Набих всичко в кеша на Redis-а в жаление да мина по тънката лайсна, но не мърда и не мърда. #тегавина.
Lighthouse-а поне се опитва да дава акъл и ми каза, че хубаво би било да пусна сайта да работи с http2. И това му дадох! Трудно, защото то лесно да слушаш джендърите от Силициева/Силиконова долина “а-у http2 е де пута мадре”, ама не казват защо всеки туториал показва едно и също, ти го правиш и пак тъпия devtools показва http/1.1. Добре, че има и друг балъци като мен и са го написали “mod_http2 не мели брашно с mpm_prefork” и трябва да се спре. Но то пък PHP ползва prefork-а … Както и да е – направих му всичко, разбреших му http2, но Lighthouse-а продължва – нула, та нула!
От баба обаче знам, че снимките са големия враг на бързото зареждане. В един по-добър свят сигурно щях да вдигна един SageMaker и да обуча един модел от кой ъгъл се гледат тия снимки, така че само него да показвам, за да пестя килобайти, ама нали коронавируса чука на портите, затова направих най-мерзкото нещо на този свят … Само заради него си заслужавам 14 дни карантина! Отворих Marketplace-a на WordPress и си свалих … хех … плъгин.
И явно Google стана по-благосклонен към мен като видя колко ниско съм готов да падна и ми вдигна рейтинга от 0 та чак до 71.
Та сега въоръжен с благословията на “чичко Гугъл”, мисля да наблегна малко над статиите за Magento 2. Щото на нашите честоти такива липсват.
Наближава световното по футбол 2018 година, а с това се отваря й апетита за всевъзможни нездравословни чревоугоднически вкусотии. По български стандард това са или картофки със сиренце или дроп/сърца с луч. Ммммм. Обаче американците не случайно са дебели. Те яко наблягат на ребрата, защото ребрата са необходимото зло на един фен, а и на редовия дебелак. Та ето какво ви е необходимо, за да направите най-добрите ребра!
Необходими съставки
1 патрондаж свински ребра (поне)
2 с.л. червен пипер
2 с.л. кафява захар
1 с.л. черен пипер
2 ч.л. сол
1 ч.л. кимион
1 ч.л. чесън на прах
1 ч.л. лук на прах
1 ч.л. чили на прах
1 с.л. пресен (течен) мед
3 с.л. сос барбекю
Начин на приготвяне
Всички сухи съставки се смесват. Ребрата са посипват обилно от всички страни с така приготвената смес. В това количество стигат за 15 реде ребра. Ако правите по-големи количества трябва да увеличите съставките. Завиват се в алуминиево фолио. Поставят се в тавичка на най-долния реотан на фурната и се пекат поне 3 часа на 150 градуса.
След като ги извадите от фурната, премахнете фолиото и по желание може да премахнете костите – на този етап те трябва да се махат с лекота. Смесете меда и соса барбекю и с помощта на четка размажете добре и обилно. Върнете ребрата обратно във фурната, за да се запече соса за 5 минути.
Наскоро бивш мой клиент (от времето, когато бях freelancer) се свърза с мен във връзка с проблем на сайта, по който работех. Понеже все още не са намерили разработчик, а пък имало по-голям проблем и ме помоли да погледна. Оказа се, че някой е обновил plugin на техния wordpress сайт и с това всички промени, които бях правил, за да се постигне желания резултат от клиента, са изчезнали.
Не че съм барникал по оригиналния код на plugin-а. Винаги използвам правилните hook-ве и понякога съм се изумявал какви трикове използвам само и само, за да запазя възможността за безпроблемно обновление. В случая създателя на plugin-а е направил изцяло нова версия и новата версия вече не беше съвместима със старата и всички филтри и действия бяха други. Дори темплейт езика, който използваха, беше сменен.
Първият съвет към клиента беше или да върнат старата версия на plugin-а или да инвестират малко пари и да използват новата (по-добрия вариант) и да изградят промените отново.
Вторият съвет (и причината да напиша тази статия) беше да се направят следните промени в сайта като цяло:
1. Да се инсталира plugin-a User Role Editor, с който да се забранят възможностите за обновяване на plugin-и и theme-и.
2. Обновленията винаги да стават през инстанцията на разработчика, да се тестват и тогава качват на production.
3. Да инсталира plugin-а User Activity Log, с който да се следи кой, какво и кога прави. Дори да използват един потребителски акаунт, поне да има лог на времето.
WordPress, с неговия подход да е лесна за употреба платформа, реално създава доста проблеми.
YouTube отдавна не е просто платформа за видео споделяне, където най-популярни са годишните компилации от смешни бебета, котки и злощастни падания на хора. YouTube вече е мощна медийна машина за оформяне на политически възгледи, за промотиране на музикални видеа (чао MTV), за стриймване на в реално време на протести.
YouTube е и добро място за правене на пари. Десетки, ако не и стотици “ютюбери” правят много добри пари през сайта. През 2016 PewDiePie направи 15 милиона долара, Roman Atwood направи 8 милиона и т.н.т.
Лично аз нямам нищо против разнообразието на съдържанието, а всеки да избира какво да гледа. Както е и по телевизиите – имам 150 канала, като 140 от тях дори не ги знам кои са, защото гледам другите 10. А, и защото не може само 10 да си взема.
Има няколко YouTube канала, които ми правят невероятно удодоволствие да гледам. Тук ще изредя само 5, но бих могъл и още 15 да напиша, без качеството да падне.
Vox
Vox е предимно уеб сайт, но част от материалите им “преливат” в YouTube канала. Историите са от всякакво естество, но предимно са за проблеми в американската политика – здравеопазване, избори. Имат и много добра поредица, която се казва Borders, където репортера Johnny Wharris обикаля най-опасните граници между държави и прави репортажи относно взаимоотношенията между заинтересованите държави.
Motherboard
Motherboard е проект на Vice. За тези, които харесват Vice няма какво повече да кажа. За тези, които не са чували за Vice, Vice е канадско списание, което концентрира съдържанието си върху изкуство, култура и новини. Motherboard, от друга страна, както и името подсказва, се занимава с технологии. Поредицата им Power разглежда живота на една ядрена централна от различни ъгли, а поредицата Dear Future разказва за технологиите на бъдещето, които развиваме сега.
Kurzgesagt
Kurzgezagt са единствено и само YouTube “базирани”, а и са локални – Германия, но за щастие видеата им са на английски език. Използват анимация в много приятен стил, за да създадат продукцията си. Темите им са разнообразни, но винаги безкрайно интересни. Имат много Sci-Fi теми от рода на “Какво ще стане, ако доближим Слънцето до Земята?” или “Какво ще стане, ако хвърлим слон от небостъргач?”. Имат и по-земни теми като “Заслужава ли си ЕС?” и история на човечеството.
Wendover Productions
Wendover Productions е канал, който хванах от почти самото му създаване и успях да проследя развитието му до сега. В един момент му бях патрон, за да подпомогна развитието му, защото историите, които се разглеждат в канала, резонират с мен. Темите са предимно за география (политико-география) или самолетни проблеми. Wendover Productions има и втори канал, който се казва Half as Interesting (Наполовина интересно) и разглежда разнообразни теми, макар и за половината времето от основния канал. Напоследък точно този втори канал е по-интересен за мен, но основния си остава сила!
Mustard
Последния канал, който бих искал да споделя с вас е и последния, който открих за себе си. Още е много малък и има едва 7 видеа, но пък са направени изключително професионално и ми напомнят много на Wendover Production. Отново най-много видеа има за теми свързани със самолетите (или дирижаблите), но се прокрадват и другии 2-3, които загатват за насоката на канала и тя ми харесва.
С тази статия ще си направя и един малък експеримент. Ако дори само един човек коментира под нея, че е започнал да следи някои от тези канали, ще направя нова статия с други пет!
През годините в България се състояха страхотни рок концерти. Имаше много големи – AC/DC (2010), The Big 4 – Metallica, Slayer, Megadeth, Anthrax (2010), Bon Jovi (2013), имаше просто големи – Iron Maiden (1995, 2007, 2014, 2016), Scorpions (1993, 2005, 2009, 2010, 2013, 2016). Повечето от споменатите съм посетил, други не съм по една или друга причина, а има ище много много други, които не съм споменал (Roger Waters, Lenny Kravitz, Whitesnake …)
Същевременно у нас рядко идват групи, които са в пика на кариерата си. Дали защото са си мислили, че тук ядем доматите с колците, дали защото не могат да вместят в турнето си държави толкова далеч от обичайните им маршрут – трудно ще намерим еднозначен отговор.
Благодарение на Европейския съюз и нашите лични карти, а и заради ултра евтините билети на Ryanair, WizzAir и подобни, винаги можем да скокнем на самолета и да отидем в Европа и да гледаме любимите си групи там, но няма по-добра от българската публика и българските кръчми за довършване. Точно затова съм избрал групи, които са ми любими, но още не са идвали в България.
Volbeat
Volbeat са толкова популярни в момента, че е цяло чудо, че никой не ги е поканил до сега. Датчаните имат поне 10 радио хита и са сред любимите групи за турне на Metallica. Арена Армеец ги зове!
Gojira
Ако Ал Бънди “твореше” по същото време като Gojira, може би нямаше да има чак толкова негативно отношение към французите. Gojira са толкова добри, че чак имат Grammy за най-добър рок албум! Представяш ли си? Толкова ли пък не заслужаваме да ги чуем?
Mastodon
Американците от Maston явно не са чак толкова до’бри като Gojira, че чак Grammy да спечелят, но са номинирани цели 3 пъти. Като казваше другаря Тодор Живков “Тази година – завод за полупроводници, догодина – за цели проводници!”.
Bad Omens
Тези пичове са моя голяма гордост, защото аз ги открих! Е, не е като да съм им продуцент, но не е и като някой да ми е казал за тях. Търсех си добра metalcore група и се появиха Bad Omens. Предвид, че нямат даже wikipedia страници, шанса да ги видим из нашите ширини е супер малка, но пък ако се закачат в турнето на Bring Me The Horizon …
Bring Me The Horizon
… тогава ще стане истинско мазало! В смисъл, че британците са толкова горещи и актуални в момента, че топят всички класации. И макар, че вокалиста Оливър Сайкс да има лице, което просто ти иде да удряш, това се преживява и даже дава повече мощ на погото. Така де, като не може да удряш него, поне да се сбуташ с другарите.
За тези 5 групи съм готов да извадя пари от джоба си за билет. А ти?
Комбинацията от Magento и PHPStorm може би е доста популярна сред колегите, които се занимават с Magento, но ако сложим и Vagrant в микса, таргет зоната на този пост може би е много малка. Все пак ще изложа няколко стъпки как да вържем xdebug, за да ни помага при разследването на проблем.
Моят обичаен начин на работа е:
Ubuntu като host операционна система
Серия от vagrant управлявани виртуални машини (пак с ubuntu)
PHP Storm за IDE
Първо трябва да се инсталира xdebug на виртуалната машина
След това отваряме php.ini за редация с вашия любим vim редактор.
Добавяме най-долу следния ред (може и да е различен при вас, затова вижте добре какво е “изплюл” инсталацията на xdebug)
zend_extension=/usr/lib/php/20131226/xdebug.so
Запишете файл и рестартирайте apache. Ако имате phpinfo файл, проверете дали xdebug разширението е видимо. Ако всичко е ОК, продължете напред. Ако не е, тук се разделяме с вас.
Пак отваряме php.ini и добавяме следните редове под този със zend_extension
Това ще зададе най-важните настройки на xdebug, а именно че е разрешен за ползване (remote_enable), ip адреса на който да търсим връзка с него, а също и port-а. Някъде тук започвайте да стискате палци да нямате firewall, който да забранява такива връзки.
Записваме и рестатираме apache. Уверете се, че съществуващите сайтове на виртуалната машина все още работят.
Следващите стъпки са вече в PHP Storm като целта е да го настроим така че да прави връзка към xdebug на vagrant машината.
Отворете проекта, който искате да debug-вате.
Изберете Run -> Edit configurations, a след това добавете нова “PHP Remote Debug” конфигурация. Кръстете я както желаете, аз обикновено избирам същото име като проекта, защото в повечето случаи на една виртуална машина имам само един проект и няма да шервам debug връзката с други проекти. Ако вие мислите да споделята връзката, то тогава е хубаво да изберете по-общо име.
След това трябва да избере сървър, което ще отвори поредния popup прозорец. Не се плашете. Въведете име на сървъра и същите IP и PORT, който по-рано записахме в xdebug конфигурацията в php.ini. На мен ми отне повече време, отколкото съм готов да споделя, докато разбера че IP-то е на xdebug сесията, а не на виртуалната машина.
Изберете mapping-а между файловете на хост машината и тези на сървъра. Реално, ако използвате vagrant и shared volumes, файловете са едни и същи, но в контекста PHP Storm, за него са различни.
File/Directory би трябвало да е попълнено по подразбиране, като само в “Absolute path on the server” има нужда от попълване. Попълнете пълния път до проекта на виртуалната машина. Би трябвало да е нещо като “/var/www/html” или “/var/www/vhosts/some-site.com”. Натиснете ENTER, за да се запише. Звучи малоумно, но не е толкова интуитивно и няколко пъти php storm ми изтрива стойността.
Това е конфигурацията на сървъра на debug конфигурацията. Натискате OK, за да запишете. Би трябвало да се окажете на предния popup. Въведете session_name за име на Ide key (session id). Това е необходимо,за да може да пускате и спирате debug сесията през browser-а. OK, OK, save.
(Пред)Последно!
Ако за първи път правите връзка между PHP Storm и PHP Remote Debug, трябва да кажете на PHP Storm да “слуша” за debug връзка като цяло. Това става от File -> Settings -> Language & Frameworks > PHP -> Debug. В десния панел трябва да има секция “Pre-configuration”, в която точка 3 трябва цъкнете на “Start listening”. ОК.
Ииии последно!
Трябва да си добавите разширение за Chrome, с което да пускате и спирате xdebug сесията от страна на browser-а. Това става посредством Xdebug helper. Ако не ми вярвате, че не е refaral, просто го потърсете в магазина на chrome. Инсталирате го и ще се появи една хлебарка в горния десен ъгъл. Не я пръскайте с Raid, че може да си повредите екрана. Отворете сайта, който искате да debug-вате и след това изберете сивата хлебарка и от нея цъкенете debug.
Ако все още не сте се отказали, вече е време за debug-ване.
За да валидирате, че всичко ви е ОК, намерете функция, която знаете че на 100% ще се извика при refresh на страницата. В index.php или в някой controller. В случая на Magento, може да отворите app/code/Mage/Catalog/controllers/ProductController.php и viewAction метода.
Цъкате с левия бутон на toolbar, където са номерата на редовете и срещу дефиницията на $categoryId. Ще се появи една червена точка. Казва се breakpoint.
Отворете която и да било продуктова страница в Magento.
Magic!
Това е 🙂 Няма да продължавам с обяснение как се debug-ва, защото и аз толкова знам. Ако искате да спрете debug сесията, натиснете зеления триъгълник и премахнете breakpoint-а като го натиснете, все едно е хлебарката.
Чудесен начин да започна отново списването на моя позабравен блог. А именно с вкусна рецепта. Нека започна отначало.
Обичам да си хапвам. Това не е тайна за моите приятели. Не съм 200 кила, но не съм и 80. По-важното е, че от около 2 години, горе долу след като се задомих, започнах да готвя по-активно. Masterchef също оказа влияние. Не че показват някакви техники, но като видях как разни хора готвят с лекота (поне на камера така изглежда), реших че не е толкова страшно.
Един от любимите ми десерти е ябълковата пита, която приготвя майка ми. Майка ми пък я е взела преди много години от нечия друга майка. Не съм майка, но пък ще я споделя с вас.
Необходими съставки (за двойна доза):
За плънката:
1кг. ябълки (за предпочитане по-кисели)
1 с. л. канела
1/2 ч.ч. захар
Стафиди (по желание)
Орехи (по желание)
За блатовете:
4 яйца
3 ч.ч. захар
1 ч.ч. олио
1 ч. л. сода
600 гр. брашно
Настъргват се ябълките, а след това се посипват с канелата и захарта. Добавят се стафидите и орехите. Може и люта чушка, ако искате – за изненада. Но това ще е в центъра на питата. Оставя се за половин час да си пусне сока.
През това време яйцата се смесват със захарта. Яко бъркане докато сместта побелее. Добавя се олиото на тънка струйка под непрекъснато бъркане. Содата се разтваря в малко водичка (ама малко) и се слага при сместа. Бъркай! Брашното също се слага по малко докато сместта започне да се бърка трудно с лъжица.
Ако не ви мързи, може да сложите малко повече брашно и да разточите тестото, а след като ви мързи – изливавате сместта на добре намазнена тавичка, отгоре ябълките, отгоре другата половина.
При всички положения трябва долния блат да направи нещо като корито, за да се запечатат добре ябълките, а да не става като торта с ябълки.
Пече се 15 минути на 220 градуса на долен реотан с вентилатор. След това още 35-40 минути на 180 градуса без вентилатор. Като порозовее коричката, сложете салфетка да не загори.
Най-добрия резултат при хапването е когато се остави 24 часа да попият ябълките в блаттовете, но тя порцията е голяма и може почти веднага да хапнете, след 24 часа пак.
Тази статия е писана преди 5 години, но я публикувам сега, защото я намерих из Черновите.
Тази статия трябваше да се казва “Black Sabbath: До Виена и Белград”, но обстоятелствата я промениха. Китариста Tony Iommy се разболя от левкемия (дано всичко е ОК с него), после и барабаниста Bill Ward нещо се разкисна и изобщо не искаше да бъде споменаван като част от reunion-а. Така, бленуваният от мен концерт на легендите Black Sabbath, беше превърнат в концерт на Ozzy Osbourne с гости – Geezer Butler, Slash и Zak Wylde. Не е лошо, но не е Black Sabbath. Всъщност, исках да посетя любимата си група два пъти. Един път във Виена и след това в Белград. При така стеклите се обстоятелства, реших че не ми се гледа само Ozzy два пъти (и още 1 път преди това в Букурещ) и си върнах билета за Белград, а маршрута се промени от Виена към Будапеща, а от там с Wizz Air към София.
Виена
Това ми беше третото ходене във Виена. Първия път беше за концерта на Trans-Siberian Orchestra, а втория беше транзитен – от Париж за София, но пак имах няколко часа, за да видя част от станалите ми любими сгради от първото посещение. Този път имах цели четири дни! И мисля, че бяха оползотворени много добре.
Градът е направен, за да е удобно както на местните, така и на туристите. Дали ще е на летището, на някоя от основните ЖП Гари (Wien-Mitte, Westbanhof) или метро странциите – всичко е обозначено перфектно. Графично, с надписи на английски и немски (естествено). Ориентирането кога ще дойде следващия влак на метрото или в коя посока е или как да се направи свръзка с друга линия, е направено като за малоумни. Много рядко може да се срещне млад човек или такъв на средна възраст, който да не знае английски език, така че дори да трябва да попитате, почти сигурно ще се разберете. Рядко се впечатлявам, но цялата тази инфраструктура е впечатляваща. Едновременно мащабна и незабележима. Надявам се, че един ден и в София ще е така.
Задължително трябва да се посети дворецът Schonbrunn. Огромен, с 1441 стаи, необятни градини, склуптури, лабиринти, зоологическа градина (най-старата в Европа, а и една от най-добре поддържаните), музей на карети, величествени шадравани и изобщо усещане за великата империя на Австрия. Може да прекарате един цял ден там и то само ако правите преглеждане “отгоре-отгоре”. Ще трябват няколко дена, за да може да се насладите на прелестите на Schonbrunn, а за пълното обикаляне и изучване може би месеци.
Belvedere – не по-малко величествен дворцов комплекс. И там е пълно с градини, шадравани и склуптури. Любителите на бароковата архитектура ще останат очаровани.
Prater …. или с други думи Увеселителен парк. Голям кеф! Виенско колело, блъскащи се колички, всевъзможни въртележки, влакчета и люлки за любителите на екстремни преживявания. Разбира се и будки за лакомства. Един рай за малчугани и за не толкова малчугани.
Също там се намира и музеят на Мадам Тюсо. Восъчните вигури на Фреди Меркюри, Лейди Гага, Уил Смит или Барак Обама са като истински. Ловците на снимки с известни личности може да го използват за сухи тренировки.
Поради недоглеждане от моя страна загубих предишния домейн denchev.name Затова от тук насетне блога ще се хоства под домейн името denchev.me. Надявам се, че 5-те потребителя, които го четат няма да са разочаровани много 🙂
I always wanted to start and finish mine personal web project. Up until 9 months I still wasn’t. No, I’m not pregnant nor I gave birth recently. I started a WordPress theme project with a friend of mine and now, finally, we launched it. I feel awesome and uplifted – to start something, to put a lot of work and a lot of sleepless nights in it … it is something to live for. I guess you might say it something like having a baby … shits are still there, only the smell is gone.
Now I more excited to go on with that project than ever. Why? Not because I’m hopping to earn big money or something like that. I want to learn. Having a personal project, a project that has future, a project that somebody wants to use it, and pay for it, is something to look forward to. But you can’t except just to find a designer, write down some code and everything to be in the right place. No, you have to put a lot of work on, you have to plan it properly, you have to manage your day job so the job is now suffering from your sleepiness or that you are tired. So … you learn how to do all of this.
Github
One of the best things I learned is how to use Github and its features. I can honestly say: I love labels. So simple, and yet so powerful. Mark something as bug, or as a question to your team mate, or that something will be done in the future, is a customer request, a note to yourself or even a story. Small things matters.
Github of course is not just a label maker. It is a powerful tool. You can manage your project, write down documentation, keep track on where your teammates are, synchronise your work and more. I never had a good project management system so far – nor for my personal projects neither in my previous jobs. In my current one we are using JIRA but of course this is an overkill for small project like a WordPress theme. After pocking around in GIthub I realise that project management is nothing more than notes and keeping tracks of them. So we are back to the label making.
Verbal communications.
Since we are using so much of Skype and emails these days we started working mainly with them to communicate and keep the project going on. Wrong! Just wrong. It is far better way to understand each other if you call each other a couple of times a week, give each other a quick summary of where everybody is, and where everybody is going to. Just like in a daily. I don’t have metrics to show them to you but it was a real boost to my productivity as soon as we started doing these calls. I realise that I can’t call my friend and say: “Oh, I haven’t done anything for the past few days.” It is just now me. It is easy to write it in an email – it is casual, there is no fear of the non verbal response. You can always make up an excuse of why you did nothing. In order to overcome this small fear of mine … I just sat on my ass and worked.
The power of giving back.
I use a lot of open-source projects. A lot! But I never contribute to one. I want but it seams that the projects I’m using are either managed by far smart guys than me and I have nothing to give them or I don’t want to just because. Sure I pushed some bug fixes here and there but I’m not sure if someone even gave a fuck about that.
With that project I had an idea which helped me to fulfil that dream. After we submitted the team to the guys at Envanto we were soft rejected. One of the reasons for that was that we don’t use placeholders for our images. We used actual images which we bought from some stock site but we don’t have the right to resell them. So we had to replace all of the demo content images with images from placehold.it. A task that is not that easy. I don’t really know how the other guys in Themeforest are doing this but replacing dozens of images in an XML file is not my dream job. So I decided to create a small piece of code that will automate our job. And so I did. And this is how https://github.com/denchev/Wordpress-to-placehold.it was born. And the best part of it is that 2 or 3 guys forked it. I know it is not a major thing but I’m happy about it.
There are many technical stuff I learned about WordPress and WordPress themes during the last 9 months which I’m not going to share right now. Most of them are well known to someone who works with WP for long time, the others are complicated to some extend. I’m not going to share these knowledge not that I want to keep it to myself but because I want to be sure I’ll give back something that means something and not just another WordPress theme tutorial.
Well that was something that I wanted to “say” for quite sometime but I wanted to be a released author before making any conclusions.
If you want you can do a quick look at our theme Estetico Premium Real Estate WP Theme please do it and I’ll be happy if you drop some comment how to improve the theme … because as I said … I want to learn.