Pull to refresh
3
0
Send message

Сравниваем производительность REST и gRPC

Reading time4 min
Views18K

У меня есть несколько микросервисов, которые общаются друг с другом с помощью JSON через REST, и мне кажется, что скоро они достигнут предела производительности VPS, и мне нужно будет его апгрейдить, чтобы не было просадки по производительности.

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

Читать далее
Total votes 23: ↑18 and ↓5+13
Comments16

Что в Белизне тебе моей или Справочное пособие по гипохлориту натрия («хлорке»)

Reading time31 min
Views214K
Не передать, насколько мне приятно это писать. Данная статья полностью профинансирована подписчиками канала LAB66. Ни один производитель описанных в тексте средств -  своего участия не проявил, так что никакой скрытой рекламы, чиcтый альтруизм и потребительский интерес :)

Сегодня читаем о самом простом, самом доступном и самом действенном антисептике — про гипохлорит натрия (он же «Белизна»). Совместимость с различными материалами, техника безопасности, свойства и эффективность не только против коронавируса, но и против страшной плесени и ее микотоксинов. В качестве «вишенки» — контрольная закупка магазинных отбеливателей и оценка их состава. Чтобы узнать как в эпоху пандемии нас дурят производители бытовой химии и прочий «менеджерский брат» — идем под кат. И обязательно закидываем в закладки. Эта информация пригодится еще не раз ;)


Даешь нормальную Белизну!
Total votes 179: ↑176 and ↓3+173
Comments73

Проект Lacmus: как компьютерное зрение помогает спасать потерявшихся людей

Reading time19 min
Views21K
Всем привет!

Возможно, вы уже знаете про инициативу Machine Learning for Social Good (#ml4sg) сообщества Open Data Science. В её рамках энтузиасты на бесплатной основе применяют методы машинного обучения для решения социально-значимых проблем. Мы, команда проекта Lacmus (#proj_rescuer_la), занимаемся внедрением современных Deep Learning-решений для поиска людей, потерявшихся вне населённой местности: в лесу, поле и т.д.


Читать дальше →
Total votes 79: ↑78 and ↓1+77
Comments36

Передача данных через анимированные QR на Gomobile и GopherJS

Reading time12 min
Views33K

В данной статье я хочу рассказать о небольшом и забавном проекте выходного дня по передаче файлов через анимированные QR коды. Проект написан на Go, с использованием Gomobile и Gopherjs – последний для веб-приложения для автоматического замера скорости передачи данных. Если вам интересна идея передачи данных через визуальные коды, разработка веб-приложений не на JS или настоящая кроссплатформенность Go — велкам под кат.


txqr demo

Читать дальше →
Total votes 128: ↑124 and ↓4+120
Comments92

Борщевик Сосновского. В МО ввели штрафы за распространение

Reading time20 min
Views108K
Изображение с pixabay. Автор YvonneH1 ноября 2018 года Московская Область без объявления войны (объявленной парой лет ранее), ввела финансовые санкции. Против собственников территорий, предоставляющих плацдарм для распространения борщевика Сосновского. Ура!

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

Что же такое борщевик Сосновского и почему с ним надо бороться. Как это делать. Как это делать не нужно. А так же научные и псевдонаучные факты в нескучно-популярном изложении.
Читать дальше →
Total votes 289: ↑268 and ↓21+247
Comments684

Проблемы современной записи математических текстов

Reading time8 min
Views41K
В недавней статье товарищ KvanTTT поднял вопрос:
Можете пояснить что вам не нравится в современной записи (математических положений и) формул и как ее можно улучшить?
Я постарался ответить в одном комментарии, но размер текстового поля не позволил закончить выкладки. Данная статья — чрезмерно развернутый ответ.

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

Итак, на мой взгляд, основные претензии не столько к записи формул, сколько к подаче материала. Причем, к подаче материала на практически всех уровнях образования, начиная со школы, и заканчивая передовой наукой. Начало текущей ситуации положил Евклид, заявивший про отсутствие царской дороги в математике. Царскую дорогу не проложили до сих пор. Евклид обходился, и мы сможем.
Какие же проблемы есть у подачи материала?
Total votes 123: ↑112 and ↓11+101
Comments593

Вотериус: Передача показаний воды на телефон по Wi-Fi (4 года от батареек)

Reading time6 min
Views92K


Однажды мне надоело снимать показания счётчиков воды. Можно было поселить рядом со счетчиком магнит и на этом успокоиться, но этот путь я счёл неспортивным.

Мой путь оказался непростым и витиеватым. Но в результате получилось устройство, передающее показания воды по Wi-Fi на телефон. Простое и понятное в использовании и настройке хоть школьнику, хоть гуманитарию пенсионеру. А знакомым со словом «Ардуино» — ещё и несложное для изготовления. Девайс способен работать от батареек четыре года (дольше, чем длились отношения с вашей бывшей). Это ещё и первый открытый проект с такими характеристиками. Заводские аналоги я выписал, их мало, да и ладно с ними.

Итак, у нас есть немного денег и большое, но честное желание упростить себе жизнь, не нарушая Уголовный Кодекс. И чтобы никаких этих ваших 220В, серверов и кучи кнопок! Показания смотрим на смартфоне в приложении Blynk или аналогичном сервисе.

Теперь устройтесь в кресле поудобнее, съешьте ещё этих мягких французских булочек да выпейте чаю. Смотрите красивые фотографии и слушайте мой рассказ о том, что надо учитывать при создании автономных устройств. Но сначала краткое описание Вотериуса.
Читать дальше →
Total votes 127: ↑126 and ↓1+125
Comments205

Глубокое обучение в гараже — Две сети

Reading time10 min
Views19K
Пример работы системы
Это вторая статья из серии про определение смайла по выражению лица.

Глубокое обучение в гараже — Братство данных
Глубокое обучение в гараже — Две сети
Глубокое обучение в гараже — Возвращение смайлов

Калибрация


Итак, с классификатором, разобрались, но вы наверняка уже заметили, что заоблачные 99% как-то не очень впечатляюще выглядят во время боевого теста на детекцию. Вот и я заметил. Дополнительно видно, что в последних двух примерах очень мелкий шаг движения окон, так в жизни работать не будет. В настоящем, реальном запуске шаг ожидается больше похожим на картинку для первой сети, а там хорошо видно неприятный факт: как бы хорошо сеть не искала лица, окна будут плохо выровнены к лицам. И уменьшение шага — явно не подходящее решение этой проблемы для продакшена.
Как быть?
Total votes 34: ↑28 and ↓6+22
Comments16

Проектирование импульсного источника питания с активным ККМ. Эпизод I

Reading time28 min
Views184K

Предисловие


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

Еще одной причиной отсутствия статей была моя работа в одной «современной успешной IT-hardware-компании», сейчас наконец-то я ее покинул и окончательно пересел на фриланс, так что время для статьи появилось))

Недавно ко мне обратился мой старый наставник и просто очень хороший человек. Естественно я не мог отказать в помощи, а оказалось все достаточно просто — меня попросили сделать блок питания для КВ трансивера FT-450, который будет более стабильный в работе, особенно при пониженном входном напряжении, чем уже имеющийся Mean Well. Прошу заметить, я не говорю о том, что Mean Well плохая фирма, просто в данном случае нагрузка достаточно специфическая, а так продукция у них вполне себе хорошая.

Диагноз примерно такой:


— Заявлен выходной ток в 40А, на деле при потреблением в 30-35А (на передаче) блок уходит в защиту;
— Наблюдается сильный нагрев при длительной нагрузке;
— Совсем становится плохо, когда использует его на даче, где напряжение в сети 160-180В;
— Напряжение максимальное 13,2-13,4В, а хотелось бы 13,8-14В с возможностью подкрутить +-20%.

Особенностью данной статьи будет то, что проект продвигается вместе с ней. Я за него только засел и поэтому смогу рассказать обо всех этапах разработки: от ТЗ до готового прототипа. В таком формате статей с наскоку на гике я не нашел, обычно люди пишут уже проделав всю работу и забыв половину мелочей, которые часто несут в себе главный интерес. Так же эту статью я хочу написать доступным для новичков языком, поэтому местным гуру стоит чуточку проще относиться к «неакадемичности» моего слога.
Читать дальше →
Total votes 52: ↑52 and ↓0+52
Comments289

Микросхемы с разных сторон: семинары Nanometer ASIC, MIPSfpga и Connected MCU в России, Украине и Казахстане

Reading time7 min
Views7.6K


Стремитесь узнать про все этапы проектирования и производства микросхем от идеи до фабрики? Хотите построить прототип своей собственной системы на кристалле используя микросхемы ПЛИС? Интересуетесь программированием микроконтроллеров и операционными системами реального времени? Тогда приходите на семинары, которые совместно организовали американские, российские и украинские компании и университеты. Эти семинары будут проходить в Москве, Зеленограде, Санкт-Петербурге, Киеве и Алма-Ате во второй половине октября и первой половине ноября:

  • Nanometer ASIC — двухдневный семинар, описывающий все этапы проектирования и производства микросхем: создание спецификации, описание цифровой логики на языках описания аппаратуры Verilog и VHDL на уровне регистровых передач, логический синтез, размещение и трассировка, создание фотошаблонов и производство микросхем на фабрике. Для проведения этих семинаров из Калифорнии приезжает Чарльз Данчек, преподаватель такого курса в University of California Santa Cruz Extension in Silicon Valley. В Москве семинары проходят под эгидой Фонда инфраструктурных и образовательных программ (ФИОП) РОСНАНО и его дочерней компании eNANO.

  • MIPSfpga — устройство систем на кристалле, протоколы внутри чипа и вне чипа, интеграция процессорного ядра с памятью и устройствами ввода-вывода, наблюдение работы кэша и конвейера промышленного процессора на плате с ПЛИС. Семинары проводятся под эгидой британской компании Imagination Technologies, известной как разработчик графического процессора PowerVR внутри Apple iPhone.

  • Connected MCU — введение в использование микроконтроллеров, организация параллельности на одном процессоре, использование прерываний, таймеров, конечных автоматов реализованных в софтвере, и наконец — введение в RTOS и лабораторное занятие с использованием операционной системы FreeRTOS. Материалы семинаров подготовлены профессором Александром Дин из университета Северной Каролины в сотрудничестве с Imagination и Microchip Technology.

Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments7

Оптимизация кода: процессор

Reading time18 min
Views113K
Все программы должны быть правильными, но некоторые программы должны быть быстрыми. Если программа обрабатывает видео-фреймы или сетевые пакеты в реальном времени, производительность является ключевым фактором. Недостаточно использовать эффективные алгоритмы и структуры данных. Нужно писать такой код, который компилятор легко оптимизирует и транслирует в быстрый исполняемый код.

image

В этой статье мы рассмотрим базовые техники оптимизации кода, которые могут увеличить производительность вашей программы во много раз. Мы также коснёмся устройства процессора. Понимание как работает процессор необходимо для написания эффективных программ.
Читать дальше →
Total votes 107: ↑102 and ↓5+97
Comments142

DIY порошок для посудомойки: разбираем промышленные средства и улучшаем рецепт

Reading time11 min
Views125K


Внимание! В рецепте с отбеливателем обнаружилась опасность коррозии металла! Не рекомендуется в стандартном применении!

Обзор экспериментов год спустя:
DIY порошок для посудомойки: как не растворить посуду и не повторить моих ошибок. Год экспериментов

В прошлой публикации мы создавали дешевый порошок для посудомойки из желудей и спичек кальцинированной соды и стирального порошка. В этой я расскажу о том, как можно его улучшить с помощью кислородного отбеливателя и где можно купить компоненты для более продвинутой версии. Будем делать упор на эффективности мойки, но даже при этом цена не выйдет за 100 рублей/килограмм. А еще будет рецепт ополаскивателя с себестоимостью в районе 1 рубля за литр. Как справедливо заметил amarao, занятие не для всех и многим проще использовать готовые таблетки. Но в подобных экспериментах с бытовой химией есть что-то от детства, первых опытов по смешиванию соды с уксусом и газировки с мятными конфетами. Так что ощутимая экономия здесь все-таки вторична. Будем развлекаться) Если кому-то лень читать весь текст — в конце поста будут подробные рецепты с рекомендациями.
Читать дальше →
Total votes 123: ↑123 and ↓0+123
Comments351

Ethernet + PCIe + FPGA = LOVE

Reading time12 min
Views68K
image

Доступ по Ethernet невозможен без сетевых карточек (NIC). На небольших скоростях (до 1G) NIC встраивают в материнки, а на больших (10G/40G) NIC размещается на отдельной PCIe плате. Основным ядром такой платы является интегральный чип (ASIC), который занимается приемом/отправкой пакетов на самом низком уровне. Для большинства задач возможностей этого чипа хватит с лихвой.

Что делать, если возможностей сетевой карточки не хватает? Либо задача требует максимально близкого доступа к низкому уровню? Тогда на сцену выходят платы с перепрограммируемой логикой — ПЛИС (FPGA).

Какие задачи на них решают, что размещают, а так же самых интересных представителей вы увидите под катом!

Осторожно, будут картинки!
Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments56

Изготовление матриц для литья силикона

Reading time6 min
Views85K
На гиктаймс уже писали о литье пластмасс в силиконовые формы, но в этот раз мы будем лить силикон в пластмассу.

image

Краткая предыстория. Стала перед нами задача: изготовить энное количество резиновых кнопок от ключей автомобиля по образцу. Пробовали мы их печатать на 3D принтере из резинового филамента, но качество не устроило. Тогда-то и пришла мысль реверсировать технологию литья в силикон. Что из этого вышло, читайте под катом.
Много фото
Total votes 71: ↑69 and ↓2+67
Comments16

У семи программистов адрес без дома

Reading time4 min
Views97K
Привет, Хабр!

Мы в HumanFactorLabs парсим адреса в особо крупных размерах. Наши продукты упрощают ввод контактных данных и работу с ними.

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

Недавно на Хабре нас попросили привести примеры необычных адресов, в связи с чем и написана эта статья.
Читать дальше →
Total votes 104: ↑101 and ↓3+98
Comments211

Бесплатный учебник электроники, архитектуры компьютера и низкоуровневого программирования на русском языке

Reading time2 min
Views246K

Господа! Я рад сообщить, что наконец-то все желающие могут загрузить бесплатный учебник на более чем 1600 страниц, над переводом которого работало более полусотни человек из ведущих университетов, институтов и компаний России, Украины, США и Великобритании. Это был реально народный проект и пример международной кооперации.

Учебник Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера», второе издание, 2012, сводит вместе миры программного обеспечения и аппаратуры, являясь одновременно введением и в разработку микросхем, и в низкоуровневое программирование для студентов младших курсов. Этот учебник превосходит более ранний вводный учебник «Архитектура компьютера и проектирование компьютерных систем» от Дэвида Паттерсона и Джона Хеннесси, причем соавтор предыдущего учебника Дэвид Паттерсон сам рекомендовал учебник от Харрисов как более продвинутый. Следуя новому учебнику, студенты строят реализацию подмножества архитектуры MIPS, используя платы с ПЛИС / FPGA, после чего сравнивают эту реализацию с индустриальными микроконтроллерами Microchip PIC32. Таким образом вводится вместе схемотехника, языки описания аппаратуры Verilog и VHDL, архитектура компьютера, микроархитектура (организация процессорного конвейера) и программирование на ассемблере — в общем все, что находится между физикой и высокоуровневым программированием.

Как загрузить? К сожалению, не одним кликом. Сначало надо зарегистрироваться в пользовательском коммьюнити Imagination Technologies, потом зарегистрироваться в образовательных программах на том же сайте, после чего наконец скачать:
Читать дальше →
Total votes 117: ↑114 and ↓3+111
Comments66

Онтоинженер: от сотворения мира к порождению сущностей

Reading time12 min
Views16K
В этом посте я продолжу рассказ о той части Compreno, которая связана с профессией онтоинженера. Ну или о той работе онтоинженера, которая связана с упомянутой технологией — это уж кому как удобнее воспринимать.

Напомню, первая часть подвела нас к тому, что онтоинженеры строят онтологии, чтобы технология могла работать (без них — никуда, так уж всё устроено).
Чуть более полное описание первой части:
  • Наша система извлечения информации опирается на представление текста в виде синтактико-семантических деревьев Compreno.
  • Узлы деревьев примерно соответствуют словам в предложении, а дуги отражают зависимости между ними (с точки зрения грамматики зависимостей).
  • Деревья являются формальным представлением «смысла» высказывания, поэтому в них уже разрешены языковые неоднозначности.
  • Получив на вход эти деревья, на выходе система выдает информационные объекты — сущности (персоны, организации, локации и т.п.) или факты (аресты, смерти, покупки, родство, получение образования и т.п.).
  • Формальные модели действительности, внутри которых существуют все эти факты и сущности, называются онтологиями. Онтоинженеры разрабатывают онтологии, используя стандарт OWL.

О том, что ещё, и, конечно, зачем делают онтоинженеры, я предлагаю узнать прямо сейчас.

Семь битв – одно поддерево


Основную часть рабочего времени онтоинженер посвящает не «моделированию мира» (хотя это и звучит очень гордо), а созданию системы извлечения. И хотя мы всё больше экспериментируем со статистикой, машинным обучением и автоматическим извлечением паттернов, пока в наших продуктах и проектах используются правила, написанные вручную. Однако правила эти представляют собой не какие-то жесткие шаблоны, опирающиеся на линейный порядок слов в предложении, а описания фрагментов семантико-синтаксических деревьев ABBYY Compreno. Это позволяет нам сравнительно легко обходить вариативность и неоднозначность языка, кратко задавая множество вариантов, используемых для выражения одного и того же смысла.
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments21

Сортировка на односвязном списке за O(nlogn) времени в худшем случае с O(1) дополнительной памяти

Reading time11 min
Views57K
Все началось с данного топика на сайте gamedev.ru. Топикстартер предложил найти сортировку, которая обладает следующими свойствами:
  1. Время выполнения — гарантированные O(nlogn).
  2. Использование O(1) дополнительной памяти.
  3. Применимость для сортировки данных в односвязных списках (но не ограничиваясь ими).

Оговорки на все три ограничения:
  1. Гарантированные O(nlogn) означают, что, например, среднее время быстрой сортировки не подходит — должно получаться O(nlogn) для любых, даже самых худших входных данных.
  2. Рекурсию использовать нельзя, поскольку она подразумевает O(logn) памяти на хранение стека рекурсивных вызовов.
  3. Произвольного доступа к элементам сортируемого массива нет, мы можем двигаться итератором от любого элемента только к соседнему (за O(1)), причем только в одном направлении (вперед по списку). Модифицировать сам список (перевешивать указатели на следующие элементы) нельзя.

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

Под катом можно узнать, что в итоге получилось у нас.

Challenge. Прежде чем заглядывать под кат, предлагаю сначала самостоятельно подумать над алгоритмом. Если придумается что-то круче нашего варианта — напишите в комментариях.

Читать дальше →
Total votes 70: ↑67 and ↓3+64
Comments84

The Case of the Intermittent Windows Freezes

Reading time4 min
Views13K

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

Читать дальше →
Total votes 249: ↑238 and ↓11+227
Comments113

Ускорение загрузки Windows for fun and profit

Reading time4 min
Views803K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста
Total votes 532: ↑516 and ↓16+500
Comments365
1

Information

Rating
Does not participate
Registered
Activity