Search
Write a publication
Pull to refresh
2
0.5
Send message

Еще раз к вопросу о банкоматах

Reading time4 min
Views28K
Давеча safinaskar задал мне следующий вопрос в личной беседе:
Здравствуйте, видел вашу статью про банкоматы habrahabr.ru/post/217337. У меня вопрос: почему интерфейс всех банкоматов такой антиюзерфрендли, такой одинаковый и такой «жёсткий», в отличие от других автоматов (скажем, автоматов Qiwi)? Я имел дело с банкоматами Сбербанк, Росбанк и Мой банк (сейчас обанкротился).

Правильно ли я понимаю, что ПО для обычных автоматов (напр. Qiwi) — это самое обычное ПО, разрабатываемое также, как обычно разрабатывается ПО. Легко внести изменения в софт, пишется обычными инструментами под обычные ОС (напр. Windows), учитывается UX и иногда бывают баги.

А ПО для банкоматов пишется один раз и навсегда (в целях безопастности), безопастность ставится превыше UX. Так? И отсюда проблемы с UX?

У меня такое чувство, что все банкоматы используют одну и ту же программу, это так?

Если я не ошибаюсь, банкомат сперва просит ввести пин, затем сумму и только потом проверяет пин на правильность. Почему так?


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

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

Итак, у меня нет точных ответов на поставленные вопросы, но я думаю, дело вот в чем

Что не так со статьями о выгорании

Level of difficultyMedium
Reading time26 min
Views17K

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

Читать далее

Toyota: 81 514 нарушений в коде

Reading time5 min
Views105K


Люди: — Эй, Тойота, мы тут посчитали, у вас из-за корявой электроники и софта 89 человек погибло с 2000 по 2010.
Тойота: — Да они сами виноваты, путают педали.
Люди: — Хьюстон, у нас проблемы.
NASA: — Ща разберемся, нам надо 10 месяцев и 3 миллиона долларов.
Люди: — На.
Тойота: — 3 миллиона мало, вот вам еще сверху кэшем.
(прошло 10 месяцев)
NASA: — Эй, Тойота, мы у вас пару ошибок в коде нашли, а точнее 7134 нарушения стандартов MISRA, рекурсию, функцию на 740 строк и 9000 глобальных переменных.
Тойота: — А у нас свои стандарты. А вы ваще на Луну летали?
NASA (публично): — Тойота ни в чем не виновата.
(Акции Тойота подскочили на 4,6%)
Люди: — Ну ё-моё.
(спустя 3 года)
Два американских тестировщика (у которых дедушки погибли в Перл-Харбор): — Нет багов? А если найдем?

Как мы верифицированный полетный контроллер для квадрокоптера написали. На Ada

Reading time10 min
Views21K

Однажды на новогодних каникулах, лениво листая интернет, бракоделы в нашем* R&D офисе заметили видео с испытаний прототипа роботакси. Комментатор отзывался восторженным тоном – революция, как-никак. Но тренированное ухо расслышало в шуме с испытательной площадки еще кое-что. Контроллер скорости (штука для управления тягой винтов) сыграл мелодию при старте, как это любят делать пилоты дронов, которые часто используют полётный контроллер Betaflight. Неужели там бета-флайт? Ну, или какая-то из ее немногих разновидностей.

Перед глазами побежали флешбеки, где-то из глубин подсознания всплыла забытая уже информация о прошивках для Тойоты на миллионы тысяч строк Си и 2 тысячи глобальных переменных (Toyota: 81564 ошибки в коде).

После просмотра исходного кода Betaflight на гитхабе стало еще страшнее, и чем дальше, тем хуже. Это – управляющая программа для тяжелого устройства с острыми винтами, которое летает высоко, быстро. Становится страшно: игрушки это одно, но я бы не хотел летать, на таком такси. Но ведь можно иначе? Можно, решили мы! И решили это доказать. На Avito был куплен акробатический FPV-“квадрик” на базе STM32F405, для отладки – Discovery-платы для этого же контроллера, а дальше все как в тумане..

Читать далее

Процедурная генерация бумажных снежинок

Reading time16 min
Views23K

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

Читать далее

Вычисление стихотворного размера

Reading time8 min
Views27K

Привет, Хабр! Расскажу о решении нестандартной задачи: алгоритм определения силлабо-тонического стихотворного размера по строке на русском языке. Опишу все нюансы и неочевидные подводные камни, с которыми столкнулся.

Читать далее

Что же такое TPU

Level of difficultyEasy
Reading time14 min
Views14K

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

Главная сильная сторона TPU — это их масштабируемость. Она достигается благодаря и аппаратной (энергоэффективности и модульности), и программной стороне (компилятору XLA).

Общая информация

Если вкратце, то TPU — это ASIC компании Google, делающий упор на два фактора: огромную производительность перемножения матриц + энергоэффективность.

Их история началась в Google в 2006 году, когда компания впервые начала размышлять о том, что же ей стоит реализовывать: GPU, FPGA или специализированные ASIC. В те времена было лишь несколько областей применения, в которых требовалось специализированное оборудование, поэтому было решено, что потребности компании можно удовлетворить при помощи незадействованных вычислительных ресурсов (compute) CPU её крупных датацентров. Но в 2013 году ситуация изменилась: функция голосового поиска Google начала использовать нейросети, и по расчётам для её реализации потребовалось бы гораздо больше compute.

Перенесёмся в настоящее: сегодня TPU лежат в основе большинства ИИ-сервисов Google. Разумеется, сюда включены обучение и инференс Gemini и Veo, а также развёртывание моделей рекомендаций (DLRM).

Давайте начнём разбирать внутренности TPU с самого нижнего уровня.

Читать далее

Цифровая чёрно-белая фотография

Level of difficultyEasy
Reading time8 min
Views7.2K
Привет! Я хочу поделиться опытом чёрно-белой фотосъёмки на цифровые камеры, рассказать о некоторых особенностях восприятия монохромной фотографии. Постараюсь не акцентировать рассказ на конкретной программе, а объяснить в общих чертах принципы.


Я довольно давно увлекаюсь фотографией, мой интерес был привит от отца, который был фотолюбителем. Он много снимал для себя и на заказ. Печатал ночи напролёт целые стопки отпечатков, которые сушились по всему дому на прищепках. У нас было несколько фотоаппаратов, фотоувеличитель и множество книг о фотографии и целая стопка замечательного журнала «Советское фото», который в конце восьмидесятых был прям огонь. Я с завистью смотрел на чарующие пейзажи с глубоким контрастным светом и чёрным небом с яркими облаками.
Читать и смотреть

Герой нашего времени

Reading time3 min
Views13K

На Хабре есть такая штука, как рейтинг авторов. Ну то есть формально это рейтинг пользователей, но в реальности вряд ли в него сможет попасть даже супер-активный читатель. Так что остаются только авторы.
В списке много прославленных имён, но нас сейчас интересует самое первое. Чемпион Хабра. Тот автор, чьи работы посетители сочли самыми интересными, самыми полезными, самыми результативными. Я предлагаю познакомиться с ним поближе. К сожалению, мы не так много знаем о нём. Даже реального фото у меня нет, так что пришлось немного пофантазировать вместе с нейросетью Кандинский.


Читать дальше →

Как работает погода: циклоны, фронты, снегопады в мае, дожди на Новый год

Level of difficultyEasy
Reading time19 min
Views6.6K

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

А ведь погода — это то что касается каждого из нас, независимо от профессии и образа жизни (не, ну может шахтерам и машинистам метро в их подземельях она не так важна). И наверняка многим из нас приходят в голову философские вопросы: «почему вчера был будний день и +25, а сегодня выходной, всего +15 и дождь». А, ну и еще: «почему по прогнозу ясно, а надо мной льет?!», «где снег на Новый год?», «откуда заморозки в мае?» и тому подобное.

При этом базовые принципы устройства нашей атмосферы довольно просты. Всё упирается в 3–4 основных физических эффекта и пару‑тройку основных понятий. И если их уяснить, то фраза «теплый сектор атлантического циклона на фоне западного переноса» сразу объяснит вам, почему у вас в Питере на Новый год идет дождь вместо снега. А по форме облаков можно будет предсказывать погоду на завтра, не доставая телефон из кармана.

Интересно? Попробуем в этом разобраться!

Читать далее

Когда гарантийный срок истёк

Level of difficultyMedium
Reading time6 min
Views2.1K

Основная проблема IT-отрасли, на мой непросвещенный взгляд, заключается в том, что жизнь обучает нас профессии примерно так же, как учителя начальной школы — арифметике. Сначала нам говорят: делить на ноль нельзя. А потом оказывается, что ещё в XVII веке один маркиз по имени Гийом Франсуа Лопиталь научился. Нам говорят: квадратный корень можно извлекать только из положительных чисел. А потом — хоба — оказывается комплексными бывают не только обеды. И так далее.

С чего начинается обучение компьютерным наукам? — С некоторого количества теории, которая скучная и непонятная, как и любая полностью оторванная от практики теория, — а потом — с примеров. Мы открываем REPL и некоторое время забавляемся с ней, как с калькулятором.

И тут — бац!

Как принимать метеорологические спутники, не привлекая внимание санитаров

Level of difficultyEasy
Reading time13 min
Views15K

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

Читать далее

Зажигаем миллиард цветов миллионом строк

Level of difficultyMedium
Reading time127 min
Views11K

Надругательство над C#, C++ и HLSL, игрища с булками и буферами, тройная полиглотность, SIMD, пепекторы, DirectX, экономия 800 Тб ОЗУ, новая парадигма программирования, многопроцессностьбыстрая степень и многое другое.

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

Осторожно, трафик!

Насколько безопасен ваш ИИ? Анализ угроз Model Context Protocol (MCP)

Reading time6 min
Views1.3K

Скорее всего, за последние месяцы вы уже сталкивались с аббревиатурой MCP (Model Context Protocol). Что это такое — просто очередной API или действительно что‑то стоящее внимания? В этом материале мы разберёмся, что такое MCP, почему благодаря нему LLM становятся мощнее, а также рассмотрим основные угрозы и уязвимости безопасности.

Если Вы уже знакомы с MCP, можете сразу переходить к разделу «Моделирование угроз». Тем не менее, советуем сначала ознакомиться с разделами «Sampling (выборка)» и «Композиция (composability)», — они раскрывают новые, довольно необычные векторы атак.

Что, и здесь?

То, что вы хотели знать про оптический поток, но стеснялись спросить

Reading time13 min
Views79K

Оптический поток (Optical flow) – технология, использующаяся в различных областях computer vision для определения сдвигов, сегментации, выделения объектов, компрессии видео. Однако если мы захотим его по-быстрому реализовать в своем проекте, прочитав про него на википедии или где-нибудь еще, то, скорее всего, очень быстро наткнемся на то, что он работает очень плохо и сбоит при определении сдвигов уже порядка 1-2 пикселей (по крайней мере так было у меня). Тогда обратимся к готовым реализациям, например, в OpenCV. Там он реализован различными методами и совершенно непонятно, чем аббревиатура PyrLK лучше или хуже обозначения Farneback или чего-нибудь в этом роде, да и придется поразбираться со смыслом параметров, которых в некоторых реализациях очень много. Причем, что интересно, эти алгоритмы как-то работают, в отличие от того, что мы написали сами. В чем же секрет?
Читать дальше →

Дыра в щите Cloudflare: как атака на Jabber.ru вскрыла проблему, о которой молчат c 2023

Level of difficultyEasy
Reading time5 min
Views34K

Многие помнят позапрошлогодний инцидент с Man-in-the-Middle атакой на XMPP-сервис jabber.ru. Эта история наделала много шума, но, как мне кажется, главный вывод из неё так и не был усвоен широкой аудиторией. А зря. Потому что эта атака вскрыла системную уязвимость в процессе выдачи TLS сертификатов, которая напрямую касается миллионов сайтов, особенно тех, кто доверяет свою безопасность Cloudflare.

В этой статье я расскажу вам о самой уязвимости и как вы можете быть ей подвержены.

В кроличью нору

Нарушает ли синий свет биоритм человека?

Reading time11 min
Views22K


Вы наверняка слышали или читали о том, что освещение синего цвета очень вредное для зрения и для биологических часов. С широким распространением среди населения планеты различного рода устройств, имеющих экраны и мониторы, это утверждение еще больше укрепилось в нашем подсознании. Даже смартфоны меняют настройки своих экранов в определенное время суток, чтобы не вредить пользователю ужасающим синим цветом, бьющим в глаза. Считается, что именно синее освещение обладает самым сильным влиянием на биологические часы человека. Но так ли страшен синий свет, как его малюют? Как оказалось, нет. Группа ученых из Манчестерского университета (Великобритания) провела ряд экспериментов, в которых определила связь между хроматическими воздействиями и циркадным ритмом мышей. В какое время какое освещение лучше, чем так особенен синий свет и почему утверждение про его вред не до конца правдиво. Об этом мы узнаем из доклада исследовательской группы. Поехали.
Читать дальше →

Электрохимическая размерная обработка металлов в домашней мастерской

Level of difficultyEasy
Reading time7 min
Views6.1K

Физические и химические процессы, происходящие при прохождении постоянного тока через электропроводящую жидкость (электролит) можно использовать в том числе и для более или менее точной формообразующей или отделочной обработки металлических заготовок, в том числе и из хрупких, твёрдых металлов, механическая обработка которых затруднена. Электрохимическая размерная обработка (ЭХРО) действует весьма деликатно, не оставляя в деталях остаточных напряжений, не деформируя тонкие заготовки. В отличие от травления химического, ЭХРО оперирует куда как менее агрессивными и дорогими химикатами, что упрощает и удешевляет процесс, снижает требования к материалам и мерам безопасности. ЭРХО широко применяется в лабораторной практике, не повредит и в любительском электровакуумном деле.
Читать дальше →

Призраки в коммитах: как я заработал $64 000 на удаленных файлах в Git

Reading time12 min
Views44K

Сегодня расскажу, как построил систему, которая клонирует и сканирует тысячи публичных GitHub-репозиториев — и находит в них утекшие секреты.

В каждом репозитории я восстанавливал удаленные файлы, находил непривязанные («висячие») объекты, распаковывал .pack-файлы и находил API-ключи, активные токены и учетки. А когда сообщил компаниям об утечках, заработал более $64 000 на баг-баунти.

Читать далее

Заблуждения программистов об именах

Reading time3 min
Views90K
Две недели назад на Хабре публиковался перевод «Заблуждения программистов о времени», который по своей структуре и стилю основан на этом классическом тексте Патрика Макензи, опубликованном два года назад. Поскольку заметка о времени была крайне благоприятно воспринята аудиторией, то, очевидно, имеет смысл перевести и исходную статью об именах и фамилиях.

Джон Грэхем-Камминг (John Graham-Cumming) сегодня жаловался в своём блоге, что компьютерная система, с которой он работал, не приняла его фамилию из-за недопустимых символов. Конечно, там нет недопустимых символов, потому что любой способ, как человек представляет себя, — по определению — является подходящим идентификатором. Джон выразил сильную досаду насчёт данной ситуации, и он имеет полное право, потому что имя — суть нашей индивидуальности, практически по определению.
Читать дальше →

Information

Rating
2,728-th
Registered
Activity