Pull to refresh
21
0
Александр Сергеевич Инсайт @Insayt

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

Send message

FineReader 12: новое в интерфейсе и сложности конвертирования достижений в проценты

Reading time6 min
Views21K
Мы строили-строили и, наконец, построили!

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

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

Что такое Томита-парсер, как Яндекс с его помощью понимает естественный язык, и как вы с его помощью сможете извлекать факты из текстов

Reading time6 min
Views89K
Мечта о том, чтобы машина понимала человеческий язык, завладела умами еще когда компьютеры были большими, а их производительность – маленькой. Главная проблема на пути к этому заключается в том, что грамматика и семантика естественных языков слабо поддаются формализации. Кроме того, от языков программирования их отличает присутствие многозначности.

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

image

Вскоре мы планируем отдать эту технологию в open source, чтобы любой мог пользоваться ей и развивать ее, приближая тем самым светлое будущее свободного общения между человеком и компьютером. Подготовка к открытию исходных кодов уже началась, но процесс этот не такой быстрый, как нам бы хотелось, и, скорее всего, продлится до конца этого года. За это время мы постараемся как можно больше рассказать о своем продукте, для чего запускаем серию постов, в рамках которой расскажем об устройстве инструмента и принципах работы с ним.

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

Быстрое создание проекта из шаблона в Sublime

Reading time1 min
Views5K
Как сэкономить время при создании нового проекта в Sublime Text.
Решение — воспользоваться пакетом Fetch, который позволяет загрузить содержимое проекта из архива, который вы публикуете в сети. Об этом наше видео.
Читать дальше →

Джон Резиг: Пишите код каждый день

Reading time5 min
Views130K
Прошлой осенью работа над моими побочными проектами зашла в тупик: я практически не продвигался вперёд и у меня никак не получалось делать больше, не принося в жертву свою основную работу в Khan Academy.

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

Кроме того, недельный перерыв — это слишком много, очень легко забыть, над чем ты работал и на чём остановился, даже если делать заметки. А уж если в выходные поработать не удавалось — то перерыв растягивался на две недели. Такие многонедельные переключения контекста могут быть смертельными — многие мои проекты погибли, не родившись, от такого недостатка внимания.

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

image
Иллюстрация Стивена Резига
Читать дальше →

Топ-5 простых изменений, которые значительно увеличили конверсию

Reading time4 min
Views29K
image

Принято считать, что для того, чтобы получить значительную отдачу от изменений на сайте, нужно провести глубокий редизайн, изменить концепцию, сделать ребрендинг и т.д. Но на самом деле иногда даже небольшие изменения могут привести к огромному эффекту. Иногда вы можете добиться конверсии благодаря изменению или перемещению элементов вашего сайта. Когда мы писали статью про А/В анализ, мы наткнулись на подборку примеров, которая демонстрировала результаты тех или иных тестов. Мы выбрали несколько из них, опираясь на два основных параметра: простота и эффективность.
Читать дальше →

MMO на WebRTC

Reading time5 min
Views29K
image

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

image

Такая организация имеет свои неоспоримые достоинства, например синхронизация игровых состояний клиентов на сервере, простота в реализации и почти фиксированные задержки до пользователя. Там где есть плюсы, обычно обитают и минусы — это ограниченная пропускная способность сервера и довольно большие задержки, если клиент находится далеко от вашего сервера. Как с ними бороться подробно написано в блоге 0fps.net и есть возможность эти проблемы довольно эффективно решать оставаясь в любимой «звездочке» — купить больше серверов, но что делать если вы студент вы ограничены в финансах и горизонтальное/вертикальное масштабирование для вас не вариант?
Как же быть?

Скрещиваем WebWorker и Promise

Reading time2 min
Views5.9K
Если уж есть необходимость скрещивать WebWorker с XMLHttpRequest, то пора бы скрестить его с любой функцией, а заодно разобраться с обещаниями ES6.

Цель — научиться делать вот так:
new PromiseWorker(array => array.sort()).Invoke([3,2,1]).then(result => console.log(result));
(Здесь и далее используются arrow functions для краткости)

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

Работаем асинхронно в PHP или история ещё одного чата

Reading time8 min
Views37K
Меня очень радует, как бурно развивается PHP последние несколько лет. Наверное и вас тоже. Появляются постоянно новые возможности, удерживающие энтузиастов оставаться на данной платформе. Чего только стоит недавняя новость о релизе Hack.

Наверняка кто-то прочитав даже заголовок этой статьи ухмыльнется и подумает: «Мсье знает толк в извращениях!». Споры о крутости того или иного языка никогда не утихают, но как бы там ни было, лично я для себя вижу не так уж и много условий смены языка, поскольку люблю выжимать все возможности, прежде чем радикально сменить весь стек. Недавно была публикация о создании чата на Tornado и мне захотелось рассказать о том, как похожую задачу я решал при помощи PHP.

Предыстория

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

Метод сжатия задач

Reading time3 min
Views14K
Привет, Хабр!

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

Будет много скриншотов и небольшой сюрприз в конце.
Читать без смс

Трюки с CSS-анимациями: мгновенные изменения, отрицательные задержки, анимация transform-origin и другое

Reading time14 min
Views221K
Применяя CSS-анимации в повседневной работе, я постепенно выработал привычку экспериментировать с ними в свободное время. Постоянно пытаясь реализовать очередную интересную задумку с использованием как можно меньшего числа элементов HTML, я обнаружил немало способов сделать с помощью CSS довольно неочевидные вещи. В этой статье я хочу поделиться некоторыми из них.

Быстрое изменение состояния посреди анимации

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

@keyframes toggleOpacity {
  50% { opacity: 1; } /* Turn off */
  50.001% { opacity: 0.4; }

  /* Keep off state for a short period */

  52.999% { opacity: 0.4; } /* Turn back on */
  53% { opacity: 1; }
}

Вот как я использовал этот приём для имитации мигающей неоновой вывески с помощью прозрачности и свойства text-shadow:


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

Минимализм при создании landing page

Reading time8 min
Views43K
За последние несколько лет веб-дизайнеры постепенно пришли к тому, что «захламление» сайтов несущественными элементами — плохая идея. Такие элементы веб-дизайна, как бессмысленные изображения, запутанные навигационные системы, бесчисленные кнопки социального обмена и прочее уводят пользователей от основных целей веб-страницы.

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

Несколько примеров минимализма целевых страниц

Давайте рассмотрим минимализм landing page некоторых успешных веб-приложений:


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

Модальность за рамками диалоговых окон

Reading time3 min
Views3.2K
Статью написал jagoterr. Если эта статья наберет +50 то автор получит инвайт на Хабрахабр.

Аза не так давно опубликовал заметку о модальных оверлеях (Здесь и далее по тексту используется именно такой перевод слова overlay, наименее “русский”, но зато не искажающий сути данного понятия). О тех самых диалоговых окошках, которые внезапно выскакивают и блокируют то, что находится позади них. Вы полностью свободны в своих действиях в рамках модального окна, но вы не можете использовать ни один “перекрытый” им элемент до тех пор, пока это окно не исчезнет.

Обычно, когда мы говорим о модальных окнах, мы говорим именно о диалогах, таких как на приведённом ниже фрагменте приложения Google Documents. Критика Аза относится как раз к модальным окнам такого рода. После того, как вы открыли диалог поиска/замены, вы не можете кликнуть мышью нигде, кроме как внутри этого диалога. Это означает, что вы не можете пролистать документ, находящийся под диалогом, или скопировать слово из документа и вставить его в строку поиска, не закрывая диалог.

image

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

Динамичные веб-презентации без использования Flash

Reading time3 min
Views1.9K
Недельку назад Крис Миллс (Opera Software) сказал, что он «планирует серию статей показывающую, что возможно делать „флешеподобные“ вещи, используя только открытые веб-стандарты». Мне показалось это интересным, и, когда я наткнулся на небольшую флеш-презентацию фото-портфолио в журнале Ньюйоркер, то решил проиллюстрировать идею Криса, переделав презентацию. Мне показалось, что с применением JavaScript это будет сделать довольно легко, и я решил не искать лёгких путей, и сделать презентацию только используя возможности CSS. Так же мне было интересно попробовать на практике вкусные новинки CSS3, такие как переходы (transitions).
Если вы хотите просто просмотреть демонстрацию (вторая ссылка), то вам понадобится один из этих браузеров:
  • лучше всего, на данный момент: Google Chrome 4 или Apple Safari 4
  • Firefox 3.7 (полуношные сборки)
  • Opera 10 Mobile (Presto 2.3) или, если вы инсайдер, то Opera (Presto 2.4)
Так же прошу извинить за глупый экран параноидальной MyOpera, требующий подтверждения, что вы действительно хотите посмотреть файл. Обещаю не нанести вам или вашему компьютеру вред. :)
Далее следуют некоторые детали имплементации

Сбербанк и Khan Academy

Reading time1 min
Views17K
Как заявляет Сбербанк:
«В рамках реализации проекта в 2014 году на русский язык будет переведено более 2 300 видеолекций»



Кроме коротенького заявления на сайте Сбербанка я не нашел никаких подробностей.
Зато откопал статью в Forbes и Top9 уроков, которые набрали больше миллиона просмотров.
На просторах интернета нашелся даже русскоязычный канал, но количество просмотров там на 2 порядка меньше.

О чем же Хан говорил на TED, и какое самое просматриваемое видео с незамысловатыми рисунками «первого в мире учителя-звезды»?
Читать дальше →

Введение в D3

Reading time6 min
Views140K

D3.js (или просто D3) это JavaScript-библиотека для обработки и визуализации данных. Она предоставляет удобные утилиты для обработки и загрузки массивов данных и создания DOM-элементов. Эта заметка описывает работу с основными методами библиотеки, она подойдёт для изучения основ библиотеки и погружения в её логику и возможности.

Для понимания статьи пригодятся знания JS, HTML и CSS.

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

cnCt — клиентский js шаблонизатор

Reading time5 min
Views5.7K
Рано или поздно шаблонизация перемещается на клиент. На данный момент существует несколько общепринятых клиентских шаблонизаторов ими являются mustache и underscore.template или что-нибудь подобноедоклад(ах) Сергея Бережного можно найти ещё). Несмотря на огромное количество клиентских шабнизаторов большинство, за редким исключением, являются строчными.
По многим причинам работать с ними тяжело

8 ловушек программирования

Reading time13 min
Views224K


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

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

Все о мотивации

Reading time14 min
Views124K
Салют, хабровчане!


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

Игры с XPath

Reading time4 min
Views30K


XML

XML — текстовый формат, предназначенный для хранения структурированных данных (взамен существующих файлов баз данных), для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML), иногда называемых словарями. XML является упрощённым подмножеством языка SGML.

XML это удобная штука хранить файлы в читаемом виде.

Например простой XML файл может быть таким
Читать дальше →

Information

Rating
Does not participate
Location
Ростов-на-Дону, Ростовская обл., Россия
Date of birth
Registered
Activity