#prog #article
The Wrong Abstraction
Автор описывает, каким образом неправильная абстракция может появиться, и что с ней можно сделать, а также рассуждает на тему причин, побуждающих программистов сохранять их.
Don't get trapped by the sunk cost fallacy. If you find yourself passing parameters and adding conditional paths through shared code, the abstraction is incorrect. It may have been right to begin with, but that day has passed. Once an abstraction is proved wrong the best strategy is to re-introduce duplication and let it show you what's right. Although it occasionally makes sense to accumulate a few conditionals to gain insight into what's going on, you'll suffer less pain if you abandon the wrong abstraction sooner rather than later.
The Wrong Abstraction
Автор описывает, каким образом неправильная абстракция может появиться, и что с ней можно сделать, а также рассуждает на тему причин, побуждающих программистов сохранять их.
Don't get trapped by the sunk cost fallacy. If you find yourself passing parameters and adding conditional paths through shared code, the abstraction is incorrect. It may have been right to begin with, but that day has passed. Once an abstraction is proved wrong the best strategy is to re-introduce duplication and let it show you what's right. Although it occasionally makes sense to accumulate a few conditionals to gain insight into what's going on, you'll suffer less pain if you abandon the wrong abstraction sooner rather than later.
Sandi Metz
The Wrong Abstraction — Sandi Metz
I've been thinking about the consequences of the "wrong abstraction." My RailsConf 2014 "all the little things" talk included a section where I asserted: > duplication is far cheaper than the wrong abstraction And in the summary, I went on to advise: >
❤1🤮1💩1🤡1
#prog #game #article
В 2010 году Sam Hughes (программист, фантаст ипросто хороший человек автор SCP-055) представил миру HATETRIS — тетрис, созданный таким образом, чтобы выдавать наиболее неудобные фигуры для продолжения. В частности, здесь нет превью следующей фигуры — она выбирается только после того, как игрок сделал свой ход. Надо отметить, что алгоритм для выбора фигуры абсолютно детерминированный, а потому возможно записывать реплеи в виде последовательности совершённых ходов.
Сам автор не шибко преуспел в том, чтобы обыграть собственное творение — на момент первой публикации он установил рекорд в 5 убранных строк. Первые рекорды были установлены людьми и последовательно были 11, 17, 20, 22, 28 и 30. Последний рекорд был побит лишь спустя 7 (!) лет, на 1 больше. А вот дальше пошло-поехало — после подключения программных методов поиска решения потолок рекордов сильно вырос. Человек под ником knewjade в одиночку на протяжении пары месяцев выдал новые рекорды в 32, 34, 41, 45 и 66 убранных линий. Автору даже пришлось в какой-то момент заблаговременно модифицировать HATETRIS так, чтобы он предотвращал зацикливание позиции (ибо в противном случае было бы тривиально набирать сколь угодно много очков).
К делу подключились новые люди. В посте Getting the World Record in HATETRIS они рассказали, как они добились прорыва, преодолев в итоге (с большим отрывом) планку в 100 очков — причём упомянув тупики и ошибки, допущенные по пути. А в выпущенном годом позже Losing the World Record in HATETRIS (кстати, не так уж и давно, всего месяц назад) они рассказали, как объединённые идеи нескольких вовлечённых людей помогли в итоге поднять рекорд до аж 302 очков и потом ещё выше — с, по видимому, потенциалом добиться произвольно большого количества очков. Всё это, кстати, без использования каких-то безумно дорогих вычислительных мощностей.
Оба поста достаточно объёмны, насыщены идеями и местами низкоуровневыми деталями (внезапно пригодились битовые маски), так что настоятельно рекомендую к прочтению.
(а ещё авторы постов выше написали свои солверы на Rust)
В 2010 году Sam Hughes (программист, фантаст и
Сам автор не шибко преуспел в том, чтобы обыграть собственное творение — на момент первой публикации он установил рекорд в 5 убранных строк. Первые рекорды были установлены людьми и последовательно были 11, 17, 20, 22, 28 и 30. Последний рекорд был побит лишь спустя 7 (!) лет, на 1 больше. А вот дальше пошло-поехало — после подключения программных методов поиска решения потолок рекордов сильно вырос. Человек под ником knewjade в одиночку на протяжении пары месяцев выдал новые рекорды в 32, 34, 41, 45 и 66 убранных линий. Автору даже пришлось в какой-то момент заблаговременно модифицировать HATETRIS так, чтобы он предотвращал зацикливание позиции (ибо в противном случае было бы тривиально набирать сколь угодно много очков).
К делу подключились новые люди. В посте Getting the World Record in HATETRIS они рассказали, как они добились прорыва, преодолев в итоге (с большим отрывом) планку в 100 очков — причём упомянув тупики и ошибки, допущенные по пути. А в выпущенном годом позже Losing the World Record in HATETRIS (кстати, не так уж и давно, всего месяц назад) они рассказали, как объединённые идеи нескольких вовлечённых людей помогли в итоге поднять рекорд до аж 302 очков и потом ещё выше — с, по видимому, потенциалом добиться произвольно большого количества очков. Всё это, кстати, без использования каких-то безумно дорогих вычислительных мощностей.
Оба поста достаточно объёмны, насыщены идеями и местами низкоуровневыми деталями (внезапно пригодились битовые маски), так что настоятельно рекомендую к прочтению.
(а ещё авторы постов выше написали свои солверы на Rust)
qntm.org
Things Of Interest
Personal website of qntm.
THERE IS NO ANTIMEMETICS DIVISION
The legendary, brain-melting sci-fi thriller. Coming extremely soon.
Today in Things Of Interest...
Fiction
…
THERE IS NO ANTIMEMETICS DIVISION
The legendary, brain-melting sci-fi thriller. Coming extremely soon.
Today in Things Of Interest...
Fiction
…
👍12🔥1🤮1💩1🤡1
🌈Радуга на звёздном небе
Посты в моём канале: -милота -космос -бабушка маньяк -опять милота
Кстати, поздравляю админа с совершеннолетием
😐18🤡3💩2❤1🤮1
Forwarded from Попячечная 🌚🇺🇦🇮🇱
This media is not supported in your browser
VIEW IN TELEGRAM
👀🌚
👌16❤🔥2
🥰8😁1
Forwarded from Нецифровая экономика (🐈Egor Sonin)
Люди, которым платили за обучение ИИ, обучали ИИ на ИИ. Чтобы это выяснить, ученые их поймали, заставив ИИ, обученный отделять ответы ИИ от реальных людей, определять, что из текстов написано ИИ.
От 33% до 46% «тренеров ИИ» перепоручают свою работу нейросетям, к такому выводу пришли исследователи. Они создали модель ИИ, которая определяет, написан ли текст другим ИИ (например, по отсутствию разнообразия в выборе слов).
Как же так вышло, что люди, которые должны исправлять ошибки (главная претензия к генеративному ИИ), а вместо этого - множат их?
Дело в том, что большая часть таких тренеров - это низкооплачиваемый сотрудники на аутсорсе, в чьи обязанности входит проверять ответы условного ChatGPT на предмет грамотности и ошибок. Естественно, работа у них адская и за нее мало платят. Чтобы оптимизировать труд и грести больше, они начали отдавать свою работу самому ChatGPT.
В результате точность ответов ИИ падает еще больше, уверены исследователи, поскольку нейросеть перестает понимать, что факт, а что нет - и не может выработать внятный алгоритм действий для самопроверки.
Так что ИТ-разработчикам придется придумать, как избежать халтуры (как вариант - больше платить). Потому что пока все ждали восстания машин, восстали люди машины обучающие.
От 33% до 46% «тренеров ИИ» перепоручают свою работу нейросетям, к такому выводу пришли исследователи. Они создали модель ИИ, которая определяет, написан ли текст другим ИИ (например, по отсутствию разнообразия в выборе слов).
Как же так вышло, что люди, которые должны исправлять ошибки (главная претензия к генеративному ИИ), а вместо этого - множат их?
Дело в том, что большая часть таких тренеров - это низкооплачиваемый сотрудники на аутсорсе, в чьи обязанности входит проверять ответы условного ChatGPT на предмет грамотности и ошибок. Естественно, работа у них адская и за нее мало платят. Чтобы оптимизировать труд и грести больше, они начали отдавать свою работу самому ChatGPT.
В результате точность ответов ИИ падает еще больше, уверены исследователи, поскольку нейросеть перестает понимать, что факт, а что нет - и не может выработать внятный алгоритм действий для самопроверки.
Так что ИТ-разработчикам придется придумать, как избежать халтуры (как вариант - больше платить). Потому что пока все ждали восстания машин, восстали люди машины обучающие.
MIT Technology Review
The people paid to train AI are outsourcing their work… to AI
It’s a practice that could introduce further errors into already error-prone models.
🤣9❤3😁3