Как стать автором
Обновить
0
0

.NET, Embedded

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

Возвращаем приватность или большой брат следит за мной на стандартных настройках. Часть 3. Настраиваем «Фейсбук» и «Вконтакте»

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

Во второй части мы увидели, сколько статистики собирают на нас даже без использования сторонних (third-party) «куки»-файлов и рассказали о пользе и настройке VPN простым языком.

Сегодня поговорим о приватности в социальных сетях, благо даже в комментариях были прецеденты. Однако пока небольшое отступление.

Судя по комментариям, некоторые из вас считают, что простым людям это не нужно. Но вот, например, недавняя дискуссия на «Реддите», в которой показано, как то, откуда вы, сколько времени ищите билеты и также социальные предпочтения, влияет на цену билетов, которая показывается вам в форме покупки.
I bought a return flights to the Philippines a few days ago, just checked it with incognito mode….180$ cheaper!

I F… KNEW IT! I kept refreshing when I was buying airplane tickets and that f…er kept going up when I hit the refresh button. It eventually went up by $100 extra dollars!

I had been searching for a specific itinerary for a few weeks, just checking on prices. I saw this on the front page and decided to try it out. $400 DIFFERENCE!!!!

Если вы не знаете язык, можете почитать выдержку на русском здесь. Если даже после этого вам все равно, то человечество, все-таки, вымрет. Ну да вернемся к социальным сетям.


Читать дальше →
Всего голосов 89: ↑67 и ↓22+45
Комментарии68

Эллиптическая криптография: теория

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

Привет, %username%!
Недавно на хабре была опубликована очень спорная статья под названием «Эксперты призывают готовиться к криптоапокалипсису». Честно говоря, я не согласен с выводами авторов о том, что «голактеко опасносте», все скоро взломают и подорожает гречка. Однако я хочу поговорить не об этом.
В комментариях к той статье я высказал мнение, что кое в чем докладчики правы и переходить на эллиптическую криптографию уже давно пора. Ну в самом деле, кто-нибудь видел в интернете ECDSA сертификат? Хотя стандарту уже без малого 13 лет, мы продолжаем по старинке использовать старый добрый RSA. В общем сказал я это, и как это часто бывает, задумался а так ли необходим переход на «эллиптику»? Да и что это за зверь такой эллиптическая криптография? Какие имеет плюсы, минусы, тонкости. Одним словом, давайте разбираться.
Читать дальше →
Всего голосов 140: ↑133 и ↓7+126
Комментарии72

Хватит писать регулярные выражения. Используйте вербальные выражения

Время на прочтение1 мин
Количество просмотров90K
Сразу оговорюсь, если Вы — профессионал в использовании регулярных выражений, то Вам лучше дальше не читать во избежание ^(.*)$

GitHub-пользователь jehna нашёл интересный метод ухода от реализации сложных регулярных выражений традиционным способом.
Вербальные выражения превращают сложный и иногда нетривиальный путь от логики до собственно регулярного выражения в ненавязчивую прогулку с использованием связанного набора функций.
Читать дальше →
Всего голосов 199: ↑170 и ↓29+141
Комментарии205

Загрузка Linux с VHD на компьютере с UEFI

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

В статье о возможности загружать Linux с VHD был предложен способ загружать Linux на машине с Windows без необходимости разбивать диск на разделы. Но было одно существенное ограничение: рассматривался только вариант загрузки BIOS, т.е. legacy-загрузки. Сейчас появляется всё больше устройств без поддержки режима legacy (например, многие ноутбуки, выпущенные в 2020 году). Поэтому в этой статье будет рассмотрена загрузка Linux с VHD на компьютерах с UEFI.

Читать далее
Всего голосов 46: ↑45 и ↓1+52
Комментарии1

GSM на столе

Время на прочтение4 мин
Количество просмотров73K
Разработка под веб: HTTP, HTML, CSS, JavaScript, Python… Ох. Всё одно и то же. Так хочется отвлечься на что-нибудь радикально другое. Я же обитаю в московском хакспейсе Нейрон! Почему бы не поспрашивать вокруг?

Например, в Нейроне сидят ребята из компании Fairwaves, разрабатывающие GSM-оборудование для недорогих сотовых сетей. Весь стек — от железа до софта — доступен под open source лицензией. Да, да, включая железо. Поэтому совсем не обязательно работать в Fairwaves, чтобы познакомиться с этой технологией. И результат копания можно выложить на GitHub или сделать вклад в существующий проект. Как минимум, будет чем похвастаться на собеседованиях.

Пара дней чтения документации, пролистывания кода, десятки навязчивых вопросов и экспериментов (спасибо Александру Чемерису и Ивану Ключникову за помощь). И вот результат — собственная GSM-сеть под контролем моего Макбука:

HabraFon
Читать дальше →
Всего голосов 84: ↑79 и ↓5+74
Комментарии55

Знакомство с мнемоникой

Время на прочтение6 мин
Количество просмотров99K
Введение

Доброго времени суток! Сразу оговорюсь, что цель этой статьи — познакомить и, возможно, заинтересовать вас такой штукой, как мнемоника. Мнемоника — наука о запоминании. То бишь совокупность способов и уловок, которые помогут вам запомнить большие объёмы информации в правильной последовательности (Например, 100 случайных слов (чисел) можно запомнить последовательно с интервалом в среднем в 6 секунд). Некоторые умудряются запомнить несколько тысяч цифр после числа Пи. Так же мнемотехника помогает в освоении иностранного языка ). Но нам пока рано об этом думать. Вы спросите:«Зачем мне ета ваша мнемоника?». Я отвечу: вы можете использовать её не только как хобби (от простого облегчения жизни, до того, что можете удивлять друзей, предложив с ними поочерёдно запомнить N информации поочерёдно), но и участвовать в соревнованиях (да-да, есть соревнования по запоминанию, где участвуют не прирождённые гении, а люди, натренировавшие себе память).
Читать дальше →
Всего голосов 214: ↑193 и ↓21+172
Комментарии70

6 ссылок о том, что Google знает о вас

Время на прочтение2 мин
Количество просмотров452K
Не желаете ли узнать о том, что Google знает о вас? Вот 6 ссылок, которые покажут вам некоторые данные, собранные гуглом.

1. Ваш профиль в Google

Google создаёт профиль с вашими основными данными – возраст, пол, интересы. Эти данные используются для показа релевантных объявлений. Вы можете просмотреть эту информацию здесь:

www.google.com/ads/preferences

(прим.перев. – в моём случае гугл не блещет информацией. Я не состою в Google+, а по посещённым мною сайтам гугл не смог определить мой пол, а возраст определил в 65+ лет).
Читать дальше →
Всего голосов 109: ↑102 и ↓7+95
Комментарии56

Большой список научно-фантастических сериалов

Время на прочтение20 мин
Количество просмотров439K
image
Кадр из заставки сериала «Грань»

Предисловие

На Geektimes и Habrahabr уже были статьи со списком Sci-Fi сериалов (Фантастические сериалы — обзор от фаната, Фантастические сериалы и др.). Но все они либо содержали достаточно мало сериалов и/или поверхностную информацию о них самих, либо были предвзяты в отношении тех или иных сериалов.

В данной публикации я постараюсь предоставить большой список научно-фантастических сериалов. А благодаря голосованию — узнать какие сериалы на самом деле нравятся пользователям Geektimes.
Читать дальше →
Всего голосов 58: ↑47 и ↓11+36
Комментарии189

Software renderer — 1: матчасть

Время на прочтение29 мин
Количество просмотров84K
Программный рендеринг (software rendering) — это процесс построения изображения без помощи GPU. Этот процесс может идти в одном из двух режимов: в реальном времени (вычисление большого числа кадров в секунду — необходимо для интерактивных приложений, например, игр) и в «оффлайн» режиме (при котором время, которое может быть потрачено на вычисление одного кадра, не ограничено настолько строго — вычисления могут длиться часы или даже дни). Я буду рассматривать только режим рендеринга в реальном времени.

У этого подхода существуют как недостатки так и достоинства. Очевидным недостатком является производительность — CPU не в состоянии конкурировать с современными видеокартами в этой области. К достоинствам стоит причислить независимость от видеокарты — именно поэтому он используется как замена аппаратного рендеринга в случаях, когда видеокарта не поддерживает ту или иную возможность (так называемый software fallback). Существуют и проекты, цель которых — полностью заменить аппаратный рендеринг программным, например, WARP, входящий в состав Direct3D 11.

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

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

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

В конце статьи будет ссылка на гитхаб проекта, который можно рассматривать как пример реализации.
Читать дальше →
Всего голосов 95: ↑90 и ↓5+85
Комментарии51

Прослушка украинских мобильников: как это сделано и как защититься

Время на прочтение6 мин
Количество просмотров92K
В лентах новостных сайтов вы уже не раз читали о том, как спецслужбы разных стран отслеживают переговоры и передачу данных обычных граждан. Сейчас набирает обороты новый скандал с прослушкой украинских абонентов, осуществляемой якобы с территории России.

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

Если коротко, схема такая. Атакующий внедряется в сеть сигнализации SS7, в каналах которой отправляет служебное сообщение Send Routing Info For SM (SRI4SM), указывая в качестве параметра телефонный номер атакуемого абонента А. В ответ домашняя сеть абонента А посылает атакующему некоторую техническую информацию: IMSI (международный идентификатор абонента) и адрес коммутатора MSC, который в настоящий момент обслуживает абонента.

image

Далее атакующий с помощью сообщения Insert Subscriber Data (ISD) внедряет в базу данных VLR обновленный профиль абонента, изменяя в нем адрес биллинговой системы на адрес своей, псевдобиллинговой системы.
Читать дальше →
Всего голосов 117: ↑90 и ↓27+63
Комментарии45

«Охота на лис» 60 лет спустя

Время на прочтение5 мин
Количество просмотров47K
Что общего между сотовым телефоном и походной миской?



Многие слышали об «охоте на лис» — особом варианте спортивного ориентирования — спортивной радиопеленгации. Ещё в детстве, посещая радиокружок, я много читал об этом виде спорта и даже мечтал собрать собственный пеленгатор. Но мы переехали, я перестал ходить в кружок, увлёкся программированием, торчал перед компом и уже так и не собрал…

И вот, спустя 20 лет я сделал это в крайне необычной форме…

В последнее время я много играюсь с SDR и рассказываю о своих опытах: раз и два.

Собираясь с детьми в поход вместе со школьной компанией, я решил к так любимым детьми, но уже привычным верёвочным переправам, ориентированию, пережиганию верёвочки костром на время добавить охоту на лис.
Читать дальше →
Всего голосов 43: ↑42 и ↓1+41
Комментарии18

Как нарисовать звезду (и не только) в полярных координатах

Время на прочтение6 мин
Количество просмотров33K
Вопрос о формуле для многоугольника в полярных координатах регулярно возникает на тематических ресурсах — и так же регулярно остаётся без внятного ответа. В лучшем случае попадается решение через функцию остатка от деления — что не является «чистым» с математической точки зрения, поскольку не позволяет производить над функцией аналитические преобразования. Видимо, настоящие математики слишком заняты решением проблем тысячелетия и поисками простого доказательства теоремы Ферма, чтобы обращать внимание на подобные банальные задачи. К счастью, в этом вопросе воображение важнее знания, и для решения этой задачи не нужно быть профессором топологических наук — достаточно знания школьного уровня.
Дальше больше картинок
Всего голосов 116: ↑114 и ↓2+148
Комментарии31

Инструменты для очистки своей цифровой истории в интернете

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

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

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

С этим сложно бороться, но можно. Например, попытаемся удалить массивы данных, которые накопились в различных интернет-сервисах. Зачистим свою интернет-историю по полной программе.
Читать дальше →
Всего голосов 30: ↑25 и ↓5+31
Комментарии51

Введение в ReactiveUI: изучаем команды

Время на прочтение19 мин
Количество просмотров32K
Часть 1: Введение в ReactiveUI: прокачиваем свойства во ViewModel
Часть 2: Введение в ReactiveUI: коллекции

Мы уже обсудили возможности ReactiveUI, связанные с работой со свойствами, выстраиванием зависимостей между ними, а также с работой с коллекциями. Это одни из основных примитивов, на базе которых строится разработка с применением ReactiveUI. Еще одним таким примитивом являются команды, которые мы и рассмотрим в этой части. Команды инкапсулируют действия, которые производятся в ответ на некоторое событие: обычно это запрос пользователя или какие-то отслеживаемые изменения. Мы узнаем, что можно сделать с помощью команд в ReactiveUI, обсудим особенности их работы и выясним, чем команды в ReactiveUI отличаются от команд, с которыми мы знакомы по WPF и его родственникам.
Но прежде чем перейти к командам, рассмотрим более широкие темы, касающиеся реактивного программирования в целом: связь между Task<T> и IObservable<T>, и что такое горячие и холодные последовательности.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии5

13 подвохов мобильного приложения, о которых лучше знать до старта разработки

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

Главная сложность в разработке приложения – накодить его функционал. Например, сделать редактирование текста для приложения-блокнота. Так я полагал, когда был моложе и наивнее.

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

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

Читать далее
Всего голосов 48: ↑47 и ↓1+56
Комментарии20

Гайд по мобильной рекламе для тех, кто задумался о монетизации

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

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

Читать далее
Всего голосов 31: ↑30 и ↓1+39
Комментарии5

50 оттенков жёлтого. Часть 2

Время на прочтение7 мин
Количество просмотров17K
Продолжим подкреплять теорию практикой. В первой части статьи я рассказал о своих ранних экспериментах по отбеливанию пластмассы — успешных и не очень. Несмотря на большой объём материала, там, по сути, был рассмотрен лишь один вариант — с использованием жидкой перекиси водорода и солнечного света. И хотя результаты получились обнадёживающие, у описанного метода есть масса ограничений.



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

Простой способ спрятаться от популярных систем распознавания лиц

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

Прошлым летом, когда миллионы людей вышли на улицы, протестуя против полицейского произвола после убийства Джорджа Флойда, государственные учреждения, не теряя времени, обратились к системам распознавания лиц для отслеживания участников протестов. В то же время власти стали призывать носить маски для сдерживания эпидемии Covid-19, и многие обнаружили в этой мере свои преимущества. Масштабное исследование, опубликованное Национальным институтом стандартов и технологий в июле 2020 года, установило, что при помощи маски можно обмануть некоторые системы распознавания лиц почти в половине случаев – это позволяло предположить, что протестующие в масках получают некоторую защиту от массовой слежки.

Это навело меня на мысль: как наиболее эффективно использовать маски и прочие повседневные аксессуары, чтобы запутать системы распознавания лиц? Я решил это выяснить.
Читать дальше →
Всего голосов 37: ↑30 и ↓7+34
Комментарии93

256 строчек голого C++: пишем трассировщик лучей с нуля за несколько часов

Время на прочтение8 мин
Количество просмотров146K
Публикую очередную главу из моего курса лекций по компьютерной графике (вот тут можно читать оригинал на русском, хотя английская версия новее). На сей раз тема разговора — отрисовка сцен при помощи трассировки лучей. Как обычно, я стараюсь избегать сторонних библиотек, так как это заставляет студентов заглянуть под капот.

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

Внимание: просто рассматривать мой код, равно как и просто читать эту статью с чашкой чая в руке, смысла не имеет. Эта статья рассчитана на то, что вы возьмётесь за клавиатуру и напишете ваш собственный движок. Он наверняка будет лучше моего. Ну или просто смените язык программирования!

Итак, сегодня я покажу, как отрисовывать подобные картинки:


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

Вычисления на GPU – зачем, когда и как. Плюс немного тестов

Время на прочтение12 мин
Количество просмотров90K
Всем давно известно, что на видеокартах можно не только в игрушки играть, но и выполнять вещи, никак не связанные с играми, например, нейронную сеть обучить, криптовалюту помайнить или же научные расчеты выполнить. Как так получилось, можно прочитать тут, а я хотел затронуть тему того, почему GPU может быть вообще интересен рядовому программисту (не связанному с GameDev), как подступиться к разработке на GPU, не тратя на это много времени, принять решение, нужно ли вообще в эту сторону смотреть, и «прикинуть на пальцах», какой профит можно получить. 


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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность