Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Как меня едва не уволили из Apple (в первый раз)

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели20K

Я устроился в Apple в октябре 1995 года. В это время Apple кружилась в сливном отверстии раковины, готовясь отправиться в канализацию. Возможно, вы помните все эти разговоры о том, что Apple скоро закроется. Немного странно, что она продолжала нанимать сотрудников, но, очевидно, в Apple считали, что им всё равно нужен ещё один «графический инженер» для работы над технологией QuickdrawGX. Тогда мне был 31 год, я жил в Канзасе и программировал игры для Macintosh. Разумеется, в компании решили, что я хорошо подойду на эту должность.

Процесс собеседования оказался для меня совершенно неожиданным и новым (подробно о нём написано здесь), но в конечном итоге мне предложили работать графическим инженером QuickdrawGX в Apple Computer, Inc.

Переезжать с моей девушкой, всеми вещами (и двумя кошками) из Канзаса в Калифорнию было безумно сложно, но мы справились. Как окажется позже, мне предстояло ещё многое узнать о программировании, да и о профессионализме в целом. И тут я сразу понял, что, возможно, взялся за задачу, которая мне не по зубам (как программисту). Другие инженеры Apple были дружелюбными, но и очень умными. (Наверно, мне стоит подробнее написать о панике, которую я ощущал первое время; казалось, будто я случайно забрёл в глубокую часть бассейна.)

Впрочем, постепенно (примерно через полгода) я, так сказать, вошёл в колею, и начал справляться с работой немного увереннее. Но вскоре я всё равно понял, что по-прежнему остаюсь недисциплинированной деревенщиной, не совсем отвечающим стандартам Профессиональной Корпорации™.

Вскоре после моего прихода в компанию проект QuickdrawGX расценили провалившимся, меня перевели в новую команду (ColorSync) и чуть позже выдали новый проект. У Apple было стандартное окно, в котором пользователь мог выбирать цвет, оно называлось Color Picker («Палитра»). Кроме того, в то время Apple начинала переход с чипов Motorola 68K на новые, более быстрые чипы PowerPC (PPC). Моя задача заключалась в том, чтобы проект Color Picker, написанный для чипов 68K, компилировался для новой архитектуры PPC.

Читать далее

Как адаптировать аналитику для тех, кто не хочет разбираться в графиках

Время на прочтение7 мин
Охват и читатели10K

Если вы управляете достаточно крупным бизнесом, вы неизбежно будете собирать аналитические данные. Вы же хотите точно понимать, почему меняются показатели продаж или какие товары будут пользоваться спросом в следующем месяце.

Звучит логично и понятно, пока вы не начнете плотно работать с цифрами и графиками. И тут, как и почти в любой сфере, кто-то рано или поздно должен был внедрить AI-ассистента. Под катом посмотрим, что из этого получилось.

Читать далее

Звонки через Jabber в докер-контейнере за 5 минут

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели35K

В свете сами знаете чего, свой приватный мессенджер и возможность звонков на XMPP стали как никогда актуальны.

Есть быстрый и простой способ: за несколько минут вы поднимаете собственный Jabber-сервер. Дальше — дело техники: рассылаете приглашения маме, бабушке, теще, жене и соседке Даше. После этого можно спокойно звонить и переписываться в защищённом мессенджере, который полностью под вашим контролем.

Звонки идут в зашифрованном режиме, работают p2p. А если у собеседника хитрый NAT, то на помощь автоматически приходит встроенный STUN-сервер.

Клиенты есть под все платформы: Android, iOS, Windows, macOS и Linux.

Читать далее

Знакомьтесь — это скутоид! И он часть вашего организма

Время на прочтение6 мин
Охват и читатели40K

Привет, меня зовут Диана, я математик и пишу для хабраблога МТС. Прошлый мой пост был про Теорему Борсука-Улама, а сегодня хочу рассказать об открытии 2018 года, которое лежит на стыке математики и биологии. Можно отправить этот пост людям, которые продолжают задавать вопросы в духе: «Да где вообще нужна эта ваша геометрия?».

Речь пойдет о трехмерной фигуре по имени скутоид: как ее открыли, какие у нее свойства и применения. Спойлер: такая форма позволяет клеткам компактно и устойчиво заполнять искривленное пространство. Но как получилось, что природа «изобрела» новую геометрическую форму, а математика и физика подтвердили ее уникальность?

Этот пост — скорее ознакомительный. В нем получилось больше биологии, чем я планировала (а я все-таки математик). Но без погружения было бы не очень понятно, что вообще происходит и почему. Надеюсь, я нигде не соврала, но если найдете неточность — пишите. Итак, приступим!

Читать далее

История IP-KVM в дата-центрах Selectel, или прелесть open source-проектов

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

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

Конечно, никто «жонглировать вслепую» не собирается — поэтому и выработался уже целый пул решений для работы с оборудованием. Один из вариантов — использовать IP-KVM.

Меня зовут Макс, я системный инженер в Selectel. В этой небольшой статье расскажу, как мы пришли к нынешнему виду наших IP-KVM и какие трудности нам пришлось пройти. Наша история — под катом!

Начать крафт

Революция вайб-кодинга отменяется

Время на прочтение6 мин
Охват и читатели55K

Не торопитесь пролистывать эту статью. Я не собираюсь, подобно множеству других статей на Хабре, рассказывать о плюсах или минусах вайб-кодинга и сравнивать это с плюсами и минусами традиционного программирования. Потому что сравнивать нечего, ведь не случилось ничего такого, что бы как-то значительно изменило ситуацию. По сути, я буду говорить о том же, о чём говорил в предыдущей статье ( https://habr.com/ru/articles/938028/ -Михаил Елисейкин «IT-лягушка и новая нормальность» ) - о том, что мир меняется, а наши о нём представления от этих изменений отстают.

Читать далее

«Великолепный» CSS. Коллекция странностей CSS, на которые я потратил кучу времени

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

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

CSS часто преподносит сюрпризы, способные запутать даже опытных разработчиков. Я понимаю их раздражение. Тут всё закономерно.

Однако, несмотря на потраченные нервы, мне нравится CSS. Именно поэтому мне хочется, чтобы разработчики тратили меньше времени на борьбу с ним. С этой целью я собрал ряд не самых очевидных моментов, которые в своё время ставили в тупик меня и моих коллег.

Читать далее

Технический разбор Max: что внутри APK

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели179K

Сейчас мессенджер Max «очень классно ловит даже на парковке» 🙃
Стало интересно: а что же за технологии стоят за этим чудом? Скачал APK (весит ~114 MB) и полез внутрь.

Читать далее

Математика, биты, магия и немного ненормального программирования на C

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели15K

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

Идея написать эту статью зародилась из моего поста. В нем я рассказал о том, что через последовательность Фибоначчи можно конвертировать мили в километры с небольшой погрешностью. Увидев, что многим понравилась, я задумался: почему бы не изучить еще какие-нибудь трюки, заодно практикуясь в программировании на C?

Всех, кто заинтересовался — прошу под кат.

Читать далее

Ссылка на git в резюме соискателя

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели20K

Как анализировать GitHub соискателя, указанный в резюме? Какие pet-проекты встречаются чаще всего и о чём они могут рассказать?

Я и так знаю, но интересно

Как ломается RSA512 за 3.5 часа на одном ядре старого ноутбука

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели24K

Сразу оговорюсь, что обычно я не занимаюсь компьютерной безопасностью и не интересуюсь, а занимаюсь алгоритмами и структурами данных - в прикладном применении это оптимизация быстродействия, высокопроизводительные вычисления типа CUDA, AVX512, многопоточность, что применяется например для майнеров криптовалют. Так я влез в криптанализ, ибо области, получается, соприкасаются. Был у меня заказ от человека, который хотел очень быстро на видеокартах перемножать 256-битные числа в 512-битные произведения. Я конечно сделал как он хотел, но вот пришла идея: так а зачем перемножать безчисленное количество чисел, если в принципе можно разложить на множители 512-битное число имея текущие технологии? Об этом дальше и речь.

Дано:

Читать далее

Компьютерная томография и секреты процессора 386

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели15K

Intel выпустила процессор 386 в 1985 году, он стал первым 32-битным чипом линейки x86. Этот чип упаковывался в керамический квадрат с торчащими снизу 132 позолоченными ножками, которые вставляются в разъём на материнской плате. Хоть эта конструкция может показаться скучной, внутри неё происходит гораздо больше, чем можно было бы ожидать. По моей просьбе компания Lumafield выполнила компьютерную 3D-томографию чипа, обнажившую шесть слоёв сложных соединений, сокрытых внутри керамического корпуса. Более того, оказалось, что в чипе есть почти невидимые металлические проводники, соединённые с боковыми сторонами корпуса (см. показанные выше полосы). Снимок также показал, что у 386 есть две отдельных сети питания и заземления: один для ввода-вывода, второй — для логики процессора.

Читать далее

Защита детей как причина для глобальной деанонимизации

Время на прочтение7 мин
Охват и читатели13K

В последние годы во многих странах стали появляться законы и кампании, которые декларируют защиту несовершеннолетних от онлайн-угроз. Как итог — бизнес вынужден вводить дополнительные проверки и собирать больше данных о пользователях. 

Оправдано ли это? И есть ли за фасадом заботы усиление контроля и расширение цензуры? В этой статье рассказываем о новых механизмах, назначение которых вызывает дискуссии среди правозащитников и тех, кто предпочитает анонимность и свободный доступ к информации. Подробности под катом.

Читать далее

Ближайшие события

ЕС1849: «золотая двойка» на процессоре INTEL Harris 80286

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

Здравствуйте уважаемые почитатели ретротехники!

Сегодня речь пойдёт об интереснейшей вычислительной машине — ЕС1849, собранной на отечественной элементной базе практически полностью, за исключением процессора и чипсета. Эта АТ-машина — почти венец творения отечественной компьютерной промышленности, разработанной и реализованной в СССР. Версия БУСВВ (BIOS) датируется 1989–1992 годами.

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

За мной, читатель(c)!

Эксперимент: может ли AI реально помочь с рефакторингом легаси-кода на Python

Время на прочтение11 мин
Охват и читатели9K

Показываем на практике, как с помощью ChatGPT можно за несколько минут преобразить реально существующие фрагменты легаси-кода на Python.

Читать далее

Насколько LLM усложняет работу программиста

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

На фоне общего хайпа вокруг ИИ холодным душем стали июльские результаты исследования METR о том, как LLM замедляют работу опытных разработчиков в опенсорсных проектах. Напомним, что использование LLM увеличило время выполнения задач на 19%, хотя сами разработчики ощущали противоположный эффект.

Учёные затруднились объяснить причины когнитивного искажения.

Факт в том, что многим разработчикам очень нравятся их инструменты для автодополнения и генерации кода, особенно Claude Code. Он настолько удобен, что от него буквально возникает зависимость. По опросам, чем больше люди используют такие инструменты — тем больше им нравится. Код «магически» генерируется сам собой, зачастую даже корректный.

Но это не обязательно улучшает или ускоряет разработку.

Более того, есть признаки, что в 2025 году наконец-то наступило некоторое охлаждение ожиданий в отношении к LLM.

Читать далее

Как YDB изолирует OLTP и OLAP

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

Привет, Хабр! Меня зовут Олег Доронин, и мы с командой делаем СУБД Яндекса, которая называется YDB. Каждый транзакционный запрос к базе данных обычно работает с небольшим набором строк и быстро отрабатывает за единицы или десятки миллисекунд, но таких запросов каждую секунду поступает огромное количество. А вот аналитические запросы обычно выполняются не так часто, но каждый из них может требовать обработки вплоть до всех строк в одной или нескольких таблицах. Такие запросы могут выполняться секунды, минуты, или даже часы в зависимости от объёмов данных и сложности запрошенных вычислений.

Чтобы эти два принципиально разных паттерна нагрузки не мешали друг другу, гибридным базам данных важно изолировать транзакционную нагрузку от аналитической. Под катом я расскажу, как мы сделали в YDB компоненты для управления смешанной нагрузкой, которые изолируют миллионы RPS от аналитики, и как менеджер смешанной нагрузки устроен внутри.

Читать далее

— Здравствуйте мошенники, это абитуриент, вам сказать код из СМС? — Нет, спасибо, мы сами

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

Большинство вчерашних школьников, впервые сталкиваются с «госуслугами» при оформлении «заявлений на поступление». Данная статья будет полезна тем, кому «детское абитуриентство» предстоит в следующем году.

В этом году мне посчастливилось быть родителем абитуриента. Глядя на всю суету и волнение, еще весной сказал: «Будь я мошенником — взялся бы за абитуриентов.»
Но, как говорится: «Не один ты такой умный. Поумнее тебя есть, а в колл‑центрах сидят.»

В итоге, у ребенка увели эти самые «госуслуги».

Предвижу первый гневный комментарий: «Он сам сказал код из СМС!!!»

А вот и нет

Оператор «NOT IN» и коварный NULL

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

Порой, очевидные вещи таят в себе удивительные сюрпризы. Казалось бы, простые SQL конструкции: «IN» и «NOT IN». Что тут обсуждать-то?

Читать далее

Переезжаем в Firefox. Советы по настройке

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

Разработчики Chrome, наконец, урезали поддержку лучшего блокировщика рекламы, uBlock Origin, и теперь популярность моего любимчика Firefox снова растёт1. Так что здесь я постараюсь убедить вас перейти на этот браузер и покажу, как его использовать.

Читать далее