Pull to refresh
20
0
Макс Е @tmin10

User

Send message

Определяем пользователей VPN (и их настройки!) и прокси со стороны сайта

Reading time6 min
Views175K
W.I.T.C.H.
We can save the day from dark, from bad
There's no one we need


Многие из вас используют VPN или прокси в повседневной жизни. Кто-то использует его постоянно, получая доступ к заблокированным на государственном или корпоративном уровне ресурсам, многие используют его изредка, для обхода ограничений по географическому положению. Как вы можете знать, крупные интернет-игроки в сфере стриминга видео, музыки и продажи игр никогда не любили пользователей, которые легко обходят географические ограничения, разблокируя недоступный в их стране контент, или совершая покупки заметно дешевле. За примерами не нужно далеко ходить: Netflix изменил свое соглашение об использовании, добавив пункт о блокировке VPN, всего 2 месяца назад; Hulu тоже грешил блокировкой пользователей, а Steam вообще подозрительно смотрит на не-русскоязычных пользователей из России. В последнее время, компании пытаются блокировать уже не конкретных пользователей, а сами IP-адреса VPN-сервисов, создавая определенные неудобства уже самому VPN-сервису и его пользователям. Похоже, они не используют никаких спецсредств, а блокируют выборочно и вручную. Хоть я и не поддерживаю какие-либо блокировки вообще, меня заинтересовала техническая часть вопроса: можно ли как-то определить использование прокси-серверов и VPN со стороны сервера, не прикладывая особых усилий?
Можно, при определенных условиях. И достаточно точно.
Читать дальше →

Знакомство с OsmocomBB: 0x02 Hardware

Reading time5 min
Views58K
Привет %username%! Для работы с OsmocomBB необходимо определенное оборудование, на базе которого работает программная часть, а именно: приемо-передающее устройство, Ваш компьютер, выступающий в роли сервера, и кабель, соединяющий их между собой. В роли приемо-передающего устройства (transreceiver) чаще всего выступает обычный сотовый телефон, на котором запущена кастомная прошивка. Для соединения телефона с компьютером может потребоваться преобразователь TTL-USB. Следую инструкциям, опубликованным на сайте проекта, точнее, собирая информацию по кусочкам, можно собрать рабочий аппаратный комплекс, однако на данном этапе начинающему исследователю GSM сетей может встретиться множество подводных камней. Давайте разберемся со всем по порядку.
Читать дальше →

Поиграем в отладку этой воскресной ночью?

Reading time4 min
Views27K
Вы когда-нибудь думали, что бывают игры, которые сами по себе являются языком программирования? Не обязательно Тьюринг-полным, но всё же языком. У меня есть отличный пример. Игровой процесс Нейрошимы-6 чудовищно похож на дебаг. Снаружи, конечно, смотрится как стратегия, но внутри – она, отладка, родная.

Посмотрите вот на эту картинку из жизни бойцов Пустошей.



Фишки с 20/20 – это командные центры, оставшиеся две — это фишки бойцов с ближней атакой по направлению треугольников по краям. Пока всё просто – синий робот с ножами бьёт желтого ковбоя, а ковбой бьёт по синему комцентру. Давайте усложним стек и запустим компиляцию.
Читать дальше →

Оптимизация картинок для Google PageSpeed

Reading time2 min
Views93K
Нет предела совершенству, и Google PageSpeed тому доказательство. С его помощью меньше чем за минуту можно получить подробный отчет о производительности Web страницы. В подавляющем большинстве случаев PageSpeed подскажет, что нужно оптимизировать графику. Это наиболее частая проблема и наиболее весомая.



Например, даже на стартовой странице Google Developers графику можно сжать на 71%. Чем меньше весят фотки – тем быстрее грузится сайт. Меньше картинки — меньше трафика — все работает быстрее. Посетители тратят меньше времени – все довольны.

В этом материале подобраны основные инструменты для оптимизации графики.
Читать дальше →

Робот-пылесос своими руками

Reading time4 min
Views141K
Поделюсь опытом создания дешевого робота-пылесоса из подручных средств и всемогущего китайского магазина. Изначально планировал просто изучить среду Arduino, но это изучение переросло в пылесос.

Необходимые детали:
— много плотного картона (бесплатно);
аналог arduino (210 р);
— маленькая макетка (80 р);
— 2 уз-дальномера (300 р);
— контроллер моторов — H-мост (80 р);
2 мотор-редуктора с колесом (600 р);
— блок аккумуляторов на +18v и контроллер заряда;
— пара метров витой пары;
— турбина от пылесоса;
— компьютерный кулер.
Читать дальше →

Как мы запускали метеозонд на Урале. Часть 1

Reading time8 min
Views80K
Запуск метеозонда в небо — есть старинная забава ученых и энтузиастов, со времен инцидента в Розуэлле (штат Нью-Мексико). Метеорологи запускают зонды для наблюдения за процессами в верхних слоях атмосферы. Кто-то запускает зонды в торнадо, чтобы узнать его структуру. Энтузиасты же, в основном, делают это для красивой картинки нашей родной планеты с высоты полета Фрэнсиса Гэри Пауэрса.

Наш хакспейс полон энтузиастов, и был лишь вопрос времени, когда мы проведем такое грандиозное мероприятие. Это время настало весной текущего года. Прохладным утром 11 апреля 2015-го, хакспейс MakeItLab вместе с сетью магазинов оптики «Четыре глаза» и несколькими другими организациями запустили метеозонд в «уральскую» стратосферу!

Надо сказать, мы решили сделать из запуска хорошее шоу, и организовали прямой видеолинк с зонда на большой телевизор. Куча школьников смогли наблюдать за собой сверху, с высоты полета быстро удаляющегося воздушного аппарата. Было очень круто! Разумеется, на борту была и обычная action-камера, которая запечатлела красоты почти-космоса. Наконец, мы отсняли наш марш бросок на 200 км за упавшим зондом. Обо всем этом читайте/смотрите под катом.
Читать дальше →

Монтаж печатной платы: быстрый старт с нуля

Reading time9 min
Views104K
Если вы помните мой предыдущий пост, там было высказано желание разобраться, что и как можно добавить к понравившейся мне модели, чтобы DIY forever. Большое спасибо пользователям UseTi, Phmphx, lomalkin и в особенности n4k4m1sh1, которые поделились интересными идеями на эту тему в комментариях. Понятно, что для поставленных целей нужны два навыка, один из которых — монтаж печатной платы. А значит сегодня мы будем паять, с нуля.



С полки детского магазина был взят очередной набор, конкретно этот.

Итак, тестируем «Набор Юного электронщика». Получится ли с его помощью собрать рабочие конструкции с нуля не имея предварительных навыков, как это до того у нас получилось с механической моделью?
Читать дальше →

Что посмотреть админам в перерыве между обжимом витой пары и подъёмом сервера

Reading time5 min
Views12K


В жизни каждого человека бывают такие случаи, когда на работе выдаётся свободная минутка. Такая, знаете, что можно успеть кино посмотреть. Системные администраторы тут не исключение. А поскольку их профессиональная деятельность тесно связана с использованием компьютеров (у кого сейчас не так?), то неудивительно, что и «свободные минутки» обычно проводятся за монитором.

Как и все люди (почти все), сисадмины любят смотреть кино. Вкусы у всех, ясное дело, разные, хотя не обходится и без шаблонов в стиле «сисадмины любят аниме». Но на предпочтениях людей всё же зачастую сказывается профессиональная специфика, и многие сисадмины ценят хорошие фильмы про компьютерные технологии, хакеров, вот это всё. Хотя то же самое можно сказать о представителях многих других IT-профессий, но сегодня не они наши герои. Так вот, когда у сисадмина выпадает «свободная минутка», будь то на работе или дома, надо её как-то продуктивно занять. Например, посмотреть кино. И именно для таких случаев мы предлагаем вам подборку «Фильмы для админов».
Читать дальше →

Реверс-инжениринг драйверов USB-устройств на примере машинки на радиоуправлении

Reading time10 min
Views55K
Перевод статьи DRIVE IT YOURSELF: USB CAR

image

Один из аргументов любителей Windows перед любителями Linux – недостаток драйверов для оборудования под эту ОС. С течением времени ситуация выправляется. Сейчас она уже гораздо лучше, чем 10 лет назад. Но иногда можно встретить какое-то устройство, которое не распознаётся вашим любимым дистрибутивом. Обычно это будет какая-нибудь USB-периферия.

Красота свободного софта в том, что эту проблему можно решить самостоятельно (если вы программист). Конечно, всё зависит от сложности оборудования. С трёхмерной веб-камерой у вас может и не получится – зато многие USB-устройства довольно просты, и вам не придётся нырять в глубины ядра или закапываться в С. В этом уроке мы с вами при помощи Python по шагам изготовим драйвер к игрушечной радиоуправляемой машинке.

Процесс по сути будет реверс-инженирингом. Сначала мы подробно изучим устройство, затем сохраним данные, которыми оно обменивается с драйвером в Windows, и попытаемся понять, что они означают. Для нетривиальных протоколов вам может потребоваться как опыт, так и удача.
Читать дальше →

Интерактивная карта торгового центра на HTML5 canvas

Reading time11 min
Views36K

Введение


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

Раз плюнуть, скажете вы – берём векторную карту торгового центра в svg и дополняем её данными. Красиво, современно, быстро. Даже есть готовые решения типа jVectorMap.

Только вот векторных карт нужных торговых центров нет, есть только те картинки, что предоставлены владельцами центров. Абсолютно разные по стилистике и наполнению. А большое количество центров (порядка 300) не позволяет перерисовать их в вектора быстро и дёшево. Да и добавление новых торговых центров потребует дополнительной работы.

Поэтому было решено использовать HTML5 canvas и для разметки карты, и для показа данных.

Выбор фреймворка


Работать напрямую с canvas API не очень удобно, но уже понапридумана куча инструментов для облегчения работы. Требования к фреймворку в нашем случае:
  1. Объектная модель поверх canvas API.
  2. Способность отрисовывать и масштабировать картинку.
  3. Интерактивность:
    • возможность манипуляции объектами на этапе разметки карты,
    • возможность масштабирования и перемещения по карте.
  4. Возможность экспорта/импорта размеченных объектов.
  5. Наличие детализированных событий.
  6. Высокая скорость отрисовки.

Под рассмотрение попали fabric.js, EaselJS, Raphaël, Paper.js и Processing.js.
Всем требованиям удовлетворяет fabric.js. Учитывая имеющийся небольшой опыт работы с ним, было решено взять его за основу. Далее в примерах использовалась версия 1.4.4.

Читать дальше →

Сноуден, Ассанж, Шварц, Napster, Anonymous и ThePirateBay — 5 фильмов, которые стоит посмотреть

Reading time3 min
Views33K
Лучше один раз увидеть, чем сто раз услышать. Руководствуясь этой нехитрой максимой представляю вам краткий обзор документальных must-see фильмов про интернет-активистов изменивших нашу реальность. Реальность, в которой мы живем создана (в том числе) усилиями этих людей.

Средняя длительность фильма 105 минут. Годы выхода на экран 2012-2015. Отсортированы в случайном порядке. Все есть на Пиратской бухте. Пять из шести определенно стоят просмотра!

1. Citizenfour [+++]



Документальный фильм Лауры Пойтрас, которая получила за него Оскара. Главным образом сконцентрирован на событиях непосредственно вокруг первого интервью Сноудена в Гонконге. Так же показывает Глена Гринвальда и других журналистов непосредственно вовлеченных в создание первых репортажей. Много уникального материала. Из запомнившегося — кадры строительства нового дата-центра АНБ, косяк Гринвальда не способного работать с gpg, Ассанж, называющий Сноудена сотрудником ЦРУ (в то время Сноуден проходил в СМИ как сотрудник АНБ).
hash:
799E43F3AFF3FA9AF8B7BFC2950501721829DDEE

Остальные фильмы

Если вы решили перейти с PHP на Python, то к чему следует подготовиться

Reading time14 min
Views192K
Думали ли вы когда-нибудь о том, что однажды слишком быстро втянулись в веб-программирование на PHP? И вот уже прошло много лет, у вас хороший опыт, и вы не думаете ни о каких других способах „делать“ веб, кроме как на PHP. Может быть, у вас возникают сомнения в правильности выбора, однако непонятно, как найти способ быстро его проверить. А хочется примеров, хочется знать, как изменятся конкретные аспекты деятельности.

Сегодня я попробую ответить на вопрос: «А что если вместо PHP писать на Python?».

Сам я долгое время задавался этим вопросом. Я писал на PHP 11 лет и даже являюсь сертифицированным специалистом. Я научился его «готовить» так, чтобы он работал в точности, как мне надо. И когда я в очередной раз читал на Хабре перевод статьи о том, как всё в PHP плохо, я просто недоумевал. Однако подвернулся случай пересесть на Ruby, а потом и на Python. На последнем я и остановился, и теперь попробую рассказать вам PHP-шникам, как нам питонистам живётся.


Python с точки зрения PHP-программиста...

Государство заплатит гражданам за знакомство с фондовым рынком

Reading time4 min
Views26K
image

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

Естественно, следует позаботиться о новичках, предоставив им возможность попасть на фондовый рынок без риска финансовых потерь. С 1 января 2015 года в России появился такой инструмент для начинающих — индивидуальный инвестиционный счет (ИИС).
Читать дальше →

Wi-Fi термометр на ESP8266 + DS18B20 всего за 4$

Reading time3 min
Views316K


В последнее время всё большую популярность набирают Wi-Fi модули на основе ESP8266. Я тоже решил приобщиться к прекрасному, задумав реализовать термометр, отдающий данные по HTTP. Итак, поехали.
Читать дальше →

Полная энергетическая автономия или как выжить с солнечными батареями в глубинке (часть 2. практическая)

Reading time8 min
Views528K


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



Собираем автономку

Фантастические фильмы для долгих зимних вечеров

Reading time5 min
Views71K


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

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

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

Reading time16 min
Views64K
Я занимаюсь разработкой программного обеспечения в роли ведущего программиста-проектировщика с конца 90х годов. Фриланс никогда не был основным источником моего дохода. Но в 2010 году я начал всерьез заниматься фрилансом как побочным видом деятельности, приносящим существенный доход (за несколько месяцев я вышел на уровень продаж порядка $5k в месяц с фрилансерских контрактов с практически нулевыми расходами на исполнение контрактов, за исключением моего времени). Позднее я переехал в Северную Америку, но фриланс продолжает оставаться для меня важным побочным бизнесом. Кроме того, в своей работе я постоянно общаюсь с фрилансерами, в т.ч. профессиональными full-time фрилансерами из Северной Америки.

В этой статье я хотел бы поделиться своим опытом работы на площадках вроде elance.com с коллегами из экс-СССР и дать конкретные рекомендации по входу на рынок, позиционированию услуг, конкуренции с демпингом из Южной Азии, а также дать ликбез по общей профессиональной подготовке.
Много текста с конкретными примерами

Реверс-инжиниринг протокола парктроника. Танец маленьких бит

Reading time12 min
Views62K
Привет, хабр!

В попытках свести все жизненные рабочие показатели своего автомобиля на один экран головного устройства дошла очередь и до подключения парктроника. Многие возразят — ведь даже у дешевых парктроников есть свой экранчик, зачем выводить данные куда-то ещё? Да просто лишний экранчик в салоне ставить не хочется, и покопаться в железе повод есть…

В статье постараюсь описать приёмы и инструменты для реверс-инжиниринга недокументированного протокола обмена двух железок между собой.
Читать дальше →

Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 3 из 6

Reading time6 min
Views97K

Содержание курса



Улучшение кода






Official translation (with a bit of polishing) is available here.




А что потом? Я разобрал весь материал!



В статьях 7 и 8 мы поговорим о программировании непосредственно под OpenGL. Есть ненулевая вероятность получить краткий курс OpenCL/CUDA в статьях 9+.

Удаление невидимых поверхностей


Знакомьтесь, это мой друг z-buffer головы абстрактного африканца. Он нам поможет убрать визуальные артефакты отбрасывания задних граней, которые у нас оставались в прошлой статье.



Кстати, не могу не упомянуть, что эта модель, которую я использую в хвост и в гриву, была любезно предоставлена замечательным Vidar Rapp.

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

Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 2 из 6

Reading time7 min
Views145K

Содержание курса



Улучшение кода






Official translation (with a bit of polishing) is available here.




Update:


Внимание, статья 4в даёт новую, более простую версию растеризатора.

Давайте знакомиться, это я.



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

В прошлый раз мы нарисовали проволочную сетку трёхмерной модели, в этот раз мы зальём полигоны. Точнее, треугольники, так как OpenGL практически любой полигон триангулирует, поэтому ни к чему разбирать сложный случай. Напоминаю, что этот цикл статей создан для самостоятельного программирования. Время, которое я здесь привожу — это не время чтения моего кода. Это время написания вашего кода с нуля. Мой код здесь только для того, чтобы сравнить ваш (рабочий) код с моим. Я совсем не являюсь хорошим программистом, поэтому ваш код может быть существенно лучше моего. Любая критика приветствуется, любым вопросам рад.

Пожалуйста, если вы следуете этому туториалу и пишете свой код, выкладывайте его на github.com/code.google.com и им подобные и давайте ссылки в комментариях! Это может хорошо помочь как и вам (другие люди могут чего посоветовать), так и будущим читателям.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Registered
Activity