Как стать автором
Обновить
17
0.6
Артём Мельников @APXEOLOG

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

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

Как мы создавали AmneziaFree, и боролись с интернет-цензурой в разных странах

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

Всем привет! На связи команда Amnezia. И если вы давно за нами следите, вы помните как мы были очень маленьким стартапом, который делал первые шаги по созданию более менее современного приложения с open source кодом, чтобы создавать VPN на собственном сервере. Мы понимали что подобное решение нужно, но еще не понимали на сколько нужно и что именно мы будем делать дальше.

AmneziaFree.  Начало

Наверное, мы бы и дальше  оставались просто разработчиками self-hosted клиента, если бы не массовая блокировка общественно значимых сайтов весной 2022 в России. Особенно болезненно ощущалась блокировка невероятно популярного Instagram* 

Тогда при поддержке активистов и различных медиа мы взяли самые очевидные инструменты - арендовали у партнеров серверные мощности, взяли за основу open source приложение WireGuard и создали телеграм-бота раздающего конфигурации для каждого пользователя - и уже буквально через месяц, у нас был готов бесплатный сервис для доступа к заблокированным сайтам AmneziaFree. Он стал неожиданно популярным,  практически 250 000 пользователей за короткий промежуток времени получили конфиги с помощью этого бота.  

Читать далее
Всего голосов 81: ↑79 и ↓2+98
Комментарии36

Нетворкинг: Как знакомиться с людьми в LinkedIn и не чувствовать себя навязчивым?

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

Умение заводить нужные знакомства и выстраивать отношения – ключевой навык для успеха в бизнесе и карьере. Но для многих людей, особенно интровертов, нетворкинг доставляет неловкость и дискомфорт. Как начать общаться с незнакомыми людьми, чтобы расширить сеть контактов? С этими вопросами я обратилась к Вере Масловой, основателю просветительского проекта ScienceMe. Вера занимается партнерскими отношениями для компании в сфере электроэнергии L Charge и консультирует людей из бизнеса, науки и искусства по стратегическому нетворку.

Я подготовила для вас статью с ключевыми инсайтами из нашего разговора. Полное видео-интервью вы можете посмотреть по этой ссылке.

Читать далее
Всего голосов 13: ↑4 и ↓9+1
Комментарии12

Цифровая антиутопия: Темное будущее развлекательной индустрии

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

Президент (дедушка Байден) каждый год выступает с речью "О положении дел в стране", но это просто дремота. Просто посмотрите на своих достойных представителей, которые с трудом держат глаза открытыми. Это потому, что они уже слышали все это раньше. Мы тоже слышали. В политике мало что меняется. И уж точно не кандидаты.

Больше разнообразия на моей местной заправке, где, по крайней мере, я могу выбирать из трех видов топлива и пяти вкусов Big Gulp.

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

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

На самом деле, 2024 год может стать самым стремительным и опасным временем для креативной экономики. И это будет так, независимо от того, что произойдет в ноябре. Так что давайте окунемся внутрь.

Я хочу рассказать вам, почему развлечения мертвы. И что придет им на смену.

Читать далее
Всего голосов 45: ↑42 и ↓3+53
Комментарии44

Бэкдор в основной версии xz/liblzma, ведущий к компрометации SSH-сервера

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

В последние недели я, работая в системах с установленным дистрибутивом Debian Sid, столкнулся с несколькими странностями, связанными с liblzma (это — часть пакета xz). При входе в систему с использованием SSH очень сильно нагружался процессор, Valgrind выдавал ошибки. И вот я, наконец, нашёл причину всего этого: в основной репозиторий xz и в tar‑архивы xz был встроен бэкдор.

Сначала я подумал, что это — взлом Debian‑пакета, но оказалось, что речь идёт именно о библиотеке.

Читать далее
Всего голосов 13: ↑12 и ↓1+19
Комментарии5

Недельный геймдев: #168 — 7 апреля, 2024

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

Из новостей: «Смута» — это только начало, Flax Engine 1.8, BabylonJS 7, Apple разрешила эмуляторы ретро-игр в App Store, Unity прекратила поддержку инструментов Ziva Dynamics.

Из интересностей: как Balatro продал 1 миллион копий, почему в Grand Theft Auto: San Andreas самолёты падают с неба, про Parallax2D в Godot, 32 аниматора показали совместную анимацию по Sousou no Frieren.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии4

Гайд по публичным выступлениям для программистов

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

«У вас отличные технические скиллы, но вам нужно улучшить навыки общения». — Ваш менеджер.

По мнению разработчика ПО Джордана Катлера*, такая обратная связь может фрустрировать программиста. Почему? Вероятно потому, что тот всегда был уверен: в своей должности ему достаточно «общаться» с помощью кода. Но нет. Зачастую концентрация только на коде ограничивает потенциал развития и продвижения по службе.

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

— Наиболее важные нюансы языка тела, формулировок и тональности;

— Создание структуры презентации, которая заставит людей вас слушать.

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

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее
Всего голосов 21: ↑19 и ↓2+21
Комментарии5

Вороной, Манхэттен, рандом

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

Это история про то, как не довести дело до конца, но получить уйму опыта, и вообще ни разу не обломаться.

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

Осторожно, очень много картинок!

Читать далее
Всего голосов 160: ↑160 и ↓0+160
Комментарии53

Как оформлять текст в игровых интерфейсах

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

Статья про приёмы, упрощающее восприятие текста игроками и про особенности работы с текстом на игровых проектах.

Читать далее
Всего голосов 19: ↑18 и ↓1+19
Комментарии6

Stable Diffusion. Курс молодого бойца

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

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

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

Так же в конце будет изложен mindset, который необходимо иметь чтобы научиться пользоваться SD. Я буквально попытаюсь научить вас думать как AI художник.

Поэтому без лишних слов, начинаем.

Поехали!
Всего голосов 60: ↑58 и ↓2+70
Комментарии23

Полный релиз бесплатного интерактивного 700-страничного учебника по тестированию

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

Гуд ньюз эвриван! Спустя полтора года работы восьми айтишников с суммарным опытом в IT 130 лет достигнут результат в виде учебника по тестированию, которого еще никто и никогда не делал.

Читать далее
Всего голосов 131: ↑130 и ↓1+158
Комментарии162

Шпаргалка по SQL (postgres), которая выручает меня на собесах

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

Привет, Хабр!

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

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

Читать далее
Всего голосов 156: ↑149 и ↓7+177
Комментарии177

Архитектура кеша DragonflyDB

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

DragonflyDB - молодая in-memory база данных, написанная на C++ и совместимая с Redis (не форк). Под капотом используется многопоточная архитектура (в отличии от однопоточного Redis) для лучшей утилизации современных процессоров и более простого вертикального масштабирования.

Особое внимание в DragonflyDB привлекает устройство кеша и его очистки, которая должна превосходить известные LRU и LFU политики.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии17

Собственный VPN с управлением через браузер на базе WireGuard

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

Задача организовать VPN в Москве или Спб для работы с сервисами не доступными с зарубежных IP и шифрования трафика для доступа к ресурсам компании при использовании публичного WiFi заграницей.

Остро потребность в VPN в России возникла после вынужденного отъезда части сотрудников зарубеж. Необходима возможность управлять пользователями, чтобы легко выдавать доступ сотрудникам.

Читать далее
Всего голосов 13: ↑12 и ↓1+11
Комментарии22

10 задач с JavaScript Promise для подготовки к собеседованиям

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

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

Читать далее
Всего голосов 53: ↑53 и ↓0+53
Комментарии25

Штраф в 150% от стоимости проданной квартиры: ужасы валютных нарушений, и как их избежать

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

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

Читать далее
Всего голосов 155: ↑148 и ↓7+185
Комментарии173

17 убойных репозиториев GitHub, которые нужно сохранить

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

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

Читать далее
Всего голосов 153: ↑123 и ↓30+114
Комментарии44

Как подмочить себе репутацию на фрилансе

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

Это глава из «Книги нормального фрилансера», в которой я делюсь накопившимся опытом проектировщика интерфейсов, работающего на себя.

Разговор ведя с клиентом, стань ему ближайшим другом,
Поделись чужим секретом, обсуди своих коллег.
Объясни, что срочно надо, чтоб проект пошёл в работу,
Скоро взнос за ипотеку и голодный дома кот.

Мы уже почти добрались до того этапа, когда нужно будет впервые пообщаться с потенциальным клиентом голосом. И я бы хотел заранее уберечь читателя от ряда ошибок. Многие из начинающих фрилансеров будут, сами того не понимая, вести себя определённым образом, с первых же слов теряя репутационные очки и серьёзность отношения к себе.

«У меня тяжёлая жизненная ситуация»

Не стоит рассказывать будущим клиентам о том, как всё плохо, и как фрилансеру нужна работа. Какими бы ни были финансовые обстоятельства и как бы на самом деле ни хотелось заполучить заказ, клиент этого не должен узнать.

Читать далее
Всего голосов 37: ↑34 и ↓3+42
Комментарии11

YouTube Vanced больше нет. Но есть ReVanced

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


Статья навеяна этой новостью на Хабре


Печальные новости о проекте YouTube Vanced. Гугл потребовал закрытия проекта и удаления готовых дистрибутивов. Разработчики подчинились. Поэтому больше YouTube Vanced с официального сайта не скачать. Возможно есть где-нибудь на зеркалах, но надо быть осторожным. В дистрибутиве могут быть вредные присадки.

Читать дальше →
Всего голосов 41: ↑41 и ↓0+41
Комментарии97

Случайные лабиринты и сапёр от третьего лица, инопланетные жуки и алгоритм Брезенхема

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

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

Исследуя большое пространство, нужно собирать сокровища, разбираться с обитателями и охранной системой. При этом важно избегать ловушек, которые можно вычислить по цифрам. Как в игре «Сапёр».

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

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

Читать далее
Всего голосов 50: ↑49 и ↓1+59
Комментарии17

Как мы отказались от JPEG, JSON, TCP и ускорили ВКонтакте в два раза

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

На протяжении всей жизни мне приходится экономить вычислительные и сетевые ресурсы: сначала были компьютеры с 300 кГц (кило — не гига!) и 32 Кбайт RAM, интернет по dial-up. Потом я решал олимпиадные задачки. Теперь имею дело с терабайтами трафика и 50 млрд событий в сутки. И хотя современные телефоны в 1 000 раз мощнее любого оборудования двадцатилетней давности, я до сих пор оптимизирую. Думал даже, что это со мной что-то не так. Но потом понял, что все постоянно что-нибудь оптимизируют. 

Эта статья в меньшей степени о том, почему нужно бороться за производительность, и в большей о том, на что сейчас стоит заменить устаревший стек из JPEG, JSON, gzip и TCP — и как это сделать. 

Спойлер: у нас есть решение и мы его не только показываем — ссылки на open source в конце статьи.

Читать далее
Всего голосов 336: ↑324 и ↓12+411
Комментарии300

Информация

В рейтинге
1 680-й
Откуда
Россия
Дата рождения
Зарегистрирован
Активность