Search
Write a publication
Pull to refresh
0
0
Александр @procks

User

Send message

Popcorn Time теперь работает в браузере

Reading time2 min
Views29K


Прошёл уже год с момента выхода первой версии Popcorn Time — приложения для просмотра фильмов через торрент-трансляцию. Программа сочетает API со списком торрентов и базу с метаданными. Просмотр можно начинать практически сразу.

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

Time-lapse видео из фотографий, находящихся в общем доступе

Reading time1 min
Views11K


Многие места и объекты фотографируются различными людьми в разное время. Это могут быть архитектурные объекты, памятники, заповедники, различные природные объекты. Ту же Эйфелеву башню фотографируют ежесекундно десятки раз. Команда исследователей из Google и Вашингтонского университета решила проверить возможность составления Time-lapse видео из подобных фотографий, которые находятся в общем доступе.

Разработчики искали фото на таких сервисах, как Flickr, Picasa и некоторых других сайтах. Естественно, было обнаружено большое количество снимков, о которых говорилось выше. Но на многих из них был различный ракурс, разное освещение, цветовая гамма. Поэтому команде пришлось искать способ унификации найденных снимков при помощи коррекции в графическом редакторе. И такой способ был разработан, результаты его впечатляют.
Читать дальше →

О RecyclerView и выделении элементов

Reading time14 min
Views103K
Привет, %username%!
В этой статье я хочу рассказать немного о новом виджете в Android SDK — RecyclerView, о реализации выделения элементов и нескольких полезных «рецептах» при работе с ним.
Читать дальше →

Фотография в RAW: динамический диапазон и контрастность

Reading time7 min
Views38K
Весь привет! Недавно мы говорили о возможностях RAW’а, тема оказалась интересной, в личку поступило много вопросов, так что держите продолжение, будем разбираться, что такое RAW и как его правильно прожарить.



Дня начала рассмотрим один из важнейших аспектов, который отличает RAW-файлы от камерных JPEG’ов: а именно динамический диапазон.
Читать дальше →

Корзина, картина, картонка или Как мы делаем покупки в Америке не сложнее заказов по России

Reading time3 min
Views21K
Почтовый сервис «Бандеролька» — это компания, которая ежемесячно доставляет из США десятки тысяч посылок. Наш американский склад позволяет делать покупки в США, как если бы вы сами были в Америке, а с помощью собственной службы доставки мы можем привезти товар с другого конца света в Москву не более, чем за 8 дней. В этом посте мы расскажем, как из дипломного проекта вырос международный бизнес и что он собой представляет в наши дни.


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

Сажаем контроллеры на диету: Android

Reading time5 min
Views30K
Паттерн MVС появился достаточно давно и создавался с целью разделения бизнес-логики приложения от представления. Но далеко не все программисты реализуют его правильно, из-за чего возникают «Толстые тупые уродливые контроллеры» содержащие тонны кода. В этой статье пойдет речь о правильной реализации View классов, для того чтобы уменьшить количество кода в контроллерах и оставить место чистой бизнес-логике приложения.


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

Тест бесплатных программ для восстановления данных. Версия читателей Хабра

Reading time7 min
Views95K
Приветствую всех Хабровчан!

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

  1. R.Saver 2.8
  2. Handy Recovery 5.5
  3. GetDataBack 1.0
  4. PhotoRec/TestDisk 7.0
  5. RecoveRx 3.0
  6. DMDE 2.10.2
  7. Zero Assumption Recovery 9.2
  8. Active@ File Recovery 14

Мы протестировали их. Результаты тестов ниже.

Внимание! Много скриншотов.

UPD Добавлены тесты еще двух утилит.
Читать дальше →

Пишем свой Spliterator

Reading time11 min
Views54K
Многие из вас уже попробовали на вкус Stream API — потоки Java 8. Наверняка у некоторых возникло желание не только пользоваться готовыми потоками от коллекций, массивов, случайных чисел, но и создать какой-то принципиально новый поток. Для этого вам потребуется написать свой сплитератор. Spliterator — это начинка потока, публичная часть его внутренней логики. В этой статье я расскажу, как и зачем я писал сплитератор.
Читать дальше →

Распознавание физической активности пользователей с примерами на R

Reading time8 min
Views9.1K
Задача распознавания физической активности пользователей (Human activity Recognition или HAR) попадалась мне раньше только в качестве учебных заданий. Открыв для себя возможности Caret R Package, удобной обертки для более 100 алгоритмов машинного обучения, я решил попробовать его и для HAR. В UCI Machine Learning Repository есть несколько наборов данных для таких экспериментов. Так как тема с гантелями для меня не очень близка, я выбрал распознавание активности пользователей смартфонов.
Читать дальше →

Регулируемый источник питания из БП ATX на TL494. Часть 1 — железо

Reading time10 min
Views420K
Всем привет!

Сегодня хотел бы рассказать Вам о своём опыте переделки самого обычного китайского БП ATX в регулируемый источник питания со стабилизацией тока и напряжения(0-20А, 0-24В).

В этой статье мы подробно рассмотрим работу ШИМ контроллера TL494, обратной связи и пробежимся по модернизации схемы БП и разработке самодельной платы усилителей ошибок по напряжению и току.

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

Принцип анализа вариабельности сердечного ритма в MATLAB

Reading time6 min
Views26K
Приветствую, Хабр! В этой публикации хочу представить свой опыт реализации алгоритма анализа ВСР человека в MATLAB. Теме анализа ВСР уделено достаточно внимания на Хабре. (поиск по слову ЭКГ) однако, как мне показалось, некоторые моменты раскрыты слабо или вовсе не рассматриваются. В данной статье не уделяется много внимание объяснению явления ВСР и теории методов ее анализа. Подразумевается, что читатель подготовлен, а основной упор сделан на использование для целей анализа функций и процедур MATLAB.
Читать дальше →

[LibGDX] Создаем клон Flappy Bird — Zombie Bird

Reading time127 min
Views199K
Доброго времени суток %username%. Не давно наткнулся на хороший туториал по созданию клона игры Flappy Bird используя LibGDX и этот туториал мне понравился своей простотой и детализацией.

Я отдаю себе отчет, что тема создания клонов данной игрушки изъела себя, но возможно кому-то пригодится еще один хороший туториал.

Туториал разбит на 12 дней, содержит множество картинок, полотен кода и исходный код разбит по дням. Кому интересно, добро пожаловать под кат.
Подробнее

Решение лабиринтов на Perl

Reading time11 min
Views7.6K
Классическая задача при игре в лабиринте состоит в поиске прохода через него от входа до выхода. Путь-решение рисуется на карте лабиринта. В большинстве случаев лабиринты генерятся компьютерами, которые пользуются алгоритмами вроде поиска в глубину. Интересно, что решать лабиринт можно при помощи того же самого алгоритма.

Читаем лабиринт


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

Пример лабиринта в SVG:
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="112" height="96" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <rect width="112" height="96" fill="white" stroke="none" />
  <title>5 by 4 orthogonal maze</title>
  <g fill="none" stroke="#000000" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
    <line x1="16" y1="16" x2="32" y2="16" />
    <line x1="48" y1="16" x2="80" y2="16" />
    <line x1="16" y1="80" x2="96" y2="80" />
    <line x1="16" y1="16" x2="16" y2="80" />
    <line x1="96" y1="16" x2="96" y2="80" />
    <line x1="64" y1="16" x2="64" y2="32" />
    <line x1="32" y1="32" x2="32" y2="48" />
    <line x1="32" y1="32" x2="48" y2="32" />
    <line x1="64" y1="32" x2="64" y2="48" />
    <line x1="64" y1="32" x2="80" y2="32" />
    <line x1="32" y1="48" x2="48" y2="48" />
    <line x1="48" y1="48" x2="48" y2="64" />
    <line x1="48" y1="48" x2="64" y2="48" />
    <line x1="80" y1="48" x2="80" y2="64" />
    <line x1="16" y1="64" x2="32" y2="64" />
    <line x1="48" y1="64" x2="64" y2="64" />
    <line x1="80" y1="64" x2="80" y2="80" />
  </g>

  <g fill="black" stroke="none" stroke-width="1">
    <text x="24" y="26" text-anchor="middle" style="font-family:Arial Narrow; font-size: xx-small;">1</text>
    <text x="40" y="26" text-anchor="middle" style="font-family:Arial Narrow; font-size: xx-small;">2</text>
    <text x="56" y="26" text-anchor="middle" style="font-family:Arial Narrow; font-size: xx-small;">3</text>
    <text x="72" y="26" text-anchor="middle" style="font-family:Arial Narrow; font-size: xx-small;">4</text>
    <text x="88" y="26" text-anchor="middle" style="font-family:Arial Narrow; font-size: xx-small;">5</text>
    <text x="24" y="42" text-anchor="middle" style="font-family:Arial Narrow; font-size: xx-small;">6</text>
    <text x="40" y="42" text-anchor="middle" style="font-family:Arial Narrow; font-size: xx-small;">7</text>
    <text x="56" y="42" text-anchor="middle" style="font-family:Arial Narrow; font-size: xx-small;">8</text>
    <text x="72" y="42" text-anchor="middle" style="font-family:Arial Narrow; font-size: xx-small;">9</text>
    <text x="88" y="42" text-anchor="middle" style="font-family:Arial Narrow; font-size: xx-small;">10</text>
    <text x="24" y="58" text-anchor="middle" style="font-family:Arial Narrow; font-size: xx-small;">11</text>
    <text x="40" y="58" text-anchor="middle" style="font-family:Arial Narrow; font-size: xx-small;">12</text>
    <text x="56" y="58" text-anchor="middle" style="font-family:Arial Narrow; font-size: xx-small;">13</text>
    <text x="72" y="58" text-anchor="middle" style="font-family:Arial Narrow; font-size: xx-small;">14</text>
    <text x="88" y="58" text-anchor="middle" style="font-family:Arial Narrow; font-size: xx-small;">15</text>
    <text x="24" y="74" text-anchor="middle" style="font-family:Arial Narrow; font-size: xx-small;">16</text>
    <text x="40" y="74" text-anchor="middle" style="font-family:Arial Narrow; font-size: xx-small;">17</text>
    <text x="56" y="74" text-anchor="middle" style="font-family:Arial Narrow; font-size: xx-small;">18</text>
    <text x="72" y="74" text-anchor="middle" style="font-family:Arial Narrow; font-size: xx-small;">19</text>
    <text x="88" y="74" text-anchor="middle" style="font-family:Arial Narrow; font-size: xx-small;">20</text>
  </g>
</svg>





Файл мы будем обрабатывать двумя регулярками – одна для размера, а вторая – для поиска линий.
Читать дальше →

STM32. Подключаем смарт-карты стандарта ISO7816

Reading time8 min
Views66K
О смарт-картах сказано уже немало, но процесс взаимодействия с картами на физическом уровне до недавнего времени оставался для меня загадкой. В своей статье я хотел бы осветить вопрос работы со смарт-картами по интерфейсу, описанному в части 3 стандарта ISO7816. Признаюсь честно, что потратил немало времени добывая информацию, а все оказалось предельно просто. Если интересно, давай под кат.

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

Детектор углекислого газа МАСТЕР KIT MT 8057

Reading time2 min
Views34K
Как известно, причиной многих проблем с самочувствием и синдрома хронической усталости может быть переизбыток углекислого газа (CO2) в воздухе помещения (megamozg.ru/post/4982). Практически во всех городских квартирах вентиляция не достаточна для того, чтобы поддерживать комфортный уровень CO2. Очень важно иметь дома измеритель уровня CO2 для того, чтобы хотя бы вовремя открывать форточку.

Детектор углекислого газа МАСТЕР KIT MT 8057 сейчас фактически самый дешёвый на рынке. В интернет-магазине MedGadgets от стоит 4950 рублей.



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

В университете Вашингтона тестируют Android-приложение для диагностики остановки дыхания во сне

Reading time2 min
Views3.1K
Сотрудники университета Вашингтона разработали мобильное приложение ApneaApp, которое предназначено для определения апноэ во сне. Это серьёзное заболевание, при котором человек фактически прекращает дышать в течение некоторого времени — в тяжёлых случаях это состояние длится 2-3 минуты и значительно понижает и качество сна и, как следствие, качество жизни. Это может стать фактором развития таких тяжёлых заболеваний как ишемическая болезнь сердца и инсульт. Обычно в клинических условиях сон пациента исследуется при помощи полисомнографии — длительной и дорогой процедуры. В случае мобильного приложения поставить диагноз апноэ можно будет фактически бесплатно. Принципы работы ApneaApp и клиническое обоснование изложены в статье "Contactless Sleep Apnea Detection on Smartphones".
Узнать подробности

Ломаем датчик утечки газа

Reading time7 min
Views109K
Ежегодно в России из-за утечки бытового газа происходят десятки взрывов. В частности, грустный рекорд был отмечен в 2008 году, когда только в январе произошло 7 мощнейщих взрывов, в которых пострадали и погибли люди. О разрушениях и убытках я уже и не говорю. И это только случаи, которые попали в ленту федеральных новостей. На самом деле, утечек газа значительно больше. Изношенность оборудования, неаккуратность и безответственность — главные причины подобных трагедий. Их может быть меньше, если активнее внедрять системы контроля утечек газа, реализованных на недорогих электрохимических сенсорах. Одно из таких устройств попало мне в руки. Статья посвящена анализу девайса и возможных неспортивных способов его использования. Однако, главную функцию устройство выполняет всецело, поэтому после технических издевательств оно будет дополнительно протестировано в биогазовой лаборатории, о которой можно прочесть здесь, и затем подарено Матушке, у которой всю жизнь на кухне газ).

Внимание! Возрастное ограничение статьи 18+
Что дальше?

Интерактивный пол на Android

Reading time8 min
Views29K
Наверное, многие из вас видели интерактивные игры для детей в торговых центрах. Где динамическая сцена проецируется на пол, а рядом установленный сенсор определяет точки касания с поверхностью и преобразует их в события для приложения на управляющем компьютере. После поиска в интернете информации об этом устройстве оказалось, что это довольно дорогая игрушка. Например, китайские клоны стартуют с ценника в $1200, а что-то более оригинальное стоит уже $10 тыс. После анализа технической составляющей продукта было решено сделать аналогичное устройство самому.

Железо проекта состоит из трех частей:
  • Сенсор глубины (в оригинале это ASUS Xtion);
  • Управляющий компьютер (Cubieboard A80, ODROID-U3);
  • Проектор.

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

Тест для проверки цветового разрешения монитора или телевизора при подключении к компьютеру по цифровому видеоинтерфейсу

Reading time7 min
Views171K
«Кто нам мешает, тот нам поможет»
к/ф «Кавказская пленница»


Телевизор в качестве монитора?


В последние годы все более популярным становится использование телевизора в качестве домашнего компьютерного монитора.
И действительно — если еще несколько лет назад типичным для компьютерных мониторов Full HD разрешением (1920x1080) могли похвастаться лишь телевизоры с диагональю 40" и более, слишком большие для настольного монитора, то сейчас нетрудно найти телевизор с Full HD разрешением и с вполне «мониторной» диагональю 32" и меньше. Соответственно и размер пикселя при этом получается близким к «типовому» для настольных мониторов 0,28 мм ± 10% (ну, может быть чуть больше). А если кому-то такой пиксель покажется великоват, то с появлением доступных по цене бытовых телевизоров с разрешением 4k Ultra HD (3840x2160) размер пикселя вполне может конкурировать и с Retina.
К тому же широко распространенные в бытовых телевизорах IPS матрицы по компьютерным меркам считаются весьма «продвинутыми», и ими обычно оснащаются весьма дорогие «профессиональные» мониторы.
Казалось бы вот оно, идеальное решение для экономного домашнего пользователя — купить на грош пятаков небольшой (по телевизионным меркам) относительно недорогой 26"-37" бытовой телевизор с Full HD или Ultra HD разрешением, и в результате получить «компьютерный монитор» с большим (по компьютерным меркам) «профессиональным» IPS дисплеем, который к тому же без дополнительных вложений может быть использован и по прямому «телевизионному» назначению (что для дома тоже немаловажно!).
Однако иной раз результатом такого приобретения становится полное разочарование: компьютерная картинка на экране телевизора оказывается намного хуже, чем на простеньком старом мониторе, вместо которого этот телевизор собственно и приобретался.
Причин этого может быть множество, начиная от несоответствия разрешения соединяющего компьютер с телевизором видеоинтерфейса разрешению телевизионной матрицы, способности телевизора выводить картинку «пиксель-в-пиксель», настроек видеокарты (в частности, Overscan), настроек самого телевизора (например, резкости), проблем с кабелем, и так далее.
В данной статье мы рассмотрим только одну из возможных причин, а именно способность видеоинтерфейса, которым подключен телевизор или монитор к компьютеру, передать полное цветовое разрешение 4:4:4.

Для начала собственно тест:



Если на экране Вам отчетливо видна появляющаяся надпись 4:4:4, и лишь слегка угадывается 4:2:2, то значит видеоинтерфейс компьютер-монитор передает полное цветовое разрешение, и на этом собственно можно закончить тест и чтение статьи.
Тем же, кому интересно, как действует этот тест, а также тем, кто видит 4:2:2 и не видит 4:4:4 (или видит примерно одинаково и 4:4:4, и 4:2:2), и при этом хочет попробовать исправить ситуацию добро пожаловать под кат
Читать дальше →

Пилю, строгаю, собираю 3d принтер из хлама и палок

Reading time5 min
Views53K
Мне давно хотелось иметь 3d принтер. Года полтора — точно, может, даже больше. Я даже слегка научился моделировать в DesignSpark Mechanical и изредка рисовал в нем всякие полезные и не очень штуки, например, переделал кнопки на своем руле Logitech G27, чтобы было удобнее нажимать в перчатках: G27 Button Plates. Полет фантазии в изготовлении всякого разного ограничивало только отсутствие своего принтера, ведь печать где-то еще — это долго, неудобно и не слишком дешево. Останавливало только одно — на свой принтер нужны были деньги, а их почему то всегда хронически не хватает. После долгих раздумий я решил собрать принтер сам, причем, учитывая озвученное выше обстоятельство, по максимуму использовать всякий валяющийся на работе хлам.
Итак, процесс пошел...

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity