Skip to content

Скептична яма за идеи

и други бележки към мене си

  • начало
  • tech
  • блог
  • здраве
  • приключения
  • ядене
  • бизнес
  • деца
  • Кой?

Author: vloo

Fixing a broken USB memory

Posted on 2021.12.21 by vloo

I had this one old flash card that could neither be mounted, nor be formatted, trying it both on Windows and Linux, including GParted, Disks and a few other applications in the battle. An error message I was getting every time when trying to format it was this:

Error synchronizing after initial wipe: Timed out waiting for object (udisks-error-quark, 0)

At the same time the dongle was still alive, as I could see a diode blinking upon plugging it to the computer, and lsusb listed it as a valid USB device.

Digging around I ended up trying the following command, which in effect set 0 to every bit on the flash memory:

sudo dd if=/dev/zero of=/dev/sdc

/dev/sdc is the device, corresponding to the flash memory. One of the places it could be seen is in GParted. There are better ways but I can’t be bothered to check for them right now.

The process took more than an hour for a 8Gb of space, but after that I was able to format it and start using it as if nothing happened.

Posted in techLeave a comment

A few less known tricks with WP-CLI

Posted on 2021.10.16 by vloo
  1. wp cli alias allows for the definition of aliases to be used for different WordPress instances. Checkout the docs here: https://developer.wordpress.org/cli/commands/cli/alias/
  2. The structure of the commands is WP <NOUN> <VERB> --<PARAMETERS/FLAGS> Not that this is something revolutionary new, but I haven’t thought of it earlier. Now it helps me at remembering the commands a bit.
  3. wp admin opens a browser window with the login/wp-admin screen of the current site
  4. wp <command> --prompt asks you for all the possible parameters of the command, without you knowing any of them beforehand.
  5. wp core --debug outputs any errors if you are hitting an internal server error on the site. It’s a bit faster than digging in the error log.

Thanks to https://twitter.com/DjevaLoperka for the nice talk on ZG PHP Meetup for showing me this and other cool things with the CLI.

Posted in techLeave a comment

Наблюдавай горящите хора

Posted on 2021.10.15 by vloo

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

Тъкмо това ми се случи в началото на тази есен. Колега от екипа просто се запали и издимя. Понеже има много начини това да се случи, не винаги е лесно да разбереш какво точно се случва и дали човекът отсреща е в депресия, има семейни проблеми, нещастно влюбен е или не се кефи на работата си.

– – –

Много ми се иска да знам какво съм искал да кажа тук. И това пада жертва на недовършените разсъждения.

Posted in блогLeave a comment

Екскурзия из Родопи

Posted on 2021.10.15 by vloo

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

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

Ето го и списъка:

  • х. Смолянски езера
  • вр. Снежанка и кулата
  • х. Студенец
  • х. Перелик (или е заслон?)
  • х. Ледницата
  • х. Триградски скали
  • пещери Ягодинска пещера и Дяволско гърло
  • х. Тешел

Ще взема да опитам догодина да ги обиколя, пък да видим какво ще стане.

Posted in приключенияLeave a comment

Не прошка, а приемане

Posted on 2021.10.15 by vloo

Не е нужно, пък и по-добре да не прощаваме. Прошката ни поставя в позицията на праведниците. Рисковано е да се поставяме в позиция на съвършено праведните. Приемането, за сметка на това, ни дава завършеност. Acceptance.

Приемането не е примирение. Второто е да се откажеш и да спреш да действаш. Приемането е да разбереш, че има друга гледна точка и да я уважиш, без да спираш да правиш това, което правиш.

Posted in блогLeave a comment

Салата Bloody Sally

Posted on 2021.10.15 by vloo

Цвекло, ябълка, кашкавал, лилав лук, сол, оцет, лют зехтин.

Идеално върви с джинджифилова бира!

И не пиша нищо повече, защото “рецептата” е от януари месец, а я пускам октомври. Сещайте се.

Posted in яденеLeave a comment

dataLayer за Google Tag Manager

Posted on 2021.10.15 - 2021.10.15 by vloo

Стоя до късно, за да си скубя косата с абсурдно неясния изказ на едни онлайн маркетолози, които не могат грам да се оправят с изясняването на това какво точно искат да им пращам като данни към Google Tag Manager, за да си следят определените потребителски събития и да си поставят съответните метрики. В края на краищата толкова набрах, че отворих петте линка с документация, която са препоръчали, та барем разбера какво се губи в превода с тия хора и защо е толкова трудно много постен json да го коригират по начина, по който го искат.

Обобщавам по-долу това, което разбирам и научавам, четейки отново досадните документи.

dataLayer е обектът в кода, който ползваме, за да изпращаме данни на “кораба майка”. Data Layer е абстракцията, представяна от въпросния обект, която застава между сайта ни и Google Tag Manager, за да може от нея GTM да си щипка значими данни и да ги подава на всички останали проследяващи скриптове и услуги, накатерили се по клона.

Обектът dataLayer го инициализираме по следния начин (ако го нямаме от GTM скрипта или Google Optimize скрипта):

var dataLayer = window.dataLayer = window.dataLayer || [];

На някои места (включително официалната гугълска документация) се говори за дефиниране на масив от обект с данните, който се нахлузва на dataLayer променливата. Това е грешният начин, който не трябва да се ползва никога, освен ако дефинираме този масив НАД първоначалната декларация на dataLayer, защото иначе ще имаме загуба на данни.

Правилният начин е чрез ползване на push метода:

window.dataLayer.push({
    'event': 'signup',
    'userType': 'Free User'
});

По този начин, предвид че Google слухти за dataLayer.push случки, нашите добавени данни ще стигнат до въпросния Data Layer в GTM.

За да се улесни намирането и боравенето с данните в GTM, използваме променливата event като задължителен елемент от масива. С наличието на event, хората могат да си залагат свои събития в GTM, които ще се активират, когато пристигне събитие в Data Layer с избраната променлива.

Данните си ги структурираме в JSON обект, в който можем да добавяме и масиви, където е нужно, макар че някои маркетолози не се справят много с това да вадят данните от там.

– – –

Сигурно е имало и още неща, но до там са ми стигнали нервите да си запиша. Публикувам това нещо повече от половин година по-късно в състоянието, в което го заварвам като чернова.

Posted in techLeave a comment

Промяна в регистрацията на МПС в КАТ Видин

Posted on 2021.10.15 by vloo

Наскоро си купих баничарка/MPV (Yaris Verso) и вчера следобеда стигнах до КАТ Видин, за да го регистрирам като мой си. Колата беше, а и все още е, със сливенска регистрация, понеже от там я купих. Минах към 16:20, та подпитах госпожата на гишето дали мога да отметна част от бюрокрацията ден преди реденето на големите опашки и прекарването на колата през технически проверки.

– Не може. Сега, заради Ковид19 за канал се отваря сутрин в 8:30, пускат се определен брой коли, и след това отново в 13:30. В момента има четири коли на опашка за утре, ако решиш – нареждай се.

Интересното е, че тая процедура се случваше от преди 2020, пък и не видях логика да се натъпча с още 15 души в един коридор на опашка на закрито, вместо да попълня бланките в спокойния четвъртък следобед и в петък само да мина прегледа и да платя такса + глоби, ако ми висят някакви…

Колебаех се дали да не оставя колата там, обаче живея относително далеко и предвид реализиращата се прогноза за неспиращи дъждове, реших да цъфна рано сутринта пред КАТ.

Речено – сторено, станах в 6:00 и към 6:30 паркирах зад един бус. Колите на опашката бяха 6 пред мен. Опитах да подремна, а като се размърдах към 7:40, зад мен вече имаше поне още 10 коли. В същото време някакви хора се редяха на опашка пред входа на КАТ.

Стъпка 1 – колата към гаража:

8:35, милиционер и още едно лице отвориха портичката за гаража и на всеки преминаващ му взимаха шофьорската книжка в размяна на листче с някакъв “началнически” код. Вкарах я колата, запазвайки същия ред спрямо останалите коли и хукнах към опашката на входа.

Стъпка 2 – подаване на документите за промяна на регистрацията:

Тук, ако имах втори човек, дзиндзирикащ от 7:15, щях да съм по-напред. Ама не, имаше 11 души пред мен. Всеки го обработват за средно около 10-ина минути, та Kindle-а ми дойде като идеална компания в тоя момент. Искаха ми следните документи:

  • лична карта
  • голям талон
  • малък талон
  • оригинален договор за покупко-продажба (след което ми го върнаха)
  • копие на договора за покупка-продажба (още нотариуса ми го направи)
  • бележката от “началника”

След като ми обработиха заявката, в която изрично им казах, че не искам да се сменят регистрационните номера, ме пратиха към гаража.

Стъпка 3 – проверка на номер на двигател и рама

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

Пуснаха буса и за няма и 15 минути отвориха и за мен. Свериха номерата на двигателя и на рамата с тези от документите, подписаха документите, и ме пратиха да изкарам колата отвън, след което да ходя да плащам таксата.

Стъпка 4 – плащане на такса за промяна в регистрацията

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

Стъпка 5 – плащане на глоби срещу шофьорска книжка

Гише №6. Отивам там с началническата бележка, подпечатаха ми я, върнаха я и си взех шофьорската книжка. Глоби нямаше, та не се реализира трансакция в полза на държавата. Тежък пропуск, господа.

Стъпка 6 – “дай си ми талоните!”

Поседнах на пейка в коридора, където се виеше все още хаотична опашка на двете гишета (вече имаше и хора за изкарване на шоф. книжки) и около 5 минути по-късно една дама изскочи от една стая да ме вика по име. Взе ми бележката и ми връчи двата талона. Айде чал.

Цялото нещо ми отне 2 часа и 20 минути, а се бях приготвил за тежки битки, разправии, пререждания от съграждани и какви ли още не сюжети, никой от които не се реализира. А можеше да бъде и по-бързо, ако бях в комбина с някой, който да ми пази място на опашката.

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

– – –

Владо от бъдещето, следващия път не се впрягай толкова.

Posted in блогLeave a comment

Using uploads from production instead of downloading them to staging/local environment

Posted on 2021.07.19 - 2021.07.19 by vloo

Ха, токущо измислих хакче за спестяване на BE Media from Production разширението и решаване на проблемите при глупави билдъри, при които той не сработва (както е с Divi).

staging/wp-content/uploads/.htaccessсъс съдържание:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ https://example.com/wp-content/uploads/$1 [R=301,L]
</IfModule>

Подобен код ще трябва да напиша и за nginx…


.htaccess врътката ми не работи, ако има hotlinking защита на сървъра. Изглежда BE Media from production фалшифицира заявка от оригиналния сървър, защото той се справя точно с този сценарий.

Posted in techLeave a comment

Let Polylang user decide if a post type is translateble or not

Posted on 2021.06.16 by vloo

I had this problem with a setup of a site with Polylang and WP Job Manager – the post type for the jobs didn’t appear in the list of post types that I could decide whether to be translated or not.

Turns out WP Job Manager has a wpml-config.xml file in it’s root directory prepared for WPML compatibility. Polylang is playing smart so it’s looking for this kind of files and is interpretting them the same way as WPML would.

Editing the wpml-config.xml solved my problem, although it would be whiped by the update of the plugin. As a PoC it works and next step would be to try to override the settings through another plugin.

Posted in techLeave a comment

Posts navigation

Older posts
Newer posts
Proudly powered by WordPress | Theme: micro, developed by DevriX.