Search
Write a publication
Pull to refresh
34
0
Дмитрий @Keyten

JavaScript

Send message

Оптическое распознавание символов в Linux

Reading time17 min
Views86K

Введение


Это не просто обзор существующих OCR (мы будем говорить всего о трёх) и не руководство по установке (хотя установка будет описана). Эта статья была создана с целью разобраться, что и как реально может распознать русский и английский языки в Linux.
Читать дальше →

Меня не устраивает Windows Phone

Reading time5 min
Views66K
После прочтения статьи «Почему Windows Phone обречен на успех» я таки решил высказать свое мнение, стараясь приводить исключительно факты. В топике много риторических вопросов, которые адресованы тем людям, которые утверждают, что их Windows Phone всем устраивает. Уверен, что так же можно написать и об Андроиде, и, наверно, iOS.



Дисклеймер: У меня была Люмия 710 около 6 месяцев. Из них она провела 90 дней в ремонте (официальном гарантийном). Второй ремонт, к сожалению, так и не пережила. Я пишу программы под винфон и пристально слежу за новостями этой платформы. Мне выгодно, чтобы система развивалась. Этим постом не преследую цели, показать, что система безнадежна, я просто хочу, во-первых, ответить всем ярым фанатам, которые говорят, что их «все устраивает», и, во-вторых, обратить внимание майкрософт. Кажется, что они просто не видят никаких проблем

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

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

Когда Photoshop отображает совсем не то, что надо

Reading time3 min
Views290K
example

Такая вот ситуация: дизайнер присылает макет, а у верстальщика открывается какая то лабуда светлая, или темная (если верстальщик испольует МасOS, а дизайнер Win.). Или же верстальщик сохраняет картинку, а там цвета другие стали.

Разберемся почему так и как с этим жить.

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

Pictonic — необычный иконочный шрифт

Reading time1 min
Views30K

В последнее время появилось множество иконочных шрифтов для нужд веб-дизайнеров, но такой как Pictonic я вижу впервые. Это «логотипный» иконочный шрифт, где собрано более 220 логотипов известных сервисов, браузеров, операционных систем, языков программирования и т.д. Среди символов конечно нет русскоязычных сервисов.
Читать дальше →

Как заинтересовать зарубежного работодателя

Reading time3 min
Views59K
В моём прошлом посте про поступление в магистратуру без бакалавриата читатели очень интересовались как перебраться в Европу без диплома.

Итак, мне 26 лет, я веб-разработчик в Берлине и я никогда не учился в университете.
5 составляющих успеха

Как продавать свою программу

Reading time4 min
Views130K
Если воспользоваться поиском, то окажется, что статей с таким заголовком много. Многие из них посвящены заработку в интернет, что естественно. Но писали их, во многих случаях, люди далекие от разработки ПО. Поэтому, там не раскрыты некоторые интересные детали процесса «Идея → Разработка → Продажа».



Начнём с самого начала…
Читать дальше →

Android прошивки на личном опыте

Reading time9 min
Views241K
Доброе время суток. Данный топик является изложением личного опыта владения телефонами на базе Android. Монолог будет о плюсах и минусах сторонних прошивок и o том, что интересует, не совсем обычного пользователя современных гаджетов. Данный топик, надеюсь, будет интересен пользователям Android устройств раздумывающиж над кастомизацией. Опытным пользователям и тем более разработчикам, эта заметка вряд ли расскажет что-то новое.

У меня нет опыта владения телефонами на Windows Phone или Apple iOS и данный холивар в этом топике не затрагивается.
Читать дальше →

ZFS on Linux — не все так просто

Reading time4 min
Views53K
Прочитав статью «ZFS on Linux — легко и просто», решил поделиться своим скромным опытом использования этой ФС на паре Linux-серверов.

Вначале — лирическое отступление. ZFS — это круто. Это настолько круто, что перекрывает все недостатки ФС, портированной с идеологически другой платформы. Ядро Solaris работает с иными примитивами, нежели Linux, поэтому, чтобы сделать возможным перенос ZFS с использованием кода Solaris, разработчики создали слой совместимости SPL — Solaris Porting Layer. Прослойка эта работает вроде бы нормально, но она — дополнительный код в режиме ядра, который вполне может быть источником сбоев.

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

Lockitron: самый умный в мире дверной замок

Reading time2 min
Views65K
Снабжённый WiFi, Bluetooth, NFC и собственной страничкой в интернете, замок Lockitron использует Android- или iOS-совместимый телефон вместо ключа, сообщает хозяину, когда кто-то его открывает или просто стучит в дверь, позволяет открывать и закрывать дверь, находясь за тысячи километров от неё и раздавать цифровые ключи доступа друзьям или сотрудникам, чтобы те могли открыть его своим телефоном.

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

Как он устроен? Lockitron выглядит как обычный врезной замок с накладной коробкой с внутренней стороны двери. Эта коробка может быть установлена отдельно, при условии механической совместимости ручки старого замка и исполнительного механизма Lockitron. Штатный режим работы — по WiFi (в комплект входит мини-сервер).
В этом режиме доступен максимум функций — дистанционное управление, уведомления, контроль доступа для гостей или родственников. Если подключиться по WiFi не удаётся — отключили электричество или интернет в доме, или недоступен сервер — можно открыть замок, если телефон поддерживает Bluetooth или NFC. Причем можно запрограммировать его так, чтобы он открывался автоматически, как только телефон хозяина появится в зоне видимости сети. То есть войти в дом можно будет, не вынимая телефон из кармана.
Читать дальше →

Через тернии к Haskell (перевод). 2/2

Reading time18 min
Views46K
Только хардкор, только монады

Будущее мобильного UI: взгляд и сдавливания

Reading time1 min
Views15K
Японская NTT DoCoMo на выставке CEATEC показала действительно инновационные интерфейсы взаимодействия с пользователем для мобильных устройств – это планшет i beam, который управляется взглядом, и концепт Grip UI, который работает со сдавливаниями.

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

Железная часть Grip UI это чувствительные к нажатию боковины телефона, которые могут различать до 5 степеней давления. Смартфон можно запрограммировать на выполнение определенных действий и, таким образом, управление одной рукой может стать вполне удобным процессом — например ту же кнопку «Назад» в Android можно будет повесить на сжатие.

Видео от Engadget...

Через тернии к Haskell. 1/2

Reading time25 min
Views234K


Первая часть короткого и жесткого введения в Haskell. Вторую часть можно найти здесь

tl;dr: Очень краткое и сжатое введение в Haskell.


UPD. Если туториал вам понравился, черкните пару строк автору оригинальной статьи. Человеку будет приятно ;)
Классные картинки, много текста и вынос мозга

CSScomb: сортировка CSS-свойств с базовой поддержкой препроцессоров и пряниками

Reading time6 min
Views49K
Буквально вчера на Smashing Magazine был опубликован мой текст про CSScomb. Так как узначально я писал его на русском языке, а затем переводил на английский, то я решил опубликовать оригинальный вариант на Хабре.

На момент написания этой статьи браузеры поддерживают около 200 CSS-свойств. Почти все из них вы используете в своих проектах. Самое время задуматься о консистентности не только форматирования кода, но и порядка свойств в рамках каждого селектора. Если вы следите за вашим code style, то эта статья для вас. Представляю вашему вниманию простой способ автоматической сортировки свойств в CSS-коде ваших проектов.

CSScomb.ru

CSScomb — утилита для сортировки CSS-свойств в рамках каждого селектора по заданному порядку. Алгоритм CSScomb максимально повторяет действия веб-технолога при работе с CSS-кодом. Для пересортировки обычно нужно перемещать строки относительно друг друга, учитывая комментарии в коде, многострочные записи значений свойств, хаки и всё, что может встретиться в файле любого серьезного проекта. Это довольно скучное занятие. Но CSScomb без проблем сделает это вместо вас.

Алгоритм CSScomb по своей природе «думает» как человек редактирующий текст, а не как слепой робот, разбирающий CSS по косточкам. Это позволяет утилите оставаться простой.

А теперь немного подробностей для тех зануд и перфекционистов, кому это по душе.
Покажите подробности!

Node.js + Chromium = AppJS: один из перспективных вариантов второго шага эволюции веборазработчика

Reading time4 min
Views35K
Сейчас мы с вами немного поговорим о том, как недавнее появление нового инструмента и связанных с ним возможностей открывает перед современными веборазработчиками возможность достаточно быстро эволюционировать, переходить на новые уровни, обретать новые профессиональные навыки, осваивать новые области созидательного труда. Таким инструментом является Node.js и растущая вокруг него инфраструктура.

Первый шаг эволюции веборазработчика совершается тогда, когда разработчик знакомится с Node.js и тотчас же постигает, что ему теперь достаточно воспользоваться знанием джаваскрипта и изучить довольно простой API Node, чтобы немедленно получить возможность сочинять не одни только скрипты для сайтов, но также и консольные приложения, и даже серверные (в частности, вебсерверные).

Исторически это не первый из таких инструментов.
Каждый из нас может вспомнить, что были и до появления Node.js попытки создать движок для удобного программирования на джаваскрипте (Windows Script Host, Rhino, JSDB, и так далее).

Однако только у Node мы видим и достаточно быстрый движок (V8), и кросс-платформенность, и простой API, и превеликое множество дополнительных модулей. Сочетание этих достоинств делает Node удачным и удобным.

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

Многие производители создавали средства вебоподобной разработки GUI-приложений.
Здесь можно припомнить с десяток более или менее успешных попыток достигнуть желаемого.

Фонд Мозиллы придумал сперва XUL и XULRunner, а затем и целую операционную систему — Firefox OS.

«Хьюлетт-Паккард» выпустил webOS (с недавних пор — Open webOS).

Google придумал Google Chrome OS.

Ещё можно вспомнить, что у Qt есть основанный на JavaScript язык разметки GUI — QML называется.

Развиваются PhoneGap, Appcelerator Titanium, Adobe AIR и другие средства вебоподобного программирования кросс-платформенных приложений.

Часть вышеперечисленных решений родилась на свет увесистою (например, когда для запуска вебоподобного приложения требуется крупная виртуальная машина или даже новая операционная система). Большинство из них также потребует от программиста выучить некоторый API, иногда довольно корявый и страшный (например, XPCOM для XULRunner), но даже когда такой API достаточно изящен, то всё же изучение его требует усилий. Чем больше он умеет, тем более обширным окажется API.

Между тем, если на первом шаге своей эволюции веборазработчик успел выучить API от Node.js — нет ли возможности опереться на это знание и не учить в дальнейшем ничего лишнего?

Второй шаг эволюции веборазработчика становится естественным продолжением первого, если разметка и оформление вебоподобного приложения задаются при помощи HTML и CSS, а поведение — при помощи JavaScript, причём «под капотом» работает ужé известный разработчику движок Node.js.

В частности, если воспользоваться AppJS, то тогда объектная модель (DOM) демонстрируемой «страницы» содержит под именем window.node глобальный объект Node.js, и мы можем без труда прочесть в window.node.process.versions.node версию Node, в window.node.process.arch архитектуру процессора, в window.node.process.platform платформу, и вывести какое-нибудь такое сообщение в окне нашего графического приложения:

[скриншот]

(Понятно, что аналогичным образом можно употреблять и другие возможности Node.js — сетевые, файловые и так далее.)

Что же такое AppJS?

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

Встречайте бесплатный и свободный шрифт Yeseva

Reading time1 min
Views22K
Дизайнер-шрифтовик Иван Гладких, более известный как Джованни Лемонад (Jovanny Lemonad), сегодня объявил о выходе нового шрифта «Yeseva», отличающегося существенным контрастом между тонкими и толстыми элементами букв.

[скриншот Yeseva]
Читать дальше →

Компактное складное рабочее место для ноутбука «своими руками»

Reading time4 min
Views215K
В этой статье-инструкции я хочу рассказать, об одном из вариантов создания рабочего места дома, когда удобное место хочется, а для стола свободного пространства нет (или не хочется его занимать).



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

Этот вариант в первую очередь будет инетресен людям, работающим дома (полностью или частично) и не имеющим нормального рабочего места или желающим увеличить свободное пространство в комнате заменив громоздкое старое рабочее место на такое компактное
Читать дальше →

IDE нового типа или Open-source проект Light Table

Reading time3 min
Views21K

Сегодня пришла рассылка с Kickstarter «Projects We Love». Я решил посмотреть, что нового появилось и меня сразу привлек ярлычок Open-source. Я перешел по ссылке почитать, что такого интересного и нового предлагает автор проекта и мне понравилось. Решил поделиться с хабром.

Light Table


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

Уже давно в воздухе витают идеи, что мы можем сделать IDE лучше и удобнее. Какие же это идеи?
  • Вы не должны нигде искать документацию и тратить на это время
  • Файловая структура — не лучшее представление для кода
  • Редактирование должно быть доступно где угодно и редактор должен показывать не только код
  • При любом изменении мы должны видеть результат мгновенно
  • Мы должны видеть больше информации о связанных кусках кода

Давайте посмотрим как эти идеи воплощает Light Table.
Читать дальше →

Brackets — Open Source IDE для веб-разработки от Adobe

Reading time3 min
Views24K
Очередным редактором HTML, CSS и JavaScript, написанным на HTML, CSS и JavaScript сейчас никого не удивишь. Однако есть несколько причин, по которым стоит обратить внимание на пока ещё совсем зелёный и молодой проект Adobe Brackets. Во-первых, его делает Adobe. Поддержка такой крупной корпорации значит очень много. Во-вторых, Open Source бывает разный. В случае с Brackets это правильный, настоящий Open Source — уровень открытости весьма и весьма высок. Проект был опубликован на Github в начале мая этого года, несмотря на то, что он ещё в совершенно младенческом состоянии. Бэклог проекта тоже открыт для всех — разработка ведётся по методологии scrum спринтами по 2.5 недели. В-третьих — дизайн и архитектура этого IDE заслуживают более подробного рассказа.


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

I2P: Принципы функционирования основных сервисов сети

Reading time3 min
Views53K


Сегодня мы поговорим о том, что такое NetDB, SusiDNS и о начальной инициализации сети I2P.

Совсем скоро интернет в России станет не свободным, уже сейчас различные провайдеры блокируют те или иные сайты.

И у заблокированного ресурса есть два пути:
1) Надеяться, что пользователь будет заходить на сайт через proxy/VPN
2) Перенести сайт в децентрализованную, анонимную сеть
Читать дальше →

Nokia PureMotion: как работают новые экраны Nokia

Reading time4 min
Views28K
В обзоре нашего новейшего смартфона Nokia Lumia 920 мы упомянули технологию PureMotion HD+, сочетающую в себе вдвое большую скорость переключения пикселей, чем у любого другого экрана, феноменальную яркость и отзывчивость на прикосновения перчатками. На этот раз мы расскажем, как же это всё работает.

Быстрый дисплей


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



В обычных жидкокристаллических матрицах IPS-типа, применяемых в мобильных устройствах, переход пиксела занимает примерно 23 мс, в то время как простая арифметика подсказывает, что для 60 кадров в секудну переход должен составлять 16,7 мс. В результате при просмотре динамических роликов, системной анимации и простом скроллинге контента пользователь видит запаздывающее, размытое изображение.

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

Information

Rating
6,950-th
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity