Такты, стеки, два колеса
1.35K subscribers
487 photos
26 videos
4 files
342 links
О технологиях, научной фантастике, программировании и схемах.

Навигация по каналу: https://t.me/clockstackwheels/3

Чат канала: https://t.me/joinchat/VNhNF1NF70dkFgUX
Download Telegram
39🔥26👏20👍8❤‍🔥2
В общем, да, в комментах уже спалили, что я в итоге взял призовое место в своей номинации :) Теперь, если «Знание» сможет довести свои планы до конца, то быть тиражу игрушки. Практически год работы не впустую!

Финал очень понравился. Считаю правильным решением сделать именно выставку, а не, например, индивидуальные презентации участников перед жюри. Во-первых, на презентации всё равно всего не покажешь. Во-вторых, и это важнее, харизма и уверенный тон нередко позволяют побеждать одной презентацией, не имея вообще работоспособного продукта. На хакатонах такое сплошь и рядом. Да что там хакатоны, в Кремниевой Долине инвестиции в десятки миллионов долларов тоже частенько дают за умение на уши присесть, а потом мы получаем Humane AI Pin.

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

Для более сложных игрушек ситуация совсем иная. Ко мне в какой-то момент пришли и попросили модели для изготовления. Я им скинул файл в Компасе и подробное описание текущей стадии, какие проблемы уже решены и как, а какие нужно решить. «Нет, вы не поняли, нам нужны STL!», — был мне ответ. «Эээ, чего?» — удивился я, — «Но прототипирование это поиск решения инженерных проблем, перебор вариантов, не будет совершенно никакого смысла в печати пары промежуточных STL-ок». Я там что-то ещё мямлил про конструкцию мультипликатора, подбор балласта и способа его изменения, версии винта и так далее. Скинул прямо несколько STL-моделей винта, а в итоге меня спросили, какую из них выбрать. Ту, которая покажет лучшее соотношение момента и времени в воде, конечно, но я пока не знаю, какая это!

Понятное дело, что прототипы от подрядчиков оказались в итоге не подходящими для демонстрации на выставке. Они выглядели примерно как надо, но механизм не то, что не приводил к нужному результату — ось винта вообще не была соединена с ведомой шестернёй, заводной ключ отваливался, а на развесовку и герметичность я даже проверять не стал. Так и получилось, что в сложных номинациях «Конструктор», «Техническая игрушка», «Сборная модель» — если человек не занимается самоделками, не имеет личной мастерской, не договорился ни с каким бизнесом на мелкий тираж, то представить хороший прототип он не мог. В каком-то смысле то, что задумывалось, как конкурс идей, превратилось в конкурс мастеров. Хотя, конкретно я видел его конкурсом мастеров с самого начала. Никто не воплотит вашу идею и ваше детище лучше, чем вы сами!
5🔥3913👍12
На финале при этом быстро решались все проблемы и реализовывались хотелки. Организаторы профинансировали всем билеты и гостиницу (хорошую), а на месте готовы были помочь с чем угодно. У меня игрушка для ванн, я запросил аквариум, и его действительно купили и поставили. Не будь воды, демонстрировать лодку было бы бесполезно, а так и эксперты увидели, и дети с удовольствием поиграли. Всего представили, кажется, 59 стендов в пяти номинациях, но возможности посмотреть остальные у меня, к сожалению, не было. День был очень насыщенный, внимания прям много. Невероятно понравился состав экспертов: умные и приятные люди, преподаватели, профессора, деятели образовательной и воспитательной сферы, представители производств. Разных возрастов, у многих свои дети. Кто-то прям говорил, что его/её ребёнок точно хотел бы такую игрушку. Оценивали все аспекты: одни смотрели на дизайн, другие на интересность, третьи на физические параметры или экономику. Понравилась беседа с женщиной инженером-конструктором, прям обсудили близкие темы.

И отдельными секциями была оценка группками детей, тоже разных, с разных регионов и разных возрастов. Кажется, целевая аудитория моей лодки это пацаны примерно начальной школы плюс-минус, потому что они чаще всего прибегали по многу раз и запускали. Забавный момент: я ушёл на обед, а мне организаторы пишут: «Не могли бы вы подойти на стенд, там интересуются?». Прихожу, а толпа ребят с громкими криками и вся мокрая устроила соревнование на количество поднятых жетончиков. Без меня разобрались, что это и как работает. Приятно :)

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

Если доведут до тиража, напишу тоже об этом. И вообще было бы круто посмотреть изнутри на какое-нибудь такое производство. Очень надеюсь на экскурсию на завод и вообще участие в процессе.

#gadgets #diy #hobby
5👍66🔥398🥰4
Выступил на DotNext сегодня, уже второй раз в жизни. Вообще, во времена хайпа ML и нейросетей было любопытно подать доклад, который рассказывает о том, как обойтись БЕЗ нейросетей и сделать всё на привычных алгоритмах. Видимо, не один я устал от ИИ, народу было достаточно, прошло вроде хорошо.

Сходил на четыре других доклада, и, пожалуй, с точки зрения докладов этот год лично для меня один из лучших, потому что два прям очень зашли: увидел то, что хотел по темам, всеобъемлюще, с ответами на возникающие в процессе вопросы. Вообще, нередко авторы боятся показывать совсем азы и тривиальные вещи — возможно, чтобы доклад не казался слишком простым. Но вот мне при введении в любую новую технологию или новый подход часто не хватает как раз основ. Чтоб прям с фундамента разжевали. И тут наконец-то такое было.

А вот со стендами дела похуже, имхо — из известного бигтеха только Озон и Контур. Завтра второй день, пойду подробнее посмотрю, что там. И да, снова сама конференция не предложила никакие тематические наклейки, и непонятно, что клеить на ноутбук :)

#dev
536👍11🔥9🥰1
Несколько лет назад на конференции TechTrain я впервые сыграл в Code in the Dark. Два разработчика параллельно садятся за компьютеры, запускается таймер. Дается картинка, которую нужно сверстать в HTML, но важный нюанс: ты не видишь результат до самого конца, пока не отправишь своё решение. Вёрстка вслепую. Если где-то поехало, можешь вообще всё сломать, но не узнаешь об этом. Мне очень понравилось, но я никак не мог придумать, как бы подобное соревнование выглядело для бэкенд-разработчиков.

А тут вот на стенде Контура была версия как раз для бэкендеров: даётся набор данных, отражающий валидные вводы и выводы для неизвестных юнит-тестов, и нужно закодить функцию, которая пройдёт эти тесты.

Сыграл дважды, один раз догадался о принципе, но не смог реализовать (видеть вывод твоей функции нельзя, вслепую я не учёл важный краевой случай), а второй раз решил с небольшой подсказкой от организаторов. В общем, это как задача с литкода уровня Easy, но саму задачу ты не видишь, только правильные кейсы.

Мне понравилось. Нужно на вечеринках с коллегами играть :)

#dev
14🔥8👍3🤔1
Вернор Виндж — «Глубина в небе».

Этого автора мне посоветовали очень давно, но смущали противоречивые отзывы. И, надо сказать, природа этих отзывов ясна: на самом деле первую треть книги я постоянно путался в событиях и персонажах. Возможно, это проблема перевода на русский, а, может, автор и сам так пишет, но местами сюжет идёт таким галопом, что за ним сложно поспевать. Иронично, что хронологической основой повествования является способность разумных существ безопасно ложиться в анабиоз на практически любой промежуток времени (и таким образом перескакивать его).

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

Но это просто базис местной вселенной. Сам сюжет сосредоточен вокруг попытки установки контакта с другой расой — разумных пауков, находящихся на уровне развития примерно нашей середины 20-го века. У людей при этом есть серьёзнейший внутренний конфликт между двумя группами. Повествование переходит от людей к паукам и обратно. Интересный эффект: пауки воспринимаются ближе к читателю, потому что их цивилизация похожа на известный нам реальный мир, а люди выглядят настоящими инопланетянами со своими кораблями и нестандартным обществом.

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

Я бы сказал, что в хорошем смысле уставал от многообразия мыслей и событий в этой книге, поэтому слушал её дольше обычного. Но, как закончил, сразу купил другой роман автора (о нём тоже будет, что рассказать). Так что советовать однозначно могу, но чтиво не назвать лёгким и развлекательным, я вас предупредил.

#fiction
1🔥219👍6🤝1
А мы тут сделали практически лучший на хакатоне проект и заняли последнее место. Нет, команд было больше одной. Нет, нас не дисквалифицировали, и сами мы не отдавали никому победу.

В общем, вписался я с новыми коллегами в хакатон от 2ГИС. Номинально он был для внешних участников, но в рамках отдельной оценки разрешили поучаствовать и своим. Надо сказать, что внутренний трек был с вдвое меньшими призовыми, защищаться одновременно с остальными было нельзя, и о самом существовании этого трека не упомянули ни в каких публикациях и отчётах об этом хакатоне. Ну да ладно.

Мы решали довольно прикольную задачу, и за двое суток у нас получилась офигенная, на мой взгляд, реализация. Красивая, вполне функциональная, с ворохом фишечек, и полноценно отражающая концепцию. Я бы даже сказал, что это один из наиболее доработанных хакатонных продуктов за всю мою соревновательную карьеру.

Идея такая: когда застройщик проектирует двор, он часто не учитывает предполагаемые потоки пешеходного трафика. Люди потом вытаптывают тропинки, которые редко облагораживают. А ещё отсутствие внимания к движению пешеходов может приводить, например, к переходу дорог в неположенном месте, перепрыгиванию через ограду и так далее. Почему бы заранее не оценить движение людей по информации с карты?

В итоге мы сделали редактор, который позволяет выбрать область на карте и разметить там зоны: проходимые, непроходимые, газон. Отметить взвешенные точки интереса. Например, вход в здание это менее популярная точка, чем остановка, потому что одной остановкой пользуются жильцы сразу нескольких зданий. В дополнение воспользовались привилегией сотрудников и автоматически грузим первичный набор точек и зон из API 2ГИС. Точки сразу бьются по категориям, чтобы выставить им вес, вокруг зданий рисуются границы, но результат можно редактировать и тюнить.

Самое сложное это алгоритмы. По размеченным зонам строится нерегулярная сетка (точнее на газоне, грубее за его пределами), а затем бьётся на рёбра триангуляцией Делоне. Далее у меня была мысль использовать алгоритм Муравьиной Колонии, но при таком числе рёбер он оказался абсолютно неприменимым. Так что поступили проще: вытаптываем первоначальные тропинки с помощью А*, а затем уменьшаем виртуальный вес вытоптанных рёбер для следующих итераций (чтобы будущим потокам было привлекательнее ходить по уже вытоптанному). Причём, степень этого уменьшения зависит от числа людей, идущих по маршруту, которое уже зависит от популярности точек в кластерах начала и конца.

В общем, повозиться пришлось изрядно. В конце второго дня мы всё ещё сидели пилили маршруты, уж было думали, что не успеем, но в итоге отправили решение почти ровно в 23:59, и ушли довольные спать. Получилось и правда круто: полноценный редактор с кучей функций и нормальным UI, работоспособная (хоть и не идеальная) система построения, «one more thing» с предзагрузкой из 2ГИС...

На защите, когда я смотрел другие доклады, сразу увидел, что наше решение на две головы более доделанное, чем остальные. Так и вышло: получили практически максимальный среди всех команд балл за реализацию и презентацию. Выше нас по этим показателям был только один проект (хороший, но очень простой в исполнении, поэтому реализовать его плохо было невозможно). Ну, хоть не зря сидели двое суток на выходных, да ведь?
🔥19👍5💔21
Объявили результаты. Из четырёх команд мы оказались на четвёртом месте. Сказать, что это стало мягко говоря удивлением — ничего не сказать. Секрет оказался прост: мы пришли четверо разработчиков делать проект на хакатон, который был назван таковым организаторами по ошибке. А оказался конкурсом бизнес-идей. В общей шкале оценки реализация значила всего 20%. Двадцать процентов. Двухдневная работа заняла одну пятую от общей оценки (презентация делалась за пределами основного времени). Зато более половины уделялось умозрительным критериям, не имеющим никакого отношения к собственно работе, проделанной командами на самом хакатоне: например «Прогнозируемый объём аудитории», «Вирусный эффект» (ага, для B2G продукта вирусный эффект). Как в той картинке, где разных животных, включая рыбу, просят залезть на дерево, кто быстрее.

При цене реализации в 20% можно было вообще ничего не кодить два дня, прийти без проекта, но зато удачно придумать и продать комиссии маркетинговую лапшу. Хакатоны нередко ругают за возможность «выиграть одной презентацией», но в такой критике обычно речь идёт об обмане относительно степени готовности прототипа. Здесь же такие условия были с самого начала заложены в систему.

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

В ноябре будет уже более масштабный внутренний so-called-хакатон в компании. Не понимаю, хочу ли теперь участвовать или нет. #dev
1🤯31👍76👨‍💻2🔥1
Media is too big
VIEW IN TELEGRAM
Вот демка как работает
6🔥44👍9
Самое удивительное в энтерпрайз-разработке — необходимость специально доказывать и аргументировать объективно правильные решения. Представь, приходишь на автомобильный завод, а там выпускают бензобаки с дыркой в центре одной из стенок. Причём, это не особенность конкретного рынка или потребителя, просто исторически так процессы сложились. Ты такой: «Эээ, зачем с дыркой, давайте делать без дырки». Но тебе отвечают, что нужно аргументировать, защитить эту позицию перед бизнесом, ещё и с цифрами. Показать, что затраты ниже, чем профит. А начальник производства тебе ещё и раскладывает: на бензобаки без дырки будет уходить больше металла, так что твоё предложение приведёт к росту расходов. Ещё и у клиентов баки начнут заполняться дольше, негативный опыт.

Ты находишь инженерные книжки с описанием физики сплошных сред: «Вот гляньте что пишут, вот аргументы, вот схемы и формулы». А в ответ слышишь, что книги это идеализация, и в жизни оно всё иначе, нужно реалистично смотреть. Но самое главное: перестраивать линию на отсутствие дырки это прям очень дорого: станки переконфигурировать, персонал обучать, да и наверняка первое время будут косяки, поставки снизятся. Короче если прям не докажешь, что профит от твоего предложения принесёт миллиард за день, то иди нафиг.

Почему в разработке такого много, а на реальных автомобильных заводах всё-таки делают без дырок? Я вижу две причины:

1. Во-первых, когда бензобак еб**ёт, или там самолёт упадёт, это очень заметно. Аварии происходят с шумом, нередко с травмами. А падение какого-нибудь входящего интеграционного потока из-за отсутствия контроля состояния модели — это тихо, без фейерверков. Ну насыпется в лог ошибок, пошёл, руками поправил пару записей в БД, запустил снова.

2. Во-вторых, всё-таки у разработки низкая степень разнообразной конкуренции из-за склонности этой сферы к монополизации (которая обусловлена простотой доставки потребителю). В мире порядка тысячи автопроизводителей, а вот софт одного типа обычно выпускает едва ли десяток компаний. Сколько фирм делают, например, САПР для твердотельного моделирования? Нейросетка мне привела девять. Сколько настоящих конкурентов у какого-нибудь Майкрософт Офиса? Один: гугл документы.

И вроде всё понятно, как оно работает, но не перестаю удивляться. Нужно прям реально убеждать людей, не на инженерном языке, а на языке бизнеса и маркетинга, что дырка в бензобаке это плохо. #dev #life
👍22💯10😢72😁1
Завёл тут в рабочей флудилке по Питеру тему про настольные игры. Предлагаю как-нибудь устроить настольный вечер, рассказываю, что у меня есть. Но реакции вялые, в духе «Надо спросить у всех». Ну и пофиг, не особо рассчитывал, честно говоря.

А потом кто-то приходит и спрашивает, не хотят ли коллеги сыграть в покер. И посыпались ответы: «Я хочу!», «Я тоже хочу!», «И меня зовите!»...

Я cижу и думаю: «БЛ**Ь!!! Боже, нет! Люди, остановитесь! Прекратите немедленно, что вы делаете?! То, что вам известно о существовании покера из американских фильмов, не делает его хорошей игрой! Даже сносной не делает, вы чего?!!!». Короче словил чувство, будто бы я начал разговор про Queen, а кто-то пришёл и сказал: «Кстати, о музыке, кто-нибудь хочет на концерт Бузовой?». И все такие оживились: «Да, я хочу, возьмите меня!», «Ооо, Бузова, и меня зовите», «Я пойду, когда?».

Прям чуть не нажал кнопку выхода, но удержался. Прости их, Господи, не ведают, что творят.

#life
😁40🤣16👍62🌭2
У протокола Яндекса по умному дому есть регламент, согласно которому Яндекс периодически запрашивает состояние всех устройств одного пользователя в рамках конкретного провайдера, одним запросом. Провайдеры забивают на поддержку этого метода, и возвращают не всегда корректный ответ, из-за чего про некоторые устройства Яндекс начинает думать, что они отвалились.

В такой ситуации Яндекс делает несколько попыток, а затем присылает пользователю уведомление типа «Датчик такой-то долго не отвечает». Фокус в том, что, если нажать на уведомление, открывается карточка этого устройства, которая запрашивает его состояние уже более целенаправленно: не методом получения всех устройств, а методом запроса по конкретному устройству. На эти методы производители не забивают, и карточка успешно обновляется.

Так вот. Какого хрена в Яндексе не догадались пропускать шаг с уведомлением и просто при неполучении состояния пытаться запрашивать его напрямую? Это же прям очень просто в реализации, экономит запросы на уведомления, не отвлекает юзера, делает систему более надёжной.

Не, ладно, я сам работаю в энтерпрайзе, поэтому знаю, что можно годами ждать исправления даже мелкого косяка, потому что так процессы устроены. Но всё-таки, блин. Прям подбешивает меня, и как пользователя, и как программиста. #dev
💯17😱4🤯1
Пишут, что Wildberries в полтора раза больше по выручке, чем Ozon. Понимает ли кто-то, почему так? Объясните, плиз.

Да, оба сервиса, как и подобает монополиям такого размера, изрядно оговнены всплывающими модалками, визуальным мусором, спамом в уведомлениях, тупорылой геймификацией и всем подобным. Но Wildberries помимо в целом худшего UX (например, систематически переключает меня на платёж WB-кошельком, которого у меня нет) косячит в своём основном флоу — продаже и доставке товаров. В достаточно высоком проценте покупок WB откровенно лжёт о сроках доставки и нарушает их на 1-2 дня. Пункты выдачи у WB сильнее захламлены и медленнее работают. Система возвратов более бюрократизирована. То есть именно как магазин WB хуже, но почему-то имеет бОльшую выручку.

Мне говорили, что дело в ценах и ассортименте. Про цены не подтвердилось: везде, где я посмотрел, разброс был плюс-минус в обе стороны и не такой большой, чтобы терпеть отвратный UX и враньё про сроки доставки.

Значит, ассортимент. Как я понимаю, речь в основном о товарах для девушек: одежда, косметика, что-то ещё. Но каким образом WB может продавать что-то, чего не может Озон? У них есть выход на закрытые рынки? Послабления от правительства? Какой-то ещё секрет? Я совершенно в этом не шарю, и не могу предложить даже внятную гипотезу. Может, кто-то знает, и расскажет в комментариях?

И такой вопрос: что бы вы делали, будучи владельцем Озона, чтобы сократить разрыв? Если дело действительно в ассортименте, то это, конечно, довольно обидно: все попытки сделать более аккуратный UX и более качественный user-flow разбиваются о толпу девочек, гонящихся за дешёвым китайским ширпотребом. #life
👍11😭6🤔2🤗2😱1💋1
Меня одного удивляет в статьях и уроках по ИИ вот это вот «Забирайте набор из 100 промптов на все случаи жизни!»? Это примерно как «Забирайте набор букв, из которых можно составлять слова!»
1😁36💯7🤣1
Коллега подсказал бомбическую вещь — Ottocast Mini. Это такой модуль, который втыкается в автомобиль и притворяется проводным соединением для AndroidAuto/CarPlay, но с телефоном соединяется без провода.

Когда-то давно я писал, что автомобильный софт отстаёт от реального мира на несколько лет. Связано это, по-видимому, с чудовищной инертностью процессов в автомобильной сфере и сложностью различных согласований и норм безопасности. Поэтому совершенно новый европейский автомобиль 2022 года в полной комплектации может не иметь беспроводного соединения AndroidAuto/CarPlay. Говорят, даже в премиум-сегменте такое есть: покупаешь тачку за 10-15 млн, а телефон только по проводу, хотя сама по себе технология и протоколы уже существуют очень давно.

В общем, теперь у меня на бортовом компьютере нормальный AA с нормальной навигацией (от 2ГИС, разумеется) и музыкой, а телефон при этом не нужно держать на поводке, который мешает и бесит.

#gadgets
👍16🔥21
#окр

Я вам уже рассказывал об организации инструмента на стене. Но часть инструмента не требуется в быстром доступе, однако и прятать в долгий ящик неудобно. Вот, например, стамеска. Часто ли дома нужна стамеска? Существенно реже, чем отвертка или дрель, но чаще, чем никогда. Для специфичных задач. Угломер, строительный степлер, струбцины, киянка — всё это нужно, но не постоянно.

Раньше такой инструмент был у меня свален в ящике, а потом я подумал: почему бы не использовать ту же систему, что и для стены? Тем более сами крючки и защелки у меня остались в избытке, достаточно было купить еще несколько оснований.

Было-стало:
526👏16🔥10😍6👍5