Главный эффект Манделы в мире программистов — сколько байт в мегабайте
Во всём виноваты маркетологи, естественно (нет).
Раз в несколько месяцев очередной разработчик задаётся вопросом: как же так, всю жизнь считал, что данные в компьютере основаны на двоичной системе, и в байте число бит — это степени двойки, поэтому и килобайт должен быть 2^10 это 1024, поэтому и мегабайт это 2^20 то есть 1048576, и так далее… А те, кто думает, что в мегабайте МИЛЛИОН байт потому что он так называется, просто тупые филологи и не знают, как устроены компьютеры. И вообще вроде бы есть специальные названия для обозначения этих «ровных», но «неправильных» мегабайт, но я их не помню, потому что нахрена мне это сдалось.
Но нет. Это эффект Манделы.
На самом деле в мегабайте миллион байт. А вот 1048576 байт — это мебибайт, или 2^10 байт, обозначается МиБ или MiB.
В компьютерах действительно хранение данных основано на двоичном коде: биты и байты не «лежат» ровными стопочками по десять штук. Но дело в том, что в системе СИ приставки «кило», «мега», «гига» работают именно в десятичной системе и обозначают, соответственно, тысячи, миллионы и миллиарды. И согласно стандартам системы СИ, мегабайт = 10^6 байт, а не 2^10.
Ранние ОС действительно использовали систему подсчёта данных, основанную на степенях двойки, и этот подход до сих пор используется для подсчёта, например, количества доступной оперативной памяти. Но для разрешения конфликта между традиционным и «компьютерным» использованием этих древнегреческих приставок швейцарская Международная электротехническая комиссия (IEC) в 1998-1999 годах ввела терминологию — киби-, меби-, гиби-, теби- и так далее — для того, чтобы отличать одно от другого и устранить растущую путаницу среди пользователей.
Конечно, никакой путаницы устранить не удалось. Покупаешь жёсткий диск — на коробке написано 500 ГБ, а на самом деле там 465 ГиБ. В гигабайтах тут считать выгоднее, вот маркетологи и насаждают это потребителям. Но на плашках RAM — «честные» гибибайты: сколько указано, столько и получаешь, только пишут всё равно 16 GB, а не 16 GiB. Доходит до того, что на одном экране в системе может находиться несколько параметров в разных исчислениях. Эту шизу хорошо отразили в комиксе xkcd ещё в 2008 году.
А ещё есть провайдеры, которое скорости измеряют в мегабитах в секунду, а не мегабайтах (так скорость выглядит в 8 раз больше), и там тоже срачи между сетевыми инженерами, которые считают 1 Гбит/с = 1 048 576 бит/с, в то время как у телекомщиков принято 1 000 000 бит/с…
Можно, конечно, поискать конспирологию в том, что это производители накопителей пролоббировали IEC именно так, выгодно для производителей, стандартизировать мегабайты и их подсчёт. Или всё-таки на заре компьютеров бумеры-основатели зря решили пойти против существующих стандартов и называть количество данных «округлённо», потому что так было проще.
Потому что иди попробуй подвинуть систему СИ.
Такие посты чаще выходят у меня в Telegram-канале, где в основном пишу про AI и его применение. Что? Сам раскрыл этот спойлер.
Zenplan: твой карманный помощник. Как использовать бота или же краткий гайд по применению
Иногда кажется, что с задачами я сражаюсь больше, чем с самой работой. Можно сколько угодно писать списки в заметках, ставить напоминания в календарь, но в итоге всё равно ловишь себя на том, что половина дел потерялась, а дедлайны снова догоняют. Я пробовал разные таск-менеджеры - от модных приложений до простых to-do листов, но каждый раз было одно и то же: сначала играешься с новым сервисом, через неделю забиваешь, а потом возвращаешься к хаосу.
И вот в какой-то момент я подумал: а что если задачи будут там, где я и так провожу большую часть времени - в Телеграме? Никаких новых приложений, аккаунтов, синхронизаций. Просто бот, который работает как привычный чат.
Так появился zenplan.
Первое, что я сделал - максимально упростил добавление задач. Хочешь что-то записать - просто пишешь сообщение вроде "завтра в 10:00 купить билеты". Бот сам понимает дату и время. Если нужно конкретнее - можно указать дедлайн вручную. И это реально работает: не нужно кликать по полям и тратить минуту, чтобы завести задачу.
Все задачи попадают в аккуратный список, который можно открыть за сегодня, за неделю или сразу все. Причём каждая задача выглядит как кнопка: нажимаешь - открывается карточка с подробностями.
Там можно завершить задачу, отложить на 30 минут или день, поменять приоритет или вообще удалить. Всё делается в два клика, и это важно, потому что таск-менеджер должен экономить время, а не отнимать его.
Чтобы не превратить планирование в скучную обязаловку, я добавил систему достижений. Создал первую задачу - получаешь бейдж "Первый шаг". Выполнил пять задач - открываешь "Привычка в деле". Поддержал серию из трёх дней - разблокировал "Три дня в строю". Это как маленькие игровые элементы, которые подкидывают мотивацию. Бот даже пишет "Новое достижение разблокировано", и это чертовски приятно!
Помимо этого в zenplan есть ИИ-помощник. Он раз в неделю смотрит на твои задачи и пишет отчёт: сколько дел ты закрыл, сколько осталось в активной работе и что стоит сделать в первую очередь. Иногда он даже предлагает фокусироваться на MIT - это Most Important Tasks, то есть самые важные задачи. Смысл в том, чтобы каждый день выделять 2-3 главных дела. Если закрыл их - день уже удался. Эта практика сильно помогает держать фокус.
Я постарался сделать бот не только полезным, но и немного человечным. Каждый день он присылает "Цитату дня" - иногда забавную, иногда мотивирующую. Это как маленькая пауза посреди рутины. Плюс есть блок с заметками, где можно быстро скидывать мысли, и раздел с целями, чтобы видеть картину чуть шире, чем просто список дел. А если вдруг что-то не работает - есть кнопка "Поддержка", которая ведёт напрямую к чату @zenplan_support.
В итоге zenplan получился не как очередной перегруженный таск-менеджер с сотней функций, а как лёгкий инструмент на каждый день. Он экономит время, помогает не теряться в потоке дел и даёт маленькие дофаминовые награды за прогресс.
Если бы я писал это как короткий питч, я бы сказал так: zenplan - это когда у тебя наконец-то есть простой способ планировать прямо в Телеграме, без сложностей, но с ощущением, что твой день становится управляемым.
UPDATE в SQL: не путай с «обновлением Windows»
UPDATE — это команда, с помощью которой мы меняем данные, уже существующие в таблице.
Не добавляем новые строки (как INSERT), не удаляем (как DELETE), а правим то, что есть.
А пока подписывайся на мой канал На связи: SQL Там я публикую посты про особенности и нюансы SQL. Этот канал про то, как не бояться баз данных, понимать, что такое JOIN, GROUP BY и почему NULL ≠ 0. Его я веду с нуля подписчиков. Присоединяйся!
Базовый синтаксис выглядит следующим образом:
UPDATE table_name
SET column1 = value1,
column2 = value2
WHERE condition;
UPDATE table_name → в какой таблице меняем данные.
SET → что именно меняем и на какие значения.
WHERE → условие, чтобы обновить только нужные строки.
Если забыть WHERE → обновятся все строки таблицы. Классический факап новичка.
Где и когда используется?
Меняем телефон у клиента → UPDATE customers SET phone = '...' WHERE id = 5;
Уменьшаем остаток товара после покупки.
Обновляем статус заказа.
Проще говоря: везде, где данные живые и меняются со временем.
Можно обновлять сразу несколько строк:
UPDATE products
SET price = price * 0.9
WHERE category = 'clothes';
В этом запросе нет ограничений по количеству строк, если в таблице есть 10 строк с категорией = 'clothes', то скидка в 10% применится ко всем 10 строкам.
В UPDATE можно использовать JOIN при более сложной логике
Мы делаем обновления в таблице orders, но делаем их для тех покупателей, у которых есть признак ВИП. А признак ВИП хранится в таблице customers.
В этом запросе явно не указан JOIN, но с JOIN запрос выглядел бы вот так:
UPDATE orders o
SET amount = amount * 1.1
FROM orders o2
JOIN customers c ON o2.customer_id = c.id
Здесь больше строк, поэтому многие предпочитают первый вариант.
PostgreSQL, SQL Server → поддерживают UPDATE ... FROM.
MySQL → там другой синтаксис:
UPDATE orders o
JOIN customers c ON o.customer_id = c.id
SET o.amount = o.amount * 1.1
WHERE c.vip = true;
Т.е. в MySQL JOIN присутствует в явном виде.
RETURNING в PostgreSQL
UPDATE orders
SET status = 'done'
WHERE id = 101
RETURNING *;
Сразу получаешь обновлённые строки, без лишнего SELECT. В MySQL и SQL Server такого нет.
Deadlock при UPDATE
Транзакция А захватила строку 1 и ждёт строку 2.
Транзакция B захватила строку 2 и ждёт строку 1.
Обе ждут друг друга бесконечно.
База видит: «ну, так не пойдёт» → и убивает одну из транзакций, чтобы освободить дорогу.
При обычной блокировке ты просто ждёшь, пока другой закончит.
При deadlock оба ждут друг друга, и никто никогда не закончит — тупик.
В UPDATE можно использовать подзапросы:
UPDATE employees
SET salary = salary + 5000
WHERE department_id = (
SELECT id FROM departments WHERE name = 'IT'
);
Здесь UPDATE зависит от результата подзапроса.
UPDATE без SET
В некоторых СУБД (например, SQL Server) можно писать:
UPDATE table_name
SET column = column;
На вид — бесполезно. Но так можно снимать блокировки или триггерить AFTER UPDATE.
Можно использовать TOP и LIMIT при UPDATE
UPDATE TOP (10) users SET active = 0; -- для SQL Server
UPDATE users SET active = 0 LIMIT 10; -- для MySQL
А вот для PostgreSQL такого механизма нет - надо будет через CTE реализовывать.
UPDATE — мощный инструмент. Он нужен везде, где данные живут и меняются. Но:
всегда помни про WHERE,
учитывай блокировки,
и знай фишки СУБД (RETURNING, JOIN, LIMIT).
Напоминаю про свой канал На связи: SQL Присоединяйся для обсуждения вопросов по изучению SQL.
Это почти как религия
Вышла ENIGMA AI v.1.1.4 — помощник для IT-собеседований. Подсказывает ответы в реалтайме, невидим при шаринге экрана → enigmai.ru. Подстрахуй себя на собеседовании.
Простой способ не тратить время на фиктивные собеседования
Вышла ENIGMA AI v.1.1.4 — помощник для IT-собеседований. Подсказывает ответы в реалтайме, невидим при шаринге экрана → enigmai.ru. Подстрахуй себя на собеседовании.
Учёный подтвердили: удалённая работа делает людей счастливее
В ходе масштабного четырёхлетнего исследования, проведённого Университетом Южной Австралии, было научно доказано, что удалённая работа значительно повышает уровень счастья, здоровья и продуктивности сотрудников. Результаты исследования, опубликованные в авторитетном издании Fortune, опровергают мифы о низкой эффективности дистанционного формата и подчёркивают его положительное влияние на качество жизни .
Ключевые преимущества удалённой работы:
1. Увеличение продолжительности сна
Сотрудники, работающие из дома, спят в среднем на 30 минут больше каждую ночь. Это связано с экономией времени на дорогу и возможностью гибкого графика, что снижает хроническую усталость и повышает жизненный тонус .
2. Снижение уровня стресса
Отсутствие ежедневных поездок в офис и офисной рутины заметно уменьшает тревожность и напряжение. Исчезает феномен «воскресной тревоги» (Sunday Scaries), связанный с началом новой рабочей недели .
3. Баланс между работой и личной жизнью
Освобождённое время сотрудники инвестируют в семью, хобби и заботу о здоровье. Совместные семейные вечера, занятия спортом и творческие проекты становятся доступнее, что повышает общую удовлетворённость жизнью .
4. Улучшение питания и физической активности
Близость к домашней кухне позволяет питаться более сбалансированное: увеличивается потребление свежих овощей, фруктов и домашней пищи. Также появляется время для регулярных физических нагрузок .
5. Повышение продуктивности
Вопреки опасениям, продуктивность сотрудников при удалённой работе не снижается, а в некоторых случаях даже растёт. Ключевым фактором является добровольный выбор формата работы, который усиливает мотивацию и концентрацию .
Важные нюансы:
· Сохранение социальных связей требует дополнительных усилий. Регулярные виртуальные встречи и открытая коммуникация помогают поддерживать командный дух .
· Гибридный формат, сочетающий удалённую и офисную работу, признан наиболее перспективным, так он позволяет совмещать преимущества обоих форматов .
Статистика и прогнозы:
· К 2025 году до 75% сотрудников будут работать удалённо хотя бы несколько дней в месяц .
· В Латвии, например, количество удалённых работников выросло до 11,6% в 2024 году, причём чаще всего этот формат встречается в сферах IT и финансов .
Выводы для компаний:
Исследование рекомендует работодателям предоставлять сотрудникам гибкость выбора формата работы. Это не только повышает их счастье, но и способствует росту производительности и удержанию ключевых специалистов .