Как стать автором
Обновить
1
0

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

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

Книга «Танец с кубитами. Как на самом деле работают квантовые вычисления»

Время на прочтение9 мин
Количество просмотров9.1K
image Привет, Хаброжители! От создателя IBM Q. Квантовые вычисления заставляют нас изменить отношение к компьютерам. Кубиты способны решать задачи, которые еще совсем недавно казались неразрешимыми. Вы узнаете о принципиальных различиях между квантовыми и классическими вычислениями, вспомните матанализ, чтобы разобраться с такими понятиями, как суперпозиция, запутанность и интерференция, от алгоритмов и схем перейдете к физическим и техническим идеям, лежащим в основе создания железа для квантовых вычислений. Загляните в будущее и узнайте, как развитие технологий повлияет на нашу жизнь!

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

Лучший способ усвоить что-то — начать с базовых принципов, а затем двигаться по восходящей. Это позволит вам самостоятельно рассуждать об осваиваемой теме, не полагаясь на механическое запоминание или ошибочные аналогии.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии8

Установка MS SQL ODBC Driver под Linux и сборка плагина для Qt 5.9

Время на прочтение4 мин
Количество просмотров20K
image

Несколько дней назад встал вопрос о написании консольного приложения, которое будет работать в Linux CentOS 7 и взаимодействовать с MS SQL Server 2012. Мне очень нравится Qt и я решил, что воспользуюсь им для решения этой задачи. И если под Windows я достаточно быстро настроил необходимое окружение, то под Linux я столкнулся с проблемами, которые очень тяжело было решить с помощью гуглинга. Этому вопросу я посвятил полтора дня. Считаю полезным поделиться своим опытом, возможно кому-то это поможет сэкономить драгоценное время.
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии2

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

Время на прочтение9 мин
Количество просмотров104K


Предыдущие публикации:

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

Прошло уже больше года с момента последней публикации из серии домашней алхимии, посвященной издевательствам над бытовой техникой производству порошка для посудомойки в домашних условиях. Я все еще жив. Большинство тестировавших жуткие смеси, насколько мне известно, живы. В этом посте я хотел рассказать как правильно мыть ржавые гвозди в посудомойке, не растворяется ли картошка с укропом и подвести итог экспериментов за год.
Читать дальше →
Всего голосов 116: ↑116 и ↓0+116
Комментарии534

Читаем tar за 26 строк ANSI C кода

Время на прочтение5 мин
Количество просмотров20K

Архиваторы — это страшно! Огромные и ужасные алгоритмы, которые обычному человеку никогда в жизни не понять! Rar, zip, gzip, tar — современные стандарты де-факто, а значит крайне сложные и навороченные штуки, которые и пытаться понять не стоит. Ну, tar выглядит попроще, может там всё не так сложно? Смотрим git с исходниками. Видим десятки файлов, многие на десятки килобайт. Мда. Видимо, тупик.


__________________|      |____________________________________________
     ,--.    ,--.          ,--.   ,--.
    |oo  | _  \  `.       | oo | |  oo|
o  o|~~  |(_) /   ;       | ~~ | |  ~~|o  o  o  o  o  o  o  o  o  o  o
    |/\/\|   '._,'        |/\/\| |/\/\|
__________________        ____________________________________________
                  |      |dwb

На самом деле всё не так сложно. В документации было описано, что tar — просто способ записи нескольких файлов на ленту. Т.е. всё должно быть просто. По факту — набор вспомогательной информации для каждого файла и непосредственно его содержимое. Именно понимание этого факта и позволило сделать читатель tar-файлов в 26 строк.

Читать дальше →
Всего голосов 63: ↑57 и ↓6+51
Комментарии34

Компактный монитор домашнего воздуха (CO2, температура, влажность, давление) с Wi-Fi и мобильным интерфейсом

Время на прочтение10 мин
Количество просмотров79K

image


Про измерение CO2 и его важность на Geektimes было уже немало публикаций (ссылки в конце статьи). Здесь же хочу описать проект компактного монитора уровня CO2, а также температуры, влажности и давления с Wi-Fi, обновлением прошивки по воздуху и интерфейсом в мобильном приложении. Сердца системы модуль на базе esp8266, сенсор CO2 MH-Z19 и фреймворк esp8266-arduino. И так, включим устройство в USB-розетку:

Читать дальше →
Всего голосов 78: ↑78 и ↓0+78
Комментарии144

Вы еще не авторизуетесь по ключам? Тогда мы идем к вам

Время на прочтение3 мин
Количество просмотров185K
Есть куда более полезная и подробная памятка по ssh от amarao, а эта статья пусть останется в том виде, в котором была написана в далеком 2011.

Этой заметкой я хочу показать, что использовать ключи для авторизации это просто.

Начнем с того, что нам понадобится PuTTY.
Идем на http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html и качаем следующее:
PuTTY — ssh-клиент
Pageant — агент для хранения ключей (зачем объясню позже)
PuTTYgen — генератор ключей
Читать дальше →
Всего голосов 116: ↑75 и ↓41+34
Комментарии38

Двухфакторная аутентификация в OpenSSH: ключ+одноразовый код

Время на прочтение4 мин
Количество просмотров30K
В предыдущей статье я рассказал, как добавить проверку одноразовых кодов при логине на свой сервер по SSH. Статья завершалась словами «если ходим по ключу — двухфакторная аутентификация не работает (не используется PAM)».

С недавнего времени, после выпуска OpenSSH версии 6.2, ситуация поменялась к лучшему.

+

Читать дальше →
Всего голосов 56: ↑53 и ↓3+50
Комментарии24

Система увлажнения и очистки воздуха

Время на прочтение7 мин
Количество просмотров21K

Привет, Geektimes!


В своей прошлой публикации я делился размышлениями относительно модернизации смонтированной в моей квартире системы кондиционирования с подачей свежего воздуха добавлением увлажнения в холодный период года.
Учитывая все вот эти нюансы, я принял решение о натуральных испытаниях в холодное время года, когда температура наружного воздуха будет хотя бы 0 — +5 градусов.


Автор КДПВ — Вася Ложкин.

Сообщаю, что испытания проводятся, некоторыми результатами которых уже думаю здесь и сейчас поделиться, так как необходимое оборудование для автоматизации пока в пути, зима близится к концу и полноценные результаты подобного решения можно будет оценить скорее всего только в следующем отопительном сезоне.
Подробности под катом
Всего голосов 20: ↑19 и ↓1+18
Комментарии74

Ищем и скачиваем непопулярные и старые файлы в интернете

Время на прочтение14 мин
Количество просмотров202K
Преимущественно медиафайлы. На полном серьезе, без шуток.

Введение

Бывает, случается так, что вы хотите скачать альбом 2007 года исполнителя, который кроме вас известен 3.5 людям, какой-нибудь испанский ска-панк или малопопулярный спидкор европейского происхождения. Находите BitTorrent-раздачу, ставите на закачку, быстро скачиваете 14.7%, и… все. Проходит день, неделя, месяц, а процент скачанного не увеличивается. Вы ищете этот альбом в поисковике, натыкаетесь на форумы, показывающие ссылки только после регистрации и 5 написанных сообщений, регистрируетесь, флудите в мертвых темах, вам открываются ссылки на файлообменники вроде rapidshare и megaupload, которые уже сто лет как умерли.

Попытка скачать хотя бы один файл
Увы, частая ситуация в попытке хоть что-то скачать

Такое случается. В последнее время, к сожалению, случается чаще: правообладатели и правоохранительные органы всерьез взялись за файлообмен; в прошлом году закрылись или были закрыты KickassTorrents, BlackCat Games, what.cd, btdigg, torrentz.eu, EX.ua, fs.to, torrents.net.ua, и еще куча других сайтов. И если поиск свежих рипов фильмов, сериалов, музыки, мультиков все еще не представляет большой проблемы, несмотря на многократно участившееся удаления со стороны правообладателей контента из поисковых систем, торрент-трекеров и файлообменников, то поиск и скачивание оригинала (DVD или Blu-Ray) фильмов и сериалов или просто ТВ-рипов 7-летней давности на не-английском и не-русском языке — не такая уж простая задача.
Читать дальше →
Всего голосов 215: ↑213 и ↓2+211
Комментарии74

Инфраструктура онлайн игры

Время на прочтение19 мин
Количество просмотров36K

image


Здравствуйте, меня зовут Александр Зеленин, и я на дуде игрец веб-разработчик. Полтора года назад я рассказывал о разработке онлайн игры. Так вот, она немного разрослась… Суммарный объём исходного кода превысил «Войну и мир» вдвое. Однако в данной статье я хочу рассказать не о коде, а об организации инфраструктуры проекта.

Неужели всё так сложно?
Всего голосов 47: ↑45 и ↓2+43
Комментарии47

Малиновый Прог против Интернета Кирпичей, или Raspberry Pi с графикой на read-only microSD

Время на прочтение16 мин
Количество просмотров86K
Запуск Raspberry Pi с полной поддержкой графики на microSD, навсегда остающейся в режиме read-only после установки системы. Отсутствие какой-либо записи данных на флэш-память повышает надёжность устройства, приближая его к промышленному классу изделий. Пошаговая инструкция. Небольшой театр инженерного абсурда для развлечения аудитории.


Мне понадобилось сетевое устройство с открытым кодом и выходом HDMI, и я решил попробовать Малиновый Прог. Да, я именно так предлагаю переводить Pi: Прог. Понятное дело, даже одноплатнику нужна операционка. И вот, захожу я на официальный сайт, ожидая встретить там подробное руководство по созданию суровой, неломаемой Вещи à la turnkey box. Но народ, как ни в чём не бывало, устанавливает Ubuntu (т.е. Raspbian Jessie) прямо на microSD, размещая и swap там же. Как обычный десктоп, face palm.

Но то цветочки. Малиновые ягодки — это проекты фоторамок из МалинПрога, требующие обязательного выключения кнопкой. Иначе фоторамка после сбоя питания может не заработать, вместо картинок предлагая воспользоваться fsck. Но и это не предел, под катом читателя ждёт настоящий шедевр инженерного абсурда, найденный автором на просторах сети.

Итак, по стандартной инструкции нормальный одноплатник превращается в раздутый десктоп со средним временем жизни год-полтора, пока изношенная флэшка не сдохнет, превратив в общем-то хороший девайс в кирпич. И большинство людей, похоже, это вполне устраивает. Меня — нет.
Читать дальше →
Всего голосов 65: ↑60 и ↓5+55
Комментарии205

Использование Tor через IPv6 для обхода блокировок

Время на прочтение3 мин
Количество просмотров34K

Речи о необходимости внедрения IPv6 ведутся уже давно (IPv6 — более прогрессивная версия протокола IP, способная обеспечить более 300 млн IP-адресов на каждого жителя Земли).

Главным аргументом при этом обычно является исчерпание доступных «белых» IP-адресов, что рядового пользователя чаще всего не интересует.
Однако в последнее время актуальной проблемой для многих стали именно блокировки сайтов, причем, под лозунгом борьбы с наркотиками и CP блокируют оппозиционные сайты или ресурсы, высказывающие альтернативные точки зрения на исторические события.
Читать дальше →
Всего голосов 33: ↑29 и ↓4+25
Комментарии32

htop и многое другое на пальцах

Время на прочтение26 мин
Количество просмотров278K


На протяжении долгого времени я не до конца понимал htop. Я думал, что средняя загрузка [load average] в 1.0 означает, что процессор загружен на 50%, но это не совсем так. Да и потом, почему именно 1.0?

Затем я решил во всём разобраться и написать об этом. Говорят, что лучший способ научиться новому — попытаться это объяснить.
Читать дальше →
Всего голосов 138: ↑130 и ↓8+122
Комментарии43

Как использовать PVS-Studio бесплатно

Время на прочтение6 мин
Количество просмотров47K
PVS-Studio FreeМы хотим помочь миру программного обеспечения лучше познакомиться с инструментами статического анализа кода и повысить качество программного обеспечения. Мы предоставляем возможность бесплатного использования анализатора PVS-Studio студентам в учебных целях, индивидуальным разработчикам и коллективам энтузиастов.

Введение


Клиентами анализатора PVS-Studio являются отделы разработчиков различных компаний. Мы бы хотели, чтобы нашими клиентами были и индивидуальные разработчики. К сожалению, у нас ничего не получилось с экспериментальным продуктом CppCat. Мы не знаем, как построить успешный бизнес в сфере статического анализа кода, продавая персональные лицензии. Поэтому сейчас продукт PVS-Studio позиционируется исключительно как B2B решение.

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

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

Стоит пояснить нашу позицию. Впрочем, если вам не терпится, вы можете сразу перейти к разделу «Бесплатная лицензия PVS-Studio». Если же читателю интересно узнать подробности, то предлагаю продолжить чтение.
Читать дальше →
Всего голосов 150: ↑138 и ↓12+126
Комментарии669

Защита от протечек с блекджеком и счетчиками

Время на прочтение18 мин
Количество просмотров56K
Приветствую. Есть такая штука — гидролок\нептун\авквасторож — системы перекрытия подачи воды, если происходит не контролируемая утечка. Принцип простой — датчик воды + автоматика + пара кранов с электроприводами. Но дьявол как обычно в деталях: как устроены краны, как устроены датчики протечки и почему один стоит 50 рублей, а другой 500р. На все это дело навернут килограм макетингового булшита, упаковка вырви глаз и т.д.

В рассказе пройдусь по кирпичикам системы, чем руководствовался в выборе. Вся система строится на заводских датчиках и самодельном контроллере на базе Particle (ex.Spark) Photon (такая esp8266 у которой облачная IDE на wiring из коробки), база девайса stm контроллер + wifi модуль от броадкома. Все это завязано на openhab сервер на Orange Pi One.


Читать дальше →
Всего голосов 68: ↑66 и ↓2+64
Комментарии118

Настройка Virtual Private Network на AWS EC2 c OpenVPN на Linux

Время на прочтение6 мин
Количество просмотров47K

Amazon Web Service предоставляет возможность бесплатного запуска в течение тестового периода (12 месяцев) серверов Amazon EC2. Такой сервер может быть использован для VPN (англ. Virtual Private Network — виртуальная частная сеть). При использовании этой технологии удаленный сервер служит посредником между вашим компьютером и другими серверами в Интернет.


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

Читать дальше →
Всего голосов 19: ↑13 и ↓6+7
Комментарии10

Ваш язык программирования — отстой

Время на прочтение54 мин
Количество просмотров139K
1 Почему JavaScript отстой
• 1.1 Плохая конструкция
• 1.2 Система типов
• 1.3 Плохие функции
• 1.4 Отсутствующие функции
• 1.5 DOM
2 Почему Lua отстой
3 Почему PHP отстой
• 3.1 Исправлено в поддерживаемых в настоящее время версиях
4 Почему Perl 5 отстой
5 Почему Python отстой
• 5.1 Исправлено в Python 3
6 Почему Ruby отстой
7 Почему Flex/ActionScript отстой
8 Почему скриптовые языки отстой
9 Почему C отстой
10 Почему C++ отстой
11 Почему .NET отстой
12 Почему C# отстой
13 Почему VB.NET отстой
15 Почему Objective-C отстой
16 Почему Java отстой
• 16.1 Синтаксис
• 16.2 Исправлено в Java 7 (2011)
• 16.3 Модель
• 16.4 Библиотека
• 16.5 Обсуждение
17 Почему Backbase отстой
18 Почему XML отстой
19 Почему отстой XSLT/XPath
20 Почему CSS отстой
• 20.1 Исправлено в CSS3
21 Почему Scala отстой
22 Почему Haskell отстой
23 Почему Closure отстой
24 Почему Go отстой
• 24.1 Базовые средства программирования (базовый язык)
• 24.2 Взаимосовместимость
• 24.3 Стандартная библиотека
• 24.4 Набор инструментальных средств
• 24.5 Сообщество
25 Почему Rust отстой
• 25.1 Безопасность
• 25.2 Синтаксис
• 25.3 Конструкция API и система типов
• 25.4 Сообщество
• 25.5 Набор инструментальных средств

Почему JavaScript отстой


Учтите, что некоторые положения относятся не к самому JavaScript, а к программным интерфейсам веб-приложений (https://developer.mozilla.org/en/docs/Web/API).

Плохая конструкция

• Каждый скрипт исполняется в едином глобальном пространстве имён, доступ в которое возможен в браузерах с оконным объектом.
• Camel-регистр никуда не годится:

XMLHttpRequest
HTMLHRElement

Читать дальше →
Всего голосов 314: ↑167 и ↓147+20
Комментарии353

Прокси-сервер с помощью Tor. Основа для многопоточного парсинга

Время на прочтение5 мин
Количество просмотров57K
Всем привет! На днях прилетела интересная задача: «Найти бесплатные прокси-сервера». Взявшись за нее, решил обойти все сайты свободных проксей и понял — дохлые… ну или с высоким пингом.

После нескольких часов безуспешных поисков, было принято решение использовать свои ресурсы!

Итак, что в итоге должно получиться:

1. VM Ubuntu/Debian 2 CPU, 2GB RAM, 8GB HDD (ну тоесть совсем не требовательная)
2. PRIVOXY для проксирования запросов (Можно взять nginx, varnish — я взял Privoxy)
3. TOR сервер
Читать дальше →
Всего голосов 16: ↑13 и ↓3+10
Комментарии23

Настройка UEFI-загрузчика. Самое краткое руководство в мире

Время на прочтение6 мин
Количество просмотров548K

Как устроена загрузка современных ОС? Как при установке системы настроить загрузку посредством UEFI, не утонув в руководствах и ничего не сломав?


Я обещал "самое краткое руководство". Вот оно:


  1. Создаём на диске таблицу разделов GPT
  2. Создаём FAT32-раздел на пару сотен мегабайт
  3. Скачиваем из интернета любой UEFI-загрузчик
    (нам нужен сам загрузчик, это один бинарный файл!)
  4. Переименовываем и кладем этот файл на созданный раздел по адресу /EFI/Boot/bootx64.efi
  5. Создаём текстовый конфиг, кладем его там, где загрузчик ожидает его увидеть
    (настройка и местоположение конфига зависят от конкретной реализации загрузчика, эта информация доступна в интернете)
  6. После перезагрузки видим меню загрузчика
    (Если на диске установлена Windows 8 или 10 — с большой вероятностью это руководство сокращается до пунктов 3 — 5.)

TL;DR не надо прописывать путь к загрузчику в новых загрузочных записях UEFI — надо файл загрузчика расположить по стандартному "пути по-умолчанию", где UEFI его найдет, и вместо загрузочного меню UEFI пользоваться меню загрузчика, которое гораздо проще и безопаснее настраивается

Читать дальше →
Всего голосов 52: ↑46 и ↓6+40
Комментарии99

Сравнение библиотек логирования

Время на прочтение26 мин
Количество просмотров70K


В сети огромное количество площадок формата Q&A где задаются вопросы из разряда:

  • Предложите С++ логер? (C++ logging framework suggestions)
  • Какой наиболее эффективный потоко-безопасный С++ логер? (What is the most efficient thread-safe C++ logger)
  • Библиотека логирования для игр (Logging library for c games)
  • Асинхронный потоко-безопасный С++ логер? (Asynchronous thread-safe logging in C++)

Люди делятся своим опытом и знаниями, но формат таких площадок позволяет лишь показать личные предпочтения отвечающего. К примеру, одним из самых производительных логеров чаще всего называют Pantheios, который даже по тестам производителя тратит больше 100 секунд на запись 1M строк лога, на современном железе это около 30 секунд, быстро ли это?

В этой статье я сравню наиболее известные и заслуженные логеры последних лет и несколько относительно молодых логеров по более чем 25 критериям.
Читать дальше →
Всего голосов 59: ↑59 и ↓0+59
Комментарии42

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность