Леонид Каганов
 
[Most Recent Entries] [Calendar View] [Friends]

Below are the 16 most recent journal entries recorded in Леонид Каганов's LiveJournal:

    Wednesday, January 24th, 2024
    7:58 am
    Программисты и balance.transfer
    взято отсюда: https://lleo.me/dnevnik/2024/01/23

    Для начинающих и умудренных программистов в сети есть поучительный юмористический текст «Код Нинзя» — сборник «вредных советов» на тему хорошего тона при написании кода. В нем перечислены практически все ученические ошибки. И мне, конечно, и смешно, и горько, что все эти пункты я постоянно наблюдаю за собой.

    Однако хороший тон всего лишь тон. Его нарушение лишь немного путает тебя самого и тех, кто будет когда-нибудь читать твой код, если вообще будет. Но есть одна не упомянутая в трактате особенность стиля программирования, которая реально выбешивает и причиняет физические страдания в работе. И я бы добавил ее в самом верху:

    Никогда не думай про обратную совместимость

    Докажи, что идешь в ногу со временем, постоянно учишься новому и призываешь к этому остальных: не сохраняй сделанного надолго! Позаботься, чтобы в твоей документации ссылки перестали открываться уже через неделю, линки на картинки не работали, а вскоре пусть и сама документация выдает ошибку 404. Твои демо не должны запускаться даже в момент публикации. Твой код должен перестать собираться уже к концу месяца. Но главное: как можно чаще меняй свои форматы, протоколы и интерфейсы! Регулярно переделывай имена параметров, переменных, ключей командной строки, форматы входных и выходных данных! В написанных тобой библиотеках как можно чаще заменяй названия методов и функций на более свежие и понятные! Старайся, чтобы после любого мельчайшего усовершенствования твои программы и API перестали работать со всем, что работало с ними прежде! Весь чужой софт, что люди мира отлаживали ради совместимости с твоим, должен становиться негодным всякий раз, когда ты что-то у себя исправляешь! Этим ты помогаешь людям оставаться в тонусе, профессионально расти и непрерывно учиться новому!
    Read more... )

    Tuesday, December 20th, 2022
    4:24 am
    Для программистов. Маленькие радости Mariadb MySQL
    взято отсюда: https://lleo.me/dnevnik/2022/12/20

    До последних версий Mariadb при попытке записать в таблицу уже имеющиеся там данные возвращала спокойную ошибку. Это ошибку обрабатывал скрипт PHP, и все было нормально.

    Но последние версии Mariadb (в частности 15.1 Distrib 10.6.11-MariaDB, for debian-linux-gnu x86_64) в таком случае стали выдавать настолько фатальную ошибку, которую уже не обработать, потому что на ней рушится сам вызвавший ее скрипт PHP. Потому что блять ну нельзя же пытаться записать данные, когда в таблице они уже есть! Шок! Паника! Вызывайте наряд Гестапо! Вот если, скажем, в поле varchar(11) попытаться записать телефонный номер в 12 символов — а вот это блять у нас можно, это вовсе никакая не ошибка, а дело житейское. Мы просто тихо обрежем последнюю цифру телефона и так запишем. Звоните теперь, ваш звонок очень важен для нас.

    Короче, я бегло погуглил и не нашел, что случилось, какой ебаный гений в очередной раз изобрел по дефолту всем бывшим пользователям MySQL очередной катаклизм, и как это лечить. То есть — в какую внутреннюю базу настроек надо чем залогиниться или какой ini-файл поправить, указав какую-нибудь свежевыебаную опцию duble_fatal_error_please_no_no_please=false.
    Read more... )

    Friday, February 4th, 2022
    6:03 pm
    Продолжаю рассказ про дебилов из ozon.ru
    это перепост заметки, оригинал находится на моем сайте: https://lleo.me/dnevnik/2022/02/04

    Маркетплейс сегодня — самое прибыльное дело. Человечество в 21 веке недалеко ушло от концепции «Басурман-Паша центральным рынком завладел». Достаточно сказать, что владелец главной в мире барахолки Amazon — уже много лет самый богатый человек на планете и лишь изредка уступает это звание Илону Маску. Тому самому Маску, который (в отличие от директора рынка по перепродаже чужих лампочек, книжек и лифчиков) сегодня главный инноватор, двигатель технологий, космоса и прогресса. При этом, в отличие от проектов Маска, практически все барахолки сделаны криво, неудобно, с дизайном прошлого века и постоянными глюками.

    По образу и подобию Амазона был сделан когда-то и российский Озон — даже название немножко спиздили. Весьма унылая на мой покупательский взгляд площадка, поскольку любую позицию из ассортимента Озона мне всегда удавалось в пару кликов найти в каком-нибудь другом месте по цене на 10-20% ниже. Но дело не в этом.

    У Озона есть API для продавцов — система, которая позволяет зарегистрированному продавцу выставлять свои товары по специальному протоколу. Мелкая продавщица домашнего мыла API не использует — она заполняет карточку товара руками через кривую форму на сайте. Но большой склад не может ежедневно заводить тысячи карточек вручную, поэтому я помогаю другу с программированием системы, работающей через API. Судя по всему (в том числе по общению с техподдержкой) я единственный программист, который с их API работает. Потому что там лютый пиздец.
    Read more... )

    Saturday, January 22nd, 2022
    3:43 pm
    малополезный контент на сайте binoniq.net
    это перепост заметки, оригинал находится на моем сайте: https://lleo.me/dnevnik/2022/01/22

    Яндекс ипанулся. Прислал письмо, что на сайте binoniq.net обнаружена «угроза безопасности», но по ссылке «подробности» отказывается сообщить, на какой странице и в чьем из аккаунтов. Кто не помнит, binonq.net — многопользовательская платформа, там почти 400 личных сайтов. Зато по ссылке на подробности налита вода на тему «это может быть угроза безопасности, а может просто бесполезный контент...»

    Бесполезный контент, мой дорогой Яндекс, — это ваши провокационные рассылки без подробностей.

    Примерно как звонок в полицию «наша школа заминирована, гы-гы!»

    Date: Thu, 20 Jan 2022 17:48:37 +0300 (MSK)
    From: «Yandex.Webmaster» <devnull@webmaster.yandex.ru>
    To:   lleokaganov <lleokaganov@yandex.ru>
    Subj: На сайте https://binoniq.net обнаружены нарушения или проблемы с безопасностью
    Read more... )
    Sunday, October 17th, 2021
    2:13 am
    О восстании машин
    это перепост заметки, оригинал находится на моем сайте: https://lleo.me/dnevnik/2021/10/17

    Смею успокоить прогрессивное человечество: пока алгоритмы Гугль-объектива, глядя на банальный QR-код, видят в нем черный квадрат немалевича и успешно ищут похожие изображения, возникновение искусственного разума и восстание машин откладывается на неопределенный срок.




    Read more... )
    Wednesday, October 13th, 2021
    1:49 pm
    Пока, Фейсбук!
    это перепост заметки, оригинал находится на моем сайте: https://lleo.me/dnevnik/2021/10/13

    Новости моих соцсетей.

    Фейсбук

    Фейсбук сам торопит, напоминает и называет конкретную даты, когда мой аккаунт Фейсбка наконец исчезнет и перестанет жрать мое время — 28 октября, накануне Грелки, заботливо. Я понятия не имею, о чем речь и что за «протект» предлагается включить, но подозреваю, что это связано с мобильными приложениями. Нет, фейсбук, у меня никогда не было установлено твое сраное приложение и никаких бэкдоров твоей уебищной конторы я устанавливать уж точно не собираюсь, мне и твоего Вацапа многовато. Напоминаю всем фейсбучным френдам: я не пропал, не перестал писать, не выкинул вас из друзей, а больше месяца назад принял решение уйти из фейсбука. Веду я блог по-прежнему, как и все последние 20 лет, на своем сайте, также он дублируется в телеграм и другие нормальные соцсети. Если вам далеко ходить на мой сайт, а хочется удобств и быть в тренде, подпишитесь на мой телеграм-канал. Станете трехтысячным подписчиком, там как раз одного не хватает, и я жду вас.
    Read more... )

    Wednesday, October 6th, 2021
    4:20 am
    KUKISH.EXE - трением об воздух пренебречь
    это перепост заметки, оригинал находится на моем сайте: https://lleo.me/dnevnik/2021/10/06

    Самый первый фантастический рассказ я написал в декабре 1997 года. Назывался он "КУКИШ". Это была история о двух друзьях, которые в юности получили подлое оружие в свои (буквально) руки: если они показывали кому-то кукиш, с тем человеком случалась какая-нибудь мелкая неприятность. Оружие имело нюанс: при каждом следующем использовании его сила росла, эффект получался сильнее. Инструкция гласила, что после трехсотого применения жертвы будут погибать. Герои поклялись это оружие никогда не использовать. Прошло невероятно много лет, оба прожили насыщенную жизнь: один сделал бандитскую карьеру, другой - научную, пути их давно разошлись. Мне хотелось, чтобы в конце герои столкнулись в поединке и показали друг другу кукиш. И по эффекту (сердечный приступ против подобия ядерного взрыва) читатель бы понял, что вожак мафии в своей жизни использовал грязный прием сильно реже, чем официальный труженик российской науки и политики. Не уверен, что мне удалось понятно реализовать задумку. И не готов сегодня дать какую-то философскую оценку тому далекому месседжу из 1997 года. Но дело совершенно не в рассказе, а в истории его написания.
    Read more... )

    Saturday, September 11th, 2021
    9:31 pm
    Программисты, хотите поржать над OZON.RU ?
    это перепост заметки, оригинал находится на моем сайте: https://lleo.me/dnevnik/2021/09/11_1

    Это прямо такой анекдот, что распространение в тематических форумах приветствуется. Программисты поймут.

    Есть известный магазин OZON.RU, в нем API для продавцов. Год назад один друг, служащий в торговле, попросил ему сделать системку, которая бы загружала на OZON карточки товаров для продажи, чтобы ему не приходилось год за годом переносить руками все графы из каталогов склада. Я в этой истории вообще не сотрудник, не программист, а просто совершенно левый человек, который помогал старому другу в основном из любви к искусству. Системку я наваял, год всё жило где-то у меня на lleo.me, и работало быстро и интерактивно, облегчая монотонный труд оператора.
    Read more... )

    Friday, May 15th, 2020
    9:39 pm
    Ошибка в резюме
    это перепост заметки, оригинал находится на моем сайте: https://lleo.me/dnevnik/2020/05/15_CV

    Ржу. Ксенчик тут составляла себе резюме, а я в разговоре вспомнил, что у меня тоже где-то было резюме типа программиста: http://home.lleo.me/CV Зачем я его сделал — не помню, кажется, когда подавал заявление сисадмином в Антарктиду. Так вот, вспомнил ссылку, послал ей, и сразу в резюме программиста была обнаружена ошибка программирования! Ну, там строка «возраст: 47» выводилась скриптом, который высчитывает возраст относительно нынешней даты. А то я уже задолбался каждые три года бегать исправлять:

    =============== cut ===============
    возраст: {_PHPEVAL: $o=floor((time()-strtotime('1972-05-21'))/(365*24*60*60));_}
    =============== /cut ===============

    В принципе код норм. Но говно. Потому что 365 дней в году — это грубая условность, ведь бывают и вискокосные, и их там набежало больше десятка. Поэтому возраст рассчитывался с небольшой погрешностью, и незадолго перед днем рождения счетчик начинал привирать. Вычислить же правильный возраст с високосными годами — нужна более сложная формула. Но лучше использовать готовые функции, поэтому правильный код такой:
    Read more... )

    Thursday, August 1st, 2019
    4:11 am
    Программисты оценят: ESPSESSIONID=1
    это перепост заметки, оригинал находится на моем сайте: https://lleo.me/dnevnik/2019/07/31_esp

    Предыстория. Решил привинтить к своей системе на чипе ESP8266 авторизацию. А то у меня раньше было все открыто наружу, пока в систему полива растений не забрел хацкер. Он конечно ничего там не понял, но нашел прямо на титуле удобный онлайн-редактор файлов и переправил в index.htm «Система полива» на «Залупа конская». Потом пришел я, нажал соседнюю кнопочку «upgrade», система сверила с сайтом-базой все свои файлы и автоматом перезалила измененные. На том хак и завершился. Но на всякий случай я порт наружу отключил.

    Короче, решил я теперь привинтить нормальную авторизацию. Полез читать, распознает ли esp8266 браузерные Cookie и нарыл дивное. Это была предыстория. Вот что нашел.

    Короче, какой-то альтернативно одаренный человек написал на чистом С под ESP «систему авторизации». Работает она следующим образом: по линку /login получает от пользователя username и password. Честно сравнивает, чтоб и то и другое совпадало с нужным, прописанным в коде. И если совпадает — то сервер ESP8266 выдает в ответ Cookie «ESPSESSIONID=1», и отныне этот зашедший браузер считается админом. А по команде /logout соответственно перезабивает куку на «ESPSESSIONID=0» — и уже больше не админ.
    Read more... )

    Monday, June 24th, 2019
    6:21 pm
    Почему все электрики такие дебилы?
    это перепост заметки, оригинал находится на моем сайте: http://lleo.me/dnevnik/2019/06/23_electric

    Петербургский сайт ПЕС (Петроэнергосбыт, это они сами себя так сокращают) насчитал пени за оплату электричества в размере 5 копеек. Но 5 копеек принимать не хочет, потому что это меньше рубля. А рубль принимать тоже не хочет, потому что это больше пени.

    Если вы думаете, что это один ПЕС такой дурак, то вот вам Мосэнергосбыт. При своевременной оплате через сайт этот дебил раз в месяц пытается самостоятельно списать с моей карточки сумму 0.00, получает от банка отлуп и несется с жалобными письмами ко мне. На ответы не реагирует:
    Read more... )

    Wednesday, May 15th, 2019
    9:45 pm
    Из жизни некрофилов
    это перепост заметки, оригинал находится на моем сайте: http://lleo.me/dnevnik/2019/05/15_icq

    Пидарасы из mail.ru отключили протокол ICQ, служивший верой и правдой два десятилетия — придумали новый. Как еще отпугнуть последних трех инвалидов, которые продолжают держать свой аккаунт ICQ в 2019 из соображений «пусть будет по привычке, если места не занимает»? Конечно, придумать новый протокол и предложить всем поставить новый клиент! Клиент конечно никто не ставил и ставить не будет, но для пользователей Pidgin нашлось решение по новому протоколу: https://github.com/EionRobb/icyque А именно:

    =============== cut ===============

    sudo apt-get install libglib2.0-dev libjson-glib-dev libpurple-dev

    git clone git://github.com/EionRobb/icyque.git
    cd icyque
    make
    sudo make install

    sudo apt-get remove libglib2.0-dev libjson-glib-dev libpurple-dev

    =============== /cut ===============

    После чего заводим новый протокол «ICQ (WIM)» и... нам предлагают привязать к моему аккаунту 995395 мобильник, зарегистрировав его на сайте ICQ. По причине новых российских законов, которые желают не только прослушивать трафик, но и знать, кто где живет и с каким номером паспорта. Ладно, регистрируем телефон, мне не жалко. ICQ работает! Но вот незадача: НИКОГО не видно в листе контактов с иконкой ICQ! Pidgin показывает в сети больше 900 контактов Телеграм, 1200 ВКонтакта, 5000 Фейсбука, 160 абонентов Скайпа, штук 5 контактов Джаббера... А владельцев ICQ я на сегодняшний день вижу одного Славу. Слава Славе, хоть проверить можно, что работает ICQ чат. Чат работает, со Славой обменялись парой фраз. Поздравляю mail.ru с прекрасными маркетинговыми ходами. Так разогнать всех пользователей чат-система, бывшей когда-то главной чат-системой мира — это надо уметь. Предлагаю отменить россиянам пенсии, ввести им новые налоги на воздух, валенки, сковородки, большую и малую нужду, а на вырученные деньги купить Фейсбук. И угробить его.
    Read more... )

    Wednesday, October 31st, 2018
    4:46 pm
    Удивительная история с паролями
    это перепост заметки, оригинал находится на моем сайте: http://lleo.me/dnevnik/2018/10/31_password.html

    По несколько раз в день мне продолжают во множестве приходить спам-письма со сказкой о том, будто мой компьютер заражен вирусом, который установил шпионский софт (ага, на мой Линукс, хотел бы я посмотреть на это), и потому все мои пароли, все контакты и почему-то вдруг найденные там ужасные порноссылки — всё это теперь в руках злоумышленников. Мой имидж, брак, карьера, деловые связи и доверие банков в одночасье повисли на волоске. Но за серьезный выкуп в биткоинах (в разных письмах сумма колеблется в эквиваленте от 500$ до 5000$) они, уж так и быть, оставят меня в покое и не расскажут моему якобы контакт-листу о моих якобы порноссылках...

    Я уже и писал об этом в дневнике несколько месяцев назад: http://lleo.me/dnevnik/2018/08/03.html

    И даже стишки слагал: http://lleo.me/dnevnik/2018/10/06_kulichi.html

    А письма продолжают приходить...

    [ ТЕКСТ ПОД КАТОМ: Доступен только в оригинальной заметке на сайте ]
    Read more... )

    Sunday, April 8th, 2018
    5:59 am
    Уж полночь близится...
    это перепост заметки, оригинал находится на моем сайте: http://lleo.me/dnevnik/2018/04/08.html

    Советник президента РФ по развитию интернета Герман Клименко сообщил, что грядущая блокировка Telegram в России не вызовет проблем. И посоветовал использовать ICQ...

    Дорогой Герман! Всегда буду рад с тобой пообщаться по ICQ, пиши: 995395
    Read more... )

    Thursday, November 9th, 2017
    1:59 am
    О, этот гребаный Сбербанк...
    это перепост заметки, оригинал находится на моем сайте: http://lleo.me/dnevnik/2017/11/09.html

    У меня сегодня снова День Сбербанка. Ну мало того, что я всё пытаюсь оформить в ТИК финансовый отчет по выборам — это отдельная песня, там оказался такой ад и геморрой, что знал бы заранее — вообще бы не пошел на выборы. Особенно прекрасно, что я успел перед поездкой в США закрыть счет и сдать бумажку об этом в ТИК. А этого делать не надо было, потому что теперь Сбер не может распечатать мне все те бумажки, которые нужны для оформления огромной прошитой (и продублированной на флешке) папки отчета. А нужны бумажки из Сбера буквально все — по каждому платежу и еще кучка сверху. Но счет закрыт, поэтому выдать их нельзя. Пришлось написать заявление с требованием выдать мне бумажку о том, что невозможно выдать бумажки. Это сработало — бумажки обещали все найти дня через два. Дай бог, всё у них получится. Люди у нас там в принципе обаятельные, и никаких претензий к ним нет.

    Повторю: претензии у меня совершенно к другой структуре Сбербанка, никак не связанной с изберсчетом и нашим Чертановским отделением. А именно — к онлайн-кабинету. Вот это, ребята, пиздец пиздецов. Даже не знаю, какой черт меня дернул указать карту Сбера для перечислений на коробки 23andme, вообще я Авангардом пользуюсь, а Сбером никогда. Просто подумалось, что раз карта у меня пустая (там ноль), то это будет удобно для подсчета. Ну и людям, я слышал, удобнее со Сбера на Сбер перечислять, чем в какой-то Авангард по реквизитам. И понеслись проблемы...
    Read more... )

    Tuesday, July 4th, 2017
    5:34 am
    Загадка капчи 222
    это перепост заметки, оригинал находится на моем сайте: http://lleo.me/dnevnik/2017/07/01_ban.html

    Неожиданным способом пришло паническое сообщение - в виде правки:



    А я уже давно замечал, что сами собой появляются забаненные юзеры с капчей 222. Я - точно никого не банил, вот делать мне больше нечего, за живыми читателями гоняться. Никто больше банить не может, кроме админа. Что это было? Закралась мысль, что возможно мой дневник таки хакнули. Нашелся хакер, отыскал дырочку в защите, написал какой-то хитрый скрипт - и банит неугодных собеседников. Всё перерыл - нет, дырок нету вроде. Стал искать загадочное число "222" по всему коду и нашел совершенно случайно автобанилку новичков, выступивших в первых же своих комментариях с матом. Баннилка нехитрая, сидела где-то в глубинах кода и, похоже, работала несколько месяцев подряд, банила, да и ещё, как я вижу, на сайт символического направления посылала автоматом, что вообще за гранью добра и зла:


    Read more... )

авторский сайт Леонида Каганова   About LJ.Rossia.org