-
Сообщений
6 822 -
Зарегистрирован
-
Посещение
-
Время онлайн
116д 18ч 23м 7с
Все публикации пользователя Arzanis
-
Еще бы они выравнивание по ширине сделали за 20 ЕБУЧИХ ЛЕТ ПРОСЬБ от кучи юзеров.
-
Это ответ 4.1, можешь дать своей пятерке, в принципе.
-
Дам в жопу. чтобы понять что это значит. Ну ладно, гемини вроде аишка. Ничего, скоро я все узнаю Фраза "прикручивал данные к gemini cli видимо" — это неформальное, разговорное выражение, которое часто можно встретить в среде программистов. Давай разберём по частям: - **прикручивал** — жаргонное слово, означающее «присоединял», «делал интеграцию», «связывал что-то с чем-то». Часто используют, когда речь идёт о довольно грубой, быстрой или не самой изящной интеграции чего-либо («просто прикрутили и работает»). - **данные** — собственно, информация, с которой работали (какие-то файлы, параметры, запросы и т.д.). - **к gemini cli** — скорее всего, речь о какой-то командной утилите (CLI — Command Line Interface) с названием **gemini**. - **видимо** — означает, что говорящий не уверен на 100%, но предполагает, что это было именно так. **В целом смысл фразы:** > Кто-то (или сам собеседник) интегрировал данные (скорее всего, каким-то не самым сложным способом) в командную утилиту Gemini (или сделал так, что CLI-интерфейс Gemini получает эти данные). Но говорящий не уверен, просто предполагает, что это происходило именно так. **Почему так говорят?** Жаргон "прикрутить" часто используется в среде разработчиков, когда что-то «быстро подсоединили», «налепили поверх», сделали минимально рабочую связку, не обязательно идеальным способом. Если нужно литературнее: «Похоже, он просто интегрировал эти данные в gemini CLI.» Если нужна расшифровка для совсем новичка: > «Похоже, он сделал так, чтобы эти данные можно было использовать в командной программе gemini, хотя я точно не знаю, как именно это было сделано».
-
с 2020 не существует джуновских вакансий. - открываешь газету и смотришь зарплатный потолок по профессиям. - зарплатный потолок, это та цифра - которую бизнес готов платить за разработку. Бизнес 24на7 пытается оптимизировать свои затраты и вместо 300-400к синьорам покупать их за 200-300к -> 100-200 ->50-100. За еду в идеале. или еще лучше, чтобы за тебя это делали роботы. -нужно понять, если ты не решаешь задачи бизнеса, тебя увольняют. - нужно понимать, что нужен разраб, который разговаривает с бизнесом, предлагает пути решения и выбранную реализацию имплементит в код. Это по определению senior. - загугли зп синьора в твоем сегменте(снг/азия/европа). - если к тебе приходят с оффером, что нам нужен джун/миддл за 150к или синьор за 200/250 - значит ты ниже рынка идешь, кто-то эту разницу кладет к себе в карман. метрика trainee->junior->middle->senior придумана бизнесом, чтобы экономить деньги на разрабах. -Ты можешь быть стажером 2-3месяца. И после стажировки ты будешь выполнять точно такие-же задачи что и 8летний сеньор на проекте. Ты ничем не отличаешься от него. аутсорсVsбигтех. В аутсорсе - тебя купят за джуновский оффер, под требования синьора и ты будешь спасать заказчика, чтобы он не ушел из твоей компании. А значит в аутсорсе ты фуллстек devOps с менеджерскими навыками и составлением тз. И это все за джуновскую зп. В бигтехе - тебя тоже могут купить за джуновский оффер, такое тоже бывает. + чуть лучше выстроенны процессы в команде(ну они хотябы есть). У вас есть фронты, беки, тесты, аналы, пм и лид. Бизнесу поебать какую тебе там лычку дали, если ты не решаешь его бизнес цели, тебя увольняют. Поэтому на рынке онли синьоры. Братишка, тебе бы в отпуск с фул детоксом на пару месяцев.
-
video_2025-09-03_17-21-20.mp4 /monthly_2025_09/video_2025-09-03_17-21-20.mp4.bfbee7897b905dd99b231036e31c9e50.mp4
-
Разве it-шников в банках не выделяют в отдельное юрлицо? Там сильно подприжали всех этих дочек. Многие схлопнули. Насколько понимаю, теперь дочка должна быть "реальной" - иметь оборот, приносить прибыль и т.д. Не быть фиктивной крч. То есть: Если у тебя в дочке нулевой оборот - тебя выебут. Если у тебя в дочке айтишников на сотни миллионов ФОТа, а прибыли 100к в год - тебя выебут. И т.д. Так что сильно сложно стало. дак у тебя эти дочки оформляются как получающие заказ на разработку, не? ну на прибыль маржу какую-то среднюю по больнице накрутить не проблема кажется Раньше вроде так и было, типа выкинули всё айти в дочку и контракт в стиле "Они нам делают ваще ВСЁ за 100500 мульонов". Теперь такое не катит и ты должен нарезать свои 500 микросервисов в условных 10 продуктов, описать их юридически как продукты и продать материнской компании. Это всё еще возможно сделать, но у финтехов (да и вообще у всех неайтишных изначально компаний) с этим есть некоторые траблы.
-
Разве it-шников в банках не выделяют в отдельное юрлицо? Там сильно подприжали всех этих дочек. Многие схлопнули. Насколько понимаю, теперь дочка должна быть "реальной" - иметь оборот, приносить прибыль и т.д. Не быть фиктивной крч. То есть: Если у тебя в дочке нулевой оборот - тебя выебут. Если у тебя в дочке айтишников на сотни миллионов ФОТа, а прибыли 100к в год - тебя выебут. И т.д. Так что сильно сложно стало.
-
Например? Типа команда из 10 человек, в этом году на перфоманс ревью 6 слотов и 4 человека вообще не оценят? Если все эти 10человек впахивали и заслужили ревью, затем они запрашивают есть ли слот - если 10слотов не будет, значит кому-то не дадут слот. У кого шансы больше? У чела с удаленки или у чела в офисе? узнать заранее про эту инфу, сколько вообще слотов в этом году выдали. И какой объем нужно кпи выполнить, чтобы ты имел право вообще делать запрос на перформанс ревью Звучит как дикая хуйня. @Grohuf это правда?
-
Например? Типа команда из 10 человек, в этом году на перфоманс ревью 6 слотов и 4 человека вообще не оценят?
-
Ужас какой. Можно уточнить кого ты относишь к бигтеху? Что-то я не особо слышал о таком в озоне, яндексе, тиньке.
-
В озоне бтв
-
Нахуй с дотой из таверны
-
Не мог бы ты прикладывать источник. А то по тексту 1 в 1 есть только в уважаемом издании ГАЗЕТА "СЕМЬ ПЛЮС ЭКСПРЕСС" (❗Единственное в г. Кириши ЧАСТНОЕ, НЕ МУНИЦИПАЛЬНОЕ рекламно-информационное издание). Спасибо.
-
Какой менеджер? MAX
-
Дефолт страта - приходишь с оффером, просишь контроффер
-
Мне кажется про ВТБ все наслышаны. Это не средний уровень, это дно. А так хз, мне вон обещали в отпуске учетку локнуть, чтобы не заходил.
-
Не спора ради. Че рили? Я, конечно, слышал про это всё, но ни разу не сталкивался. При этом я и в региональном айти работал.
-
(774 подписчика)
-
gpt-5 + 4.1 + Claude 3.7 (think) + Claude 3.7 + Дальше влом
-
gpt 4.1 платный
-
Ты абсолютно прав: по честной математике crash-игры (без комиссии) твой результат должен быть **около нуля** (на огромной дистанции: ± несколько тысяч на миллион попыток — это нормально из-за случайности), но никак не несколько сотен тысяч в плюс! Рассмотрим причины, почему у тебя возможно получается такой сильный плюс. --- ### 1. **Математика Crash без комиссии** Если всегда кэшаут делать на 1.11, то у честного crash-а (без house edge) для ставки X: - **Вероятность не проиграть:** \( P(\text{Win at 1.11}) = 1 - \frac{1}{1.11} \approx 0.0991 \) - **Ожидание выигрыша с каждой ставки:** \( E = (X \times 1.11) \times P(\text{Win}) - X \times (1 - P(\text{Win})) \) При X = 100: - Win: +11 при ~9.91% вероятности (100 * 1.11 - 100) - Lose: -100 при ~90.09% вероятности **Теоретически, сумма должна стремиться к нулю на очень длинной дистанции!** --- ### 2. **Проблема в коде:** Посмотрим, что у тебя происходит: - **Генерация crash-множителя** выглядит ок: ```python def generate_crash_number(): U = random.uniform(0, 1) if U >= 0.99999: crash_multiplier = 100000.00 else: crash_multiplier = 1.0 / (1.0 - U) crash_multiplier = max(min(crash_multiplier, 100000.00), 1.00) return round(crash_multiplier, 2) ``` - Тут всё правильно (round до 2 знаков на миллион игр чуть повышает ожидание, но не настолько!). - **Выбор ставки и множителя**: ```python bet = random.randint(self.min_bet, self.max_bet) multiplier = round(random.uniform(self.min_multiplier, self.max_multiplier), 2) ``` **Нужна проверка настроек:** - Если min_bet = max_bet = 100, будет всегда ставка 100. - Если min_multiplier = max_multiplier = 1.11, будет всегда ставка на 1.11. **ОК, значит генерация ставок и множителя не приводит к ошибкам.** --- ### 3. **Главная тонкость: ОКРУГЛЕНИЕ!** Тонкий момент, из-за которого в реальном crash-казино тоже бывают ошибки расчёта, если не округлять правильно. Типичная проблема: - Ты делаешь `round(crash_multiplier, 2)`, т.е. множители как бы становятся дискретными: **1.00, 1.01, ..., 1.11, 1.12 ...** - А ставка делается на ровно **1.11**. - **Это сдвигает вероятность выпадения "краша" ровно на 1.11**. В реальном crash игровом движке выигрыш при краш = 1.110... не входит, только >1.11. **Проверь — кэшаут происходит при краш >= множитель или > множителя?** В твоём коде: ```python win = crash_value >= multiplier ``` То есть если `crash_value == 1.11` (т.е. округлилось до 1.11), это победа. Но в теории при честной игре должно быть: - Выигрыш только если множитель меньше фактического краша (т.е. **строго больше**), иначе честно говорить: на границе — проигрыш. --- #### ВАЖНО: Но при двойном округлении: - **Если U чуть больше чем дает исходный 1.11, но после округления до 2 знаков краш = 1.11,** ты получаешь win, хотя по математике должен был проиграть (ведь фактический crash чуть меньше 1.11, просто округлился!). - На длинных дистанциях это даёт "халявные" выигрыши, которых быть не должно! И именно это объясняет твой плюс в ~470к на миллион попыток. --- ### **КАК ИСПРАВИТЬ** 1. **Убрать округление crash_multiplier до 2 знаков для внутренней логики выигрыша/проигрыша!** 2. Округлять только для отображения (UI), а НЕ для расчёта исхода раунда! **Правильно:** - Для расчёта: ```python # НЕ округлять здесь! def generate_crash_number(): U = random.uniform(0, 1) if U >= 0.99999: crash_multiplier = 100000.0 else: crash_multiplier = 1.0 / (1.0 - U) crash_multiplier = max(min(crash_multiplier, 100000.0), 1.00) return crash_multiplier ``` - А для вывода на экран: ```python print(f"{crash_multiplier:.2f}") ``` --- ### **Bottom line** **Твой баг — в округлении crash-множителя ДО сравнения с множителем кэшаута!** - Если убрать округление — долгосрочный профит будет близок к нулю (шум ±1000-5000 на миллион игр). **Сводка:** - Округляй только для UI, не для логики выигрыша. - Сравнивай точные значения float. - Тогда матожидание будет корректным. --- **Проверь свой код с этой правкой, и прибыль исчезнет!** --- Если нужен рабочий кусок исправленного кода — напиши, приведу пример. Если хочешь обсудить, как тестировать — объясню, как считать руками и в numpy.
-
Ты всё делаешь правильно с точки зрения генерации crash-множителя — твоя формула `1/(1-U)` абсолютно каноническая, это стандартная для "Crash"-игры модель (см. [разбор на Habr и GitHub](https://habr.com/ru/articles/681742/)). В казино для честной игры математическое ожидание должно быть **меньше 1** из-за комиссии (house edge), иначе казино не имеет прибыли. У тебя её нет. ### В чём проблема? **Ты получаешь положительное матожидание**, потому что у тебя: - **Нет house edge (комиссии казино)**! - Ты каждую ставку делаешь на фиксированный минимальный возможный множитель **1.11**, т.е. ловишь самую частую, короткую игру. - Множитель генерируется по честной модели без вычета комиссии. --- ## Математика crash'a **Если crash генерируется формулой:** ``` mult = 1 / (1 - U) ``` где U ∈ [0,1), - **P(дожить до заданного x):** 1 - 1/x - **Математическое ожидание выигрыша на фиксированном множителе x:** - `E(x) = (1 - 1/x) * x = x - 1` - **А матожидание возврата ставки:** - `E(x)/x = 1 - 1/x` - При x=1.11: 1 - 1/1.11 ≈ 0.099 - То есть выигрышные ставки часты, но отыгрываются потерями. **НО! Без house edge** твоя система ЧЕСТНАЯ, а на длинной дистанции — даже чуть положительная из-за округлений и особенностей float (мелкие погрешности из-за округления до двух знаков). --- ## Как это решается в казино Настоящее казино ставит хедж: **Множитель рассчитывается с учётом комиссии!** - Например, house edge = 1% - Формула: ``` mult = (1 / (1 - U)) * (1 - house_edge) или mult = 1 / ((1 - U) / (1 - house_edge)) ``` - При x=1.11 коэффициент выплаты всегда меньше честного. --- ## Как исправить **Добавь комиссию казино (house edge) в генератор множителя!** Внеси её прямо в функцию `generate_crash_number()`: ```python def generate_crash_number(house_edge=0.01): # 1% комиссия казино U = random.uniform(0, 1) if U >= 0.99999: crash_multiplier = 100000.00 else: crash_multiplier = (1.0 / (1.0 - U)) * (1.0 - house_edge) crash_multiplier = max(min(crash_multiplier, 100000.00), 1.00) return round(crash_multiplier, 2) ``` **Теперь мат. ожидание будет отрицательным на любой дистанции!** - Например, для house_edge=0.01 (1% комиссия) и cashout на 1.11: - `E = (1 - 1/1.11) * 1.11 * 0.99 = 0.098 * 1.11 * 0.99 ≈ 0.108` - То есть проигрыш в среднем -0.01 (или -1%) на ставку. --- ## Итог **Без house edge** — система честная, с положительным или нулевым мат.ожиданием. **Добавишь house edge** — всё станет как в настоящем Crash, игрок всегда проигрывает на дистанции. ### Проверь свою функцию генерации множителя и внеси house edge. **Проблема не в рандоме, а в отсутствии комиссии казино!**
-
Ты над этим смеялся?
-
Нейронки тупые, но некоторые люди еще тупее. Мы это знали.
-
А нахуя нужны дежурные, если они редко могут сами че-то решить, кек.
