Как стать автором
Обновить
48
0
Наталья Крапкина @ladynoname

Организатор сообществ DevOps-40, monhouse.tech

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

Как я делал первую маркировку рекламы в своём Телеграм-канале (пошаговая инструкция)

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

У меня небольшой авторский канал на 3 000 подписчиков. Рекламу в нём я продаю как самозанятое физическое лицо (эту роль взяла на себя моя жена). Поэтому рассказ будет о маркировке текстового рекламного поста, где заказчик и исполнитель — физические лица. С помощью кабинета ОРД Вконтакте, который пока что бесплатен.

Читать далее
Всего голосов 10: ↑7 и ↓3+9
Комментарии11

Беспроводной тачпад из смартфона

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

Предположим у нас имеется: Arduino Leonardo – 1 штука, Bluetooth модуль – 1 штука, Android смартфон – 1 штука. Ключевое отличие Leonardo от остальных ардуин заключается в том, что она поддерживает протоколы HID, а по-простому может притворятся мышкой или клавиатурой. Выглядит это примерно следующим образом:

#include "Mouse.h" // импортируем библиотеку работы с мышью
void setup(){}            // ничего не настраиваем
void loop()
{
 Mouse.move(10, -15, 3);  // сдвигаем курсор на 10 пикселей вправо, на 15 пикселей вверх и колесо на 3 оборота
}

Как видим все крайне просто. Метод Mouse.move(X, Y, WHEEL) принимает три относительных параметра: 

X – величина смещения в пикселях по оси X (отрицательные значения сдвигают влево)

Y – величина смещения в пикселях по оси Y (отрицательные значения сдвигают вверх)

WHEEL – величина смещения колеса прокрутки (отрицательные значения сдвигают в другую сторону)

Но сама по себе идея двигать курсор ничего не стоит, если не мы его контролируем, а значит нам нужно непосредственно HID (Human Interface Device), или по-простому устройство ввода. В нашем случае мы его сделаем из смартфона, «написав программу» в среде AppInventor, но, предварительно, разберемся с железной частью и напишем скетч для Arduino. Данные в Leonardo со смартфона мы будем отсылать по bluetooth. Модуль bluetooth можно использовать любой подходящий, наиболее популярным решением является HC-05(06). Подключаем по следующей схеме:

Всего голосов 10: ↑8 и ↓2+10
Комментарии35

Анонс: Как организовать IT-конференцию и не сойти с ума

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


Завтра, в 20:00 в наших соцсетях выступит Наталья Крапкина (больше известная как Кейт или
ladynoname), одна из организаторов конференции Chaos Constructions.

Наташа создает курирует IT-сообщества в Петербурге: ITGM 14, митапы DevOps40, MonHouse, и работает как идейный вдохновитель программистских коммьюнити.

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

Стрим можно будет посмотреть в любых наших соцсетях — где удобно, там и смотрите.


Всего голосов 20: ↑18 и ↓2+23
Комментарии2

Охота за полярным сиянием: слабые суббури

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров23K
image

Не первый год занимаюсь фотографией в жанре ночной пейзаж, живу в Санкт-Петербурге. В темноте все выглядит более таинственно и необычно, часто на моих фотографиях можно встретить северные сияния, не смотря на то, что съемки бывают круглый год, и зимой, и летом. Многим становится интересно, каким образом фотографии из Ленинградской области пестрят яркими небесными огнями, многие думают, что я рисую их сама, многие считают, что умею пользоваться фотошопом, одно другому конечно никак не мешает, но больше всего мне хочется поделиться отличным хобби, в котором сочетается куча разных умений.

Статья подойдет для романтиков, тех, кто любит ночное небо, звезды, тишину и азарт. Для тех, кто не готов стоять в сугробе неделю, ожидая небесного света или жить на краю земли, кто хочет взять ситуацию под контроль и в полной мере насладиться, пожалуй, самым красивым природным явлением. Ловить северное сияние подобным образом можно на северных широтах от 58 до 72.
Читать дальше →
Всего голосов 49: ↑49 и ↓0+49
Комментарии23

IT Global Meetup #14 Петербург

Время на прочтение2 мин
Количество просмотров3.2K
23 марта 2019 года пройдет четырнадцатый слет IT-сообществ Санкт-Петербурга IT Global Meetup 2019.

Весенний слет петербургских IT-сообществ стартует в субботу! На островках сообществ можно будет ознакомиться с их деятельностью и принять участие в активностях. ITGM — не форум, не конференция. ITGM — встреча, созданная самими сообществами со свободой действий, докладов и активностей.

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

FPGA митап в Санкт-Петербурге

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


Update. Видео выступлений выложены на YouTube:
1) про быстрые платы с FPGA
2) про 10G на Cyclone 10 GX


Более 15 лет мы разрабатываем устройства на FPGA и переносим сложные и разные алгоритмы в FPGA, а площадки для офф-лайн общения в России найти не смогли. Поэтому решили, что надо развивать направление самостоятельно: для начала организуем встречу в Санкт-Петербурге в «митап»-формате для разработчиков FPGA и интересующихся этой тематикой.

Собираемся для неформального общения 29 января в 19:00. Событие называется «Байки FPGA-шников». Будет пара докладов про то, с чем пришлось столкнуться в 2018 году в процессе разработки, разговоры на около-FPGA'шные темы и кофе-плюшки-пицца.

Подробности по ссылке (там же адрес и регистрация).
Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии6

Культурный Embedded на IT Global Meetup В СПБ

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

Дорогие друзья, 14 мая пройдет большая встреча Петербургских IT сообществ, встречи проводятся два-три раза в год, пространство рассчитано на 800 участников. Каждое из IT сообществ представляет свою программу на мероприятие, обычно это разбор кейсов, мастер-классы, небольшие семинары. В этот раз участие примет 16 сообществ разной IT тематики.

Зарегистрироваться нужно по ссылке.

Пожалуйста, обратите внимание на то, что количество мест — ограничено, пожалуйста, регистрируйтесь только в том случае если действительно собираетесь идти.
Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии2

Немного об оптимизации задержки передачи данных

Время на прочтение5 мин
Количество просмотров18K
Низкая задержка — важный фактор, обеспечивающий надежную работу и высокую производительность сетей. Приложения для общения в реальном времени, стриминга и проведения транзакций сильно зависят от времени ожидания. Увеличение задержки всего на несколько миллисекунд может привести к искажению изображения и голосов, «зависанию» приложений и финансовым потерям.

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


/ фото Thomas Williams CC
Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии0

Занимательная задачка «Несчастливый билет»

Время на прочтение3 мин
Количество просмотров18K
image Думаю всем с детства знакома задача о счастливом билете. Однако чаще всего поездка в автобусе занимает гораздо больше времени, чем время, потраченное на суммирование первых и последних трех цифр.

И чтобы развлечь себя до конца поездки, я изобрел концепт «Несчастливого билета». Билета, у которого ни одно число из множества значений, полученного при помощи первых трех цифр, не совпадет ни с одним числом из множества значений, полученного при помощи последних трех цифр. Подробности в условии задачи.
Читать дальше →
Всего голосов 34: ↑27 и ↓7+20
Комментарии31

Открываем набор на бесплатные курсы по программированию и разработке под FPGA

Время на прочтение4 мин
Количество просмотров17K
Всем привет! Одно из видений нашей компании звучит следующим образом: Мы создаём знания и делимся ими

Делимся знаниями мы не только в своих статьях на замечательном Хабре, но и обучая студентов программированию.

И я с радостью спешу сообщить, что с 1 ноября мы начинаем курсы по следующим направлениям:

  • Разработка под FPGA
  • Программирование микроконтроллеров
  • Системное программирование в Linux
  • Измерение качества телекоммуникационных каналов
  • Основы программной инженерии

Количество мест ограничено, поэтому естественно присутствует входное тестирование.

Прочитать подробности и записаться на курсы можно тут.

А под катом история появления курсов и более подробная информация о направлениях, учебных планах и входном тестировании. Добро пожаловать!
Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии22

SO_TIMESTAMPING в картинках. Прием пакета

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

Бывает, что приложению требуется узнать точное время приема или отправки сетевого пакета. Например, для синхронизации часов (см. PTP, NTP) или тестирования задержек в сети (см. RFC2544).


Наивным решением будет запоминать в приложении время сразу после получения пакета от ядра (или перед отправкой ядру):


  recv(sock, buffer, length, flags);
  clock_gettime(CLOCK_REALTIME, timespec);

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


Начиная с версии 2.6.30 Линукс поддерживает опцию сокета SO_TIMESTAMPING. Она позволяет пользовательскому сокету получать временные метки для отправляемых и принимаемых пакетов. Временные метки могут быть сняты самим ядром, драйвером или сетевым устройством (см. список поддерживающих устройств и драйверов). О том, что это вообще такое и как этим пользоваться, стоит почитать в Documentation/networking/timestamping.txt


В этой статье я расскажу о том, как пакеты доставляются от сетевого устройства пользователю, когда при этом снимаются временные метки, как они доставляются пользователю и насколько они точны. Приведенные примеры кода ядра взяты из версии 4.1.

Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии9

Как мы тестировали российский speedtest

Время на прочтение6 мин
Количество просмотров33K
Тестирование сервиса wiTest.ru

Все хотя бы раз в жизни пользовались сервисом speedtest.net для измерения скорости доступа в Интернет дома или на работе. Точность не высокая, но зато бесплатно. Аналогичных сервисов мне лично известно более 20 как российских, так и зарубежных.

Возникла мысль оценить, насколько эти сервисы показывают «правду» относительно реальной картинки. Для этого был собран стенд, который имитирует «последнюю милю» абонентского подключения по технологиям: FTTx, GPON и xDSL. Логическая схема собранного стенда представлена на рисунке ниже.

Стенд тестирования wiTest

В качестве подопытного сервиса мы взяли сервис, который опубликован на сайте Банки.ру.
Читать дальше →
Всего голосов 17: ↑12 и ↓5+7
Комментарии46

Связь-2016: что интересного?

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



Пока общественность активно обсуждает неоткрывающиеся двери УАЗа, в Москве, на Красной Пресне, в очередной раз проходит выставка «Связь-2016». Когда мне довелось побывать на выставке года два назад, занимала она больше места. Как минимум, на один павильон. Сейчас занимает 4 зала в двух павильонах. Это не очень много, но если учесть, что сейчас не участвуют члены большой тройки (а раньше они занимали значительную часть), то не так уж и мало. Операторов практически не было, стало больше производителей-разработчиков, и это радует.

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

Добро пожаловать!
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии15

Как мы переводили облако с Ethernet 10G на Infiniband 56G

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

Кабель Mellanox MC2609125-005

В нашем случае Infiniband работал бы в пять раз быстрее, чем Ethernet, а стоил бы столько же. Сложность была только одна – всё это нужно было делать без прерывания облачных сервисов в ЦОДе. Ну, это примерно как пересобрать двигатель автомобиля во время движения.

В России таких проектов попросту не было. Все, кто до сих пор пытались переходить с Ethernet на Infiniband, так или иначе останавливали свою инфраструктуру на сутки-двое. У нас же в облачном «плече», которое находится в дата-центре на Волочаевской-1, около 60 крупных заказчиков (включая банки, розницу, страховые и объекты критичной инфраструктуры) на почти 500 виртуальных машинах, размещенных на примерно сотне физических серверов. Мы первые в стране получили опыт перестроения стораджевой и сетевой инфраструктуры без даунтаймов и немного гордимся этим.


Infiniband-кабель на входе в сервер

В итоге пропускная способность каналов связи между серверами «облака» выросла с 10 Гб/сек до 56 Гб/сек.
Читать дальше →
Всего голосов 78: ↑75 и ↓3+72
Комментарии111

15 бесплатных онлайн курсов по программированию

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

Принято считать, что для качественного образования необходимы упорство, время и деньги. Если с первыми двумя пунктами поспорить сложно, над третьим все же можно подумать. Действительно ли материальная составляющая способна определить уровень, а главное, качество образования?

Современная практика показывает: “Хорошо – не значит дорого”, а доступность интернет – ресурсов определяющим фактором в получении образования ставит желание. Получить необходимые знания и интересующую информацию в ведущих университетах России, Европы и Америки сейчас возможно даже не выходя из дома.

Сегодня такой бонус мы подготовили всем, кто давно мечтал заговорить с компьютером на “ты”, но не решался перейти к действиям. Перед вами 15 вариантов самых интересных бесплатных онлайн курсов по программированию, приступить к которым можно будет уже этой весной!
Читать дальше →
Всего голосов 25: ↑12 и ↓13-1
Комментарии8

Ethernet + PCIe + FPGA = LOVE

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

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

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

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

Осторожно, будут картинки!
Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии56

Секреты тестирования Ethernet каналов

Время на прочтение8 мин
Количество просмотров104K
Добрый день, дорогие друзья. Несколько лет работала сисадмином в некотором количестве корпоративных и домашних провайдеров Санкт-Петербурга и по сей день часто сталкиваюсь с тем, что покупая оборудование операторы смотрят больше на цену и описание функций, чем на реальные показатели, о них поставщики обычно ничего не пишут, в следствии чего вместо одного коммутатора приходится устанавливать еще и еще, а качество связи лучше может и не станет. Про существования понятия SLA(Service Level Agreement) тоже не все операторы в курсе, по этой причине собрала достоверную информацию по тестированию сетей и оборудования, и готова предоставить её вашему вниманию.



Читаем
Всего голосов 19: ↑15 и ↓4+11
Комментарии94

Захват пакетов в Linux на скорости десятки миллионов пакетов в секунду без использования сторонних библиотек

Время на прочтение8 мин
Количество просмотров86K
Моя статья расскажет Вам как принять 10 миллионов пакетов в секунду без использования таких библиотек как Netmap, PF_RING, DPDK и прочие. Делать мы это будем силами обычного Линукс ядра версии 3.16 и некоторого количества кода на С и С++.



Сначала я хотел бы поделиться парой слов о том, как работает pcap — общеизвестный способ захвата пакетов. Он используется в таких популярных утилитах как iftop, tcpdump, arpwatch. Кроме этого, он отличается очень высокой нагрузкой на процессор.

Итак, Вы открыли им интерфейс и ждете пакетов от него используя обычный подход — bind/recv. Ядро в свою очередь получает данные из сетевой карты и сохраняет в пространстве ядра, после этого оно обнаруживает, что пользователь хочет получить его в юзер спейсе и передает через аргумент команды recv, адрес буфера куда эти данные положить. Ядро покорно копирует данные (уже второй раз!). Выходит довольно сложно, но это не все проблемы pcap.

Кроме этого, вспомним, что recv — это системный вызов и вызываем мы его на каждый пакет приходящий на интерфейс, системные вызовы обычно очень быстры, но скорости современных 10GE интерфейсов (до 14.6 миллионов вызовов секунду) приводят к тому, что даже легкий вызов становится очень затратным для системы исключительно по причине частоты вызовов.

Также стоит отметить, что у нас на сервере обычно более 2х логических ядер. И данные могут прилететь на любое их них! А приложение, которое принимает данные силами pcap использует одно ядро. Вот тут у нас включаются блокировки на стороне ядра и кардинально замедляют процесс захвата — теперь мы занимаемся не только копированием памяти/обработкой пакетов, а ждем освобождения блокировок, занятых другими ядрами. Поверьте, на блокировки может зачастую уйти до 90% процессорных ресурсов всего сервера.

Хороший списочек проблем? Итак, мы их все геройски попробуем решить!
Читать дальше →
Всего голосов 113: ↑112 и ↓1+111
Комментарии77

Информация

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