С первым днём лета!
🔥3
Добавил в бложек готовый код для куки-баннера, если кому еще нужно, забирайте:
https://t.me/iv?url=https%3A%2F%2Fgraker.ru%2Fnews%2F2025%2F06%2F01%2Fcookie-banner-quick-solution&rhash=89adaf129337c3
https://t.me/iv?url=https%3A%2F%2Fgraker.ru%2Fnews%2F2025%2F06%2F01%2Fcookie-banner-quick-solution&rhash=89adaf129337c3
Graker.Ru
Куки-баннер по-быстрому
Для приведения сайтов в соответствие с обновленным законом о персональных данных внедрил куки-баннер, один на все сайты. Вот, делюсь кодом. Баннер совместим с Bootstrap 5 и почти совместим с Bootstrap 4 (нужно только скопировать стили для .fixed-bottom и…
#сериалы
Вот вам немножко сериального, чтобы не скучно было работать. Пересмотрел тут старый сериальчик Mad Dogs, рекомендую. Ведь сериал 2011-го года уже старый? Или еще не очень?
https://t.me/iv?url=https%3A%2F%2Fgraker.ru%2Fnews%2F2025%2F06%2F05%2Fmad-dogs-2011&rhash=89adaf129337c3
Вот вам немножко сериального, чтобы не скучно было работать. Пересмотрел тут старый сериальчик Mad Dogs, рекомендую. Ведь сериал 2011-го года уже старый? Или еще не очень?
https://t.me/iv?url=https%3A%2F%2Fgraker.ru%2Fnews%2F2025%2F06%2F05%2Fmad-dogs-2011&rhash=89adaf129337c3
Graker.Ru
Mad Dogs 2011
В последнее время что-то новое, сериальное, и при этом стоящее выходит не очень-то часто, так что иногда пересматриваю всякое относительно старое. На днях вот пересмотрел Mad Dogs (UK). Мне он и в 2011-м году понравился, а через 14 лет смотрится даже лучше.…
🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Когда-то упоминал, как здорово, что в phpstorm-е можно генерировать последовательности чисел на мультикурсоре. Но поскольку от продуктов богомерзких jetbrains мы отказались, хорошо бы, чтобы такое же было и в VS Code. И оно есть!
1. Ставим плагин Generate Sequence.
2. Ставим курсоры в нужные места (у меня Ctrl + вверх или вниз).
3. Жмем Ctrl+Shift+P и выбираем команду Generate Sequence.
4. Profit!
1. Ставим плагин Generate Sequence.
2. Ставим курсоры в нужные места (у меня Ctrl + вверх или вниз).
3. Жмем Ctrl+Shift+P и выбираем команду Generate Sequence.
4. Profit!
Починил у себя в бложеке архив, теперь с ним будет легко тоже писать посты "что я опубликовал в прошлом месяце", как все белые люди делают
https://graker.ru/news/2025/06/07/archive-fixed
https://graker.ru/news/2025/06/07/archive-fixed
Graker.Ru
Починил архив
Недавно отключил на сайте комментарии, а сегодня вдруг взял и починил архив. Как говорится, где-то убыло, где-то прибыло.
Архив ломался когда-то давно в ходе обновлений OctoberCMS, но я тогда почти ничего не писал, и просто его отключил. А сегодня посмотрел…
Архив ломался когда-то давно в ходе обновлений OctoberCMS, но я тогда почти ничего не писал, и просто его отключил. А сегодня посмотрел…
Да, чего удалось сделать в прошлом месяце.
Написал заметки:
- Про совпадение id в тестах и парадокс дней рождения
- Рассказ о работе с европейским GDPR на злобу дня
- Дописал вторую часть длинного текста про звонки и совещания и что со всем этим делать
Как все, подал уведомление в РКН, разместил политику обработки персданных, подвесил кукибаннеры на сайте. Отрубил комментарии в бложеке.
Начал работу над проектом с легендарным Ламером (Анатолий). В плане технологий взял последний Ларавел, с Лайввайрем и Вольтом. Про Вольт скоро что-нибудь напишу.
Написал заметки:
- Про совпадение id в тестах и парадокс дней рождения
- Рассказ о работе с европейским GDPR на злобу дня
- Дописал вторую часть длинного текста про звонки и совещания и что со всем этим делать
Как все, подал уведомление в РКН, разместил политику обработки персданных, подвесил кукибаннеры на сайте. Отрубил комментарии в бложеке.
Начал работу над проектом с легендарным Ламером (Анатолий). В плане технологий взял последний Ларавел, с Лайввайрем и Вольтом. Про Вольт скоро что-нибудь напишу.
👍2😁2
Есть такая известная проблема — трагедия общин. Наверняка слышали.
В современности хороший пример того же явления — новостные рассылки. Не те что спам, а те что newsletter. Когда-то это было модно, мы подписывались, читали. А потом каждая компания по каждому поводу завела себе свою — у всех есть и у нас должна быть. В результате мы получаем новостные письма от каждого утюга. И кто их теперь читает?
Другой релевантный пример — директ-реклама (да и многая другая тоже). Чем больше желающих, тем меньше на всех показов. Но тут есть удобная лазейка из проблемы: можно поднять тарифы на размещение/клик/показ/etc. И все желающие зайдут на второй круг и будут платить, либо пойдут искать другие инструменты (где их вероятно ждет то же самое). Появятся еще желающие, после второго круга пойдет третий, четвертый. Ценник будет расти, а община — платить, чтобы оставаться на месте. С выигрышем только для тех, кто собирает деньги.
Это перекликается с равновесием Парето — система использования ресурса рано или поздно приходит в состояние, когда никто не уже не может хапнуть больше, без вреда всему делу. И увеличение числа пользователей влечет либо уменьшение ресурса для всех, либо подъем его стоимости для отсева наименее к этому готовых.
Так вот, мне думается, что вся эта современная история с медийностью, присутствием, каналами и контентом следует прямо туда же. Все бегут за подписчиками, покупают папки, гивы, накрутки, чтобы что. Чтобы потом оказалось, что каналы на 50 тыщ подписчиков будут у всех, а в этих каналах будет преобладать контент типа «8 способов проснуться по будильнику и успеть на автобус». Потому что писать надо часто, значит писать надо быстро — а то белочка не успеет за колёсиком. А найти при этом годные экспертные каналы среди всех медийных свидетелей полезной пользы будет всё сложнее.
Кстати, объявляю конкурс на премиум-подписку в ТГ, подписывайтесь на канал! Кстати, порекомендуйте пожалуйста каналы с годным контентом, которые вы читаете потому что интересно и/или полезно. На любую тему, я любознательный.
Если нет, суть в том, что у общины есть ресурс — луг с травой. И есть скотина. И если один или два человека увеличат количество голов, луга хватит и им будет хорошо. А если все увеличат — травка кончится и плохо будет всем. В то же время никто уменьшать число голов не будет, остальным может и будет от этого хорошо, но тебе будет плохо.
В современности хороший пример того же явления — новостные рассылки. Не те что спам, а те что newsletter. Когда-то это было модно, мы подписывались, читали. А потом каждая компания по каждому поводу завела себе свою — у всех есть и у нас должна быть. В результате мы получаем новостные письма от каждого утюга. И кто их теперь читает?
Другой релевантный пример — директ-реклама (да и многая другая тоже). Чем больше желающих, тем меньше на всех показов. Но тут есть удобная лазейка из проблемы: можно поднять тарифы на размещение/клик/показ/etc. И все желающие зайдут на второй круг и будут платить, либо пойдут искать другие инструменты (где их вероятно ждет то же самое). Появятся еще желающие, после второго круга пойдет третий, четвертый. Ценник будет расти, а община — платить, чтобы оставаться на месте. С выигрышем только для тех, кто собирает деньги.
Это перекликается с равновесием Парето — система использования ресурса рано или поздно приходит в состояние, когда никто не уже не может хапнуть больше, без вреда всему делу. И увеличение числа пользователей влечет либо уменьшение ресурса для всех, либо подъем его стоимости для отсева наименее к этому готовых.
Так вот, мне думается, что вся эта современная история с медийностью, присутствием, каналами и контентом следует прямо туда же. Все бегут за подписчиками, покупают папки, гивы, накрутки, чтобы что. Чтобы потом оказалось, что каналы на 50 тыщ подписчиков будут у всех, а в этих каналах будет преобладать контент типа «8 способов проснуться по будильнику и успеть на автобус». Потому что писать надо часто, значит писать надо быстро — а то белочка не успеет за колёсиком. А найти при этом годные экспертные каналы среди всех медийных свидетелей полезной пользы будет всё сложнее.
🤔2
Обсуждал тут в одном чатике про ценообразование и стоимость нормочаса. Делюсь слегка улучшенной версией.
Любая работа в современном мире стоит столько, сколько за неё заплатят. К сожалению или к счастью. Есть например история про человека в Эмиратах, который красит тётям волосы за что-то близкое к миллиону рублей. Это за один акт покраски, не за годовую подписку. Почему? Ну вот потому что желающих тёть много, которые хотят именно у него покрасить волосы. А у этих тёть, видимо, много денег. Значит это (у него) вот столько стоит. Независимо от того, что про это думают люди, красящие волосы дешевле.
Вот так и должно работать ценообразование у фрилансеров и маленьких компаний. Делаем что-то, например, за 40 баксов в час. Параллельно ищем новые контакты и проекты. Внезапно оказывается, что за 40 баксов в час уже рабочий день забит. Значит следующий заказчик получает рейт в 50. Потом заказчиков за 50 становится много, это повод предложить старым заказчикам подровняться (ну или продавать им меньше часов). И так по кругу, пока не окажется, что платить еще больше уже нет желающих). После чего можно посмотреть на горизонтальное масштабирование. А можно и не смотреть.
Есть, к слову, вот такая книжка интересная Company of One, я про неё когда-то писал. Всем рекомендую. Я покупал электрическую копию, когда это еще не составляло труда, но думаю что и сейчас должно быть можно её раздобыть.
#книжки
Любая работа в современном мире стоит столько, сколько за неё заплатят. К сожалению или к счастью. Есть например история про человека в Эмиратах, который красит тётям волосы за что-то близкое к миллиону рублей. Это за один акт покраски, не за годовую подписку. Почему? Ну вот потому что желающих тёть много, которые хотят именно у него покрасить волосы. А у этих тёть, видимо, много денег. Значит это (у него) вот столько стоит. Независимо от того, что про это думают люди, красящие волосы дешевле.
Вот так и должно работать ценообразование у фрилансеров и маленьких компаний. Делаем что-то, например, за 40 баксов в час. Параллельно ищем новые контакты и проекты. Внезапно оказывается, что за 40 баксов в час уже рабочий день забит. Значит следующий заказчик получает рейт в 50. Потом заказчиков за 50 становится много, это повод предложить старым заказчикам подровняться (ну или продавать им меньше часов). И так по кругу, пока не окажется, что платить еще больше уже нет желающих). После чего можно посмотреть на горизонтальное масштабирование. А можно и не смотреть.
Есть, к слову, вот такая книжка интересная Company of One, я про неё когда-то писал. Всем рекомендую. Я покупал электрическую копию, когда это еще не составляло труда, но думаю что и сейчас должно быть можно её раздобыть.
#книжки
👍5
Поговорим немного о тайм-трекерах, то есть программах для измерения времени, потраченного на что-либо. Когда мы работаем с почасовой оплатой — а это популярный и, к слову, довольно справедливый способ оплаты — возникает очевидная необходимость каким-то образом вести учёт. С этим все понятно, куда деваться.
А нужно ли трекать время, если оплата фиксированная? Мой ответ: да, конечно, нужно. Нужно для самоконтроля, нужно, чтобы не закопаться, чтобы понимать, когда ты уже, вообще-то, близок к выходу за планируемый бюджет. Как отдельной задачи, так и всего проекта. Когда стоит остановиться и сказать — Так, эту фичу мы уже достаточно проработали на данный момент, перейдем к другой. Чтобы из трех запланированных часов не получилось внезапно десять.
Я время трекать начал очень давно. Изначально использовал какую-то маленькую линуховую утилитку, которую уже не помню даже как зовут. Затем меня переманили в сервис Toggl, он оказался очень удобный. Но потом эти негодяи прекратили поддержку линуксового клиента. И получилось, что я должен либо трекать на мобильнике, либо через браузер. И то, и другое лично мне категорически неудобно. Поэтому сейчас использую Toggl только с одним заказчиком — потому что он выгружает отчеты, генерируемые в системе.
А для всего остального (и для самоконтроля, и для отчетности) я использую простую табличку в обсидиане. Название задачи, дата, промежуток времени от и до, сколько это в часах и минутах, внизу таблицы итого. Отдельной колонкой сохраняю «в часах и минутах», потому что 3h20m хорошо например втыкать в джиру, она эту запись распознает и подсчитывает. Да и самому так считать удобнее. Подумывал написать плагин к обсидиану, чтобы «в часах и минутах», а также «итого» вычислялось автоматом, но как-то я пока и в уме неплохо справляюсь.
Вот пример таблички:
https://graker.ru/storage/app/uploads/public/684/945/69f/68494569f2d3b470592208.png
Правда, пока я сохранял табличку, внезапно обнаружил, что в ней-то было в уме посчитано неправильно :) Так что может и надо написать плагин, ну или поискать готовые решения под обсидиан.
Когда привлекаю коллег к проекту в почасовом режиме, от них прошу за оговоренный период такую же табличку, ничего больше (можно без указания промежутков времени). Коллегам нужно доверять, да и в конце-концов, я матёрый тимлид и заметить, что на мне хотят поездить, труда не составит.
Такую табличку легко как скопировать и отправить, так и построчно сгрузить в джиру. Да, в джире можно сразу трекер заводить и включать. Но я придерживаюсь своей таблички как средства бэкапа. Уже был на моей практике один случай, когда в заказчиковой джире случился внезапный сбой и если бы не моя табличка — пришлось бы инвойс по памяти сочинять, что чревато потерей денежек. А свои денежки, как говорил великий раджа, я не намерен отдавать ни-ко-му.
В то же время, трекеры с апворка (когда у меня был апворк) и им подобные не использовал никогда. Все эти записи с экрана, снимки с камеры — не моё. Мы серьезные ребята, и если начинать работу с такого недоверия, то лучше просто начинать её с другим заказчиком.
Методом помодоро, к слову, не пользуюсь почти никогда, разве что надо через N минут прерваться и пойти что-то сделать срочно. Но для этого, в принципе, сгодятся любые часы с функцией таймера. Выставил, засек, пошёл.
Кстати, когда-то давно пробовал трекать вообще всё: поездки в офис, спортзал, работу, даже игрушки компьютерные. Но полезного выхлопа из этого не обнаружил, перестал, сейчас трекаю только работу. А вы что-нибудь трекаете?
А нужно ли трекать время, если оплата фиксированная? Мой ответ: да, конечно, нужно. Нужно для самоконтроля, нужно, чтобы не закопаться, чтобы понимать, когда ты уже, вообще-то, близок к выходу за планируемый бюджет. Как отдельной задачи, так и всего проекта. Когда стоит остановиться и сказать — Так, эту фичу мы уже достаточно проработали на данный момент, перейдем к другой. Чтобы из трех запланированных часов не получилось внезапно десять.
Я время трекать начал очень давно. Изначально использовал какую-то маленькую линуховую утилитку, которую уже не помню даже как зовут. Затем меня переманили в сервис Toggl, он оказался очень удобный. Но потом эти негодяи прекратили поддержку линуксового клиента. И получилось, что я должен либо трекать на мобильнике, либо через браузер. И то, и другое лично мне категорически неудобно. Поэтому сейчас использую Toggl только с одним заказчиком — потому что он выгружает отчеты, генерируемые в системе.
А для всего остального (и для самоконтроля, и для отчетности) я использую простую табличку в обсидиане. Название задачи, дата, промежуток времени от и до, сколько это в часах и минутах, внизу таблицы итого. Отдельной колонкой сохраняю «в часах и минутах», потому что 3h20m хорошо например втыкать в джиру, она эту запись распознает и подсчитывает. Да и самому так считать удобнее. Подумывал написать плагин к обсидиану, чтобы «в часах и минутах», а также «итого» вычислялось автоматом, но как-то я пока и в уме неплохо справляюсь.
Вот пример таблички:
https://graker.ru/storage/app/uploads/public/684/945/69f/68494569f2d3b470592208.png
Правда, пока я сохранял табличку, внезапно обнаружил, что в ней-то было в уме посчитано неправильно :) Так что может и надо написать плагин, ну или поискать готовые решения под обсидиан.
Когда привлекаю коллег к проекту в почасовом режиме, от них прошу за оговоренный период такую же табличку, ничего больше (можно без указания промежутков времени). Коллегам нужно доверять, да и в конце-концов, я матёрый тимлид и заметить, что на мне хотят поездить, труда не составит.
Такую табличку легко как скопировать и отправить, так и построчно сгрузить в джиру. Да, в джире можно сразу трекер заводить и включать. Но я придерживаюсь своей таблички как средства бэкапа. Уже был на моей практике один случай, когда в заказчиковой джире случился внезапный сбой и если бы не моя табличка — пришлось бы инвойс по памяти сочинять, что чревато потерей денежек. А свои денежки, как говорил великий раджа, я не намерен отдавать ни-ко-му.
И пока публиковал этот пост, в одном из рабочих каналов сообщили что у Tempo (трекинг для джиры) какой-то сбой. Все там в ужасе, а я буду бегать со своей табличкой и радоваться, что ничего не потеряю.
В то же время, трекеры с апворка (когда у меня был апворк) и им подобные не использовал никогда. Все эти записи с экрана, снимки с камеры — не моё. Мы серьезные ребята, и если начинать работу с такого недоверия, то лучше просто начинать её с другим заказчиком.
Методом помодоро, к слову, не пользуюсь почти никогда, разве что надо через N минут прерваться и пойти что-то сделать срочно. Но для этого, в принципе, сгодятся любые часы с функцией таймера. Выставил, засек, пошёл.
Кстати, когда-то давно пробовал трекать вообще всё: поездки в офис, спортзал, работу, даже игрушки компьютерные. Но полезного выхлопа из этого не обнаружил, перестал, сейчас трекаю только работу. А вы что-нибудь трекаете?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Зарисовка со старой работы
Подходит начальник:
— Нужно разработать библиотеку. Заказчик прислал письмо. Говорит, библиотека должна быть с индексом «Г». Что такое «Г»?
— Не знаю. Наверное, «Г» значит «очень хорошая библиотека».
На следующий день приходит письмо с разъяснениями. Индекс «Г» означает согласование с головным заказчиком. Снова подходит начальник:
— Видел письмо? Библиотека должна быть очень хорошая! «Г» — значит «гуд!»
Подходит начальник:
— Нужно разработать библиотеку. Заказчик прислал письмо. Говорит, библиотека должна быть с индексом «Г». Что такое «Г»?
— Не знаю. Наверное, «Г» значит «очень хорошая библиотека».
На следующий день приходит письмо с разъяснениями. Индекс «Г» означает согласование с головным заказчиком. Снова подходит начальник:
— Видел письмо? Библиотека должна быть очень хорошая! «Г» — значит «гуд!»
👍2😁1
Друзья, а кто читает или пишет в Дзен? Давайте перекрестно подпишемся?
А то мне говорят "наберите 10 подписчиков и мы начнем рекомендовать ваш канал" - вдруг и правда начнут. Только где их взять, если канал не видно)
https://dzen.ru/graker <- это я, если что
Для перекрестного подписывания кидайте ссылки на себя в комменты или мне лично. Оказывается, Дзен скрывает от автора канала конкретных подписчиков, видимо чтобы никому не было стыдно)
А то мне говорят "наберите 10 подписчиков и мы начнем рекомендовать ваш канал" - вдруг и правда начнут. Только где их взять, если канал не видно)
https://dzen.ru/graker <- это я, если что
Для перекрестного подписывания кидайте ссылки на себя в комменты или мне лично. Оказывается, Дзен скрывает от автора канала конкретных подписчиков, видимо чтобы никому не было стыдно)
Дзен
Разработка кода и здоровый шмептицизм | Дзен
Канал автора «Разработка кода и здоровый шмептицизм» в Дзен ⭐: The code is the way it is because it is the way it is.
If it wasn't the way it is it wouldn't be the way it is.
If it wasn't the way it is it wouldn't be the way it is.
Прикрутил автоматический Instant View без всяких тестовых режимов наконец-то!
https://graker.ru/news/2025/06/14/telegram-instant-view-on-custom-site
https://graker.ru/news/2025/06/14/telegram-instant-view-on-custom-site
Graker.Ru
Как сделать Telegram Instant View на своем сайте
Сегодня был хороший день, чтобы наконец сделать на домовой странице телеграмовский Instant View. И я сделал. Поначалу всё казалось просто. Выяснил, что нужно пройти на https://instantview.telegram.org/ и там добавить темплейт, вырезающий из html-кода страницы…
Пришлось отвлечься и сделать в общем instant view, потому что внезапно уже готова статья про Livewire и Volt. И она очень длинная, длиннее лимитов на пост, и кода много. Без instant view читать неудобно.
P.S. В статьях и на соответствующем сервисе instant view всё время сокращенно называют IV, но так нельзя. Во-первых, IV - это римская 4. Во-вторых, IV - это капельница.
P.S. В статьях и на соответствующем сервисе instant view всё время сокращенно называют IV, но так нельзя. Во-первых, IV - это римская 4. Во-вторых, IV - это капельница.
👍2