Обновить
69
0.6

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

Отправить сообщение

Вакуумное напыление «на коленке»

Время на прочтение12 мин
Охват и читатели41K

Вакуумное напыление (англ. physical vapor deposition, PVD; напыление конденсацией из паровой (газовой) фазы) — группа методов напыления покрытий (тонких плёнок) в вакууме, при которых покрытие получается путём прямой конденсации пара наносимого материала.

Различают следующие стадии вакуумного напыления:

  1. Создание газа (пара) из частиц, составляющих напыление.
  2. Транспорт пара к подложке.
  3. Конденсация пара на подложке и формирование покрытия.

К группе методов вакуумного напыления относятся перечисленные ниже технологии, а также реактивные варианты этих процессов.
Читать дальше →

Обзор команд полуфиналистов $10M ANA Avatar XPRIZE

Время на прочтение15 мин
Охват и читатели2K

38 роботов, которые расширят потенциал человека. Обзор команд полуфиналистов $10M ANA Avatar XPRIZE - четырехлетнего международного соревнования по разработке управляемых оператором роботов-аватаров, позволяющих переносить в любую точку пространства навыки и опыт человека.  

На участие в соревновании, стартовавшем в 2018 году, было подано более 1800 заявок. В полуфинал вышли 38 команд, среди них 1 команда из России.

Читать далее

Выбираем длинный путь (или прощай MAX_PATH)

Время на прочтение4 мин
Охват и читатели89K


Многим пользователям ПК под управлением ОС Windows, не говоря о разработчиках, знакомы проблемы при работе с длинными (более 260 символов, MAX_PATH) путями файлов или каталогов.

В данной статье рассматриваются способы избавления от этого пережитка при разработке приложений на различных платформах (WinApi, .Net Framework, .Net Core) и активации нативной поддержки длинных путей в Windows 10 (Anniversary Update).
Подробности

Троян в CS-Cart. Утечка счетов из 35'000 интернет-магазинов

Время на прочтение3 мин
Охват и читатели11K

TL;DR: Разрабы второго по популярности (по версии ratingruneta) интернет-магазина встроили в движок код, который делает копии всех счетов клиентов на сервер в Аризоне.

Читать далее

Приручение nRF пульта для ПК с потерянным приемником

Время на прочтение10 мин
Охват и читатели9.7K

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

Читать далее

SQLite — не игрушка

Время на прочтение7 мин
Охват и читатели91K

Рассказываю, почему SQLite отлично подойдет вам в повседневной работе. И неважно, разработчик вы, аналитик, тестировщик, админ или продакт-менеджер.

Читать далее

Интересные алгоритмы кластеризации, часть вторая: DBSCAN

Время на прочтение10 мин
Охват и читатели133K
Часть первая — Affinity Propagation
Часть вторая — DBSCAN
Часть третья — кластеризация временных рядов
Часть четвёртая — Self-Organizing Maps (SOM)
Часть пятая — Growing Neural Gas (GNG)

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


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

Как мы ржавели. История внедрения и обучения

Время на прочтение12 мин
Охват и читатели41K

Все говорили – переходи на rust! Начинай пользоваться самым-самым языком, который самый любимый язык на stackoverflow и всё такое.

Я тяжело вздохнул и огляделся. Ну опять двадцать-пять. Ладно, давайте разбираться, как правильно покрывать всё ржавчиной.

Профессионально я программирую уже 17 лет. В далёкие-предалёкие времена я начал изучать программирование с x86 Assembly. Такой жестокий подход к изучению компьютера дал мне глубокое понимание того как работает процессор и что делают другие языки программирования. Учить новые языки для меня никогда не было проблемой. Я их просто учил. C, C++, шарпы, ГО, тысячи разных скриптов и фреймворков. Чего уж там, ещё один язык, можно и выучить.

Ага.

Только вот не с этой ржавой развалюхой. Я просидел две недели над официальным руководством, пялился в VSCode и не мог выдавить из себя больше чем fn main() {}. Ну какого же чёрта? Я просто закрыл глаза, открыл руководство на рандомной странице и начал его читать. И прикол в том, что я понял о чём там говориться. И тут до меня дошло… Руководство написано наизнанку. Начало и конец ничуть не лучше чем в Мементо Кристофера Нолана. Они как-то умудрились запутать в общем-то нормальное руководство. После этого всё пошло получше.

Ржавые шестерёнки заскрипели и начали крутиться. Программа пошла-поехала. Если хотите знать как я внедрил rust в продакшин, как я ему научился и что из этого вышло – добро пожаловать под кат. Реальные люди, коммиты, примеры и никаких todo-list и хеллоу-ворлдов.

Ржаветь так ржаветь.

Как обучать огромные модели машинного обучения на случайных GPU

Время на прочтение11 мин
Охват и читатели12K
Вы можете спросить: почему эти полумагические модели машинного обучения работают так хорошо? Короткий ответ: эти модели чрезвычайно сложны и обучаются на огромном количестве данных. На самом деле, Lambda Labs недавно подсчитала, что для обучения GPT-3 на одном GPU потребовалось бы 4,6 миллиона долларов — если бы такое было возможно.

Такие платформы, как PyTorch и Tensorflow, могут обучать эти огромные модели, потому что распределяют рабочую нагрузку по сотням (или тысячам) GPU одновременно. К сожалению, этим платформам требуется идентичность графических процессоров (они должны иметь одинаковую память и вычислительную производительность). Но многие организации не имеют тысячи одинаковых GPU. Малые и средние организации покупают разные компьютерные системы, что приводит к неоднородной инфраструктуре, которую нелегко адаптировать для вычисления больших моделей. В этих условиях обучение моделей даже среднего размера может занимать недели или даже месяцы. Если не принять меры, университеты и другие небольшие организации рискуют потерять конкурентоспособность в погоне за разработкой новых, лучших моделей машинного обучения. Но это можно исправить.

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


Приятного чтения!

Передача файлов по воздуху через камеру смартфона

Время на прочтение4 мин
Охват и читатели37K


Проблема


Штрихкод — классная штука для маркировки всего на свете, от товаров до людей. Сейчас в ходу около двух десятков стандартов двумерных штрихкодов, и ещё десятки неудачных, трагически непонятых, самопальных и внутренних корпоративных вариантов, большинство из которых с треском проигрывает обычному QR-коду. Распространённость и простота реализации сделали его самым популярным среди двумерных штрихкодов, но и у него есть недостаток, характерный для всех линейных собратьев: он вмещает очень мало информации. В 2-3 килобайта можно уместить ссылку или небольшой отрывок текста, но даже небольшая картинка или обычный документ уже не влезут даже в самый большой код.

Любительская голография — начало пути

Время на прочтение13 мин
Охват и читатели67K
Вторая часть про галогенсеребряные фотоматериалы.

Хочу рассказать об одном из своих интересов – оптической голографии. Нет, это про не те голограммы, что показаны в «Звёздных войнах», или видны в пирамидках на экранах мобильных телефонов, не про проекцию на плёнке и т. п. А то, о чём рассказывает Википедия в соответствующей статье, а ещё лучше в англоязычном варианте (это касается всех ссылок на Википедию по тексту). Не буду вдаваться в технические подробности и дебри уравнений (происходящие процессы очень сложны, и по теме написаны десятки объёмных монографий и сотни статей), а попробую очень кратко рассказать, что такое оптическая голография и чем она отличается от фотографии в практическом плане, что в ней такого интересного и каким образом можно в домашних условиях изготовить первую настоящую голограмму. Хоть процесс записи голограмм и похож на классический аналоговый фотографический процесс, но всё же он имеет ряд заметных отличий: другие оптические схемы, не нужен объектив, и соответственно нет необходимости в фокусировке, используются фотографические материалы со значительно большим разрешением, монохроматические источники излучения, принципиальное отсутствие негатива и позитива, строгие требования к отсутствию вибраций, иные правила композиции сцены и мн. др.


Возможности SQLite, которые вы могли пропустить

Время на прочтение8 мин
Охват и читатели48K
Если вы используете SQLite, но не следите за его развитием, то возможно некоторые вещи, позволяющие сделать код проще, а запросы быстрее, прошли незамеченными. Под катом я постарался перечислить наиболее важные из них.
Читать дальше →

ВКонтакте снова выкладывает KPHP

Время на прочтение13 мин
Охват и читатели60K
Привет! Сейчас будет дежавю.

Мы снова выложили на GitHub наш PHP-компилятор — KPHP. Он проделал большой путь, и чтобы рассказать о нём, сначала телепортируемся на шесть лет назад.

Поясню для тех, кто не в теме: платформа ВКонтакте изначально была написана на PHP. Со временем нас перестала устраивать производительность, и мы решили ускорить VK. Сделали компилятор — KPHP, который поддерживал узкое подмножество PHP. Это было давно, и с тех пор мы о нём не рассказывали, так как KPHP почти не развивался до 2018-го года.

Но два года назад мы взялись за него, чтобы вдохнуть в эту разработку новую жизнь. Что сделали и какой получили результат — расскажу в этой статье. Она будет не о громком релизе, который можно прямо сейчас внедрять в свои проекты, а о внутренней разработке ВКонтакте, которую мы показываем сообществу и продолжаем развивать. Представлюсь: меня зовут Александр Кирсанов, я руковожу командой Backend-оптимизаций.

А теперь — телепортация.

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

Лёгкие приложения Linux для старого железа

Время на прочтение7 мин
Охват и читатели45K

Окружение Xfce

Любую систему можно разогнать, есть стандартные способы оптимизации десктопа: минимум софта в автозагрузке, preload, оптимальное зеркало для пакетов, apt-fast вместо apt-get, настройки для оптимизации отдельных приложений и так далее.

Но всё это мелкие оптимизации по сравнению с фундаментальными столпами:

  1. Лёгкий дистрибутив
  2. Легковесное окружение рабочего стола
  3. Быстрый софт

Это в первую очередь актуально для старого железа, хотя в принципе на каждом ПК мы хотим, чтобы система работала максимально эффективно, разве нет? Даже на современном многоядерном CPU больно видеть запуск программы в несколько секунд или задержку интерфейса 100-200 миллисекунд после нажатия по клавиатуре. Всё должно реагировать мгновенно, со скоростью человеческого восприятия. В нативных приложениях нет места лагам, как у веб-интерфейсов.

Поэтому — легковесное окружение и быстрый софт.
Читать дальше →

Гидропоника. Выращиваем сверхострый чили и заставляем всех его есть

Время на прочтение14 мин
Охват и читатели160K


Полтора килограмма термоядерного Тринидадского Скорпиона я в итоге собрал с одного куста на гидропонике.


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


Небольшая часть урожая


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


Сегодня в меню


  1. Что такое гидропоника и почему она гораздо проще, чем почва с червячками
  2. Никаких дорогих бутылочек. Мешаем компоненты по три рубля за ведро
  3. Питание растения как алгоритм
  4. Как быстро собрать прототип гидропонной установки
  5. Что такое capsicum chinense и как выжить при дегустации
Читать дальше →

Системы защиты Linux

Время на прочтение9 мин
Охват и читатели59K
Одна из причин грандиозного успеха Linux ОС на встроенных, мобильных устройствах и серверах состоит в достаточно высокой степени безопасности ядра, сопутствующих служб и приложений. Но если присмотреться внимательно к архитектуре ядра Linux, то нельзя в нем найти квадратик отвечающий за безопасность, как таковую. Где же прячется подсистема безопасности Linux и из чего она состоит?

Предыстория Linux Security Modules и SELinux


Security Enhanced Linux представляет собой набор правил и механизмов доступа, основанный на моделях мандатного и ролевого доступа, для защиты систем Linux от потенциальных угроз и исправления недостатков Discretionary Access Control (DAC) — традиционной системы безопасности Unix. Проект зародился в недрах Агентства Национальной Безопасности США, непосредственно разработкой занимались, в основном, подрядчики Secure Computing Corporation и MITRE, а также ряд исследовательских лабораторий.


Linux Security Modules
Читать дальше →

Лидары для автомобилей стоили $75.000, а теперь лидары будут в каждом iPhone

Время на прочтение10 мин
Охват и читатели46K
image

Как Apple удалось создать доступные лидары без движущихся частей для iPhone

На презентации iPhone 12 во вторник Apple представила возможности нового лидара. По словам Apple, лидар позволит усовершенствовать камеру iPhone за счёт ускорения фокусировки, особенно в условиях низкой освещённости. Возможно, таким образом появится новое поколение сложных AR-приложений.

Во вторник на презентации было рассказано о том, как работает лидар в iPhone, хотя это не первое устройство с лидаром от Apple. Впервые компания представила устройство, использующее эту технологию, в марте – это был обновленный iPad. И хотя пока еще никто не успел разобрать iPhone 12, мы можем многое узнать из недавних разборок последнего iPad.

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

Июньский анализ, проведенный компанией «System Plus Consulting», показал, что лидар в iPad посылает свет, используя матрицу вертикально-излучающих лазеров (VCSEL), изготовленную компанией «Lumentum». Затем он фиксирует обратную вспышку, используя массив однофотонных лавинных диодов (SPAD), поставляемых компанией Sony. Я объясню что это такое в следующем разделе.
Читать дальше →

Самый маленький офисный пакет в мире

Время на прочтение8 мин
Охват и читатели36K


Всем нам знаком традиционный офисный пакет — текстовый редактор, электронные таблицы, программа для создания презентаций, возможно, приложение для создания диаграмм или заметок. Всё это мы видим в Microsoft Office и в Google Docs. Все эти программы мощны и объёмны. Но каким будет минимальное количество кода, требуемое для создания офисного пакета?
Читать дальше →

Ловим баги на клиенте: как мы написали свою систему для сбора клиентских ошибок

Время на прочтение15 мин
Охват и читатели11K

У нас в Badoo довольно много клиентских приложений. Помимо основных продуктов Badoo и Bumble, у которых есть как веб-версии (десктопная и мобильная), так и клиенты под нативные платформы (Android и iOS), ещё есть с десяток внутренних инструментов со своими UI.  Для сбора клиентских ошибок мы используем собственную разработку под кодовым названием Gelatо. Последние два года я работал над её серверной частью и за это время открыл для себя много нового из мира разработки Error Tracking систем. 

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

Читать далее

Информация

В рейтинге
2 034-й
Зарегистрирован
Активность