Комментарии 52
Здравствуйте) Открытие оригинала статьи по вашей ссылке https://blog.0x08.ru/one-hundred-percent-recognition вызвало BSoD у Win10 21H2, браузер Firefox 128.14.0esr )))) Дамп памяти почему то не создался хотя включены
"Бизнес - это место, где встречаются люди с деньгами и люди с опытом. Люди с опытом - получают деньги. Люди с деньгами - приобретают опыт."
С дружеским приветом, ex. co-founder & CTO (circa 2007 - circa 2012) стартапа. Тогда, вроде, и слова "стартап" ещë не было на слуху.
Это шедевр, Alex! Статья -- образец, каким должен быть контент Хабра. А не вот этот вот сплошной лентой маркетингово-кликбейтный булшит.
Хороший художественный контент. Такие "it байки". Довольно интересно
Но "коричневую ноту" я в этот раз не взял )
Пара идей для получения наброса: 1) почему не Go; 2) почему не современное железо (ноутбуки к примеру); 3) почему не Code; 4) почему не GitHub...
Сейчас пишу "новую попытку": современное переложение Данте, там где про круги ада.
Оживший Джефри Эпштейн будет водить обычного студента - из тех кто пишет заказные статьи про ИИ, по местам своей боевой славы и показывать как устроена жизнь.
Если и это не проймет аудиторию - тогда даже не знаю..
О, круто! Ждём. (Вот только студенты и прочая молодёжь Хабр не читают, и зачастую даже не знают, что это такое.)
Такое я бы почитал. Что касается самой статьи - регулярно бывал в таких проектах, к счастью на должности разработчика. Сначала был молод, и разбрасываться квартирами мне не доверяли, но "глубину понимания" видел воочию. Потом хватало ума держаться подальше от ответственных должностей с такими заказчиками
Есть непонятное в истории.
Боролись ли вы за свои права после демонстративного рванья документов лицом, не имеющим к ним отношения? Или - почему эта борьба не имела смысла.
Если никогда не бывали в Гонконге, то многое потеряли — это удивительное место точно стоит посетить

Эпического срача дискурса не получилось, увы. Сам огорчен.
А его и не будет. Это закономерно.
Поделюсь наблюдениями последних 2-3 месяцев или Хабру - конец (и по делом).
Массовый жирный, тому же хамящий обыватель, массово затёсывшийся в бездонный голубой акеан "IT", куда-то схлынул.
Видимо, из-за тотальной нехватки "разработчиков" и вводу мощностей ИИ (которого, мы-то знаем, - нет! это вокруг все дураки ;) ) - пашет в три смены:
В РФ дефицит разработчиков ПО составляет около 100 тыс. человек И 40 тыс. молодых специалистов по базам данных и сетям. Об этом сообщил министр труда и социальной защиты РФ Антон Котяков. По оценкам государства, вузов и бизнеса, IT-отрасли РФ не хватает от 740 тыс. до 1 млн сотрудников, а к 2030 году нужно будет обучить и подготовить ещё более 2 млн человек. На фоне кадрового дефицита IТ-компании стали сами оплачивать обучение будущим работникам.
(c) 29 янв 2025 https://habr.com/ru/news/877634/
Раньше, оставляя каждый вольгоный комментарий, я сразу рассчитывал на 3-5 минусов в "карму". Теперь о чудо: минусов не прилетает совсем.
Тут "живых" осталось человек 50, которые что-то пишут, читают, комментируют, и подписаны друг на друга. Так что всё, хэппи энд.
Ну, а если жирных Хомяков Эмберов нет, как быть Хабру? Идея же была: бум снимать стружку с жирку "самых востребованных и высокооплачиваемых". А тут: "монетизации" нет, так и "интерес" к "проекту" у хозяев пропал. Стартап закрылся: всем спасибо, все - свободны. (Подробности https://habr.com/ru/companies/habr/articles/729756/comments/#comment_25473476 и там по ссылкам)
И по делом: неприятие полезного (хамство) - должно быть наказуемо. Иначе мир придёт к войнам, голоду и холоду. Ну а мы же, вместе с Цукером и Брином, "хотим сделать его лучше". :)
Тут "живых" осталось человек 50, которые что-то пишут, читают, комментируют, и подписаны друг на друга. Так что всё, хэппи энд.
Интересно замечание. Сам в задумчивости, стоит ли продолжать здесь публиковаться. С одной стороны удовлетворения практически никакого. С другой: где ещё найти хоть сколько-нибудь заинтересованных читателей?
Я ещё заметил, что стало много когда-то интересных писателей, которые теперь штампуют за деньги статьи для корпроративных блогов. Читать противно: кликбейт, пафос, клише, запанибратство, фактические ошибки, перенос своего удивления и восторга от своей малой образованности на читателей в целом.
А чего ждать, если новореги получают возможность плюсовать статьи после первого же одобренного комментария? Кстати минусовать не получают, как я слышал. Неудивительно что тут уже фермы ботов появляются, и возникает инфляция - раньше статья, которая вышла из 50 - это уже была годнота, а сейчас я уже вижу статьи с 1000+ плюсами.. Сломали систему, пропал калабуховский дом..
Кэтрин весьма не глупая тётка. Серый кардинал и цербер в юбке (у крупняка в секретарях других не бывает). Дала дельное резюме и не глупые советы (полностью согласен). Но его стоит прокомментировать:
— Выбирали неправильные технологии, например медленную Java.
— ..не использовали стандартные методологии для управления нашим проектом, вместо известных и надежных средств разработки, использовали как-то самопал.
— ..вместо надежных и коммерчески успешных средств распознавания текста, вы взяли какую-то страшную, устаревшую библиотеку из 90х.
— Александр, совет на будущее.
— Вы с Павлом слишком много о себе возомнили.
— Ваш опыт и знания на самом деле не уникальны, есть более грамотные и опытные специалисты. Всегда есть.
Ваш участок работ - прикладная задача: отсканировать->распознать->загрузить.
"Тема" очень сомнительная - технолгии там (даже на сегодня) низкого качества. Что можно умного сделать: взять готовые куски (либы) и "заколхозить" их между собой скриптовым клеем. А выбирать клей скотч из чего? Середина нулевых - выбор не велик. Джава так жаба... Могли бы и на перле делать.
Заказчик: классика. "Очень умный мальчик" богатого папы с "гнениальными идеями". Это пункт дальше нужно комментировать?
"Добыча данных" - это вообще трындец. Весь сыр-бор со "сканированием" из-за того, что просто пожмотничали покупать готовые данные!
Стоит пояснить, что каждая биржа имела и имеет готовое платное API для задач массовой обработки, а также готовые выгрузки всех публичных документов — в заранее подготовленном для обработки виде, без необходимости использования OCR и прочих ухищрений.
Но вернемся к вопросу загрузки.Поскольку мы шли «путем пирата» и не могли использовать официальные API, пришлось прикидываться обычным пользователем.
Мы использовали комбинацию из PhantomJS и Selenium для симуляции взаимодействия с биржей от лица пользователя:
переходы по ссылкам, нажатия на кнопки, обработка всплывающих окон и так далее
Вот так выглядел JRuby-скрипт для подключения к австралийской бирже, переход по страницам и начало скачивания документов:
Господа, это вооще - кринж! (слабонервным не открывать)
#encoding: utf-8
# регистрация себя для внешнего вызова с стороны платформы
Provider.registerAction('ASX','FETCH_NEW','fetchNewASX')
# start point, this function will be called on start and periodically
# отсюда начиналась обработка
def fetchNewASX
FetchASXNew.new.parseStart()
end;
# да, в руби есть классы
class FetchASXNew
# собственно запуск процесса отбора и скачивания документов
def parseStart
AppWeb.logInfo(" # -------------------------------[start]----------------------------")
# под этим методом был Selenium + Phantomjs
AppWeb.connectUrl('http://www.asx.com.au/asx/statistics/prevBusDayAnns.do')
if AppWeb.exists("//div/h1[contains(text(),'Technical error')]") ||
AppWeb.exists("//div/p[contains(text(),'No company announcements have been published')]")
AppWeb.saveScreenshot('page_down')
AppWeb.exit()
end;
# Form 603 - Becoming a substantial shareholder
AppWeb.logInfo(" # -------------------------------[603]----------------------------")
AppWeb.getElements("//tbody/tr/td[contains(text(),'ecoming a substantial holder')]/..")
.each{|e|dumpRow e}
Исполнители. "Саша и Паша" - молодые прикладники 90-х из России (ну не инженеры ж из R&D IBM, ни с мэйнфреймов вас долго и упорно "переманивали").
Так что там всё было хреново : Это наше шоу от А до Я и с первой ложки.
И если посмотреть глазами людей с верхушки, людей с властью и деньгами, имеющих десятки/сотни бизнесов, заказавших аудит всего проекта (там же под раздачу попала вся братия: папа-сын-Кэтрин-вы) то их вердикт, озвученный устами Кэтрин верен на 100%. Которыми статья как раз и озаглавлена.
— Семья Ченгов очень старая и уважаемая, достойна только самого лучшего. Мы платим за самое лучшее, за сто процентов.
:)
Самое главное откровение случится если вбить в поисковик название статьи — рядом со ссылками на Хабр будут выступления губернаторов, мэров, министров..
И все они на голубом глазу рассказывают про "стопроцентное распознавание".
Так что нам вообщем‑то повезло, если бы это был госпроект и 44ФЗ — кому‑то бы пришлось сесть.
Господа, это вооще - кринж! (слабонервным не открывать)
ну справедливоси ради, дело-то ведь не в руби и не качестве кода, видно по рассказу, что торопились и писали быстро.
что просто пожмотничали покупать готовые данные!
да, в этом все дело. Пожмотил заказчик, а исполнители в лице автора рады бы были спокойно читать файлы готовые xml, а не идти "путем пирата" и вот это все.
если б по-нормальному вытаскивали данные с биржи, то было бы время о качестве кода думать и прочем.
по-нормальному вытаскивали данные с биржи
Тут есть один важный нюанс. Если сразу привязываться к чужой платной услуге, провайдер услуги быстро поймет, что вы зависимы от него и начнет выкручивать руки.
Примеров масса, пейсбук так любил делать.
Вы мучились, делали приложение вокруг API Цукерберга, запустили и получили первый профит. На следующий день API отключают и говорят, что новая цена - миллион.
Так что "пиратский парсинг" это в первую очередь гарантии независимости для бизнеса.
Не считайте "губернаторов, мэров, министров" глупее себя. Они прекрасно знают зачем пришли в эти кресла, что в них делают, что и зачем говорят. :)
PS Дружеский совет Кэтрин, который "попусту пропал":
— Александр, совет на будущее. Вы с Павлом слишком много о себе возомнили. (с)
Они прекрасно знают зачем пришли в эти кресла, что в них делают, что и зачем говорят.
Не уверен.
Дружеский совет Кэтрин, который "попусту пропал"
Она если что плохо закончила. И в ее случае подняться обратно уже нереально, поскольку изначально не работала в условиях рынка.
Вы слишком переоцениваете "рынок" и его "условия". Поэтому и деретесь за объедки, оставленые крупняком, в сегменте т.н. "малого и среднего бизнеса". И жизнь не учит: колетесь, и при этом упорно продолжаете есть кактус. Так что всё правильно она сказала.
Может в реальности это не так выглядело, но по ходу повествования, когда вы решили работать над этим беспроигрышным проектом за свои, я кричал про себя: «нет, не делай этого! Только не это!»
Если скажу, что большинство госпроектов делаются "за свои" - сильно удивитесь?
А там еще веселее: поскольку таких ресурсов нет, делают на кредитные и в случае описанной ситуации сразу можно банкротить компанию, поскольку долги неподъемные получаются.
>>Если скажу, что большинство госпроектов делаются "за свои"
Скорее "своими". :)
Обратите внимание графы Cost и "Overrun". ;)

Вы еще Lockheed Martin в пример приведите, с шурупами по сотке баксов )
Я про более обычные проекты, которые вполне можно выиграть по конкурсу.
Вы прям кидаете тень на плетень наших уважаемых застройщиков. Неужто миллиардные госконтракты на строительство объектов в Сочи к нашей Национальной Гордости 2014 они в обход конкурсов получили?!
Классика жанра. Нашли негров для выполнения чёрной работы - нулевого цикла проекта. Для роли лоховода выбрали молодого Ченга, который прекрасно сыграл роль богатого придурка. Не удивлюсь, если окажется, что он подошёл к ним в аэропорту не случайно. Саша и Паша настолько поверили, что им подвернулась редкая удача, что проигнорировали все возникшие красные флаги, начиная с первого на них наезда. Цель наезда очевидна - сделать их более сговорчивыми и заставить перенести разработку на облака, а по сути передать все свои наработки заказчику.
Не насторожило их и то, что по собственной инициативе заказчик пообещал увеличить бюджет на 200 тыс. долларов. Пообещать - не значит выполнить. Это была классическая морковка перед носом осла. Осёл купился на морковку, заказчик получил, что хотел. Дальше всё как по нотам с закономерным итогом.
Дальнейшие рассказы о проблемах молодого Ченга и дедушки Лу - это всего лишь сказки, предназначенные для того, чтобы угомонить гринго, который не успокоился и приехал, чтобы что-то вынюхать.
Вы все сильно упрощаете. Когда дело доходит до серьезных проектов, ключевой вопрос не деньги а выстраивание отношений.
Наша ошибка была как раз в этом, но она же позволила потом закончить историю с вайбкодингом.
Небольшое лирическое отступление.
Когда-то жил на свете раб по имени Эпиктет. Однажды, когда хозяин стал его сильно избивать, он невозмутимо сказал: "Ты мне ногу сломаешь". Когда так и случилось, Эпиктет хладнокровно заметил: "Разве я не говорил, что сломаешь?". Эпиктет так и остался хромым на всю жизнь. К чему это я? Этот раб впоследствии вошёл в историю как знаменитый философ. Одна из его идей заключается в том, что внешний мир, всё, что нас окружает, нам неподвластно, но наши представления о них делают нас счастливыми или несчастными. Поэтому люди порой, сознательно или бессознательно, препочитают не замечать очевидных вещей, отказываясь принимать истину даже тогда, когда она очевидна. Они не принимают ее не потому, что не могут понять ее, а потому, что она делает их несчастными.
Видите ли, бизнес и деловые отношения это не «хозяин‑раб» и не война — тут нет ни победителей, ни проигравших. Нет ни "доминаторов" ни бесправных скотов, как бы кому ни хотелось обратного.
Есть лишь не договорившиеся.
Ну обманули, так бывает - и что? Опыт и знания - ради чего к нам и обращались ведь никуда не деваются. А обманувшая сторона к ним доступ утрачивает навсегда.
Так что кто понес бОльшие потери в итоге еще большой вопрос.
Тут проблема не в том, что вы не договорились - вы ведь договорились. Проблема в том, что никакие договорённости не гарантируют того, что вас не попытаются (или уже прямо сейчас пытаются) обмануть.
Приобретаемый опыт заключается в том, что вы учитесь различать признаки обмана в поведении партнёра и учитесь своевренно реагировать на них, не поддаваясь на попытки манипулировать вами с помощью угроз и аппетитных морковок.
Хотя должен сказать, что такой опыт приобретается только на собственой шкуре, ему нельзя научить. Не ошибусь, если скажу, что все проходят через это.
что вас не попытаются (или уже прямо сейчас пытаются) обмануть.
Параною разводить тоже не стоит, все не настолько плохо.
Такие проекты всегда с поэтапной оплатой и разумеется никто вменяемый ни всю сумму сразу отправлять не станет, ни такую разработку без предоплаты не запустит.
Отсюда и сложности в судах: оплата была, но не вся, работу сделали, но не целиком - в таком духе.
Это не кино, где одни выкрали чемодан с миллионом кэша, а другие потом за ним бегают с пистолетом.
Это не паранойя, а предусмотрительность. Нужно учитывать все варианты развития событий. Вы пишите, что "разумеется никто вменяемый ни всю сумму сразу отправлять не станет", но, тем не менее, продолжили разработку, финансируя её из своих средств, что сродни невменяемости с вашей стороны.
Нужно учитывать все варианты развития событий
С учетом новой войны, возникающей каждый месяц в новой точке мира - ооооочень разумный подход, ага ))
Не бывает так, что можно учесть все, при всем желании. Есть риски, в основном неприемлемые и есть люди, в основном не совсем адекватные.
Посреди всего этого приходится жить и работать, с переменным успехом.
Всё учесть невозможно, это так, но не учитывать того, что вам могут элементарно не заплатить - это было легкомысленно с вашей стороны.
Прошу не рассматривать это, как негатив в ваш адрес. Подобные ошибки совершали все, и я не исключение. И хотя все учатся на собственных ошибках, хотелось бы надеяться, что кому-то это поможет их избежать.
Во-первых такой риск есть всегда, при любом масштабе и любом заказчике.
Например ответственный со стороны заказчика увольняется и привет - ищи потом концы и контакты.
Во-вторых это мелочи по сравнению с требованием вернуть оплату, где вы сразу попадаете на: а) потерю ~70% всей полученной суммы, ушедшую на зп людям б) налоги в) судебные издержки.
Поэтому откровенно говоря очень часто проще забить.
"Бьются за свое до конца" в основном в интернете, увы.
Поэтому советую (я сам всегда так делаю) прописывать в договоре условие о том, что предоплата (аванс) не возвращается, если разрыв договора происходит по инициативе заказчика или по объективным причинам.
Это сразу отбивает у заказчика желание прерывать договор по надуманным причинам.
На авансе вы в любом случае далеко не уедете, поэтому что он есть, что его нет особой роли не играет. Повод не запускать основные работы и все.
В случае больших проектов авансом например является пилот или прототип. Или составленное ТЗ.
Что же касается подстав со стороны заказчика, ну допустим вам выставят претензию «вы не успели к сроку сдачи Х, наша компания потеряла Y миллионов — недополученная прибыль и тд». Покажут расчет исходя из своих финансовых показателей.
Дальше два стула: либо эту претензию запускают в суд и у вас появляется шанс вообще обанкротиться, либо вы возвращаете полученную оплату без вопросов.
Тоже самое с «критическим ухудшением качества» — также через претензию, что ваша поделка принесла нам миллионные убытки.
В вашем праве прописать в договоре все условия, защищающие вас от подобных претензий заказчика. Если заказчик не согласится на такие условия, то дальше дело вашей жадности - рисковать или отказаться.
Нормальные люди в договор включают графу ответственность где пишут в каком размере за что исполнитель отвечает. Плюс на диком западе есть страхование- и как правило заказчик требует от исполнителя предоставить страховку. Ну и пиратить биржи так себе решение, поскольку если биржа узнает, а она узнает, то вас просто отключат или затаскают по судам а у биржи денег больше и юристы страшнее. Так что не особо верится в написанное
Плюс на диком западе есть страхование
Ага и страховщик абсолютно ничего не будет иметь против страхования сделки между российской компанией и каким-то непонятным Гонконгским стартапом :)
Вообще вопросов не задаст )
пиратить биржи так себе решение
Все документы официально в публичном доступе, это обязательная и публичная информация по любой компании на бирже. Собственно только по этому такие компании и называются публичными.
Вы страхуете свою ответственность как разработчик софта. Где у. Вас заказчик вас не касается. В договоре пишите что все претензии разбираются в Российском суде.
Вы все равно за рубежом судится не сможете так как никаких денег не хватит. Если заказчик настаивает на Гонконгской юрисдикции то страхуете там. И страховщику тоже пофиг кому полис выдавать если деньги заплачены.
какой отвратительный текст
тире отбивают тирады разных персонажей, а не несколько реплик одного - невозможно следить за диалогом
с целью украшения текста применять не к месту quote очень плохо - невозможно читать такой текст, постоянно думаешь, что это за цитата и откуда она
применение литературных оборотов без умения этого применения - признак графомании
да и размер текста говорит о том же
поражаюсь людям, которые смогли это осилить и понять, о чём речь

Стопроцентное распознавание