Pull to refresh
-2
2.9

Пользователь

Send message

Как отличить хорошего врача от посредственного

Reading time8 min
Views28K
image

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

Процент успешных операций у хирурга говорит либо о его профессионализме, либо о том, что он отказывается от сложных пациентов (это, кстати, серьёзная проблема: многие врачи с «золотым» резюме и не менее золотыми руками не берутся за рисковые случаи, когда есть, например, 30 % шанса смерти, но у любого другого хирурга он будет существенно выше).

Рейтинг и отзывы говорят либо о качестве врача, либо о том, как маркетологи их накручивают.

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

Но если вам надо выбрать врача среди незнакомых, то существует несколько базовых принципов, которые могут помочь разобраться, насколько он востребован.
Читать дальше →

Основы Whitespace: невидимого языка программирования

Level of difficultyEasy
Reading time7 min
Views13K

Привет, Хабр! Сегодня я расскажу про whitespace.

Whitespace — это уникальный язык программирования, который использует в качестве своего алфавита только непечатные символы: пробелы, табуляцию и новые строки. Этот эзотерический язык был создан Эдвином Брэди и Крисом Моррисом в 2003 и, разумеется, не предназначен для практического применения, существуя как определенный вызов для программистов — мол, попробуй отладить невидимый код.

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

И в этой статье мы рассмотрим базовые принципы этого безумного языка.

Читать далее

Схематично, простыми словами о внутреннем устройстве PHP (Zend Engine, OPCache, JIT)

Level of difficultyEasy
Reading time5 min
Views17K

Данный пост нацелен на неопытных PHP-специалистов. От этой информации лучше программировать вы не станете. Ожидаемая польза:

Мне когнитивно и морально легче, когда уменьшается «магия» того, с чем работаешь. Может тебе тоже

Возможно чуть-чуть реже статьи на хабре будут тебя отпугивать

Объясню на 4 примерах — каждый лишь немного сложнее предыдущего.

Пример 1: запуск программы, написанном на компилируемом языке (Go): в полной статье

Пример 2: Запуск скрипта PHP без OPCache и JIT

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

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

Вот схематично представил всю последовательность работы PHP скрипта без включенных OPCache и JIT (каждый из них по отдельности рассмотрим в следующих двух примерах).

У нас привычный «исходный код» PHP (файл hello-world.php):

<?php echo "Hello world";

Опять идем по порядку, рассмотрим какие процессы происходят запустив команду:

php hello-world.php

Процесс №1 — Компиляция в байт-код
Сначала исходный код обрабатывается Zend Compiler — это PHP компилятор. Первый из двух основных компонентов Zend Virtual Machine.

В отличие от рассмотренного выше компилятора Go:

задача PHP компилятора — преобразовать исходный код не в машинный код, а в код-посредник - байт-код;

процесс компиляции происходит при каждом запуске программы (вместо лишь единоразового - до запуска программы, как в примере с Go)

В случае PHP этот байт-код назвали PHP OPCode.

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

Чтобы посмотреть результат работы компилятора — сам байт-код — выполним команду:

php -d opcache.opt_debug_level=0x20000 -d opcache.enable_cli=1 hello-world.php

Получим:

$_main: ; (lines=3, args=0, vars=0, tmps=1) ; (after optimizer) ; /hello-world.php:1-2 0000 EXT_STMT 0001 ECHO string("Hello World") 0002 RETURN int(1)

Вначале видим $_main: — обозначает, что следующие строки относятся к функции main. Появление такой функции в байт-коде для глобальной области видимости PHP — занятная историческая особенность, дошедшая из других языков;

Следующие 3 строки начинаются на ; — так обозначаются комментарии. Одна из целей — для дебаг-информации;

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

Процесс №2 — Выполнение байт-кода

Читать далее

Операция «пейджер» может стать катастрофой для гражданской авиации (мнение)

Level of difficultyEasy
Reading time2 min
Views49K

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

Читать далее

Обновлено: Как я обнаружил проблемы у ЮМани (Сбербанк) с безопасностью и не получил денег за найденную уязвимость

Level of difficultyEasy
Reading time7 min
Views66K

Как известно, в России почти каждая первая финансовая организация позиционирует себя как софтверную IT‑компанию, а не просто как «банк» или «платежная система». Сегодня речь пойдет о ЮМани — подразделении Сбера, IT‑гиганта всея руси.

До того, как ЮМани стал тем, чем он сейчас является, сервис долгое время существовал как продукт Яндекса под названием Яндекс.Деньги — в те времена у меня был очень приятный опыт взаимодействия с техническим руководством компании, я неоднократно (будучи security researcher'ом) сообщал им об уязвимостях, а они, в свою очередь, оперативно это исправляли, давали обратную связь и вознаграждали за такую работу, аналогично тому, как это делали и зарубежные крупные IT‑компании в рамках взаимодействия с white‑hat хакерами. Такая вот IT‑компания здорового человека. Но с тем, как Сбербанк поглотил Яндекс.Деньги и провёл ребрендинг, проект стал превращаться, скорее, в IT‑компанию курильщика: взаимодействовать с представителями проекта в соц. сетях стало практически невозможно, какие‑либо данные на страницах о Bug Bounty программах были удалены и даже ни одного email‑адреса не оставили в качестве средства связи для сообщения об уязвимостях.

Пару месяцев назад я обнаружил уязвимость в сервисе ЮМани (о ней чуть позже) и сразу же решил сообщить о ней. Однако никаких релевантных этому форм связи, email‑адресов и т. д. я не обнаружил — способов безопасно сообщить о такой уязвимости элементарно не было на официальном сайте сервиса. Я попытался связаться с людьми, работающими в ЮМани, однако, опять же, я не получил никакой обратной связи. На этом моменте я, что называется, «забил», в надежде, что ошибку исправят и без меня, ведь не может же такая дырень оставаться незамеченной долго, правда? Спойлер: может.

Читать далее

Необычный зверь: графическая оболочка Desktop2 для MS-DOS

Reading time6 min
Views22K

Привет, Хабр! Это Антон Комаров из МТС Диджитал. Сегодня снова немного ностальгии — поговорим о Desktop2.

Представьте, что на дворе середина 90-х. Вы щелкаете переключателем питания на своем ПК с процессором Intel 486DX2. Раздается жужжание шпинделя жесткого диска, дисковод весело подхрюкивает шаговым двигателем, а на дисплее появляется его величество MS-DOS. Просто черный экран и строка, куда можно вводить команды. Понятное дело, что на этом далеко не уедешь, поэтому у многих пользователей стоял какой-нибудь Norton Commander. А чтобы насладиться настоящим графическим интерфейсом, можно было приобрести одну из первых версий Windows — например, 3.11.

То время давно прошло, и вот только сейчас, изучая различные материалы в сети, я наткнулся на интересную графическую оболочку тех времен. Называлась она Desktop2 и была создана немецким программистом Феликсом Риттером (Felix Ritter) в 1998 году. Детали — традиционно под катом.

Читать далее

С правильным Днем программиста

Level of difficultyEasy
Reading time2 min
Views8.5K
image

Вчера, 12 сентября, я получил раз 20 поздравление с днем программиста. День программиста — это 256-й день в году. Идея отмечать этот день понятная, интересная, воспринимается благожелательно, как программистами, так и остальными людьми.

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

Как SpaceX нарушила Договор о космосе первым выходом частного астронавта в космос — и почему это хорошо для компании

Reading time8 min
Views109K

Привет, Хабр! На связи Саша Баулин, специалист МТС Диджитал и фанат космоса.

Сегодня, 12 сентября 2024 года, в 13:12 по Москве Джаред Айзекман, командир космического корабля Crew Dragon, принадлежащего SpaceX, впервые в истории частной космонавтики вышел в скафандре в открытый космос. Те, кто видел трансляцию этих событий, могут пожать плечами: «Ну и что? Постоял, подвигал плечами, даже от корабля, считай, не отрывался. Что в этом такого, если космонавты и астронавты государственных агентств делают так уже 59 лет?»

Совсем другое отношение к этой истории у специалистов по космосу, особенно у конструкторов скафандров. Для них случившееся — событие огромного значения (все потому, что они понимают огромную сложность сделанного). А также у юристов, связанных с космическим правом: те вообще заявили, что SpaceX в частности и США в целом нарушили договор о космосе.

Отчего то, что не кажется чем-то особенным человеку с улицы, так серьезно взволновало специалистов по космосу и его законам?

Читать далее

С Днём программиста! Вот вам 27 вопросов для прокрастинации

Level of difficultyEasy
Reading time4 min
Views16K

Итак, настал 256 день 2024 года, а значит сегодня HR и DevRel будут особенно заботливы к программистам: местами возможны наплывы пены, осадки в виде пиццы и бургеров, в отдельных областях — грозы и ураганы физические и интеллектуальные активности. Мы же решили позаботиться о тех, кто отмечает праздник, подперев голову рукой и сидя за монитором. Провозглашаем час тотальной прокрастинации.

➡️ Комментарии к статье закрыты, чтобы вы не смущали друг друга подсказками. Мы потом создадим дубль статьи с ответами и открытым обсуждением.

➡️ Вопросы разные, все они присланы пользователями.

➡️ Присылайте ответы в личку @Exosphereили @Boomburum с нумерацией ответов. Двое победителей получат симпатичные призы (с отправкой по России).

А мы поздравляем всех причастных с праздником, желаем меньше багов, больше опыта, успешного рефакторинга, интересных проектов, адекватных РМ-ов и дружелюбных тимлидов.

Читать далее

Решаем загадку Джиндоша из Dishonored 2 на SQL перебором с возвратом

Level of difficultyMedium
Reading time18 min
Views16K


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

Сегодня мы рассмотрим решение непростой загадки Джиндоша из замечательной игры Dishonored 2 с помощью SQL.
SQL Может Многое!

Чудесное совпадение или плагиат в квадрате

Reading time5 min
Views19K

На Хабре периодически появляются разгромные статьи на тему, какой нынче Хабр стал «плохой», «злой», «корпоративный». О том, что он совсем «не торт», «скатился» и вообще «пробил дно». Вы, наверное, также помните проникновенные посты в духе «Прощай, Хабр». Многие хорошие люди покинули сайт, и на то были веские основания.

Теперь я сам оказался в такой ситуации, что просто не могу молчать. Настала моя очередь написать о том, какой Хабр… Тут по-хорошему должно быть какое-то изобличающее прилагательное, которое калёным железом выжигает все пороки нынешнего Хабра. Нет, здесь не будет моего манифеста на тему «уйду и больше не приду», все непечатные слова я также предпочёл оставить за скобками...

Читать далее

Профессиональная разработка на Brainfuck

Level of difficultyMedium
Reading time11 min
Views10K

Хотите довести до дурки любимого преподавателя компьютерных наук или навсегда прослыть «особенным» среди коллег сразу после (немедленного) увольнения?

Читайте про патентованный метод.

Читать далее

Kotlin глазами Java-разработчика

Level of difficultyEasy
Reading time6 min
Views22K

Привет, хабр! Сегодня я хочу рассказать про свой опыт взаимодействия с языком kotlin.

Представлюсь – я java разработчик, работаю в крупном банке, создаю (и поддерживаю существующие) микросервисы.

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

Итак, почему я решил изучить kotlin. Ну, во-первых, прожужали все уши, мол сокращение объема код, лаконичность, читаемость и сахар.

Читать далее

Как Яндекс учит Алису понимать пользователей с особенностями речи

Level of difficultyEasy
Reading time6 min
Views6.4K

В далёком 2018 году мы представили наше первое умное устройство с Алисой — Яндекс Станцию. С тех пор пользователи успешно взаимодействуют с виртуальным ассистентом с помощью голосовых команд. Но, к сожалению, бывают и сложности. Алиса не всегда правильно понимает запрос: ей могут мешать шумы, сливающиеся голоса или невнятно произнесённая фраза. Эта проблема особенно актуальна для пользователей с различными речевыми нарушениями — например, с заиканием, ДЦП, последствиями инсульта или травмы. Часто речь искажается так, что Алиса не понимает её, а значит, пользователь сталкивается с ограничениями.

Меня зовут Даня, я представляю команду, которая разрабатывает в Алисе технологию распознавания речи. Сегодня я расскажу небольшую историю о том, как мы решали описанную выше проблему. Пожалуй, было бы слишком смело предполагать, что такую сложную задачу можно навсегда победить одним быстрым решением (даже людям не всегда удаётся корректно понимать речь с особенностями). Тем не менее нам удалось сократить разрыв между точностью распознавания обычной речи и речи с искажениями в среднем на 20%. При некоторых лёгких формах нарушений звукопроизношения Алиса теперь понимает речь не хуже человека, а при тяжёлых формах нарушений — даже лучше. Это самый большой шаг в этом направлении с момента создания нашего помощника. 

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

Читать далее

Механизм Антикитера: древний астрономический калькулятор под прицелом современных технологий

Level of difficultyEasy
Reading time11 min
Views6.4K

Антикитерский механизм - это уникальное греческое устройство с зубчатыми передачами, созданное примерно в конце II века до нашей эры. Известно, что оно вычисляло и отображало астрономическую информацию, в частности, такие циклы, как фазы Луны и лунно-солнечный календарь. Календари были важны для древних обществ для определения сроков сельскохозяйственной деятельности и установления религиозных праздников. Затмения и движения планет часто интерпретировались как предзнаменования, в то время как спокойная регулярность астрономических циклов, должно быть, была философски привлекательна в неспокойном и жестоком мире.

Названный по месту своего обнаружения в 1901 году в римском кораблекрушении, Антикитерский механизм технически более сложен, чем любое известное устройство по крайней мере на тысячелетие вперед. Его конкретные функции оставались спорными, поскольку его шестерни и надписи на его поверхностях сохранились лишь фрагментарно.

В данной работе сообщается о поверхностной визуализации и высокоразрешающей рентгеновской томографии сохранившихся фрагментов, что позволило реконструировать функции шестерен и удвоить количество расшифрованных надписей. Механизм предсказывал лунные и солнечные затмения на основе вавилонских циклов арифметической прогрессии. Надписи подтверждают предположения о механическом отображении положений планет, которые сейчас утрачены. Во II веке до нашей эры Гиппарх разработал теорию для объяснения нерегулярностей движения Луны по небу, вызванных ее эллиптической орбитой. В зубчатой передаче механизма обнаружена механическая реализация этой теории, раскрывающая неожиданную степень технической сложности для того периода.

Читать далее

Пару ласковых о Telegram

Level of difficultyEasy
Reading time4 min
Views68K



Tелеге на вас плевать, даже если вы платите ей деньги.

Привет, друзья!


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

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

Бесконечная, вечная платёжная система всея МИРЭА

Level of difficultyEasy
Reading time40 min
Views12K

В это нелегкое время, так сложно найти работу, когда первокурсники МИРЭА уже пишут курсовые с микросервисами на 1к рпс, а выпускники каждый по системе на миллиарды пользователей. Видимо старому Java-коту ничего не остается, кроме как беседовать с вечностью и её сестрой бесконечностью. Если не они, то кто поможет коту найти работу?

Статью можно прочесть в формате pdf.

В атаку!

Новая схема по угону имен Телеграм-ботов и юзернеймов

Level of difficultyEasy
Reading time3 min
Views25K

Несколько дней назад ко мне в личку постучался товарищ c аккаунта @GreatChinas с ID: 6778690281 и именем 人民之神

Он предложил купить домен одного из моих ботов @krymbot за 300 TON (сейчас около 150000₽, на момент обращения около 200000₽).

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

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

Затем он сказал: «Кто-то сказал мне, что робот должен заменить ваше имя пользователя, а затем оно появится перед вами, и вы сможете установить цену», ага, уже интересней, надо имена менять местами, это уязвимость, по такой схеме в ВК уводили домены групп.Еще раз уточнил и получил ответ, что нужно перекинуть имя бота на имя пользователя. Т.к. имена владельцев ботов не видны, я предположил, что целью является не домен бота, а мое имя пользователя которое потом булут использовать для вымогательства и фишинга. Кстати, я не знал, что имя пользователя может оканчиваться на «Bot», но попробовав изменить юзернейм на одном из аккаунтов убедился, что это реально. Решил подстраховаться и идти дальше. Не хотелось быть обманутым, поэтому я решил делать все на третьем аккаунте, про который мошенник не знает, да и если знает, я им не пользуюсь и имя не представляет для меня ценности. По правилам Телеграм, отказавшись от имени пользователя, его владелец в течении 15-30 минут (по разным данным), имеет первостепенное право на его восстановление (другие пользователи не видят имя как свободное в течении этого времени). Оказалось, что к ботам это не относится, сразу после удаления бота доменное имя бота стало занято и его невозможно стало применить ни как имя пользователя, ни зарегистрировать бота на аккаунте владельца.

Читать далее

Что нового в IntelliJ IDEA 2024.2

Level of difficultyEasy
Reading time4 min
Views17K

Недавно вышла новая версия IntelliJ IDEA 2024.2, в которой появилось довольно много новых фич. Команда Amplicode подготовила обзор основных возможностей IDE, которые на данный момент доступны российским разработчикам без каких-либо ограничений.

Читать далее

Кадры не нужны – 27, или новое магическое мышление менеджмента

Level of difficultyHard
Reading time3 min
Views19K

Для ЛЛ и экспертов Хабра: не читать, сразу минусовать

Старейший Песнопевец тотчас же приметил, что перед ним двуногие, двурукие, бесхвостые боги. Он поспешно перестроил своих соплеменников в подобающую фигуру ...
Для каждого бога есть свой Танец Разрешения на Посадку. Затем идет Танец Подтверждения Астродрома, Танец Таможенного Досмотра, Танец Разгрузки и Танец Медицинского Освидетельствования. – Старейший Песнопевец выговаривал таинственные древние названия отчетливо и внушительно, с благоговением. – Тогда и только тогда можно начинать пиршество.
На носилках из ветвей два бога стенали и вяло шевелили руками. Глат знал: боги исполняют Танец Подражания боли и мукам смертных, подтверждая свое родство с теми, кто им поклоняется
.

Роберт Шекли. Ритуал

Читать далее

Information

Rating
1,925-th
Registered
Activity