Как стать автором
Обновить
15
0
Александр Кондрашин @aezhko

Разработчик

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

Добываем Wi-Fi соседа стандартными средствами MacOS

Время на прочтение5 мин
Количество просмотров358K
Я всегда был фанатом багов и уязвимостей «на поверхности», всегда завидовал чувакам, которые пишут эксплойты для самых защищённых ОС, а сам умел только скрипткиддить (термин из нулевых). Однако мой пост про уязвимости в системах контроля версий набрал более 1000 лайков на Хабре и остаётся топ1 постом за всю историю Хабра, несмотря на то, что был написан 9(!) лет назад.

И сегодня я хотел бы на пальцах показать и рассказать про такую штуку, как вардрайвинг. А точнее, как стандартными средствами MacOS можно добыть пароли от Wi-Fi соседей. Нелёгкая забросила меня на очередную квартиру. Как-то исторически сложилось, что я ленивый. Пару лет назад я уже писал, что моя лень, новая квартира и провод Beeline (бывшая Corbina) помогли мне найти багу у Билайна и иметь бесплатно интернет в их сети. «Сегодня» происходит «подобное», я на новой квартире, нет даже провода, но есть много сетей у соседей.


Заколебавшись расходовать мобильный трафик, я решил, что «соседям надо помогать», и под «соседями» я имел введу себя…
Читать дальше →
Всего голосов 163: ↑151 и ↓12+139
Комментарии249

Современный подход к сборке мусора

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


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

Вот первичный анонс о внедрении нового сборщика, датированный августом 2015-го:

В Go создаётся сборщик мусора (GC) не только для 2015 года, но и для 2025-го, и ещё дальше… Сборщик в Go 1.5 возвещает о наступлении будущего, в котором паузы на сборку больше не являются барьером для перехода на безопасный язык. Это будущее, в котором приложения без труда масштабируются вместе с оборудованием, и по мере роста мощности оборудования сборщик мусора больше не является сдерживающим фактором при создании более качественного, масштабируемого ПО. Go — хороший язык для использования как минимум в ближайший десяток лет.

Создатели утверждают, что они не просто решили проблему пауз на сборку мусора, а пошли куда дальше:

Одним из высокоуровневых способов решения проблем с производительностью является добавление GC-настроек (knobs), по одной на каждую проблему. Программист может менять их, подбирая наилучшую комбинацию для своего приложения. Недостатком этого подхода является то, что при внедрении каждый год одной-двух новых настроек через десять лет придётся законодательно регулировать труд людей, которые будут менять эти настройки. Go не пошёл по этому пути. Вместо кучи настроек мы оставили одну и назвали её GOGC.

Более того, освободившись от бремени поддержки десятков настроек, разработчики могут сосредоточиться на улучшении runtime’а приложения.

Не сомневаюсь, что многие пользователи Go были просто счастливы получить новый подход к runtime’у в Go. Но у меня есть претензии к этим заявлениям: они выглядят как недостоверный маркетинговый булшит. А поскольку они раз за разом воспроизводятся в Сети, пришло время подробно с ними разобраться.
Читать дальше →
Всего голосов 73: ↑71 и ↓2+69
Комментарии230

Конкурентность: Параллелизм

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

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


И, надеюсь, кому-нибудь это может оказаться полезно, ибо кто-нибудь может чего-нибудь не знать, или, наоборот, окажется полезно мне, если кто-нибудь покажет что-нибудь ещё/укажет на изъяны в моих знаниях.


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

Идеальный программист. Часть 2

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


Это вторая часть статьи по книге Роберта Мартина «Идеальный программист». В первой части статьи мы начали изучать, чем идеальный программист отличается от не идеального. Рассмотрели ответственность, научились говорить «нет» нереальным задачам и говорить «да» так, чтобы заказчик был, уверен, что всё будет готово вовремя. Мы определились, как писать код, принимать помощь и помогать другим. Продолжим.
Читать дальше →
Всего голосов 50: ↑37 и ↓13+24
Комментарии19

Лекции Технотрека. 1 семестр. Разработка на Java (весна 2016)

Время на прочтение3 мин
Количество просмотров36K
Продолжаем публикацию наших свежих образовательных курсов. За 14 лекций Технотрека вы получите необходимые навыки и опыт в области разработки на Java, узнаете синтаксис и основные библиотеки языка, начнете понимать объектно-ориентированный подход, сможете декомпозировать сложные задачи.

Курс ведут Рустам Кильдиев, Java/Scala-разработчик мобильного ПО, и Дмитрий Архангельский, инженер-разработчик в Одноклассниках.

Лекция 1. «Знакомство с платформой Java»



Вводное занятие, на котором кратко дается описание всего курса. Основная задача курса — не просто научить синтаксису, а дать практические навыки и понимание основ. Курс выстроен так, чтобы, выполняя небольшие задачи, написать проект «Бэкенд к мессенджеру».
Всего голосов 36: ↑34 и ↓2+32
Комментарии7

Как работает Git

Время на прочтение19 мин
Количество просмотров148K
В этом эссе описана схема работы Git. Предполагается, что вы знакомы с Git достаточно, чтобы использовать его для контроля версий своих проектов.

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

Текст разбит на серии команд, работающих с единым проектом. Иногда встречаются наблюдения по поводу структуры данных графа, лежащего в основе Git. Наблюдения иллюстрируют свойство графа и поведение, основанное на нём.

После прочтения для ещё более глубокого погружения можно обратиться к обильно комментируемому исходному коду моей реализации Git на JavaScript.
Читать дальше →
Всего голосов 110: ↑99 и ↓11+88
Комментарии38

Укрощаем асинхронные процессы в Android с RxJava. Опыт Яндекса

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

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


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


Рассказывать обо всём я буду на примере приложения Яндекс.Недвижимость и его
главного экрана с картой.


Скриншот

Для начала посмотрим на экран и разберёмся, что на нём происходит и что нам
предстоит реализовать.


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

Как посчитать перестановки. Лекция в Яндексе

Время на прочтение22 мин
Количество просмотров27K
Некоторое время назад в московский офис Яндекса приезжал Игорь Пак — ученый с множеством научных работ, выпускник мехмата МГУ и аспирантуры Гарварда. Сейчас Игорь работает в Калифорнийском университете. Его лекция в Яндексе была посвящена различным классам последовательностей и перестановкам. В том числе прямо по ходу лекции он представил выкладки, опровергающие гипотезу Нунана и Зайлбергера — одну из ключевых в области перестановок.



Под катом — подробная текстовая расшифровка и большинство слайдов.
Всего голосов 57: ↑57 и ↓0+57
Комментарии12

Трамплин вызова магических функций в PHP 7

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


В этой статье мы подробно рассмотрим оптимизацию в виртуальной машинe в PHP 7 (виртуальной машине Zend). Сначала коснёмся теории трамплинов вызовов функций, а затем узнаем, как они работают в PHP 7. Если вы хотите полностью во всём разобраться, то лучше иметь хорошее представление о работе виртуальной машины Zend. Для начала можете почитать, как устроена ВМ в PHP 5, а здесь мы поговорим о ВМ PHP 7. Хотя она и была переработана, но действует практически так же, как и в PHP 7. Поэтому если вы разберётесь в ВМ PHP 5, то разобраться с ВМ PHP 7 не составит никакого труда.
Читать дальше →
Всего голосов 56: ↑55 и ↓1+54
Комментарии26

Современная операционная система: что надо знать разработчику

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

Александр Крижановский (NatSys Lab.)


Александр Крижановский

Нас сегодня будет интересовать операционная система – ее внутренности, что там происходит… Хочется поделиться идеями, над которыми мы сейчас работаем, и отсюда небольшое вступление – я расскажу о том, из чего состоит современный Linux, как его можно потюнить?

По моему мнению, современная ОС – это плохая штука.




Дело в том, что на картинке изображены графики сайта Netmap (это штуковина, которая позволяет вам очень быстро захватывать и отправлять пакеты сетевого адаптера), т.е. эта картинка показывает, что на одном ядре с разной тактовой частотой до 3 ГГц Netmap позволяет 10 Гбит – 14 млн. пакетов в сек. отрабатывать уже на 500 МГц. Синенькая линия – это pktgen – самое быстрое, что, вообще, есть в ядре Linux’а. Это такая штуковина – генератор трафика, который берет один пакет и отправляет его в адаптер много раз, т.е. никаких копирований, никакого создания новых пакетов, т.е., вообще, ничего – только отправка одного и того же пакета в адаптер. И вот оно настолько сильно проседает по сравнению с Netmap (то, что делается в user-space показано розовой линией), и оно вообще где-то там внизу находится. Соответственно, люди, которые работают с очень быстрыми сетевыми приложениями, переезжают на Netmap, Pdpdk, PF_RING – таких технологий море сейчас.
Читать дальше →
Всего голосов 102: ↑94 и ↓8+86
Комментарии51

Структуры данных для самых маленьких

Время на прочтение22 мин
Количество просмотров337K
James Kyle как-то раз взял и написал пост про структуры данных, добавив их реализацию на JavaScript. А я взял и перевёл.

Дисклеймер: в посте много ascii-графики. Не стоит его читать с мобильного устройства — вас разочарует форматирование текста.


Читать дальше →
Всего голосов 91: ↑87 и ↓4+83
Комментарии51

Взлёт и падение (в основном падение) Yahoo

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


Недавно компания Yahoo сообщила, что продаёт сотовому оператору Verizon свои основные профильные активы за 4,8 млрд. долларов. Это лишь немногим больше, чем Verizon в прошлом году заплатила за AOL  — другую потерпевшую неудачу компанию эпохи взлёта интернета.

Рыночная капитализация Yahoo в 2000 году составляла 125 млрд. долларов. Следующие 16 лет она постоянно снижалась, в основном из-за бездействия и упущенных возможностей.

Можно составить целый MBA-курс, исследуя все грубые стратегически ошибки, которые сделала Yahoo. Я сэкономлю вам некоторую сумму на обучение и дам краткую справку прямо здесь, за 5 минут.
Читать дальше →
Всего голосов 50: ↑48 и ↓2+46
Комментарии36

Результаты и разбор задач финала Яндекс.Алгоритма 2016

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

29 июля в Минске прошёл финальный раунд чемпионата по программированию Яндекс.Алгоритм. Победителем стал Егор EgorK Куликов — выпускник мехмата МГУ и бывший сотрудник Яндекса. Второе место — у Николы Йокича из Швейцарской высшей технической школы Цюриха. В составе команды школы он был финалистом ACM ICPC. Третье место занял Макото Соэдзима, выпускник Университета Токио. Геннадий Короткевич, победитель двух предыдущих Алгоритмов, занял шестое место.


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


image


В этом году мы получили на четверть больше заявок на участие в Алгоритме, чем год назад, — 4578. Среди участников пока немного девушек — 372. В списке зарегистрировавшихся есть представители 70 стран; больше всего соревнующихся — из России, Индии, Украины, Беларуси, Казахстана, США и Китая. В финале приняли участие 25 человек.


Задачи для Яндекс.Алгоритма составляют сотрудники Яндекса и приглашённые эксперты, среди которых — финалисты и призёры ACM ICPC. По условиям состязания, участники могут использовать разные языки программирования. Статистика Яндекс.Алгоритма показывает, что самый популярный язык — С++; его выбрали более двух тысяч человек. Второе место поделили Python и Java.

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

Повесть «НИИЧОСИ. Дежурная ночь»

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


Работа в крупной IT-компании на дежурствах в отделе центра обработки данных накладывает свои отпечатки на образ жизни. В ночных дежурствах родилась данная повесть. Представляю вашему вниманию it-параллель с братьями Стругацкими.
Читать дальше →
Всего голосов 52: ↑47 и ↓5+42
Комментарии28

Онлайн чат для веб-сайтов: self-hosted/open source

Время на прочтение2 мин
Количество просмотров13K
Прошло немало времени, прежде чем на сайте интернет-магазина нашей компании появился онлайн чат. До этого как-то удавалось обходиться функционалом тикет-системы osTicket и классической телефонной связи, руководствуясь логикой «тот кому надо купить, должен обладать неподдельным желанием это сделать». Но я сам начал сталкиваться с ситуациями, когда звонить и висеть на линии откровенно влом, а ждать ответа на почту слишком долго. Формат чата оказался той самой золотой серединой. Начинаешь диалог и раз в 5 минут, занимаясь своими делами, получаешь нужные тебе ответы от оператора на другой стороне. А по итогу можно отправить транскрипт себе на почту. Да простят меня все создатели и пиарщики комерческих веб-чатов… Первоклассный open source под катом.
Читать дальше →
Всего голосов 17: ↑14 и ↓3+11
Комментарии29

Ansible-container: новый шаг в управление контейнерами

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


Недавно разработчики Ansible анонсировали новый проект Ansible Container. Проект нас очень сильно заинтриговал, и мы решили рассмотреть его поближе.
Ansible уже давно стал незаменимым инструментом в вопросах создания, сборки, деплоя образов docker-контейнеров и самих docker-контейнеров, благодаря соответствующему модулю.
Ранее для провиженинга docker-контейнеров с помощью Ansible необходим был запущенный в контейнере sshd, но в версии 2.1 в Ansible был добавлен Docker connection plugin, благодаря которому стало возможно запускать плейбуки не только на физических/виртуальных машинах, но и внутри docker-контейнеров и отпала необходимость использования sshd внутри docker-контейнера.

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

Торрент с 427 000 000 паролей MySpace

Время на прочтение4 мин
Количество просмотров35K
Добрые люди выложили в открытый доступ базу паролей MySpace, которая некоторое время ходила по подпольным форумам и продавалась за большие деньги. Теперь она бесплатна и открыта для всех.

База с 427 миллионами паролей — самая большая коллекция паролей за всю историю утечек с разных сайтов, коих было немало в последние годы.

Myspace.com.rar (14,2 ГБ)
Пароль на RAR-архив: KLub8pT&iU$8oBY(*$NOiu

Скачать


SHA1: 8C7E FFE4 3486 C617 E1B4 E295 DBF7 9E10 01AC 86BD
SHA256: 5FA0 5F95 1EFD DA18 8A2E 3D50 8948 1A4F AACA 311E C559 205F EB15 B2BB F7DE EC61

Торрент
magnet:?xt=urn:btih:17E6FC94DAE0A3168301012C290A53A2BD314A28
Читать дальше →
Всего голосов 16: ↑11 и ↓5+6
Комментарии39

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность