Search
Write a publication
Pull to refresh
0
0

User

Send message

Печать и воспроизведение звука на бумаге

Reading time3 min
Views103K
Можно ли закодировать звук в виде изображения, которое считывается камерой и проигрывается в реальном времени?

На ум сразу приходит QR-код или некие его аналоги. В такой код можно записать ссылку на mp3, или даже совсем маленький звуковой файл. Но в первом случае требуется выход в сеть, а во втором — большая плотность кода и повышенные требования к качеству изображения. Кроме того, ни тот ни другой способ не обеспечит мгновенное воспроизведение.

Что, если кодировать звук не в цифровом, а в аналоговом формате? То есть, допустить возможность больших потерь информации с сохранением основных «очертаний» звукового послания. Например, такие потери возникнут при плохом освещении, плохой камере, маленькой картинке, мятой или рваной бумаге с кодом. Пусть со страшными артефактами, но картинка должна звучать.


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

Эрон-дон-дон или на что ещё может сгодиться ваш Windows Phone

Reading time7 min
Views51K
image

Привет всем хабражителям!

Наверняка, многим в детстве нравились машинки на радиоуправлении. Да и не только в детстве: я уверена, что и в возрастной категории 30+ найдётся масса любителей лихой езды в миниатюрном масштабе. Вот и я с детства мечтала о такой машинке, однако девочкам обычно дарят не машинки, а кукол, и моя мечта оставалась невоплощённой до недавнего времени. Но теперь я выросла, и простая радиоуправляемая машинка показалась мне достаточно скучной. И в один прекрасный день мне в голову пришла идея, как себя развлечь и заодно модернизировать машинку: я решила организовать её управление со смартфона по каналу WiFi.
Читать дальше →

Портирование и локализация приложения на Windows Phone 8

Reading time7 min
Views14K
В предыдущей статье я рассказал как разработать судоку для windows 8.1, в этой расскажу как портировать приложение на Windows Phone 8 и локализовать его на несколько языков.

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

Разработка игры для Windows Phone 7.5-8.1

Reading time4 min
Views14K
Некоторое время ранее я писал о разработке судоку для Windows Phone. По некоторым данным пользователей на Windows Phone 7.1 не так уж и мало, чтобы ими пренебрегать. Также в статье будет рассмотрен момент публикации в обновленный магазин Windows Phone.

image

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

MVVM Framework для Windows Phone своими руками. Часть 1

Reading time11 min
Views13K
Разработка приложений для платформ WPF, Silverlight, Windows Store и Windows Phone, почти всегда подразумевает использование паттерна MVVM. Это закономерно, так как базовой философией этих платформ, является разделение представления (так же я буду использовать термин интерфейс пользователя) и остальной логики программы. Этот подход позволяет получить следующие преимущества:

  1. Разделение пользовательского интерфейса и логики представления: что позволяет дизайнерам работать над пользовательским интерфейсом, а программистам над бизнес логикой приложения используя для взаимодействия абстрактный интерфейс модели представления
  2. Расширенные возможности автоматизированного тестирования: отделение пользовательского интерфейса от остальной логики, позволяет полностью протестировать логику представления без ограничений накладываемых автоматизацией тестирования через пользовательский интерфейс
  3. Множественные представления для одной модели представления: одна модель представления может использоваться многими реализациями интерфейса пользователя. Например, сокращенный и полный вариант представления данных, интерфейс зависящий от прав пользователя. Возможность использовать одну реализацию модели представления на различных платформах
  4. Расширенные возможности повторного использования компонентов: так как модели представления отделены от реализации представления, возможны любые варианты их использования, наследование от базовых моделей, композиция нескольких моделей и т.п.


Разрабатывая приложения под платформу Windows Phone, я столкнулся с тем, что большинство статей описывают базовую реализацию паттерна MVVM, которая обычно сводится к реализации в классе модели представления интерфейса INotifyPropertyChanged, создания простой реализации ICommand и простые сценарии связывания этих данных с представлением. К сожалению, остаются за рамками обсуждения такие важные вопросы как, реализация обобщенных классов с удобным интерфейсом, синхронизация потоков при асинхронном исполнении, навигация на уровне модели представления и многие другие.

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

Стивен Вольфрам: “Внедряя вычисления повсюду”

Reading time24 min
Views38K
Перевод доклада Стивена Вольфрама, прочитанного им на фестивале SXSW 2014.
Оригинальный текст вы можете найти здесь.

sw-sxsw.png

Две недели назад я выступал с речью на конференции SXSW в Остине, Техас. Эта статья является немного доработанными тезисами доклада (это конспект текста, включающий демонстрации, от которых пришлось отказаться в процессе выступления):

Итак, на этот час запланировано довольно много.

В целом, мне бы хотелось рассказать историю, происходящую со мной в течение последних 40 лет, которая начинает приносить удивительные результаты только сейчас. Я имею ввиду что мы практически можем наблюдать эти результаты сегодня. Я хотел бы впервые представить вам весь спектр технологий, являющийся довольно-таки значительным результатом этих сорокалетних трудов. И я думаю что это достаточно важно.

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

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

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

Но, для начала, немного истории. 40 лет назад я был 14-летним юнцом, который впервые прикоснулся к компьютеру (он тогда еще был размером со стол). Я не часто использовал его как нечто фундаментальное, но пытался с его помощью понять некоторые вещи из физики, которая меня по-настоящему интересовала. В тот момент я открыл для себя некоторые важные вещи, которыми пользуюсь до сих пор. Но сейчас я понимаю что самая важная вещь, которую я понял тогда относилась вовсе не к физике: чем лучше инструменты, которые мы используем, тем глубже мы сможем копнуть. Мне не очень хорошо давалась “математика на бумаге”, а в то время это было серьезной проблемой для тех, кто хотел заниматься физикой. Однако, я осознавал, что расчеты можно делать на компьютере и начал создавать инструменты для этого. Очень скоро я с моими программами был лучше всех в математических расчетах для физики.

Вернемся в 1981-й год. В этом году случилось нечто восхитительное для 21-летнего ученого — я превратил все это в свой первый продукт и свою первую компанию. Важно то, что это заставило меня осознать — программные продукты могут стимулировать интеллектуальное мышление. Предстояло выяснить как создать язык для математических расчетов на компьютере, и мне потребовалось многое понять о вычислениях чтобы достигнуть цели. А потом я снова погрузился в основы науки уже с использованием созданных инструментов.

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

Уязвимости криптоконтейнеров при удаленной атаке

Reading time5 min
Views30K
Сегодня криптоконтейнеры используются для хранения конфиденциальной информации как на персональных компьютерах пользователей, так и в корпоративной среде компаний и организаций и могут быть созданы при помощи практически любой программы для шифрования. Столь широкое их распространение объясняется, прежде всего, удобством работы с зашифрованными файлами и возможностью реализации «шифрования на лету».

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

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

Методы сокрытия информации

Reading time8 min
Views36K
Информация на жестком диске может быть скрыта несколькими методами. Мы будем говорить о них, начиная с простых и переходя к сложным. Статья для тех, кто прячет, а не находит. Поэтому методы сокрытия лишь обозначены. Кому потребуется более подробная информация по тому или иному методу — тот ее найдет и, главное, привнесет свой неповторимый аромат за счет смешения приправ. А конкретные рецепты были бы полезны тем, кто ищет, а не прячет.

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

DDoS любого сайта с использованием заметок Facebook

Reading time1 min
Views52K
Полтора месяца назад, chr13 обнаружил способ произвести DDoS любого сайта с помощью Google Spreadsheet, а теперь же он применил такой способ в Facebook Notes. И он сработал!

Способ эксплуатации совершенно такой же, как и в Google Spreadsheet:
  1. Сделайте список «уникальных» «картинок»
    <img src=http://targetname/file?r=1></img>
    <img src=http://targetname/file?r=2></img>
    ...
    <img src=http://targetname/file?r=1000></img>
  2. Создайте заметку через m.facebook.com. Сервис обрежет заметку после какой-то фиксированной длины
  3. Создайте несколько таких заметок под одним или несколькими пользователями. Каждая заметка будет делать 1000+ HTTP-запросов
  4. Откройте все заметки одновременно. Указанный сервер получит гору HTTP-трафика. Тысячи запросов уйдут на сервер в течение пары секунд.
Читать дальше →

DDOS любого сайта с помощью Google Spreadsheet

Reading time3 min
Views254K
Google использует своего «паука» FeedFetcher для кэширования любого контента в Google Spreadsheet, вставленного через формулу =image(«link»).

Например, если в одну из клеток таблицы вставить формулу
=image("http://example.com/image.jpg")
Google отправит паука FeedFetcher скачать эту картинку и закэшировать для дальнейшего отображения в таблице.

Однако если добавлять случайный параметр к URL картинки, FeedFetcher будет скачивать её каждый раз заново. Скажем, для примера, на сайте жертвы есть PDF-файл размером в 10 МБ. Вставка подобного списка в таблицу приведет к тому, что паук Google скачает один и тот же файл 1000 раз!
=image("http://targetname/file.pdf?r=1")
=image("http://targetname/file.pdf?r=2")
=image("http://targetname/file.pdf?r=3")
=image("http://targetname/file.pdf?r=4")
...
=image("http://targetname/file.pdf?r=1000")

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

Атакующему даже необязательно иметь быстрый канал. Поскольку в формуле используется ссылка на PDF-файл (т.е. не на картинку, которую можно было бы отобразить в таблице), в ответ от сервера Google атакующий получает только N/A. Это позволяет довольно просто многократно усилить атаку [Аналог DNS и NTP Amplification – прим. переводчика], что представляет серьезную угрозу.



С использованием одного ноутбука с несколькими открытыми вкладками, просто копируя-вставляя списки ссылок на файлы по 10 МБ, паук Google может скачивать этот файл со скоростью более 700 Мбит/c. В моем случае, это продолжалось в течение 30-45 минут, до тех пор, пока я не вырубил сервер. Если я все правильно подсчитал, за 45 минут ушло примерно 240GB трафика.
Читать дальше →

Unity3d. Уроки от Unity 3D Student (B17-B20)

Reading time6 min
Views87K
Всем привет. DisaDisa начал хорошее дело по переводу уроков по Unity 3D от сайта www.unity3dstudent.com. Я решил продолжить начатое, чтобы уж на хабре был законченный курс.

Ссылки на предыдущие уроки:

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

Основы создания 2D персонажа в Unity 3D 4.3. Часть 3: прыжки (и падения)

Reading time8 min
Views156K
Часть 1: заготовка персонажа и анимация покоя
Часть 2: бегущий персонаж
Часть 3: прыжки (и падения)

Всем привет. Продолжаем серию уроков по созданию 2D персонажа. В предыдущих двух частях мы сделали персонажа, который может находиться в двух состояниях: покой и бег вправо-влево. Возможно, для очень простой игры этого будет достаточно. Но мы не будем останавливаться на достигнутом и сегодня научим нашего персонажа прыгать.
Читать дальше →

Основы создания 2D персонажа в Unity 3D 4.3. Часть 2: бегущий персонаж

Reading time5 min
Views203K
Часть 1: заготовка персонажа и анимация покоя
Часть 2: бегущий персонаж
Часть 3: прыжки (и падения)

Всем привет. Продолжаем дело, начатое в первой части. Сейчас у нас есть платформа и стоящий на ней персонаж с анимацией покоя. Настало время научить нашего персонажа бегать вправо-влево по платформе.
Читать дальше →

Основы создания 2D персонажа в Unity 3D 4.3. Часть 1: заготовка персонажа и анимация покоя

Reading time6 min
Views333K
Часть 1: заготовка персонажа и анимация покоя
Часть 2: бегущий персонаж
Часть 3: прыжки (и падения)

Всем добрый день. В относительно недавно вышедшей Unity 4.3 появились инструменты для создания 2D игр. Конечно, такие игры можно было создавать и раньше, но это делалось при помощи дополнительных ухищрений (вот пример с хабра). Теперь же появилась поддержка 2D «из коробки». Надеюсь, разработчики продолжат ее развивать, а пока я хочу рассказать о некоторых приемах работы с новыми 2D инструментами.
Читать дальше →

Публикуйте приложения в Windows Store и Windows Phone Store и выигрывайте призы

Reading time2 min
Views4.2K
image

Если вы портируете уже существующее мобильное приложение или создаете новое, вы можете выиграть поездку на Formula 1 United States Grand Prix 2014, $10 000 на создание собственного современного уголка разработчика, принтер MarketBot 3D или смартфон Nokia Lumia 1520.
Читать дальше →

Часть 1. Unboxing VisuMax — фемто-лазера для коррекции зрения

Reading time6 min
Views367K



Другие публикации в этом цикле


Часть 2. Сколько мегабит/с можно пропустить через зрительный нерв и какое разрешение у сетчатки? Немного теории
Часть 3. Знакомьтесь — лазер по имени Amaris. Переезды и первое пробуждение VisuMax
Часть 4.1 Возвращаем зрение. От очков до эксимерного лазера
Часть 4.2 Возвращаем зрение. От очков до эксимерного лазера

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

Сегодня мы рассмотрим необычный unboxing. Я думаю, что все читатели Хабрахабра уже привыкли к частым обзорам новых телефонов/планшетов/%devicename%. Но именно сегодня мы займемся распаковкой куда более внушительного «гаджета». Это — один из самых новых представителей фемтосекундных лазеров — VisuMax от фирмы Zeiss. Это очень радостное событие для нашей клиники — лазер позволит выполнять коррекцию нарушений рефракции с очень большой точностью по очень многим показаниям. Этой статье предшествовала огромная работа по выбору наиболее подходящего решения для нашей клиники, обучение инженеров, врачей и много чего еще. Сразу хочу предупредить — я врач по образованию, но постараюсь максимально полно раскрыть технические детали и нюансы. Не обижайтесь, если допущу какие-то ошибки — буду рад любым вашим замечаниям.

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

Часть 3. Знакомьтесь — лазер по имени Amaris. Переезды и первое пробуждение VisuMax

Reading time8 min
Views107K

Остальные части


Часть 1. Unboxing VisuMax — фемто-лазера для коррекции зрения
Часть 2. Сколько мегабит/с можно пропустить через зрительный нерв и какое разрешение у сетчатки? Немного теории
Часть 4.1 Возвращаем зрение. От очков до эксимерного лазера
Часть 4.2 Возвращаем зрение. От очков до эксимерного лазера

image
В этой статье мы познакомимся с другим лазером для коррекции зрения — Amaris 500E от фирмы Schwind. И вместе поучаствуем в очень важном событии для нашей клиники — первым запуском фемто-лазера VisuMax.
Традиционно много фотографий и трафика в статье

Часть 4.1 Возвращаем зрение. От очков до эксимерного лазера

Reading time9 min
Views372K

Прошу прощения у всех, кто долго ждал этой статьи. Подготовка материалов требует массы времени и труда. В этой статье я постараюсь рассказать обо всех методиках коррекции зрения, которые существуют на данный момент. Мы пройдем путь от первых очков XIII века до современных лазерных методов коррекции, таких как femto-LASIK и ФРК.

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

Остальные части


Часть 1. Unboxing VisuMax — фемто-лазера для коррекции зрения
Часть 2. Сколько мегабит/с можно пропустить через зрительный нерв и какое разрешение у сетчатки? Немного теории
Часть 3. Знакомьтесь — лазер по имени Amaris. Переезды и первое пробуждение VisuMax
Часть 4.2 Возвращаем зрение. От очков до эксимерного лазера
Читать дальше →

Тестирование безопасности клиент-серверного API

Reading time6 min
Views41K
2 года назад я выступал на конференции CodeFest с темой «Пентест на стероидах. Автоматизируем процесс» и делал пересказ выступления в качестве статьи. В этом году я с большим удовольствием снова принял участие в конференции и выступил с темой «BlackBox тестирование безопасности клиент-серверного API» и, видимо уже в качестве традиции, также делаю пересказ выступления.



Уязвимости в API встречаются. Правда.

О чем разговор?


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

Information

Rating
Does not participate
Registered
Activity