Search
Write a publication
Pull to refresh
0
0.1
Евгений @pewpew

Бэкенд разработчик

Send message

Собираем квантовый генератор случайных чисел

Reading time4 min
Views24K

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

Бесплатный персональный OpenVPN-сервер на базе Oracle Cloud

Reading time6 min
Views103K

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

Oracle, придя на рынок облачных сервисов, активно привлекает новых клиентов. И одним из инструментов такого привлечения являются Always Free сервисы - зарегистрировавшийся клиент может пользоваться каким-то достаточно ограниченным набором ресурсов, как это следует из названия, бесплатно и неограниченно во времени. В список этих ресурсов входит два compute инстанса (каждый 2 ядра, 1GB RAM, 45GB HDD), которые можно использовать подо что угодно, но в нашем случае мы можем построить на них полностью бесплатный OpenVPN-сервер, буквально не умея практически ничего, кроме тыкания в кнопку Next. Чем мы и займемся.

Читать далее

Клонируем GPT-диск с 512B-сектором на диск с 4K-сектором в Linux. Подводные камни с EFI, NTFS и LVM

Reading time9 min
Views14K

Для современного компьютера диск с 4К сектором выглядит предпочтительнее, чем с олдскульным 512B. Так как почти все современные ФС имеют размер кластера по-умолчанию 4KiB или больше. Поэтому использование 512B сектора несколько снижает производительность, а также увеличивает коэффициент умножения записи (Write Amplication) у SSD, что уменьшает ресурс.

Более того, сложно найти современные диски более 4ТБ с сектором 512N. Если диск и рапортует сектор в 512 байт, то, как правило, это 512E — эмулируемый, который используется в основном для совместимости со старыми контроллерами. А в реальности на физическом уровне используется 4К или даже больше (больше в основном у SSD).

Поэтому при покупке нового диска я выбрал диск с сектором 4КiB. И передо мной встала задача клонирования старого диска с 512B сектором (GPT) на новый c сектором 4KiB. Я хотел сохранить установленные Linux, Windows 10, Windows 7 и тома LVM, чтобы не заниматься переустановками ОС. В процессе чего всплыло несколько подводных камней.
Поехали!

Загадка шифра скульптуры Криптос

Reading time15 min
Views13K

3 ноября 1990 года была открыта скульптура Криптос перед центральным офисом ЦРУ в Лэнгли. Джеймс Санборн, автор, поместил на свой арт-объект шифр, полностью раскодировать который пока не удалось.

Для тех, кому лень читать статью полностью, вот краткая выжимка:

Шифр разделили на 4 части. Первые две части зашифрованы шифром Виженера, третья - методом перестановки, а последнюю до сих пор не удалось разгадать.

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

Читать далее

[Личный опыт] Как переехать в Канаду и бесплатно получить там профессию в IT

Reading time7 min
Views43K

Канада — страна иммигрантов. Про жизнь и переезд IT-специалиста там мы уже рассказывали. А теперь поговорим с Сергеем, который переехал вместе с женой и двумя детьми (третий уже родился тут, и даже с тремя детьми пойти учиться не поздно!). Он работал в ивент-индустрии, а в пандемию решил подстраховаться и бесплатно поступил в местный колледж на IT-специальность. Сергей расскажет, как в Канаде устроено обучение, кто за него платит и почему он мечтает работать IT-инженером именно на государство.




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

Lingtrain Aligner. Написал приложение для создания параллельных книг, которое вас удивит

Reading time6 min
Views24K

title


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


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


Установка


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


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


docker pull lingtrain/aligner:v4
docker run -v C:\app\data:/app/data -v C:\app\img:/app/static/img -p 80:80 lingtrain/aligner:v4

C:\app\data и C:\app\img — это папки на вашем компьютере.


Контейнер скачается с репозитория Docker Hub и запустится на 80-м порту. Откроем приложение в вашем любимом браузере по адресу localhost.


Lingtrain app 1


Сделаем три шага: загрузка, выравнивание, генерация.

Смотреть демо

Дизайнерский Multiselect на протеинах

Reading time7 min
Views29K

Те из верстальщиков кто часто клепает формы регистрации или обратной связи обязательно столкнутся с задачей по выводу множественного выбора результатов - multiselect. К сожалению, не все элементы тега <select> все ещё можно из коробки стилизовать по желанию дизайнера. В этом маленьком уроке я хотел бы поделиться своим опытом решения данной проблемы на базе знания CSS и немного ванильного JS.

Про дизайнерский select

Декодирование сигнала с видеофона 1988 года выпуска

Reading time4 min
Views5.1K

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

Однажды я увидел на YouTube обзор Sony PCT-15 — это устройство, сделанное в Японии, подключалось к обычной телефонной линии и позволяло не только разговаривать с собеседником, но также отправлять и получать изображения во время разговора. В то время высокоскоростная связь была доступна только для учреждений, военных и правительства, поэтому телефонная линия была единственным возможным способом связи с миром.

Читать далее

Частично рассекречено методическое пособие АНБ по взлому неизвестных шифров

Reading time7 min
Views23K

Скульптура Kryptos у штаб-квартиры ЦРУ

Агентство национальной безопасности США наконец-то рассекретило третью часть известного учебника «Военная криптоаналитика» (MILCRYP), написанного для обучения специалистов АНБ и военных криптоаналитиков во время Холодной войны. Последняя часть трёхтомника опубликована с некоторыми купюрами, но всё равно представляет огромную ценность, ведь у нас не так много практических пособий по взлому шифров. Речь идёт о неизвестных, сложных кодах, которые составлены по непонятным правилам. Как к ним подступиться? Как найти зацепки? Книга отвечает на эти вопросы.

Возможно, учебник АНБ поможет расшифровать тексты, которые в течение многих десятилетий и столетий не поддаются криптоанализу. И даже тысячелетий, как в случае с критской письменностью из III тысячелетия до нашей эры (минойская цивилизация).

Как я пытался придумать новый подход к изучению алгоритмов через интерактивные визуализации

Reading time4 min
Views28K

Представьте человека, который изучает алгоритмы. Чтобы понять как они работают, приходится разбираться в их коде и представлять, как компьютер будет его выполнять. Это странно — почему мы должны учиться думать как компьютер, вместо того, чтобы заставить его помогать нам? Какая-то сильная технозависимость.

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

Читать далее

Опыт хранения IP-адресов в PostgreSQL

Reading time4 min
Views15K

Не раз наша команда сталкивались с задачей, связанной с хранением и использованием IP-адресов в базе данных. Предположим, что есть типичная задача: необходимо парсить огромное количество диапазонов адресов (~300k) с известного ресурса, а далее определять страну по IP-адресу клиента. Кажется, ничего особенного. Это довольно просто решается любым ниже описанным способом при малых нагрузках. Но если у нас тысячи пользователей или наш сервис является прокси перед всеми остальными? В этом случае не хочется быть бутылочным горлышком и приходится бороться за каждую долю секунды.

Читать далее

Выкладка нетрадиционной ориентации

Reading time4 min
Views10K


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

Создание часов из обычных микросхем на макетной плате

Reading time4 min
Views19K
В этом материале речь пойдёт о том, как собрать часы из обычных микросхем.

Схема часов (оригинал)
Как собрать часы?

Протекающие абстракции и код, оставшийся со времён Windows 98

Reading time6 min
Views31K

В конце 1990-х команды разработчиков Windows Shell и Internet Explorer внедрили множество потрясающих и сложных структур, позволяющих использовать расширение оболочки и браузера для обработки сценариев, создаваемых третьими сторонами. Например, Internet Explorer поддерживал концепцию подключаемых протоколов ("Что если какой-то протокол, допустим, FTPS станет таким же важным, как и HTTP?"), а Windows Shell обеспечивала чрезвычайно гибкое множество абстрактного использования пространств имён, что позволяло третьим сторонам создавать просматриваемые «папки», в основе которых не лежит файловая система — от WebDAV ("ваш HTTP-сервер — это папка") до папок CAB ("ваш архив CAB — это папка"). Работая в 2004 году проект-менеджером в команде по созданию клипарта, я создал приложение .NET для просмотра клипарта прямо из веб-сервисов Office, и набросал черновик расширения Windows Shell, благодаря которому бы казалось, что огромный веб-архив клипарта Microsoft был установлен в локальной папке системы пользователя.

Вероятно, самым популярным (или печально известным) примером расширения пространства имён оболочки является расширение Compressed Folders, обрабатывающее просмотр файлов ZIP. Compressed Folders, впервые появившиеся в составе Windows 98 Plus Pack, а позже и в Windows Me+, позволяли миллиардам пользователей Windows взаимодействовать с файлами ZIP без скачивания стороннего ПО. Вероятно, это может вас удивить, но эта функция была куплена у третьих лиц — Microsoft приобрела интеграцию для Explorer, представлявшую собой побочный проект Дэйва Пламмера, а лежащий в её основе движок DynaZIP разработала компания InnerMedia.

К сожалению, этот код уже давно не обновляли. Очень давно.
Читать дальше →

Создание нейронной сети Хопфилда на JavaScript

Reading time8 min
Views16K

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

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

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

Читать много кода

Наблюдения за переключениями между сотовыми вышками

Reading time4 min
Views25K
Одна из моих любимых книг — High Performance Browser Networking Ильи Григорика от 2013 года. В ней можно найти не только разумные советы, но и потрясающие истории из жизни.

46% заряда аккумулятора тратится на передачу 0,2% байтов


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

Однако после этой передачи приложение каждую минуту отсылает пинги для периодического анализа аудитории. И что в итоге? Эти пинги занимают 0,2% от общих переданных данных, потребляя при этом 46% всей энергии, использованной приложением!

Илья Григорик, High Performance Browser Networking

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

«А его лечим через *опу»: возможно, скоро мы будем этому рады

Reading time3 min
Views13K

В Med опубликовали новое исследование, результаты которого в итоге могут спасти жизни (и при коронавирусе тоже). Насыщать организм кислородом предлагают через задний проход. 

Читать далее

Ретроконсоль своими руками Часть 1. Выбираем «железо»

Reading time9 min
Views17K

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

Впрочем, благодаря эмуляторам классических игровых систем, сегодня практически каждый может прикоснуться к удивительному миру ретроигр, создатели которых ставили во главу угла именно геймплей. Ну а самый «идеологически верный» способ это сделать — собрать миниатюрную консоль на базе одноплатного компьютера. Справиться с подобной задачей сможет даже человек, далекий от мира DIY, благо все необходимое можно приобрести на AliExpress, а сам процесс сборки подобного девайса оказывается не намного сложнее сборки конструктора «Лего» и доступен даже тем, кто никогда не увлекался DIY.

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

Читать далее

История европейских автосцепок схемы «Виллисон — СА-3»

Reading time8 min
Views19K

Автор: Даниил Кононенко

Европейцы - они, как известно, не дураки, а немцы — тем более не дураки. Причём в технике они особенно хороши. Железная дорога —не исключение.

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

Поехали!

Читать далее

Information

Rating
4,050-th
Location
Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Game Developer
Senior
PHP
Git
SQL
REST
Godot Engine
GDScript
Lua
Redis
Yii framework