Pull to refresh
-7
Karma
0.6
Rating

Рабы нажимают минус, свободные люди — плюс

Скрутки, клеммники и WAGO под лёгкой перегрузкой

Energy and batteries


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

Здесь рассматриваются наиболее доступные способы соединить наиболее типичный для квартирной проводки медный однопроволочный провод сечением 2,5 кв.мм.
Читать дальше →
Total votes 258: ↑257 and ↓1 +256
Views 54K
Comments 206

О будущем IT-отрасли в частности и страны в целом

IT-emigration IT career Finance in IT IT-companies

Примерно полгода назад мы с моим другом рассуждали о рынке IT в Черноруссии (вымышленной стране из серии видеоигр Armed Assault), сравнивая его с другими отраслями. Мы пытались понять: почему на западе врачи, учителя и инженеры зарабатывают хорошо, а в Черноруссии нет? Почему добиться чего-то было можно только получив профессию в сфере информационных технологий? (Предпринимательство и блогерство я профессиями не считаю, если что). Почему "в Черноруссии есть только 3 пути: вебкам, закладки и IT"? Тогда мой друг просто сказал мне: программистов, в отличие от врачей, учителей и прочих бюджетников, не успели приучить к бедности за время существования Советского Союза. Я тогда не согласился с этим: в СССР небольшая IT-отрасль всё же была, пускай и советские компьютеры отставали от западных, а круг специалистов в области информатики был немногочисленным. Тем не менее, этих людских и технологических ресурсов хватало для автоматизации производственных мощностей и обороны. И вот сейчас я наконец-то понял истинный ответ на заданный тогда вопрос.

Читать далее
Total votes 237: ↑163 and ↓74 +89
Views 93K
Comments 892

Позиция Хабра по происходящему

Habr corporate blog Habr Community management *Legislation in IT Social networks and communities

Привет, друзья!

Сначала три абзаца с предысторией:

1. С самого запуска Хабра на нём появились правила, многие пункты которых неизменны до сих пор. Одно из них звучит так: «Хабр не для политики». Кто-то улыбнётся и напишет грубое «так она давно уже не работает у вас, вы где были, алло?!», а кто-то тут же добавит «если игнорировать политику, то она займётся тобой». А ещё через 10 минут пользователи начнут на эмоциях оскорблять друг друга, минусовать и вешать ярлыки, обобщать и искать идеологических врагов между строк комментариев. Увы, некоторые пользователи способны устроить подобную дискуссию в любом посте вне зависимости от его темы.

2. Любые политические и околополитические дискуссии приводят к тому, что пользователи как носители разных взглядов ссорятся между собой. Они забывают про правила сайта, не видят предупреждающего информера перед комментариями, иногда игнорируют личные обращения модераторов. В итоге приходится переводить их в режим ReadOnly, хотя в профильных дискуссиях они могли бы быть по-настоящему полезными. Поэтому давайте уважать друг друга, а также правила и концепцию Хабра.

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

Теперь три абзаца о ситуации вокруг и нашем отношении к ней.

Читать далее
Total votes 562: ↑493 and ↓69 +424
Views 121K
Comments 798

Топ-10 ошибок, найденных PVS-Studio в проектах на ASP.NET Core

PVS-Studio corporate blog .NET *C# *

Миллионы людей используют веб-приложения, построенные на основе ASP.NET Core. Поэтому мы решили улучшить работу PVS-Studio при анализе таких проектов. Для демонстрации результата нашей работы мы проверим несколько open source проектов и представим топ срабатываний.

Читать далее
Total votes 8: ↑7 and ↓1 +6
Views 4.6K
Comments 3

React Hooks простыми словами

SimbirSoft corporate blog Website development *JavaScript *ReactJS *

О хуках в фронтенд-разработке на Хабре писали уже не раз, и в этой статье мы не сделаем великого открытия. Наша цель другая – рассказать про React Hooks настолько подробно и просто без трудной терминологии, насколько это возможно. Чтобы после прочтения статьи каждый понял про хуки всё. Эта статья будет полезна как начинающим React-разработчикам, так и тем, кто хочет, не уходя в глубины документации, получить практическую информацию в сжатом виде. 

Читать далее
Total votes 11: ↑9 and ↓2 +7
Views 14K
Comments 21

Три жизни Дмитрия Зимина

Development of communication systems *History of IT Biography of geeks Cellular communication

Дмитрий Зимин был великим человеком, прожившим три глубоких жизни: инженера, бизнесмена и филантропа. Легче всего его сравнить с Биллом Гейтсом.

Сначала родившийся в 1933 году потомок старообрядческого купеческого рода Дмитрий Зимин сделал блестящую инженерную карьеру, став к закату СССР лауреатом крупных премий, руководителем по разработкам в ведущем радиотехническом институте и замом главного конструктора системы противоракетной обороны вокруг Москвы. Ведь он отлично разбирался в фазированных антенные решётки + был сильным организатором. Тут немного воспоминаний коллеги из тех времён.

В посвободневшей России 58-летний Зимин занялся амбициозными стартапами.

Цитата из Википедии:

"На фоне резкого сокращения оборонных заказов, 6 марта 1991 года зарегистрировал на базе Радиотехнического института малое предприятие КБ «Импульс». Первой разработкой фирмы стала система спутникового телевидения, которая была запущена в серийное производство на Вильнюсском заводе радиоизмерительных приборов (ВЗРИП) и продавалась в московском магазине «Эфир» на Тверской улице, но почти никакой прибыли этот проект не принёс. Следующим проектом была система кабельного телевидения АС-600, она также была запущена в серию и уже принесла небольшой доход. В 1991 году организовал группу технических экспертов внутри Радиотехнического института по разработке сотовой телефонной связи. В 1992 году было создано акционерное общество «Вымпел-Коммуникации», где Зимин стал президентом и генеральным директором"

Ого, три пивота за 1991 год: из оборонки в спутниковое тв, потом в кабельное тв, потом в сотовую связь.

Но даже Билайн - не главная заслуга Зимина
Total votes 131: ↑124 and ↓7 +117
Views 12K
Comments 32

Самый простой способ разместить IP-камеру на сайте в 2022 году

Working with video *Programming *C# *
✏️ Technotext 2021

Ранее в статье "Самый простой (для знающих Linux) и дешевый способ разместить IP-камеру на сайте для небольшой аудитории" я уже делился с сообществом своим видением, как быстро и просто разместить видео с камеры на своем сайте. Минусов у того подхода, к сожалению, было много. Это и запуск исключительно под Linux, и отсутствие полноценной поддержки Safari и Яндекс.Браузера для MacOSX, и необходимость проделать дополнительную работу, чтобы привести скрипт в боевое состояние. Установить Apache, PHP, FFMpeg. Сгенерировать вручную ссылки (немного не актуально – я недавно выложил генератор ссылок для того скрипта). В общем, в новом году хочется чего-то совсем простого, что настраивается в пару кликов и работает почти везде. Плюс в комментариях к статье были справедливые упоминания о технологии HLS. Вот такую программу я и написал, чем с вами сегодня и поделюсь.

Читать далее
Total votes 16: ↑15 and ↓1 +14
Views 12K
Comments 15

Запись звука и отображение громкости на Android

VK corporate blog Development of mobile applications *Development for Android *
Всем привет! Меня зовут Юрий Дорофеев, я Android-разработчик и преподаватель в Mail.ru Group. Если вы когда-нибудь записывали аудиосообщения, то видели, как анимируется интерфейс в зависимости от громкости вашего голоса. Давайте повторим этот эффект:


Читать дальше →
Total votes 27: ↑26 and ↓1 +25
Views 4K
Comments 4

Прививка против ВИЧ и Рака одновременно. Возможно ли это?

Biotechnologies Biology

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

Читать далее
Total votes 26: ↑5 and ↓21 -16
Views 3.6K
Comments 23

Vuetify  —  создаем свое простое приложение

JavaScript *VueJS *
Sandbox

В этой небольшой статье мы с вами напишем свое простое приложение по типу "заказа еды". Само приложение если что будет статичным и здесь главный упор будет сделан на использование компонентов Vuetify и рассмотрение того как именно они работают. Также добавлю что здесь мы не будем рассматривать отдельную библиотеку Bootstrap Vue которую использует Vuetify чтобы строить гриды.

Читать далее
Total votes 13: ↑12 and ↓1 +11
Views 20K
Comments 17

Мониторим сессию удаленного админа при помощи screen

System administration *
Sandbox
imageНедавно мне пришлось, что называется, перебороть себя. Дать доступ на свой любимый сервер некоему чужаку. Он натоптал своими грязными ботинками в моей уютной домашней директории, мацал косматыи лапами мои опрятные скрипты инициализации, рылся в логах, натащил в /opt какого-то барахла непонятно откуда. В общем, вел себя, как у себя дома.

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

Собственно, решение основано на программе screen. Это консольных оконный менеджер, про который на хабре уже писали.
Читать дальше →
Total votes 29: ↑28 and ↓1 +27
Views 9.1K
Comments 28

Объектно-ориентированное программирование на Си без плюсов. Часть 2. Таймер

Programming *C *Development for Linux *

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

    Для Linux в Си в настоящее время есть следующие функции:

unsigned int sleep(unsigned int __seconds); ,

объявленная в файле <unistd.h> и

int nanosleep(const struct timespec *req, struct timespec *rem); ,

объявленная в файле <time.h>

    Обе выполняют одну задачу, приостанавливают работу потока в котором была вызвана функция на заданное время, поэтому с данными функциями очевидным является простое решение (как говорится «решение в лоб») выделить для таймера отдельный поток.

    Есть ещё функция clock_nanosleep(), можно включить режимы SHED_FIFO или SCHED_RR для более точной работы, всё это конечно хорошо, но я решил ограничиться только выше указанными.

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

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

Читать далее
Total votes 5: ↑4 and ↓1 +3
Views 6.1K
Comments 12

Распознавание речи с помощью CMU Sphinx

Sound
Sandbox
CMU Sphinx сейчас является крупнейшим проектом по распознаванию человеческой речи. В инструментарий входят следующие программы и библиотеки:

  • Pocketsphinx — небольшая программа, которая принимает на вход произвольные акустические модели, грамматики и словари, а также звуковой поток(либо звуковой файл, либо сам берет поток с микрофона). На выходе получается распознанный текст. Написана на C, работает быстро.
  • Sphinxbase — библиотека необходимая для работы Pocketsphinx
  • Sphinx4 — гибкая библиотека для распознавания, написана на Java.
  • Sphinxtrain — программа для обучения акустических моделей.

Для работы со CMU Sphinx важно запомнить несколько определений и понять их отличия.

  • Акустическая модель — отвечает за сопоставление звуку произнесенной фонемы. Акустическую модель для русского языка можно скачать на сайте проекта. Русская акустическая и языковая модели. А также словарь.
  • Словарь — это файл, в котором написаны сопоставлены лексемы и фонемы (слово и его транскрипция). Например, калькулятор (k ay ll k u ll ja t ay r). Он необходим для преобразования фонем, распознанных акустической моделью в лексемы.
  • Грамматика — это формальные правила, которые описывают простые правила построения предложений. Лексемы, полученные на предыдущем шаге пытаются сопоставиться с грамматикой и если удачно, то выводится результат.
  • Языковая модель — это статистическая модель языка. Она описывает вероятности слов и их комбинаций. Таким образом распознавание лексем — это максимизация правдоподобности распознанной фразы.

Чем сложнее язык, чем обширней правила и размер словаря, тем хуже точность распознавания. Поэтому, для минимизации ошибки, имеет смысл создания упрощенных правил, которые будут описывать конкретную задачу.
Читать дальше →
Total votes 22: ↑20 and ↓2 +18
Views 76K
Comments 2

Pocketsphinx. Распознавание речи и голосовое управление в Linux

Configuring Linux *
Tutorial
— Всё в порядке, Лёня?
Динамики отрегулированы на максимум, я морщусь, отвечаю:
— Да. Тише звук.
— Звук — тише, — соглашается «Виндоус-Хоум», — тише, тише…
— Хватит, Вика
С.Лукьяненко, «Лабиринт отражений»

Введение


В 1997-ом году Лукьяненко пророчил для десктопа сочетание CLI и голосового управления. Однако сейчас голосовое управление — достаточно узкая ниша.
Голосовое управление — взаимодействие с устройством при помощи звуковых команд. Не путайте это понятие с распознаванием речи. Для голосового управления достаточно, чтобы устройство реагировало на единственную нужную команду (ведь ваша собака не может работать машинисткой?). Распознавание речи — гораздо более глобальная проблема: в этом случае устройство должно преобразовывать в текстовый формат все слова, произнесенные вами. Как легко догадаться, распознавание речи на данный момент реализовано поверхностно относительно человеческих возможностей.
Функционал, рассмотренный в статье, может быть применен, к примеру, для организации модного сейчас «умного дома» или просто управления компьютером. Честно говоря, для описания управления компьютером хватило бы пары абзацев, но я попытаюсь показать вам основы работы с CMU Sphinx.
Кстати, процентов 70 описанного здесь подойдет и пользователям Windows.
Научим Linux слушаться?
Total votes 72: ↑63 and ↓9 +54
Views 119K
Comments 37

Практика IPv6 — домашняя сеть

Configuring Linux *System administration *Network technologies *
Tutorial
Abstract: Рассказ про некоторые возможности IPv6 на примере конфигурации сложной домашней IPv6-сети. Включает в себя описания мультикаста, подробности настройки и отладки router advertisement, stateless DHCP и т.д. Описано для linux-системы. Помимо самой конфигурации мы внимательно обсудим некоторые понятия IPv6 в теоретическом плане, а так же некоторые приёмы при работе с IPv6.

Зачем IPv6?


Вполне понятный вопрос: почему я ношусь с IPv6 сейчас, когда от него сейчас нет практически никакой пользы?

Сейчас с IPv6 можно возиться совершенно безопасно, без каких-либо негативных последствий. Можно мирно разбираться в граблях и особенностях, иметь его неработающим месяцами и nobody cares. Я не планирую в свои старшие годы становиться зашоренным коболистом-консерватором, который всю жизнь писал кобол и больше ничего, и все новинки для него «чушь и ерунда». А вот мой досточтимый воображаемый конкурент, когда IPv6 станет продакт-реальностью, будет либо мне не конкурентом, либо мучительно и в состоянии дистресса разбираться с DAD, RA, temporary dynamic addresses и прочими странными вещами, которым посвящено 30+ RFC. А что IPv6 станет основным протоколом ещё при моей жизни — это очевидно, так как альтернатив нет (даже если бы они были, их внедрение — это количество усилий бОльшее, чем завершение внедрения IPv6, то есть любая альтернатива всегда будет отставать). И что адреса таки заканчиваются видно, по тому, как процесс управления ими перешёл во вторую стадию — стадию вторичного рынка. Когда свободные резервы спекуляций и хомячаяния адресов закончится, начнётся этап суровой консолидации — то есть выкидывание всего неважного с адресов, перенос всех «на один адрес» и т.д. Примерно в это время IPv6 начнёт использоваться для реальной работы.

Впрочем, рассказ не про будущее IPv6, а про практику работы с ним. В Санкт-Петербурге есть такой провайдер — Tierа. И я их домашний пользователь. Это один из немногих провайдеров, или, может быть, единственный в городе, кто предоставляет IPv6 домашним пользователям. Пользователю выделяется один IPv6 адрес (для маршрутизатора или компьютера), плюс /64 сетка для всего остального (то есть в четыре миллиарда раз больше адресов, чем всего IPv4 адресов быть может — и всё это в одни руки). Я попробую не просто описать «как настроить IPv6», но разобрать базовые понятия протокола на практических примерах с теоретическими вставками.

Структура сети:

(Оригиналы картинок: github.com/amarao/dia_schemes)
  • 1, 2, 3 — устройства в локальной сети, работают по WiFi
  • 4 — WiFi-роутер, принужденный к работе в роле access point (bridge), то есть коммутатора между WiFi и LAN
  • 5 — eth3 сетевой интерфейс, который раздаёт интернет в локальной сети
  • 6 — мой домашний компьютер (основной) — desunote.ru, который раздачей интернета и занимается, то есть работает маршрутизатором
  • 7 — eth2, интерфейс подключения к сети Tiera

Читать дальше →
Total votes 127: ↑124 and ↓3 +121
Views 247K
Comments 125

Реверс-инжиниринг домашнего роутера с помощью binwalk. Доверяете софту своего роутера?

Information Security *Network technologies *Reverse engineering *DevOps *Network hardware
Translation
Tutorial


Несколько дней назад, я решил провести реверс-инжиниринг прошивки своего роутера используя binwalk.


Я купил себе TP-Link Archer C7 home router. Не самый лучший роутер, но для моих нужд вполне хватает.


Каждый раз когда я покупаю новый роутер, я устанавливаю OpenWRT. Зачем? Как правило производители не сильно заботятся о поддержке своих роутеров и со временем софт устаревает, появляются уязвимости и так далее, в общем вы поняли. Поэтому я предпочитаю хорошо поддерживаемую сообществом open-source прошивку OpenWRT.


Скачав себе OpenWRT, я так же скачал последний образ прошивки под мой новый Archer C7 с официального сайта и решил проанализировать его. Чисто ради фана и рассказать о binwalk.

Читать дальше →
Total votes 57: ↑56 and ↓1 +55
Views 47K
Comments 16

Тридцать топовых интервью за последнее время: разработка, дизайн, научпоп и лайфстайл

Habr corporate blog Popular science Biography of geeks Interview


На новогодних праздниках ваша дорогая редакция совмещала приятное с полезным и читала интервью, которые выходили на Хабре за последние годы. Отобрали 30 штук, а теперь делимся с вами — это прям самый сок и вообще крутота! Разговоры на любой вкус: об игровой разработке, редких языках программирования и популярном Python, электротачках и устройстве мозга. О том, зачем Левелорд переехал в Москву, как ослепший студент научился программировать и что изменилось за 25 лет с тех пор, как Торвальдс начал работать над Linux. И еще о многом другом.
Читать дальше →
Total votes 50: ↑49 and ↓1 +48
Views 53K
Comments 6

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

Programming *Personnel Management *IT career


Дерьмовое утро удалёнщика всегда начинается одинаково. Если детский плач не смог вытащить меня из кровати, то нытье жены сделает это с гарантией. Сумасшедшие девять утра, через час дейли-синк-ап, а за вчера, как всегда, сделано нихрена. Быстро варю кофе и за комп. За пять минут до созвона пулл реквест с кодом энтерпрайзного качества увесисто встал в очередь на билд. Иду курить, но по дороге телефон заорал — я зачем-то установил на него скайп, и теперь работа может добраться до меня где угодно. Курение откладывается, я готовлюсь возмущаться, что мне позвонили раньше положенного. Напялил наушники, принял вызов. Вместо привычной девушки менеджера созвон начал какой-то незнакомый мне чел. «Всем привет, Аня заболела, я буду её замещать». Окей, кому какое дело, с таким же успехом они могли бы прислать нам в качестве менеджера собаку — ничего бы не изменилось.
Читать дальше →
Total votes 503: ↑428 and ↓75 +353
Views 256K
Comments 780

Введение в эксплоитинг и реверсинг (уже не с нуля) с использованием IDA FREE и других бесплатных инструментов

Information Security *Assembler *Reverse engineering *
Translation
Tutorial
Привет, Хабравчане.

Для тех кто не знает, совсем недавно Рикардо начал новый курс, который посвящен реверсингу и эксплоитингу. Это продолжение предыдущего оригинального авторского курса, который закончился на 67 главе. Я узнал про курс сразу, так как Рикардо подписал меня на свою рассылку КрэкЛатинос. После появления этой новости я сразу побежал искать папочку с английским переводом и очень обрадовался когда нашел его там. Над английским переводом постарался человек под ником Fare9, за что ему честь и хвала. Также я хочу передать привет и сказать спасибо Ильфаку Гильфанову за его прекрасный инструмент, которым пользуются в каждой стране. Перед ним я снимаю шляпу и делаю низкий поклон.
Читать дальше →
Total votes 27: ↑24 and ↓3 +21
Views 15K
Comments 30

Information

Rating
1,131-st
Date of birth
Registered
Activity