Pull to refresh
15
0
Andrey Baldin @Skyroger2

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

Send message

Частоты и емкость сети — все, о чем вы хотели спросить

Reading time10 min
Views58K
Помнится, в школьные годы многие задавались вопросом: «а зачем мне изучать основы физики или математического анализа, если в жизни мне это не пригодится?». Тогда казалось, что во взрослую жизнь можно идти, зная лишь простейшие математические операции (чтобы не ошибиться в магазине с продуктами). Но развитие технологий привело к тому, что рядовым пользователям в руки попали довольно мощные и сложные инструменты. Взять хотя бы мобильную связь. Чтобы грамотно выбирать оператора, понимать, почему где-то мобильная связь есть, а где-то ее нет, приходится вспоминать не только школьные учебники, но и вещи, выходящие далеко за их рамки.

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



Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments9

Решение линейных диофантовых уравнений с любым числом неизвестных

Reading time4 min
Views37K
image

Здравствуйте, уважаемые читатели! Продолжаю серию дилетантских статей о математике.


Сегодня предлагаю поразмышлять над некоторой интересной математической задачкой.
А именно, давайте-ка для разминки решим следующее линейной уравнение:

$5a+8b+3c+2d = 17$


«Чего сложного?» — спросите вы. Действительно, лишь одно уравнение и целых четыре неизвестных. Следовательно, три переменных есть свободные, а последняя зависит от оных. Так давайте выразим скорее! Например, через переменную $a$, тогда множество решений следующее:

$ \begin{cases}\displaystyle{ a= \frac{17-8b-3c-2d}{5}\\ b,c,d\in\mathbb{R} } \end{cases} $


где $\mathbb{R}$ — множество любых действительных чисел.

Что же, решение действительно оказалось слишком тривиальным. Тогда будем нашу задачу усложнять и делать её более интересной.

Вспомним про линейные уравнения с целыми коэффициентами и целыми корнями, которые, собственно, являются разновидностью диофантовых уравнений. Конкретно — наложим на наше уравнение соответствующие ограничение на целочисленность коэффициентов и корней. Коэффициенты при неизвестных у нас и так целые ($5; 8; 3; 2; 17$), а вот сами неизвестные необходимо ограничить следующим:

$ a,b,c,d \in \mathbb{Z} $


где $\mathbb{Z}$ — множество целых чисел.

Теперь решение, полученное в начале статьи, «не проканает», так как мы рискуем получить $a$ как рациональное (дробное) число. Так как же решить это уравнение исключительно в целых числах?

Заинтересовавшихся решением данной задачи прошу под кат.
Читать дальше →
Total votes 39: ↑36 and ↓3+33
Comments11

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

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


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

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

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

Портирование MIPSfpga на другие платы и интеграция периферии в систему. Часть 1

Reading time14 min
Views6.1K
MIPSfpga представляет собой предназначенный для образовательных целей микропроцессор MIPS32 microAptiv фирмы Imagination, который имеет кэш-память и блок управления памятью. Код процессора на языке Verilog доступен пользователю и может использоваться для моделирования и реализации процессора на FPGA плате.

В даной статье будет описано на примере Digilent cmodA7 как портировать процессор MIPSfpga-plus на другие платы.



На сегодняшний день MIPSFPGA портирован на популярные платы таких фирм как ALTERA и Xilinx, среди них Basys 3, Nexys4 ddr, и другие (полный список находится на github). Такие платы наиболее популярны среди разработчиков на FPGA. Цена на такие платы довольно не маленькая, да и загружаются программы в ядро MIPSfpga с использованием интерфейса EJTAG и адаптера Bus Blaster ценой около 50$. Адаптер Bus Blaster получает команды по высокоскоростному кабелю USB 2.0 и преобразует их в последовательный протокол EJTAG, это позволяет загружать программы в ядро MIPSfpga и управлять отладкой программ, которые на нем выполняются. Проблема с относительно дорогим Bus Blaster была решена введением в систему MIPSfpga ряда улучшений. Улучшеный вариант системи MIPSfpga, названый MIPSfpga-plus включает в себя такие новые функции:

— Возможность загрузки программного обеспечения с использованием USB-to-UART коннектора ценой в $ 5 FTDI вместо $ 50 Bus Blaster, который иногда не так уж и легко достать.

— Возможность изменять тактовую частоту на лету с 50 или 25 МГц до 1 Гц (один цикл в секунду) для наблюдения за работой процессора в режиме реального времени, включая промахи в кэш-памяти и перенаправления конвеера.

— Пример интеграции датчика освещенности с протоколом SPI.

— Небольшая последовательность инициализации программного обеспечения, которая вписывается в 1 КБ вместо 32 КБ памяти, что позволяет переносить MIPSfpga на более широкий выбор плат FPGA без использования внешней памяти. Реализация UART описана в статье: MIPSfpga и UART.
Total votes 22: ↑21 and ↓1+20
Comments1

Анонимность в Tor: что нельзя делать

Reading time18 min
Views514K

Посещать собственный сайт в анонимном режиме


«Интересно, как выглядит мой сайт, когда я анонимный?» [1]

Лучше избегать посещения персональных сайтов, к которым прикреплены реальные имена или псевдонимы, особенно если к ним когда-либо подключались не через Tor / с реальным IP-адресом. Вероятно, очень немногие люди посещают ваш личный сайт через Tor. Это значит, что пользователь может быть единственным уникальным клиентом Tor, который сделает это.

Такое поведение ведёт к утечке анонимности, поскольку после посещения веб-сайта вся схема Tor становится «грязной». Если сайт малопопулярен и не получает много трафика, то выходные узлы Tor могут быть почти уверены, что посетитель этого сайта — владелец сайта. С этого момента разумно предположить, что последующие соединения с этого выходного узла Tor тоже идут с компьютера этого пользователя.

Источник: [2]
Читать дальше →
Total votes 79: ↑75 and ↓4+71
Comments64

Динамическая система Лоренца и вычислительный эксперимент

Reading time7 min
Views25K
image

Данный пост является продолжением моей статьи [1] на Хабрахабре об аттракторе Лоренца. Здесь рассмотрим метод построения приближенных решений соответствующей системы, уделив внимание программной реализации.

Динамической системой Лоренца является автономная система обыкновенных дифференциальных уравнений третьего порядка

image

где image, r и b являются положительными числами. Для исследования поведения решений системы обычно берут классические значения параметров системы, т.е.

image

Как было отмечено в статье [1], в этом случае в системе (1) имеет место неустойчивость ее решений на аттракторе. По сути, это делает некорректным применение классических численных методов на больших отрезках времени (а на таких отрезках и строятся предельные множества динамических систем). Одним из вариантов преодоления этой проблемы является переход к высокоточным вычислениям, но такой подход ставит исследователя в жесткие рамки: во-первых, малая степень свободы для уменьшения ошибки (изменение величины шага image интегрирования и точности представления вещественного числа для управления вычислительным процессом), во-вторых, большой объем вычислений при очень малых image.
Читать дальше →
Total votes 33: ↑29 and ↓4+25
Comments20

Памятка пользователям ssh

Reading time13 min
Views1.5M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Total votes 360: ↑352 and ↓8+344
Comments148

This is Science: 4 распространённых мифа о вакцинации и их корни

Reading time8 min
Views49K

Источник

Журнал Science Magazine продолжает радовать отличными материалами. На этот раз мне на глаза попались две замечательные статьи. Одна из них посвящена мифам вокруг вакцинации детей. Другая же с помощью инфографики отлично демонстрирует, как изобретение и внедрение вакцин на протяжении XX века помогло победить самые разные заболевания или существенно снизить смертность от них.
На вайна ради, науки и здоровья для
Total votes 60: ↑58 and ↓2+56
Comments983

Разбираемся с rtorrent всерьёз

Reading time14 min
Views75K
Об установке и базовой настройке rtorrent на хабре хватает статей, как и споров о том, стоит ли вообще связываться с хардкорным rtorrent или лучше обойтись чем-нибудь более дружественным к пользователю. Лично я много лет назад пересмотрел все качалки и в результате rtorrent оказался самым стабильным и эффективным. Интерфейс у него не самый удобный, но достаточно понятный и юзабельный чтобы это не стало серьёзной проблемой. Альтернативные интерфейсы вроде rutorrent у меня как-то не прижились - ставить php только ради rutorrent неохота, а остальные варианты выглядят совсем слабо (и ни одного кроме rutorrent даже нет в портаж Gentoo).

  

Одно из основных преимуществ rtorrent — очень гибкие возможности по его настройке и автоматизации. К сожалению, синтаксис ~/.rtorrent.rc достаточно нестандартный, нормальная документация отсутствует, поэтому обычно настройка сводится к поиску и копированию (попытка что-то в них изменить кроме констант/путей к каталогам обычно проваливается) готовых рецептов или вообще ограничивается редактированием констант в базовой конфигурации.

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

Читать дальше →
Total votes 77: ↑72 and ↓5+67
Comments63

Википедия неуязвима для цензуры в сети IPFS

Reading time3 min
Views35K
24 августа 2015 года Роскомнадзор распорядился заблокировать Википедию на территории России. Вскоре чиновники одумались и отменили решение. Но это может повториться в любой момент.

29 марта 2017 года турецкие власти последовали примеру российских братьев по разуму. Они тоже заблокировали Википедию. Турки пошли до конца — и с 8:00 по местному времени все версии Википедии были заблокированы в Турции в соответствии с административным решением No. 490.05.01.2017-182198 / 5651.

Как сказал в своё время Джон Перри Барлоу, Интернет по своей сути воспринимает цензуру как неисправность и старается обойти её. Есть много стандартных способов обойти обычную блокировку по IP. Два года назад Сеть породила концептуально новый проект IPFS (Inter-Planetary File System), который делает цензуру конкретных IP-адресов в интернете невозможной в принципе. Здесь вместо адресации по местоположению используется адресация по контенту. В пиринговой сети нет единого центра, который можно заблокировать. Копии распространяются от ноды к ноде. Даже если уничтожить все копии контента, кроме одной, информация снова пойдёт по сети.

IPFS — технология, которая работает уже сейчас, и она полностью готова выручить в ситуации, когда чиновники Роскомнадзора блокируют контент, пытаясь запретить гражданам получить какую-то информацию. Пример Турции отлично демонстрирует это.
Читать дальше →
Total votes 65: ↑62 and ↓3+59
Comments136

CVE-2017-5689 — уязвимость Intel AMT в подробностях

Reading time6 min
Views30K
В начале 2017-го года Максим Малютин (Maksim Malyutin) из компании Embedi обнаружил уязвимость в Intel AMT, которая была официально оглашена Intel первого мая и получила номер CVE-2017-5689 (INTEL-SA-00075 в кодификации Intel). Уязвимости был присвоен тип «повышение прав» (Elevation of Privilege) и критический уровень опасности. Многие СМИ в ответ разразились заголовками что-то типа «серверные чипсеты Intel 9 лет имели уязвимость», видимо отталкиваясь от фразы «This vulnerability does not exist on Intel-based consumer PCs» в описании. Однако это не совсем так с переходом в совсем не так. Потому далее подробное техническое описание уязвимости, её реализация и, главное, способы защиты для систем, не имеющих обновления прошивки.
Читать дальше →
Total votes 73: ↑72 and ↓1+71
Comments43

Фазовая модуляция радиосигнала в ПЛИС

Reading time5 min
Views25K


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

И кое-что получилось!
Total votes 40: ↑39 and ↓1+38
Comments8

FRAM через I2C для Arduino как замена EEPROM

Reading time3 min
Views26K
Продолжу рассказывать про приборную панель для мотоцикла. Это замечательное устройство содержит одометр, то есть, счётчик пройденного пути в километрах, а у того есть плохое свойство — он должен сохранять данные и при выключенном питании. Ой, ещё есть моточасы, их тоже надо хранить как-то энергозависимо.

Внутри Ардуины есть EEPROM, конечно же. Много места не надо, чтобы хранить пяток длинных целых, но есть нюанс. EEPROM имеет слишком ограниченный ресурс на запись. Хотелось бы писать данные раз в несколько секунд хотя бы. Ресурс же EEPROM позволяет это делать вполне обозримое время, то есть, встроенная память явно не вечна.
Читать дальше →
Total votes 25: ↑22 and ↓3+19
Comments47

Введение в криптографию и шифрование, часть вторая. Лекция в Яндексе

Reading time21 min
Views38K
Мы возвращаемся к самому краткому введению в криптографическую теорию от Владимира ivlad Иванова. Это вторая половина лекции — первую часть мы опубликовали несколько дней назад. К ней даже можно присылать пуллреквесты на гитхабе.


Под катом — расшифровка и часть слайдов.

Total votes 55: ↑52 and ↓3+49
Comments11

Сравнение структур разделов GPT и MBR

Reading time11 min
Views666K
Вы когда-нибудь задумывались о том, как загружается компьютер? Независимо от аппаратуры и операционной системы, все компьютеры при загрузке используют или традиционный метод BIOS-MBR, или более современный UEFI-GPT, реализованный в последних версиях ОС.

В этой статье мы сравним структуры разделов GPT и MBR; GPT означает GUID Partition Table, а MBR — Master Boot Record. Начнём с того, что разберём сам процесс загрузки.

В следующих главах выделяются различия между стилями разделов GPT и MBR, в том числе приводятся инструкции, как осуществить преобразование между двумя стилями, и советы, какой из них выбрать.
Читать дальше →
Total votes 26: ↑23 and ↓3+20
Comments38

Как мы на FPGA AES ускоряли: разработка драйвера

Reading time12 min
Views13K

Недавно мы применили плату Ethond в качестве мини-роутера и запустили на нём OpenVPN.


Но обнаружилось, что процессор часто нагружается на 100%, а скорость не поднимается выше 15-16 Мбит/с. На канале связи 100 мегабит это очень мало, поэтому мы решили ускорить процесс аппаратно.


Ребята из группы FPGA-разработчиков сделали прошивку на базе открытого IP-core для Altera CycloneV с реализацией шифра AES-128, которая умеет шифровать 8 Гбит/сек и дешифровать 700 Мбит/сек. Для сравнения, программа openssl на CPU (ARM Cortex A9) того же CycloneV может обрабатывать лишь около 160 Мбит/сек.


Эта статья посвящена нашему исследованию по применению аппаратного шифрования AES. Мы сжато представим описание криптографической инфраструктуры в Linux и опишем драйвер (исходный код открыт и доступен на github), который осуществляет обмен между FPGA и ядром. Реализация шифрования на FPGA не является темой статьи — мы описываем лишь интерфейс, с которым происходит взаимодействие c акселератором со стороны процессора.


Читать дальше →
Total votes 40: ↑40 and ↓0+40
Comments21

FPGA для программиста, простые рецепты

Reading time8 min
Views23K

Приоритетная структура кода


В разработке электронных устройств грань между разработчиком-схемотехником и разработчиком-программистом очень размыта. Что уж говорит о том, кто должен писать RTL под FPGA.


С одной стороны, RTL — это территория схем, с другой стороны, ресурсы FPGA дешевеют, синтезаторы умнеют. Цена ошибки RTL дизайнера для FPGA не превышает цены ошибки программиста, а созданные схемы можно также обновлять и наращивать по функциональности, как обычную прошивку процессора.


Производители микросхем тоже не отстают, стали паковать ПЛИС в один корпус с процессором, даже Intel выпустил процессор для PC с FPGA внутри, купив для этого известного производителя ПЛИС Altera.


Думаю всем истинным программистам Вселенная шлет сигналы, что им просто необходимо изучить RTL и начать писать “код” для FPGA не хуже, чем под их привычные процессоры.
Когда-то давно, я проходил этот путь и позволю себе дать несколько советов для ускорения.


Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments34

Выведение изображения с камеры OV7670 на VGA монитор с использованием FPGA

Reading time9 min
Views54K

Предисловие


Прочитав много увлекательных статей об интересных разработках под FPGA, таких как тетрис, радиопередатчик и другие, я тоже загорелся идеей сделать что-нибудь для души. Для этой цели мной была приобретена камера OV7670 и отладочная плата DE-1 фирмы Terasic с чипом Cyclone II фирмы Altera. Задачу поставил следующую: вывести изображение с камеры на VGA монитор. Для того, чтобы оправдать использование FPGA, я собираюсь сделать это на максимальной для камеры скорости. Должен отметить, что легче понять эту работу помогут знания в области электроники: знания интерфейсов VGA и I2C, представление о SDRAM памяти и т.п.
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments10

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity