Pull to refresh
22
0

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

Send message

Большая игра на понижение крипты. Механизм финансовой катастрофы

Reading time17 min
Views276K


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

Если у вас есть значительные объёмы криптовалюты или вы подумываете о её покупке, то именно для вас я это написал. Пожалуйста, прочтите до конца.
Total votes 242: ↑235 and ↓7+228
Comments390

Почему Kafka такая быстрая

Reading time14 min
Views25K


За последние несколько лет в сфере архитектуры ПО произошли огромные изменения. Идея единственного монолитного приложения или даже нескольких крупных сервисов, разделяющих общий массив данных, практически стерта из умов и сердец инженеров-практиков во всем мире. Преобладающими инструментами в создании современных бизнес-ориентированных приложений стали автономные микросервисы, событийно-ориентированная архитектура и CQRS. Вдобавок быстрый рост количества подключаемых устройств (мобильных, IoT) многократно увеличивает объем событий, которые система должна оперативно обрабатывать.


В статье рассказываем, за счет чего Apache Kafka работает достаточно быстро для современных проектов.

Читать дальше →
Total votes 33: ↑33 and ↓0+33
Comments23

Решение задачи о двух мудрецах

Reading time4 min
Views36K
Давеча была опубликована логическая задача про Шерил, а в комментариях к ней хаброюзер сообщил о более интересной задаче про двух мудрецов.

Собственно, задача:
У некоторого султана было два мудреца: Али-ибн-Вали и Вали-ибн-Али. Желая убедиться в их мудрости, султан призвал мудрецов к себе и сказал: «Я задумал два числа. Оба они целые, каждое больше единицы, но меньше ста. Я перемножил эти числа и результат сообщу Али и при этом Вали я скажу сумму этих чисел. Если вы и вправду так мудры, как о вас говорят, то сможете узнать исходные числа».

Мудрецы задумались. Первым нарушил молчание Али.
— Я не знаю этих чисел, — сказал он, опуская голову.
— Я это знал, — подал голос Вали.
— Тогда я знаю эти числа, — обрадовался Али.
— Тогда и я знаю! — воскликнул Вали.
И мудрецы сообщили пораженному царю задуманные им числа.

Назовите эти числа.

Решение под катом.
Читать дальше →
Total votes 31: ↑26 and ↓5+21
Comments30

Подготовка к собеседованиям в IT-гиганты: как я преодолела проклятье алгоритмического собеседования

Reading time12 min
Views204K

Дисклеймер:


Я не программирую с трёх лет, не знаю наизусть Кнута, не являюсь призёром олимпиад по информатике и чемпионатов по спортивному программированию, не училась в MIT. У меня за плечами образование по информатике и 6 лет опыта в коммерческой разработке. И до недавнего времени я не могла пройти дальше первого технического скрининга в IT-гиганты из FAANG (Facebook, Amazon, Apple, Netflix, Google и подобные), хотя предпринимала несколько попыток. 

Но теперь всё изменилось, я получила несколько офферов и хочу поделиться опытом, как можно к этому прийти. Речь пойдёт о позиции Software Engineer в европейских офисах перечисленных компаний.
Читать дальше →
Total votes 201: ↑196 and ↓5+191
Comments342

Нейтронная звезда в пробирке. Сонолюминесценция

Reading time14 min
Views51K
Хомяки приветствуют вас, друзья.

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



Всё началось с того, что одним прекрасным днем просиживая задницу в просторах ютуба, я нашёл ролик на канале Сергея Матюшенко про интересное явление в основе которого лежит свечение пузырька за счет акустического воздействия. Пересмотрев видео несколько раз, понял что повторить подобное явление как раз плюнуть. Через неделю на моем столе лежали все необходимые детали для сборки действующей установки.
Читать дальше →
Total votes 226: ↑224 and ↓2+222
Comments103

Куча способов переиспользовать код в Rust

Reading time40 min
Views19K
Я нашел эту статью авторства Alexis Beingessner как наиболее понятное описание системы типов в Rust, и что с ними можно делать. Надеюсь, кому-нибудь этот перевод будет полезен. Не смотрите на то, что вначале описываются очевидные вещи — под конец можно утонуть. Статья огромная и скорее всего будет разобрана на главы. Переведено достаточно вольно. Авторский стиль сохранен. — прим.пер.

(статья написана о Rust 1.7 stable)

В системе типов Rust есть много всякого. Насколько я знаю, практически вся сложность этого всякого заключается в том, чтобы выразить программу в максимально обобщённом виде. Притом народ еще и требует большего! У меня всегда были проблемы с простым пониманием наиболее сложных вещей, потому этот пост скорее напоминалка самому себе. Но тем не менее, мне также нравится делать что-то, полезное другим, поэтому в данной статье также есть вещи, которые я вряд ли забуду, но о которых некоторые могут не знать.

В этой статье не будет исчерпывающего описания синтаксиса или общих деталей описываемых возможностей. Здесь рассказывается, почему происходит так или иначе, так как подобные вещи я всегда забываю. Если вы нашли эту статью в попытках выучить Rust полноценно, вам определенно стоит для начала ознакомиться с Книгой (оригинал вот — прим.пер.). В то же время я здесь буду уточнять некоторые произвольные теоретические аспекты того, что происходит.
Скорее всего, в этой статье полно ошибок, и она не должна претендовать на звание официального руководства. Это просто сборник того, что я накопал за неделю, пока искал новую работу.
Осторожно, там глубоко!
Total votes 50: ↑50 and ↓0+50
Comments34

Lazydocker — GUI для Docker прямо в терминале

Reading time3 min
Views33K


Два года назад мы уже делали обзор GUI-интерфейсов для работы с Docker, однако мир любителей подобных решений не стоит на месте. На днях до версии 0.2 обновился, а вместе с тем и получил широкую огласку, молодой проект lazydocker, позиционирующий себя как «более ленивый путь управлять всем в Docker». Утилита стремительно набирает популярность — ещё вчера количество его GitHub stars не достигало 3000, а уже сегодня перевалило за 4000.
Читать дальше →
Total votes 49: ↑48 and ↓1+47
Comments16

Дружба, благодаря которой Google вырос до огромных размеров

Reading time23 min
Views39K
Программируя вместе за одним компьютером, Джефф Дин и Санджай Гемават изменили курс компании — и весь Интернет. На иллюстрации: лучшие программисты Google иногда кажутся двумя полушариями одного мозга. Рисунок Дэвида Планкерта

Однажды в марте 2000 года шесть лучших инженеров Google собрались в импровизированном конференц-зале. Произошло ЧП: с октября 1999 года остановились краулеры. Хотя пользователям ещё выдавали поисковые результаты, но они устарели на пять месяцев. На карту было поставлено больше, чем предполагали инженеры. В данный момент Ларри Пейдж и Сергей Брин вели переговоры о поставке поиска Google на крупнейший в интернете портал Yahoo и обещали увеличить поисковый индекс в десять раз, чтобы идти в ногу со Всемирной паутиной, которая за предыдущий год удвоилась в размере. Если краулеры не починят, google.com застрянет в прошлом, сделка с Yahoo может провалиться, а компания рискует сжечь полученные инвестиции и кануть в небытие.
Читать дальше →
Total votes 57: ↑50 and ↓7+43
Comments36

Программирование — не тяжелый физический труд, но все равно отстой

Reading time10 min
Views54K
Peter Welch
30 апреля 2014 г.
Об авторе. Peter Welch писатель и программист, автор книги «And Then I Thought I Was a Fish», автор блога «Still Drinking».


Изображение: Joe Raedle/Getty Images

Каждый мой друг, хотя бы дважды в неделю поднимающий на работе что-то тяжелее ноутбука, рано или поздно в разговоре невзначай бросает что-то вроде: «Бро, ты не пашешь на износ. Я только что отработал 4700-часовую неделю, копая тоннель под Мордором, используя отвертку»

Они правы. Мордор — отстой, и копание тоннеля гораздо трудозатратнее, чем тыкание в клавиши, если конечно вы не муравей. Но для галочки, давайте договоримся о том, что стресс и безумие — это плохо? Отлично.
Добро пожаловать в мир программирования
Total votes 80: ↑58 and ↓22+36
Comments33

Видео из 400000 фотографий Млечного Пути

Reading time1 min
Views14K


Телескоп «Спитцер» прислал на Землю огромное количество данных о нашей Галактике. «Спитцер» выведен на орбиту в 2003 году, и на момент запуска был крупнейшим в мире космическим инфракрасным телескопом (в 2009 году ситуация изменилась с запуском обсерватории «Гершель»). Наблюдение за космосом в инфракрасном диапазоне позволяет обнаружить множество практически невидимых в обычном диапазоне наблюдения объектов. Это остывающие звезды, газопылевые туманности и некоторые другие объекты.

При этом наблюдения в инфракрасном диапазоне идеально проводить именно с орбиты, поскольку атмосфера Земли поглощает тепловое излучение. При этом тепловое излучение проходит через космические пылевые облака, которые закрывают от наблюдения в видимом спектре (и некоторых других диапазонах) галактический центр и другие объекты.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments12

Математическая задача о 100 коробках и спасении заключенных

Reading time7 min
Views144K
Предлагаю читателям «Хабрахабра» перевод публикации «100 Prisoners Escape Puzzle», которую я нашел на сайте компании DataGenetics. Все ошибки по данной статье присылайте, пожалуйста, в личные сообщения.

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


Читать дальше →
Total votes 106: ↑103 and ↓3+100
Comments55

Нейроинтерфейсы: от фотобумаги до нейропыли

Reading time12 min
Views44K
Всё взаимодействие с внешним миром человек делает при помощи мышц (речь, пальцы, жесты и пр). Нейроинтерфейс позволяет править взаимодействовать с миром без мышечной активности. Первый шаг к «мозгам в банке». И к взлому мозга.

В фильме «Чаппи» при помощи ЭЭГ-шлема робот копировал сознание (как свое, так и человеческое), а DARPA тем временем научила парализованную женщину не только есть шоколадки, но и управлять малозаметным истребителем-бомбардировщиком пятого поколения F-35. На симуляторе.

Посылать аудио и видео сигнал напрямую в мозг научились еще несколько десятилетий назад. Сейчас в секретных лабораториях МГУ учат людей не только набирать текст «мыслью»(13–15 символов в минуту), но и устанавливать скрытый интерфейс «подсознание-компьютер», а в свободной продаже есть устройства любительские от 10.000 руб (NeuroSky, есть в свободном доступе в Хакспейсе) и вполне профессиональные за 200.000 руб (BioRadio, я в в Питере тестил)



О том, как мы докатились до жизни такой (про историю ЭЭГ и нейроинтерфейсов), речь пойдет под катом. (А также про первые попытки использования нейроинтерфейсов для ИБ).
Читать дальше →
Total votes 36: ↑35 and ↓1+34
Comments32

Анализ данных на Scala. Считаем корреляцию 21-го века

Reading time8 min
Views22K

Очень важно выбрать правильный инструмент для анализа данных. На форумах Kaggle.com, где проводятся международные соревнования по Data Science, часто спрашивают, какой инструмент лучше. Первые строчки популярноcти занимают R и Python. В статье мы расскажем про альтернативный стек технологий анализа данных, сделанный на основе языка программирования Scala и платформы распределенных вычислений Spark.

Как мы пришли к этому? В Retail Rocket мы много занимаемся машинным обучением на очень больших массивах данных. Раньше для разработки прототипов мы использовали связку IPython + Pyhs2 (hive драйвер для Python) + Pandas + Sklearn. В конце лета 2014 года приняли принципиальное решение перейти на Spark, так как эксперименты показали, что мы получим 3-4 кратное повышение производительности на том же парке серверов.
Подробности
Total votes 21: ↑20 and ↓1+19
Comments21

IBM представляет новое решение для борьбы с кибератаками

Reading time4 min
Views6.6K


Корпорация IBM объявила о том, что ее обширный архив данных об информационной безопасности теперь доступен на облачной платформе IBM X-Force Exchange. Эта платформа коллективного взаимодействия для борьбы с киберпреступностью содержит огромные объемы обобщенной информации об угрозах, рекомендации, практически реализуемые в IBM и других компаниях по всему миру, а также индикаторы атак в режиме реального времени.

Сегодня особенно ощущается нехватка надежной информации об угрозах, так как 80% кибератак проводят организованные преступные группы, в распоряжении которых есть вся необходимая информация, инструментарий и практический опыт для осуществления подобных действий. Несмотря на то, что хакеры стали более мобильными, поведение их жертв не изменилось. На данный момент большинство (65%) штатных отделов кибербезопасности используют множество независимых надежных и ненадежных источников информации для борьбы с кибератаками.
Платформа X-Force Exchange имеет в своем распоряжении огромный объем обобщенной информации IBM о безопасности, в том числе самый полный портфель исследовательских данных и технологий, таких как QRadar, опыт тысячи глобальных заказчиков, а также знания и навыки аналитиков и экспертов подразделения IBM Managed Security Services.
Читать дальше →
Total votes 11: ↑8 and ↓3+5
Comments1

Эксплуатация концептуальных недостатков беспроводных сетей

Reading time3 min
Views90K


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

Читать дальше →
Total votes 84: ↑74 and ↓10+64
Comments85

Wi-Fi сети: проникновение и защита. 1) Матчасть

Reading time9 min
Views621K


Синоптики предсказывают, что к 2016 году наступит второй ледниковый период трафик в беспроводных сетях на 10% превзойдёт трафик в проводном Ethernet. При этом от года в год частных точек доступа становится примерно на 20% больше.

При таком тренде не может не радовать то, что 80% владельцев сетей не меняют пароли доступа по умолчанию. В их число входят и сети компаний.

Этим циклом статей я хочу собрать воедино описания существующих технологии защит, их проблемы и способы обхода, таким образом, что в конце читатель сам сможет сказать, как сделать свою сеть непробиваемой, и даже наглядно продемонстрировать проблемы на примере незадачливого соседа (do not try this at home, kids). Практическая сторона взлома будет освещена с помощью Kali Linux (бывший Backtrack 5) в следующих частях.

Статья по мере написания выросла с 5 страниц до 40, поэтому я решил разбить её на части. Этот цикл — не просто инструкция, как нужно и не нужно делать, а подробное объяснение причин для этого. Ну, а кто хочет инструкций — они такие:
Используйте WPA2-PSK-CCMP с паролем от 12 символов a-z (2000+ лет перебора на ATI-кластере). Измените имя сети по умолчанию на нечто уникальное (защита от rainbow-таблиц). Отключите WPS (достаточно перебрать 10000 комбинаций PIN). Не полагайтесь на MAC-фильтрацию и скрытие SSID.

Оглавление:
1) Матчасть
2) Kali. Скрытие SSID. MAC-фильтрация. WPS
3) WPA. OpenCL/CUDA. Статистика подбора
Как работают WEP, WPA и WPS
Total votes 185: ↑176 and ↓9+167
Comments76

На github появились исходники кейлогеров, работающих на GPU

Reading time1 min
Views18K
imageНа сервере github появились два проекта, использующие неожиданную уязвимость – возможность исполнения шпионящих за компьютером программ при помощи видеопроцессора. Уязвимость была впервые описана в исследовательской работе 2013 года под названием "Печатать можно, спрятаться нельзя: кейлогер на основе GPU".

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

И вот, пожалуйста – проекты Jellyfish rootkit и Demon keylogger доказывают на деле возможность такого подхода. Никак не модифицируя ядро системы, они работают за счёт видеокарты. Вот что пишет создатель проекта под ником x0r1:
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments8

Очень большой Postgres

Reading time9 min
Views85K
Так уж случилось, что последнее время приходилось заниматься оптимизацией и масштабированием различных систем. Одной из задач было масштабирование PostgreSQL. Как обычно происходит оптимизация БД? Наверное, в первую очередь смотрят на то, как правильно выбрать оптимальные настройки для работы и какие индексы можно создать. Если обойтись малой кровью не вышло, переходят к наращиванию мощностей сервера, выносу файлов журнала на отдельный диск, балансировке нагрузки, разбиению таблиц на партиции и к всякого рода рефакторингу и перепроектированию модели. И вот уже все идеально настроено, но наступает момент, когда всех этих телодвижения оказывается недостаточно. Что делать дальше? Горизонтальное масштабирование и шардинг данных.


Читать дальше →
Total votes 48: ↑48 and ↓0+48
Comments28

Открыто видео курса «Multicore programming in Java» на русском (30+30 часов)

Reading time2 min
Views60K
Добрый день.

Я занимаюсь IT-преподаванием. Читал Java Core (материалы тут).
Сейчас написал и продаю курс «Scala for Java Developers»

В этом посте решил открыть видео двух курсов (проходивших в режиме вебинаров) по многопоточности под JVM (это 16 + 16 двухчасовых лекций).

Больше о материалах (программа, полезные ссылки) можно прочитать в постах-объявлениях о вебинарах (Программа курса «Multicore programming in Java» (25 марта 2014), Программа и материалы курса «Multicore programming in Java» (31 июля)).

Курс рассчитан на слушателей, которые начинают изучать многопоточность с нуля (после крепкого курса Java Core, Middle Developer из чистого web-а или перешедшим из скриптовых/интерпретируемых языков программирования). Он не будет подходить тем, кто перешел из «суровых» С/С++ или ищет «академической высоты».

Детально рассматриваются темы Hardware, New Java memory Model, java.util.concurrent (atomics, blocking queues, thread pool, locks, synchronizers), message passing alternative, software transactional memory alternative, Java 7 Fork/Join, Java 8 Parallel Streams (+Lambdas, +Stream API), CSP/JCSP alternative

Читать дальше →
Total votes 26: ↑23 and ↓3+20
Comments1

93 видео-лекции по Scala

Reading time4 min
Views38K
В ходе подготовки спецкурса «Scala for Java Developers» под платформу онлайн-обучения UDEMY, я анализирую другие «лекционные» видео. В библиотеке накопилось какое-то количество ссылок на дельных учебные материалы по Scala (видео на английском).

Для большинства видео указано количество просмотров. Надо сделать несколько замечаний:
1. Количество просмотров не является главным критерием качества и полезности видео, но этот может служить каким-то указателем на ценность.
2. Здесь не все популярное видео, что я встречал, а лишь то, что ценно по моему личному мнению.
3. Если кто-то знает еще хорошее видео — пишите, добавлю в списки.


Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments5

Information

Rating
Does not participate
Registered
Activity