Pull to refresh
4
0
Тимур @timka05

User

Send message

Первый опенсорсный LTE-сниффер с полной функциональностью

Reading time4 min
Views16K

Базовая станция LTE

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

Устройства для прослушивания трафика LTE до недавнего времени имели ограниченную функциональность и не могли анализировать все служебные данные. Однако в прошлом году инженеры из Корейского института передовых технологий (KAIST) опубликовали исходный код первого в мире опенсорсного сниффера LTESniffer с полным набором функциональных возможностей, включая декодирование трафика PDCCH и PDSCH.
Читать дальше →
Total votes 20: ↑23 and ↓-3+26
Comments9

OpenCV в Python: Часть 1 — Работа с изображениями и видео

Reading time6 min
Views67K

Добро пожаловать! Перед вами первая статья из серии OpenCV в Python, которая, как вы уже догадались по названию, посвящена тому, как научиться комфортно работать в OpenCV.

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

Не будем терять времени, начнем!

Читать далее
Total votes 11: ↑10 and ↓1+9
Comments2

Python, корреляция и регрессия: часть 1

Reading time16 min
Views75K

В предыдущих сериях постов для начинающих из ремикса книги Генри Гарнера «Clojure для исследования данных» (Clojure for Data Science) на языке Python мы рассмотрели методы описания выборок с точки зрения сводных статистик и методов статистического вывода из них параметров популяции. Такой анализ сообщает нам нечто о популяции в целом и о выборке в частности, но он не позволяет нам делать очень точные утверждения об их отдельных элементах. Это связано с тем, что в результате сведения данных всего к двум статистикам - среднему значению и стандартному отклонению - теряется огромный объем информации.

Читать далее
Total votes 7: ↑6 and ↓1+5
Comments0

Если Fairphone может поддерживать телефон 5-летней давности, то и другим производителям это под силу, не так ли?

Reading time3 min
Views12K

Подобная бизнес модель не очень хорошо обходится с потребителями и окружающей средой, но Google держит в своих руках все карты Android



Fairphone – крохотный игрок в области смартфонов. Его необычное конкурентное преимущество лежит в области защиты окружающей среды, и рекламируется, как этичная цепочка поставок и модульные компоненты, которые пользователи могут менять самостоятельно. Поэтому нас не должно удивлять, что Fairphone 2, впервые появившийся на рынке в 2015 году, до сих пор получает обновления ПО. Да, Fairphone 2 обновился только до Android 9 Pie. Не самая новая система — но Google по-прежнему официально её поддерживает. При первом появлении телефона на нём стояла ОС Android 5 Lollipop.

И всё-таки, это удивительно. Fairphone белой вороной выделяется в разрозненном мире Android, где жизненно важное ПО обновляется медленно и нерегулярно. За некоторыми исключениями (а именно, Nokia и Google), большая часть производителей перестаёт поддерживать устройства всего через два года после выхода на рынок – а некоторые и ещё раньше.
Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments58

Приточная вентиляция совмещенная с канальным кондиционером (часть 1 — электрическая)

Reading time11 min
Views74K

схема_малая


Хочу поделиться опытом проектирования, монтажа и эксплуатации своей системы приточной вентиляции совмещенной с канальным кондиционером. Система
собиралась в 2012-2013 годах и с тех пор находится в постоянной эксплуатации.


Статью разделил на две части:


  • в первой части описана классическая схема приточная вентиляции с использованием электрического канального подогревателя
  • во второй части рассказано про неоднозначный опыт переработки системы под водяной калорифер с питанием от общедомовой системы отопления
Читать дальше →
Total votes 60: ↑59 and ↓1+58
Comments229

SARS нерукотворный? Генеалогия уханьского коронавируса

Reading time73 min
Views291K

Не, ну какая рукотворность? Что за бред? Думал я, когда впервые услышал гипотезу о том, что Ковид-19 вызван то ли лабораторной утечкой, то ли вообще целенаправленной биоатакой. И каждый раз просто отмахивался от этих домыслов, когда они в очередной раз доплывали до меня в бурном потоке коронавирусного инфошума. Ну подумаешь, есть в Ухане институт вирусологии, мало ли.

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

И вот тут, в погоне за доводами против рукотворности вируса, меня и заразил вирус сомнений. В чём, собственно, причина сомнений? В том, что чем глубже погружаешься в деятельность коронавирусологов за последние 15–20 лет, тем лучше понимаешь, что создание ровно таких химер как CoV2 у них было обыденным делом. А CoV2 — это очевидная химера, основанная на летучемышином штамме RaTG13, у которого в шиповидном белке место связывания с рецептором (RBM) заменено с летучемышиного на панголиний, и вдобавок врезан особый участок из 4-х аминокислот, создавший furin cleavage site, который, как ранее выяснили вирусологи, значительно расширяет «репертуар» вируса в плане того, в чьи клетки он может проникать. Скорее всего, именно благодаря этому новому фуриновому сайту, новый мутант и сумел перескочить с исходных носителей на людей.

С учётом тех высот, которых сегодня достигла генная инженерия, синтетически собрать CoV2 по вышеописанной методике не составило бы труда даже начинающему специалисту. Ведь вирусологи, включая руководителя коронавирусного направления в Уханьском институте вирусологии Ши Чжэнли, такими вещами уже неоднократно занимались — как заменой RBM у одного вида вируса на RBM из другого
Total votes 421: ↑381 and ↓40+341
Comments720

Климатическая система в квартире своими руками

Reading time21 min
Views107K
Кто-то в детстве мечтает изобрести лекарство от рака, кто-то — стать космонавтом или владельцем свечного заводика. А я мечтал о том, что у меня появится климатическая система, и в квартире, наконец, не будет душно, вечная простуда от сквозняков исчезнет, а горло перестанет першить от сухости. И теперь мечта исполнена!

Примерно с декабря 2015 по июнь 2016 года я читал форумы, катался по строительным магазинам, собирал систему в квартире и на балконе, паял контроллер и писал прошивку — и добился своего.

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

Схема установки
А если чуть подробнее, то...
Total votes 87: ↑84 and ↓3+81
Comments290

WAL в PostgreSQL: 4. Настройка журнала

Reading time17 min
Views30K
Итак, мы познакомились с устройством буферного кеша и на его примере поняли, что когда при сбое пропадает содержимое оперативной памяти, для восстановления необходим журнал предзаписи. Размер необходимых файлов журнала и время восстановления ограничены благодаря периодически выполняемой контрольной точке.

В предыдущих статьях мы уже посмотрели на довольно большое число важных настроек, так или иначе относящихся к журналу. В этой статье (последней в этом цикле) мы рассмотрим те вопросы настройки, которые еще не обсуждались: уровни журнала и их назначение, а также надежность и производительность журналирования.

Уровни журнала


Основная задача журнала предзаписи — обеспечить возможность восстановления после сбоя. Но, если уж все равно приходится вести журнал, его можно приспособить и для других задач, добавив в него некоторое количество дополнительной информации. Есть несколько уровней журналирования. Они задаются параметром wal_level и организованы так, что журнал каждого следующего уровня включает в себя все, что попадает в журнал предыдущего уровня, плюс еще что-то новое.
Читать дальше →
Total votes 29: ↑29 and ↓0+29
Comments9

Самостоятельное изучение английского с Elementary до Intermediate: полезные ресурсы и мотивация

Reading time3 min
Views55K
Делюсь своим опытом самостоятельного изучения английского языка. За 8 месяцев я использовала много разных ресурсов, на поиск которых уходило мое время. Надеюсь написанием этой статьи помогу вам сэкономить ваше.
Читать дальше →
Total votes 26: ↑22 and ↓4+18
Comments14

Использование rrd4j для OpenHab2 persistence

Reading time8 min
Views8.7K
OpenHab – популярный сервер «умного дома» (или IoT, как сейчас модно говорить) и уже обозревался на Хабре. Тем не менее, документации по отдельным аспектам настройки сервера не так много, как хотелось бы. А на русском её, считай что и нет.

Важной особенностью OpenHab является модульность. Сам по себе сервер обеспечивает базовые функции (даже без какого бы то ни было UI). Весь остальной функционал предоставляется плагинами. Одним из типов плагинов является persistence – предоставление возможности хранить историю значения для айтемов (параметров устройств). Это необходимо для отображения исторических данных (графики) и восстановления состояния айтемов при рестарте сервера.

Существующие плагины позволяют использовать для хранения все популярные БД. Я же расскажу про настройку очень интересного бекэнда – rrd4j. Это высокопроизводительное хранилище для данных, которые представляют собой ряды значений, привязанных ко времени. Автор вдохновлялся набором RRDTools, но переписал его функционал на Java (OpenHab тоже написан на Java), оптимизировал и расширил функционал. Файлы хранилищ rrd4j не совместимы с файлами RRDTools.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments5

Год измеряем влажность почвы на ESP8266 и двух батарейках. Часть 2

Reading time7 min
Views42K
Всем привет! В этой статье хочется рассказать, как заставить датчик влажности почвы проработать год на двух батарейках (ААА) и при этом сделать все более менее правильно. Первая статья — про выбор среды разработки (Arduino IDE) и платформу Blynk.


Картинка домашнего дуба для привлечения внимания

Садовод любитель


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

Спойлер
Светодиоды греются, земля сохнет, поливаю я кое как.
Читать дальше →
Total votes 51: ↑49 and ↓2+47
Comments174

Разбираемся с воздухоочистителями для дома

Reading time6 min
Views93K
На рынке существует большое количество моделей воздухоочистителей с ценниками от 500 до 60 000 рублей, поэтому мы решили разложить все по полочкам: начиная с их устройства и заканчивая типами фильтров, которыми они могут комплектоваться.


Споры плесени «пойманные» HEPA-фильтром (иллюстрация научного фотографа Стефана Диллера)
Читать дальше →
Total votes 34: ↑29 and ↓5+24
Comments63

Объясняем современный JavaScript динозавру

Reading time15 min
Views264K


Если вы не изучали JavaScript с самого начала, то осваивать его современную версию сложно. Экосистема быстро растёт и меняется, так что трудно разобраться с проблемами, для решения которых придуманы разные инструменты. Я начал программировать в 1998-м, но начал понимать JavaScript только в 2014-м. Помню, как просматривал Browserify и смотрел на его слоган:


Browserify позволяет делать require («модули») в браузере, объединяя все ваши зависимости


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


Цель статьи — рассказать о контексте, в котором инструменты в JavaScript развивались вплоть до 2017-го. Начнём с самого начала и будем делать сайт, как это делали бы динозавры — безо всяких инструментов, на чистом HTML и JavaScript. Постепенно станем вводить разные инструменты, поочерёдно рассматривая решаемые ими проблемы. Благодаря историческому контексту вы сможете адаптироваться к постоянно меняющемуся ландшафту JavaScript и понять его.

Total votes 174: ↑171 and ↓3+168
Comments505

Анализ работы MS SQL Server, для тех кто видит его впервые (часть 2)

Reading time15 min
Views96K
Часть 1

Продолжаем анализировать что происходит на нашем MS SQL сервере. В этой части посмотрим как получить информацию о работе пользователей: кто и что делает, сколько ресурсов на это расходуется.

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

Задачи анализа действий пользователей условно поделим на группы и рассмотрим каждую отдельно:
Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments5

Анализ работы MS SQL Server, для тех кто видит его впервые

Reading time7 min
Views101K
Опубликовано продолжение: часть 2

Недавно столкнулся с проблемой — занедужил SVN на ubuntu server. Сам я программирую под windows и с linux “на Вы”… Погуглил по ошибке — безрезультатно. Ошибка оказалась самая типовая (сервер неожиданно закрыл соединение) и ни о чем конкретном не говорящая. Следовательно, надо погружаться глубже и анализировать логи/настройки/права/и т.п., а с этим, как раз, я “на Вы”.

В результате, конечно, разобрался и нашел всё что нужно, но время потрачено много. В очередной раз думая, как глобально (да-да, во всём мире или хотя бы на ⅙ части суши) уменьшить бесполезно потраченные часы — решил написать статью, которая поможет людям быстро сориентироваться в незнакомом программном обеспечении.

Писать я буду не про линукс — проблему хоть и решил, но профессионалом вряд ли стал. Напишу про более знакомый мне MS SQL. Благо, уже приходилось много раз отвечать на вопросы и список типовых уже готов.

Для кого пишу

Если вы админ в Сбере (или в Яндексе или <другая топ-100 компания>), вы можете сохранить статью в избранное. Да, пригодится! Когда к вам, в очередной раз, с одними и теми же вопросами придут новички — Вы дадите им ссылку на нее. Это сэкономит Ваше время.

Если без шуток, эта СУБД часто используется в небольших компаниях. Часто совместно с 1С либо другим ПО. Отдельного БД-админа таким компаниям держать затратно — надо будет выкручиваться обычному ИТ-шнику. Для таких и пишу.
Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments28

Что такого особенного в Nim?

Reading time7 min
Views80K


Язык программирования Nim (ранее именовался Nimrod) — захватывающий! В то время как официальная документация с примерами плавно знакомит с языком, я хочу быстро показать вам что можно сделать с Nim, что было бы труднее или невозможно сделать на других языках.

Я открыл для себя Nim, когда искал правильный инструмент для написания игры, HoorRace, преемник моей текущей DDNet игры/мода Teeworlds.

(прим. пер. На синтаксис Nim имели влияние Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon.)

Запускаем!


Да, эта часть всё ещё не захватывает, но просто следите за продолжением поста:

for i in 0..10:
  echo "Hello World"[0..i]

Читать дальше →
Total votes 63: ↑57 and ↓6+51
Comments93

Сортировщик страниц для распечатывания книги

Reading time2 min
Views103K
Помните этот пост? У меня он сразу попал в закладки, а уже на следующий день я с огромным удовольствием читал свежераспечатанную книгу. Сколько их (распечатанных книг) было — уже не помню. Но уверен, что не я один этим занимался. А что? Не всегда есть в продаже книга, которая нужна прям сейчас. Да и средства экономит.

Тот, кто пробовал сам распечатывать книги, знает, что процесс печати требует внимательности и аккуратности. Печатаем по 16 страниц (4 листа формата А4, по 2 страницы книги на каждой стороне листа) таким образом чтобы, сложив пополам эту стопку, получить тетрадку, в которой страницы идут по порядку, как в книге. Из этих тетрадок потом и будет сшиваться сама книга.
Читать дальше →
Total votes 41: ↑41 and ↓0+41
Comments33

Алло, кто звонит или определение номера в Asterisk

Reading time3 min
Views15K
Учитывая специфику телефонных сетей на территории России, проблемы с определением номера при настройке аналоговых линий ГТС на Asterisk возникают довольно часто. Разнообразие ГАТС и качество телефонных линий смонтированных еще во времена СССР всегда преподносят проблемы для интеграторов IP АТС.
image

Была установлена IP АТС Asterisk, и успешно использовалась. Через некоторое время появилась возможность подключить определитель номера, т.к. городские линии перевели на цифровую ГАТС с поддержкой CallerID, до этого линии были подключены к аналоговой ГАТС (да, аналоговые АТС еще живы), но определение номера не заработало.
Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments5

ONLYOFFICE или Libre: о битве форматов и совместном редактировании

Reading time5 min
Views50K
Этот день настал: мы открыли исходный код десктопных редакторов ONLYOFFICE. Теперь они абсолютно бесплатны для домашнего и коммерческого использования. Лицензия AGPLv3, скачать на сайте, код на GitHub.

A в этой статье мы просто приведем несколько аргументов в пользу того, чтобы при отказе от Microsoft Office по экономическим или идеологическим причинам переходить на ONLYOFFICE, а не на Libre. Читайте далее, чтобы испытать боль.

Вы наверное ждете, что сейчас мы будем меряться функциональностью и спорить с пеной у рта, у кого что лучше реализовано. Не-а. Конечно можно найти то, что у нас реализовано лучше, и то, что сделано лучше у них. Что-то мы не допилили, где-то у них баги. Да и вообще всё это очень субъективно. Давайте лучше рассмотрим фактическую сторону дела.


Читать дальше →
Total votes 45: ↑42 and ↓3+39
Comments148

Использование EXPLAIN. Улучшение запросов

Reading time10 min
Views168K
Когда вы выполняете какой-нибудь запрос, оптимизатор запросов MySQL пытается придумать оптимальный план выполнения этого запроса. Вы можете посмотреть этот самый план используя запрос с ключевым словом EXPLAIN. EXPLAIN – это один из самых мощных инструментов, предоставленных в ваше распоряжение для понимания MySQL-запросов и их оптимизации, но печальным фактом является то, что многие разработчики редко его используют. В данной статье вы узнаете о том, какие данные предлагает EXPLAIN на выходе и ознакомитесь с примером того, как использовать его для оптимизации запросов.
Читать дальше →
Total votes 39: ↑32 and ↓7+25
Comments14

Information

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