Все знают, что такое YouTube и нередко многие хотели бы что-то скачать с YouTube чтобы, например, скинуть на iPod/мобильник/куда-угодно. Для этих случаев можно воспользоваться специальными сайтами-сервисами, такими как videosaver. Однако, это не всегда удобно, так как надо открывать новую вкладку (а физического места порой не так много), копировать URL ролика или, не дай Бог, только какую-либо его часть, да и найти такой сайт может оказаться не настолько тривиальной задачей. Поэтому, я хотел бы написать сегодня про другой способ: закладурки.
Закладурка (закладка-процедурка) — небольшая JavaScript-программа, оформленная в виде javascript-URL и сохраняемая как браузерная закладка. Часто встречается название — букмарклет от англ. bookmarklet: bookmark — «закладка» и applet. Иногда (совсем редко) также называются «favelets» — от названия закладок в браузере «Internet Explorer» («Favorites»).

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

В простейшем случае можно сказать, что интерполяция — это частный случай апроксимации. Поэтому, прежде всего стоит выяснить, что же всё-таки такое апроксимация?
Апроксимация — операция нахождения неизвестных числовых значений какой-либо величины по известным её значениям и, возможно, числовых значений других величин, связанных с ней.
В эпоху web 2.0 стало модно вносить в сайты полезную интерактивность. Так, например, появился сервис озвучивания русскоязычного контента, который я и решил описать в этой заметке. На самом деле, идея не новая но очень и очень интересная, так как раньше большинство озвучивающих API были спроектированы для англоязычного текста. Тем не менее, сервис «uBot» от Odiogo по заверению авторов работает с учётом специфики русского языка.

Для того, чтобы принять участие в проекте и начать озвучивать свой контент надо всего лишь структурировать его и заключить в формат RSS. Все популярные ныне системы управления сайтами уже имеют всё, что может потребоваться для организации такой структуризации. А для WordPress, например, можно даже сразу после регистрации в сервисе установить специальный плагин, который добавит к каждой записи вашего блога специальную кнопочку удобного прослушивания озвученного контента. Самое интересное, что участие в проекте не требует финансовых вложений! Последнее правда истинно лишь для блогеров, «официальный подтверждаемый годовой доход которых от использования своего блога не превышает 1000 Евро»[1], но не думаю, что таковых это сильно расстроит =)
Массивы существуют в любом современном языке программирования. Массив — это упорядоченная совокупность элементов одного типа, а значит и размера, объединённая одним общим именем. Каждый такой элемент снаружи массива представлен порядковым числом, называемым индексом и доступ к нему осуществляется именно при помощи этого индекса.

Чтобы досконально понять, что такое массив, достаточно провести аналогию со строем солдат. Командующий указывает: «по порядку расcчитайсь!», происходит расчёт и у каждого солдата появляется свой номер (читай, «индекс»), по которому командир может к нему обратится.
Пример: arr[-1] — неверно, arr[10.1] — тоже неверно, arr[11] — верно.
Индексы должны быть представлены целым беззнаковым числом. Любой массив в Си начинается с нулевого элемента.
Внимание! Если мы резервируем память для 12-ти элементов массива, то индекс последнего — 11! Наиболее часто встречающаяся ошибка в программах новичков по моему мнению.
В Си есть жёсткое требование к организации массива: все элементы должны располагаться в памяти по порядку друг возле друга, а имя массива указывает на начало блока памяти, где эти элементы расположены. Любое обращение к элементам массива компилятор в итоге преобразовывает в указатель, т.е. x[i] будет растолковано им как указатель на область x плюс i шагов нужного размера.
Пример: arr[0] == *arr, arr[11] == *(arr + 11 * sizeof(arr)).
Однако, прежде чем начать использовать массив, следует выделить под него нужный объём памяти.