Томными зимними вечерами, когда солнце лениво пробегало сквозь пелену дней — я нашел в себе силы заняться реализацией давней мечты: разобраться как же устроены процессоры. Эта мечта привела меня к написанию формальной спецификации RISC-V процессора. Проект на Github
User
USB-звуковая карта на YM3812
Я люблю старые компьютерные игры. Люблю старое железо, но не настолько, чтобы коллекционировать его дома. Другое дело – поковырять какой-нибудь старый чип и попробовать самому что-нибудь воспроизвести, совместить старое с новым. В данной статье история о том, как я подключил AVR-микроконтроллер к YM3812, применявшуюся в таких звуковых картах как Adlib, Sound Blaster и Pro AudioSpectrum. Я не создал что-то принципиально новое, просто объединил разные идеи. Возможно кому-то будет интересна моя реализация. А может мой опыт подтолкнет кого-нибудь на создание свого ретро-проекта.
Пишем USB-драйверы для заброшенных устройств
Недавно на eBay мне попалась партия интересных USB-девайсов (Epiphan VGA2USB LR), которые принимают на вход VGA и отдают видео на USB как веб-камера. Меня настолько обрадовала идея, что больше никогда не придётся возиться с VGA-мониторами, и учитывая заявленную поддержку Linux, я рискнул и купил всю партию примерно за 20 фунтов (25 долларов США).
Получив посылку, я подключил устройство, но оно даже не подумало появиться в системе как UVC. Что не так?
Я изучил сайт производителя и обнаружил, что для работы требуется специальный драйвер. Для меня это была новая концепция, ведь в ядре моего дистрибутива Linux обычно есть драйверы для всех устройств.
IT Релокация. Из Бангкока в Сидней
Доброго времени суток дорогой читатель. Если ты знаком с моей историей переезда в Бангкок, то, я думаю, тебе будет интересно послушать еще один мой рассказ. В начале апреля 2019 года я переехал в самый лучший город на Земле — Сидней. Занимай свое уютное кресло, завари теплый чаек и добро пожаловать под кат, где тебя ждет множество фактов, сравнений и мифов о Австралии. Что же, погнали!
Почему не 1С?
Совсем недавно мы опубликовали статью с описанием проблем одной из самых популярных технологий, используемых в IT, и на наше удивление она вызвала достаточно живой интерес (во всяком случае для технической статьи). Поэтому мы решили на этом не останавливаться, и сегодня мы «идем в гости» к одному из самых популярных продуктов на российском рынке разработки бизнес-приложений — платформе 1С.
Так сложилось, что на хабре многие 1С не любят, но порой складывается впечатление, что немногие из этих людей хорошо понимают, за что они его не любят. Этой статьей мы восполним этот пробел и убьем сразу двух зайцев: с одной стороны, расскажем, как в 1С все устроено изнутри, а с другой стороны — почему это все работает не так как нужно / хотелось бы. Надо сказать, что 1С многими своими решениями смог реально нас удивить, впрочем, не будем забегать вперед.
Статей с критикой 1С на Хабре достаточно (например, один, два, три), но, на мой взгляд, они либо слишком много внимания уделяют всяким мелочам, вроде неправильной организации меню, либо рассуждают о слишком абстрактных вещах, в которых 1С, возможно, и не виноват. В этой же статье, как и в статье про SQL, речь пойдет исключительно о фундаментальных (и вполне осязаемых) проблемах, которые касаются всех и каждого, кто разрабатывает / дорабатывает решения на 1С, и приводят либо к существенному росту порога вхождения, либо к серьезному падению производительности, либо к значительным трудозатратам со стороны разработчика.
Удаленное управление компьютером через браузер
На определенной стадии понял что для этих целей хорошо подходит технология WebRTC. Такое решение есть у Chrome браузера, оно устанавливается через расширение. Но хотелось сделать маловесную программу, которая будет работать без установки.
Сначала попробовал использовать библиотеку которую предоставляет Google, но после компиляции она занимает 500MB. Пришлось реализовать весь WebRTC стек почти с нуля, удалось все уместить в exe файл размером 2.5MB. Друг помог с интерфейсом на JS, вот что в итоге получилось.
Про установку и использование LineageOS 16, F-Droid
Я думаю, что это статья будет вам интересна, даже если вы не можете установить себе LOS, так как в данной статье также рассмотрены стандартные настройки Android, настройки и методика использования полезных приложений, магазин приложений F-Droid, разрешения Android, которые нельзя ограничить и другие, возможно полезные для вас нюансы.
8 советов начинающим программистам или ретроспектива моей карьеры
Ровно 15 лет назад, в этот самый день, своими дрожащими коленками я переступил порог офиса небольшого провинциального интернет-провайдера. Моя первая настоящая работа в качестве программиста. Знаний почти нет. Тонкий испуганный голосок откуда-то из желудка советует развернуться и убежать подальше, пока окончательно не опозорился. Глубокий вдох-выдох, и вот генеральный директор уже ведет меня в небольшую комнатку-подвальчик, показывает на полуразобранный компьютер, видавший лучшие времена: «Это твое рабочее место. Устраивайся». Так началась моя карьера.
Но перенесемся в настоящее. Сейчас я пишу эти строки, сидя в удобном офисе престижного БЦ в центре Москвы. За плечами работа с крупными международными брендами и разработка сложных fintech приложений. Сотни книг прочитано и десятки статей написано. Мания величия давно вылечена. Менеджерские позиции опробованы и отвергнуты. Душевное равновесие найдено. Любовь к профессии сохранена. Однако это не статья из серии “Какой я молодец. Делай, как я и тоже будешь молодцом”. Эта статья о том, какие ошибки я совершал и что можно было сделать лучше. Эта статья — ретроспектива моей карьеры.
Алексей Савватеев и теория игр: «Какова вероятность, что в ближайшие пять лет будет скинута атомная бомба?»
Расшифровка видеозаписи лекции.
Теория игр — дисциплина, которая прочно зависла между математикой и социальными науками. Одним канатом к математике, другим канатом — к социальным наукам, прочно прикреплена.
В ней есть теоремы, достаточно серьёзные (теорема существования равновесия), про неё снят фильм «Игры разума», теория игр проявляется в множестве художественных произведений. Если смотреть вокруг, то и дело встречаешь игровую ситуацию. Я собрал несколько сюжетов.
Все мои презентации делает жена. Все презентации могут свободно распространяться, я буду крайне рад, если вы по ней будете читать лекции. Это полностью свободный материал.
Некоторые сюжеты спорные. Модели могут быть разные, можете не соглашаться с моей моделью.
- Теория игр в Талмуде.
- Теория игр в русской классике.
- Телеигра или задача о парковочных местах.
- Люксембург в Евросоюзе.
- Синдзо Абэ и Северная Корея
- Парадокс Брайеса в Метрогородке (Москва)
- Два парадокса Дональда Трампа
- Рациональное безумие (снова Северная Корея)
(В конце поста — опрос про бомбу.)
Пишем никому не нужный эмулятор
Доброго времени суток.
Довольно давно имелось желание написать эмулятор какого-нибудь процессора.
А что может быть лучше, чем изобрести велосипед?
Имя велосипеду — V16, от склеивания слова Virtual и, собственно, разрядности.
Тюнинг переходных отверстий печатных плат
Анализ сишного Hello World
Для C hello world выглядит просто и коротко:
#include <stdio.h>
void main() {
printf("Hello World!\n");
}
Поскольку программа такая короткая, должно быть элементарно объяснить, что происходит «под капотом».
Начало работы с stm32 или не повторяйте моих ошибок
Небольшой рассказ о граблях, встреченных на пути познания ARM на примере stm32f103c8t6 и stm32l151rct6.
Проекция корпоративного конфликта на сетевую связность
Корпоративный конфликт возник 10.06.2019 из-за возрастания стоимости доставки SMS пользователям сети Вымпелком со стороны Mail.RU Group. В качестве ответных мер Mail.RU Group перестал «обслуживать» прямые российские IP-каналы в сторону сети Вымпелком.
Ниже краткий анализ ситуации с позиции сетевого инженера.
Update: 14.06.2019 18:45 — акцент на российских маршрутах в сеть Вымпелком, скорректированы выводы, добавлено пояснение Сергея Кубасова (CIO Вконтакте).
Update: 14.06.2019 19:48 — добавлено описание способа ограничения распространения маршрутов по «короткому» российскому пути через Ростелеком, МТС, РЕТН.НЕТ..
Update: 15.06.2019 09:39 — Mail.ru заблокировал свой Looking Glass.
Update: 18.06.2019 10:10 — Депиринг закончен. Вымпелком и Mail.RU Group подняли прямые BGP-сессии.
Chromium — это не только браузер, но и хороший фреймворк
Большинство людей привыкли, что Chromium — это и браузер, и основа для других браузеров. До недавнего времени я тоже так думал, но, изучая эту тему уже пару месяцев, я начал открывать другой дивный мир. Chromium — это огромная экосистема, в которой есть всё: и система зависимостей, и система кроссплатформенной сборки, и компоненты почти на все случаи жизни. Так почему же не попробовать создавать свои приложения, используя всю эту мощь?
Под катом небольшое руководство, как начать это делать.
Авиационные газотурбинные двигатели
Авиационные ГТД можно можно разделить на:
- турбореактивные двигатели (ТРД)
- двухконтурные турбореактивные двигатели (ТРДД)
- Турбовинтовые двигатели (ТВД)
- Турбовальные двигатели (ТВаД)
Притом, ТРД и ТРДД могут содержать в себе форсажную камеру, в таком случае они будут ТРДФ и ТРДДФ соответственно. В этой статье мы их рассматривать не будем.
Начнём с турбореактивных двигателей.
Турбореактивные двигатели
Такой тип двигателей был создан в первой половине 20-го века и начал находить себе массовое применение к концу Второй мировой войны. Первым в мире серийным турбореактивным самолетом был немецкий Me.262. ТРД были популярны вплоть до 60-ых годов, после чего их стали вытеснять ТРДД.
Современная фотография Me-262, сделанная в 2016 году
Самый простой турбореактивный двигатель включает в себя следующие элементы:
- Входное устройство
- Компрессор
- Камеру сгорания
- Турбину
- Реактивное сопло (далее просто сопло)
Можно сказать, что это минимальный набор для нормальной работы двигателя.
А теперь рассмотрим что для чего нужно и зачем.
Ключ на старт: лучшие программные и аппаратные средства для компьютерной криминалистики
Вот так раньше выглядела одна из визиток Игоря Михайлова, специалиста Лаборатории компьютерной криминалистики Group-IB. На ней — аппаратные ключи программ, которыми пользовался эксперт при проведении криминалистических экспертиз. Стоимость только этих программных продуктов превышает 2 миллиона рублей, а ведь есть еще бесплатное программное обеспечение и другие коммерческие продукты. Какой инструментарий выбрать для работы? Специально для читателей «Хабра» Игорь Михайлов решил рассказать о лучших программных и аппаратных средствах для компьютерной криминалистики.
Аппаратное ускорение глубоких нейросетей: GPU, FPGA, ASIC, TPU, VPU, IPU, DPU, NPU, RPU, NNP и другие буквы
14 мая, когда Трамп готовился спустить всех собак на Huawei, я мирно сидел в Шеньжене на Huawei STW 2019 — большой конференции на 1000 участников — в программе которой были доклады Филипа Вонга, вице-президента по исследованиям TSMC по перспективам не-фон-неймановских вычислительных архитектур, и Хенга Ляо, Huawei Fellow, Chief Scientist Huawei 2012 Lab, на тему разработки новой архитектуры тензорных процессоров и нейропроцессоров. TSMC, если знаете, делает нейроускорители для Apple и Huawei по технологии 7 nm (которой мало кто владеет), а Huawei по нейропроцессорам готова составить серьезную конкуренцию Google и NVIDIA.
Google в Китае забанен, поставить VPN на планшет я не удосужился, поэтому
Только в прошлом году в тему было вложено больше 3 миллиардов долларов. Google уже давно объявил нейросети стратегическим направлением, активно строит их аппаратную и программную поддержку. NVIDIA, почувствовав, что трон зашатался, вкладывает фантастические усилия в библиотеки ускорения нейросетей и новое железо. Intel в 2016 году потратил 0,8 миллиарда на покупку двух компаний, занимающихся аппаратным ускорением нейросетей. И это при том, что основные покупки еще не начались, а количество игроков перевалило за полсотни и быстро растет.
TPU, VPU, IPU, DPU, NPU, RPU, NNP — что все это означает и кто победит? Попробуем разобраться. Кому интересно — велкам под кат!
Аудио через Bluetooth: максимально подробно о профилях, кодеках и устройствах
This article is also available in English
Из-за массового выпуска смартфонов без аудиоразъема 3.5 мм беспроводные Bluetooth-наушники для многих стали основным способом прослушивания музыки и общения в режиме гарнитуры.
Производители беспроводных устройств не всегда пишут подробные характеристики товара, а статьи о Bluetooth-аудио в интернете противоречивы, местами некорректны, не рассказывают о всех особенностях, и часто копируют одну и ту же не соответствующую действительности информацию.
Попробуем разобраться с протоколом, возможностями Bluetooth-стеков ОС, наушников и колонок, Bluetooth-кодеков для музыки и речи, выясним, что влияет на качество передаваемого звука и задержку, научимся собирать и декодировать информацию о поддерживаемых кодеках и других возможностях устройств.
TL;DR:
- SBC — нормальный кодек
- У наушников есть свой эквалайзер и пост-процессинг на каждый кодек отдельно
- aptX не настолько хорош, как о нём говорят рекламные анонсы
- LDAC — маркетинговое фуфло
- Качество звука в режиме разговора всё ещё низкое
- В браузер можно встроить аудиоэнкодеры на C, скомпилировав в WebAssembly через emscripten, и они не будут особо тормозить.
Топ ошибок со стороны разработки при работе с PostgreSQL
С вами такого, конечно, никогда не случится, но проверить чек-лист не трудно, а сэкономить будущих нервов он может очень прилично. Под катом перечислим топ типичных ошибок, которые совершают разработчики при работе с PostgreSQL, разберемся, почему так делать не надо, и выясним, как надо.
О спикере: Алексей Лесовский (lesovsky) начинал системным администратором Linux. От задач виртуализации и систем мониторинга постепенно пришел к PostgreSQL. Сейчас PostgreSQL DBA в Data Egret — консалтинговой компании, которая работает с большим количеством разных проектов и видит много примеров повторяющихся проблем. Это ссылка на презентацию доклада на HighLoad++ 2018.
Information
- Rating
- Does not participate
- Registered
- Activity