Анализ проектов
Заказчик отправил архив с десятками айтишных разработок и попросил в короткие сроки дать по нему заключение: что полезно, а что нет. Какие проекты выбросить, а какие выгодно развивать (с указанием потенциальной прибыли и перечня необходимых работ). С подобной задачей мы в лабе сталкивались не раз, но это была внутренняя кухня. А тут большое количество проектов, которые никто прежде в глаза не видел. Сроки сжатые, вникнуть в детали каждого проекта физически невозможно.
Невыполнимые задачи мы любим больше всего. Структурировали требования к оценке проекта и написали протокол для анализа. Работает так: загружаете исходные файлы проекта в LLM, загружаете файл протокола и в ответе получаете JSON с полным описанием проекта, багами, технологическим стеком, конкурентными преимуществами, потенциальной прибылью от внедрения, алгоритмом развития и необходимым ресурсам. При желании можно сделать все это пакетно: указываете каталог и получаете набор файлов с результатами.
Но сами по себе JSON-файлы изучать сложно. Поэтому на сдачу написали небольшой вьюер на JS. Загружаете в него все файлы JSON с описанием проектов и получаете визуализацию, сводную статистику по всем проектам, возможность изучить детали по каждому проекту и общую стратегию развития. Пока эта система больше напоминает концепт, чем промышленное решение, но для нашей конкретной задачи этого более чем достаточно.
Изначально задача казалось совершенно невыполнимой. А в итоге самую большую трудность вызвало придумать название. С одной стороны, мы написали протокол анализа. Но еще мы написали классическую программу для анализа проектов. Долго не могли решить, какое название выбрать: аналпро или проанал. В итоге остановились на первом варианте. Хотя я был против. Нужно было назвать систему "проанал", а название "аналпро" сохранить для расширенной коммерческой версии.
Заказчик отправил архив с десятками айтишных разработок и попросил в короткие сроки дать по нему заключение: что полезно, а что нет. Какие проекты выбросить, а какие выгодно развивать (с указанием потенциальной прибыли и перечня необходимых работ). С подобной задачей мы в лабе сталкивались не раз, но это была внутренняя кухня. А тут большое количество проектов, которые никто прежде в глаза не видел. Сроки сжатые, вникнуть в детали каждого проекта физически невозможно.
Невыполнимые задачи мы любим больше всего. Структурировали требования к оценке проекта и написали протокол для анализа. Работает так: загружаете исходные файлы проекта в LLM, загружаете файл протокола и в ответе получаете JSON с полным описанием проекта, багами, технологическим стеком, конкурентными преимуществами, потенциальной прибылью от внедрения, алгоритмом развития и необходимым ресурсам. При желании можно сделать все это пакетно: указываете каталог и получаете набор файлов с результатами.
Но сами по себе JSON-файлы изучать сложно. Поэтому на сдачу написали небольшой вьюер на JS. Загружаете в него все файлы JSON с описанием проектов и получаете визуализацию, сводную статистику по всем проектам, возможность изучить детали по каждому проекту и общую стратегию развития. Пока эта система больше напоминает концепт, чем промышленное решение, но для нашей конкретной задачи этого более чем достаточно.
Изначально задача казалось совершенно невыполнимой. А в итоге самую большую трудность вызвало придумать название. С одной стороны, мы написали протокол анализа. Но еще мы написали классическую программу для анализа проектов. Долго не могли решить, какое название выбрать: аналпро или проанал. В итоге остановились на первом варианте. Хотя я был против. Нужно было назвать систему "проанал", а название "аналпро" сохранить для расширенной коммерческой версии.
Идеальный корпоратив
Не хотел идти на очередной шабаш, поэтому опоздал. Пришел, а оказалось остальные опоздали еще больше.
Сижу один на улице, пью темное, смотрю на строительные леса. Размышляю о судьбе Довлатова. Завтра в пять утра на объект ехать.
Не так уж и плохи эти корпоративы. Дороговато выходит, но раз в год можно и шикануть.
Не хотел идти на очередной шабаш, поэтому опоздал. Пришел, а оказалось остальные опоздали еще больше.
Сижу один на улице, пью темное, смотрю на строительные леса. Размышляю о судьбе Довлатова. Завтра в пять утра на объект ехать.
Не так уж и плохи эти корпоративы. Дороговато выходит, но раз в год можно и шикануть.
Билеты ПДД
Как парковать коня? С заходом на тротуар или нет? С гужевой повозкой понятно. Но если я передвигаюсь по городу в седле, как ничего не нарушить?
Как парковать коня? С заходом на тротуар или нет? С гужевой повозкой понятно. Но если я передвигаюсь по городу в седле, как ничего не нарушить?
Media is too big
VIEW IN TELEGRAM
Соломоново кольцо
От кремлевского дворца до перехода у Балтийского вокзала всего пара десятков лет. Красота, богатство, мирская слава - все мимолетно. Даже не пойму, что меня больше впечатлило: ностальгия или затягивающий ужас декаданса.
От кремлевского дворца до перехода у Балтийского вокзала всего пара десятков лет. Красота, богатство, мирская слава - все мимолетно. Даже не пойму, что меня больше впечатлило: ностальгия или затягивающий ужас декаданса.
Нейровизуализация данных OSM
Случайно выдумал любопытный способ скрестить данные OpenStreetMap со спутниковым снимком. Подгружаете спутниковую подложку в QGis, при необходимости настраиваете смещение (по умолчанию в QGis этого функционала нет, но можно использовать наш старый скрипт). На основе высоты объектов строите псевдотрехмерную сцену в нужном ракурсе. Добавляете коммунальные текстуры для цвета стен и крыш, сохраняете все как изображение. Любители заморочек могут проделать аналогичную операцию с помощью блендера, но сейчас в этом нет особой нужды.
Затем полученную картинке загружаете в QWEN или куда удобнее и применяете примерно такой промт: "Для этого изображения нужны реалистичные текстуры домов, растительность должна выглядеть реалистично и объемно, цвета должны быть более яркие, радостные и весенние, автомобили на изображении должны быть объемными и реалистичными, небо более натуральным." Варианты могут быть другими, тут уже нужно экспериментировать с вашим изображением и потребностями.
В результате получается не идеал, но вполне реалистичная и узнаваемая картина. Сам не знаю, зачем она нужна, но можно распечатать и дырку в обоях закрывать. Или обдумать глубокий протокол визуализации и свести процедуру в пайплайн. Может тогда из этого и выйдет что-то полезное, но сейчас просто любопытно и симпатично.
На изображении вид на поселок ХБК в городе Шахты.
Случайно выдумал любопытный способ скрестить данные OpenStreetMap со спутниковым снимком. Подгружаете спутниковую подложку в QGis, при необходимости настраиваете смещение (по умолчанию в QGis этого функционала нет, но можно использовать наш старый скрипт). На основе высоты объектов строите псевдотрехмерную сцену в нужном ракурсе. Добавляете коммунальные текстуры для цвета стен и крыш, сохраняете все как изображение. Любители заморочек могут проделать аналогичную операцию с помощью блендера, но сейчас в этом нет особой нужды.
Затем полученную картинке загружаете в QWEN или куда удобнее и применяете примерно такой промт: "Для этого изображения нужны реалистичные текстуры домов, растительность должна выглядеть реалистично и объемно, цвета должны быть более яркие, радостные и весенние, автомобили на изображении должны быть объемными и реалистичными, небо более натуральным." Варианты могут быть другими, тут уже нужно экспериментировать с вашим изображением и потребностями.
В результате получается не идеал, но вполне реалистичная и узнаваемая картина. Сам не знаю, зачем она нужна, но можно распечатать и дырку в обоях закрывать. Или обдумать глубокий протокол визуализации и свести процедуру в пайплайн. Может тогда из этого и выйдет что-то полезное, но сейчас просто любопытно и симпатично.
На изображении вид на поселок ХБК в городе Шахты.
Анализ естественности изображений
В рамках изучения разной белиберды написали программу для оценки естественности изображений на основе идеи последовательности Бенфорда. Работает так: загружаете изображения, нажимаете кнопку "анализировать" и программа выдает значение для каждой картинки. Чем значение меньше, тем более естественное изображение. Не панацея от генеративных фейков и вообще черт знает что, но работает. Порой результаты удивляют, но совсем бестолковыми их не назвать.
Устроено внутри все просто: каждое изображение разбивается на блоки, они преобразуются через дискретное косинусное преобразование в коэффициенты у которых берется первая цифра. Из цифр составляется распределение, которое сравнивается с распределением Бенфорда с помощью дивергенции Кульбака-Лейблера. Величина дивергенции и есть метрика естественности. Все работает локально на нативном JS (фоточки никуда не отправляются, можно оценить насколько естественно ваше ню).
Программа в высшей мере спорная, но тем она и прекрасна. Не все же по кустам бегать и унылые конвертеры писать.
В рамках изучения разной белиберды написали программу для оценки естественности изображений на основе идеи последовательности Бенфорда. Работает так: загружаете изображения, нажимаете кнопку "анализировать" и программа выдает значение для каждой картинки. Чем значение меньше, тем более естественное изображение. Не панацея от генеративных фейков и вообще черт знает что, но работает. Порой результаты удивляют, но совсем бестолковыми их не назвать.
Устроено внутри все просто: каждое изображение разбивается на блоки, они преобразуются через дискретное косинусное преобразование в коэффициенты у которых берется первая цифра. Из цифр составляется распределение, которое сравнивается с распределением Бенфорда с помощью дивергенции Кульбака-Лейблера. Величина дивергенции и есть метрика естественности. Все работает локально на нативном JS (фоточки никуда не отправляются, можно оценить насколько естественно ваше ню).
Программа в высшей мере спорная, но тем она и прекрасна. Не все же по кустам бегать и унылые конвертеры писать.
Хабр
Несколько лет ничего на хабре не публиковал. И не заходил туда месяцами, во всяком случае специально. А тут решил почесать старину, разместил статейку. А заодно почитал, чем сейчас айтишная тусовка живет. Оказалось, живет она тухло. Вот честно, ни единой интересной публикации не нашел. Ни срача технологического, ни кэдээшных анимэшиков. Ощущение, будто ты из гаража где мужики копейку чинили попал в спортзал с гомосеками. От прежнего осталось только НЛО, которое надписи оставляет. После такого думаю, что на Лепру лучше вообще не заходить.
Вопрос: куда утекли хардкорные специалисты? Где сейчас общаются полоумные программисты? Или они все выросли, стали техлидами, код не пишут, а только волосатое пузо после тренировок чухают?
Несколько лет ничего на хабре не публиковал. И не заходил туда месяцами, во всяком случае специально. А тут решил почесать старину, разместил статейку. А заодно почитал, чем сейчас айтишная тусовка живет. Оказалось, живет она тухло. Вот честно, ни единой интересной публикации не нашел. Ни срача технологического, ни кэдээшных анимэшиков. Ощущение, будто ты из гаража где мужики копейку чинили попал в спортзал с гомосеками. От прежнего осталось только НЛО, которое надписи оставляет. После такого думаю, что на Лепру лучше вообще не заходить.
Вопрос: куда утекли хардкорные специалисты? Где сейчас общаются полоумные программисты? Или они все выросли, стали техлидами, код не пишут, а только волосатое пузо после тренировок чухают?
Словарь идей
Вот есть, допустим этимологический словарь. Или разные другие словари. А есть ли словарь идей? Что бы в нем и про колесо было, и про книгопечатание, и про торфоразведку, и про смартфон.
Понимаю, что такой словарь составить трудно. Но этимологический же составили, хотя новые слова тоже появляются каждый день.
Вот есть, допустим этимологический словарь. Или разные другие словари. А есть ли словарь идей? Что бы в нем и про колесо было, и про книгопечатание, и про торфоразведку, и про смартфон.
Понимаю, что такой словарь составить трудно. Но этимологический же составили, хотя новые слова тоже появляются каждый день.
Мировая политика
Современный мир напоминает мне подростков, которые толкают друг друга со словами "Ну ты чо? А ты чо?". Каждый ерепенится, корчит из себя невесть что, но драки оба боятся. В результате разойдутся все: и участники, и недовольные зрители. Уже давно пора было закончить третью мировую войну, а эти дураки до сих пор ни начать не могут, ни разойтись. Уже понятно: даже если начнут, будет все стыдно и уныло. Не то, что участвовать, смотреть скучно.
Современный мир напоминает мне подростков, которые толкают друг друга со словами "Ну ты чо? А ты чо?". Каждый ерепенится, корчит из себя невесть что, но драки оба боятся. В результате разойдутся все: и участники, и недовольные зрители. Уже давно пора было закончить третью мировую войну, а эти дураки до сих пор ни начать не могут, ни разойтись. Уже понятно: даже если начнут, будет все стыдно и уныло. Не то, что участвовать, смотреть скучно.
Точность исполнения
Прежде не обращал внимания на тщательность с которой в советское время оформляли метро. Вот, например, станция "Пушкинская" в Питере. Можно было налепить узоров и нормально. Но заморочились, выковали растения. Что за вид - не знаю, скорее всего по мотивам манускрипта Войнича. Но растение явно древесное, двух лет от роду (если это растение целиком, а не побег или верхушка) и срезанное поздней осенью.
Настоящее мастерство всегда вызывает восхищение. Хоть издали на него смотри, хоть вблизи.
Прежде не обращал внимания на тщательность с которой в советское время оформляли метро. Вот, например, станция "Пушкинская" в Питере. Можно было налепить узоров и нормально. Но заморочились, выковали растения. Что за вид - не знаю, скорее всего по мотивам манускрипта Войнича. Но растение явно древесное, двух лет от роду (если это растение целиком, а не побег или верхушка) и срезанное поздней осенью.
Настоящее мастерство всегда вызывает восхищение. Хоть издали на него смотри, хоть вблизи.
Ростовские гады
Несколько месяцев назад выложили на сайт лабы определитель земноводных и пресмыкающихся Ростовской области (1983 Е.П. Гуськов, Г.П. Лукина, В.А. Конева). Текст не трогали, он остался оригинальным, как в издании. Наши усилия ограничились только версткой, оформлением и JS-движком. Пользоваться можно уже сейчас, но рисунки там не ахти. Как будет время, разгребу свои авгиевы фотоконюшни и частично обновим.
Если у кого есть подходящие личные фотографии и поделится не жалко - кидайте мне в личку. Укажите только, как вас назвать и какую гиперссылку поставить (если необходимо).
Несколько месяцев назад выложили на сайт лабы определитель земноводных и пресмыкающихся Ростовской области (1983 Е.П. Гуськов, Г.П. Лукина, В.А. Конева). Текст не трогали, он остался оригинальным, как в издании. Наши усилия ограничились только версткой, оформлением и JS-движком. Пользоваться можно уже сейчас, но рисунки там не ахти. Как будет время, разгребу свои авгиевы фотоконюшни и частично обновим.
Если у кого есть подходящие личные фотографии и поделится не жалко - кидайте мне в личку. Укажите только, как вас назвать и какую гиперссылку поставить (если необходимо).
Секрет экселя
Если вы для работы с данными применяете эксель, значит работа ваша построена через жопу. Данные - как святая вода: можно переливать из одной емкости в другую, замораживать и даже выплеснуть на чертей. Но пальцы совать нельзя ни в коем случае ни в данные, ни в святую воду. Только чистота, полнота и высшая воля. Я вот, однажды в купель пописал, с тех пор в экселе с данными работаю.
Если вы для работы с данными применяете эксель, значит работа ваша построена через жопу. Данные - как святая вода: можно переливать из одной емкости в другую, замораживать и даже выплеснуть на чертей. Но пальцы совать нельзя ни в коем случае ни в данные, ни в святую воду. Только чистота, полнота и высшая воля. Я вот, однажды в купель пописал, с тех пор в экселе с данными работаю.
Протокол для ДЗЗ
Нынче модно улучшать разные картинки с помощью нейросетей. Сфоткал себя на лавке с полторашкой охоты, загрузил в нейронку и вот ты уже в президиуме международной конференции, вместо охоты микрофон, а соседние алкаши все сплошь во фраках. Тут и возникла мысль: а что, если на улучшение отправить не фоточку с телефона, а спутниковый снимок?
Как технологии не развивай, а примитивная работа по оцифровке не исчезает. Порой нужно отрисовывать границы по такой мути на снимках, что не сразу разберешь где объективные результаты, а где фантазия картографа. Можно, конечно, поиграть с каналами, паншарпенингом и фильтрами, но будем честны. Результат - та же самая фигня, только разбавленная работой алгоритмов, которые неизвестно как повлияли на изображение. Что произошло с пикселями понять еще можно, а вот как это связано с реальной картиной на снимке - загадка загадок.
В этом смысле, что детерминированная обработка, что вероятностная - одна фигня. Но с нейронками получается быстрее, а результат интереснее и настройки гибче некуда. Хоть сразу в план превращай (пробовали, хренотень получается). Одна беда у нейронок - нестабильность. От легкой вариативности, до дикого нейротрипа.
Чтобы хоть как-то формализовать процесс, мы в лабе написали экспериментальную версию протокола. Работает так: загружаете сцену или ее фрагмент и файл протокола (либо копируете протокол в промт), запускаете и через несколько секунд получаете результат. При необходимости можно дополнить или изменить протокол под особенности ваших снимков или задач (например, "убери с изображения все деревья").
Технология абсолютно экспериментальная, но для некоторых задач выдает вполне пригодные результаты. А для визуализации прямо идеальный подход. Интересно, насколько будут отличаться разные индексы, вроде VARI у исходного и сгенерированного изображения.
Если добавить детерминированную систему контроля результатов, которая будет сравнивать итоговое изображение с исходным, есть шанс получить полезный промышленный инструмент для работы с ДЗЗ. Не панацея, конечно, но все-равно лучше, чем мутные пятна разглядывать.
Нынче модно улучшать разные картинки с помощью нейросетей. Сфоткал себя на лавке с полторашкой охоты, загрузил в нейронку и вот ты уже в президиуме международной конференции, вместо охоты микрофон, а соседние алкаши все сплошь во фраках. Тут и возникла мысль: а что, если на улучшение отправить не фоточку с телефона, а спутниковый снимок?
Как технологии не развивай, а примитивная работа по оцифровке не исчезает. Порой нужно отрисовывать границы по такой мути на снимках, что не сразу разберешь где объективные результаты, а где фантазия картографа. Можно, конечно, поиграть с каналами, паншарпенингом и фильтрами, но будем честны. Результат - та же самая фигня, только разбавленная работой алгоритмов, которые неизвестно как повлияли на изображение. Что произошло с пикселями понять еще можно, а вот как это связано с реальной картиной на снимке - загадка загадок.
В этом смысле, что детерминированная обработка, что вероятностная - одна фигня. Но с нейронками получается быстрее, а результат интереснее и настройки гибче некуда. Хоть сразу в план превращай (пробовали, хренотень получается). Одна беда у нейронок - нестабильность. От легкой вариативности, до дикого нейротрипа.
Чтобы хоть как-то формализовать процесс, мы в лабе написали экспериментальную версию протокола. Работает так: загружаете сцену или ее фрагмент и файл протокола (либо копируете протокол в промт), запускаете и через несколько секунд получаете результат. При необходимости можно дополнить или изменить протокол под особенности ваших снимков или задач (например, "убери с изображения все деревья").
Технология абсолютно экспериментальная, но для некоторых задач выдает вполне пригодные результаты. А для визуализации прямо идеальный подход. Интересно, насколько будут отличаться разные индексы, вроде VARI у исходного и сгенерированного изображения.
Если добавить детерминированную систему контроля результатов, которая будет сравнивать итоговое изображение с исходным, есть шанс получить полезный промышленный инструмент для работы с ДЗЗ. Не панацея, конечно, но все-равно лучше, чем мутные пятна разглядывать.
Утро сентября
Вышел на улицу, а там дождь. И звезды. Кондиционер, что-ли у кого потек, думаю. Присмотрелся, нет никаких кондиционеров. А вода струями течет из каждого водостока. Даже не сразу сообразил: обильная роса выпала. Крыши у домов жестяные, металл охлаждается быстрее, в результате от каждой трубы на асфальте потоки воды. Местами даже лужицы набрались.
Темно, людей нет. Даже на вокзале грибники с корзинками не шастают. А ведь еще недавно в шесть утра едва ли не дискотека была.
Еду на объект. Все работы завершены давно, но остался научный интерес. И технологию потестировать нужно. И семена борщевика собрать. И по лесу погулять. Целых четыре дела получается.
Не все же за телевизором с кнопками сидеть. Для этого вся зима еще будет. А она скоро. Вон, даже трубы потекли.
Вышел на улицу, а там дождь. И звезды. Кондиционер, что-ли у кого потек, думаю. Присмотрелся, нет никаких кондиционеров. А вода струями течет из каждого водостока. Даже не сразу сообразил: обильная роса выпала. Крыши у домов жестяные, металл охлаждается быстрее, в результате от каждой трубы на асфальте потоки воды. Местами даже лужицы набрались.
Темно, людей нет. Даже на вокзале грибники с корзинками не шастают. А ведь еще недавно в шесть утра едва ли не дискотека была.
Еду на объект. Все работы завершены давно, но остался научный интерес. И технологию потестировать нужно. И семена борщевика собрать. И по лесу погулять. Целых четыре дела получается.
Не все же за телевизором с кнопками сидеть. Для этого вся зима еще будет. А она скоро. Вон, даже трубы потекли.
Соотношение цен
Я все понимаю, но. Построили железную дорогу. Провода протянули. Возвели атомную электростанцию, чтобы электричество добыть. Собрали электричку, а для этого пришлось здоровенный завод построить. Все это нужно было придумать, накопать, переплавить, подогнать, испытать. А еще и обслуживать. Тысячи людей сейчас заняты ради того, чтобы я один в пустом вагоне ехал.
А где-то собрали кофейные зерна, запихнули в мешок, пожарили, а потом кипятком залили. Труд кофеводов я не принижаю, но объективно: заварить чашку кофе - это совсем не то, что пол-сотни километров в стальной колбасе проехать.
А цена одинакова. Что у кофе, что у билета на электричку. Можно сколько угодно читать учебник экономики, но некоторые простые вещи не перестают меня удивлять.
Я все понимаю, но. Построили железную дорогу. Провода протянули. Возвели атомную электростанцию, чтобы электричество добыть. Собрали электричку, а для этого пришлось здоровенный завод построить. Все это нужно было придумать, накопать, переплавить, подогнать, испытать. А еще и обслуживать. Тысячи людей сейчас заняты ради того, чтобы я один в пустом вагоне ехал.
А где-то собрали кофейные зерна, запихнули в мешок, пожарили, а потом кипятком залили. Труд кофеводов я не принижаю, но объективно: заварить чашку кофе - это совсем не то, что пол-сотни километров в стальной колбасе проехать.
А цена одинакова. Что у кофе, что у билета на электричку. Можно сколько угодно читать учебник экономики, но некоторые простые вещи не перестают меня удивлять.