Как стать автором
Обновить
378
-3.2
Дмитрий EvilDBA @Tzimie

DBA

Отправить сообщение

Плэнер — язык логического программирования для ИИ: что из него получилось

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров3.6K
Боты под управлением системы GOAP (Goal Oriented Action Planning), источник

Плэнер (Planner) — функционально-логический язык программирования, схожий по своему синтаксису с Лиспом. Функциональная часть языка содержит фактически целиком Лисп в качестве подмножества. При этом его встроенные возможности по символьной обработке значительно шире. А введение в запись нескольких типов скобок (в Лиспе допускаются только круглые скобки) сделало программы гораздо понятнее для чтения.

В свою очередь, логическое программирование — это парадигма программирования, основанная на математической логике, в которой код состоит из логических утверждений и правил вывода.
Читать дальше →
Всего голосов 26: ↑34.5 и ↓-8.5+43
Комментарии2

Основные настройки для управления ресурсами в PostgreSQL: настройка памяти, CPU и I/O

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров7K

Привет, Хабр!

При работе с PostgreSQL (да и в целом с любой БД) важно правильно настраивать и управлять ресурсами, такими как память, процессорное время и дисковые операции, и так далее для обеспечения лучшей производительности и стабильности работы БД.

В этой статье мы как раз и рассмотрим кратко о том, как управлять ресурсами в PostgreSQL.

Читать далее
Всего голосов 13: ↑13.5 и ↓-0.5+14
Комментарии17

С новым годом: GPT в 500 строках на SQL

Время на прочтение42 мин
Количество просмотров37K

В минувшем году все только и говорили об ИИ и о том, как он может всё за вас сделать.

Мне нравится, когда кто-то или что-то работает за меня. Поэтому решил: попрошу-ка ChatGPT написать за меня новогодний пост:

«Эй, ChatGPT. А ты можешь реализовать большую языковую модель на SQL?»
«Нет, SQL не подходит для реализации больших языковых моделей. Язык SQL предназначен для выполнения запросов к данным, хранящимся в РСУБД и для управления этими запросами. Для реализации большой языковой модели требуются сложные алгоритмы, обширные датасеты, а зачастую — и фреймворки для глубокого обучения. SQL всеми этими возможностями не обладает.»

Что ж, лишний раз убеждаешься, что, если хочешь что‑то сделать хорошо – сделай это сам.

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

Читать далее
Всего голосов 215: ↑211 и ↓4+207
Комментарии21

Сжатие целых чисел

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров13K

Цель статьи осветить state of the art методы сжатия целых чисел, чтобы сэкономить в будущем время исследования алгоритмов и терминологии. При этом описание части алгоритмов может быть упрощено для понимания. Сравнение алгоритмов тоже находится вне рамках этой статьи. Подробнее можно почитать в ссылках.

Многие из упомянутых ниже алгоритмов используются в прикладных задачах: сжатие битмап, обратных индексов, просто массивов данных.

Читать далее
Всего голосов 42: ↑37 и ↓5+32
Комментарии22

Ода бесполезности споров

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров34K

Одним из самых больших разочарований, постигшим меня на пороге зрелости, явилось осознание факта – что даже абсолютная правота не является залогом победы в споре. Это знание изменило мой мир так же, как теорема Гёделя о неполноте изменила формальную логику. Я осознал, что вокруг меня существуют люди, которых невозможно переубедить, вне зависимости от убедительности аргументации и шаткости их позиции.

Традиционно начну издалека. Меня всегда интересовал вопрос: Почему ученые, раз такие умные, не вступают в дискуссии с обывателями, одержимыми разными лженаучными глупостями – ведь показать им истину не сложно: наука выработала многоженство инструментов, способных убедительно доказать любой спорный вопрос: от наличия законов Менделя на примере садовых мушек, до отмены «Новой Хронологии» через дендрохронологический анализ.

Сейчас я знаю ответ – переубедить сторонников лженаучных теорий невозможно. Но вовсе не потому, что они серьёзно заблуждаются. А в точности до наоборот – их невозможно переубедить, потому что они не заблуждаются вообще.

Рассмотрим это на историческом примере:
Всего голосов 260: ↑253 и ↓7+246
Комментарии474

Мозг и системы машинного обучения: сравнение масштабов

Время на прочтение18 мин
Количество просмотров8.6K

Эпистемологический статус: весьма неопределённый. В литературе приводятся обширные, но ненадёжные данные, и в этой статье я делаю некоторые весьма грубые допущения. Тем не менее, я удивлюсь, если мои заключения отличаются от истины более чем на 1-2 порядка.

В настоящее время мозг — это единственный известный пример AGI (сильного искусственного интеллекта). Даже мелкие животные с крошечными мозгами демонстрируют впечатляющую степень владения сильным искусственным интеллектом, в том числе, гибкость и агентное поведение в сложном мире, характеризующемся высокой неопределённостью. Если мы хотим понять, в какой степени современное машинное обучение приблизило нас к AGI, то стоит попробовать количественно оценить мощность мозга. Хотя уже проделано много отличной работы, дающей представление о возможностях мозга и о том, как эти данные экстраполируются на хронологию развития ИИ, мне никогда не удавалось по-настоящему разобраться в вопросе кроме как на практике. Так что ниже я решил проанализировать мозг в терминах современного машинного обучения и попытаюсь на основе этого анализа предположить, на что можно рассчитывать на текущем этапе разработки AGI.

Читать далее
Всего голосов 41: ↑36 и ↓5+31
Комментарии26

Как устроен наш мир

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров29K

Черная дыра — область пространства-времени с настолько сильным гравитационным полем, что ничто, включая свет, не может ее покинуть. Граница этой области называется горизонтом событий. В простейшем случае сферически симметричной чёрной дыры она представляет собой сферу с радиусом Шварцшильда, который считается характерным размером чёрной дыры.

Современные ученые сходятся на том, что у черных дыр нет одного четкого определения, и даже приведенное выше  — это один из вариантов. Если спросить разных ученых — астрофизиков и физиков — они подойдут к ответу с разных сторон. Общее резюме всех определений и формулировок примерно такое: масса свернула пространство и время. Черные дыры максимально компактный объект, который не демонстрирует свойств поверхности. Определяется воображаемый горизонт событий, который является условной границей между  черной дырой и окружающим ее пространством. Горизонт событий — это «область невозврата» или граница черной дыры. Свойство “не-демонстрации поверхности” имеет глубинный смысл и может привести   к более полному пониманию эволюции черной дыры.  В решении Шварцшильда, описывающем поведение черной дыры отмечается, что не смотря на наличие, радиуса Шварцшильда, входящее в решение, понятия точки центра не существует.

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

Читать далее
Всего голосов 20: ↑15 и ↓5+10
Комментарии81

Проблемы при переходе с MS SQL на PostgreSQL. Типы данных

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров9.6K

Исходя из того, что предыдущую статью не заминусовали и даже не сильно критиковали, попробую продолжить серию и поделиться с проблемами некоторых различий типов данных в MS SQL и PostgreSQL.

Читать далее
Всего голосов 13: ↑13 и ↓0+13
Комментарии16

Про локацию в профиле

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров8.5K

У меня многолетний опыт удаленной работы из разных локаций мира от привычных фрилансерских островов Юго-Восточной Азии до мировых столиц вроде Лондона. В этой заметке я хочу рассказать о своих наблюдениях. И показать, насколько сильно локация влияет на возможности в go global!

1️⃣ У всех людей, включая потенциальных работодателей, клиентов или кастомеров, есть "географические" стереотипы и предрассудки. Прежде всего о стоимости услуг или зарплате. 

Например если американский клиент видит фрилансера из Лондона, то не ожидает низкой цены услуг. И просто находясь в Лондоне, автоматически фильтруются все мелкие чеки. 

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

То есть переезжая куда-то, мы закладываем некоторые ожидания для наших будущих контрагентов. Да, возможно это несправедливо, но так уж устроен мир.

2️⃣ Или например на второй год странствий немало талантливых дизайн-агентств мск/спб планирует переезд в Барселону. Про быт нет вопросов: считаю этот город лучшим в мире для жизни. 

Но делать свое агентство барселонским - это значит:

а/ Задать невысокие ожидания по чеку: для американского бизнеса что Барселона, что Верона, что Лиссабона - примерно одно и то же. Читай: "в Европе закажем подешевле". А чеки побольше будут уходить тем, кто переехал в Лондон, Нью-Йорк, Долину или хотя бы в Дублин.

Читать далее
Всего голосов 62: ↑53 и ↓9+44
Комментарии11

PostgreSQL Antipatterns: ходим по JSON-граблям

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров15K

Недавно попался на глаза примерно такой кусок запроса, и тут прекрасно примерно все:

множество чтений из CTE (хоть и единственной записи, но все же);

извлечение по каждому ключу текста с раскастовкой в jsonb;

извлечение каждого отдельного json-ключа в каждое отдельное одноименное поле;

"ручное" преобразование текстового представления массива в json в текстовое представление PostgreSQL.

А как - правильно?

Читать далее
Всего голосов 26: ↑26 и ↓0+26
Комментарии13

Хороший ретрай, плохой ретрай, или История одного падения

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров37K

Порой простое и очевидное решение может потянуть за собой хвост проблем в будущем. Например, добавление ретраев.

Меня зовут Денис Исаев, и я работаю в Яндекс Go. Сегодня я поделюсь опытом решения проблем с отказоустойчивостью из-за ретраев. Основано на реальных инцидентах в системе из 800 микросервисов.

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

Читать далее
Всего голосов 152: ↑152 и ↓0+152
Комментарии32

Теория типов

Уровень сложностиСредний
Время на прочтение43 мин
Количество просмотров29K

Мы так привыкли к типам, что редко задаёмся вопросом, что же они такое на самом деле? А главное - почему возникла необходимость в их использовании? Этот поверхностный обзор сделан для того, чтобы продемонстрировать, как типы и другие связанные абстракции являются следствием из обобщения условий различных задач.

Что можно узнать из этой статьи?
Всего голосов 75: ↑75 и ↓0+75
Комментарии70

Новое в SQL Server 2022: Контейнерные группы доступности

Уровень сложностиСложный
Время на прочтение6 мин
Количество просмотров2.3K

Это новая концепция обеспечения идентичности ограниченного набора системных объектов и сущностей, которой до этого очень недоставало. Администраторам баз данных приходилось «вручную» синхронизировать логины, задания агента, планы обслуживания и множество других системных сущностей, которые описывались в таблицах системных баз данных master и msdb. Теперь появился способ возложить это на SQL Server 2022, но ждать этой возможности нам пришлось 10 лет…

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии2

Искусственный интеллект, Большой Взрыв, чёрные дыры и филиокве — ищем ответ на вопрос, расколовший христианскую церковь

Уровень сложностиПростой
Время на прочтение19 мин
Количество просмотров5.6K

Весь мир - театр. В нём женщины, мужчины — все актёры.
Уильям Шекспир

При размышлении над этой цитатой из комедии "Как вам это понравится" известного английского драматурга Уильяма Шекспира в моём воображении предстает картина, в которой мир представляется мне в виде круглой театральной сцены. На этой сцене разворачивается пьеса бытия, и все мы в этом поразительном представлении являемся одновременно и актёрами, и постановщиками, и зрителями. При этом нельзя точно сказать, что именно происходит на сцене - у разыгрываемой пьесы нет ни единого сюжета, ни общего посыла. Поэтому неверно даже считать происходящее единой пьесой, скорее это бесконечное количество различных произведений - трагедий и комедий, персонажи и сюжеты которых тесно переплетаются между собой.

Никто из зрителей не видит спектакль целиком, каждый наблюдает лишь его небольшую часть. В зависимости от положения на сцене люди смотрят на происходящее под своим уникальным углом. Этой своей особенностью сцена чем-то напоминает знаменитый сад камней в японском храме Рёандзи. По легенде этот сад построен таким образом, что с какой бы точки человек не смотрел на него, из пятнадцати расположенных в нём камней будет видно только четырнадцать. Как минимум один всегда будет загорожен другими.

Благодаря круглой форме сцены количество различных точек зрения бесконечно, и среди них всегда найдутся как близкие друг к другу, так и противоположные. Кому-то спектакль покажется скучным, кому-то наоборот захватывающим. Кто-то довольствуется второстепенной ролью, кому-то хочется играть главную. Кто-то желает просто смотреть спектакль, кого-то же тянет внести вклад в его режиссуру. Хотя многие зрители и уверены в обратном, среди этих точек зрения нет правильных и неправильных - театр явно постмодернистский.

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

Читать далее
Всего голосов 29: ↑20 и ↓9+11
Комментарии74

Пароли здорового человека (part II) и зачем вам цифровое завещание

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров8.9K

Итак, в part I мы разбирали жизненный цикл homo sapiens, который уже дошел до знания, как обращаться с паролями, умеет их централизованно хранить и теперь ему надо научиться передавать это знание (точнее, менеджер паролей и цифровое завещание) потомкам на тот случай, если его догонит какой-нибудь лев-тигар. Ведь именно передача полезных знаний между поколениями позволяет социуму избегать повторения простых ошибок, например хранить мастер пароль под клавиатурой и верить новостям из телевизора.

Но в начале, надо обсудить еще один способ восстановления доступа к своим данным аутентификации, на самый крайний случай: если потеряны ВСЕ устройства с бэкапами.

Читать далее
Всего голосов 15: ↑13 и ↓2+11
Комментарии17

Четыре способа написать Hello world, или инструменты для создания GUI на Python

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров30K

После написания программы ее можно модифицировать и добавить графический интерфейс — с Python это проще, чем кажется. Для программирования красивого и функционального GUI иногда достаточно простого знания html и css.

Под катом — подборка некоторых инструментов для создания интерфейсов на Python. Сохраняйте статью в закладки и предлагайте свои варианты в комментариях!
Читать дальше →
Всего голосов 56: ↑53 и ↓3+50
Комментарии61

Поколение оскорблённых: защита прав или дискриминация инакомыслия?

Время на прочтение10 мин
Количество просмотров9K

Начать хотелось бы с простого вопроса - а вам не кажется, что люди стали слишком часто обижаться? На всё подряд. Религия, рацион, мировоззрение, традиции, язык, цвет кожи, сексуальная ориентация, гендерная идентичность, длина волос, национальные костюмы... на всё подряд. Оскорблённость сейчас словно является непременным атрибутом высокоморального человека. Хороший человек просто обязан быть на кого-то обиженным и требовать контрибуций и репараций в пользу своей социальной группы, иначе его признают пассивным и непросветленным, а то и вообще запишут в ранг "угнетателей" с последующими попытками весьма агрессивного переубеждения.

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

Читать с риском обидеться
Всего голосов 39: ↑32 и ↓7+25
Комментарии34

Удивительные клеточные автоматы: направленные и пользовательские окрестности

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров3.1K


👾, Хабр!

На прошлых неделях мы познакомились с различными вариациями альтернативных окрестностей – начиная с учёта расположения нотацией Хенселя, через альтернативные шаблоны расположения, и заканчивая взвешенными окрестностями. Сегодня добавим в тему окрестностей стандартного поля небольшой финальный штрих – пользовательские расположения.
Что здесь происходит (для новых читателей серии)
В этой серии мы разбираем клеточные автоматы – дискретную модель, основой которой является сетка из ячеек-клеток, которые изменяют (или не изменяют) своё состояние в зависимости от количества соседей.
Учёт соседей определяется правилами, которые устанавливаются нами. Вариаций правил существует бесчисленное множество, и они были систематизированы в определённые конфигурации.
Самая популярная конфигурация – «B/S», или «life-like», по названию крайне широко известного клеточного автомата «Game of Life», где B/S обозначает, что в нашем правиле мы описываем всего два параметра – количество соседей необходимых для рождения новой клетки в пустой ячейке, и количество соседей для выживания существующей клетки.
В каждой статье серии мы углубляемся в данную конфигурацию, добавляя новые параметры, либо дополняя существующие. Иногда заглядываем и в прочие конфигурации.
Для понимания сегодняшней статьи достаточно знать, что:
  • поиск соседей изначально выполняется в радиусе 1 (8 окружающих клеток – ), но мы можем установить другой, добавив к правилу Rx, где x – нужный нам радиус;
  • мы можем изменять шаблон окрестности поиска соседей. Изначально подразумевается окрестность Мура – R в каждую сторону (и диагональ) от рассматриваемой клетки, – но указывая Nxx мы будем определять иной шаблон, что, конечно, изменит вид правила. Сегодня мы продолжаем расширение этой части правила. Знакомство с предыдущими расширениями не является необходимым, но вы, конечно, можете предварительно ознакомиться с ними и прочими дополнениями, для большей последовательности чтения. Ссылки в конце материала и в профиле.
Читать дальше →
Всего голосов 52: ↑51 и ↓1+50
Комментарии9

Почему десктопные приложения работают на веб-платформе?

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров35K

Где мы свернули не туда? Как получилось, что современный десктопный GUI по умолчанию использует платформу HTML/CSS/JavaScript, которая изначально не предназначена для нативной работы на десктопе? Она создана конкретно для браузера и веба. Зачем из нативного софта делать веб-страницы в браузерной оболочке?

Джефф Этвуд (автор Stack Overflow) предсказал этот феномен ещё в 2007 году. Он тогда сформулировал так называемый закон Этвуда:

Любое приложение, которое можно написать на JavaScript, будет в итоге написано на JavaScript.

Так и вышло.
Читать дальше →
Всего голосов 107: ↑93 и ↓14+79
Комментарии261

Всё, что вы НЕ хотели бы знать о сервисах онлайн знакомств… [много букОв и иллюстраций + регулярно дополняется]

Уровень сложностиПростой
Время на прочтение60 мин
Количество просмотров246K
Компьютерные сети изменили мир и подарили нам возможность не выбирать «меньшее из зол» из ограниченного числа сложившихся по жизни контактов, а найти по-настоящему любимого человека, даже если он прячется от нас на другом материке. Разумеется, мы можем отказаться от этой возможности и пойти по воспетому российской эстрадой садистско-мазохистскому сценарию «слепила из того, что было, а потом, что было, то и полюбила». И все будут только рады, если у нас всё получится. Но, если мы подведем статистику известных нам счастливых пар, сложившихся по этому сценарию, и трезво оценим вероятность успешного исхода, то, вероятно, путь поиска своего счастья в мировой паутине покажется нам более перспективным. И в этой статье я хочу рассказать вам о тех проблемах с которыми на этом пути можно столкнуться.
Читать дальше →
Всего голосов 293: ↑282 и ↓11+271
Комментарии770

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность

Специализация

Специалист
English
C
SQL
Python
High-loaded systems
C#