информационная безопасность
без паники и всерьез
 подробно о проекте
Rambler's Top100Атака на InternetЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 От повторного пришествия Шаи-Хулуда... 
 Крупный сбой Azure и других сервисов... 
 Серьезный сбой AWS положил множество... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / блог
БЛОГ
главная
архив
гаджеты
об авторе





свеженькое о цифровом видео
28.04.06 16:15 // оригинал
http://lenta.ru/news/2006/04/28/encoding/
"...компактное устройство Catapult позволит на ходу оцифровывать видеокассеты MiniDV и скопировать оцифрованное видео на любой портативный гаджет. Устройство можно будет подключить к любому HD-камкордеру с помощью порта FireWire. Catapult будет преобразовывать видеосигнал в цифровой формат одновременно с видеосъемкой, что позволит избежать последующей оцифровки."

Угу, прямо так с цифрового порта FireWire Catapult снимет видеосигнал и еще разок его оцифрует. C цифровой кассеты оно тоже здорово цифровать - двойная перегонка практически, или масло пятикратной очиски.
В оригинале, кстати, нет ни слова об оцифровке - только processing video, так что ляп целиком на совести переводчика, не понимающего разницы между аналоговыми и DV-камерами. До кучи подключение к "any standard or HD camcorder with a FireWire port" превратилось в подключение к "любому HD-камкордеру с помощью порта FireWire" - в сущности, какая разница, стандартная камера, HD, не говоря уж о том, что "with" в данном контексте означает не "с помощью", а "имеющему", что тоже несколько меняет акценты.

обсудить  |  все отзывы (0)  |  обсудить в LJ


сайт
26.04.06 17:28 // оригинал
За прошлый год багтрак отдал без малого 500 гигов и принял 67. Судя по динамике, смена дизайна неплохо повлияла на объемы - при росте посещаемости в процентов десять по сравнению с позапрошлым годом суммарный трафик даже слегка упал.
Похоже, РТКоммовские страшилки повлияли на хостера - на случай возможного роста цен за трафик теперь придется расплачиваться ежемесячно. Впрочем, с учетом того, что за последнее время нарисовался некий избыток вебмани, это не так уж критично.

обсудить  |  все отзывы (0)  |  обсудить в LJ


стрим
26.04.06 16:35 // оригинал
Убив Нео, сделали вкусное предложение по Твину. Анлим 512 за 35$ - надо подумать...

теги: стрим  |  обсудить  |  все отзывы (0)  |  обсудить в LJ


киношное
22.04.06 22:07 // оригинал
Посмотрели с ребенкой "Азирис Нуна". Ребенка в восторге, да и взрослым было чему порадоваться. Конечно, как это часто у Лукьяненко, ближе к концу ощущение, что автору все надоело, и он хочет закруглиться побыстрее, да и египетский кусок немного просел (с точки зрения реализации, пародийные вставки это вполне спасают), но у целом очень симпатично, заставляет вспомнить детские впечатления от "Полета навигатора" с "Гостьей из будущего". Так что для семейного просмотра очень рекомендую. Хотя, похоже, прочитавшие книжку до просмотра на фильм все больше плюются, ну да это нормально.

обсудить  |  все отзывы (0)  |  обсудить в LJ


википедическое
16.04.06 18:21 // оригинал
На Ежелисте бушует обсуждение Википедии. Повелся на предложение ткнуть носом в плюхи, побродил по программистским разделам.

http://ru.wikipedia.org/wiki/Абстрактный_тип_данных

Процитирую целиком, это песня:
"Абстрактный тип данных (АТД) - отвлечение от конкретного типа данных и работа с их структурой или структурой объекта, их содержащей. При этом не используются свойства данного типа. Однако не запрещается применять свойства объктов, как то: существование, порядок, существование способа сравнения и т.п."

Я примерно представляю, по какому пути шел автор, заблудившийся в трех строчках текста, но способен ли кто-то, не знакомый с понятием АТД, понять из этого текста, каким образом отвлечение от типа данных может привести к работе с их структурой (или, пуще того, "структурой объекта, их содержащей)?
В примерах тоже такой добрый тип данных "дека" приведен, ссылка на который ведет на музыкальную деку.

Дальше я вошел во вкус.

http://ru.wikipedia.org/wiki/Стек
Стек, оказывается, "даже поддерживается аппаратурой процессора". Аппаратура, архитектура, какая фиг разница...

http://ru.wikipedia.org/wiki/Язык_ассемблера
"Также в процессе линковки происходит связывание программы со статическими и динамическими библиотеками (тоже, по сути, объектными файлами)." Угу, библиотеки, по сути, являются книгами.

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

http://ru.wikipedia.org/wiki/Объектно-ориентированный_язык_программирования
Всплыла типизация как, видимо, одна из ключевых, по мнению автора, составляющих ООП (поставлена перед полиморфизмом).

http://ru.wikipedia.org/wiki/Си_плюс_плюс
"Описатель inline означает, что вызовы функций заменяются макро-расширениями." Кхм. Тепло, конечно, но...

"Прежде всего, основным способом организации информации в Си++ являются классы. В отличие от структуры, состоящей только из полей, класс (class) состоит из полей и функций-членов (member functions)." Да, мои третьекурсники тоже часто не могут правильно рассказать, в чем разница между структурой и классом в С++.

"Для создания классов с добавленной функциональностью вводят наследование. Класс-наследник имеет поля и функции-члены базового класса, но не имеет права обращаться к собственным функциям базового класса." Я сперва слегка обалдел, потом наткнулся на формулировку "Наследование бывает публичным, защищённым и собственным." Традиция перевода термина private не для нас, да.

"Класс Си++ представляет собой объект ООП." Ну, положим, лет десять назад и можно было встретить подобную путаницу в терминологии (особенно у жертв Турбо Паскаля), но с этим уже давно разобрались, и классы с объектами давно разведены по своим углам.

Ну и из серии придирок.
"Например, объект cout, используемый для вывода текста в консоль, имеет переопределённый оператор << для вывода информации." - формально говоря, этот оператор все-таки имеет не объект cout, а класс ostream.
"Защищённые и собственные поля нельзя менять по-дурацки: к ним могут обращаться только функции-члены (и ещё так называемыефункции-друзья)."
"Функции-члены (и только они) могут иметь описатель const... Такие функции не имеют права изменять поля класса. Если они пытаются это сделать, программа вылетает на стадии компиляции."
"Копи-конструктор (copy constructor) Array::Array(const Array&) вызывается при присваивании." Перевод "конструктор копирования" тоже не катит.

И вот еще абсолютно шикарный код:


class ArrayWithAdd : public Array {
ArrayWithAdd(int n) : Array(n);
ArrayWithAdd() : Array();
ArrayWithAdd(const Array& a) : Array(a);
void Add(Array a);
};

Вызов базового конструктора в описании и без остального тела, ага.


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

обсудить  |  все отзывы (0)  |  обсудить в LJ


цирковое
13.04.06 21:51 // оригинал
Похоже, на сегодняшнем "К барьеру" будет рекордная разница в голосовании.

обсудить  |  все отзывы (0)  |  обсудить в LJ


бибика
13.04.06 19:02 // оригинал
Не прошло и двух недель, как нарисовалась машина подходящей конфигурации и даже подходящего цвета. К сожалению, не L118ehbc с боковыми подушками, климат-контролем и прочими рюшками типа спойлера, а только L116ehbc, но 118-ю народ, как выяснилось, ждет с октября, так что утешусь экономией в 1100.

обсудить  |  все отзывы (0)  |  обсудить в LJ


акустическое
11.04.06 16:42 // оригинал
Я-то думал, что это машина в последнее время (читай, два месяца) стала реветь все громче - не иначе как где-то соединение глушителя ослабло, или глушитель начал прогорать. Ага, начал. Сегодня обнаружил на стоянке проржавевший кусок этак 10 на 10, подлез к глушителю, так вся его нижняя поверхность в принципе отсутствует - не иначе, зимние парковки задом в сугроб аукнулись.

обсудить  |  все отзывы (0)  |  обсудить в LJ


первоапрельное
01.04.06 17:15 // оригинал
Чем дальше, тем больше раздражают все эти вымученные попытки родить остроумные фейковые новости. Юмор по расписанию, как и многократно повторенная пусть даже хорошая шутка - отвратительное зрелище.

обсудить  |  все отзывы (0)  |  обсудить в LJ


stlное
29.03.06 22:54 // оригинал
Жутко раздражает, что в stl нет встроенного варианта очистки контейнеров с принудительным вызовом delete для каждого элемента, из-за чего вечно приходится придумывать какие-то подпорки (да, я в курсе про boost::shared_ptr, который можно использовать в контейнерах, но пока не заставил себя на него перейти).
Первый вариант моих функций ClearList и ClearMap использовал честный проход итератором по циклу, что несколько раздражало, второй был сделан через for_each и пару классов-функционалов (привет примеру из Мейерсовского Effective STL), что все равно оставляло некую неудовлетворенность громоздкостью и наличием двух классов с чуть разным интерфейсом, нужных только для удаления поступающего на вход объекта.



struct DoDelete
{
template<typename T> void operator()(const T* p) const
{
delete p;
}
};

struct DoDeleteMap
{
template<typename T1, typename T2> void operator()(const pair<T1,T2>& p) const
{
delete p.second;
}
};

template <class List> void ClearList(List& lst)
{
for_each(lst.begin(), lst.end(), DoDelete());
lst.clear();
}

template <class Map> void ClearMap(Map& map)
{
for_each(map.begin(), map.end(), DoDeleteMap());
map.clear();
}




Ну а поскольку в последнее время все чаще использую boost::bind, последний вариант сделал через нее, с чувством глубокого удовлетворения выкинув дублирование функционалов. Но, честно говоря, хоть я и охотно допускаю, что существуют люди, способные спокойно сходу писать/читать подобный код, для меня это уже совсем другой язык, мощность которого я вполне осознаю, но использование которого дается с баальшим скрипом (а это ведь еще самые верхи, без использования boost::function, boost::lambda или, упаси господь, boost::mpl).



template<class T> void DoDelete(const T& p)
{
delete p;
}

template <class List> void ClearList(List& lst)
{
for_each(lst.begin(), lst.end(), boost::bind(&::DoDelete<List::value_type>, _1));
lst.clear();
}

template <class Map> void ClearMap(Map& map)
{
for_each(map.begin(), map.end(), boost::bind(&::DoDelete<Map::mapped_type>, boost::bind(&Map::value_type::second, _1)));
map.clear();
}

обсудить  |  все отзывы (0)  |  обсудить в LJ




««    «   141  |  142  |  143  |  144  |  145  |  146  |  147  |  148  |  149  |  150 >>  »    »»



авто венгрия вырвиглаз германия глюки греция гуглемап драйверы египет железки журнализм империя добра испания италия кино кипр клоуны книги криворучки оспорт португалия программизм сайт софт стрим студень турция уродцы фото франция цацки чехия читалки android bq e51 eeepc from facebook hd2 hpc htc ipad iphone onlime vista windows 10 windows 7 windows 8 yota



Rambler's Top100
Рейтинг@Mail.ru



  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach