Search
Write a publication
Pull to refresh
45
0

User

Send message

Прогнозирование событий и Data Mining — вперед в будущее

Reading time3 min
Views24K


В Сети появился интересный сервис мониторинга информации по открытым источникам — Recorded Future.

Он позволяет аккумулировать информацию из более чем 150 000 различных СМИ с возможностью хранения архива до 5 лет с возможностью последующего анализа и извлечения знаний о возможных последствиях произошедшего и будущих событиях.

Автором сервиса является Chris Holden, любезно предложивший нам воспользоваться Recorded Future без внесения оплаты, хотя полный функционал доступен только на коммерческой основе.

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

Наиболее интересные кейсы, демонстрирующие возможности системы, отражены на следующих прикладных примерах:

отслеживание возникающих киберугроз и действий хакеров в мире
анализ содержимого писем из круга приближенных Усамы Бин-Ладена
анализ протестной активности
анализ выборов в Греции и Египте
Читать дальше →

Заглавные и строчные буквы

Reading time3 min
Views48K
Я собрал здесь некоторые не очень очевидные факты о заглавных и строчных буквах, с которыми может столкнуться программист в работе. Многие из вас переводили строки во «все заглавные» (uppercase), «все строчные» (lowercase), «первую заглавную, а остальные строчные» (titlecase). Ещё более популярна операция сравнения без учёта регистра. В мировом масштабе такие операции могут быть весьма нетривиальны. Пост построен в виде «сборника заблуждений» с контрпримерами.

1. Если я переведу строку в uppercase или lowercase, число Unicode-символов не изменится.

Нет. В тексте могут попасться строчные лигатуры, которым не соответствует один символ в верхнем регистре. Например, при переводе в uppercase: fi (U+FB00) -> FI (U+0046, U+0049)

2. Лигатуры — изврат, ими никто не пользуется. Если их не учитывать, то я прав.

Нет. Некоторым буквам с диакритикой нет точного соответствия в другом регистре, поэтому приходится использовать комбинированный символ. Скажем, в языке африкаанс есть буква ʼn (U+0149). В верхнем регистре ей соответствует комбинация из двух символов: ʼN (U+02BC, U+004E). Если вам попадётся транслитерация арабского текста, вы можете столкнуться с (U+1E96), которой в верхнем регистре также нет односимвольного соответствия, поэтому придётся заменять на (U+0048, U+0331). В ваханском языке есть буква (U+01F0) с аналогичной проблемой. Вы можете возразить, что это экзотика, однако на африкаанс в википедии 23000 статей.

3. Ну хорошо, но давайте считать комбинированный символ (с участием modifying или combining code points) одним символом. Тогда длина всё же сохранится.

Нет. Есть, например, в немецком языке буква «эсцет» ß (U+00DF). При переводе в верхний регистр, она превращается в два символа SS (U+0053, U+0053).
Читать дальше →

Бывшие сотрудники Nokia намерены продолжить развитие MeeGo

Reading time1 min
Views2.1K
Как сообщает портал The Verge, несколько бывших сотрудников Nokia из числа разработчиков проекта MeeGo решили «реанимировать» мобильную операционную систему, отправленную на свалку истории менеджментом Стивена Элопа. Объединение было основано осенью 2011 года под названием Jolla Ltd.. К маю 2012 года к Jolla присоединились многие специалисты, участвовашие в разработке Maemo и MeeGo, в том числе Марк Диллон, бывший ведущий разработчик Linux-направления в Nokia.
Читать дальше →

Изучить Github за 15 минут

Reading time1 min
Views127K
TryGit — интерактивный обучающий курс по Github в стиле Codecademy. Курс состоит из 25 мини-уроков, которые знакомят пользователя с базовыми понятиями и основными командами git, при этом ученик своими руками вводит команды в консоль, смотрит результат и читает сопровождающие надписи с объяснением происходящего.



Вот таким в будущем должно стать обучение в школах!

Конечно, 15-минутное введение не заменит полноценного учебника. Для обучения можно рекомендовать бесплатную книгу Pro Git и видеокурс Getting Git.

Сохранение контактной информации с сайтов

Reading time5 min
Views6.3K
Добрый день, коллеги!

Когда-то давно, еще не не имея полноценного аккаунта на Хабре, я написал статью в песочницу, надеясь получить инвайт. Инвайта я не получил, и думал, что статья ушла в никуда. Сегодня, просматривая логи Google App Engine, я обнаружил ссылку с сайта, на котором, как оказалось, размещена моя статья из песочницы. Оставляя за скобками вопрос о корректности такой публикации, хочу поблагодарить неизвестных мне добрых людей с сайта ajc.su за то, что сохранили для меня мою статью. :) Но, собственно, по теме.

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

20 заповедей дизайна пользовательского интерфейса

Reading time9 min
Views44K
Это перевод оригинальной статьи Principles of User Interface Design

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

— Пол Рэнд (Paul Rand)

1. Обязанность интерфейса — обеспечение взаимодействия


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

Искусство публичных выступлений в историях о жизни

Reading time8 min
Views15K
1 спасибо всем, кто комментировал предыдущую статью на эту тему. Новая статья — для тех, кто задавал вопросы, и для тех, кто чувствует себя опытным докладчиком. Как и раньше, все советы здесь — это мой опыт. У кого-то сработает то, что сработало у меня, у кого-то — что-то иное. Волшебных таблеток и истин в последней инстанции в тексте нет.

Особое спасибо karellen за ссылку на книгу Pitch Anything. У karellen безусловно стоит поучиться: написав в комментарии к моей предыдущей статье, что в этой книге «автор очень убедительно опровергает почти все эти «истины»», он заинтриговал меня. Интересно же: кто-то опровергает то, что у меня отлично работает. Я, конечно, полез на Амазон, купил kindle-версию книги и читал ее с большим удовольствием. Книга на самом деле ничего не опровергает: я рассказывал, что именно я делал, чтобы выступать интересно, а в книге рассказано, почему надо делать именно так. Книгу безусловно стоит прочесть, тем более, что написана она на довольно простом английском.

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

Перед тем, как благодарить, посмотрите habrahabr.ru/post/57913 — я не со всем согласен, но интересно все равно. Там как раз товарищ возмущается дурацкими началами докладов.
Налаживайте контакт, вовлекайте аудиторию в разговор, если она спит. Хороший способ для больших залов (человек двести и больше) — заставить одну половину аудитории кричать один короткий слоган или слово, а другую — другой. А потом — все вместе что-то общее. Работает на слоганах, хорошо разбираемых на части, и вызывающих энтузиазм у значимой части аудитории, например: «Россия — вперед!», «Уралмаш — чемпион!», «PHP — рулит!» и т.п.
Читать дальше →

MongoDB: производительность запросов на диапазонах

Reading time3 min
Views16K
Если вы путешествовали по территории индексов MongoDB, вы возможно слышали принцип: Если ваши запросы содержат сортировку, то добавте сортированное поле в конец индекса который используется в этих запросах.

Во многих случаях когда запросы содержат условия равенства как например {“name”: “Charlie”}, принцип который выше очень полезен. Но что о нем можно сказать со следующим примером:

Запрос:
db.drivers.find({"country": {"$in": ["A", "G"]}).sort({"carsOwned": 1})
Индекс:
{"country": 1, "carsOwned": 1}

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

Неделя удивительных подарков. Отличные ресурсы с нужной лицензией

Reading time3 min
Views14K
Привет, хочу сказать, что мне очень нравится делать подборки для хабры. Много положительных отзывов, много комментариев, а значит моя работа полезная и я ее делаю не зря. Поэтому сегодня я хочу представить вам собрание различных ресурсов, на которых любой дизайнер сможет найти много полезного и интересного. Кому интересно, прошу под кат.
Читать дальше →

Пять полезных сервисов для социальной интеграции вашего сайта

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

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

Развитие образного мышления

Reading time3 min
Views68K
image

Пламенный привет, дорогие хабравчане!

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

Отключение ClickPad'а на X220; чуть-чуть детектива

Reading time6 min
Views2.9K
abstract:
  1. Как выключить правую кнопку на ClickPad'е
  2. Что такое сниппеты для X-сервера
  3. Немного лирики о том, как в линуксе ищут решения проблем.


Вступление


X-сервер в отношении железа у меня обычно вызывает неприязнь. Потому что с одной стороны это нечто жутко консьюмерское и покрытое бесконечными тонкостями поддержки элитных ноутбуков очередного мегазасранца (Linus Loves Nvidia), который и под винды нормальных дров не может сделать, а с другой стороны, это то, что хочется, чтобы работало гладенько и само собой, ибо чинить сломавшийся X-сервер неприятно, особенно, если это единственный рабочий компьютер под рукой.

Впрочем, от лирики к хардкору.

На x220 есть такая замечательная вещь:

Посреди клавиатуры фирменный IBM'овский клитор (трекпоинт), под клавиатурой (над точпадом) кнопки от трекпоинта. Сам точпад второго комплекта кнопок не имеет и является ClickPad'ом — под ним расположена одна кнопка, нажатие которой транслируется либо в левую, либо в правую кнопки в зависимости от того, где было зафиксировано нажатие. Обработка эта софтовая (в драйвере).

Давным давно (~2.6.30) в линуксе поддержку этой штуки сделали кривыми хаками, потом выкинули (~2.6.38). В результате многие ноутбуки (например, уродливый HP, который у меня на работе) остались вообще без правой кнопки мышки.

Недавно привалили апдейты, которые «включили» это. HP такой вещи, наверное, обрадуется, однако, на X220, где есть аппаратные кнопки клитора с правой (и средней) кнопками, меня на 100% устраивало, что кликпад работает только как левая кнопка.

После апдейта я недельку помучился, но так и не привык. Как же этот багфикс выключить нафиг и вернуть на место баг? Я всё время кликал справа, ожидая, что это будет левый клик (потому что палец справа и ещё его шевелить куда-то не хочется).

Поиск


(вместо унылого howto я лучше покажу процесс поиска варианта решения, который не только решил проблему, но вкачал мне несколько малых уровней в linux).
Читать дальше →

OAuth на практике. Аутентификация и авторизация пользователей сайта через популярные социалки

Reading time14 min
Views347K
Думаю, не мне одному чрезвычайно надоели ресурсы, требующие регистрации по каждому поводу и без. С обязательной капчей, которая правильно введется только с пятого раза, с подтверждением по е-мейлу, которое обязательно свалится в спам и то — только через сутки. Придумывать каждый раз новую пару логин-пароль — забудется, вводить одно и то же на всех сайтах — небезопасно. Местами прокатывают пары вида «qwerty:qwerty» или «login:password», но, увы, далеко не везде. Надоело. Не счесть, сколько раз я, увидев надпись «только зарегистрированный пользователь может ****», просто кривился и закрывал вкладку, чтобы больше ни разу на этот сайт не заходить. Неужели администраторы ресурсов сами этого не понимают?
Читать дальше →

Формирование высокоуровневых признаков с помощью широкомасштабного эксперимента по обучению без учителя

Reading time5 min
Views25K
В статье Распознавание лиц человеческим мозгом: 19 фактов, о которых должны знать исследователи компьютерного зрения упоминался экспериментальный факт: в мозге примата имеются нейроны, селективно реагирующие на изображение морды лица (человека, обезьяны и т.п.), причем средняя задержка составляет около 120 мс. Из чего в комментарии я сделал дилетантский вывод о том, что зрительный образ обрабатывается прямым распространением сигнала, и количество слоёв нейронной сети — около 12.

Предлагаю новое экспериментальное подтверждение этого факта, опубликованное concretely нашим любимым Andrew Ng.
Читать дальше →

Цитаты о разработке программного обеспечения

Reading time3 min
Views14K
Несколько цитат о дизайне и разработке программ. Думаю, каждый найдет что-нибудь себе по вкусу. В дополнение к этому топику.

Простота — дух эффективности. // A. Freeman
Читать дальше →

Использование возможностей удаленной работы

Reading time6 min
Views16K
О чем этот пост? Этот пост о том, что удаленная работа может выполняться практически из любого места и о моем небольшом опыте использования этой возможности.

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


Американец. Прожорливый, здоровенный, старый. Но тут уж рад и такому, машина не моя.

Есть у такого способа путешествовать несколько преимуществ и особенностей.

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

Оптимизация работы веб-студии. Применение теории ограничений в производстве сайтов

Reading time6 min
Views54K


В статье «12 тыс рублей за сайт. Есть ли бизнес за МКАДом?» я писал про наш подход к разработке сайтов на базе разработанной внутри компании технологии. На момент написания той статьи, мы выпускали «под ключ» 24 сайта в месяц. Это больше чем один сайт в день силами команды из 8 человек.

После рассказа на хабре о нашей технологии количество заявок на разработку сайтов выросло в несколько раз. Только за март 2012 было выставлено около 60-ти коммерческих предложений и, большая часть из них превращалась в договора.

И тут наше производство затрещало по швам. Практически сразу заявки стали становиться в очередь, менеджеры начали путаться в проектах, дизайнеры стали проситься в отпуск. Ситуация становилась поистине напряженной…
Читать дальше →

QML — больше, чем просто GUI

Reading time10 min
Views19K
Этот пост участвует в конкурсе „Умные телефоны за умные посты“.

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

Этот пост не является очередным переводом или вольным изложением разнообразных QML Howto и Quick Start. Скорее, это описание подводных камней, с которыми можно столкнуться при написании реального приложения.

Игровое полеКогда Qt Quick/QML только было заявлено, от Нокии звучали слова, что «в перспективе не только пользовательский интерфейс будет писаться на Qt Quick, но и вся логика несложных приложений будет написана на яваскрипте, программистам не потребуется написать ни строчки кода на плюсах». Заявление было ещё более провокационное, чем мой заголовок, и сразу меня заинтересовало: я решил попробовать написать несложную игру без единой строчки кода на плюсах.

Чтобы подогреть интерес, добавлю, что:
  • обычно я код пишу как раз на плюсах
  • я достаточно слабо знаю JS
  • я не умею и ненавижу делать интерфейсы
  • когда-то я попытался сделать эту же игру на честном Qt, но сломался, не выдержав общения с QGraphicsScene и другими интересными классами
  • результат моих трудов можно не только скачать, но и сыграть в них по сети
  • все исходники можно скачать у меня из bazaar или тарболлом.


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

Таблицы в учетных системах

Reading time8 min
Views9.6K
Когда-то давным давно угораздило меня попасть в мир учетных систем, да не просто учетных, а работающих через Web. Много воды утекло с тех пор, много систем родилось, некоторые из них уже погибли. Это очень динамичный мир. В этом мире множество систем, от брутальной, умудренной сединами , до совсем молодой Acumatica. Есть гламурненькие Эльба с FinoBox, есть и крутой Мегаплан, есть мой любимый, суровый, но симпатишный Oreodor. Во всех них очень умные формы, ещё более умная (чем пользователь) навигация, ну, и таблицы! Давайте подойдем ещё ближе.

Все это Web, все это работает, все функционально, а функционала много.
Хотите посмотреть?

Information

Rating
Does not participate
Location
Россия
Registered
Activity