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

35 лет игре «Ослик» Билла Гейтса

Время на прочтение6 мин
Количество просмотров21K
35 лет назад, в августе 1981 года в продажу вышла первая модель IBM PC (на фото слева) — первый массовый персональный компьютер фирмы IBM, с операционной системой PC-DOS 1.0 (MS-DOS) и интерпретатором BASIC.

Компания Apple с любопытством наблюдала за экспериментом IBM и даже приветствовала коллег большим рекламным объявлением в газете Wall Street Journal под заголовком «Добро пожаловать, IBM. Серьёзно». Хотя Стив Джобс в те времена экономил каждый цент, но всё-таки разрешил сотрудникам купить один экземпляр IBM PС и изучить его содержимое.

Сотрудников не слишком впечатлила аппаратная начинка IBM PC: она явно уступала мастерски сконструированной электронике Стива Возняка. С программным обеспечением дело обстояло ещё хуже: операционная система MS-DOS от Microsoft являлась клоном старой операционной системы CP/M, и даже демонстрационные программы были сделаны грубовато.

Особенно недоумение сотрудников Apple вызвала странная игра Donkey («Ослик»), написанная на BASIC.
Читать дальше →
Всего голосов 31: ↑24 и ↓7+17
Комментарии51

CTFzone write-ups – First comes Forensics

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


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

Начнем мы с направления Forensics, и в этой статье представляем вам решения на все таски – от задания на 50 до 1000. Мы знаем, что hackzard опередил нас и уже выложил райтапы к заданиям на 50 и 100, но с более крутыми тасками будет сложнее ;)
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии2

На что способен мозг студента, познающего компьютерный мир

Время на прочтение7 мин
Количество просмотров24K
Доброго времени суток.

Закончив писать очередной скрипт на Bash, понял, что всё должно быть совершенно иначе, однако всё работало. Хочу вам показать, какие непотребства и костыли написал я, дабы решить задачу, но пока не имея вагона знаний. Иначе говоря, карикатура на программирование.
Читать дальше →
Всего голосов 37: ↑35 и ↓2+33
Комментарии30

FAQ по программированию под Android от новичка, и для новичков

Время на прочтение16 мин
Количество просмотров158K
Предисловие к FAQ.

Программирование является моим хобби уже давно (правда на других языках и платформах), но до андроида руки дотянулись совсем недавно. Прошло несколько этапов, прежде чем я добрался до написания программ.
Сначала была пара месяцев посвященных Java, на сайте с «Сгибателем».
После, долгие попытки подружится с Eclipse, закончившиеся побегом на Android Studio.
На данный момент выпущено 7 программ и две находятся в разработке.
Данная подборка возникла как попытка структурирования и оптимизации полученной в процессе информации.
Заранее извиняюсь за возможно некорректную терминологию – так как практикую обучение через создание, и в теоретической части есть пробелы.

Надеюсь, что приведенные примеры окажутся полезными.
Читать дальше →
Всего голосов 114: ↑98 и ↓16+82
Комментарии23

Ссылочное из pdf файла

Время на прочтение1 мин
Количество просмотров589
Очень мало в данной области выкладывается опытов и практических рекомендаций. Или просто мало встречал) Решил начать свою серию.

Есть западные рекомендации по нетривиальному наращиванию ссылочной массы, а именно создания pdf книжечки с полезными материалами и незамысловатой ссылкой внутри (хотя бы site.ru) как на источник.

Решил проверить на сколько это работает в нашей среде:

Читать дальше →
Всего голосов 6: ↑3 и ↓30
Комментарии8

Определяем все классы, которые использует приложение на Java

Время на прочтение12 мин
Количество просмотров19K
Без сомнения каждый, кто в своем резюме указывает опыт разработки на Java, хоть раз в жизни писал строки
public static void main(String[] args)
компилировал их и запускал на выполнение командой наподобие java HelloWorld.
Но многие ли знают, что происходит внутри JVM от момента выполнения этой команды до того как управление передается методу main, как Java находит и загружает необходимые пользователю классы? Возникшая однажды производственная задача заставила автора разобраться в этом вопросе. Результаты изысканий под катом. Сразу стоит оговориться, что статья не претендует на полноту охвата всех существующих JVM, тестирование проводилось только на Sun HotSpot JVM.
Читать дальше →
Всего голосов 65: ↑60 и ↓5+55
Комментарии12

Сети для самых маленьких. Часть седьмая. VPN

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


Покупка заводов в Сибири была стратегически правильным решением для компании “Лифт ми Ам”. После того, как лифты стали ездить не только вверх, но и вниз, дела компании пошли… нет полетели, вверх. Лифты начали разбирать, как горячие пирожки со стола. Название уже не соответствовало действительности и было принято решение о ребрендинге. (На самом деле их замучила судебная тяжба с Моби).
Итак, под крыло ЛинкМиАп планируется взять заводы в Новосибирске, Томске и Брно. Самое время подумать о том, как это хозяйство подключить к имеющейся сети.

Итак, сегодня рассматриваем
1) Возможные варианты подключения, их плюсы и минусы
2) Site-to-Site VPN на основе GRE и IPSec
3) Большая тема: динамическая многоточечная виртуальная сеть (DMVPN) в теории и на практике.

В традиционном видео лишь ёмкая выжимка из статьи, посвящённая работе и настройке DMVPN.

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

Пример ≈двукратного ускорения загрузки шрифта для заголовков из Google Web Fonts, осуществляемого выборкою оптимальной версии его

Время на прочтение6 мин
Количество просмотров16K
[иллюстрация-скриншот]Если на сайт вики-энциклопедии «Циклопедия» забредёт пользователь компьютера, оснащённого современным программным обеспечением Корпорации Microsoft, то тогда взгляд его прежде всего окажется привлечён шрифтом заголовков первого и второго уровня («Циклопедия», «Культура», «Общество», «Наука и техника», «Природа и человек», «Быт»): такой шрифт нынче не часто встречается во Всемирной Паутине (это вы можете без труда смекнуть и самостоятельно, когда сравните фрагмент скриншота, мною справа для того приложенный, с собственным вашим опытом).

Но этот шрифт, господа, да станет всем нам примером того, как не следует оформлять наши заголовки. А угадаете ли, почему это так? Да потому, что шрифт этот — Candara (и это нетрудно увидать воочию: достаточно прибегнуть к расширению «Context Font» или вглядеться в нынешний вики-код заглавной страницы Циклопедии и её подшаблона «Раздел»). Некоторые из нас ужé знают или хотя бы догадываются (а другим достаточно взглянуть в Википедию, чтобы узнать) о том, что Candara — это шрифт эксклюзивный, который встречается только в сравнительно недавних продуктах Корпорации Microsoft, таких как последние Windows (Vista, Windows 7) и Office 2007, да ещё раздаётся в составе Microsoft Powerpoint Viewer 2007 и Microsoft Office Compatibility Pack (в том числе для более ранних систем — для Windows XP, для Windows 2000). Если же на такой сайт забредёт читатель с Линуксом, или Маком, или Андроидом, или Айфоном, или Айпадом — то тогда, сами понимаете, «Кандару» взять ему будет неоткуда — и вид заголовка поневоле станет далеко отличаться от желаемого.

А ведь можно обеспечить единообразное отображение заголовка во всех системах и браузерах; для этого достаточно попросту отгрузить всем читателям один и тот же шрифт. Шрифт можно раздавать с собственного же сайта (добавив продуманные правила @font-face в свой CSS), а можно воспользоваться услугами внешнего хостинга шрифтов — например, услугами коллекции свободных и бесплатных шрифтов «Google Web Fonts», чей красивый новый интерфейс обсуждали на Хабрахабре в конце июня. О ней-то и поговорим под хабракатом.

Что следует сказать по поводу употребления Google Web Fonts при оформлении заголовков?

Читать дальше →
Всего голосов 99: ↑68 и ↓31+37
Комментарии76

Умное добавление музыкальных групп в Google Таблицы через VK API, Tampermonkey и Telegram бота

Время на прочтение15 мин
Количество просмотров5.2K
Как организовать хранилище музыкальных групп в Google Таблицах с поддержкой с разных программ?


Дано: Аккаунты в Google, VK, Telegram.
Задача: Создать хранилище музыкальных групп с возможностью удобного пополнения.
Инструменты: Google Apps Script (GAS), VK API, Tampermonkey, Telegram Bot API.
Смотрим далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии0

Beyond URL and URN

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

Рыская по интернетам, зашел на страницу про URI и спустя несколько часов осознал, как мало я знал об этом монстре. Признаюсь, до этого я думал, что URI это либо URL, либо URN. Но это не так! Есть и другие варианты идентификации ресурса в сети.

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

Межпланетная файловая система — Простой блог в IPFS при помощи XSLT

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

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


Обычно формируют содержание страниц при помощи JavaScript. Это знакомая технология но у неё есть свои недостатки.


Я буду использовать XSLT. Это древняя технология шаблонов которая давно встроена в браузеры но мало кто ей пользуется. Возможно потому что шаблоны заставляют писать много текста и из за путаницы с пространствами имён и множества ошибок без внятного объяснения. Также не смотря на то что есть уже XSLT 3.0 в браузерах по прежнему доступен только XSLT 1.0.


XSLT работает так:


  1. Пользователь открывает в браузере XML документ.
  2. В заголовке XML документ содержит ссылку на XSLT шаблон.
    <?xml-stylesheet href="xslt/запись.xslt" type="text/xsl" ?>
  3. Шаблон в браузере на основе XML документа и других данных формирует xHTML документ.
  4. Браузер отображает полученный xHTML документ.

Привязав множество страниц к одному шаблону можно менять отображаемый xHTML документ не меняя XML документы. Таким образом при смене дизайна не будет меняться хеш XML документов а значит старые их копии будут источниками для новых в IPFS.


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


image

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

Производительность: нюансы против очевидностей

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

Приветствую, это текстовая версия моего доклада на JPoint-2021. Как обычно я сделал упор на случаи из жизни и на повседневные вещи, используемые каждым разработчиком. Под кат приглашаются интересующиеся производительностью и им сочувствующие.

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

Организация интернет трансляции мероприятия бюджетными средствами

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

Вводная


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

В данной статье мы подробно опишем шаги, которые необходимо предпринять, чтобы организовать бесплатную онлайн трансляцию. Приведем список необходимого оборудования и дадим инструкцию, как его установить. Опишем основные проблемы, с которыми могут столкнуться организаторы при организации онлайн трансляций, и возможные пути их решения.
Читать дальше →
Всего голосов 15: ↑12 и ↓3+9
Комментарии1

Epic Fail от IDA и Eset

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

Всем привет!

Сегодня, буквально часы назад пролетела новость — в паблике появился весь комплект давнего лакомого кусочка хакеров, кардеров и крякеров — последняя версия интерактивного дизассемблера IDA со всем прилагающимся инструментарием.

Конкретно, зарелизили:
Hex-Rays.IDA.Pro.Advanced.v6.1.Windows.incl.Hex-Rays.x86.Decompiler.v1.5.READ.NFO-RDW
Hex-Rays.IDA.Pro.Advanced.SDK.v6.1-RDW
Hex-Rays.IDA.Pro.Advanced.FLAIR.v6.1-RDW
Hex-Rays.IDA.Pro.Advanced.IDS.Utilities.v6.1-RDW
Hex-Rays.IDA.Pro.Advanced.LOADINT.v6.1-RDW
Hex-Rays.IDA.Pro.Advanced.TILIB.v6.1-RDW
Hex-Rays.IDA.Pro.Advanced.v6.1.TVision.v2009b.Source-RDW


Количество ссылок в сети сейчас растёт с геометрической прогрессией.

Ну ещё один лик, спросите Вы, и что тут такого, чтобы выкладывать на Хабре в разделе Информационной безопасности? Всё дело скрывается в надписи, которая приведена в заголовке этой статьи.
Читать дальше →
Всего голосов 345: ↑311 и ↓34+277
Комментарии355

OpenSSL и Network Security Services (NSS) — две стороны одной медали

Время на прочтение31 мин
Количество просмотров8K
imageО какой медали идет речь в заголовке? Речь идет об инфраструктуре открытых ключей (Public Key Infrastructure — PKI/ИОК) на базе стандартов криптографии с открытым ключом (Public Key Cryptography Standards — PKCS). Инфраструктура открытых ключей включает в себя множество различных объектов и механизмов работы с ними, а также протоколы взаимодействия объектов друг с другом (например, протоколы TLS, OCSP). В число объектов ИОК/PKI входят сертификаты x509 и ключевые пары (приватные и публичные ключи), подписанные и зашифрованные документы (pkcs#7, CMS), защищенные контейнеры для хранения приватных ключей (pkcs#8) и личных сертификатов с ключами (pkcs#12) и т.д. В число механизмов входят не только криптографические функции, которые позволяют шифровать и подписывать документы по различным алгоритмам, но и функции, формирующие конечные объекты ИОК в соответствии со стандартами (сертификаты, запросы, подписанные/зашифрованные документы, пакеты протоколов и т.д. и т.п.). Да, и как не вспомнить центральный объект ИОК/PKI — Удостоверяющий Центр (УЦ).
Читать дальше →
Всего голосов 8: ↑6 и ↓2+4
Комментарии12

Разбираем x.509 сертификат

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

Привет, %username%!

Так уж вышло, что несмотря на относительно неплохое понимание инфраструктуры открытых ключей, содержимое *.crt файлов всегда оставалось для меня полнейшей загадкой.
Нет, не поймите неправильно. Я знаю, что x.509 сертификат содержит информацию о владельце, открытый ключ, сведения об удостоверяющем центре и электронную цифровую подпись. Но при установке очередного сертификата меня всегда мучило любопытство.
Чем отличается идентификатор ключа от отпечатка? Какие данные сертификата подписываются, а какие нет? И что за структура данных позволяет хранить всю эту информацию, сводя избыточность к минимуму.
Но вот наконец-то любопытство перебороло лень и в данном посте я постараюсь описать структуру x.509 сертификатов и ответить на эти и другие вопросы.
Читать дальше →
Всего голосов 79: ↑75 и ↓4+71
Комментарии31

Криптография с открытым ключом: ключи RSA

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

Уверен, что вы хотя бы раз создавали пару ключей RSA, напримет, потому, что вам нужно было подключиться к GitHub, и вы хотели избежать необходимости вводить свой пароль каждый раз. Вы добросовестно следовали инструкциям по созданию SSH-ключей, и через пару минут всё было готово.

Но знаете ли вы, что именно вы делали? Углублялись ли вы в детали процесса?

Знаете ли вы, что содержится в файле ~/.ssh/id_rsa? Почему ssh создает два файла с разным форматом? Замечали ли вы, что один файл начинается со слов ssh-rsa, а другой — с -----BEGIN RSA PRIVATE KEY----- ? Вы замечали, что иногда в заголовке второго файла отсутствует часть RSA и просто написано BEGIN PRIVATE KEY?

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

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

Как создать простой LoRa мессенджер: обмен зашифрованными текстовыми сообщениями между устройствами без интернета

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

В современном мире IoT, когда связь в отдаленных районах становится все более актуальной, технология LoRa (Long Range) предоставляет нам возможность создать дальнобойный, надежный, энергоэффективный и зашифрованный канал связи без необходимости иметь какую-либо сетевую инфраструктуру. 

В этой статье мы рассмотрим, как создать простой LoRa мессенджер с использованием своего протокола обмена и готовых модулей, работающих в режиме P2P (peer-to-peer) – не идеального, но интересного решения для обмена текстовыми сообщениями в условиях ограниченной инфраструктуры.

Для упрощения и автоматизации процесса обмена сообщениями мы воспользуемся Node-RED. Этот инструмент, помимо реализации основной логики обмена сообщениями, также предоставит графический интерфейс для мессенджера, что сделает процесс более доступным и интуитивно понятным. 

Выглядеть будет просто, потому что воспользуемся всем готовым :)

Свистать всех наверх!
Всего голосов 31: ↑29 и ↓2+27
Комментарии36

Скучно о работе дешифрации NGFW

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

Если вы хотите окончательно испортить первое свидание – поговорите с девушкой о дешифрации. Да и в случае последующих – тоже не стОит.

Наша встреча с вами не первая, поэтому в этом тексте речь снова пойдет о дешифрации.
Да, я вновь расскажу об SSL. Могу обрадовать себя и вас тем, что это второй и последний материал на эту тему. Возможно.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии22

Хакерский квест RUVDS подходит к концу, но сразиться за главный приз 142 857 рублей еще не поздно

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

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

Напомним, с чего всё началось: участники уже раскрыли секрет «Загадочной визитки», которую разобрали до последнего волокна и в результате залетели в блокчейн, а далее и в межпланетную файловую систему с новой порцией загадок.
Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии0
1
23 ...