Search
Write a publication
Pull to refresh
54
0
Фёдор @FFF

User

Send message

Одно слово для выпускника: статистика (перевод)

Reading time5 min
Views2.7K
For Graduates, Just One Word: Statistics

 

Оригинал

Взял на себя смелость перевести интересную статью из The New York Times.


 

Закончив Гарвард по специальности  “Археология и антропология”, Кэрри Граймс изучала виды поселений Майя, отмечая на карте места, где были найдены  артефакты. Но потом ее увлекло то, что она называет “все эти математические и компьютерные штуки”, которые были частью ее работы.

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

Структуры данных: бинарные деревья. Часть 1

Reading time6 min
Views382K

Интро



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

В своих статьях я буду приводить примеры кода сразу на двух языках: на Java и на Haskell. Благодаря этому можно будет сравнить императивный и функциональный стили программирования и увидить плюсы и минусы того и другого.

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

Skype в России: расставляем точки над i

Reading time1 min
Views695
Проблема Skype на «Эхо Москвы»:


Текстовая версия будет чуть позже

Еще одна сегодняшняя передача с «Эха» («Большой ЭхоNet») посвященная Skype:

За точку отсчета возьмем 21 июля 2009 года — день, когда состоялось заседание комиссии Российского Союза Промышленников и Предпринимателей по телекоммуникациям и информационным технологиям. Прошло оно под руководством Сергея Липатова, президента компании ТрансТелеКом. На этом мероприятии, согласно официальной формулировке, поднимались вопросы развития и регулирования IP-телефонии в России.

В этот же день, 21 июля, пользователь соцсервиса Хабрахабр.Ру Goodlark написала о том, что посетила это заседание, и что первый замгендиректора «Мегафон» выступил с докладом, в котором слышалась явная неприязнь к IP-телефонии, как к явлению. Если верить Goodlark, звучали резкие выражения, такие как «канибализирует трафик» и «паразитирует»...

Оригинал на «Эхе»

Миссия невыполнима

Reading time8 min
Views9K
image
Пожалуй наиболее известной надписью в Центральном Разведывательном Управлении США, штаб-квартира которого располагается, как мы все знаем, в Ленгли — штат Вирджиния, являются библейские слова выщербленные в мраморе главного холла: «And ye shall know the truth, and the truth shall make you free» (И да узришь ты истину, и истина сделает тебя свободным, Иоанн 8:32) Однако в последние годы, другой текст стал предметом всеобщего ажиотажа и интереса; текст, являющийся квинтэссенцией всего происходящего в стенах ЦРУ — это 865 символов кажущихся абсолютной бессмыслицей, выдавленной в медном листе толщиной 1,3 см.

Инсталляция Kryptos, созданная человеком по имени Джеймс Санборн (James Sanborn), обосновалась при дворе ЦРУ в уже далеком 1988, когда за основным зданием началась постройка нового и более современного офиса. Агентству нужна была уличная скульптура между двумя постройками, поэтому выбор пал на образец искусства «для всех», который на самом деле никто и никогда не сможет «увидеть». Санборн не просто так назвал свое творение греческим словом «скрытый», ведь эта работа — ярчайшая иллюстрация скрытности, тайности, интимности и иллюзорности человеческой жизни, текст которой является одним из самых идеальных кодов на сегодняшний день.
Читать дальше →

Один символ ценой в уязвимость

Reading time1 min
Views1.7K
Возможно, многие в курсе про недавнюю узявимость в ActiveX компоненте MSVidCtl, которая потенциально могла позволить злоумышленнику выполнить произвольный код используя переполнение буфера. Недавно, в блоге посвященному практике SDL появилось описание ошибки программиста, которая привела к уязвимости защиты.

Ошибка заключается в одном символе, вместо правильного кода:
hr = pStream->Read((void*)pbArray, (ULONG)cbSize, NULL);
* This source code was highlighted with Source Code Highlighter.

программист написал
hr = pStream->Read((void*)&pbArray, (ULONG)cbSize, NULL);
* This source code was highlighted with Source Code Highlighter.

использование лишнего символа & (получение адреса) привело к тому, что злоумышленник получил возможность произвести удаленное переполнение буфера с известными последствиями.

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

Что такое транзакционная память и чем она полезна

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

Поиск нечетких дубликатов. Алгоритм шинглов для веб-документов

Reading time4 min
Views45K
Ранее я показал элементарную реализацию алгоритма шинглов, позволяющую определять, являются ли два документа почти дубликатами или нет. В этот раз я поясню реализацию алгоритма, описанную Зеленковым  Ю. Г. и Сегаловичем И.В. в публикации «Сравнительный анализ методов определения нечетких дубликатов для Web-документов».
Этим я начинаю серию из трех теоретических статей, в которых постараюсь доступным языком описать принцип алгоритмов шинглов, супершинглов и мегашинглов для сравнение веб-документов.
Читать дальше →

Как правильно говорить с «трудным» клиентом

Reading time3 min
Views64K
Многим из нас время от времени попадаются «привередливые», «неадекватные» и «трудные» заказчики, партнёры, начальники, подчинённые и т.д. В этом посте я расскажу:
  • Как добиться своего в конфликтных ситуациях
  • Как вести разговор, не вызывая негативной реакции собеседника
  • Как держать конфликтную ситуацию под контролем
  • Как не допустить развития конфликта и как его устранить
Читать дальше →

Как я работал по два часа в день

Reading time3 min
Views21K
Когда я только перешёл от офисной работы к домашней, первое время был на седьмом небе от счастья. С ума сойти – можно спать столько, сколько хочется! Можно работать тогда, когда есть «стих», а когда его нет – ходить дышать воздухом и развлекаться так, как только в голову придёт. Не счастье ли это? Примерно полгода я провёл в таком состоянии постоянного кайфа, а потом постепенно начал привыкать. А дальше началось то, что обычно бывает у большинства узников «домашнего офиса». И вот, через полтора года такой жизни я задался вопросом – а так ли уж хороша она у меня, как казалась вначале?
Читать дальше →

Полная чаша: работа дома, с женой и маленьким ребенком

Reading time2 min
Views33K
Прочитал тему про работу дома 2 часа в день, а также комментарии.
Расскажу про свой опыт работы дома. Я начал работать дома на удаленного заказчика еще когда жена была на последних месяцах беременности. Это было замечательное время. Никто не говорит когда мне вставать на работу, когда уходить с работы, много экономится времени в силу того, что не надо тратить его на дорогу, да и работа делается на удивление быстро. Мы с женой много гуляли, проводили кучу времени вместе. А потом родилась замечательная дочка!..
Читать дальше →

И жнец, и швец, и на дуде игрец — специалист по Интернет-технологиям

Reading time5 min
Views974
Знакомый HR попросил оценить вакансию «специалист по Интернет-технологиям» их конкурента.
Когда я начал вчитываться в текст данной вакансии волосы поднимались дыбом.

Должность: специалист по интернет-технологиям
Заработная плата: 35000 руб.
Компания: *******


Образование: высшее техническое, либо высшее — маркетинг
Видно, что специалист по HR не до конца понимает, какой именно сотрудник нужен.
У технаря один склад ума, а у маркетолога совсем другой, навыки тоже совершенно разные.
Читать дальше →

Извлечение данных или знаний?

Reading time3 min
Views12K
Приветствую!

Стало любопытно, насколько представлена тема Data Mining на хабре. Увидел лишь одну статью, посвященную данной тематике. Хочу сделать свой небольшой вклад в развитие данной темы.

Исторически сложилось, что у термина Data Mining есть несколько вариантов перевода:
  • извлечение данных
  • извлечение знаний, интеллектуальный анализ данных

Если говорить о способах реализации, то первый вариант относиться к прикладной области, второй — к математике и науке, и, как правило, они мало пересекаются. Если говорить о возможности применения — тут вариантов очень много. Так получилось, что я работал как с первым вариантом (в университете — научная работа), так и с другим (работа, фриланс). Рассмотрим подробнее.

Извлечение данных


Извлечение данных — это процесс нахождения, сбора информации, а также сохранения (конвертация) их в разных форматах. По простому, программы для извлечения данных называют парсерами (parser), граберами (grabber), спайдерами (spider), кроулерами (crawler) и т.д. Фактически, такие программы существенно облегчают всем жизнь, так как позволяют систематизировать данные (именно данные, а не знания!). Такие программы могут собирать адреса компаний в вашей отрасли, ссылки из нужных форумов, парсить целые каталоги, также могут служить отличным средством для составления баз данных.

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

pv — маленькая, но очень полезная утилита

Reading time2 min
Views86K
Один мой друг сказал по поводу pv следующее «Я админю семь лет, мне нужна была эта тулза десятки раз, а я даже не знал что она существует». В размышлениях над тем как заполучить инвайт на Харбе, я набрал в поиске pv. И ничего не нашел.
Читать дальше →

Принципы разработки ПО для iPhone с использованием акселерометра

Reading time11 min
Views23K
В статье рассмотрено принципы работы iPhone акселерометра, показаны примеры приложений, использующие акселерометр в качестве главного компонента, наведены рекомендации по использованию акселерометра. Также показано, как использовать акселерометр в веб-приложениях. Часть материалов была взята из статьи «Скроллинг при помощи акселерометра».

Что такое акселерометр?


Обратимся к Википедии:
Акселерометр (от лат. accelero — ускоряю и μετρέω — измеряю) — прибор, измеряющий проекцию кажущегося ускорения. Кажущееся ускорение есть равнодействующая сил не гравитационной природы, действующая на массу и отнесённая к величине этой массы. Акселерометр может применяться как для измерения проекций абсолютного линейного ускорения, так и для косвенных измерений проекции гравитационного ускорения. Последнее свойство используется для создания инклинометров. Акселерометры входят в состав инерциальных навигационных систем, где полученные с их помощью измерения интегрируют, получая инерциальную скорость и координаты носителя. Электронные акселерометры часто встраиваются в мобильные устройства (в частности, в телефоны) и применяются в качестве шагомеров, датчиков для определения положения в пространстве, автоматического поворота дисплея и других целей. В игровых приставках акселерометры используются для управления без использования кнопок — путем поворотов в пространстве, встряхиваний и т. д.


Apple — не первая компания, которая внедрила акселерометр в мобильный телефон, но первая, у которой это получилось хорошо.
Читать дальше →

Жизненные советы от владельцев веб-студий: как повысить рентабельность и снизить риски. Часть 2

Reading time7 min
Views11K
Как и обещала, публикую вторую часть статьи, написанной на основе обсуждений, наблюдений и опыта партнеров UMI.CMS. Напомню, что было интересно собрать воедино и поделиться практическими рекомендациями и приемами владельцев веб-студий, позволяющими минимизировать риски и ускорить процессы на каждом этапе разработки интернет-проекта.

В первой части мы поговорили о «фишках» на этапе поиска клиентов и заключения договора. Сегодня — о дизайне, собственно разработке (внедрении) и сдаче проекта.
Читать дальше →

Redis — высокопроизводительное хранилище данных

Reading time2 min
Views102K
Бодрый день, хаброчеловеки!

Что такое Redis?


Redis — это высокопроизводительное нереляционное распределённое хранилище данных. В отличие от Memcached, который может в любой момент удалить ваши данные, вытесняя старые записи новыми, Redis хранит информацию постоянно, таким образом он похож на MemcacheDB.

Чем Redis отличается от существующих решений?


API для работы с Memcached (MemcacheDB) позволяет хранить массивы, но эти массивы будут сериализованы и сохранены как строки, таким образом атомарные операции над такими массивами не возможны.
Redis позволяет хранить как строки, так и массивы, к которым можно применять атомарные операции pop / push, делать выборки из таких массивов, выполнять сортировку элементов, получать объединения и пересечения массивов.

Производительность


110000 запросов SET в секунду, 81000 запросов GET в секунду на Linux-сервере начального уровня (тесты).

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

Sharding


Redis, как и Memcached, может работать как распределённое хранилище на многих физических серверах. Такой функционал реализуется в клиентских библиотеках, и к сожалению, «из коробки» этот функционал реализован пока только в Ruby API, однако это не мешает вам хешировать ключ самостоятельно и получать ID сервера, к которому с этим ключом обращаться.

API


API доступно для следующих языков:
  • Ruby
  • Python
  • PHP
  • Erlang
  • Tcl
  • Perl
  • Lua
  • Java


API для PHP доступно как в виде модуля, написанного на C, так и в виде PHP5 класса, который общается с Redis-сервером через сокеты, таким образом не требуется устанавливать модуль.
Кроме того существует PHP5 класс от отечественного разрабочика (с именем, заслуживающим доверия. Я серьёзно.) — IMemcacheClient. (Спасибо DYPA за наводку)

Перспективы развития


Разработка ведётся очень активно, комиты происходят почти каждый день, сейчас доступна версия Redis 0.900 (1.0 release candidate 1), которая очень скоро станет версией 1.0
В ближайшем будущем авторы обещают внедрить разные интересные фичи, в том числе и сжатие данных.

Лицензия и поддерживаемые платформы


Redis — написан на ANSI C и работает на большинстве POSIX-систем (Linux, MacOS X). Это бесплатное открытое ПО под BSD лицензией =)

Up: Rediska — удобный PHP-клиент для key-value базы Redis. Оф.сайт.

Скругленные углы на чиcтом CSS без JS без картинок с анти-аллиасингом

Reading time2 min
Views7.7K
Раз уже пошла такая пьянка бурное обсуждение, то предложу и свой метод скругления углов, с характеристиками, которые можно увидеть в названии топика.

Хочу заметить, что это не улучшение какого-то из существующих методов, а совершенно новый (по крайней мере, я нигде не смог найти — наверное, плохо искал ;) метод. В статье 38 статей о создании закругленных углов на сайтах данный метод также не был упомянут.

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

Не томи

OBOOBS.RU // Open B(.)(.)BS Project — небольшой проект про сиськи (женские)

Reading time1 min
Views42K
OBOOBS.RU

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

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

Сайт копирует модель коллективной фильтрации от bash.org.ru — состоит из двух разделов: Сигнал (отобранные и разбитые по категориям картинки) и Шум (огромное количество картинок, добавленных самими пользователями, выдаётся пользователям рандомно). Время от времени, самые популярные картинки из Шума уходят в Сигнал, «попадают на главную» (заодно и в RSS валятся). Вот и всё. Можно только добавить, что крутится всё на django (nginx, apache+mod_wsgi), postgresql и prototype.

Приходите к нам смотреть на красивые сиськи!

10 вещей которые необходимо сделать после установки WordPress (шпаргалка начинающим)

Reading time4 min
Views14K
10-veshey-posle
5-минутная инсталляция WordPress это здорово – так легко создать свой блог! Однако, после установки WordPress, вам необходимо будет сделать еще несколько шагов, чтобы добиться от вашего блога как можно лучшего результата.

Нижеследующая информация может быть использована как памятка или шпаргалка при установке движка.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity