Search
Write a publication
Pull to refresh
21
Alexey Stolyar @liqread⁠-⁠only

User

Send message

Как информация меняет нашу жизнь, 10 примеров

Reading time6 min
Views4.2K
image
Социальный Лондон, проект Anil Bawa-Cavia, из University College London.

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

Торговля

Супермаркеты всегда следили за тем как покупатели совершают покупки, но в последние несколько лет количество и виды собираемой информации резко возросли. Tesco обладает большей частью акций в компании Dunnhumby Ltd, которая занимается дата майнингом и анализом информации, для большого количества компаний, занимающихся торговлей, включая: Coca-Cola, BT, Mars, Vodafone, и другие лидирующие бренды. Dunnhumby использует в своей работе информацию собранную с помощью клубных карт Tesco Clubcard, благодаря ей Tesco может прогнозировать когда люди пойдут за покупками, как они буду оплачивать свои покупки и даже количество калорий которое собираются потребить.
Dunnhumby недавно сообщил о 32 процентном росте операционной прибыли до £53.4 миллионов. Количество сотрудников компании выросло с 300, когда компания начинала в 2007, до 1250 в этом году. Информация собираемая Dunnhumby изменила то, как мы совершаем покупки.
Читать дальше →

Вы разработчик? Так почему вы до сих пор на кого-то работаете?

Reading time8 min
Views11K
Как разработчик, вы сидите на золотой жиле. Вы осознаете это?

Нет, серьезно, на @#$% золотой жиле! Никогда в истории не существовало возможностей так легко создать что-то с нуля, с маленьким или отсутствующим начальным капиталом и маркетинговой моделью, ограниченной только вашим воображением.

Подумайте о крупнейших сайтах, которые вы постоянно посещаете: Facebook, Twitter, Flickr, Foursquare, или даже Google — все они были созданы разработчиками, у которых была лишь идея. Было ли это легко? Черт, нет. Но это могло быть сделано только в наше время. Так, черт побери, почему вы просиживаете день за днем, работая на кого-то?
Читать дальше →

Декартово дерево: Часть 1. Описание, операции, применения

Reading time15 min
Views158K

Оглавление (на данный момент)


Часть 1. Описание, операции, применения.
Часть 2. Ценная информация в дереве и множественные операции с ней.
Часть 3. Декартово дерево по неявному ключу.
To be continued...

Декартово дерево (cartesian tree, treap) — красивая и легко реализующаяся структура данных, которая с минимальными усилиями позволит вам производить многие скоростные операции над массивами ваших данных. Что характерно, на Хабрахабре единственное его упоминание я нашел в обзорном посте многоуважаемого winger, но тогда продолжение тому циклу так и не последовало. Обидно, кстати.

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

Введение


В качестве введения рекомендую прочесть пост про двоичные деревья поиска того же winger, поскольку без понимания того, что такое дерево, дерево поиска, а так же без знания оценок сложности алгоритма многое из материала данной статьи останется для вас китайской грамотой. Обидно, правда?

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


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

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

Понимание конфликтов банков разделяемой (shared) памяти в NVIDIA CUDA

Reading time3 min
Views12K
Разделяемая (shared) память является очень эффективным средством оптимизации за счет очень быстрого доступа (в 100 раз быстрее чем глобальная память). Однако, при неправильном использовании ее возможны конфликты банков, которые существенно замедляют быстродействие. В данной статье пойдет речь о том, как эти конфликты возникают, и как их избежать.
Читать дальше →

Улучшаем админку

Reading time6 min
Views80K
Одно из слабых мест джанго-админки — главная страница. Идея авто-группировки моделей по приложениям и вывод столбиком в одну колонку работает только на начальных этапах, дальше это становится просто неудобно — куча лишней информации и довольно сложные пути для того, чтобы добавить полезную. Ну, например, чтобы названия приложений писались русскими буквами — полностью перекрывать шаблон.

И тут на помощь приходит django-admin-tools. С этим приложением минут за 20 можно получить «приборную панель» с произвольной группировкой приложений/моделей, вкладками, любым числом колонок, различными блоками, которые каждый пользователь сможет расставить, как ему удобнее, скрывать и сворачивать по желанию, закладками, настраиваемым меню и удобным способом добавления во все это хозяйство всего, чего только можно придумать.

Вот так, например, сейчас выглядит админка к сайту НадоВместе:

image
(это только часть, вот скриншот целиком)

Разберемся поподробнее.
Читать дальше →

Генерация web-шрифтов

Reading time1 min
Views5.3K
Ради интереса, прошелся поиском по хабру, и обнаружил, что тут не освещен один очень полезный сервис: http://www.fontsquirrel.com
Пожалуй, это самый удобный сервис такого рода, создающий на выходе html-страницу с подключенными шрифтами в разных форматах, готовыми font-face в css и демо-текстом.
При этом есть масса настроек по кастомизации шрифтов во время конвертирования.
В частности, можно уменьшить их вес, убрав часть символов или оптимизировав кривые. Так же он умеет хинтовать шрифты и кодировать их в base64. В общем, есть всевозможные плюшки.

Kwiki — управляй руками!

Reading time5 min
Views1.2K
http://kwikithebird.com augmented reality game

Добрый день, Хабрасообщество

Эта публикация заинтересует тех, кто не равнодушен к инновациям в пользовательских интерфейсах, а также увлеченных Дополненной Реальностью (Augmented Reality).
Читать дальше →

Nginx + IPv6

Reading time2 min
Views25K
Недавно написал топик про поддержку IPv6 в Windows 7/Vista/XP (это тут). Захотелось сделать поддержку IPv6 на своём сервере, где хостируются сайты, в итоге вот что получилось.
Читать дальше →

$25 000 на стартап

Reading time1 min
Views452
Intel Atom Developer Program Accelerator 2010
Не так давно компания Intel запустила новую программу стимулирования разработчиков — Intel Atom Developer Program Accelerator 2010. Если у Вас есть идея приложения «заточенного» под устройство на базе платформы Atom, или есть готовая программа, которую Вы готовы адаптировать под Atom-ный нетбук — компания готова профинансировать Ваш проект, сумма финансирования колеблется от $10 000 до $25 000. Оригинал анонса на английском, на русском.
Читать дальше →

Google Analytics: Определение позиции сайта по ключевому слову в поисковой системе Google

Reading time3 min
Views46K
На текущий момент с помощью инструментов веб-аналитики можно отследить множество различных параметров, в том числе и ключевые слова, по которым пользователи перешли на сайт из поисковых систем. Но нам предоставляется информация только о том поисковом запросе, с которого пользователь перешел на сайт, но не его место в выдаче поисковой системы, на которое кликнул посетитель.

К сожалению, большинство поисковых систем не предоставляют возможности отследить, с какой позиции поисковой выдачи был осуществлен переход на сайт. Однако такую возможность предоставляет поисковая система Google. Единственное условие — возможность определить позиции можно только у тех пользователей, которые были авторизованны в Google.

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

Пишем функциональные/интеграционные тесты для проекта на django

Reading time8 min
Views17K
В этой захватывающей статье я расскажу про инструменты, с помощью которых можно писать функциональные тесты для django-проекта. Есть куча разных других способов это делать, но я опишу один — тот, который, на мой взгляд, самый простой. Между делом создадим красивый отчет по code coverage (субъективно — приятнее тех, что делает coverage.py). И еще, в качестве приправы, будет немного болтовни про тестирование.

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

Визуализация активности сайта с помощью codeswarm

Reading time1 min
Views1.1K

Codeswarm


эта утилита визуализирует историю комитов репозитория. Она умеет сохранять кадры в отдельные файлы, которые потом можно объединить в видео с помощью, например mencoder. Для этого codeswarm нужен файл в формате xml с активностью в репозитории. Вместе с codeswarm идет скрипт, который конвертирует логи из svn, cvs и др. в собственный.

Access log


Получается, codeswarm без разницы что визуализировать, программе нужен лишь правильный xml. Поэтому я подумал, что можно применить эту утилиту для генерации видео активности на сайте. Для этого был написан конвертор access лога апача или nginx в event log. За основу был взят родной конвертор.
Читать дальше →

Перехват вызовов API-функций

Reading time11 min
Views75K
— Папа, я бежал за троллейбусом и сэкономил пять копеек!
— Сынок, бежал бы за такси — сэкономил бы пять рублей!


Сегодня я хочу рассказать вам, как сэкономить 10 тысяч долларов. А заодно, что гораздо менее интересно – научить перехватывать вызовы Win32 API функций, и не только. Хотя, в первую очередь – конечно, именно их.
Читать дальше →

Автоматическая отсылка анонсов в твиттер

Reading time3 min
Views791
Недавно, при работе над проектом на Джанго, понадобилось автоматически отправлять в твиттер заголовок и укороченную ссылку для публикуемых статей от имени пользователя.

Как оказалось, делается это совсем несложно.

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

Пошаговое руководство по установке Debian 5.0 Lenny + XEN + LVM + Routing на Hetzner DS3000

Reading time7 min
Views15K

Вступление


Недавно мне потребовалось перенести несколько сайтов различных клиентов на нормальный выделенный сервер (не виртуальный). Я давно выбирал, где лучше арендовать сервер и выбором стала немецкая компания Hetzner Online и ее тарифный план DS 3000 (AMD Athlon 64 X2 4200+/2Gb DDR/2x160Gb HDD — как выяснилось потом — на сервере оказалось два винчестера по 320Гб).

Но мне не хотелось всех размещать на одном сервере. Поэтому было решено сделать виртуальные машины на базе технологии XEN (к тому же в придачу к серверу на ТП DS 3000 Hetzner Online бесплатно выдает 6 IP-адресов, которые очень удобно будут смотреться для отдельных проектов). В Сети можно найти много информации по теме настройки и самого XEN'а на Debian'e и настройки роутинга на нем, поднятии виртуалок на LVM (lvm дает большее быстродействие, чем виртуалки на базе image-файлов), даже в вики самой фирмы была информация об этом (но на немецком — Google Translate нам в помощь). Но. Было одно «Но». Она вся была разрозненная и кусками. Я нигде не смог найти толкового пошагового руководства для настройки «от» и «до».

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

Развертывание сайта на Джанго, используя FastCGI

Reading time9 min
Views16K

От переводчика


Данную статью я прочитал на Django Advent приуроченному к уже скорому выходу Django 1.2 и она показалось мне настолько интересной, что я решил ее перевести. Далее текст статьи.

Когда разрабатываешь сайт на Джанго, так легко просто открыть консоль и напечатать:

python manage.py runserver

С этой простой командой управления ваши медиа файлы админки сайта поддерживаются правильным образом, PYTHONPATH правильно настроен и включает корневую папку нашего проекта, а так же запущен автоматически перегружающийся веб-сервер на указанном нами порту (от переводчика: по умолчанию порт 8000). Так просто!

Не удивительно, что люди так разочаровываются, когда приходит время положить их сайт на боевой сервер: существует так много шагов в этом процессе и поэтому сложно все их выучить и сделать все правильно. Неудивительно, что вся эта сложность приводит к тому, что написано много статей о развертывании веб-сайта на Джанго. Но почти все из этих статей фокусируются на развертывании сайта используя Apache и mod_wsgi или mod_python.

Однако иногда Apache не идеальное решение. Может быть ваш VPS имеет только 256 МБ памяти, а может быть вы хотите избежать сложности настройки Apache при установке. Или может быть вам просто не нравиться Apache. По любой из этих причин мы можем обратить свое внимание на FastCGI.
Читать дальше →

Визы для стартапщиков

Reading time1 min
Views930
Сенаторы Джон Керри и Ричард Лугар официально представили в Вашингтоне The Startup Visa Act. Это проект изменений в иммиграционное законодательство Америки, который позволит любому предпринимателю, который открыл новый стартап, легко получить визу EB-5 и без особых проволочек иммигрировать в США. Как известно, именно иммигранты основали многие успешные американские стартапы, в том числе Google, Intel, Yahoo и eBay.



Единственное условие получения визы — наличие инвестора, готового вложить в стартап не менее $250 000.

Полный текст законопроекта здесь. В его поддержку уже выступили более 100 венчурных фондов и частных инвесторов.

Материалы продвинутого уровня по Питону

Reading time5 min
Views46K
PythonВ мире все примерно распределяется в соответствии с принципом Паретто. Меньшая часть — богатые, большая часть — бедные (читающий, ты входишь в золотой миллиард). Тоже касается и материалов о программировании. Порой очень сложно найти хоть что-нибудь не начального уровня.

После прочтения Dive into Python или подобной ей и ознакомления с документацией возникает вопрос, а что читать дальше? Можно обратиться к списку книг на python.org. Там есть раздел Advanced Books, но в нем всего лишь 6 книг (седьмая не выходила), и только одну я бы назвал по-настоящему стоящей.

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

Ниже собраны сложные материлы про Питон, его устройство и возможности. Все на английском (грех, не знать технический английский). Про Dive into Python я слукавил. Большинство приведенных материалов требуют хорошее знание Питона и наличие опыта программирования на нем.

Подробнее

Lookalike.me — сервис для людей, похожих на тебя или твоих друзей

Reading time2 min
Views111K
Пост написан по просьбе друга, который вместе со скромным коллективом разработчиков сделал отличный сервис — не жалко и попиарить.

Привет, Хабр!

Я из числа невезучих, которых бросают друзья, девушки и с которым не хотят знакомиться люди с улицы, потому что сам я к ним не подхожу, и они почему-то тоже ко мне не подходят.

Год назад я решился на перемены. Собрав в голове весь свой умысел, я сел рисовать интерфейс сайта для знакомств по фотографиям с уникальной системой распознавания и нахождения похожих лиц. К вечеру мне было, с кем обсудить мой скетч, и сегодня мы даем релиз тестовой версии сайта lookalike.me — сервиса для поиска людей, внешне похожих на тебя или твоих друзей.



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

Information

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