Pull to refresh
18
0
Рустам @mester

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

Send message

Удаленная работа или фриланс в глубинке. Аспекты связи. Часть 2. Есть связь

Reading time8 min
Views45K
В предыдущей статье я затронул тему «дачного» интернета и устройств для получения этого интернета. Вот только не у всех вышка сотовой сети находится в пределах видимости, а модем-свисток сотового оператора может оказаться просто бесполезным. И тут на помощь приходят специальные роутеры, усилители и направленные антенны. В этом материале я расскажу, как можно добиться уровня комфорта работы в Интернете, сравнимого с городским.


Даешь связь!
Total votes 18: ↑16 and ↓2+14
Comments20

Я тебя по сетям вычислю: используем API крупнейших соцсетей в своих корыстных целях

Reading time11 min
Views175K


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

Есть в американской разведке такая дисциплина, как OSINT (Open source intelligence), которая отвечает за поиск, сбор и выбор информации из общедоступных источников. К одному из крупнейших поставщиков общедоступной информации можно отнести социальные сети. Ведь практически у каждого из нас есть учетка (а у кого-то и не одна) в одной или нескольких соцсетях. Тут мы делимся своими новостями, личными фотографиями, вкусами (например, лайкая что-то или вступая в какую-либо группу), кругом своих знакомств. Причем делаем это по своей доброй воле и практически совершенно не задумываемся о возможных последствиях. На страницах журнала уже не раз рассматривали, как можно с помощью различных уловок вытаскивать из соцсетей интересные данные. Обычно для этого нужно было вручную совершить какие-то манипуляции. Но для успешной разведки логичнее воспользоваться специальными утилитами. Существует несколько open source утилит, позволяющих вытаскивать информацию о пользователях из соцсетей.
Читать дальше →
Total votes 89: ↑83 and ↓6+77
Comments22

Бесплатная онлайн школа Android-разработчиков

Reading time2 min
Views89K


Первый Android телефон T-Mobile G1 был представлен в октябре 2008, а сейчас уже насчитывается более 1 миллиарда активных пользователей платформы по всему миру. По статистике 1,5 миллионов Android-устройств активируется каждый день. Приложения и разработчики являются основной составляющей Android экосистемы, поэтому для нас задача обучения и помощи разработчикам является одной из самых приоритетных.

Сегодня компании e-Legion и Google совместно запускают первую онлайн школу мобильных Android–разработчиков.

Начиная с 2011 года компания-разработчик мобильных приложений e-Legion организовывала бесплатные оффлайн школы мобильных разработчиков. Первой стала iOS-школа, которая собрала больше 200 заявок и выпустила 12 студентов осенью 2011 года. Потом были школы мобильных разработчиков под Windows Phone и Android. С каждым анонсом на Хабре нас ждал вопрос о том, будет ли запись лекций и можно ли поучаствовать тем, кто живет не в Питере. Каждый раз мы отвечали что-то из серии «скоро все будет». И вот, наконец-то, это «скоро» наступило. Мы решили создать школу, в которую сможет поступить желающий из любого города и которую можно пройти дистанционно.
Хочу участвовать
Total votes 45: ↑44 and ↓1+43
Comments41

Ваш wi-fi расскажет мне, где вы живёте, где работаете и где путешествуете

Reading time3 min
Views146K

Москва вайфайная

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

Пробы WiFi


Чтобы соединиться с уже известными сетями, которые не сообщают о своём присутствии, все ваши мобильные устройства отправляют пробные пакеты, чтобы найти известные им сети. Эти пакеты можно перехватить, когда телефон включается, или когда он отсоединяется от сети. Для этого используются обычные инструменты — airodump / tcpdump. Пример:

# airodump-ng -w wifi-dump wlan0
# tcpdump -n -l -e -r wifi-dump.cap |
    grep 'Probe Request ([^)]'


Вывод содержит время, MAC-адрес устройства и имя сети. Пример:

16:32:26.628209 BSSID:ff:ff:ff:ff:ff:ff DA:ff:ff:ff:ff:ff:ff SA:50:ea:d6:aa:bb:cc
    Probe Request (SUBWAY) [1.0 2.0 5.5 11.0 Mbit]


То бишь, устройство 50:ea:d6:aa:bb:cc проверяло, есть ли сеть SUBWAY в пределах доступности.

Ну и что тут плохого?


Ну испускают они эти пакеты с именами сетей. Подумаешь.
Читать дальше →
Total votes 64: ↑61 and ↓3+58
Comments51

Брутфорс паролей инженерного меню радиостанции

Reading time5 min
Views39K
image

Что такое инженерное меню и зачем оно нужно? Позволю себе процитировать из wiki:
Недокументи́рованные возмо́жности (англ. undocumented features), НДВ — возможности технических устройств и/или программного обеспечения, не отраженные в документации. Чаще всего недокументированные возможности сознательно закладываются разработчиками в целях тестирования, дальнейшего расширения функциональности. Недокументированные возможности обнаруживаются, обычно, в процессе обратной разработки, но могут быть обнаружены и случайно.
Далее в статье, описание моей попытки подобрать коды к инженерному меню радиостанции.
Читать дальше →
Total votes 59: ↑58 and ↓1+57
Comments64

Пол-пикселя?

Reading time3 min
Views74K
По-русски если гуглить «полпикселя», везде какая-то истерика: пиксель не делится, и всё тут. По-английски всё чинно :) например. Полпикселя существует, но браузеры пока плохо их рендерят. Местами реагируют на доли пикселя (например, в параметрах шрифтов), но чаще любят округлять до целого.

Почему так? Раньше понятно, железо не позволяло прорисовывать «половинки». Сейчас им лень. Но каких-то подвижек можно ожидать: технология Flash уже поддерживает точность до 1/20 пикселя.

Что такое пиксель?


По терминологии Google, у слова «пиксель» есть 3 значения:
1. Элемент матрицы экрана. Например, в LCD-экранах один пиксель — 3 светящихся элемента (RGB).
2. Device-independent pixel (dip) — масштабированный, «кажущийся» размер пикселя, который на любом экране смотрится одинаково. Тут учитывается типичное расстояние от глаз до девайса.
3. CSS-пиксель. Например, width: 20px;

Так бывает ли полпикселя?
Total votes 87: ↑67 and ↓20+47
Comments52

Что нужно знать, чтобы хорошо рисовать?

Reading time5 min
Views256K


Давид Ревуа — прекрасный художник, работающий со свободным программным обеспечением, постоянный член сообществ Krita Foundation и Blender Institute, концепт-художник анимационных проектов Gooseberry Open Movie Project, Mango Open Movie Project (Tears of Steel) и Durian Open Movie Project (Sintel). В этой статье он делится с начинающими художниками списком знаний, которые необходимо приобрести, чтобы работы получались реалистичными. Он обращает внимание, что для рисования «в цифре» следует обзавестись теми же навыками, что и в традиционной технике. Итак, приобщимся к его опыту.
Читать дальше →
Total votes 134: ↑128 and ↓6+122
Comments113

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

Reading time3 min
Views35K


В первый рабочий день нового года хотелось бы обратить внимание владельцев сайтов на рекламу, которую они публикуют. Ваш сайт работает на HTTPS, как и все рекламные скрипты? Вы используете новейшие версии ПО, поддерживаете только безопасные протоколы и наборы шифров? А система рекламы?
Добро пожаловать в 2015 год!
Total votes 96: ↑92 and ↓4+88
Comments17

Красивое падение: CSS3-анимация с гравитацией

Reading time3 min
Views51K
Давным давно (летом 2014), когда я усиленно работал с оформлением, передо мной возникла следующая проблема. Я хотел использовать CSS3 для создания эффекта прыгающего мячика с учетом естественных законов физики. Я прошерстил Интернет в поисках какого-нибудь способа, чтобы «вдохнуть» гравитацию в мой мячик.

После нескольких часов просматривания Stackoverflow и доков CSS, я нашел несколько опций, но это все равно не до конца меня устроило. Использование Javascript и Jquery было бы лишним и неэффективным для такой простой задачи, которая, как кажется, должна легко решаться с использованием существующих опций для анимации в CSS3.

Я сначала попытался использовать переходы ease-in (ease-out), которые представлены CSS. Но несмотря на то, что они выглядели достаточно плавными, было слишком сложно добиться ощущения естественности. И каждый новый прыгающий объект нуждался бы в совершенно новой функции, подобрать которую очень трудоёмко. Многие сайты, которые я посещал, предлагали использовать громоздкие keyframe-функции для описания анимации каждого прыжка. Код этих функций выглядит слишком сложным и избыточным. Более того, полученные прыжки объекта выглядели отрывистыми и непрофессиональными.
Решение задачи
Total votes 58: ↑37 and ↓21+16
Comments12

Верстка email рассылок от А до Я для чайников

Reading time9 min
Views403K
Уже 3 с лишним года занимаюсь дизайном и версткой почтовых рассылок, которые ориентированы на англоязычных пользователей. За время работы перелопатили огромную кучу информации, перепробовали много вариантов верстки, набили достаточное количество шишек. Были найдены и исправлены типичные баги, которые в той или иной мере повторялись во всех почтовых клиентах. Также нашлись проблемы с некоторыми CSS свойствами — различные почтовые клиенты интерпретировали их по разному. Каждое письмо тестировалось на самых популярных почтовых клиентах: Gmail, Outlook, Yahoo, Android, iOS, MozillaThunderbird, Microsoft Outlook, The Bat. Рассылки ходят на сотни миллионов пользователей и приносят очень хорошие результаты. Итак, приступим к изучению.
Читать дальше →
Total votes 66: ↑62 and ↓4+58
Comments35

ECMAScript 6

Reading time7 min
Views135K
Границы моего языка олицетворяют границы моего мира.
— Людвиг Витгенштейн

Последние несколько месяцев я пишу только ECMAScript 6 код, воспользовавшись трансформацией [1] в поддерживаемые в настоящее время версии JavaScript.
Читать дальше
Total votes 39: ↑36 and ↓3+33
Comments34

Хотите распределить элементы, привязавшись к их количеству, на одних стилях? Да запросто

Reading time3 min
Views24K
Альтернативное название статьи – «почти :child-count(n)». Потому что именно так оно все и работает. На голом CSS и без каких-либо дата-атрибутов или чего-либо еще в верстке.

Представьте, что у вас есть, например, какая-нибудь лента новостей. Неважно, какая. Главное, что вы не знаете, сколько в ней будет элементов, и как их расставить так, чтобы было симметрично. И хочется сделать что-то бесполезное, но красивое: например, расставить все в две колонки, а некоторые блоки вставить во всю ширину. Каждый третий, или каждый пятый.

Конечно же, если у вас четыре элемента, а третий вы сделали во всю ширину – последний будет свешиваться в конце. Поэтому нужно применять такую красивую и бесполезную вещь только в том случае, если количество элементов кратно трем. А если их нечетное число(но не кратное трем) — нужно делать, например, последний элемент во всю шинину.
Вот так, например:



Как же это сделать?
Total votes 51: ↑43 and ↓8+35
Comments19

Честные приватные свойства в прототипе

Reading time2 min
Views12K
Привет!

За последние 10 лет(С днем рождения, prototype.js!) было написано очень много библиотек для эмуляции полноценного ООП в javascript.
Все они, так или иначе, решали задачу реализации приватных членов класса.

Копьев сломано много и в итоге разработчики разделились на 2 части:
Первая прячет приватные свойства в scope конструктора и отказывается от использования прототипов(создает методы для каждого экземпляра объекта заново), вторая просто использует соглашение в именах вроде "_privateProperty" и по сути никак не инкапсулирует данные.

Но есть еще один, на мой взгляд, интересный способ со своими плюсами и минусами:
Total votes 22: ↑16 and ↓6+10
Comments31

Сравнение производительности перебора массивов в цикле через for() и foreach()

Reading time3 min
Views30K
Я хотел бы обратить внимание на одну не очевидную особенность php.
Допустим у нас есть массив с целочисленными индексами
$arr = array( $val1, $val2, ..., $valn );
Этот массив можно перебрать в цикле двумя способами
foreach($arr as $k => $v ) {...}
и
$n = count( $arr );
for($k = 0; $k < $n; $k++ ) {...}

Кажется вполне очевидным, что второй способ должен быть, если и не быстрее, то уж точно не медленнее.
Давайте разберемся.
— Нет. Никаких бенчмарков. Только код!
Читать дальше →
Total votes 95: ↑59 and ↓36+23
Comments49

5 способов сделать ваш сайт легче и быстрее, от David Walsh

Reading time4 min
Views21K
Предлагаю читателям «Хабрахабра» перевод упомянутой в дайджете статьи «5 Ways to Make Your Site Smaller and Faster» из блога Девида Уэлша (David Walsh)

Исповедь: Раз в неделю я говорю, что мне искренне жаль, что я был ребенком, который проводил свой рабочий день подстригая траву и занимаясь озеленением. Почему? Потому что в конце дня, хозяева могли сказать «трава подстрижена, работа завершена». Как веб-разработчики, мы никогда не можем сказать это, или можем? Сайт всегда может быть более эффективным — всегда есть стратегии для уменшения количества байт. Всегда. До тех пор, пока мы это внутренне осознаем, и постоянно повторяем — «сайт не достаточно хорош». Чтобы ежедневно быть великим разработчиком, мы почти обречены чувствовать/ощущать, что наша работа как будто не достаточно хороша — что за негативный способ проживать наши жизни!
Читать дальше →
Total votes 13: ↑8 and ↓5+3
Comments7

Алгоритм формирования кроссвордов

Reading time10 min
Views37K
Эта история начинается с публикации «Самый сложный кроссворд, составленный компьютером». В ней приведен один из самых сложных кроссвордов, составленных программой (см. ниже).



Я был уверен, что все кроссворды давным-давно генерируются программно и был несколько удивлен тем, что это может быть проблемой. Замечу, что речь идет именно о «канадских» кроссвордах, в которых каждое слово имеет пересечение с другим словом на каждой букве или очень близких к ним по сложности. В моей работе аналитика, не так много действительно сложных задач, поэтому мне стало интересно попробовать разработать алгоритм, который мог бы это сделать. Результат размышлений, подкрепленный программой для генерации кроссвордов, приводится в этой статье.
Читать дальше →
Total votes 39: ↑39 and ↓0+39
Comments15

Must-read книги за 2014 год по ИБ и программированию

Reading time7 min
Views110K
Пока вся страна готовится к новому экономическому кризису, судорожно скупая всевозможные товары, продукты и недвижимость, мы предлагаем всем заняться саморазвитием, вложиться в себя. Ведь гречка с макаронами скоро будут съедены, но зато на новые харчи можно будет заработать, вложив время в самообразование. Сами понимаете, в непростые времена выгодно быть универсальным, неприхотливым и не болеющим. О последних двух качествах, возможно, поговорим отдельно, а сейчас обсудим ассортимент наиболее интересной литературы по информационной безопасности и программированию, опубликованной в 2014 году.

Безопасность


Тактика хакера: практическое руководство по тестированию на проникновение (The Hacker Playbook: Practical Guide To Penetration Testing)




Книга написана в стиле планирования футбольной игры. Здесь подробно и пошагово разобраны проблемы и трудности, с которыми сталкиваются специалисты по безопасности, тестируя системы защиты. В частности, рассматриваются атаки на различные типы сетей, обход антивирусов и взлом систем безопасности. Автор книги — Питер Ким, специалист по IT-безопасности с многолетним опытом, CEO компании Secure Planet.
Читать дальше →
Total votes 79: ↑60 and ↓19+41
Comments17

Одиннадцатиклассница, или тестируем баги вёрстки

Reading time6 min
Views85K


В современном вебе несправедливо мало внимания уделяется хоть сколько-нибудь автоматизированному тестированию UI. Особенно это касается статической вёрстки. На проекте 2ГИС Онлайн мы попытались частично восполнить этот пробел. Какие полезные практики мы приобрели, и о каких хороших библиотеках мы узнали, расскажем далее.
Получить плюс пять к качеству
Total votes 76: ↑66 and ↓10+56
Comments88

Настольная игра для самых маленьких программистов (от 7 лет)

Reading time2 min
Views57K
Мы тут весь год общались с детскими психологами и вообще много думали о теме детского образования. Как один из результатов — сделали игру на развитие логики.



В общем, юному программисту нужно будет написать стек действий для таксиста. Чтобы довезти пассажира куда надо с первого раза. Сразу говорю — можно играть и с 4-5 лет. Как обычно, если ребёнок — сын инженера, смело вычитайте 2 года из минимального возраста.
Читать дальше →
Total votes 95: ↑88 and ↓7+81
Comments76

Проблемы даты и времени в JS

Reading time3 min
Views87K


Редкому программисту случается избежать работы с датой и временем. Вообще, дата/время — базовое понятие и в основной массе языков существуют встроенные механизмы работы с этим типом данных. Казалось бы, JS не исключение, есть встроенный тип Date, есть куча функций в прототипе, однако…
Читать дальше →
Total votes 52: ↑38 and ↓14+24
Comments55
1
23 ...

Information

Rating
Does not participate
Location
Башкортостан(Башкирия), Россия
Date of birth
Registered
Activity