Pull to refresh
5
0.3
Максим @MaxLevs

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

Send message

Как при помощи запекания энтузиасты восстанавливают магнитные ленты

Reading time4 min
Views12K
image

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

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

Команда Strand Games, которая в этом году была основана соучредителем Magnetic Scrolls Хью Стирсом и поклонником интерактивной фантастики Стефаном Мейером, в этом году взялась за восстановление игрового кода Magnetic Scrolls, чтобы оживить текстовые квесты и создать новые инструменты проектирования игр жанра Interactive Fiction с открытым исходным кодом. Компания уже выпустила восстановленную версию первой игры Magnetic Scrolls 1985 года The Pawn.

Энергия, связывающая всё воедино

Reading time9 min
Views18K
В моей статье про энергию и массу и связанные с ними понятия основное внимание я уделил частицам – возмущениям полей – и уравнениям, при помощи которых Эйнштейн связывал их энергию, импульс и массу. Но энергия возникает и в других местах, не только благодаря частицам. Чтобы по-настоящему понять Вселенную и то, как она работает, необходимо понять, что энергия может появиться из-за взаимодействия различных полей, или даже из-за взаимодействия с самим полем. Вся структура нашего мира – протоны, атомы, молекулы, тела, горы, планеты, звёзды, галактики – является результатом наличия такого типа энергии. На самом деле, многие типы энергии, о которых мы рассуждаем так, будто они отличаются друг от друга – химическая энергия, ядерная энергия, электромагнитная энергия – либо являются одной из форм энергии взаимодействия либо каким-то образом к ней относятся.

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

Настройка отступов в VIM

Reading time2 min
Views73K
Процесс смены Komodo IDE на VIM я начал с изучения всевозможных туториалов и хау ту, однако, что удивительно, ни в одном из них мне не удалось встретить человеческого описания процесса настройки отступов. В одних предлагали регулировать ширину отступа с помощью опции tabstop, в других — с помощью softtabstop, в третьих — выставлять и то и другое и shiftwidth в придачу. После нескольких часов экспериментов с настройками я понял, что единственный способ не только заставить все работать, но и понять, почему оно работает — читать документацию. Своими «открытиями» я и хочу с вами поделиться.
Читать дальше →

Магия SSH

Reading time11 min
Views523K
С SSH многие знакомы давно, но, как и я, не все подозревают о том, какие возможности таятся за этими магическими тремя буквами. Хотел бы поделиться своим небольшим опытом использования SSH для решения различных административных задач.

Оглавление:

1) Local TCP forwarding
2) Remote TCP forwarding
3) TCP forwarding chain через несколько узлов
4) TCP forwarding ssh-соединения
5) SSH VPN Tunnel
6) Коротко о беспарольном доступе
7) Спасибо (ссылки)
Читать дальше →

Интернет-контрразведка в действии: создаем персональную систему менеджмента информационной безопасности

Reading time16 min
Views44K

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


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


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

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

Reading time9 min
Views954K

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


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


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

Что в имени тебе моем: как качественно «пробить» человека в сети Интернет?

Reading time5 min
Views204K
Мы постоянно встречаемся в своей жизни с новыми людьми, и стоит констатировать, что помимо хороших друзей нам попадаются мутные товарищи, а иногда и отъявленные мошенники. Любовь наших сограждан оставить свой след в интернете и старания наших ИТ-компаний по автоматизации всего и вся позволяют нам довольно оперативно собирать интересующую информацию о конкретных персонах по открытым источникам. Чтобы это делать быстро и качественно, нам нужно владеть простой методологией разведывательной работы и знать, где и какую информацию о человеке можно добыть в интернете.
Читать дальше →

Советы и подсказки по bash

Reading time2 min
Views37K
Для непосвященных, bash — командная оболочка по умолчанию во многих Linux-дистрибутивах, включая Fedora, Ubuntu, Redhat и др. Используя операционную систему Linux-семейства, вы, вероятно, используете и bash. По этой причине ниже я собрал несколько часто возникающих проблем с bash и простые способы их решения.

1. Потеря истории команд

Если открыть окно терминала и ввести несколько команд, а после открыть второе окно, то история команд bash во втором окне не будет содержать команд из первого. К тому же, если закрыть первый терминал, а затем второй, то история команд из первого терминала будет перезаписана вторым. Вдвойне неприятно!

Так происходит из-за того, что история команд записывается только при закрытии терминала, а не после каждой команды. Это можно исправить.
Читать дальше →

15 малоизвестных команд Linux

Reading time3 min
Views317K
Каждому разработчику в определенной степени следует овладеть навыками работы в терминале. Физически находиться у компьютера не всегда возможно, поэтому приходится подключаться удаленно. И действительно, GUI-программы вполне могут с этим с правиться, но зачастую они работают медленнее, чем получение доступа через тот же терминал (в конце концов, это лишь обмен текстом).
Читать дальше →

Aptly — создание собственного репозитория

Reading time6 min
Views33K
Моя организация пишет софт под Linux.
Софт предназначен для работы на торговых точках, которые распределены географически.
Изначально ПО предоставлялось клиентам как набор deb пакетов под разные дистрибутивы и архитектуры со списком пакетов, которые нужно установить как зависимости до инсталляции этих deb файлов.
Хочу рассказать, каким был путь эволюции от распространения файлов через ftp до создания репозитория и запуска системы управления конфигурациями и начала внедрения в работу сервера непрерывной интеграции.
Читать дальше →

Юникод для чайников

Reading time8 min
Views328K
logo
Сам я не очень люблю заголовки вроде «Покемоны в собственном соку для чайников\кастрюль\сковородок», но это кажется именно тот случай — говорить будем о базовых вещах, работа с которыми довольно часто приводить к купе набитых шишек и уйме потерянного времени вокруг вопроса — «Почему же оно не работает?». Если вы до сих пор боитесь и\или не понимаете Юникода — прошу под кат.

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

О стандартах документации

Reading time4 min
Views98K
Документация – такая штука, к которой мало кто питает тёплые чувства: скучно, занудно, однообразно. И, тем не менее, иногда не возникает сомнений в её необходимости: ведь кому-то после вас этим пользоваться или, тем паче, модифицировать. И тогда появляется вопрос: как сделать документацию правильно?

Существует тьма статей на тему «как писать документацию», но если вы решили взяться за неё в первый раз, то в новой для вас области не сразу понятно, дело ли пишет автор, или отсебятину выдумывает.

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

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

Ведется массовая атака криптором Wana decrypt0r 2.0

Reading time7 min
Views230K

В настоящий момент можно наблюдать масштабную атаку трояном-декриптором "Wana decrypt0r 2.0"
Атака наблюдается в разных сетях совершенно никак не связанных между ссобой.



A ransomware spreading in the lab at the university (отсюда)


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


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

Продвинутый Gulp и Browserify: интересные трюки

Reading time9 min
Views42K
Пару недель назад я начал цикл о том, как делал некоммерческий музыкальный проект (первый пост есть в «я пиарюсь», не буду ставить ссылок), но, к сожалению, в первой же статье увлекся, и вместо того, чтобы рассказывать о том, как делал конкретно его, начал вспоминать эффективные трюки из других проектов. Видимо, именно это вкупе с прописанным акцентом на сам проект привело к тому, что за мной и постом прилетело НЛО.

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

Поэтому я постарался убрать все упоминания проекта и повторно публикую (с доработками и правками) статью, которую по сути никто еще не видел. Если вы фанат grunt — почитайте хотя бы вторую часть: то, что вы не любите gulp, не значит, что вы не любите browserify.

Краткое содержание:
  1. Простой способ обработки ошибок;
  2. Универсальная структура для хранения исходных файлов;
  3. Объединение нескольких потоков (например, скомпилированный coffee и js) в один;
  4. Создание потока из текста;
  5. создание собственных плагинов для Browserify;
  6. создание плагинов из плагинов Gulp для Browserify.

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

Gulp.watch: ловим ошибки правильно

Reading time4 min
Views46K
Во всех современных системах сборки фронтенда есть режим watch, при котором запускается специальный демон для автоматической пересборки файлов сразу после их сохранения. Также он есть и gulp.js, но с некоторыми особенностями, делающими работу с ним немного сложней. Работа gulp.js основана на обработке файлов как потоков данных (streams). И ошибки в потоках не всегда можно перехватить, а когда ошибка случается, то будет выброшено неперехваченное исключение и процесс завершится.

Чтобы этого не происходило, и watcher мог игнорировать отдельные ошибки и запускаться снова и снова при сохранении файлов, в gulp нужно сделать несколько дополнительных настроек, о которых и расскажется в этой статье.
Читать дальше →

Масштабируемые JavaScript приложения

Reading time22 min
Views40K
Более месяца назад в статье FAQ по JavaScript: задавайте вопросы был задан вопрос «Подскажите примеры хорошего подхода организации JS кода к сайту на достаточно высоком уровне. Как можно узнать подробнее практики реализации например gmail?».

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

Эта статья о том, как сделать крупное веб-приложение расширяемым и поддерживаемым: архитектура, подходы, правила.
Читать дальше →

ES6 по-человечески

Reading time11 min
Views596K

От переводчика:
Предлагаю вашему вниманию перевод краткого (действительно краткого) руководства по ES6. В нём можно ознакомиться с основными понятиями стандарта.
Оригинальный текст в некоторых случаях был дополнен или заменён на более подходящий источник. Например, часть определения ключевого слова const является переводом документации с MDN.
Чтобы лучше разобраться в некоторых концепциях (для выполнения качественного перевода) использовалось описание стандарта на сайте MDN, руководство "You Don't Know JS: ES6 & Beyond" и учебник Ильи Кантора.


Перевод выложил на Гитхаб: https://github.com/etnolover/ES6-for-humans-translation. В случае нахождения ошибок пишите, исправлю.
Ссылка на оригинальный текст: https://github.com/metagrover/ES6-for-humans


Update 22.07.2016: добавил опрос про const


Содержание



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

Понятие песочницы при разработке расширений для браузера Google Chrome

Reading time5 min
Views8.3K
За 5 лет разработки расширений для браузера Google Chrome накопился некоторый опыт, которым хотелось бы поделиться в цикле статей и, по возможности, пояснить некоторые тонкости, подводные камни, а также описать как были удачно применены современные фронтенд-технологии.
Читать дальше →

Что такое Selenium?

Reading time4 min
Views575K
Время от времени мне приходится распутывать терминологические хитросплетения, связанные с употреблением словосочетаний, в которых встречается слово Selenium – Selenium 2.0, Selenium IDE, Selenium RC, Selenium WebDriver, Selenium Server, Selenium Grid.

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

Как два программиста хлеб пекли

Reading time5 min
Views262K


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

Итак, представим себе, что есть два программиста. Один из них умный, прочёл кучу статей на Хабре, знает каталог GoF наизусть, а Фаулера — в лицо. Другой же делает всё просто. Первого будут звать, например, Борис Н., а второго — Маркус П. Само собой, имена вымышленные, и все совпадения с реальными людьми и программистами случайны.

Итак, к ним обоим приходит проектный менеджер (если в вашей вселенной PM не ходит сам к программистам, назовите его как-то иначе, например BA или lead, сути это не изменит) и говорит:
— Ребята, нам нужно, чтобы делался хлеб.

Именно так, «делался», без уточнения способа производства.

Как же поступят наши программисты?
Читать дальше →

Information

Rating
2,320-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity