Как правильно писать тексты, чтобы их было удобно читать.
#мысль
Меня научный руководитель научил, когда я писал кандидатскую.
Заголовок текста (статьи/диссертации/поста) должен иметь точное название соответствующее основной мысли.
Сам текст должен расшифровывать эту мысль. Если текст большой он разбирается на блоки и у каждого блока так же есть заголовок, который опять же точно соответствует тексту, который он описывает.
Так что если просто прочитать оглавление (заголовки второго уровня), должен получиться связный текст, который более подробно раскрывает смысл по сравнению с заголовком.
Большой текст может иметь сложную древовидную структуру и он должен быть образован так, чтобы мы могли расхлопнуть какие-то "подпапки", а какие-то не расхлопывать. И при любом таком расхлопывании должен получаться связный текст.
В век перегрузки информации это очень полезно, так как позволяет экономить ментальные усилия по прочтению текста и экономии времени, чтобы не читать то, что очевидно или не нужно конкретному читателю.
Это еще напоминает формат GIF когда изображение загружается сначала большими квадратиками, а потом всё более четко.
В книгах до 19 века кстати практиковались аннотации к каждой главе, они были, например, в Робинзоне Крузо и Графе Монте Кристо.
#мысль
Меня научный руководитель научил, когда я писал кандидатскую.
Заголовок текста (статьи/диссертации/поста) должен иметь точное название соответствующее основной мысли.
Сам текст должен расшифровывать эту мысль. Если текст большой он разбирается на блоки и у каждого блока так же есть заголовок, который опять же точно соответствует тексту, который он описывает.
Так что если просто прочитать оглавление (заголовки второго уровня), должен получиться связный текст, который более подробно раскрывает смысл по сравнению с заголовком.
Большой текст может иметь сложную древовидную структуру и он должен быть образован так, чтобы мы могли расхлопнуть какие-то "подпапки", а какие-то не расхлопывать. И при любом таком расхлопывании должен получаться связный текст.
В век перегрузки информации это очень полезно, так как позволяет экономить ментальные усилия по прочтению текста и экономии времени, чтобы не читать то, что очевидно или не нужно конкретному читателю.
Это еще напоминает формат GIF когда изображение загружается сначала большими квадратиками, а потом всё более четко.
В книгах до 19 века кстати практиковались аннотации к каждой главе, они были, например, в Робинзоне Крузо и Графе Монте Кристо.
👍19🔥7❤3😁1
#текучка #воронка_продаж
Буду делать расписание самолётов для АК Россия. Подписал контракт. Всë как я люблю - задача сложная, сроки горят.
Буду делать расписание самолётов для АК Россия. Подписал контракт. Всë как я люблю - задача сложная, сроки горят.
🔥18👍13
Решил сменить аватарку. Логотипчик клевый, но общение получалось слишком анонимное.
👍15🗿1
#кейс #алгоритмы #бизнес_аналатика #касдев #дата_инженерия Работа с любым клиентом начинается с загрузки данных. Казалось бы один раз помучался и загрузил. Но мы в наших проектах постоянно упирались в кучу проблем с этим связанными.
1. Ошибки во входных данных. Люди их видят и могут справляться. А вот программа сходу так не может. Здравый смысл алгоритму прикрутить можно, но это большие дополнительные усилия.
2. Неявные ручные бизнес процессы. Люди принимают решения и что-то помечают в таблицах, а что-то остается в голове. Есть правила заполнения, но они не всегда выполняются. В результате, во входных данных иногда невозможно определить что мусор, а что важно.
3. Заведомо некорректные входные данные. Один наш потенциальный клиент очень вольно трактовал 139 приказ (лётные правила). Если не придираться, то они все выполняли. А если посмотреть, как пилот приземляясь в Петербурге оказывался через 12 часов в Москве, то возникали вопросы как он успел выспаться дома и уехать в Москву. В результате во входных данных всегда были телепорты пилотов и нам с этим приходилось работать.
Другая компания ставила прилет самолета из Турцию в Москву в 23.00 На самом деле он всегда прилетал в час ночи. Турист приезжал в аэропорт и ему объявлялось, что самолет задерживается.
На бумаге одно, а в уме другое.
4. Никогда такого не было и вот опять (с).
Вообще забавно, что у заказчиков всегда разрыв в голове между тем, как должно быть, и как оно на самом деле. Ни один заказчик не расскажет, какая фигня случается. Пока не не погрузитесь на половину в проект. Да и тогда он не то что расскажет, а когда вы носом ткнете помнется и признается, что да иногда такая ерунда случается.
На самом деле, чтобы алгоритм был реально полезен, его надо разрабатывать для реальных случаев, а не воздушных замков. И разрыв между этими штуками бывает очень большой.
В одной компании, тщательно следили за выполнением 139 приказа и были уверены, что его нарушений нет в принципе. А мы нашли там грубейшие вещи, главный диспетчер, говорят, когда увидел "поседел во второй раз".
В общем, чтобы почистить данные для алгоритма иногда приходится оцифровать компанию, изменить их существующие процессы и поменять принципы управления. 🤣
Я это рассказываю всем крупным заказчикам, чтобы готовить их. Потому что есть большой фронт работ, который не запланирован в ТЗ, но который все равно придется делать. И если сроки из-за этого сползут, надо чтобы было точно понятно, что я делал все что мог, чтобы этого не случилось.
1. Ошибки во входных данных. Люди их видят и могут справляться. А вот программа сходу так не может. Здравый смысл алгоритму прикрутить можно, но это большие дополнительные усилия.
2. Неявные ручные бизнес процессы. Люди принимают решения и что-то помечают в таблицах, а что-то остается в голове. Есть правила заполнения, но они не всегда выполняются. В результате, во входных данных иногда невозможно определить что мусор, а что важно.
3. Заведомо некорректные входные данные. Один наш потенциальный клиент очень вольно трактовал 139 приказ (лётные правила). Если не придираться, то они все выполняли. А если посмотреть, как пилот приземляясь в Петербурге оказывался через 12 часов в Москве, то возникали вопросы как он успел выспаться дома и уехать в Москву. В результате во входных данных всегда были телепорты пилотов и нам с этим приходилось работать.
Другая компания ставила прилет самолета из Турцию в Москву в 23.00 На самом деле он всегда прилетал в час ночи. Турист приезжал в аэропорт и ему объявлялось, что самолет задерживается.
На бумаге одно, а в уме другое.
4. Никогда такого не было и вот опять (с).
Вообще забавно, что у заказчиков всегда разрыв в голове между тем, как должно быть, и как оно на самом деле. Ни один заказчик не расскажет, какая фигня случается. Пока не не погрузитесь на половину в проект. Да и тогда он не то что расскажет, а когда вы носом ткнете помнется и признается, что да иногда такая ерунда случается.
На самом деле, чтобы алгоритм был реально полезен, его надо разрабатывать для реальных случаев, а не воздушных замков. И разрыв между этими штуками бывает очень большой.
В одной компании, тщательно следили за выполнением 139 приказа и были уверены, что его нарушений нет в принципе. А мы нашли там грубейшие вещи, главный диспетчер, говорят, когда увидел "поседел во второй раз".
В общем, чтобы почистить данные для алгоритма иногда приходится оцифровать компанию, изменить их существующие процессы и поменять принципы управления. 🤣
Я это рассказываю всем крупным заказчикам, чтобы готовить их. Потому что есть большой фронт работ, который не запланирован в ТЗ, но который все равно придется делать. И если сроки из-за этого сползут, надо чтобы было точно понятно, что я делал все что мог, чтобы этого не случилось.
🔥16💯10👍5❤1
План работы на сегодня:
#текучка #воронка_продаж
9:15 планерка
10:00 созвон с лидом
12:30 созвон с клиентом 1
13:30 день рождения сына
15:00 созвон с клиентом 2
16:00 созвон с клиентом 3.
Еще в перерывах успевать надо писать документы, покодить и текучку разгрести.
#текучка #воронка_продаж
9:15 планерка
10:00 созвон с лидом
12:30 созвон с клиентом 1
13:30 день рождения сына
15:00 созвон с клиентом 2
16:00 созвон с клиентом 3.
Еще в перерывах успевать надо писать документы, покодить и текучку разгрести.
👍9
#текучка
Уехал на воллейбольный кемп на круизном лайнере. Сейчас в Стамбуле. Отпуск это значит работать буду часов 20 в неделю 😂
Уехал на воллейбольный кемп на круизном лайнере. Сейчас в Стамбуле. Отпуск это значит работать буду часов 20 в неделю 😂
😎12🔥10😁5👍1
Гуляли по Стамбулу, видели много довольных котиков.
#текучка #ai
Вспомнилась связь с AI. Многие боятся искусственного интеллекта, дескать он вытеснит людей. Ну да он вытеснит. Но ИИ создан и продолжает создаваться, чтобы заботиться о людях. Ну он и будет заботиться дальше. А люди станут котиками ИИшечек.
#текучка #ai
Вспомнилась связь с AI. Многие боятся искусственного интеллекта, дескать он вытеснит людей. Ну да он вытеснит. Но ИИ создан и продолжает создаваться, чтобы заботиться о людях. Ну он и будет заботиться дальше. А люди станут котиками ИИшечек.
🤔2
Математика как золото, мало найти, надо еще добыть и обогатить.
#текучка #математика #воронка_продаж
Вернулся из отпуска. Сил там писать не было. Столкнулся с интересной ситуацией. Один воллейболист работает на золоторудном ГОК и решает там математические задачки. Решает их на коленке и не стабильно. Но в целом нормально. Пообщавшись с ним с одной стороны увидел, что задачи у них есть. В том смысле, что они теряют деньги из-за того, что делают что-то не оптимально и на коленке. Но эти задачи будет очень тяжело решать и внедрять, потому что люди хотят получить не просто ответ. А интерпретируемый ответ. Почему именно он лучший и как по шагам его получить. Грубо говоря нужно по формулами в экселе разложить. Но очень понятно считать ли это просто сильно холодным клиентом (шихтой с низким содержанием математики :) и не заморачиваться или придумать какой-то метод по обогащению и извлечению.
Еще одна ситуация. Мой друг детства устроился на работу к другому другу детства. :) И первый увидел и рассказал второму что я могу порешать ему кучу его задач. Я собственно сам второму рассказывал, но видимо не отложилось, что я могу не только решать математику но и запрограммировать.
Даже друзья которые, знают меня и мои способности, у которых есть проблема не осознают, что у меня есть серебряная пуля для этой проблемы.
Надо будет сформулировать критерий, как внутри какой-то компании понять, что пора звать математика.
#текучка #математика #воронка_продаж
Вернулся из отпуска. Сил там писать не было. Столкнулся с интересной ситуацией. Один воллейболист работает на золоторудном ГОК и решает там математические задачки. Решает их на коленке и не стабильно. Но в целом нормально. Пообщавшись с ним с одной стороны увидел, что задачи у них есть. В том смысле, что они теряют деньги из-за того, что делают что-то не оптимально и на коленке. Но эти задачи будет очень тяжело решать и внедрять, потому что люди хотят получить не просто ответ. А интерпретируемый ответ. Почему именно он лучший и как по шагам его получить. Грубо говоря нужно по формулами в экселе разложить. Но очень понятно считать ли это просто сильно холодным клиентом (шихтой с низким содержанием математики :) и не заморачиваться или придумать какой-то метод по обогащению и извлечению.
Еще одна ситуация. Мой друг детства устроился на работу к другому другу детства. :) И первый увидел и рассказал второму что я могу порешать ему кучу его задач. Я собственно сам второму рассказывал, но видимо не отложилось, что я могу не только решать математику но и запрограммировать.
Даже друзья которые, знают меня и мои способности, у которых есть проблема не осознают, что у меня есть серебряная пуля для этой проблемы.
Надо будет сформулировать критерий, как внутри какой-то компании понять, что пора звать математика.
👍14🤔3
Задач становится всё больше, задачи все интересней. Снова ищу разработчиков.
#вакансия
### Ищем Middle/Senior Python Backend-разработчика с опытом в оптимизации и анализе данных
Разрабатываем сложные оптимизационные модели.
Математические модели у нас есть — нужен разработчик, который сможет эффективно встраивать и дорабатывать прототипы.
Что предстоит делать:
- Решать задачи дискретной оптимизации (Pyomo) с учетом множества ограничений.
- Интегрироваться с внешними API (httpx) и обрабатывать данные (Pandas).
- Строить графовые алгоритмы и анализировать временные ряды.
- Писать чистый, тестируемый код (Pytest, Pydantic).
Что мы ждем от вас:
- Опыт работы с Python.
- Умение работать с Pandas и внешними API.
- Понимание принципов анализа данных и построения алгоритмов.
- Готовность разбираться в сложных задачах и искать нетривиальные решения.
Будет плюсом:
- Опыт работы с оптимизационными моделями и решателями (Pyomo, CPLEX, Scip, Gurobi, etc.)
- Опыт взаимодействия с ИИ-агентами (ChatGPT, Claude, Gemini и др.) для:
- Автоматизации рутинных задач разработки
- Генерации и рефакторинга кода
- Поиска оптимальных решений сложных алгоритмических задач
- Документирования и анализа кодовой базы
Что предлагаем:
- Удаленную работу с гибким графиком.
- Достойную оплату и быстрый профессиональный рост.
- Интересные проекты на стыке математики и разработки.
Если вам близки задачи, где код решает реальные оптимизационные проблемы, а ИИ помогает в разработке — будем рады познакомиться! 🚀
#вакансия
### Ищем Middle/Senior Python Backend-разработчика с опытом в оптимизации и анализе данных
Разрабатываем сложные оптимизационные модели.
Математические модели у нас есть — нужен разработчик, который сможет эффективно встраивать и дорабатывать прототипы.
Что предстоит делать:
- Решать задачи дискретной оптимизации (Pyomo) с учетом множества ограничений.
- Интегрироваться с внешними API (httpx) и обрабатывать данные (Pandas).
- Строить графовые алгоритмы и анализировать временные ряды.
- Писать чистый, тестируемый код (Pytest, Pydantic).
Что мы ждем от вас:
- Опыт работы с Python.
- Умение работать с Pandas и внешними API.
- Понимание принципов анализа данных и построения алгоритмов.
- Готовность разбираться в сложных задачах и искать нетривиальные решения.
Будет плюсом:
- Опыт работы с оптимизационными моделями и решателями (Pyomo, CPLEX, Scip, Gurobi, etc.)
- Опыт взаимодействия с ИИ-агентами (ChatGPT, Claude, Gemini и др.) для:
- Автоматизации рутинных задач разработки
- Генерации и рефакторинга кода
- Поиска оптимальных решений сложных алгоритмических задач
- Документирования и анализа кодовой базы
Что предлагаем:
- Удаленную работу с гибким графиком.
- Достойную оплату и быстрый профессиональный рост.
- Интересные проекты на стыке математики и разработки.
Если вам близки задачи, где код решает реальные оптимизационные проблемы, а ИИ помогает в разработке — будем рады познакомиться! 🚀
🔥14👍6❤3
#текучка #ai #постановка
В работе математика главное уметь абстрагироваться от не нужных для конкретной задачи условий. Привязка к миру мешает. В результате математики все немного странные, как герои Алисы в стране чудес (это вообще самая математическая книга из того, что я знаю). Это фича, а не баг.
И это на самом деле сложно.
Сотруднице заказчик сказал придумать схему с AI, не экономя деньги на запросы. Я сказал то же самое. И все равно она пишет вот нашла такую схему, но тут цена вырастает в 20 раз до доллара за запрос.
Чересчур отвязываться тоже вредно. Вот в этой задачке, ловят людей на том, что они забывают название задачи и переходят к числам забывая про кубики.
В работе математика главное уметь абстрагироваться от не нужных для конкретной задачи условий. Привязка к миру мешает. В результате математики все немного странные, как герои Алисы в стране чудес (это вообще самая математическая книга из того, что я знаю). Это фича, а не баг.
И это на самом деле сложно.
Сотруднице заказчик сказал придумать схему с AI, не экономя деньги на запросы. Я сказал то же самое. И все равно она пишет вот нашла такую схему, но тут цена вырастает в 20 раз до доллара за запрос.
Чересчур отвязываться тоже вредно. Вот в этой задачке, ловят людей на том, что они забывают название задачи и переходят к числам забывая про кубики.
👍3
Интересно кто в каком редакторе кодит. Я вот все не могу выйти из VIM. Даже в VS Code не перешел. А вот в курсор пора видимо уже.
Anonymous Poll
10%
Простой типа notepad++
55%
Навороченное IDE Visual Studio/PyCharm
20%
Ноутбуки типа Jupyter
9%
Олдскульные vim/emacs
21%
ИИшный Cursor
9%
Другое
Планирую выступать на конференциях с потенциальными заказчиками. Помогите определить темы. Вот я такой для себя список тем набросал.
Anonymous Poll
24%
Как выбирать программные продукты в условиях появления ИИ
22%
Цифровизация компаний, боевой опыт.
71%
Как понять, что вам в компании нужна математика.
23%
Рост бизнеса в условиях неопределенности и появления ИИ
5%
В чем бы вы хотели разобраться связанным с математикой, разработкой ПО и ИИ? Напишите в комментариях
MM.DD.YYYY
#алгоритмы #баг #даты
Словили забавный баг. План работ ломался до 12 апреля, а с 13 починился. Заподозрил, что путаются день и месяц. Проверил и правда! 11 апреля улетало в 4 ноября, а 12 апреля в 4 декабря. Баг был мелкий и виртуальный (в тестовой системе) быстро поправили. Но все равно американцу, который решил писать дату в формате MM.DD.YYYY надо руки оторвать.
#алгоритмы #баг #даты
Словили забавный баг. План работ ломался до 12 апреля, а с 13 починился. Заподозрил, что путаются день и месяц. Проверил и правда! 11 апреля улетало в 4 ноября, а 12 апреля в 4 декабря. Баг был мелкий и виртуальный (в тестовой системе) быстро поправили. Но все равно американцу, который решил писать дату в формате MM.DD.YYYY надо руки оторвать.
😁23🙏3👍2
#резюме
А никто не пилит ИИ стартап с прицелом на международный рынок ?
У меня есть сильная знакомая, которая ищет позицию growth product в подобных компаниях.
UPD. Устроил человека. Если что обращайтесь :)
А никто не пилит ИИ стартап с прицелом на международный рынок ?
У меня есть сильная знакомая, которая ищет позицию growth product в подобных компаниях.
UPD. Устроил человека. Если что обращайтесь :)
🔥4❤1
#история #бизнес
Я в реальной жизни попадал в такую ситуацию. Обошлось все для меня хорошо. А подрядчик убытки вроде зафиксировал, в итоге. Вариантов, я так понял, не было, "место проклятое".
Работать субподрядчиком имеет свои плюсы. Математическая часть это волшебство, ключевая часть проекта и без неё не взлетит.
Но по объему работ она всегда сильно меньше, чем разработка самого софта вокруг расчетного ядра.
В результате, если сроки сползают, то всегда по вине подрядчика, а я всегда успеваю свои дела сделать.
Правда я все равно хочу и разработкой софта заняться. Потому что математическая часть вкусная и приятная, но мелкая. Условно говоря, если есть проект за 100 миллионов, с прибылью в 30, то моя часть оттуда 10 с прибылью в 5.
– У нас новый сотрудник – Алексей! Введите его в курс дел нашей фирмы.
– Лёха, беги!
Я в реальной жизни попадал в такую ситуацию. Обошлось все для меня хорошо. А подрядчик убытки вроде зафиксировал, в итоге. Вариантов, я так понял, не было, "место проклятое".
Работать субподрядчиком имеет свои плюсы. Математическая часть это волшебство, ключевая часть проекта и без неё не взлетит.
Но по объему работ она всегда сильно меньше, чем разработка самого софта вокруг расчетного ядра.
В результате, если сроки сползают, то всегда по вине подрядчика, а я всегда успеваю свои дела сделать.
Правда я все равно хочу и разработкой софта заняться. Потому что математическая часть вкусная и приятная, но мелкая. Условно говоря, если есть проект за 100 миллионов, с прибылью в 30, то моя часть оттуда 10 с прибылью в 5.
🔥9👍5❤4👌3
#текучка
Сдали с боями в прошлую пятницу этап для АК Россия. Первый этап самый сложный - сделать надо больше всего, при этом не т согласованности между людьми. Было больно но пробились. Дальше будет проще.
Еще из интересного - в апреле было два лида из-за границы, все из "записной книжки". Юр лицо делать там не хочется, буду думать что с этим делать.
Сдали с боями в прошлую пятницу этап для АК Россия. Первый этап самый сложный - сделать надо больше всего, при этом не т согласованности между людьми. Было больно но пробились. Дальше будет проще.
Еще из интересного - в апреле было два лида из-за границы, все из "записной книжки". Юр лицо делать там не хочется, буду думать что с этим делать.
🔥7👍3🏆3👀1
#выступления #вопрос
Предлагают поучаствовать в конфернции TechWeek. Говорят крутая конференция, но я что то не слышал. Действительно крутая? Кто-то туда идет?
UPD. Все ясно )
Предлагают поучаствовать в конфернции TechWeek. Говорят крутая конференция, но я что то не слышал. Действительно крутая? Кто-то туда идет?
UPD. Все ясно )
СТОЛП (Стандартные Технологии Организации Линейного Программирования) или
Быстрый поиск ошибки в задаче ЦЛП.
#алгоритмы #mip #opensource
При разработке ЦЛП есть такая проблема, что их очень неудобно отлаживать. Нельзя дебаггером пройтись и понять, в каком уравнении сделал ошибку.
При написании модели они часто оказываются несовместными (infeasible), и надо искать, где именно произошла ошибка. У коммерческих солверов для этого есть механизм поиска минимального набора несовместных ограничений. Но это очень неудобная штука. Они там просто в каждое ограничение добавляют слак переменную, и дальше минимизируют их набор. Задача оказывается почти всегда сильно более сложной, и я почти никогда не дожидался, когда она доработает.
А я придумал другой подход. Я просто беру lp файл и ищу какое-нибудь несовместное ограничение бинарным поиском. То есть удаляю половину ограничений и смотрю есть ли решение или нет. Если нет, удаляю половину оставшихся ограничений и т.д.
Этот метод оказывается на практике очень быстрым и полезным. Задачки обычно считаются моментально и можно быстро найти ограничение, на котором падает и это часто наводит на мысли.
Я пошел дальше и сделал функцию, которая это делает за меня автоматически. Увидеть как программа сама находит некорректное ограничение, это просто кайф❤️🔥 .
А потом я пошел еще немного дальше и сделал свободную библиотеку СТОЛП, куда положил эту функцию.
https://gitlab.com/tarasov.alexey/stolp/
Если кто так же настрадался копаясь в инфизиблах, милости прошу использовать. Буду очень рад, если эта штука еще кому-то пригодится.
P.S. У меня есть еще разные ноухау, которыми я планирую делиться и выкладывать их в этот проект. По мере свободного времени буду это делать.
Быстрый поиск ошибки в задаче ЦЛП.
#алгоритмы #mip #opensource
При разработке ЦЛП есть такая проблема, что их очень неудобно отлаживать. Нельзя дебаггером пройтись и понять, в каком уравнении сделал ошибку.
При написании модели они часто оказываются несовместными (infeasible), и надо искать, где именно произошла ошибка. У коммерческих солверов для этого есть механизм поиска минимального набора несовместных ограничений. Но это очень неудобная штука. Они там просто в каждое ограничение добавляют слак переменную, и дальше минимизируют их набор. Задача оказывается почти всегда сильно более сложной, и я почти никогда не дожидался, когда она доработает.
А я придумал другой подход. Я просто беру lp файл и ищу какое-нибудь несовместное ограничение бинарным поиском. То есть удаляю половину ограничений и смотрю есть ли решение или нет. Если нет, удаляю половину оставшихся ограничений и т.д.
Этот метод оказывается на практике очень быстрым и полезным. Задачки обычно считаются моментально и можно быстро найти ограничение, на котором падает и это часто наводит на мысли.
Я пошел дальше и сделал функцию, которая это делает за меня автоматически. Увидеть как программа сама находит некорректное ограничение, это просто кайф
А потом я пошел еще немного дальше и сделал свободную библиотеку СТОЛП, куда положил эту функцию.
https://gitlab.com/tarasov.alexey/stolp/
Если кто так же настрадался копаясь в инфизиблах, милости прошу использовать. Буду очень рад, если эта штука еще кому-то пригодится.
P.S. У меня есть еще разные ноухау, которыми я планирую делиться и выкладывать их в этот проект. По мере свободного времени буду это делать.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25👍7👏3