Pull to refresh
6
0
Ефимов Геннадий @gexeg

User

Send message

Подборка игр с низкоуровневым программированием

Level of difficultyEasy
Reading time5 min
Views34K

TL;DR

Игры от Zachtronics:

TIS-100, EXAPUNKS, SHENZHEN I/O

Про создание процессора от логических элементов и до написания кода на ассемблере: браузерная бесплатная nandgame.com, более продвинутая Turing complete.

Если Вам нравится какая-то игра из перечисленных - наверно, и остальные тоже подойдут. В каждую из них я наиграл по 30+ часов, получил кучу удовольствия и научился чему-то новому.

Подробности
Total votes 67: ↑66 and ↓1+79
Comments26

Почему 9 женщин не могут родить ребёнка за 1 месяц или О применении имитационного моделирования в управлении проектами

Reading time7 min
Views36K

Введение


Думаю, многие из вас слышали выражение «9 женщин не могут родить ребёнка за 1 месяц!». Контекст этого выражения очевиден — в разработке ПО его применяют в качестве аллегории, когда протестуют против совершенно неприемлемого сжатия сроков. Здесь под сжатием понимают сокращение сроков разработки путём расширения команды при сохранении общей трудоёмкости разработки.
image

Совершенно очевидно, что сжимать сроки до бесконечности невозможно. Существует определённый предел. Например, известным экспертом в области оценки трудоёмкости разработки ПО Стивом Макконнеллом (Steve McConnell) этот порог определён как 25% от исходных оценок (см. мою предыдущую статью).
Но этот топик не об оценках трудоёмкости…
Вот я выше написал «совершенно очевидно...». Думаете, это действительно очевидно? Всем?
Мой недавний опыт показал, что это очевидно далеко не всем. Проект был очень крупный и срок сдачи неумолимо приближался. Было принято решение резко расширять команду, чтобы успеть. Довод про «9 женщин» никто не принял. Команда была расширена и в срок мы всё равно не успели. Можно ли было как-то, кроме как на словах, показать, как будут развиваться события? Вот о том, как смоделировать такую ситуацию, и будет моя статья.
Читать дальше →
Total votes 85: ↑76 and ↓9+67
Comments42

Хочу всё знать

Reading time4 min
Views11K

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

Последние несколько лет, компания Neuralink, с Илоном Маском в роли сооснователя, активно работает над созданием такого чипа. Этот факт, однако, повлек дискуссии, что именно произойдет, если информация попадет на чип, к которому у вас есть доступ, однако нейронные связи в вашем мозгу не сформировались и вы эту информацию не обдумывали? Чем эта ситуация отличается от того, когда информация находится в книге, на жестком диске, в телефоне или на компьютере, но вы книгу еще не читали? Разве что простотой доступа?

Эта дискуссия заставила меня задуматься над тем, есть ли иной способ ускорить освоение информации, не подвергаясь рискам от установки чипа, которого, в любом случае, не существует и не появится в обозримом будущем? Так я начал изучать технологии обучения.

Методов обучения множество. Часть из них ориентированы больше на усиление запоминания информации, а другая часть на углубление понимания. Однако, меня интересовало то, что увеличило бы именно скорость. Само собой напрашивается скорочтение. Тут хотелось бы остановиться и обсудить этот метод. Есть многочисленные исследования различных вариаций скорочтения и все они показывают, что скорочтение это миф и те, кто его практикуют, просто водят глазами по странице. Более того, если мы говорим не о художественных произведениях или текстах полных воды, а о "нормальных книгах", то очевидно, что прочитать страницу занимает 1 минуту, а обдумать - 10. Если даже за счет техник скорочтения можно было бы научиться прочитывать страницу за секунду, все еще остается потратить 10 минут на обдумывание.

Читать далее
Total votes 15: ↑13 and ↓2+15
Comments29

15+ Инструментов на базе искусственного интеллекта для разработчиков

Level of difficultyEasy
Reading time8 min
Views21K

Перевод статьи https://www.marktechpost.com/2023/12/04/15-ai-tools-for-developers-august-2023.

От переводчика: Выбор темы современных инструментов на базе ИИ оказался для меня не только хайповым, но и лично значимым. Мой интерес к этой области возник из желания совместить знакомство с полезными инструментами и улучшение английского. Мне всегда было сложно разбираться в длинных текстах на английском, примерно через 5-10 абзацев находились дела повышенной важности и статья отправлялась в  ̶з̶и̶я̶ю̶щ̶у̶ю̶ ̶п̶у̶с̶т̶о̶т̶у̶  закладки. И действительно, в этот раз поставленная цель и видимый результат в виде появляющихся абзацев в гугл доксе придавали сил. До этого из списка использовал только GitHub Copilot, Midjourney и You. С первым у меня сложилась любовь и хотя он не всегда идеален для сложных задач, но помогает эффективно решать рутинные проблемы. Опыт с you, в свою очередь, не стал настолько полезным, как ожидалось изначально, учитывая изменения в функционале его бесплатной версии.

Этой статьёй хочу ознаменовать для себя смену жизненного кредо: Практика на основании наблюдений вместо статического наблюдения. Так же надеюсь что она будет вам полезна.

Читать далее
Total votes 17: ↑9 and ↓8+4
Comments11

ClickHouse: как устроен MergeTree

Reading time8 min
Views34K

Моя команда использует ClickHouse как хранилище для 100 млрд записей с трафиком по 300 млн в сутки и поиском по таблице. Я расскажу об устройстве движка таблиц MergeTree. Рассказ буду вести, показывая физические данные, а не абстрактные схемы.


image

Читать дальше →
Total votes 33: ↑33 and ↓0+33
Comments1

Адаптивная балансировка нагрузки или как повысить надёжность микросервиса

Reading time14 min
Views13K

Привет, меня зовут Геннадий, я работаю в Ozon, занимаюсь разработкой backend-сервисов.

Избыточностью компонентов, кластеризацией или балансировкой уже никого не удивишь в наши дни. Это очень важные и нужные механизмы. Но так ли они хороши? На сколько они защищают нас от возможных отказов?

В Ozon все перечисленное используется, но мы сталкивается с проблемами, которые выходят за рамки возможностей стандартных решений и нужны иные подходы и инструменты. Я уверен, что и у вас есть кластеризация и она также не спасает на все сто.

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

Читать далее
Total votes 7: ↑6 and ↓1+8
Comments11

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity