Частенько в дискуссиях на тему работы я встречаю тезисы о том, как плохо работать в том или ином проекте/компании/отрасли и т.д. И несмотря на то, что в отечественном IT в целом очень распространено нытье, многое из обсуждаемого действительно имеет место в реальности. Однако, спустя годы разработки, смены проектов, компаний и даже стека технологий, у меня выработалось понимание проблемы и ее решения с другого ракурса. Об этом и поговорим.
User
Hello, World! Глубокое погружение в Терминалы
На написание данной статьи меня вдохновила статья об анализе Сишного printf. Однако, там был пропущен момент о том, какой путь проходят данные после того, как они попадают в терминальное устройство. В данной статье я хочу исправить этот недочет и проанализировать путь данных в терминале. Также мы разберемся, чем отличается Terminal от Shell, что такое Pseudoterminal, как работают эмуляторы терминалов и многое другое.
Дешёвые и дорогие батарейки ААА

Идеальная ОС: переосмысление операционных систем для десктопа
«Современные» десктопные ОС раздуты
Возьмём Raspberry Pi. За 35 долларов я могу купить отличный компьютер с четырьмя процессорными ядрами, каждое на частоте более гигагерца. У него также есть 3D-ускоритель, гагабайт оперативки, встроенные WiFi с Bluetooth и Ethernet. За 35 баксов! И всё-таки для многих задач, которые я хочу на нём запустить, Raspberry Pi ничем не лучше компьютера на 66 мегагерц, который был у меня в колледже.

Мобильный телефон BuratinoPhone

Цель проекта — изучение основ разработки под Arduino, отработка технологий изготовления печатной платы, пайки элементов, изготовления корпуса в домашних условиях. Тем, кто захочет повторить или воспользоватся решениями для своих проектов, исходники можно скачать здесь Github.
7 привычек высокоэффективных программистов

Автор статьи, перевод которой мы сегодня публикуем, говорит, что команда, в которой он трудится, воодушевилась рассказом TechLead’a о 7 привычках высокоэффективных программистов. Члены команды решили высказать собственные мысли по этому вопросу. Здесь, в форме советов, приведён разбор 7 навыков эффективных программистов.
Чему я научился на своём горьком опыте (за 30 лет в разработке ПО)

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

Ну что. Разберём «лопнул ли пузырь», «как дальше жить» и поговорим откуда вообще такая загогулина.
Аудио через Bluetooth: максимально подробно о профилях, кодеках и устройствах

This article is also available in English
Из-за массового выпуска смартфонов без аудиоразъема 3.5 мм беспроводные Bluetooth-наушники для многих стали основным способом прослушивания музыки и общения в режиме гарнитуры.
Производители беспроводных устройств не всегда пишут подробные характеристики товара, а статьи о Bluetooth-аудио в интернете противоречивы, местами некорректны, не рассказывают о всех особенностях, и часто копируют одну и ту же не соответствующую действительности информацию.
Попробуем разобраться с протоколом, возможностями Bluetooth-стеков ОС, наушников и колонок, Bluetooth-кодеков для музыки и речи, выясним, что влияет на качество передаваемого звука и задержку, научимся собирать и декодировать информацию о поддерживаемых кодеках и других возможностях устройств.
TL;DR:
- SBC — нормальный кодек
- У наушников есть свой эквалайзер и пост-процессинг на каждый кодек отдельно
- aptX не настолько хорош, как о нём говорят рекламные анонсы
- LDAC — маркетинговое фуфло
- Качество звука в режиме разговора всё ещё низкое
- В браузер можно встроить аудиоэнкодеры на C, скомпилировав в WebAssembly через emscripten, и они не будут особо тормозить.
Акихабара: место гнездования отаку

Храм аниме. На нормальных табличках пишут желания вроде «здоровья родным». Тут желания другие. Совсем другие.
Сам подрайон от реки до 6 квартала ещё называется «Электрогородок», потому что там раньше торговали электроникой. «Радиовышка» или высотка Radio Kaikan 62-го года постройки — это зародыш электрогородка, откуда всё пошло, первое высокое здание в районе. Ну, это тогда оно было высоким, а сейчас просто одно из многих, и не такое уж и большое. Там были магазины, а внизу развалы с подержанной электроникой. В 2011 году, правда, высотку развалило землетрясением (была признана аварийной), но её быстро перестроили к 2014 году. И теперь внутри торговый центр кольцевого типа, где всякая куча товаров для отаку. В целом, можно бродить просто по ней и соседнему зданию, и это получится мини-Акиба.
В общем, я прогулялся по району сам, а потом нашёл местных фиксеров, которые показали его с двух разных сторон и провели на пару секретных уровней. Сразу скажу, гулять по Акибе без местного или без детального путеводителя — идея так себе.
Советские мечты о будущем

Помните очаровательного котика, которые чихал в заставке советского мультфильма? Мы помним, и нашли его — вместе с ворохом другой рисованной фантастики. В детстве она пугала и обескураживала, поскольку поднимала серьезные, взрослые темы. Настала пора пересмотреть старые мультфильмы, чтобы узнать, о каком будущем мечтали в той стране.
Как украсть деньги с бесконтактной карты и Apple Pay

В статье разбираются популярные мифы и сценарии мошенничества с бесконтактными системами оплаты на примере настоящего POS-терминала, карт PayPass/payWave и телефонов с функцией Google Pay/Apple Pay.
Рассматриваемые темы:
- Можно ли НА САМОМ ДЕЛЕ украсть деньги, прислонившись POS-терминалом к карману? — мы попытаемся полностью воспроизвести этот сценарий мошенничества от начала до конца, с использованием настоящего POS-терминала и платежных карт в реальных условиях.
- В чем разница между физическими и виртуальными картами Apple Pay? — как происходит связывание физической карты и токена Apple Pay, и почему Apple Pay во много раз безопаснее обычной карты.
- Используем аппаратный NFC-сниффер (ISO 14443A) — воспользуемся устройством HydraNFC для перехвата данных между POS-терминалом и картой. Рассмотрим, какие конфиденциальные данные можно извлечь из перехваченного трафика.
- Разбираем протокол EMV — какими данными обменивается карта с POS-терминалом, используемый формат запросов, механизмы защиты от мошенничества и replay-атак.
- Исследуем операции без карты (CNP, MO/TO) — в каких случаях на самом деле(!) можно украсть деньги с карты, имея только реквизиты, считанные бесконтактно, а в каких нельзя.
Внимание!
В статье подробно описывается гипотетическая схема мошенничества, от начала и до конца, глазами мошенника, с целью покрыть все аспекты, в которых культивируются мифы и заблуждения. Несмотря на провокационный заголовок, основной вывод статьи — бесконтактные платежи достаточно безопасны, а атаки на них трудоемки и невыгодны.
Материалы в статье представлены исключительно в ознакомительных целях. Все сцены демонстрации мошенничества инсценированы и выполнены с согласия участвующих в них лиц. Все списанные деньги с карт были возвращены их владельцам. Воровство денег с карт является уголовным преступлением и преследуется по закону.
Япония: страна настолько здравого смысла, что он для нас местами иррационален

С того момента, когда у вас появляется подруга-анимешница, вы только и слышите, что о Японии. Какие там все странные. Как там круто. Как вас зарежут за невежливое слово. И так далее. Для меня это всегда были ниндзя, самураи, якудза, аниме, богиня Кэнон для фотоаппарата, электроника, суши и щупальца. Думаю, вы можете продолжить список.
На месте оказалось, что всё это есть, но это не главное. Это просто мелочи. Главное то, что если мы будем когда-нибудь строить космические города, я знаю, кто лучше всех справится. Потому что Япония сейчас — это очень технологичная и при этом очень зелёная страна. Они умудрились в одном из самых технологичных городов мира вписать красоту в каждую мелочь и сохранить ощущение, что ты на природе. И максимально эффективно распорядиться ресурсами, включая мусор. И при этом их не беспокоит недоделанность и несовершенство мира вокруг — у нас красота бывает только в оконченном состоянии, а у них ещё и в процессе. То есть всё время.
И вся вот эта лютая хрень, которую вы слышали про страну, на самом деле логично следует из предпосылок, которые есть в базовом культурном коде. Сейчас расскажу.
Инновации по-русски
И я должен сказать о причине, по которой не стоит заниматься инновациями в России. Здесь можно порассуждать о плохом инвестиционном климате, неэффективности государственных программ, размере внутреннего рынка, смещенных мотивациях участников. Но кроме этого есть и плохо контролируемый риск, который заключается в возможности оказаться за решеткой. И об этом не принято говорить вслух, а нужно. Под катом топ-5 инновационных компаний по версии следственного комитета, известных мне, а их злоключения не были ранее упомянуты на хабре.
Художественные детские книги про социнжиниринг

Привет! Я три года назад читал в детском лагере лекцию про социнжиниринг, троллил детей и немного бесил вожатых. В итоге испытуемые спросили, что почитать. Мой дежурный ответ про две книги Митника и две книги Чалдини, вроде, убедителен, но только для примерно восьмиклассника и старше. Если младше — то надо сильно чесать голову.
В общем, ниже — очень короткий список самых обычных художественных произведений. Лёгких, простых, детских. Но про социальную инженерию. Потому что в каждой культуре есть персонаж-джокер, который немного психопат, немного шут и немного эффективный специалист. Список неполный, и я хочу попросить вас его продолжить.
Почему не нужно тратить свое время на создание нишевых тематических сайтов

К настоящему моменту я владею несколькими тематическими порталами, которые успешно загибаются. И в этой статье я расскажу о том, как я их сделал, сколько получил, и почему им приходит конец, и я не могу ничего с этим сделать.
Буду рассказывать на примере сайта по мужской психологии, который я открыл в 2011 году (год очень важен!) Информация о которой я рассказываю уже не особо актуальна, зато поможет вам сэкономить время и отказаться от идеи открыть свой тематический портал.
Итак, 2011 год, я глупый и наивный парнишка, мой первый тематический сайт!
Как совместить преимущества ноутбука и стационарного компьютера? Разбор проблемы и идеи решения
Под ноутбуком понимается решение небольшого веса и размера, мобильное, с которым можно работать и дома, и в офисе, и на отдыхе, и даже по пути из одного места в другое. Вдобавок, в ноутбуке встроена вся та периферия, которую к системному блоку необходимо подключать. К сожалению, ноутбуки почти всегда значительно уступают в производительности стационарным компьютерам, а если и не уступают, то имеют очень высокую цену по сравнению с «большим братом». Но, наверное, самое неприятное — ноутбук почти невозможно сделать «под себя», выбрать те комплектующие, которые по скорости, производительности, цене и внешнему виду актуальны именно тебе и именно сегодня, а через пару лет при желании поменять эти комплектующие на более современные.
Итак. Возможно ли совместить преимущества ноутбука и стационарного компьютера, и, если это возможно, то что для этого нужно сделать?
Для начала давайте скажем, что в этом посте речь зайдет не о переносных мониторах, мышках и другой периферии. В этом посте мы будем говорить практически полностью о корпусе компьютера. Каким должен быть корпус и какие комплектующие он должен в себя вмещать, чтобы при относительно компактном размере обеспечивать высокую производительность, а так же возможность собрать компьютер таким, каким его видит конечный потребитель?
14 вопросов об индексах в SQL Server, которые вы стеснялись задать
Индексы — это первое, что необходимо хорошо понимать в работе SQL Server, но странным образом базовые вопросы не слишком часто задаются на форумах и получают не так уж много ответов.
Роб Шелдон отвечает на эти, вызывающие смущение в профессиональных кругах, вопросы об индексах в SQL Server: одни из них мы просто стесняемся задать, а прежде чем задать другие сначала подумаем дважды.
- SQL Server Index Basics от 25 ноября 2008 года (заметка даёт понимание основных терминов)
- 14 SQL Server Indexing Questions You Were Too Shy To Ask от 25 марта 2014 года (собственно, ради неё всё и затевалось)
Если вы пишите запросы на языке T-SQL, но плохо понимаете откуда берутся данные, то стоит прочитать данный перевод.
Если же вы захотите знать больше, то в конце перевода я даю тройку книг с которых следует двигаться дальше.
Вещи, которых я не знаю в 2018
Привет, Хабр! Представляю вашему вниманию перевод статьи "Things I Don’t Know as of 2018" автора Дэна Абрамова.
Люди обычно думают, что я знаю многое, но это не так на самом деле. Это не так плохо и я совсем не жалуюсь. (Некоторая малая часть людей часто страдает от предвзятого убеждения, не смотря на то, что они заслуживают большего, что ужасно).
В этом сообщении я покажу незаконченный список тем программирования, который люди ошибочно предполагают, что я знаю. Я не говорю, что вам не нужно их изучать или я не знаю других полезных вещей. Но поскольку я не поставил себя в уязвимое положение, я могу быть честным по этому поводу.
Сущности в DDD-стиле с Entity Framework Core
TLDR
В DDD-подходе есть множество преимуществ, но главное – DDD переносит код операций создания / изменения внутрь класса сущности. Это значительно понижает шансы неверного понимания / интерпретации разработчиком правил создания, инициализации и использования экземпляров классов.
Information
- Rating
- 6,141-st
- Registered
- Activity