Pull to refresh
0
0

User

Send message

Повсеместное размытие спутниковых фотографий раскрывает местонахождение секретных баз

Reading time4 min
Views61K

Как заинтриговать аналитика, занимающегося спутниковыми фотографиями? Размыть их.


image

Google Earth периодически размывает фото по запросу правительства, желающего помешать любопытным взорам изучить некоторые из наиболее чувствительных военных или политических объектов. Франция, к примеру, попросила Google затенить все изображение тюрем, после того, как французский гангстер успешно организовал побег из тюрьмы, вдохновлённый голливудом: он использовал дроны, дымовые шашки и даже украденный вертолёт – и Google согласилась сделать это до конца 2018 года. По той же схеме старый закон в Нидерландах требует от местных компаний размывать спутниковые фотографии, на которых есть военные и королевские объекты – один раз даже компания, предоставляющая спутниковые фотографии, подредактировала фото, на которое попала воздушная база Волкел, после того, как это фото приобрёл Ханс Кристенсен.
Читать дальше →
Total votes 74: ↑66 and ↓8+58
Comments148

Мой опыт создания «без умного» дома

Reading time16 min
Views95K
Пришло и мое время поделится своим опытом создания «без умного» дома. Вступать в полемику, что же все таки такое умный дом и что он должен уметь делать, не очень хочется. В моем случае будем приручать wifi модули Sonoff от компании ITEAD и учиться включать/выключать «нагрузку» с телефона. В публикации пойдет речь, как прошить модуль, подключим к модулю сенсор температуры/влажности, научимся управлять модулем через приложение HomeKit («Дом») и Siri. Добавим ко всему этому систему управления умным домом Domoticz на raspberry pi. Добавим wifi к кофемашине и научим Siri открывать домофон.
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments37

Используем пакеты на основе OpenWRT в рутерах ZyXel Keenetic

Reading time3 min
Views89K
image

Не так давно компания ZyXel с помощью модуля открытых пакетов поддержала OPKG — пакеты из популярной ОС OpenWRT, предназначенной для домашних маршрутизаторов. Это значит, что часть из них теперь можно ставить на ZyXel Keenetic. В этой статье я опишу процесс включения пакета, настройки репозитория Entware с тысячами пакетов, а также настройки рутера как OpenVPN клиента.

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

Библиотека, облегчающая разработку форм на сайтах (v3)

Reading time6 min
Views23K

Привет, Хабр!


Как-то, год назад я писал о своей небольшой библиотеке, которая облегчает разработку форм на сайтах. Недавно я выпустил 3-ю версию, которая, по-сути, была переписана с нуля, чтобы стать правильней и удобней. Но в своей статье я не буду повторять README и ДЕМО, а лучше покажу на практике, каким образом она помогает писать меньше кода.

Читать дальше →
Total votes 34: ↑26 and ↓8+18
Comments24

Пишем расширение под PHP (7.0.7) без знаний о С/C++ и как это вообще работает

Reading time7 min
Views19K
Можно ли написать свой модуль (расширение) к PHP без особых знаний, требующих большого времени изучения теории? Если умеешь программировать на самом PHP, то написать простейший код на С не составит особого труда, тем более, что PHP позволяет генерировать каркас под разрабатываемое расширение, в рамках которого потом пишешь код. Есть еще набирающий популярность зефир на хабре для этого вопроса. Данная публикация для тех, кто решил покопаться в исходниках PHP, немного посмотреть его внутренности, преследуя цель лишь поверхностного исследования. В данный момент я тот же самый исследовать без необходимых знаний. На собеседованиях по PHP часто просят написать код подсчета факториала. Вот такую функцию мы и напишем сейчас на С, которую потом можно вызывать из кода PHP. Я буду описывать действия, которые я сам делал и при этом ничего не знаю изначально по этой части. В интернете можно найти много статей по этому вопросу, большинство из них описывает информацию с использованием zval «старого» формата, но я не думаю, что будет хуже если и я еще добавлю от себя.
Читать дальше →
Total votes 27: ↑20 and ↓7+13
Comments16

Пакет-географ или библиотека, которая прекрасно знает географию и говорит на разных языках

Reading time3 min
Views9.7K
Во многих из проектов, в которых я участвовал, была необходимость использовать географические данные в том или ином виде. Даже самые простые сайты, как правило, имеют список стран или городов на какой-нибудь из своих страниц – магазины хотят знать, куда доставлять товары; социальные сети хотят знать, откуда пользователь; и так далее.

Что далеко ходить – вот даже здесь на Хабре есть выпадающие списки стран, штатов и городов:

image
Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments49

«Почему всем можно, а мне нельзя?» или реверсим API и получаем данные с eToken

Reading time22 min
Views67K


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

Идея показалась неплохой, но как это реализовать? Тут я вспомнил, как однажды в бухгалтерии не работал банк-клиент, ругаясь на отсутствие библиотеки с говорящим именем etsdk.dll, меня охватило любопытство и я полез ее ковырять.

Вообще, компания-разработчик на своем сайте распространяет SDK, но для этого надо пройти регистрацию как компания-разработчик ПО, а это явно не я. На просторах интернета документацию найти не удалось, но любопытство одержало верх и я решил разобраться во всём сам. Библиотека – вот она, время есть, кто меня остановит?
Читать дальше →
Total votes 49: ↑48 and ↓1+47
Comments78

Светодиодные лампы из магазина Ашан

Reading time4 min
Views67K
Большинство светодиодных ламп, которые я тестирую и о которых пишу, можно купить только в специализированных интернет-магазинах, однако обычные покупатели как правило покупают лампы в гипермаркетах. Я съездил в магазины Ашан и Леруа Мерлен, купил там 48 моделей светодиодных ламп и протестировал их. Лампы вернул обратно в магазины, так как там есть возможность возврата. О лампах из Леруа Мерлен расскажу в следующий раз, сегодня — 22 лампы из Ашана.


Читать дальше →
Total votes 107: ↑105 and ↓2+103
Comments82

Инженер Google тестирует кабели USB Type-C и публикует отчёты на Amazon

Reading time3 min
Views27K


Некоторые думают, что кабель — простая штука, почти все кабели работают одинаково и не могут причинить никакого вреда. Однако в случае с кабелями-конвертерами USB Type-C это неверно, судя по результатам тестирования, которое провёл Бенсон Люн (Benson Leung), инженер из подразделений Chrome OS, Chromebook Pixel и Pixel C в компании Google.

Среди прочих трудовых обязанностей, Бенсон занимается проверкой разнообразных кабелей-конвертеров USB Type-C на совместимость с ноутбуками Pixel, смартфонами Nexus 5X, 6P и вообще на соответствие спецификациям USB. Что самое ценное, результаты технических тестов он не скрывает, а публикует прямо на сайте Amazon, где продаются кабели.
Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments18

Давайте поковыряем This War of Mine глубже: что в игромеханике?

Reading time11 min
Views111K


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

Вообще, я, пожалуй, стану на протяжении пары месяцев рассказывать про хардкор gamedev, точнее, того, что наши коллеги называют game science. Начну с простых и понятных вещей. С далеко не идеальной игромеханики, работающей при этом как часы. Или как удар в голову.

Итак, напомню: основная задача игры — погрузить человека в состояние «быть гражданским на войне и попробовать выжить», чтобы даже до самых отмороженных дошло, как это плохо. Соответственно, всё остальное строится именно вокруг этого. При этом сама по себе игра должна быть:
  • Интересной.
  • С простым порогом входа.
  • Реалистичной для задач погружения.

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

Внимание, ниже немного спойлеров и много скриншотов (трафик).
Читать дальше →
Total votes 69: ↑62 and ↓7+55
Comments77

Установка неподписанных программ на устройства с iOS 9 без Jailbreak

Reading time3 min
Views117K
Дорого дня, уважаемые хабражители!

Сегодня я расскажу вам о том, как можно установить неподписанное (или плохо подписанное) приложение на устройство с iOS 9. Да, без Jailbreak. Да, бесплатно. Нужен лишь компьютер с OS X и Apple ID. Как такое возможно? Читаем под катом.



Осторожно! Много картинок!
Читать дальше →
Total votes 40: ↑33 and ↓7+26
Comments33

Как я стал программистом. Путь от питерского бездомного до Senior Developer-а за 6 лет

Reading time6 min
Views229K
Всем привет! Меня зовут Андрей, я работаю в отделе разработки продуктов Veeam Software.

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



Сегодня я хочу рассказать свою историю.

Итак, начну с момента, когда мне исполнился 21 год, я уволился из рядов доблестной российской армии и оказался на серых и холодных улицах Санкт-Петербурга. Осень, отсутствие жилья и денег активировали все клетки головного мозга для ответа на вопрос: «Что делать?».
Читать дальше →
Total votes 168: ↑152 and ↓16+136
Comments87

Учим telnet.exe правильной игре в MUD'ы

Reading time8 min
Views17K
image

Как-то раз, решив сыграть во что-нибудь необычное, я обратил свой взгляд на MUD'ы — текстовые компьютерные многопользовательские игры с чатом. Играть в них можно как при помощи специализированных клиентов, написанных под конкретные сервера, так и по telnet'у.

Выбрав один из существующих на данный момент серверов (https://www.bat.org/), я вооружился дефолтным telnet-клиентом под Windows и… Почувствовал разочарование. Нет, дело вовсе не в игре, а в том, как с этой игрой взаимодействует telnet.exe. Печально осознавать, но ни один из вводимых мной символов (имя персонажа, разнообразные действия etc) не отображался на экране консоли. Да, команды отправлялись по нажатию клавиши Enter, но отсутствие даже минимального интерактива делало такую игру практически невозможной (особенно неудобно было удалять введённые ранее символы, ведь приходилось подсчитывать в уме, сколько символов ты уже удалил и на каком находишься в текущий момент).

Недолго думая, я решил попробовать приконнектиться к тому же самому серверу при помощи putty и… Вот это да! Я вижу вводимые мной символы!

Почему же echo не работает в telnet.exe? Можно ли это каким-то образом исправить? Давайте разберёмся.

Как протекал процесс, и что из этого вышло, читайте под катом. Перед прочтением данной статьи также настоятельно рекомендую ознакомиться с предыдущими, т.к. в них уже объяснены многие из опущенных здесь моментов.
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments24

Как перестать настраивать и начать жить или настройка Puppet в школьном классе на 25 компьютеров

Reading time7 min
Views29K
Можно настраивать компьютеры по одному, но иногда их становится слишком много...



Так уж вышло, что я устроился преподавателем на один бесплатный курс для школьников по разработке под Android, спонсируемый одной крупной корпорацией, и, естественно, мне потребовалось осваивать соответствующую технику в количестве 25 ноутбуков, 25 планшетов, 2 стационарных компьютеров и сенсорной панели. До недавнего времени ноутбуки использовались с ОС Windows 8.1, но мало кого устраивала производительность и стабильность работы этой ОС при разработке в Eclipse и Android Studio. После одного года под Windows, наше руководство решило все ноутбуки перевести на Xubuntu 14.04, чтобы разрешить эти сложности. Был подготовлен образ, настроенный под конкретную модель ноутбуков, что у нас использовалась, и со всеми необходимыми программами. Накатил и работай. Одна беда — не было предусмотрено никакого решения для централизованного управления конфигурацией. На мой логичный вопрос по этому поводу был дан ответ, что внедрение подобной системы усложняет процедуру установки Linux на ноутбуки и, поскольку в образе уже все сделано как надо, никаких изменений после его установки вносить не понадобится. (ох уж эти оптимисты!)
Читать дальше →
Total votes 30: ↑25 and ↓5+20
Comments22

Программировать с нуля. «Сейчас» — самое подходящее время, чтобы начать

Reading time7 min
Views365K

(Иллюстрации к статье А.П. Ершова «Программирование — вторая грамотность»)

Стив Джобс не написал ни строчки кода, Билл Гейтс — написал. Пол Грэм — первоклассный программист, Питер Тиль — юрист по образованию, сооснователь PayPal и владелец Palantir (написал ли он что-нибудь?), а Илон Маск в детстве написал свою игру и успешно её продал.

Никита truesnow из #tceh сказал мне, что на курсе «Врубаемся в Ruby» они научат программировать любого человека, даже с нуля. Я спросил его: «А с гуманитарием справитесь?» И мы задумались, были ли случаи, когда «гуманитарий» выучил язык программирования?

На ум сразу пришел бомж-программист, но после успеха с его приложением он предпочёл остаться «дзен-монахом». Есть ли еще примеры? Вдохновляющий пример, что научиться кодить может каждый — слепой программист. Когда я прочитал статью на Хабре «Смотря на код с закрытыми глазами», то понял, что нет преград, кроме собственных отмазок.

А у меня для вас есть три истории из моей жизни. Просто три истории.

История первая — ламер


Слово «ламер» я прочитал в «Компьютерре». Там давалось такое определение: «Ламер — отнюдь не безграмотный человек, не умеющий (как бы это помягче выразиться?) программировать». Окрылённый истиной я побежал и рассказал об этом друзьям-одноклассникам, но они предпочли поиграть в футбол, вместо того чтобы освоить суперспособности. Забавно, что потом все они зарабатывали программированием деньги, а я нет. Через неделю я записался в краевую станцию юных техников (КСЮТ), где был кружок по программированию. Там для новичков давали qbasic. А боги прогали на C.
Читать дальше →
Total votes 36: ↑29 and ↓7+22
Comments62

Реверс-инжиниринг полёта Бэтмена

Reading time8 min
Views93K


Этим летом вышла очередная игра из серии Batman Arkham, в ПК версии которой оказалось столько багов, что было принято беспрецедентное решение снять её с продаж. Я решил посмотреть, что же там такого ужасного.

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

На скриншоте изображён этот момент: вместо того, чтобы лететь вперёд, Бэтмен повернулся вниз головой, демонстрируя полнейшее пренебрежение к происходящему. Аналогичный баг был в предыдущей игре (Arkham Origins), и он до сих пор не исправлен. Видимо тот же самый кривой код был перенесён в новую игру. Попробуем найти, какие ошибки делают программисты в играх такого уровня, и исправить их.
Читать дальше →
Total votes 226: ↑225 and ↓1+224
Comments101

Что не так с интерфейсами авиасервисов и как это исправить: подход проекта Aviageek

Reading time3 min
Views24K
image

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

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

Эта схема, безусловно, доказала свою жизнеспособность, однако и она не лишена недостатков. Мы постарались исправить ситуацию в проекте Aviageek.
Читать дальше →
Total votes 44: ↑38 and ↓6+32
Comments123

Обновление windows 8.1 в RTM и в любую «сторону», с любым языком и версией

Reading time1 min
Views299K
Сегодня обнаружил на просторах интернета Windows 8.1 RTM (финальная версия), и решил обновится, но не тут-то было.

У меня была установлена Windows 8.1 x64 Enterprise Preview, а как заявлял microsoft: с preview нельзя обновится до RTM,
соответственно терять все установленные программы и пр. мне не захотелось, пошёл в гугл, нашёл что можно менять версию в файле cversion.ini, но спустя 5 попыток замены — ничего не получилось.
Оказалось что версия RTM с языком en-US, а у меня ru-RU, а это уже причина удалять всё, по мнению microsoft.

Поразмыслив 10 минут, нашёл еще один, более интересный способ установки windows 8.1, о котором и пишу здесь.
Читать дальше →
Total votes 36: ↑32 and ↓4+28
Comments83

iOS Инструменты разработчика

Reading time26 min
Views35K

Вступление


Всем привет, меня зовут Григорий, последние 5 лет занимался программированием под iOS. Сейчас решил сменить сферу деятельности и ударился в веб, но чтобы добро не пропадало, хочу поделиться с сообществом своими наработками, накопившимися за это время. Библиотеки выложены на GitHub и добавлены в CocoaPods. Инструкции по установке и использованию вы сможете найти по ссылкам на GitHub, здесь же будет краткое описание.

Минимальная поддерживаемая версия — iOS 6.0.
Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments27

Обновленный функционал на VDS.menu

Reading time3 min
Views4.8K
Сегодня я хочу рассказать об обновлениях на VDS.menu — проекте для подбора виртуальных серверов по различным критериям. Обновления по большей части косметические, но их получилось довольно много и все они нацелены на улучшение юзабилити.



Читать дальше →
Total votes 18: ↑15 and ↓3+12
Comments17

Information

Rating
Does not participate
Registered
Activity