Главная Кодинг Экзотика

Экзотика

Xakep #214 bar-loop-h

Программируем на языке R: как правильно писать циклы для обработки больших объемов данных

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

Xakep #212 data-table_r-h

data.table: выжимаем максимум скорости при работе с данными в языке R

К чему лишние слова? Ты же читаешь статью про скорость, поэтому давай сразу к сути. Статья будет интересна тем, кто уже немного знаком с языком R, а также разработчикам, которые его активно используют, но еще не открыли для себя пакет data.table.

Xakep #211 hololens-h

Виртуальная реальность для программиста, часть 2: MS HoloLens

В прошлой статье я сделал общий обзор средств разработки для наиболее интересных устройств виртуальной реальности и дал торжественное обещание в следующем материале прицельно рассказать тебе про Microsoft HoloLens. Что ж, пора сдержать слово!

Xakep #211 emoji-title-h

Виноград безумия. Программируем без букв на Emojicode

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

Xakep #211 kotlin-h

Как перестать кодить на Java и начать жить: сто* причин изучить Kotlin

Ребята из JetBrains сделали очень много крутых вещей, среди которых Kotlin — молодой, но очень перспективный язык программирования под JVM и Android. В этой статье я покажу, чем этот язык может заинтересовать Android-разработчика и заставить его навсегда позабыть про Java.

Xakep #210 virtual-reality-h

Виртуальная реальность для программиста: обзор устройств и средств разработки

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

Xakep #210 developers-h

Внимание, это розыгрыш! Пишем простой смарт-контракт

Писать умные контракты для Ethereum — не такая сложная задача, как может показаться. Чтобы рассказать тебе, как это делать, мы решили провести небольшой эксперимент. В этой статье описана разработка умного контракта, который разыгрывает трехмесячную подписку на «Хакер». Установив клиент и запустив контракт, ты сможешь принять участие!

Xakep #210 iot

Ставим Ethereum на Raspberry Pi, чтобы связать умные вещи контрактами

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

Xakep #209 animals_fish_blowfish-h

Погружение в крипту. Часть 4. Современные зарубежные шифры

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

Xakep #207 grasshopper-h

Погружение в крипту. Часть 3: отечественные шифры

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

Xakep #206 NetBSD_Logo

Тур по BSD, часть 2. NetBSD, rump-ядра и pkgsrc

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

Xakep #206 public-keys-h

Public Key Cryptography: осваиваем открытые ключи на практике

В этой статье я покажу, как реализовать основные операции по работе с открытыми ключами. Речь идет о подписи, проверке подписи, шифровании и расшифровании в контексте PKI. Теоретически данный код может использоваться с любымCryptography Service Provider, поддерживающим интерфейс MS Crypto API.

Xakep #205 nmap-dragon

Прокачай свой Nmap! Расширяем возможности культового сканера при помощи NSE-скриптинга

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

radare-il-site

ESIL + radeco IL. Используем radare2 для эмуляции и декомпиляции

Много кто помнит черно-белый интерфейс SoftICE с просмотром дизассемблерного листинга и содержимого регистров. Еще больше человек знают об IDA Pro (декомпилятор не рассматриваем) и бессменном objdump (в случае линуксоидов). Однако времена ручного разбора ассемблера прошли. Сейчас большую популярность приобрели инструменты преобразования нативного кода в некое абстрактное представление для упрощения анализа. Подобные инструменты используются повсеместно — от набора компиляторов на основе LLVM до декомпилятора HexRays. В данной статье я попытаюсь объяснить основы этого метода на примере ESIL от проекта radare2.

Xakep #204 iso-squares-small

Интерпретатор «по-функциональному»: Haskell, OCaml и Scala на практике

Давненько мы не касались темы функционального программирования... успел ли ты соскучиться? Уверен, что нет, но деваться некуда :), ведь сегодня я настроен показать тебе реальную силу функционального подхода. Заодно мы рассмотрим то общее, что объединяет функциональные языки. В этой статье мы попробуем написать простейший интерпретатор сразу на трех языках: Haskell, OCaml и Scala.

Xakep #203 featured

Погружение в крипту. Часть 1: как работают самые известные шифры в истории?

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

2000px-Camelia.svg

После 15 лет разработки язык программирования Perl обновится до версии 6.0.0

Всё время отодвигавшийся срок выхода шестой версии языка Perl успел стать шуткой — его автор Ларри Уолл начал работу над стандартами ещё в 2000 году и неоднократно объявлял о том, что финальная версия будет готова «к Рождеству», однако это рождество откладывалось на протяжении пятнадцати лет. 5 октября 2015 года на конференции в Сан-Франциско Уолл объявил, что разработка близится к концу, работа над стандартом завершена, и уж на это Рождество Perl 6.0.0 точно будет закончен. Впрочем, Уолл тут же пообещал, что и после этого в язык будут продолжать добавляться новые возможности.

Xakep #200 locker

Дети лейтенанта CryptoLocker’a. Вскрываем DirCrypt, TorLocker, TeslaCrypt, TorrentLocker, Critroni и CryptoWall

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

Xakep #199 metasploitStart

Кодинг для пентестера. Разрабатываем модули для Metasploit

В статье из прошлого номера мы познакомились с теоретической частью и провели небольшой «пентест» WordPress. В этой статье я буду призывать тебя копать глубже, вспомнив, что хакер — это в первую очередь программист :). Действительно, несмотря на то что счет встроенных в Metasploit модулей уже пошел на тысячи, рано или поздно любой, кто плотно работает с фреймворком, сталкивается с необходимостью расширить его функциональность собственными эксплоитами и вспомогательными модулями. Сегодня мы рассмотрим все необходимые аспекты создания модуля с нуля, а заодно коснемся особенностей языка Ruby, которые нужно учитывать при написании.

Xakep #198 R

Анализ данных с использованием R. Часть 1

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

big_data_featured

Изучаем R. Часть 2: векторизация и визуализация

В прошлый раз (в ноябре 2014-го; мне очень стыдно, что я так затянул с продолжением!) я рассказывал о базовых возможностях языка R. Несмотря на наличие всех привычных управляющих конструкций, таких как циклы и условные блоки, классический подход к обработке данных на основе итерации далеко не лучшее решение, поскольку циклы в R необыкновенно медлительны. Поэтому сейчас я расскажу, как на самом деле нужно работать с данными, чтобы процесс вычислений не заставлял тебя выпивать слишком много чашек кофе в ожидании результата. Кроме того, некоторое время я посвящу рассказу о том, как пользоваться современными средствами визуализации данных в R. Потому что удобство представления результатов обработки данных на практике не менее важно, чем сами результаты. Начнем с простого.

eiffel

Знакомство с языком Eiffel

Долгие годы я был фанатом разработки под Windows, о чем немало писал в этот вот лучший компьютерный журнал всех времен и народов. Со временем я перешел под Mac OS и UNIX. Работая под макосью, я озадачился выбором тулзы для создания платформонезависмых программ. Что же предпочесть? Java? Mono? Слишком скучно. Я выбрал… Eiffel. И вот почему.

PR2_at_Maker_Faire

Вышел OpenCV 3.0

Вышла третья версия библиотеки Open Computer Vision (OpenCV). В анонсе этого релиза сказано: «С большим удовольствием и боль…

«ХАКЕР» ДОСТУПЕН ТОЛЬКО В ЭЛЕКТРОННОЙ ВЕРСИИ
Оформи подписку — получи:
  • доступ к платным материалам сайта
  • доступ ко всем номерам PDF
4190 р.
на год
490 р.
на месяц
60 р.
за 1 статью

Еженедельный ][-дайджест

Корпоративная подписка

Для подписчиков

Хочешь годовую подписку в подарок?

Хочешь годовую подписку в подарок?

Каждые выходные, вместе с дайджестом самых актуальных хакерских трендов, ты можешь получить промокод на бесплатную годовую подписку на «Хакер». Мы выбираем троих счастливчиков каждую неделю.

Кстати, даже если ты не попал в их число — ты все равно можешь получить один из 1000 еженедельных скидочных кодов на годовую подписку. Скидка составляет от 10 до 40%!

Спасибо! На твою почту было отправлено подтверждающее письмо.