вторник, 5 октября 2010 г.

[Перевод] HTML5 Video — от А до Я

Да, да, это очередная статья про html5 и тэг < video >. Но главным ее отличием будет то, что здесь будут рассмотрены самые базовые понятия и теории. Так что приготовились внимательно читать и записывать, let html5 rocks!

PHP class для Goo.gl

image
И опять немного о Goo.gl. Листая хабр видел предложения на JS, но лично мне они не подходили. Сегодня случайно наткнутся на симпатичное для меня решения, коим и делюсь с общественностью…

Доля Google Chrome составила 7,98%

image

Да, это очередное солидное достижение для браузера компании Google. Вроде бы не так давно некоторые поклонники этого браузера радовались тому, что он смог заполучить 1% от общего рынка браузеров, а теперь мы видим, как Chrome занял 7,98% от общего рынка браузеров. В то же время, у противников браузера компании Microsoft тоже есть повод радоваться — IE принадлежит всего 60% (а ведь совсем недавно этот показатель составлял 78% и более). В принципе, все логично, пользователи уходят с Inernet Explorer на более удобные, как кажется многим, и безопасные браузеры. В основном, отток идет на Google Chrome и Mozilla Firefox.

понедельник, 4 октября 2010 г.

cut и grep или awk?

Часто в скриптах можно встретить что-то вроде foobar|awk '{print $1}' («часто» — это действительно часто).

Такой вызов awk всего лишь вывходит первую (n-ную) колонку из вывода предыдущей команды. Но это явный оверкилл! awk — довольно мощный язык потоковой обработки данных, и применение его как простого field-separator не есть хорошо.

Для вырезания из строки указанного поля лучше использовать команду cut. Она умеет меньше, а потому проще в использовании и быстрее.

В современном линуксе обработка вызова awk куда более сложна, чем вызов cut. В дебиане, например, awk — линк на /etc/alternatives/awk, который ведёт (чаще всего) на gawk. Который почти в 10 раз больше по размеру, чем cut. Разумееся, cut загружаеся быстрее.

cut умеет вырезать не только байты, но и нужные поля (опция -f). Поле — это текст между разделителями. По-умолчанию разделитель пробел/табуляция, но он легко меняется опцией -d.

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

Например,
grep -v "#" /etc/inittab |cut -f 4 -d : -s
выведет список программ, запускающихся init'ом (четвёртое поле, поля разделяются двоеточием).

Или
grep http://\\S\\+ -o /var/log/apache2/error.log
выдаст список URL'ов из файла с ошибками (первый урл в строке).

… и никакого awk.

UPD: В комментариях подсказывают ещё более интересную конструкцию без запуска внешнего файла (команда read реализуеся средствами bash'а):
foobar | (read p1 p2; echo p1)

P.S. Речь не о единичном вызове (тут нет разницы awk, grep или даже python/perl). Речь о множестве вызовов в цикле в скрипте. Все примеры сравнивайте в цикле с сотнями (лучше тысячами) вызовов.


Источник: Хабрахабр - Linux для всех
Оригинальная страница: cut и grep или awk?

[Ссылка] Из чего состоит исполняемый файл Chrome?

Наглядно показано, что именно содержится в бинарнике Chrome и какой объём бинарника занимает тот или иной компонент.

Ссылка: http://habrahabr.ru/linker/go/104659/


Источник: Хабрахабр - Google Chrome
Оригинальная страница: [Ссылка] Из чего состоит исполняемый файл Chrome?

Карта мира как генератор надёжных паролей

Американский учёный из компании AT&T Research Билл Чесвик (Bill Cheswick) на недавно прошедшей Cyber Security Conference предложил интересный метод генерации длинного и сложного пароля, который при этом почти невозможно забыть.

Он предлагает выбрать какое-нибудь место в мире и взять его координаты с Google Maps. Поскольку сервис обеспечивает 10-значную точность по долготе и широте, то вы получаете отличный 20-значный пароль. Желательно выбирать место, где вы никогда не были, чтобы добавить дополнительную степень защиты.

20 символов [0-9] обеспечивают количество вариантов 1020, что примерно равно 2*6211, то есть даже лучше пароля длиной 11 символов из 62-символьного набора [a-z A-Z 0-9].

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


Источник: Хабрахабр - Информационная безопасность
Оригинальная страница: Карта мира как генератор надёжных паролей

Онлайн игра: howto, или как я проспорил девушке программисту

Не мало было историй о том, как небольшие группы разработчиков добивались успеха. И ещё больше о том, как эти разработки проваливались. Но здесь я хочу рассказать именно об эволюции процесса разработки онлайн игры, опираясь на свой опыт. Оговорюсь заранее: это первый мой опыт разработки массовой онлайн игры.
Всё началось весьма интригующе. Я имел неаккуратность поспорить со знакомой web-программисткой о том, кто быстрее и качественнее из нас сделает web-проект. Чтобы не сильно распыляться и не тратить много времени, решили, что нам будет дана всего одна неделя, а разрабатывать мы будем многопользовательскую игру!

По истечению этого срока проекты были сданы «оценочной комиссии», которой являлись наши общие друзья. И… Мой проект не выиграл. А самым обидным на тот момент казалось то, что, по условиям спора, я должен был выделить ещё одну неделю рабочего времени, чтобы помочь своей оппонентке в развитии её игры. Но спор есть спор!

Canvas-трансформации доступным языком

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

Evercookie — самые устойчивые куки

Samy Mamkar разработал систему, которая позволяет хранить куки в 8 местах, автоматически восстанавливая друг друга, и даже добиться того, чтобы куки, поставленное в одном браузере, действовало и в другом.

Удалить это куки практически невозможно! (Все возможно, конечно, но слишком много мороки)

Куки хранятся в:
  • HTTP Cookies;
  • Local Shared Objects (Flash);
  • Сохранение куки в значениях RGB автосгенерированных и форсированно кэшированных PNG с использованием HTML5 canvas;
  • Сохранение куки в Web History;
  • HTML5 Session Storage;
  • HTML5 Local Storage;
  • HTML5 Global Storage;
  • HTML5 Database Storage через SQLite.

При удалении из одного из этих мест кука автоматически восстанавливается из оставшихся. Работает даже если пользователь сменит браузер (через Local Shared Objects из Flash).

Описание (на английском) и демо: http://samy.pl/evercookie/.
Попробуйте удалить куки, почистить систему и зайти назад.



Как пользоваться?

[Ссылка] В Украине плательщикам единого налога хотят запретит торговать в Интернете

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

Ссылка: http://habrahabr.ru/linker/go/104750/


Источник: Хабрахабр - Электронная коммерция
Оригинальная страница: [Ссылка] В Украине плательщикам единого налога хотят запретит торговать в Интернете