У ATI/AMD всегда были слабые драйвера OpenGL. Кстати, писать под OpenGL мне кажется проще, чем dirextX - тот же API 3Dfx (в свое время очень популярный – т.к. простой) во многом от GL взял основу.
У виднов преимущество в графике - ровно из-за того, что графика встроена в ядро системы, а у юникса - нет. Посему графика в винде полюбому быстрее будет - может не на много (после оптимизации) но все же. Для игр, конечно, пока лучше Win. Ну или Xbox и PlayStation.
Я не против Майкрософта вообще - и из их стен выходили толковые вещи. Например, .NET мне показалась повеселее, чем Java (ИМХО). Локализация продуктов, единообразный интерфейс... Но меня очень беспокоит история с Поносовым (помните, учителя средней школы судили)? Казалось бы - школьники ознакомились с Виндой - для MS - благо... Ан нет!
Поэтому, хороший, простой дистрибутив, который можно поставить для детей в школе - это отличное благо. Ведь большинство вещей для обучения в любом юниксе/линуксе есть - интернет, почта, офисные программы, программирование (С, С++, Perl, Python, etc...). А потом поколение подрастает и по чуть-чуть движется вперед. И программы под *NIX будут писаться, и спрос на них возрастет - уже есть 1С под Юникс. Лед тронулся, господа присяжные заседатели :)
И раньше Линукс я и мои коллеги ставили в качестве эксперимента - а ныне часть людей живут и работают под Маком, Ubuntu, FreeBSD. Вообще, выбор - это хорошо!
Информация, конечно, спорная. Но то что Гугл и другие поисковики пытаются бороться с активным SEO - это факт. Самого раздражает, когда при поиске натыкаешься на откровенный seo-траффик, когда на сайтах снизу стоит блок из чужих ссылок, никак не относящихся к сайту. Но, "дыма без огня не бывает" - может что-то и изменят в системе ранжирования.
... быку, собственно, не положено! Безусловно. При должном упорстве сломать и испортить можно все. Но когда есть возможность дать готовые шаблоны, которые помогут "не навредить".
Проблема у клиентов одна - у него нет человека с чувством вкуса. Ну не может серетарь писать нормальные тексты и обрабатывать картинки - если бы могла - уж давно бы работала на другом месте.
Я к тому, что лучше сайт поддерживать. Уж клиенту выгоднее платить студии 6000р. в месяц за 2 новости и 3 позиции в каталоге, чем нанимать отдельного человека. И сайт хороший, и у студии есть постоянные деньги - всем хорошо.
Просто при переносе из ворда очень много лишних стилей переносится именно чере SPAN. И когда их на 1 предложение до 12 штук разной степени вложенности - очень сложно автоматом вычистить то, что нужно. А так можно и SPAN оставить - я против него лично ничего не имею :). Но мне в 99% этот тег не нужен.
Да, конечно захотят. Но это задача дизайнера сразу предусмотреть несколько информационных блоков. Кликаешь на кнопку - сразу вставляется нужный код, что-то вроде div class=r4_attention Здесь важное сообщение /div и в классе прописаны и размер шрифта, и его цвет и т.д. То что у пользователя нет возможности сделать какие-то вещи - это значит не понял исполнитель заказчика. А таких блоком модет быть много:
1. 2 колонки
2. небуллетированные списки
3. специальное форматирование (фото+имя+e-mail) для списка сотрудников
Мне кажется, что лучше удалаять ненужные теги прямо в редакторе - тогда сразу видно, как меняется текст. Я сделал просто - высякие теги типа FONT и SPAN вырезаю. А чтобы можно было оставлять форматирование - разрешаю классы внутри разрешенных тегов. Как отличить разрешенный класс от ненужного? Все свои классы для сайта начинаю с префикса, например, r4_div - и проверяю - можно ли этот класс оставить.
Может, кому и пригодится. Вот некоторые куски кода:
var allowTags=Array('P','B','I','UL','LI','OL','DIV','H1','H2','H3','TABLE','TBODY','TR','TD','A','CENTER','INPUT','TEXTAREA','FORM','IMG','OBJECT','EMBED','PARAM');
var clearTags=Array('SPAN','O:P','FONT','COL','COLGROUP','U','O','font','small');
var allowClaPrefix='r4_';
function ieClearStyles(coll,count)
{
if(count>860)
return;
var coll=coll.children;
if (coll!=null)
{
for (var i=0; i coll.length; i++)
{
//alert("Tag: "+coll[i].tagName+", Count: "+count);
var claName=coll[i].className;
if(allowClaPrefix==claName.substring(0,3))
{
coll[i].style.cssText="";
}
else if(coll[i].tagName=='OBJECT' || coll[i].tagName=='EMBED' || coll[i].tagName=='PARAM')
{
// do nothing width video
}
var rows=coll[i].getAttribute('rowspan');
var cols=coll[i].getAttribute('colspan');
coll[i].clearAttributes();
coll[i].setAttribute('colspan',cols);
coll[i].setAttribute('rowspan',rows);
Хорошая статья. Еще можно добавить постоянные расходы: телефон, интернет, амортизацию оборудования (компьютер, факс). Расходы на бухгалтерскую поддержку. Хотя бы грубо прикинуть, сколько в месяц тратится денег на это. Ну и потом соотнести со временем исполнения заказа.
Полностью с Вами согласен насчет поддержки единых форматов. Могу лишь преложить использовать готовые наработки - css-framework-и. Например, http://css-framework.ru/. Толку что кричать: "Давайте заставим пользователей ставить другие браузеры?" Ведь похожая ситуация была и с JavaScript - однако, появились Prototype, jQuery - все для облегчения жизни разработчиков.
Забавно, что сама профессия "html-кодер" появилась ровно из-за того, что процесс верстки сложный. Был бы он простой - половина собравшихся стояла бы с табличками "кодирую HTML за еду", ну , или, работали бы в другой области.
А перекосы - они всегда случаются. Я вот не могу статью запостить на хабр - просто потому, что позднее остальных присоединился и кармы нет. Тоже можно кричать о дискриминации.
Хорошая лирика. И правда жизни, и опыт работы. Всегда искал ответы на вопросы по управлению проектами. Много книг прочитал. Много методик пробывал. Но правильно сказал Ашманов "Вы управляете не проектами, но людьми"... ну или как то так.
У виднов преимущество в графике - ровно из-за того, что графика встроена в ядро системы, а у юникса - нет. Посему графика в винде полюбому быстрее будет - может не на много (после оптимизации) но все же. Для игр, конечно, пока лучше Win. Ну или Xbox и PlayStation.
Поэтому, хороший, простой дистрибутив, который можно поставить для детей в школе - это отличное благо. Ведь большинство вещей для обучения в любом юниксе/линуксе есть - интернет, почта, офисные программы, программирование (С, С++, Perl, Python, etc...). А потом поколение подрастает и по чуть-чуть движется вперед. И программы под *NIX будут писаться, и спрос на них возрастет - уже есть 1С под Юникс. Лед тронулся, господа присяжные заседатели :)
И раньше Линукс я и мои коллеги ставили в качестве эксперимента - а ныне часть людей живут и работают под Маком, Ubuntu, FreeBSD. Вообще, выбор - это хорошо!
Проблема у клиентов одна - у него нет человека с чувством вкуса. Ну не может серетарь писать нормальные тексты и обрабатывать картинки - если бы могла - уж давно бы работала на другом месте.
Я к тому, что лучше сайт поддерживать. Уж клиенту выгоднее платить студии 6000р. в месяц за 2 новости и 3 позиции в каталоге, чем нанимать отдельного человека. И сайт хороший, и у студии есть постоянные деньги - всем хорошо.
1. 2 колонки
2. небуллетированные списки
3. специальное форматирование (фото+имя+e-mail) для списка сотрудников
Вобщем, надо придусматривать изначально действия.
Может, кому и пригодится. Вот некоторые куски кода:
var allowTags=Array('P','B','I','UL','LI','OL','DIV','H1','H2','H3','TABLE','TBODY','TR','TD','A','CENTER','INPUT','TEXTAREA','FORM','IMG','OBJECT','EMBED','PARAM');
var clearTags=Array('SPAN','O:P','FONT','COL','COLGROUP','U','O','font','small');
var allowClaPrefix='r4_';
function ieClearStyles(coll,count)
{
if(count>860)
return;
var coll=coll.children;
if (coll!=null)
{
for (var i=0; i coll.length; i++)
{
//alert("Tag: "+coll[i].tagName+", Count: "+count);
var claName=coll[i].className;
if(allowClaPrefix==claName.substring(0,3))
{
coll[i].style.cssText="";
}
else if(coll[i].tagName=='OBJECT' || coll[i].tagName=='EMBED' || coll[i].tagName=='PARAM')
{
// do nothing width video
}
else
{
if(coll[i].tagName=='A')
{
coll[i].style.cssText="";
coll[i].className='';
}
else if(coll[i].tagName=='TD' || coll[i].tagName=='TH')
{
coll[i].style.cssText="";
if(coll[i].className && allowClaPrefix!=claName.substring(0,3))
coll[i].className="";
else
var cla=coll[i].className;
var rows=coll[i].getAttribute('rowspan');
var cols=coll[i].getAttribute('colspan');
coll[i].clearAttributes();
coll[i].setAttribute('colspan',cols);
coll[i].setAttribute('rowspan',rows);
}
else if(coll[i].tagName=='IMG')
{
coll[i].style.cssText="";
coll[i].className='';
}
else
{
coll[i].clearAttributes();
coll[i].style.cssText="";
}
if(coll[i].tagName=='TABLE')
coll[i].className=allowClaPrefix+"tab_1";
}
ieClearStyles(coll[i],count+1);
}
}
}
А перекосы - они всегда случаются. Я вот не могу статью запостить на хабр - просто потому, что позднее остальных присоединился и кармы нет. Тоже можно кричать о дискриминации.