Как стать автором
Обновить
0
@QuAzIread⁠-⁠only

Лучше недостаток кармы, чем мозгов и совести

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

Взгляд компьютерным зрением на работу коммунальных служб

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров11K

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

Пошагали

Ещё один взгляд компьютерным зрением на работу коммунальных служб

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

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

Читать далее

Странный мир путей файлов в Windows

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

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

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

Стоит заметить, что статья ограничивается только тем типом путей, который видит пользователь приложений Windows (обусловленный Win32 API). Под этим слоем есть ещё больше любопытного, в основном касающегося тех, кто пишет драйверы оборудования и тому подобное.
Читать дальше →

«Программирование — вторая грамотность». К 92-летию со дня рождения ученого-программиста Андрея Петровича Ершова

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

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

И в относительно новой по историческим меркам науке информатике есть такой человек – это академик Андрей Петрович Ершов – выдающийся советский ученый, педагог и просто прекрасный человек, обладавший тонким языковым чутьем.

27 октября 1980 года Андрея Петровича пригласили выступить с заглавным докладом на 3-й Всемирной конференции ИФИП и Юнеско по применению ЭВМ в обучении. И Ершов выступил с совершенно замечательной речью под нетипичным метафорическим названием «Программирование – вторая грамотность». Так что же он имел в виду?
Читать дальше →

Как вы храните свой фотоархив?

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

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

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

Читать далее

Как IT-специалисты-экологи спасут планету

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

Всем привет! Я тот самый человек, который учится на бакалавриате по направлению "Экология и природопользование" в обычном Российском ВУЗе. И будучи человеком, которому трудно утолить жажду знаний, мне приходится часто себя ловить на мыслях об улучшении и оптимизации многих процессов, в том числе и в образовании. В целом, образовательная программа моего ВУЗа достаточно неплоха, и мы получаем от преподавателей (конечно же, не от всех) информацию из научных кругов, говорим о инновационных исследованиях и приборах, которые дают новый толчок в изучении такой многокомпонентной науки как экология.

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

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

Читать далее

Раскраски — лучшее применение генеративных сетей :)

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

Мне кажется, я нашел самое правильное применение генеративных сетей, рисующих по описанию. Это генерация раскрасок! 

У меня есть дети. Дети равно раскраски. Раскраски - это постоянный поиск всякой фигни, типа “хочу чтобы был единорог, а рядом его малыш панда, и чтобы малыш был похож на маму”. Интересно, что нейросети неплохо справляются с такими задачами. Причем, забавный момент - результаты начинающих нейросетей, типа того же Кандинского, принимаются более благосклонно, потому что рисуют они пока плохо. Но! эта “плохость” и ошибки в изображениях очень похожи на рисунки ребенка и воспринимается за творение собрата по детсаду/школе.

Читать далее

Тонкости настройки Grafana Loki

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров47K

Привет! Меня зовут Игорь, я управляющий партнёр и системный архитектор в KTS.

В этой статье, подготовленной по мотивам моего доклада в «Школе мониторинга» Slurm, хочу поделиться своим набором best practice «Как лучше всего настроить Grafana Loki для сбора логов в инфраструктуре». 

На мой взгляд, порог входа в систему достаточно низкий, и в Интернете много туториалов. Поэтому я расскажу о более сложных и не совсем очевидных вещах, с которыми не раз сталкивался при работе с Grafana Loki. 

Читать далее

Исследование https-трафика мобильного приложения

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров11K

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

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

Читать далее

Разработка BIOS на языках высокого уровня

Уровень сложностиСложный
Время на прочтение11 мин
Количество просмотров28K
Ничего лишнего: материнская плата, видеокарта и ROM-BIOS

Меня давно волнует вопрос, как подступиться к разработке на голом железе, на чистом си. Хотелось понять, каким же образом идёт запуск BIOS, u-boot, grub и прочих первичных загрузчиков. Ведь необходимо перейти от ассемблера к тёплому ламповому си и соблюсти условие, собрать всё это в линукс любимым компилятором gcc.

Хотя я и имею достаточный опыт BareMetal-разработки, тем не менее, всё это были чужие проекты со своим кодом. А мне хотелось понять, как начать свой проект с чистого листа, когда есть только чистая железка и идея. Толковых статей как подступится к этой задаче достаточно мало, при этом совершенно непонятно, с какого же края к ней подходить.

Здесь я хочу свести основные моменты разработки BIOS в одном месте и разобраться обо всех проблемах, которые я получил во время своих опытах в разработке (первая и вторая части).
Читать дальше →

Современные технологии обхода блокировок: V2Ray, XRay, XTLS, Hysteria, Cloak и все-все-все

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

Три месяца назад здесь на Хабре была опубликована статья “Интернет-цензура и обход блокировок: не время расслабляться”, в которой простыми примерами показывалось, что практически все популярные у нас для обхода блокировок VPN- и прокси-протоколы, такие как Wireguard, L2TP/IPSec, и даже SoftEther VPN, SSTP и туннель-через-SSH, могут быть довольно легко детектированы цензорами и заблокированы при должном желании. На фоне слухов о том, что Роскомнадзор активно обменивается опытом блокировок с коллегами из Китая и блокировках популярных VPN-сервисов, у многих людей стали возникать вопросы, что же делать и какие технологии использовать для получения надежного нефильтрованного доступа в глобальный интернет.

Мировым лидером в области интернет-цензуры является Китай, поэтому имеет смысл обратить на технологии, которые разработали энтузиасты из Китая и других стран для борьбы с GFW (“великим китайским файрволом”). Правда, для неподготовленного пользователя это может оказаться нетривиальной задачей: существует огромное количество программ и протоколов с похожими названиями и с разными не всегда совместимыми между собой версиями, огромное количество опций, плагинов, серверов и клиентов для них, хоть какая-то нормальная документация существует нередко только на китайском языке, на английском - куцая и устаревшая, а на русском ее нет вообще.

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

Читать далее

Пишем свой личный Duolingo на минималках

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

Привет, меня зовут Емельянов Михаил, я Python-программист и я хотел бы показать вам свой небольшой «проект выходного дня» — Flywheel, микро-платформу для изучения иностранных языков — смесь Duolingo и Anki, программу, которая может помочь вам правильно писать на английском. Flywheel доступен в исходниках, лежит на GitHub.



Как вы, возможно, знаете, обобщенное знание иностранного языка можно разложить на четыре относительно независимые составляющие: чтение, письмо, слушание и говорение. К сожалению, тренировка одной из этих способностей не будет напрямую отражаться на остальных компонентах, поэтому, например, развивая навык чтения, мы достаточно опосредованно влияем на навык письма. Flywheel — «точилка» именно для письменного английского.


Если вы когда-нибудь пользовались Duolingo, то имеете представление о формате, в котором будет идти обучение. Последовательность проста: вот тебе фраза, переведи её на другой язык; программа запомнит, когда ты в последний раз переводил ту или иную фразу и насколько успешно у тебя это получилось; в зависимости от правильности ответа будет определено время, когда тебе нужно задать эту же фразу еще раз. В целом, на мой взгляд, как сам Duolingo, так и используемый им подход — просто гениальны. Но… Есть нюансы, которые несколько портят впечатления от процесса учёбы, и именно для их устранения я и задумал Flywheel.

Читать дальше →

Алгоритм «Longest common subsequence» на Go. Как прийти к решению?

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров5.5K

Среди программистов не утихают споры о том, надо ли знать "алгосики" для реальной работы, или же это просто некий странный ритуал для прохождения воронки собеседований в компании а-ля FAANG (MANGA). У нас в Каруне в разных командах есть разные мнения на этот счёт. Я, например, как тимлид Go-команды считаю, что некую элементарную базу знать точно бы не помешало, но всё же главное, чтоб человек был хороший.


Мнения могут различаться, но одно я знаю точно: разгадывать загадки бывает очень интересно. Я как-то из любопытства прорешивал задачки на hackerrank, и, если для решения простых задач тупо достаточно догадаться отсортировать данные или построить map (даже не надо ничего особо знать), то для некоторых придумать решение довольно проблематично.


Одна из таких задач — нахождение самой длинной общей подпоследовательности (longest common subsequence). Подобный алгоритм используется в реальной жизни, в таких программах как diff. Скажу сразу: я не смог решить задачу самостоятельно за разумное время (т.е. пока не надоело решать) и посмотрел алгоритм в Википедии.


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


Disclaimer: я точно не олимпиадник и не гуру алгоритмов, просто любопытствующий.

Читать дальше →

GitFlow в его простоте от dev до prod

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров27K

В какой ветке вести разработку? Из какой ветки деплоить на PROD? В какой ветке чинить багу, выявленную на IFT? Многие команды закрыли для себя этот вопрос, но для многих он остаётся открытым.

Этот пост не будет содержать каких-то особых ноу-хау и киллер-фич. В нём я расскажу наиболее простую и понятную (лично мне) практику релизных циклов на основе git flow. И постараюсь объяснить каждое своё решение и каждый подход.

Читать далее

Мы добавили markdown-режим в новый редактор

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

Вы просили — мы сделали.

Читать далее

Безграничные возможности FFmpeg на примерах

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

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

FFmpeg объединяет более 300 видео/аудио/графических кодеков, декордеров, муксеров, демуксеров и фильтров. Благодаря ему вы можете написать собственный видеоплеер в тысячу строчек кода, не разбираясь с кишочками видеообработки.

Это «движок» почти всех современных инструментов для обработки/сжатия/редактирования видео. Они просто предлагают графический интерфейс с кнопками, а ffmpeg делает реальную работу.
Читать дальше →

Свежий Android на 9 летнем железе: Сможет ли смартфон 2016 года оставаться актуальным в 2023 с кастомной прошивкой?

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров14K
Ребята из Google проделали огромную работу по популяризации Android на массовом рынке поспособствовали и появлении смартфонов в самых разных ценовых сегментах. Ведь разработка своей мобильной ОС — это многомиллионные вложения, плюс серьёзные проблемы совместимости (вспоминаем нулевые и подбор асек и игр под экраны/платформы). Однако годы идут и несмотря на довольно долгую поддержку предыдущих версий Android, со временем даже флагманы умудряются устаревать, чего уж говорить о девайсах среднего сегмента. В качестве подопытного, у нас выступит бюджетный смартфон Samsung Galaxy J5 на Android 6 Marshmallow. Сегодня мы с вами: немного вспомним историю моддинга девайсов, накатим кастом без сервисов Google и узнаем, способен ли смартфон с железом 9 летней давности стать устройством на каждый день. Интересно? Тогда добро пожаловать под кат!

image
Читать дальше →

Telegram безлимитен, но старые сообщения пропадают. Почему?

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

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

Обо всем этом и не только мы написали в нашей первой статье.

Читать далее

Кто круче rsync? Интересные алгоритмы для синхронизации данных

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

Тридж, автор rsync

Что может быть приятнее, чем минимизировать объём бэкапа или апдейта? Это не просто экономия ресурсов, а чистая победа интеллекта над энтропией Вселенной. Исключительно силой разума мы уменьшаем размер файла, сохраняя прежний объём информации в нём, тем самым уменьшая поток фотонов в оптоволокне и снижая температуру CPU. Реальное изменение физического мира силой мысли.

Если без шуток, то все знают rsync — инструмент для быстрой синхронизации файлов и каталогов с минимальным трафиком, который пришёл на замену rcp и scp. В нём используется алгоритм со скользящим хешем, разработанный австралийским учёным, программистом и хакером Эндрю Триджеллом по кличке Тридж (на фото).

Алгоритм эффективный, но не оптимальный.
Читать дальше →

ETL процесс для миграции процедур с mssql на postgreSQL. Часть 1. Введение

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров5.8K

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

Вкратце есть база на mssql сервере есть хранимые процедуры. Есть база на postgres. Есть ETL процесс на Apache Air Flow. Запускаем процесс, по окончании в базе postgres появляются процедуры и данные.

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

Читать далее

Информация

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

Специализация

Фулстек разработчик, DevOps-инженер
Средний
C#
.NET
ASP.NET
Git
SQL
Linux
Docker
Python
Базы данных
Bash