Pull to refresh
40
0
sysprg @sysprg

User

Send message

Поисковая система по C++ ресурсам

Reading time2 min
Views6.8K
Не самый популярный, но оттого не менее полезный сервис Google — возможность создать свою поисковую систему. Технология простая — вы отбираете сайты, в которых поисковик будет искать прежде всего, сужая, таким образом область поиска и получая красивые релевантные результаты.
Мне захотелось найти поисковик для C++, но я ничего полезного не увидел. Зашел на Google Custom Search, накидал список сайтов (штук 15, не больше) и увидел, что это хорошо — ищет уже гораздо лучше стандартного гугл-поиска. Вот ссылка на эту мини-искалку. Буду рад, если хабрасиплюсплюсеры помогут мне в развитии и пополнении списка допустимых сайтов. Тут есть следующие варианты:
  • "ха! дык это ведь уже есть!" вы тыкаете меня носом в уже созданный тематический поисковик по C++, я посыпаю голову пеплом, закрываю топик и радостно этим поисковиком пользуюсь,
  • "ура, мы создадим СВОЙ поисковик, с функторами и аллокаторами". Тут видится два разумных варианта. Первый — я раздаю 100 инвайтов желающим присоединиться к наполнению базы сайтов поисковика и они непосредственно включаются в редактирование. Или же можно содать общедоступную и свободно редактируемую страничку (да хоть эту), на которую сваливать все ссылки. Ну а страничка в качестве источника ссылок будет съедаться гуглом.
  • также принимаются предложения по смене системы создания custom search, идеи о том, как можно подключать штуки вроде закладок delicious (или, например, ), помеченных соответствующими тегами, страниц MSDN, URL которых никак не связан с темой, и прочее.
Пока добавлены следующие ресурсы

Map/Reduce: решение реальных задач — TF-IDF — 2

Reading time3 min
Views14K
Продолжая статью “Использование Hadoop для решения реальных задач”, хочу напомнить, что в прошлой статье мы остановились на том, что посчитали такую характеристику как tf(t,d), и сказали, что в следующем посте мы будем считать idf(t) и завершим процесс вычисления значения TF-IDF для данного документа и термина. Поэтому предлагаю долго не откладывать и переходить к этой задаче.

Важно заметить, что idf(t) не зависит от документа, потому как считается на всем корпусе. Это нетрудно увидеть, посмотрев на формулу:



Вероятно, она нуждается в некоторых пояснениях. Итак, |D| это мощность корпуса документов — иными словами, просто количество документов. Мы знаем его, поэтому считать ничего не надо. Знаменатель же логарифма — это количество таких документов d которые содержат интересующий нас токен t_i.

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

Высокочувствительный софтверный приёмник ГЛОНАСС+GPS портирован на архитектуры Intel Atom и ARM7

Reading time2 min
Views4.8K
Четыре дня назад я упоминал о качественном скачке миниатюризации приёмников ГЛОНАСС+GPS в связи с появлением чипа NAVIS, размером меньшего рублёвой монетки, и со стомилливаттным потреблением.

[Intel Atom]Этот рекорд NAVIS, однако, не долго оставался выдающимся на общем фоне. Позавчера компания SPIRIT-Telecom объявила о том, что её приёмник ГЛОНАСС+GPS является вообще софтверным, так что способен работать на обычном процессоре Intel Atom через внешнюю (в USB воткнутую) антенну. Процессор же Intel Atom, как известно, по размеру весьма невелик (см. фото справа). Кроме того, во многих устройствах (нетбуках и MID) чип Atom ужé установлен, так что тратиться на его доустановку не придётся.
Читать дальше →

Пузырьки, кэши и предсказатели переходов

Reading time6 min
Views10K
Эта заметка написана по мотивам одного любопытного поста, краткий коммент её же автора к которому сподвиг меня разобраться в происходящем поподробнее. Предлагается сравнить две вариации алгоритма сортировки пузырьком. Первая из них – обычный пузырёк, с небольшой оптимизацией — внутренний цикл можно закончить немного раньше, зная, что оставшаяся часть массива уже отсортирована:
for (i=0; i<N; i++)
  for (j=0; j<N - (i+1); j++)
    if (a[j] > a[j+1])
      swap(a[j], a[j+1]);


Во втором варианте внутренний цикл проходит по другой части массива, однако алгоритмически этот вариант эквивалентен первому (подробности ниже):
for (i=0; i<N-1; i++)
    for (j=i; j>=0; j--)
        if (a[j] > a[j+1])
            swap(a[j], a[j+1]);


Запускаем (код), например, для N=100 000 на массиве int'ов, и получаем около 30 секунд в первом случае, и меньше 10 секунд — во втором, то есть отличие в 3 раза! Откуда же тогда берётся такая разница?
Читать дальше →

Как заработать на торговых автоматах: кофе, снеки и все-все-все

Reading time7 min
Views9.2K
Блог им. Andorro при поддержке портала «Век Вендинга» продолжает серию публикаций (1, 2) про вендинговый бизнес в России. На сей раз мы расскажем вам о том, какие бывают торговые автоматы.

Предупреждение: в этой статье будет много матов — в частности, кофематов, снекоматов и прочих хотдогоагрегатов. А также парочка вредных советов и несколько картинок. Кому это надо — добро пожаловать под кат.

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

Если бы я проектировал телефон

Reading time2 min
Views650
Современным интерфейсам в телефоне, при всех наворотах, не хватает цельности. Если бы я делал телефон, я бы взял листок бумаги и нарисовал табличку. По горизонтали и по вертикали вся функциональность, пункт за пунктом. На пересечении – то, как эти два пункта интегрируются. Например:
  1. Календарь + Контакт в адресной книге = Напоминалка о Дне Рождения
  2. Фото + Контакт в адресной книге = Отметить человека на фотографии
  3. Календарь + Фото = Разместить фотографии, сгруппировав по дате
  4. Фото + GPS = Место, где была сделана фотография
  5. GPS + Контакт в адресной книге = поставить адрес контакта, адрес его работы и тп
  6. SMS + Контакт = Расположить СМС в виде чата
  7. GPS + Журнал вызовов = Показать откуда делался вызов, (сомнительно, но для алиби может пригодиться)
  8. Заметки + Контакт = мобильная CRM, оставлять любые заметки о человеке, от пожелания на ДР заканчивая тем, что должен 100 баксов (в любом количестве и сохраняя прошлые)
  9. Контакт + Напоминалки = напоминание позвонить, позвонить и назначить встречу, приехать к контакту домой, отправить смс. Или же показывать напоминание при входящем, при входящей смс от контакта
  10. Напоминалки + GPS = напоминать что надо сделать, когда телефон будет в заданном месте
  11. Интернет + Контакт = агрегация типа friendfeed, rss с домашней странички
  12. Интернет + Музыка = last.fm
  13. Bluetooth + Контакт = Ассоциировать контакт и bluetooth адрес, хранить историю передач, ( а ещё лучше единым чатом с смс, логированием звонков, передач, rss, др.)
  14. SMS + GPS = Отправить смс по прибытии в заданный район. «Сына, отправь смс как доберешься»

И так далее. Это на столько очевидно, что кем-нить реализовано или к тому идёт. Осталось найти (дождаться) этот телефон и купить.

Для наглядности — таблица этих исходных пунктов на docs.google.com

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

OpenCL. Что это такое и зачем он нужен? (если есть CUDA)

Reading time6 min
Views142K


Здравствуй, уважаемое хабра-сообщество.

Многие, наверное, слышали или читали на хабре об OpenCL – новом стандарте для разработки приложений для гетерогенных систем. Именно так, это не стандарт для разработки приложений для GPU, как многие считают, OpenCL изначально задумывался как нечто большее: единый стандарт для написания приложений, которые должны исполняться в системе, где установлены различные по архитектуре процессоры, ускорители и платы расширения.
Читать дальше →

Oracle RAC. Общее описание / Часть 1

Reading time10 min
Views75K
Высоконагруженные сайты, доступность «5 nines». На заднем фоне (backend) куча обрабатываемой информации в базе данных. А что, если железо забарахлит, если вылетит какая-то давно не проявлявшаяся ошибка в ОС, упадет сетевой интерфейс? Что будет с доступностью информации? Из чистого любопытства я решил рассмотреть, какие решения вышеперечисленным проблемам предлагает Oracle. Последние версии, в отличие от Oracle 9i, называются Oracle 10g (или 11g), где g – означает «grid», распределенные вычисления. В основе распределенных вычислений «как ни крути» лежат кластера, и дополнительные технологии репликации данных (DataGuard, Streams). В этой статье в общих чертах описано, как устроен кластер на базе Oracle 10g. Называется он Real Application Cluster (RAC).

Статья не претендует на полноту и всеобъемлемость, также в ней исключены настройки (дабы не увеличивать в объеме). Смысл – просто дать представление о технологии RAC.

P.S. Beware of the многабукаф
Продолжение статьи

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

Неисправный пиксель

Reading time1 min
Views5.1K
Бороздя просторы рунета, наткнулся на интересную задачу.
На электронном табло отображается верное математическое равенство. Но один пиксел табло неисправен. Какой?

image

По мотивам braingames.ru

P.S. Решил сам, не лишай удовольствия ближнего своего, не нужно в комментах сразу ответы.

UPD: тут хайвмайнд получился, но я всяко первее.
UDP2: в комментариях две явные подсказки + ссылка на решение, будьте осторожны!

Радио без батареек

Reading time3 min
Views144K
Может ли радиоприемник состоять менее чем из 10 деталей и работать без батареек?

Да, может: детекторные радиоприемники очень просты и могут работать, получая питание только от радиоволн. В этой статье я опишу, как можно сделать такую штуку своими руками, потратив на всю работу не более часа! ;)

Чем хорош детекторный радиоприемник?
Читать дальше →

Microsoft отказалась патчить Windows XP

Reading time1 min
Views2.4K
К удивлению специалистов по безопасности, компания Microsoft отказалась патчить недавно выявленную уязвимость TCP/IP в Windows XP и Windows 2000. Один из ведущих менеджеров по безопасности программ Microsoft Эдриан Стоун сказал, что этот фрагмент исходников слишком стар, имеет возраст от 12 до 15 лет, и разобраться в коде на этом уровне «просто нереально» [backporting that level of code is essentially not feasible]. Данная фраза была сказана в прямом эфире ежемесячного вебкаста по безопасности (стенограмма), отвечая на вопросы слушателей.

Два бага в стеке TCP/IP были обнаружены 8 сентября. Уязвимость затрагивает также Windows Vista, Windows Server 2003 и Windows Server 2008. Для трёх упомянутых систем вышел апдейт MS09-048, а вот к Windows 2000 и Windows XP патча можно не ждать. Для защиты от вредоносных TCP/IP-пакетов пользователям Windows XP рекомендовано воспользоваться функционалом встроенного файрвола.

Нужно напомнить, что Windows XP — самая популярная в мире ОС на сегодняшний день. По условиям пользовательского соглашения, Microsoft обязана выпускать апдейты безопасности для Windows XP вплоть до апреля 2014 г., пишет Computerworld.

Отказ патчить найденную уязвимость для системы, которая находится на поддержке — довольно редкое явление. По словам Стоуна, последний раз Microsoft шла на такой шаг в марте 2003 года с Windows NT 4.0.

Роль алгоритмов в успехе современного технологического старт-апа

Reading time2 min
Views6.4K
Рынок IT-услуг на сегодня невероятно переполнен. В каждой области оперируют десятки, а в более популярных областях сотни и тысячи технологических компаний, разбросанных по всему миру. Арсенал убеждения таких компаний широк, но, в общем, сводится к основным пунктам:
  • О нас знают!
    Знает весь Интернет, знает Василий Иванович, знают в Нижних Гуселях, знают все клиенты Microsoft, знают все немецкие банки и т.п.
  • Мы надежные!
    У нас много сотрудников, у нас много денег, у нас много связей, мы сделали какое-то значимое достижение.
  • Мы дешевые!
    Здесь перечисляются скидки, дополнительные сервисы и т.п. Этот пункт обычно имеет наименьшее значение.

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

А нужен ли офис для стартапа? / Где начинались 14 ведущих интернет сервисов

Reading time4 min
Views1.2K
Сегодня я решил показать всем где были рождены 14 моих любимых ведущих интернет сервисов. Просто хочу показать вам, что не надо красивого и офиса и всего такого для начала своего дела. Большое число людей начинало со студенческой комнаты и спальни с простым ноутбуком в руках.

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

Итак:

1) Facebook


Основатель: Марк Цукенберг (Mark Zuckerberg)
Место основания: в его студенческой комнате в Гарварде.
Сайт: http://facebook.com
Своему рождению Facebook обязан страсти к программированию Марка.
Он появился в центре внимания когда он отклонил предложение от Yahoo на 1 миллион долларов. Позже он всё таки согласился на 240-миллионное предложение, дающее Microsoft 1.6% кусок в Facebook, цена которого возросла до 15 миллиардов долларов.

Facebook
Дальше больше

Поговорим о ГИС

Reading time3 min
Views3.9K
Приветствую всех!

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

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

ГИС
Читать дальше →

Кластеризация: алгоритмы k-means и c-means

Reading time3 min
Views185K
Добрый день!

Как и обещал, продолжаю серию публикаций о технологии Data Mining. Сегодня хочу рассказать о двух алгоритмах кластеризации (k-means и c-means), описать преимущества и недостатки, дать некоторые рекомендации по их использованию. Итак, поехали…

Кластеризация — это разделение множества входных векторов на группы (кластеры) по степени «схожести» друг на друга.

Кластеризация в Data Mining приобретает ценность тогда, когда она выступает одним из этапов анализа данных, построения законченного аналитического решения. Аналитику часто легче выделить группы схожих объектов, изучить их особенности и построить для каждой группы отдельную модель, чем создавать одну общую модель для всех данных. Таким приемом постоянно пользуются в маркетинге, выделяя группы клиентов, покупателей, товаров и разрабатывая для каждой из них отдельную стратегию (Википедия).

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

Новая версия веб-типографа Студии Муравьёва

Reading time3 min
Views5.6K
Лицо нашего типографа
Не так давно на Хабре уже заходила речь о нашем новом типографе (см. habrahabr.ru/blogs/typography/66710/). Речь зашла раньше, чем я успел написать этот топик. Нам конечно же очень приятно, что силы, время и душу, которые мы вложили в этот бесплатный продукт кому-то пригодились. Наши первые версии писались в 2007 для форумных систем (о них вы сможете почитать на нашем сайте в разделе типографа, даже скачать можно будет). В конечном итоге мы решили позиционировать его как отдельный независимый продукт, и сейчас я хочу немного рассказать вам о нем.

Пояснение


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

Конкретизируя


Сейчас он включает в себя множество умных правил, которые время от времени улучшаются и становятся более продуманными. Типограф обрабатывает тексты не только по классическим законам (неразрывные пробелы, правильные кавычки, свисающая пунктуация и др.), но и по взятым канонам из «Справочника издателя и автора» Мильчина А. Э. Любители типографики должны это оценить.
Читать дальше →

Рисуем pie график

Reading time3 min
Views7.5K
Как-то понадобилось добавить в проект симпатичный 3-d pie график.
Пока толпа решала на какой компонент потратить денежку, нарисовал вот такой вот график:

image

Кому надо, делюсь кодом прототипа, он минимален:

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

.NET Framework 4.0 получил механизм Software Transactional Memory

Reading time1 min
Views2.1K
Software Transactional Memory (STM) — это альтернатива блокировкам и другим традиционным механизмам синхронизации асинхронных операций и потоков при доступе к общему участку памяти. Механизм STM похож на работу транзакций в современных СУБД и, хотя его использование в общем случае медленнее использования механизма блокировок, STM предлагает разработчику более простой способ управления параллельными вычислениями.

Использование STM в .NET крайне просто:

Atomic.Do(()=> {
<statememts>
});

где statements — это выражение которое должно выполняться в транзакции.

Существует масса библиотек реализующих STM для множества языков. STM для .NET ранее существовала в виде отдельного проекта группы Microsoft Research, кроме того для C# существовует еще 4 библиотеки STM. И вот теперь, этот механизм стал частью фреймворка.

* скачать .NET 4.0 с STM msdn.microsoft.com/en-us/devlabs/ee334183.aspx
* wiki-статья про STM en.wikipedia.org/wiki/Software_transactional_memory (eng)
* статья Beautiful Сoncurency (Haskell) research.microsoft.com/en-us/um/people/simonpj/papers/stm/beautiful.pdf (pdf), спасибо shai_xylyd

via www.infoq.com/news/2009/07/Software-Transactional-Memory

Information

Rating
Does not participate
Date of birth
Registered
Activity