Search
Write a publication
Pull to refresh
13
0

Пользователь

Send message

Обзор mp3-плеера SanDisk Sansa Clip+

Reading time7 min
Views194K
Эту простыню можно не читать

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

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

Я же хочу рассказать об одной вещице для настоящих живых людей, про mp3-плеер, в котором:
  • НЕТ большого цветного сенсорного экрана;
  • НЕТ сенсорного управления;
  • НЕТ фотокамеры;
  • НЕТ воспроизведения видео;
  • НЕТ клёвой программы для синхронизации с музыкальной библиотекой на компьютере;
  • НЕТ беспроводных интерфейсов;
  • НЕТ красивых анимированных заставок;
  • НЕТ игр и виджетов;
  • НЕТ акселерометра и компаса;
  • НЕТ ничего такого, чем можно было бы произвести впечатление на девушку*;
  • НЕТ альтернативных прошивок, с которыми можно было бы долго и с интересом ковыряться**.

* Имеется в виду не конкретно ваша девушка, а среднестатистическая сферическая девушка в вакууме.
** Это пока. Работа над рокбоксом идёт, но пока не очень успешно. Рокбокс уже можно скачать и поставить. А вместе с ним и всякие игры (даже Doom!) и программы (например тюнер, калькулятор, текстовый редактор и даже просмотровщик картинок).

Как видите, сплошная скука.
Но, знаете ли, это именно то, что я давным-давно хотел.
Читать дальше →

Программирование на Android для web разработчика или быстрый старт для самых маленьких. Часть 2

Reading time2 min
Views51K
Приветствую!

Статья является продолжением начатой мной части 1.

Предостережение


Важно: данный урок не является профессиональным. Автор урока не является специалистом в программировании для платформы Android. Я заранее приношу свои извинения, за неоправданные ожидания.

RegistrationActivity


В Activity для регистрации нужно проделать следующее:
Читать дальше →

Жизнь разработчика (в картинках)

Reading time1 min
Views67K
Взято отсюда специально для хабра. Возможно, в некоторых из ситуаций вы узнаете себя.

Когда я показываю босу, что окончательно пофиксил баг



Когда проджект-менеджер входит в офис



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

Crucial MX100: 256ГБ SSD за 110 долларов

Reading time1 min
Views98K
crucial mx100

Твердотельные накопители гораздо производительнее жестких дисков, а также менее прожорливы в плане потребления энергии. У SSD, в общем-то, куча достоинств, но есть и недостатки. Первым можно назвать более низкую надежность, чем у жестких дисков, и вторым — цену. Цена среднестатистического SSD выше, чем у винчестера того же объема.

Конечно, цены падают с течением времени, и сейчас SSD уже доступны практически всем. Но все же SSD еще достаточно дороги.

Но вот хорошая новость: Crucial выпустили SSD объемом в 256 ГБ, цена которого — всего 110 долларов США. Это — всего 43 цента за гигабайт.

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

Беспрецедентная акция или всё-таки хакнули? Office 2013 за 5 гривен в Украине, $5 в Бeларуси, 5 шекелей в Израиле

Reading time1 min
Views360K
Привет,

Буквально несколько минут назад всё вернулось на свои места и цена МС Офиса 2013 стала 2199 грн. Но что же произошло до этого? Почему цена была меньше 1 доллара? По этой ссылке мы видели такую картину:
image
Читать дальше →

Потоковое видео в Android

Reading time7 min
Views200K
В этой заметке я хочу рассказать о некоторых подводных камнях, с которыми можно столкнуться при работе с потоковым видео в Android приложениях. Конкретно, речь пойдёт о конвертации видео и протоколах доставки/воспроизведения видео.
Сразу оговорюсь, что экспертом я в данной области не являюсь, а лишь хочу поделится недавно полученным опытом.


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

Китайцы ворвались на рынок мини-компьютеров

Reading time1 min
Views34K


У Raspberry Pi и Cotton Candy появился китайский конкурент. Компьютер размером с флешку стоит 74 доллара — как раз посередине между Raspberry Pi (25 — 35 долларов) и Cotton Candy (200). Внутри — одноядерный процессор ARM Cortex A8 AllWinner A10 1.5GHz, графический чип Mali 400, 512 мегабайт DDR3 RAM и 4 гигабайта встроенной флеш-памяти. Есть полноразмерный слот USB, microUSB, кардридер micro TF, порт HDMI и беспроводной модуль WiFi 802.11b/g. Размеры «китайца» — 8.8 х 3.5 х 1.2 см, вес — 200 граммов.
Читать дальше →

Устраиваемся программистом за рубежом

Reading time16 min
Views63K
Как часто вас посещала мысль о трудоустройстве за границей, будь то просто временная работа или переезд на постоянное место жительство? Какую страну выбрать? Возможно ли пройти собеседования за тысячи километров по телефону и получить джоб-офер? Как будет выглядеть переезд и жизнь в другой стране? В данной статье я бы хотел поделиться личным опытом и опытом многих моих друзей работающих за рубежом.
Читать дальше →

IT в туризме — миф

Reading time3 min
Views3.1K
Этим постом не претендую на правду в первой инстанции, просто делюсь мыслями. По образованию, духу и бывшей профессии я — программист и всегда считал, что любая работа, любой процесс должен быть автоматизирован донельзя. Также я думал когда занимался открытием собственной турфирмы. Я думал, что уж в моей-то фирме будет самый лучший и самый удобный сайт, у меня будет полнейшая база отелей, актуальные туры в поиске а менеджеры по продажам только и будут делать, что отмечать «птичками» оплаченные заявки.

Все оказалось куда печальнее.

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

Искуственный интеллект с нечеткой логикой в аркадной игре

Reading time10 min
Views16K

Введение или как я писал свой первый ИИ


Доброго времени суток. Я написал свой первый искуственный интеллект много лет назад, когда учился в колледже. Тогда это был ИИ для змейки в необычной для змеек игре — Serpent's Madness (ссылка ведет на мой сайт игры), в которой последние могут двигаться в любом направлении. Скриншот ниже демонстрирует это:



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

Съемка Full HD видео теперь возможна на Canon 50d

Reading time4 min
Views72K


Введение. About Magic Lantern


Magic Lantern — открытая среда разработки расширений возможностей цифрозеркалок Canon 5D Mark II / 500d / 550D / 600D / 60D / 50D. По сути это не взломанная или модифицированная прошивка, а дополнение, которое запускается вместе с оригинальной прошивкой, загружаясь с карты памяти при каждом включении фотоаппарата. Исполняемый файл записывается на флеш-карту и автоматически подгружается в память при включении камеры. Единственным изменением оригинальной прошивки является возможность загрузки этого самого дополнения с карты памяти. В основном прошивка заточена для съёмки видео (после её установки Mark II получает функционал, сравнимый с профессиональными видеокамерами RED ONE и Phantom 65, которые находятся в совершенно других ценовых категориях), но присутствует немало новых возможностей для фото:
Читать дальше →

Опыт заказа в китайских интернет-магазинах

Reading time5 min
Views578K
В данной статье хотелось бы поделиться с читателями своим личным опытом о китайских интернет-магазинах, в которых мне (или моим друзьям) приходилось делать покупки. Речь пойдет именно про электронный сегмент товаров. Сразу перейду к сути, и приведу обзоры этих самых магазинов с заключительной оценкой:
Читать дальше →

Введение в SVG и пример — pie chart

Reading time6 min
Views6.8K
SVG (scalable vector graphics) это векторный формат графики подобно EPS, анимации и интерактива с пользователем, разрабатываемый в W3C. Внутри файл не бинарный а обычный XML, описывающий объекты, их эффекты и поведение. Векторная графика в общем нужна при изменении размера изображения без потери качества, например в полиграфии. В web я это вижу в резиновых сайтах, где размеры блоков установлены в %, размер шрифтов в em, а лого — в SVG. Пересели на более хороший монитор — всё изменилось пропорционально. Практические примеры — иконки, графики, карты, логотипы, интерфейсы. Ниже я привожу пример такого Pie-chart'а.


Интеграция

HTML — Inline
Поскольку SVG по сути XML, то его можно сразу inline-стилем описывать в XHTML-структуре. Однако как я уже убедился, XHTML1.1 doctype подразумевает что MIME документа уже не text-plain. А «ослик» IE6 не понимает XHTML в принципе, с другой стороны Firefox использует два парсера, и если MIME не application/xhtml+xml, то inline SVG не будет распознан. Это палка с двумя концами — IE и FF.
/>
Второй способ и наиболее практичный — ссылаться на существующий файл через object-тэг. Для
уменьшения траффика, файл можно сжать и получить SVGZ архив.
CSS и Javascipt
Как вы увидите ниже — поскольку SVG очень тесно связан с HTML/XML, то естественно что на графические объекты можно не только описывать при помощи CSS, но и писать Javascript-функции на всевозможные onclick и тп. event'ы (отсюда и интерактивность). />
Конвертирование и редакторы
Конвертировать SVG можно и в png/jpeg, но для этого фактически надо проделать работу обработчика. В PHP этим занимается PEAR XML_svg2image библиотека. Ещё есть сервис по конвертированию растрового изображения в векторный (правда там EPS). Из редакторов — есть Inkscape и Adobe Illustrator, Corel Draw.

Графика

Примитивы

Всякое рисование начинается с определения пространства (двумерного), разделения на координаты (в единицах с плавающей точкой или процентах) и введения примитивных конструкций:
  • line — прямая линия. x1, y1, x2, y2 — координаты
  • polyline — ломанная линия. points — перечисление координат точек
  • rect — прямоугольник. x,y, width, height, rx, ry — верхний левый угол, размеры, радиусы углов
  • polygone — многоугольник. Похож на polyline. points — координаты точек
  • circle — круг. cx, cy, r — координаты центра и радиус
  • ellipse. cx, cy, rx, ry — координаты центра и радиусы
  • text — текстовая надпись. Очень неудобная, потому что без переноса строк и с абсолютным позиционированием. x,y, font-family, font-size
  • tspan — может описывать слова внутри text-элемента. Например сдвигать или раскрашивать
  • tref — повторное использование text-элемента с указанным id
    Простой текст
    <tref xlink:href="#myText" x="50" y="50">
textPath — текст на path-кривой, связанный по id/>
<textPath xlink:href="#myPath" startOffset="50%">Водка Vinogradoff
image — растровое изображение
<image image-rendering="optimizeSpeed" xlink:href"background.jpg" width="100%" height="100%" preserveAspectRatio="xMidYMid slice" filter="url(#blurpane)"/>
Параметры и стили
Как и в html, одни линии мало кому нужны — их надо закрашивать, указывать цвета, и всё это делается параметрами
  • fill, fill-rule — заливка. Например «none»,blue, indigo.
  • stroke, stroke-linecap, stroke-linejoin, stroke-dasharray, stroke-dashoffset, stroke-width — граница, аналог border. Вместе stroke-width.
  • font-family, font-size, font-style, font-weight — шрифты для text-элементов
  • text-anchor
Для заливки используются тэги:
  • pattern
  • linearGradient
  • radialGradient
Эти параметры можно все объединить в один аналог CSS и записать в inline-стиле:
style="stroke-width:1; stroke:blue; fill:none"
Группы и кривые Безье
Элементы можно и нужно группировать друг в друга. Кроме того что tspan устанавливаетсявнутрь text-элемента, группирование происходи благодаря элементу.Кривые Безье это плавные переходные линии, задающиеся по точкам. В SVG для этого существует элемент path, у которого подобно ломанной линии указываются координаты. Рядом с координатами могут стоять буквы, обозначающие свойства линии. Большие буквы говорят об абсолютном позиционировании, маленькие об относительном
  • M — начало кривой (x,y)
  • Z — конец кривой (без координат)
  • L -прямая линия (x,y)
  • H — горизонтальная линия
  • V — вертикальная линия
  • Q — квадратичная кривая по одной точке
  • T — продолжение кривой с отражением предыдущей точки — упрощает рисование повторяющихся ритмов
  • С — собственно кривая Безье третьего порядка по двум точкам
  • S — упрощённая версия C
  • A — эллиптическая кривая (радиусы, поворот)

Трансформации и возможности

Объекты в SVG пожно искажать, крутить и перемещать при помощи фильтров, которые указываются в качестве параметров:
  • translate — перенос объекта
  • rotate -вращение
  • scale — масштабирование
  • scewX, scewY — искажение
  • matrix — смешанная трансформация
SVG поддерживает фильтры с эффектами освещения. А кроме статичных изображени есть возможность, анимации и интерактивности с пользователем. Например тетрис или нашумевший Microsoft Table и Silverlight реализован программно в SVG, причём при большом желании — заработало и видео (формата Ogg Theora=SVGT). Конечно последние возможности ещё не реализованы во всех браузерах, но первооткрыватели типа Opera имеются.


Тортовый график на SVG и PHP/DB

Несомненно Google API — очень удобная штука. Но не стоит забывать что всё-таки это внешний сервис, пусть и надёжный. Коммерческие разработки не любят рисковать, поэтому генерация графиков всё-таки должно быть локальным (если они не статические).Генерировать изображение я буду с помощью php, на основе полученных из
БД данных для отображения результатов опроса (poll). Поскольку GD-библиотека хоть и понимает размер SWF,
генерирует только бинарные файлы. Поэтому генерировать прийдётся XML:header("Content-Type: image/svg+xml"); Посмотрим к чему надо стремится (пока без крутой анимации)… Начнём с резинового расположения двух эллипсов? Сектора видимо идут в порядке убывания по часовой стрелке, что-бы уменьшить количество градиента на мелких участках. Цвет сектора видимо расчитывается пропорционально числу кусочков — тут то и возникает проблема. Как оказывается, сектор нельзя просто-так залить с двумя линиями и существующим эллипсом — фигура должна быть точно очерчена, поэтому надо рисовать всё по отдельности при помощи path, а ellipse нам не понадобится.
Тригонометрия цвета
Для вычисления в цикле координат path-элемента необходимо вспомнить немного математики. Поскольку окружность — частный случай эллипса то в формулах есть много схожего, что нам очень пригодится: x=cos(angle)*radius; y=sin(angle)*radius; //circle
x=cos(angle)*rx; y=sin(angle)*ry; //ellipse

Для эллипса же радиус просто заменяется на большую и малую полуось соответсвенно. Дальше создаём цикл, где вычисляем процентное распределение данных, градус длясектора с path. Вчисляем координаты для арки, для этого используем «сдвиг градуса» что-бы отрисовка всех секторов шла вплотную.RGB куб, можно по разному резать, делать проекции и вводить свои системы
координат типа CMYK и HSL. Разные оттенки выбранной оранжевой заливки получаются при разбиении отрезка между выбранной точкой-цветом и вершиной белого цвета (255,255,255). if ($intTotalValue) // если сумма значений голосования больше нуля то можно делить и рисовать
foreach((array) $Data as $key=>$recEntry){
$Data[$key]->percent=$recEntry->value/$intTotalValue;
$Data[$key]->color[0]=round($graph->fill[0]+($key/count($Data)*(255-$graph->fill[0])));
$Data[$key]->color[1]=round($graph->fill[1]+($key/count($Data)*(255-$graph->fill[1])));
$Data[$key]->color[2]=round($graph->fill[2]+($key/count($Data)*(255-$graph->fill[2])));

$Data[$key]->degree=360*$Data[$key]->percent;
$Data[$key]->start['x']=$graph->cx+round(cos(deg2rad($intDegreeShift)) * $graph->rx,3);
$Data[$key]->start['y']=$graph->cy+round(sin(deg2rad($intDegreeShift)) * $graph->ry,3);
$Data[$key]->end['x']=$graph->cx+round(cos(deg2rad($intDegreeShift+$Data[$key]->degree)) * $graph->rx,3);
$Data[$key]->end['y']=$graph->cy+round(sin(deg2rad($intDegreeShift+$Data[$key]->degree)) * $graph->ry,3);
$intDegreeShift+=$Data[$key]->degree; //increase degree shift

$boolIsLargeArc=$Data[$key]->degrees>180? 1 : 0;
echo "\n".'/>';
}
Если посмотреть на график внимательно, то видно что объёмность делается
при помощи градиента, который в SVG мы сначала зальём в качестве фона,
а поверх будем накладывать уже конкретные цвета сектора с прозрачностью:

/>
/>
/>

Основные проблемы

Но проблема остаётся и с закрашиванием пограничных секторов — закрашивать переднюю область поверх градиента надо только у тех областей, которые до половины торта идут. К этому этапу картинка выглядит так:graph_limit_problem_416
Абсолютный текст
Кроме того вопрос возникает как располагать текстовые описания секторов? Google попросту ведёт линии с середин секторов, даже если текст не умещается в одну строчку. В SVG позиционировать текст надо от верхнего левого угла — что уже проблема, поскольку ширины мы не знаем. Выхода два — отказаться от относительного позиционирования текста и сделать выноски цветом, либо использовать текст с фиксированной шириной (monospace, Courier) и на этой основе расчитывать длину в пикселях и положение на лету. Благо я наткнулся на параметр text-anchor:end, который странным образом развернул текст как надо.

Интерактивность и будущее

Благодаря интеграции с javascript'ом, можно соответсвенно в реальном времени при помощи AJAX'а обновлять изображение. В моём случае это необходимо когда пользователь голосует и надо обновить распределение голосов на графике.

Читайте также:

Оригинал статьи с иллюстрациями и пример использования

Обзор мощного мини-компьютера UG802

Reading time4 min
Views241K


После первой попытки создать мини-компьютер в лице Riko MK802 и CX-01 китайские производители продолжают экспериментировать. Следующим этапом завоевания рынка стал выпуск мини-компьютера с куда более интересными характеристиками.
Как обычно, первая проблема возникла с названием. На данный момент мини-компьютер называется UG802.
Второй интересный момент — кто же на самом деле производит это изделие. Никакого отношения к Rikomagic (как можно было подумать из названия) данное устройство не имеет. В Сети были анонсы этого устройства под маркой Reno Botes. Но третий, самый вероятный вариант, что UG802 был произведён китайской компанией UGoos.
Давайте посмотрим, какую аппаратную часть нам предлагают в этой новинке.
Читать дальше →

ПО для взаимодействия ПК и смартфона

Reading time7 min
Views438K
С момента покупки смарта на Android меня заинтересовало его функциональное наполнение. На практике оказалось, что Android способен выполнять практически любую задачу, решаемую на обычном ПK, только медленнее и не всегда удобнее. Зато дополняет ПК он прекрасно, и механизмов использования возможностей смарта на ПК и возможностей ПК на смарте — уйма.

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

Android-приложение для дистанционного управления Canon DSLR

Reading time1 min
Views33K


Благодаря программе DSLR Controller появилась возможность управлять камерой Canon EOS напрямую с Android-устройства (2.3.3+). Подключив USB-кабель, вы получаете на экране планшета предпросмотр (около 15 fps) и все кнопки управления. Можно даже выбирать точки для фокусировки пальцем (!) на тачскрине.
Читать дальше →

Вышел релиз популярного магазина OpenCart v1.5.0 RC1

Reading time2 min
Views5.9K
Один из самых популярных и динамично развивающихся OpenSource проектов для электронной коммерции — OpenCart выпустил новую версию v1.5.0 RC1 для финального тестирования. Я беглым взглядом пробежался по меню настройки и выделил изменения по сравнению с версией 1.4.x.
Читать дальше →

12 способов не накосячить со вспышкой

Reading time8 min
Views357K
После трёх лет работы со студийным светом я думал, что знаю про накамерную вспышку если не всё, то очень много. Три недели назад я попал в гости к одному особо опытному стробисту, который рассказал и показал столько, что я сразу понял, что надо садиться и делать перепись грабель, а потом тестить, тестить и ещё раз тестить.

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

Фото-мозаика. Как сделать качественно и красиво

Reading time5 min
Views391K
Хочу поделиться с Хабра-сообществом моим хобби, которое, если честно, даже некоторую прибыль мне приносит.

Начну сначала. Лет так 6-7 назад мне очень стала интересна такая штука как фото-мозаика. В самом начале я пробовал делать её вручную. Немеряное количество слоев в фотошопе и куча потраченного времени меня остановила года так на три. Но со временем только появлялся азарт.
И вот я начал свое исследование программного обеспечения для создания фото-мозаик, которого было перепробовано огромное количество. И в конечном итоге выбрано лучшее.

О лучшем как раз и пойдет речь.

image

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

Пара полезных сайтов для выбирающих фототехнику

Reading time1 min
Views40K
Хотелось бы дополнить недавний топик про теоретические основы фотографии некоторым объемом практической информации. Интересно будет в первую очередь тем, кто выбирает себе очередную камеру или объектив (независимо от квалификации фотографа и уровня техники):

www.dpreview.com — подробнейшие обзоры и сравнения фотокамер, довольно оперативно пополняемые по мере выхода в свет новых моделей. Для людителей истории фототехники имеется архив за прошедшие годы;

www.photozone.de/Reviews/overview — качественные и информативые отчеты о тестировании объективов для зеркальных камер различных производителей.

Update: еще насколько сайтов, подсказанных читателями, за что им спасибо :)

www.steves-digicams.com/ — обзоры техники, форум, подборка «HowTo»;

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

Information

Rating
Does not participate
Location
Нижний Тагил, Свердловская обл., Россия
Date of birth
Registered
Activity