Pull to refresh
77
0
Артем @janatem

Пользователь

Send message

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

Reading time5 min
Views54K


Когда мы познакомились с будущей женой, у неё были очень странные подруги. Одна подрабатывала на одной интересной «работе», другая разводила щенков на продажу. А ещё одна, выпускница милицейской академии, меняла парней как перчатки. Но однажды привела не актёра или музыканта, как обычно, а весёлого мужичка лет на пятнадцать старше нас. Наверное, у девочки проснулся комплекс, связанный с отсутствием отца, такое иногда бывает.

Мужичок представился Денисом. Оказалось, он работает сисадмином в школе и лютый фанат убунты. Но только дома. Потому что в школе вынужден ставить детям «поганую винду», от чего его сильно мучает совесть.

На этом месте стало интересно…
Читать дальше →
Total votes 58: ↑56 and ↓2+77
Comments159

Манифест В++, социальные сети + Википедия + каталог всего на одном движке

Reading time21 min
Views4.9K

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

 Соцсеть, и не только соцсеть является сочетанием нескольких разных объектов.

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments56

Децентрализованная социальная сеть для себя и друзей. На своём хостинге — без интернета

Reading time7 min
Views22K


Большинство социальных сетей ориентированы на интернет. Если нет онлайна, то нет и доступа к социальной сети, и даже собственные сообщения недоступны.

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

Совершенно противоположный подход — собственный офлайновый хостинг для децентрализованного приложения. В таком варианте узел живёт на вашем телефоне — и синхронизируется с другими по мере необходимости, в том числе по Bluetooth и Wi-Fi Direct. Никаких лишних людей, полная безопасность и отличная страховка на случай полного шатдауна.
Читать дальше →
Total votes 24: ↑23 and ↓1+29
Comments27

Как я пишу на LaTeX в Emacs быстрее, чем от руки

Reading time17 min
Views24K


Когда Жиль Кастель задокументировал метод ведения математических записей в Vim в реальном времени, многие захотели добиться тех же скорости и удобства ввода LATEX в Emacs1.

Я работаю на LaTeX весь день: уравнения пишу так же быстро, как на бумаге. И даже быстрее. Почему? За размышлением всегда следует работа пальцев. И это — та ситуация, когда количество переходит в качество. Хотя мои рекомендации — лишь 90 % решения.
Читать дальше →
Total votes 42: ↑40 and ↓2+49
Comments9

Карма, основанная на кластерах

Reading time4 min
Views2.1K

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

Читать далее
Total votes 14: ↑10 and ↓4+9
Comments41

CRDT: Conflict-free Replicated Data Types

Reading time10 min
Views45K

Как считать хиты страницы google.com? А как хранить счётчик лайков очень популярных пользователей? В этой статье предлагается рассмотреть решение этих задач с помощью CRDT (Conflict-free Replicated Data Types, что по-русски переводится примерно как Бесконфликтные реплицированные типы данных), а в более общем случае — задачи синхронизации реплик в распределённой системе с несколькими ведущими узлами.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments14

Шарим (в) консоль

Reading time5 min
Views19K
Мы уже все привыкли, что конференции проводятся виртуально. Мы все работаем через зумы, скайпы, миты и тимзы. Удобно, конечно, но у нас есть одна занудная проблема. Когда нам, программистам надо расшарить экран, мы тяжело вздыхаем и нажимаем кнопку Share Screen. Всё это не без проблем.


Как показать детям те прелести, которые происходят в консоли?

Самое неприятное — это когда возникает необходимость показать какую-то ссылку на экране. После завершения операции в консоли отобразилась ссылка, или ключ, который надо расшарить с командой. Естественно, приходится выделять, копировать и «дублировать в чатик». Особенно это неудобно, когда в чатик надо продублировать то, что выплюнула тебе какая-нибудь команда терминала. Строки, конечно же, заботливо съедут, форматирование потеряется, а цвета поблёкнут.
Читать дальше →
Total votes 56: ↑52 and ↓4+75
Comments27

Лайфхаки от Boomburum-а

Reading time13 min
Views49K

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

Читать далее
Total votes 85: ↑75 and ↓10+121
Comments98

Знакомьтесь, pass

Reading time7 min
Views32K


Я много лет искал подходящую мне хранилку паролей и недавно наткнулся на Pass на HackerNews. Идея хранить пароли в git-репозитории может выглядеть странно, но в целом это неплохая идея, потому что:

  • Я держу гит-репозиторий локально у себя на компе
  • Все пароли защищены GPG шифрованием, поэтому даже при получении SSH-доступа к моему компьютеру утечка не повлияет на безопасность

Я использую -c чтобы копировать/вставлять пароли. Есть расширение для браузера, но копипейст лично мне удобнее. Проблемы синхронизации с телефоном и всеми linux-дейвайсами тоже не стоит (потому что это всего лишь git).

Делюсь с вами переводом приветственной странички Pass.



Управление паролями должно быть простым и следовать философии Unix. Используя pass, каждый Ваш пароль находится внутри зашифрованного файла gpg, имя которого совпадает с именем ресурса или веб сайта к которому данный пароль привязан. Эти зашифрованные файлы могут быть организованы в удобные иерархии папок, скопированы с носителя на носитель и, в общем, обработаны с помощью любых утилит управления файлами командной строки.

С pass управлять отдельными файлами паролей становится крайне просто. Все пароли хранятся в ~ / .password-store, а pass предоставляет несколько удобных команд для добавления, редактирования, генерации и получения паролей. Это очень короткий и простой Shell скрипт. Он способен временно помещать пароли в буфер обмена и отслеживать изменения паролей с помощью git.
Читать дальше →
Total votes 30: ↑29 and ↓1+40
Comments54

Как мой простой проект в Github стал вирусным

Reading time4 min
Views20K


В прошлом месяце я создал простой проект, разошедшийся по различным техническим сообществам и социальным сетям. В Github он за 7 дней получил с 0 до 4 тысяч звёзд и более 200 форков. Github примерно в течение пяти дней рекламировал его в разделе Trending repositories of day.

Clone Wars

70 с лишним open-source-клонов или альтернатив популярных сайтов наподобие Airbnb, Amazon, Instagram, Netflix, Tiktok и т.д. В списке содержится исходный код, ссылки на демо, технологический стек и количество звёзд в GitHub.

Ссылка на проект

Ссылка на Github
Total votes 31: ↑29 and ↓2+38
Comments24

Создаем веб-приложение на Haskell с использованием Reflex. Часть 2

Reading time9 min
Views2.6K

Часть 1.


Часть 3.


Всем привет! Продолжаем серию туториалов по разработке веб-приложения на Reflex.
В этой части мы добавим возможность выполнять различные манипуляции со списком задач.


intro

Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments2

Настраиваем домашний почтовый сервер и уходим с «бесплатной» почты

Reading time15 min
Views318K

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

Читать далее
Total votes 87: ↑79 and ↓8+92
Comments338

BPF для самых маленьких, часть вторая: разнообразие типов программ BPF

Reading time26 min
Views13K

Продолжаем серию статей про BPF — универсальную виртуальную машину ядра Linux — и в этом выпуске расскажем о том, какие типы программ BPF существуют, и как они используются в реальном мире капиталистического чистогана. Кроме этого, в конце статьи приведено некоторое количество ссылок, в частности, на две с половиной существующие книжки про BPF.


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


Если вы хотите узнать, как именно BPF помогает эффективно решать задачи защиты от DDoS атак, распределения нагрузки на серверы, реализации сетевого стека kubernetes, защиты систем от нападения, эффективной трассировки систем 24x7 прямо в проде и многие другие, то добро пожаловать под кат.


image

Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments8

Почти unGoogled Android

Reading time12 min
Views21K

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

Читать далее
Total votes 21: ↑21 and ↓0+21
Comments28

Быстрое умножение многочленов при помощи преобразования Фурье — это просто

Reading time9 min
Views79K
Добрый вечер.
Этот пост посвящён быстрому преобразованию Фурье. Будут рассмотрены прямое и обратное преобразования (в комплексных числах). В следующей части я планирую рассмотреть их применения в некоторых задачах олимпиадного программирования (в частности, одна задача про «похожесть» строк), а также рассказать про реализацию преобразования в целых числах.
БПФ — это алгоритм, вычисляющий значения многочлена степени n=2k в некоторых n точках за время O(n⋅logn) («наивный» метод выполняет ту же задачу за время O(n2)). За то же время можно выполнить и обратное преобразование. Так как складывать, вычитать и умножать массивы чисел гораздо легче, чем многочлены (особенно умножать), БПФ часто применяется для ускорения вычислений с многочленами и длинными числами.
Читать дальше →
Total votes 112: ↑105 and ↓7+98
Comments38

Коты в коробочках, или Компактные структуры данных

Reading time12 min
Views28K

image


Как быть, если дерево поиска разрослось на всю оперативку и вот-вот подопрет корнями соседние стойки в серверной? Что делать с инвертированным индексом, жадным до ресурсов? Завязывать ли с разработкой под Android, если пользователю прилетает «Память телефона заполнена», а приложение едва на половине загрузки важного контейнера?


В целом, можно ли сжать структуру данных, чтобы она занимала заметно меньше места, но не теряла присущих ей достоинств? Чтобы доступ к хэш-таблице оставался быстрым, а сбалансированное дерево сохраняло свои свойства. Да, можно! Для этого и появилось направление информатики «Succinct data structures», исследующее компактное представление структур данных. Оно развивается с конца 80-х годов и прямо сейчас переживает расцвет в лучах славы big data и highload.


А тем временем на Хабре найдется ли герой, способный пересковоговорить три раза подряд
[səkˈsɪŋkt]?

Читать дальше →
Total votes 127: ↑127 and ↓0+127
Comments43

Освободи свой Android

Reading time12 min
Views148K


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

В момент выхода этой статьи я как-то не обратил на неё внимания — тема смартфонов и Андроида мне вообще не очень интересна. Потом, уже через несколько месяцев, я вновь случайно наткнулся на эту статью, вчитался, и проникся идеями, содержащимися в ней. Действительно, почему бы не стать хозяином своему собственному смартфону?

Вашему вниманию предлагается отчёт об эксперименте, проведённым мной по мотивам инструкций из вышеозначенной статьи и о том, что из всего этого может получиться.
Читать дальше →
Total votes 93: ↑85 and ↓8+107
Comments192

Приготовься к введению в России социального рейтинга

Reading time9 min
Views90K
image

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

Вам может показаться, что получение низкой ставки по кредиту за социально полезные действия- перспектива далекого будущего. Но уже сегодня ставка ипотеки для молодой семьи находится в районе 10%, тогда как остальные предложения близки к 20%. Т.е. это уже давно реальность, просто вы не придавали этому значения.

Я считаю, что ряд непопулярных решений будет принят в течении последнего президентского срока Владимира Путина: этому человеку больше не надо «сохранять лицо». Поэтому до 2024 года мы увидим новый виток «закручивания гаек», в том числе введение социального рейтинга в России.
Читать дальше →
Total votes 138: ↑97 and ↓41+83
Comments687

Прямой VPN-туннель между двумя компьютерами находящимися за NAT провайдеров с использованием UDP hole punching

Reading time11 min
Views61K
Статья о том, как мне удалось организовать прямой (точка-точка) VPN-туннель между двумя компьютерами, каждый из которых находился за NAT'ом провайдеров, при помощи VPS и простых скриптов, используя стандартные утилиты Linux, без каких-либо настроек сетевого оборудования.
Читать дальше →
Total votes 23: ↑18 and ↓5+20
Comments39

Про установку и использование LineageOS 16, F-Droid

Reading time127 min
Views314K
Предлагаю вашему вниманию инструкцию как оптимально (по моему мнению) перейти на свободное программное обеспечение при использовании смартфона на примере операционной системы LineageOS (далее сокращённо LOS) и приложений из F-Droid.

Я думаю, что это статья будет вам интересна, даже если вы не можете установить себе LOS, так как в данной статье также рассмотрены стандартные настройки Android, настройки и методика использования полезных приложений, магазин приложений F-Droid, разрешения Android, которые нельзя ограничить и другие, возможно полезные для вас нюансы.
Читать дальше →
Total votes 74: ↑72 and ↓2+70
Comments192

Information

Rating
Does not participate
Location
Россия
Registered
Activity