Как стать автором
Обновить
-11
0

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

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

Что почитать и посмотреть из свежей фантастики: Марс, киборги и восставший AI

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


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

Псто добра

Время на прочтение3 мин
Количество просмотров5.9K
Дисклеймер
Я осознаю, что этот пост можно расценивать как флуд, и приношу свои извинения тем, кому он испортил аппетит. Однако прошу понять, что это нежелательный побочный эффект. Цель поста — социальный эксперимент и, возможно, восстановление справедливости.

Введение


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

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

Пишем операционную систему на Rust. Страничная организация памяти

Время на прочтение17 мин
Количество просмотров31K
В этой статье представляем страницы, очень распространённую схему управления памятью, которую мы тоже применим в нашей ОС. Статья объясняет, почему необходима изоляция памяти, как работает сегментация, что такое виртуальная память и как страницы решают проблему фрагментации. Также исследуем схему многоуровневых таблиц страниц в архитектуре x86_64.

Этот блог выложен на GitHub. Если у вас какие-то вопросы или проблемы, открывайте там соответствующий запрос.
Читать дальше →

Как «пробить» человека в Интернет: используем операторы Google и логику

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

В очередной статье нашего цикла публикаций, посвященного интернет-разведке, рассмотрим, как операторы продвинутого поиска Google (advanced search operators) позволяют быстро находить необходимую информацию о конкретном человеке.


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


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

Когда docker-compose не хватает

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

О чем пойдет речь


Здесь периодически появляются посты, в которых авторы делятся своими подходами по использованию docker. Ну что же, вот вам еще один. Ниже я расскажу о нашем опыте использования docker-окружения, о неудобствах, с которыми мы столкнулись, как мы с ними боролись, и во что это вылилось. А также поделюсь небольшим, но столь полезным для нас, инструментом.


image

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

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

Время на прочтение23 мин
Количество просмотров7.1K
Если ваша работа не связана с компьютерными технологиями, вы, вероятно, не думали долго о том, как хранятся данные на компьютерах или в облаке. Я говорю не о физических механизмах работы жёстких дисков или чипов памяти, а о чём-то одновременно более сложном и более понятном, чем вы думаете.

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



«Каких ещё островах?», — спросите вы?
Читать дальше →

Максимально вырожденная игра на общение

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


Сразу скажу, эта штука просто офигенна для небольшой вечеринки, и сделать её можно прямо прочитав пост. Я крайне удивлён, что такая штука до сих пор не продавалась в России. И, кажется, знаю, почему.

Потому что она настолько тривиальна, что это сложно представить.

Но давайте начнём с начала. Итак, настольные игры нужны для общения. Как повод встретиться с друзьями (а для этого многим реально нужен повод — ведь соцсети уверенно разделяют людей). Люди обмениваются тёплыми словами, — ну, стоит, в общем, положительный транзакционный обмен с нулевой суммой.

Задача — найти максимально вырожденную игру, которая работает только на общение. Сначала я думал, что встретил её в Южной Африке на обучении — мы играли в классическую «две правды и ложь».

Но, оказывается, можно ещё проще. И с совершенно убойным результатом.
Читать дальше →

Миграция данных в кровавом энтерпрайзе: что анализировать, чтобы не завалить проект

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


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

Для начинающих поясню, что миграция идет по такой схеме: источники → преобразование данных (отвечает ETL или шина) → приемник.

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

Настоящая валидация на уникальность

Время на прочтение2 мин
Количество просмотров3.7K
Каждый рубист, поработавший с Ruby On Rails знаком с ORM ActiveRecord. Обсудим одну из предложенных из коробки валидаций, а именно, валидации на уникальность, и почему database_validations gem спасет консистенцию вашей базы данных.
Читать дальше →

Трагикомедия в NaN актах: как мы cделали игру на JS и выпустили ее в Steam

Время на прочтение13 мин
Количество просмотров29K
“Эка невидаль”, — скажете вы, — “В топ-100 вашей игры нет, так что нещитово”. Тоже правда. Зато за год разработки Protolife мы поднакопили какой-никакой опыт, которым можем поделиться с потенциальными будущими игроделами. Ветераны индустрии, боюсь, ничего интересного для себя не найдут. Но, может быть, хоть повеселитесь от души.


Что за игра-то? И кто “мы”?


Мы — это команда из трех человек (GRaAL, A333, icxon), волею судеб названная Volcanic Giraffe без какого либо умысла. Работали долгое время вместе, несколько раз втроем участвовали в Ludum Dare (соревнования по написанию игр за выходные), и однажды решившие довести до релиза одну из наших поделок под названием Protolife.

Если коротко: это необычная tower defense, где надо бегать героем-курсором и выстраивать оборону из блоков против постоянно растущей красной биомассы.
Остальное под катом - осторожно, тяжелые пиксельартные картинки

Роскосмос может потерять крупнейший заказ из-за ФСБ

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


На Хабре несколько раз публиковались статьи и новости о спутниковой системе связи OneWeb, принципах ее работы и времени введения в строй. В частности, сообщалось, что «Роскосмос» является одним из партнеров в этом проекте, госкорпорация получила крупнейший заказ на выведение спутников на орбиту Земли.

На нужды OneWeb уже законтрактованы 21 ракета-носитель «Союз», кроме того, в ближайшем будущем партнеры могли заключить контракт минимум на пять запусков ракет-носителей «Протон». К сожалению, сейчас все планы могут быть сорваны, поскольку есть вероятность, что сеть получит официальный статус угрозы национальной безопасности России. Об этом сообщает «Коммерсант».
Читать дальше →

Список здорового IT'шника, или как не угробить свою жизнь

Время на прочтение5 мин
Количество просмотров71K
Дело было вечером, делать было нечего, а спина все болела. И написал я на Хабре. И разверзлись хабровчане в комментариях и поведали мне, что у кого болит и как с этим справляться.

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

image

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

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

Эми Кадди провела двухминутный эксперимент — Оказалось, даже за это короткое время уровень тестостерона у тех, кто был в правильной позе, повысился на 20 %, а у тех, кто нет — снизился на 20 %. Уровень кортизола тоже существенно отличался: у первых упал на 25 %, а у вторых вырос на 15 %.

Под катом я рассказываю и показываю и навожу ясности в этой теме. И главное вы сможете ответить себе на вопрос: «Что делать-то, конкретно?»
Читать дальше →

Wrong, wrong, WRONG! methods of DDoS mitigation

Время на прочтение5 мин
Количество просмотров7.8K
Хабр, это транскрипция выступления CTO Qrator Labs Тёмы ximaera Гавриченкова на RIPE77 в Амстердаме. Его название мы не смогли перевести на русский с сохранением смысла, а потому решили посодействовать Хабру в выходе на англоязычный рынок и оставили все, как есть


Это цитата одной из моих любимых групп. Дэйв Гаан из Depeche Mode — живое доказательство того, что можно произнести слово “wrong” 65 раз за 5 минут и все равно оставаться рок-звездой. Давайте посмотрим, получится ли у меня.
Читать дальше →

Работаем в консоли быстро и эффективно

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

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

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

Текстовый редактор — это вам не высшая математика, тут думать надо

Время на прочтение17 мин
Количество просмотров97K
Современные текстовые редакторы умеют не только бибикать и не давать выйти из программы. Оказывается, внутри них кипит очень сложный метаболизм. Хотите узнать, какие ухищрения предпринимаются для быстрого пересчета координат, как к тексту приделываются стили, фолдинги и софтврапы и как это всё обновляется, при чем тут функциональные структуры данных и очереди с приоритетами, а также как обманывать пользователя — добро пожаловать под кат!



В основе статьи — доклад Алексея Кудрявцева с Joker 2017. Алексей уже лет 10 пишет Intellij IDEA в JetBrains. Под катом вы найдете видео и текстовую расшифровку доклада.
Читать дальше →

Blockchain глазами разработчика

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


Зачем этот рассказ? Когда я изучал blockchain по открытым источникам, например по Википедии, информация казалась отрывочной и бессвязной. Прошло время, прежде чем она сложилась в целостную картину. Кажется, я знаю, в каком порядке и какими словами описать введение в blockchain, чтобы любой профессиональный разработчик смог понять общую картину за 1—1,5 часа. В тексте будут некоторые упрощения. Понятно, что в любой теме есть много деталей, куда можно при желании погрузиться.

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

Спать мало, но правильно?

Время на прочтение7 мин
Количество просмотров901K
Навеяно этим постом от юзера case. Пост не новый, и на главную он не попал.
Но я вот наткнулся на него сегодня и решил написать кое-что о сне. Уверен, что это будет полезно многим хабравчанам, да и случайным читателям тоже.
Читать дальше →

Настройка BGP для обхода блокировок, версия 3, без VPS

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

UPDATE: Статья перестала быть актуальной, новую версию читайте здесь.


Зачем всё это делается в принципе и как оно устроено логически — описано в первой и второй статьях.


После их публикации я получил несколько вопросов от людей, которые пользуются VPN с не принадлежащих им ресурсов (например, приобретающих коммерческую услугу VPN). Этим людям раньше я советовал завести VPS для развертывания BGP-сервиса или каким-то еще образом получить доступ к серверу на Linux.


Но с сегодняшнего дня для них (и для всех остальных) есть более удобный вариант — на бесплатном сервисе antifilter.download появилась возможность автоматически настраивать BGP-сессию с вашим маршрутизатором.

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

Нюансы шифрования в Git

Время на прочтение3 мин
Количество просмотров14K
Если вы захотели воспользоваться публичным ресурсом вроде GitHub или GoogleDrive для хранения своего репозитория, но при этом не готовы делиться со всем миром результатами своего труда, то вам поможет шифрование файлов в гит-репозитории. Это не сверхсекретная технология и на эту тему есть некоторое количество небольших статей в интернете (и даже на Хабре), но все они являются вариацией куска документации git посвященного атрибутам и тему совершенно не раскрывают. Кроме этого, в процессе использования git в этом режиме появляются ньюансы использования, которые не всегда легко понять и решить и которые я в этой статье постараюсь осветить.
Читать дальше →

Лучше чем C

Время на прочтение3 мин
Количество просмотров22K
В настоящее время у системных программистов практически нет выбора какой язык использовать. По хорошему все варианты сводятся или к чистому Си или к Rust, хотя как показывает опыт далеко не всем нравится его синтаксис.

Благодаря усилиями команды разработчиков языка у D теперь появилось совместимое с чистым Си подмножество обладающее не только привычным для любого программиста Си синтаксисом, но и значительно расширяющее функционал языка. Новое подмножество называется «betterC». Это подмножество позволяет перевести написание Си приложение на новый уровень.
Читать дальше →

Информация

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