Search
Write a publication
Pull to refresh
81
0

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

Send message

Google внедрил опцию Verbatim в настройки расширенного поиска

Reading time1 min
Views1.9K
После отмены оператора [+] компания Google получила поток негативного фидбека от продвинутых пользователей, которым неудобно теперь каждое слово включать в кавычки. Это уже не первый раз, когда люди выступают против изменений или «улучшений» в любимом поисковике. Что ж, Google решил немного помочь всем нам. Правда, о возвращении [+] речи не идёт, но зато теперь можно включить в настройках функцию Verbatim (дословный поиск) — и тогда запрос будет обрабатываться в абсолютно неизменном виде, то есть все стандартные фичи Google будут отключены:
  • проверка правописания с выдачей исправленного варианта;
  • персонализация поисковой выдачи с учётом ранее посещённых сайтов;
  • включение синонимов в поисковую выдачу;
  • включение похожих терминов в поисковую выдачу;
  • включение словоформ в поисковую выдачу;
  • обработка некоторых слов из запроса как необязательных.
На скриншотах показано сравнение стандартной поисковой выдачи (справа) и выдачи с функцией Verbatim (слева).



В ближайшие дни фильтр Verbatim появится в настройках расширенного поиска у всех пользователей Google.

Профессионал-2: обзор Sony Ericsson Xperia pro

Reading time6 min
Views27K
Одна из последних, до которой дошли руки редакции этого блога, новинок 2011 года в линейке Xperia — Sony Ericsson Xperia pro — внезапно оказалась одной из лучших. Представленный в феврале этого года в Барселоне, Sony Ericsson Xperia pro является идейным наследником первых «иксперий» — смартфонов с большим экраном и выдвижной QWERTY-клавиатурой — Sony Ericsson Xperia X1 и X2. Пару в нынешнем «выпуске» Xperia pro составляет развлекательный смартфон Xperia neo, идентичный по характеристикам и близкий по габаритам, но без выдвижной клавиатуры.



Все модели Xperia этого года построены на одинаковом «железе», и Xperia pro — не исключение. Фактически, это можно считать победой коммунизма в рамках отдельно взятой линейки смартфонов: технически все равны, остаётся выбирать только дизайн, размер экрана, вес и форм-фактор по вкусу. С другой стороны, благодаря унификации, модели с топовой начинкой (как у флагмана этого года Xperia arc) доступны в ценовом диапазоне менее $300.

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

«The Simdsons» — немного о семействе векторных инструкций SIMD

Reading time4 min
Views14K
image
Когда я впервые увидела этот мультфильм, то абсолютно не впечатлилась. Какие-то желтые (хорошо хоть не зеленые) человечки с выпученными глазами, сюжет не особенно интересный, шутки несмешные…

Но вскоре все радикально изменилось. Нет, «Симпсоны» остались теми же, зато я провела около месяца в командировке в мир Симпсонов — США, где наконец поняла, почему этот сериал многие считают лучшим. «The Simpsons» — действительно прекрасная пародия на американский образ жизни от мелочей до глобальных вопросов, это и юмор и философия и еще много отличных поводов для просмотра.

К чему это я? А к тому, что наверняка первое знакомство с семейством векторных инструкций SIMD (и, в частности, SSE) многих программистов не впечатлило. Какие-то новые инструкции с выпученными длинными регистрами, одновременно работающие над группой данных, возни много, а толку, скорее всего, мало…

Попробую радикально изменить это представление. Нет, я не буду убеждать вас, что SSE — прекрасное средство оптимизации приложений. Пойду другим путем. В Симпсонах — 21 сезон (кстати, это — самый длинный сериал в истории американского ТВ). В честь этого я приведу 21 интересный факт про Intel SIMD. Надеюсь, что действительно интересный — даже знатокам SIMD.
Читать дальше →

Помочь компилятору в векторизации? — Лучше просто не мешать

Reading time3 min
Views11K
Это — вольный перевод моего недавнего поста на английской версии Intel Software Network. Так что те, кому Victoria Zhislina нравится больше vikky13, кто уже видел этот пост, могут сразу прочесть первый и последний абзацы, отсутствующие в оригинале.

— Всем здрасьте, мне нужен транслятор с русского языка в код программы на C++. Ну то есть, я пишу задачу, а транслятор реализует ее решение на языке С++. Где можно такой найти? Если для Cи нету, может быть, есть для других языков?

— Есть, называется начальник отдела разработки. Пишешь задачу на русском — отдаешь подчиненным и все, код готов! Хоть на Си, хоть на Дельфи, хоть на Яве. Я проверял, работает!


Говорят, что это не анекдот, а реальный вопрос на программистском форуме. Также говорят, что человек гораздо умнее машины, а значит, может ей помочь — поделиться умом. Но есть немало случаев, когда делать этого точно не стоит. Результат будет обратный ожидаемому.

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

Что нужно знать про арифметику с плавающей запятой

Reading time14 min
Views1M


В далекие времена, для IT-индустрии это 70-е годы прошлого века, ученые-математики (так раньше назывались программисты) сражались как Дон-Кихоты в неравном бою с компьютерами, которые тогда были размером с маленькие ветряные мельницы. Задачи ставились серьезные: поиск вражеских подлодок в океане по снимкам с орбиты, расчет баллистики ракет дальнего действия, и прочее. Для их решения компьютер должен оперировать действительными числами, которых, как известно, континуум, тогда как память конечна. Поэтому приходится отображать этот континуум на конечное множество нулей и единиц. В поисках компромисса между скоростью, размером и точностью представления ученые предложили числа с плавающей запятой (или плавающей точкой, если по-буржуйски).

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

Полиморфус — самозатвердевающий пластик с низкой температурой плавления

Reading time1 min
Views54K
Не далее как сегодня koka опубликовал статью «Делаем «Самое бесполезное устройство» сами». При изготовлении девайса он использовал весьма заинтересовавший меня материал — самозатвердевающий пластик «Полиморфус» (upd — сам полимер называется поликапролактон, спасибо noonv за ссылку). Лично мне (да думаю и многим хабровчанам) давно не хватало чего-нибудь подобного для мелкого ремонта или DIY-ствования.

imageimageimage

Под катом — ссылка на сайт, занимающийся распространением «Полиморфуса» в РФ и набор видео-роликов, демонстрирующих возможности применения материала.
Так же, убедительная просьба к хабровчанам, имеющим опыт использования сего пластика или аналогов, поделиться опытом и впечатлениями в комментариях.
Читать дальше →

Скромное руководство по прохождению интервью: часть 2

Reading time5 min
Views20K
Во второй части поста будут рассматриваться “Алгоритмы и концепции”, если вы не читали предыдущий пост или хотите “вспомнить” список тем, то загляните сюда.

Алгоритмы и концепции

Сортировка и поиск

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

Автоматическое тестирование программ

Reading time9 min
Views48K

Введение


Долгое время считалось, что динамический анализ программ является слишком тяжеловесным подходом к обнаружению программных дефектов, и полученные результаты не оправдывают затраченных усилий и ресурсов. Однако, две важные тенденции развития современной индустрии производства программного обеспечения позволяют по-новому взглянуть на эту проблему. С одной стороны, при постоянном увеличении объема и сложности ПО любые автоматические средства обнаружения ошибок и контроля качества могут оказаться полезными и востребованными. С другой – непрерывный рост производительности современных вычислительных систем позволяет эффективно решать все более сложные вычислительные задачи. Последние исследовательские работы в области динамического анализа такие, как SAGE, KLEE и Avalanche, демонстрируют, что несмотря на присущую этому подходу сложность, его использование оправдано, по крайней мере, для некоторого класса программ.

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

Инструменты для визуализации логов профайлера xdebug

Reading time2 min
Views23K
Наверное многие php разработчики используют профайлер xdebug для поиска узких мест в приложениях. Но просто смотреть логи очень не удобно, поэтому были созданы инструменты для их визуализации. Об этих инструментах я и хочу коротко рассказать.

Webgrind

Webgrind это набор php скриптов, которые можно установить на локальный или удаленный веб сервер. Дальше все просто до неприличия — закачиваем файл лога и смотрим статистику.
image
Самый очевидный плюс Webgrind'а это кроссплатформенность и простота установки.
Показывает список функций которые вызывались, количество вызовов (Invocation Count), общеё время потраченное на вызов (Total Self Cost) и общее время потраченное на выполнение (Total Inclusive Cost).
Можно скрыть php функции. Можно перейти внутрь функции, чтобы увидеть развернутую статистику.
Читать дальше →

Практика радиосвязи, как она есть

Reading time7 min
Views187K
Все мы ежедневно сталкиваемся с разными видами радиосвязи и беспроводной передачи данных. Да что там сталкиваемся: мы практически пронизаны радиоволнами разной частоты, модуляции и напряженности (за исключением, разве что, случая, если не находимся внутри «клетки Фарадея»). Здесь, на хабре, в силу ИТ-направленности, очень много статей о видах связи и передачи данных, о разнообразных телекомах, о магистралях и «последних милях», да и еще много о чем, что имеет прямое или косвенное отношение к связи, как к проводной, так и к беспроводной.

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

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

Краткая шпаргалка по tmux (менеджеру терминалов)

Reading time1 min
Views437K
tmux — это менеджер терминалов, к которому удобно подключаться и отключаться, не теряя при этом процессы и историю. Как screen, только лучше (в первую очередь потому, что использует модель клиент—сервер).

image

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

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

Через какую дыру взломали сайт?

Reading time6 min
Views143K
imageЕсли сайт взломан, мало удалить с него вирус и загруженный PHP Shell. Нужно еще найти причину, по которой произошел взлом, иначе через день-два на сайте снова будет под бодрую музыку развеваться красивый турецкий иностранный флаг. Чаще всего причина — украденный пароль от FTP, устаревшая версия CMS или плагина к ней, но как найти, что именно было использовано для проникновения?

Имея некоторый опыт в этой сфере (в среднем наша техподдержка занимается поиском причины взлома сайта раз в неделю), мы систематизировали накопившуюся информацию.

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

Очнитесь, на дворе XXI век

Reading time5 min
Views32K


Начать статью я хотел бы с констатации того факта, что прямо за окном находится 2011 год (пруфлинк), середина апреля. Напоминаю я это в первую очередь себе, поскольку меня периодически посещают в этом сомнения. Дело в том, что как по работе, так и ради хобби я часто читаю код на С++, написанный лет 10-20 назад (но поддерживаемый и поныне) или код написанный совсем недавно, но людьми, которые учились программировать на С++ те же 20 лет назад. И вот после этого у меня и возникает ощущение, что никакого прогресса за эти годы не было, ничего не менялось и не развивалось, а по Земле до сих пор бродят мамонты.
Читать дальше →

Opensource-проект с нуля

Reading time2 min
Views22K
Долгое время боялся создавать этот топик, но всё же решился. Надеюсь, что не зря. Периодически на хабре и не только на нём появляются вопросы о том, к какому бы opensource-проекту присоединиться (1, 2, 3, 4, ...etc), ответов на которые к моему удивлению не много. У меня периодически появляется свободное время и хочется поучаствовать в одном из таких проектов. И я пытался, слал pull request'ы в некоторые проекты на гитхабе, их принимали, начинал какие-то свои проекты и так и не доводил их до конца. Но это всё не то…

… Хочется собрать несколько человек, обсудить и создать какой-то интересный проект, пусть без революционной идеи, пусть без новизны, пусть без профита, но свой. Чтобы видеть зарождение с нуля, видеть новые коммиты, добавляющие функциональность, читать чужой код и чужие комментарии, учась чему-то новому, получать опыт, обсуждать, спорить. Хочется потом иметь возможность указать в резюме ссылку на проект, в создании которого я участвовал.
Я пытался искать «opensource проекту требуется разработчик» и ничего актуального не нашёл. То есть нашёл полуразработанные проекты на java, php, но это, опять же, не то. Мои интересы: Python, C/C++, (Boost, LLVM, Qt...).

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

OpenCL: универсальность и высокая производительность или не так все просто?

Reading time5 min
Views10K
На Хабре уже были статьи об OpenCL, CUDA и GPGPU со сравнениями производительности, базовыми понятиями и примерами, поэтому рассказывать об основах и принципах работы я тут не буду, даже код не покажу. Но я хочу описать в чем заключаются реальные трудности при использовании GPU (про ограничения и их последствия), почему нельзя сравнивать производительность CPU и GPU, а также про то насколько “универсален” OpenCL на самом деле.
Читать дальше →

Система фильтрации спама Rspamd

Reading time4 min
Views24K
Система Rspamd разрабатывается как основная система фильтрации спама в Рамблер-Почте. Однако же, изначально я планировал сделать систему, которая бы не уступала по возможностям, гибкости и качеству работы Spamassassin'а, однако была бы лишена основных его недостатков: чрезмерного использования регулярных выражений, слабой оптимизацией и общей задумчивостью работы, а также сравнительно неточной статистикой. Так созрела идея rspamd — системы, ядро которой было бы оптимизированно для фильтрации большого потока писем, которая была бы легко расширяема и использовала бы более совершенные алгоритмы статистики. Ядро rspamd написано на Си и использует событийную модель обработки сообщений (основанную на libevent). Расширяется rspamd путем написания плагинов и правил на языке lua. Сам проект с самого основания был Open Source (под BSD лицензией) и сейчас расположен на bitbucket.
Читать дальше →

Debian: Apt-Pinning на примере php5-fpm и nginx 1.0.4 (Debian way)

Reading time3 min
Views6K
Всем Debian'щикам известно, что Debian настолько же стабилен, насколько тормознут на «новинки». В частности, пакета php5-fpm, так многими любимого, в стабильном репозитории до сих пор нет. Решив чуток поискать, как делают люди, понял, что многие собирают его из «сорцов». Мне это как-то стало не по душе. Поэтому сегодня я поставил его в стиле Debian-way, с помощью Apt-Pinning.

Apt-Pinning, вкратце, это технология, которая показывает, из какого репозитория предпочтительнее ставить пакет.
Читать дальше →

Основы MPI для «чайников»

Reading time5 min
Views95K
Так вышло, что мне пришлось тесно столкнуться с изучением параллельных вычислений и в частности MPI. Пожалуй, направление это на сегодняшний день является весьма перспективным, так что хотелось бы показать хабраюзерам основы этого процесса.

Основные принципы и пример

В качестве примера будет использоваться расчет экспоненты (e). Один из вариантов ее нахождения — ряд Тейлора:
e^x=∑((x^n)/n!), где суммирование происходит от n=0 до бесконечности.

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

Плагин Moj для участия в TopCoder SRM

Reading time4 min
Views5.1K

Вступление


Людям, которые увлекаются спортивным программированием, хорошо известны соревнования корпорации TopCoder. Среди них, пожалуй, самым популярным видом является Single Round Match, или SRM. Схема SRM'ов достаточно специфическая, и в чем-то неповторимая. Если кратко — сначала участники решают 3 задачи разных уровней сложности, потом некоторое время ищут ошибки у оппонентов, получая за это дополнительные очки.

Для организации таких соревнований TopCoder создали Java-апплет (TopCoder Arena). Также нашлись умельцы, которые для этой самой арены написали плагины, чтобы упростить жизнь себе и другим. Но установка последних часто вызывает трудности у начинающих SRM'щиков. Именно эта проблема стала мотивом для написания этой статьи.
Читать дальше →

OpenCL: Как заставить эту штуку работать

Reading time3 min
Views9.4K
image

Очень многие, пробовавшие «на вкус» технологию использования графических ускорителей CUDA/OpenCL получили не слишком хорошие результаты. Да, тесты идут и простые примеры показывают впечатляющее ускорение, но вот когда дело доходит до реальных алгоритмов, хороший результат получить очень непросто.
Как же заставить эту технологию работать?
В данной статье я постарался обобщить свой полугодовой опыт бодания с технологией OpenCL под Mandriva linux и MacOS X 10.6 на задачах сложного поиска строковых данных для биоинформатики. OpenCL был выбран т. к. для Мака он является «родной» технологией (часть маков комплектуется видеокартами AMD и CUDA под ними недоступна даже теоретически), но предлагаемые рекомендации достаточно универсальны и подходят в том числе и для NVIDIA CUDA.

Итак, что необходимо, чтобы графический ускоритель заработал?
Читать дальше →

Information

Rating
Does not participate
Registered
Activity

Specialization

Backend Developer, System Software Engineer