Минутка просвещения

Читать в телеге. Когда-то там были посты не только от меня.

Экологические карты

Чистота воздуха: WAQI и IQAir.

Качество воды: GeoAquaWatch и WWF.

Карта загрязнений (явно неполная).

Источники электричества (еще там указан карбоновый след).

Уровень шума и конкретно шум от аэропортов.

Ветер, температура, давление.

Когда искал, находил еще сервисы с локальными или устаревшими данными — не включил их сюда. Но как будто живем в бигдате и цифровом гулаге, а качественных данных очень мало :( Заметно еще, например на картах с качеством воздуха, что есть несколько провайдеров, которые не делятся данными друг с другом, да и покрытие датчиками очень разреженное.

СсылкаКомментировать

Бенчмарки ИИ не стоят доверия

Внезапно™, бенчмарки по качеству нейронок типа SWEBench — полная фигня с точки зрения защиты от читерства: никакой изоляции задания и решения, не надо даже ничего хакать: можно посмотреть решение в git log, манки-патчнуть pytest, чтобы все тесты прошли, или просто… открыть браузер и скачать ответы. И это вдобавок к тому, что и к качеству тестов есть вопросы.

Можно аргументировать, что “ну, честные агенты так не сделают” ­— во-первых, уже сделали (в статье есть примеры), во-вторых, должны сделать — потому что у агента такая система ценностей, в-третьих — вертели они эти ограничения, даже если это базовое системное ограничение.

В преподские времена проверял лабы по алгоритмам с помощью Ejudge. Он был дырявый насквозь, но там хотя бы надо было ИБ-дырки искать (ладно, ответы тоже были, но от тупого копирования была базовая проверка на списывание).

И даже если тесты пройдены честно, это можно сделать очень по-разному. Но код потом как-то надо будет поддерживать и развивать во времени. С этим у сгенерированного нейронками кода пока все плохо.

СсылкаКомментировать

Нормальные формы в БД

В одном (нерабочем) чате мимолетно промелькнуло упоминание нормальных форм БД. Я понял, что уже забыл вообще все, что связано с ними. Почитал определения — ничего не понял с первого раза. Посмотрел примеры — “а, ну да”. Но воспроизвести все 8 нормальных форм наизусть я даже после освежения их в памяти не смогу.

Как будто большую часть требований легко покрыть просто логичной группировкой (которая выводится из SRE и DRY): очевидно же, что хранить скидку на товар и телефон магазина в одной таблице — это дичь. Я не помню, чтобы в рабочем процессе хоть кто-то ссылался на нормальные формы и что это когда-то имело значение. Но допускаю, что не очень опытным разрабам эти моменты могут быть непонятны, так что, хоть и ежедневная ценность теории сомнительная, надо “набить руку” и все-таки эти формы изучить и понять.

При всем этом я видел, как в проде не выполнялась даже 1НФ, причем это решение выглядело плюс-минус адекватным. И это даже если исключить денормализацию ради поиска.

СсылкаКомментировать

Песочницы OAuth

Очень простенькая песочница OAuth, где можно прокликать сценарии OAuth и в общих чертах понять их логику и какие данные в каком формате передаются между участниками.

И еще одна, где интерфейс немного перегружен, но чуть больше степеней свободы.

СсылкаКомментировать

База про оптимизации компилятора

Отличная серия коротких постов про базовые оптимизации компилятора от создателя Godbolt (он же Compiler Explorer). Рассмотрены арифметические операции, циклы, ABI, инлайнинг, рекурсия и векторизация.

Мораль достаточно простая: не надо делать работу компилятора и мешать ему, но важно явно обозначать свои намерения. Например, если у вас логически положительное число, то и хранить его надо в беззнаковом типе — оптимизации будут лучше. При этом компилятор не всесилен, и узкие места надо проверять и измерять.

P.S. Навигация между постами странная, я сам не с первого раза нашел. Вот первый пост, для перехода ищите ссылку в курсиве после основного текста, но до сносок — моя баннерная слепота эту секцию заблокировала.

СсылкаКомментировать

Написание кода занимает малую долю времени разработчика

По разным оценкам, от 11 до 32%.

И это подтверждается несколькими исследованиями, вот относительно свежие:

  1. 2019, выборка почти 6 тыс. респондентов из Microsoft, опрос — 15%-18% (29-32%, если учесть отладку и багфиксы).
  2. 2021, выборка 250 тыс, телеметрия через IDE-плагин — 11% (52 минуты в день в среднем).
  3. 2024, 484 разработчика из Microsoft, опрос — 14% (11% на кодинг и 3% на рефакторинг).

Даже у работяг, прошедших в фаанг только полдня было занято кодингом:)

СсылкаКомментировать

.new домены

На сессии группового программирования коллега создал новый Google Sheet с помощью sheet.new (не спрашивайте, как таблички связаны с программированием).

Это тупо редирект, но все равно прикольно и явно удобнее, чем заходить через Drive.

.new — это один из TLD-доменов Google, и там есть аналогичные “ярлыки” для прочих сервисов гугла. Но и другие компании имеют сайты на этом домене. Полный список ведет сам гугл. Все это появилось в основном в районе 2019 года, но я как-то пропустил. Набор довольно сомнительный, о большей части компаний у нас и не слышали, а достаточно заметное количество доменов уже не работают.

Что потенциально интересно/бросилось в глаза (кроме гугловских ссылок):

СсылкаКомментировать