habrahabr
Интеллект эволюционировал в позвоночных как минимум дважды

Люди склонны возвеличивать свой интеллект. Наш мозг способен выполнять математические расчёты, применять логику, исследовать абстракции и мыслить критически. Но мы не можем утверждать, что обладаем монополией на рассуждения. Среди множества нечеловеческих видов, проявляющих интеллектуальное поведение, птицы многократно продемонстрировали широкие когнитивные способности. Вóроны умеют планировать на будущее, ворóны считают и пользуются инструментами, какаду открывают и разграбляют хитро закрытые …

  • среда, 30 апреля 2025 г. в 00:00:12
habrahabr
Goodbye, ThinkPad…

Многие читатели хорошо знакомы с ноутбуками ThinkPad и знают их с наилучшей стороны. Я же хочу рассказать, почему принял решение попрощаться с этим брендом. Только не воспринимайте её слишком всерьез – это скорее ностальгическое нытье любителя старой инженерной школы. И простите за нейросетевую картинку, но уж очень она отражает настроение статьи!С весны 2004 года я был постоянным пользователем ThinkPad в течении многих лет. И, казалось, ничто не может поколебать мою уверенность в этой марке, н…

  • среда, 30 апреля 2025 г. в 00:00:11
golang
Golang: почему select {} без default может убить ваше приложение

Привет, Хабр!Сегодня хочу поговорить о проблеме, которую многие недооценивают в своих Go‑проектах. Речь пойдет о бессрочном select {}, который легко может привести к блокировке, утечке ресурсов и деградации производительности.Что такое select {} без defaultВ языке Go select — это оператор, который позволяет конкурентно ждать операции на нескольких каналах. Когда какой‑либо канал становится доступным для чтения или записи, выбирается один из таких кейсов случайным образом.Простейший select {} бе…

  • среда, 30 апреля 2025 г. в 00:00:09
golang
Миграция с Bevy на Unity

Привет, Хабр! Я прочитал статью Migrating away from Rust и хочу поделиться с вами своими мыслями, заодно переведя оригинал. Я буду вести повествование от своего лица, поскольку это скорее реакция и размышления, а не традиционный перевод. Для меня тема весьма актуальна, так как я сам нахожусь в этом странном лагере разработки игр на нишевых движках. Я использую не Rust+Bevy, а Go+Ebitengine, но многие плюсы и минусы этих комбинаций интересно рассматривать как дополняющие друг друга. Когда-нибуд…

  • среда, 30 апреля 2025 г. в 00:00:08
javascript
Сигналы, роутинг, реактивность, Fusor приложение

В этом посте я опишу, как настроить современную маршрутизацию и использовать сигналы для реактивного отключения выбранных ссылок.Сигналы — это просто реализация паттерна "observable". Хотя мы могли бы использовать любую библиотеку для этой цели, мы создадим свою собственную, чтобы обеспечить лучшую наглядность и понимание.export class Observable { #callbacks = new Set(); notify() { for (const fn of this.#callbacks) fn(); } subscribe(callback) { this.#callbacks.add(callba…

  • среда, 30 апреля 2025 г. в 00:00:06
javascript
Альтернатива Zod размером 1 КБ

19 марта 2025 года вышла стабильная версия Valibot — библиотеки для валидации данных в JavaScript/TypeScript. Разработанная как альтернатива популярному Zod, она сочетает минималистичный дизайн с мощными возможностями.В этой статье мы сравним Valibot и Zod по трём ключевым параметрам: синтаксису API, размеру библиотеки и скорости работы. Вы узнаете, чем эти решения отличаются друг от друга и почему стоит использовать специализированные инструменты валидации входящих данных.Зачем нужны библиотек…

  • среда, 30 апреля 2025 г. в 00:00:05
javascript
Cookie Store API

До недавнего времени программный доступ к куки в браузере осуществлялся через API document.cookie — простой строковый геттер/сеттер. Для получения одного файла куки приходилось разбирать всю строку вручную и преобразовывать ее в удобный формат. А чтобы записать куки, нужно было сначала сформировать структурированные данные, затем сериализовать их в строку и только после этого присвоить значение document.cookie. Разработчики часто используют популярные библиотеки, например js-cookie, которые …

  • среда, 30 апреля 2025 г. в 00:00:04
javascript
Почему JS (и TS) это плохой язык

Я знаю, что на эту тему уже было сказано много, но настал мой черед. На JS я пишу больше 10 лет, так что терпел я достаточно :) Когда мы говорим “джаваскрипт”, мы подразумеваем много разных вещей:Стандарт EcmaScriptСреда исполнения (NodeJS, браузер)Экосистема (библиотеки, фреймворки, тулинг)Иногда есть смысл поговорить об этих вещах по отдельности, но сегодня мы обсудим их все сразу, и назовем это просто “джаваскрипт”. А именно, я объясню, почему джаваскрипт это плохой язык.Что значит плохой?А …

  • среда, 30 апреля 2025 г. в 00:00:03
github
carykh / jes

Jelly Evolution SimulatorJelly Evolution Simulator To run this program, run this command: cmd python jes.py NOTE: This project, like all my projects, are not meant to be consumer products with perfect QA. Rather, it's just me, as one person, coding a casual experiment to the point that it works well enough on my computer to make a video from it! No more, no less. (I used to not put my code online, just like when you create a Minecraft world with your friends, you don't have to share th…

  • среда, 30 апреля 2025 г. в 00:00:02