Архив за 21 июня 2013 - 4

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

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

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

Статья, содержащая эту формулировку, добавляется в общие положения четвёртой части ГК РФ. Это значит, что она будет распространяться на все объекты исключительных прав, включая литературные произведения, фотографии, музыку, патенты, товарные знаки и т.д. Кроме того, в статье говорится, что уведомление провайдеру о блокировке какого-нибудь контента или ссылки на него может содержать только IP-адрес. Такой подход технически безграмотен и ставит под угрозу само существование поисковых систем и любых других интернет-ресурсов.

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

SEO аудит своими руками

На фотографии — чеклист самолета Cessna: в какие положения нужно установить переключатели перед запуском двигателя, допустимые полетные параметры и так далее. Пилот не в первый раз видит этот список. Выучить — раз плюнуть. Но мозг может перезаписывать информацию, создавая ложные воспоминания, но при этом при «запросе» данные будут помечены как «верные». А вот напечатанное на бумаге не изменяется, поэтому ей можно доверять на 100%. SEO — это не управление самолетом с сотней человек на борту. Потерять можно всего-то несколько десятков тысяч рублей (если, например, начать продвижение с закрытыми от индексации в robots.txt страницами). Но не проще ли потратить 5-10 минут на проверку и убедиться, что все сделано правильно?..

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

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

Читать полностью »

Всё началось с сообщения «Тут?» от моего друга в одной из социальных сетей. «Яндекс нашёл на сайте вирусы. Глянешь?» «Отчего ж не глянуть», подумал я.
Так началось моё трёхдневное исследование скриптов, дабы понять суть взлома и что там вообще происходит.
Читать полностью »

Притча о покрытии кода тестами
Ранним утром программист спросил великого мастера:
— Я готов писать модульные тесты. К какому покрытию кода я должен стремиться?
Великий мастер ответил:
— Не переживай о покрытии, просто пиши хорошие тесты.
Программист улыбнулся, поклонился и ушел.

Немного времени спустя другой программист задала этот же вопрос. Великий мастер указал на котел с кипящей водой и сказал:
— Сколько зерен риса я должен положить в этот котел?
Программист с озадаченным видом ответила:
— Как я могу ответить наверняка? Все зависит от того, сколько людей вам надо накормить, насколько они голодны, какие еще блюда вы подаете, сколько риса у вас есть и от многого другого.
— Совершенно верно. — сказал великий мастер.
Второй программист улыбнулась, поклонилась и ушла.
Читать полностью »

Идея фильма "28 панфиловцев" по событиям Великой отечественной войны собрала с начала недели 1,85 млн рублей добровольных пожертвований с помощью краудсорсинговой платформы Boomstarter.ru (аналог американского Kickstarter.com). Три спонсора вложили в проект более 100 тыс. рублей, остальные 2300 человек - более скромные суммы. Все вложения пользователей - благотворительные, авторских или коммерческих прав на результат они не приобретают.

О вечном

Наверное, многие из вас, читателей и писателей хабра, задавались вопросом: «Что происходит с образованием в России?». И, естественно, находили самые нелицеприятные ответы на эти вопросы: «Всё плохо», «Разворовали», «Продались», «Гнать гуманитариев!!!» и т.п.
Я довольно долгое время связан с современным образованием — выпустился лет 5 назад, учился в аспирантуре, писал статьи в ВАКовские журналы, преподавал (и преподаю) и занимаюсь административной деятельностью.
Читать полностью »

Недавно я перешел с knockout.js на angular.js, оба инструмента мне нравятся, но в каждом из них есть свои преимущества перед «конкурентом».
И тут выпал скучный вечер, решил я, just for fun, слепить свой MV* инструмент.

Мне не очень нравятся разухабистые фреймворки, я отдаю предпочтение библиотекам, и от angular мне в основном нужно было 2 вещи: scope — данные и их мониторинг, applyBindings — привязать этот scope к DOM.
Читать полностью »

Манчестерской МЭМ — 65 лет

Сегодня исполняется ровно 65 лет с момента запуска 21 июня 1948 года Манчестерской малой экспериментальной машины, Манчестерской МЭМ с ласковым прозвищем Baby («Малютка») — первого в истории компьютера, способного запускать программу из электронной памяти (RAM). Это знаменательный момент в истории, когда впервые была реализована концепция хранения программ и данных в памяти, то есть архитектура фон Неймана, которая легла в основу современной компьютерной техники.

Раньше инструкции для компьютера хранились в физическом виде: на перфокартах или перфолентах. Изменение программы было довольно сложным делом, поскольку приходилось переделывать физический носитель. Появление Baby в корне изменило ситуацию. Некоторые называют 21 июня 1948 года Днём рождения программного обеспечения в его современном виде.
Читать полностью »

Пять лет назад мне довелось проектировать одну программу, обрабатывающую текст с управляющими командами. Количество этапов обработки было весьма существенным — 6-7 обработчиков последовательно могли пропускать через себя довольно большие объёмы данных, как бывает иногда в конвейерах Unix. Чтобы аккуратно выполнить поставленную задачу я разработал общий метод, который может пригодиться и в других местах. Идея, лежащая в основе этой статьи, действительно очень напоминает конвейеры Unix, но имеется несколько существенных отличий:

  • конвейер Unix работает асинхронно, в разных процессах, в то время, как здесь требуется реализовать обработку в рамках одной программы, и распараллеливание может быть нежелательно;
  • возможна передача любых данных, не обязательно текстовых, но которые можно охарактеризовать термином «линейные».

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

  • чтение файла по байтам,
  • декодирование в UTF-8,
  • препроцессор,
  • лексический анализ,
  • синтаксический анализ.

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

Преобразователи выстраиваются в виде “конвейера”, каждый следующий получает данные от предыдущего. Преобразователь также может менять тип данных, например, у лексера буквы на входе, на выходе — лексемы.

У меня нет реализации этих алгоритмов, достойной публикации, поэтому я ограничусь общей идеей и схемой реализации. Примерные схемы даны на C++, в них используется виртуальное и множественное наследование, а также шаблоны. Читать полностью »

FanAlyzer.ru — Это бесплатный онлайн инструмент, который позволяет быстро проанализировать Вашу Facebook-страницу, оценить её качество и дает советы и рекомендации, как ее можно улучшить. Страница получает оценку – FA-Score — и сравнивается с сотней других похожих страниц в рейтинге.

Данный сайт полезен как владельцев небольших страниц Facebook, так и для брендов и SMO-специалистов.

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

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js