gentoo.ru
Официальная конференция Direct Connect клиента EiskaltDC++
eiskaltdc@conference.gentoo.ru
Суббота, 17 декабря 2011< ^ >
dhamp установил(а) тему: Last stable release: 2.2.4 || Конференция разработчиков EiskaltDC++
Логи: http://gentoo.ru/jabber/logs/eiskaltdc@conference.gentoo.ru/2011/
Активность в багтрекере: http://code.google.com/p/eiskaltdc/updates/list
Активность разработки: http://github.com/negativ/eiskaltdcpp/network
Release schedule:
* 2011-12-18 Release EiskaltDC++ 2.2.5
* 2012-02-05 Release EiskaltDC++ 2.2.6
Release Critical:
* Problem with ADC hubs in EiskaltDC++ Qt
Recheck issue:
* 812
* 934
* 923
* 1063
* 1123
TODO:
* IPv6 in DC++ Core
ADC notes:
https://adc.svn.sourceforge.net/svnroot/adc/trunk/ADC.txt
https://adc.svn.sourceforge.net/svnroot/adc/trunk/ADC-EXT.txt
http://www.adcportal.com/wiki/ADC_Proposals_list
Git notes:
http://habrahabr.ru/blogs/development/68341/
http://dl.dropbox.com/u/281916/delete/book.pdf
JSON:
http://ru.wikipedia.org/wiki/JSON
http://en.wikipedia.org/wiki/JSON
http://en.wikipedia.org/wiki/JSON-RPC
Как правильно задавать вопросы:
http://parallel.ru/cluster/smart-questions-ru.html
How To Ask Questions The Smart Way
http://catb.org/%7Eesr/faqs/smart-questions.html
Конфигурация комнаты
Участники комнаты

GMT+4
[02:17:29] Diger вышел(а) из комнаты
[02:27:30] amfetamin вошёл(а) в комнату
[02:42:38] Nikoli вышел(а) из комнаты
[02:50:55] tehnick вышел(а) из комнаты
[03:26:22] amfetamin вышел(а) из комнаты
[05:13:36] Kroll вышел(а) из комнаты
[05:19:45] Nikoli вошёл(а) в комнату
[05:23:28] Alexey вышел(а) из комнаты
[09:00:28] FiliN вошёл(а) в комнату
[09:15:37] Kroll вошёл(а) в комнату
[10:40:36] gray_graff вошёл(а) в комнату
[11:24:47] gray_graff вышел(а) из комнаты
[11:28:42] gray_graff вошёл(а) в комнату
[11:32:05] dhamp вышел(а) из комнаты
[12:01:07] Kroll вышел(а) из комнаты
[12:02:28] Kroll вошёл(а) в комнату
[12:02:36] dein.negativ вошёл(а) в комнату
[12:17:55] Клёк вошёл(а) в комнату
[12:28:02] gelraen вышел(а) из комнаты
[12:39:29] gelraen вошёл(а) в комнату
[12:44:28] Kroll вышел(а) из комнаты
[12:45:17] Kroll вошёл(а) в комнату
[12:58:43] Клёк вышел(а) из комнаты
[13:00:42] Клёк вошёл(а) в комнату
[13:12:10] tehnick вошёл(а) в комнату
[13:13:40] <tehnick> dhamp: раз пошла такая пьянка, можно и из ядра костыли для поддержки старых версий gcc выпилить, если они есть.
[13:16:36] <tehnick> И патчи для старых версий Gtk можно выбросить.
[13:16:55] <tehnick> Т.к. убунты ниже natty не поддерживается больше.
[13:16:59] <tehnick> *убунту
[13:17:57] <tehnick> Плюс я смогу отдельный пакет eiskaltdcpp-gtk3 запилить наконец.
[13:24:21] <tehnick> Nikoli: зачем тебе нужен был RC?
[14:03:49] Diger вошёл(а) в комнату
[14:04:31] <dein.negativ> tehnick: раньше сортировка вообще была в том режиме просмотра шары?
[14:04:47] <dein.negativ> а то у меня ощущение что это не баг, а недостающие фичи
[14:04:49] <dein.negativ> =)
[14:11:24] <dein.negativ> хотя не, тут видимо какая-то поломка
[14:16:51] amfetamin вошёл(а) в комнату
[14:25:07] <tehnick> dein.negativ: я не помню уже.
1) Всегда простой режим использовал сам и другим советовал.
2) Настроил один раз и забыл.
[14:50:13] dhamp вошёл(а) в комнату
[14:52:00] <dhamp> [13:13:40] <tehnick> dhamp: раз пошла такая пьянка, можно и из ядра костыли для поддержки старых версий gcc выпилить, если они есть.
угу и поиметь геморой с не возможность собрать прогу на некоторых платформах, тебе оно надо ?
[14:54:48] <dhamp> [13:17:57] <tehnick> Плюс я смогу отдельный пакет eiskaltdcpp-gtk3 запилить наконец.
запили если надо, хотя там неимоверный срач в консоль идёт
[15:15:53] Клёк вышел(а) из комнаты
[15:18:26] Клёк вошёл(а) в комнату
[15:30:01] Клёк вышел(а) из комнаты
[15:30:48] Клёк вошёл(а) в комнату
[15:36:10] Kroll вышел(а) из комнаты
[15:47:34] Клёк вышел(а) из комнаты
[16:27:23] <tehnick> dhamp: хм, мне это конечно не надо. Но на каких платформах, например?
[16:28:11] <tehnick> dhamp: у меня в консоль никаких предупреждений не сыпалось, когда я в последний раз смотрел сборку с gtk3
[16:28:34] <tehnick> Вот только внешний вид ни с одной темой меня не устроил.
[16:28:57] <tehnick> Какие-то больные гигантоманией их клепали...
[16:49:20] Клёк вошёл(а) в комнату
[16:50:55] <dein.negativ> блин, git bisect применить теперь не получится...
[16:51:16] <dein.negativ> у меня же теперь boost 1.48
[17:02:01] <tehnick> dein.negativ: а что у тебя сломалось?
[17:03:19] <dein.negativ> tehnick: атомарные операции
[17:03:42] <dein.negativ> в 1.48 пути изменили к хедерам
[17:04:03] <tehnick> Ну и?
[17:04:16] <tehnick> Ты можешь собирать с локальной копией буста.
[17:04:44] <tehnick> Не забыл еще, что у нас такая опция есть?
[17:05:58] <dein.negativ> такой вариант не пробовал
[17:06:15] <Nikoli> tehnick: чтобы сопровождающие пакетов проверили
[17:07:31] <dein.negativ> блин, надо ядро выкинуть в отдельный git реп и юзать git modules
[17:07:39] <tehnick> Nikoli: например под генту? Просто я-то непрерывно тестирую пакеты...
[17:07:57] <tehnick> Nikoli: какой срок тебе нужен между бетой и релизом?
[17:08:19] <tehnick> dein.negativ: не надо. Субмодули --- не панацея.
[17:08:37] <tehnick> Я с ними плотно сейчас работаю. Есть и недостатки.
[17:09:03] <tehnick> Разработчикам конечно удобно.
[17:09:15] <tehnick> Но о тегах на гитхабе можно забыть тогда.
[17:09:17] <dein.negativ> tehnick: сам посуди, можно так все 3dparty компоненты из своего репа выкинуть
[17:09:32] <tehnick> Ибо код из субмодулей в тарбол не попадает.
[17:09:56] <tehnick> dein.negativ: и получится говно как в psi+
[17:10:04] <tehnick> Я пакет с ним обновить уже кучу времени не могу.
[17:10:11] <tehnick> Из-за их идиотизма.
[17:10:22] <tehnick> Не желают нормально работать с git
[17:10:23] <dein.negativ> ладно пофиг
[17:10:38] <dein.negativ> мне вот интересно почему просмотр шары накрылся
[17:10:41] <tehnick> И даже компромисные решения игнорируют начисто.
[17:11:01] <tehnick> У меня работает.
[17:11:07] <tehnick> Медленно правда.
[17:11:28] <tehnick> До выделения в отдельный поток открывалось быстрее.
[17:11:51] <dein.negativ> я не про это, а про древовидный решим
[17:12:13] <dein.negativ> *режим
[17:12:16] <tehnick> Кстати, при подключении к большому количеству хабов гуй фризится на время.
[17:12:33] <tehnick> А, ты про настройку шары...
[17:13:02] <tehnick> Кстати, большая загрука процессора у меня может быть связана с узким каналом.
[17:13:06] <dein.negativ> ну хабы в синхронном режиме работают, их инициализацию не отложить
[17:13:43] <tehnick> На пятимегобином недавно пробовал, проц в раза в 2-3 меньше нагружался.
[17:13:54] <tehnick> Чудеса, блин.
[17:14:09] <tehnick> Это при загрузке файлов, когда окно свернуто в трей.
[17:14:45] <dein.negativ> я с инета ничего не качаю, у меня dc++ только для локалки
[17:15:27] <dein.negativ> а тут вся производительность упирается в мой дешевый маршрутизатор который более 4 метров в сек выдать не может)
[17:16:37] <tehnick> Хы. Тебе мои килобиты в сек в страшном сне только могут приснится... =)
[17:17:13] <dein.negativ> ну в хабаре я на 50 кбайт/сек молился =)
[17:17:22] <dein.negativ> этим летом
[17:17:36] <dein.negativ> попытка заюзать git была обречена
[17:17:50] <dein.negativ> качалось на скорости 10-15 кбайт/сек
[17:18:08] <tehnick> Ничего, вот доживу до января и протяну сеть, я надеюсь.
[17:18:27] <tehnick> Тут всего метров 200-300 до ближайшей точки оказывается.
[17:19:05] <tehnick> Так.
[17:19:13] <tehnick> Сегодня надо покодить.
[17:19:23] <tehnick> Релиз на носу!
[17:19:55] <tehnick> dein.negativ: ты обещал потестить утечки и использование процессора.
[17:21:04] <tehnick> Тут вчера кстати новый багрепорт добавили об отжирании памяти при загрузке файлов в макоси.
[17:21:45] <tehnick> ONYX: как там cli-интерфейс поживает? json в этом релизе мы увидим?
[17:22:06] <dein.negativ> tehnick: там ничего нового
[17:22:37] <tehnick> Клёк: не вижу твоих коммитов с переводом. Так и не начал осваивать новый сервис?..
[17:23:21] <tehnick> dein.negativ: у меня тоже жрет много при загрузке. Попробуй включить принудительное ограничение скорости у себя.
[17:25:30] <dein.negativ> ну так отключи его и проверь нагрузку)
[17:27:15] <tehnick> dein.negativ: я его не включаю. У меня и так канал узкий... =)
[17:27:39] <dein.negativ> >_<
[17:27:43] <tehnick> Я про то, как у тебя можно было бы воспроизвести...
[17:29:44] Diger вышел(а) из комнаты
[17:31:17] <dhamp> tehnick: если у тебя не сыпятся варнинги я рад, но у меня они есть
[17:31:44] <ONYX> tehnick: в процессе, щас приду все сделаю
[17:32:00] <tehnick> dhamp: больше тестеров будет
[17:32:10] <dhamp> [16:27:22] <tehnick> dhamp: хм, мне это конечно не надо. Но на каких платформах, например?
например на гайке
[17:34:47] <dhamp> tehnick: угу тестеров с какашками :}
[17:45:39] <dein.negativ> tehnick: думаю несмотря на существующие баги бету или RC выпустить стоит
[17:46:08] <dein.negativ> что-то мне говорит что багов много, смысла откладывать самое приятное нету =)
[17:46:22] <tehnick> dein.negativ: конечно
[17:46:35] <tehnick> Я бы и релизнул уже.
[17:47:03] <tehnick> Сколько можно откладывать?.. Уже столько всего перелопатили с прошлого релиза.
[17:47:53] <dein.negativ> дедфуд заразил нас идеализмом =)
[17:48:41] <tehnick> Это не так называется.
[17:50:40] <Клёк> tehnick: Я случайно push-нул переводы fr.ts и bg.ts в transifex. %-%
И неслучайно — be.ts. ;)
[17:51:04] <tehnick> dein.negativ: перфекционизм
[17:51:07] <dein.negativ> Клёк: реверт?
[17:51:20] <tehnick> dein.negativ: и да, дедфуд успешно преодолевает эту проблему
[17:51:29] <dein.negativ> tehnick: да-да-да, так он это и называет
[17:52:03] <tehnick> Клёк: хорошо, я поправлю
[17:52:29] <dein.negativ> что-то вызов malloc_trim перестал срабатывать
[17:55:12] <tehnick> Клёк: если ты делал с помощью консольной утилиты, то там есть короткая и простая опция, для указания языка.
[17:55:43] <tehnick> Клёк: можно загружать с сервера только свои файлы перевода и отправлять туда тоже только свои...
[17:56:35] <tehnick> Клёк: и да, утилита умная, см. git status:
#       modified:   dcpp/po/be.po
#       modified:   eiskaltdcpp-gtk/po/be.po
#       modified:   eiskaltdcpp-qt/translations/be.ts
[17:56:53] <tehnick> Клёк: т.е. только твои файлы изменились и ничего править не нужно.
[18:02:27] <tehnick> Клёк: так что все нормально и спасибо за перевод. Вижу, что теперь 100%.
[18:08:34] <tehnick> Предлагаю так:
* 2011-12-18 EiskaltDC++ 2.2.5 Beta 1
* 2011-12-24 Release EiskaltDC++ 2.2.5
[18:08:54] Alexey вошёл(а) в комнату
[18:09:09] <tehnick> Но это последний перенос. Позже я не смогу, т.к. уеду в Питер на НГ без компа.
[18:09:38] tehnick установил(а) тему: Last stable release: 2.2.4 || Конференция разработчиков EiskaltDC++
Логи: http://gentoo.ru/jabber/logs/eiskaltdc@conference.gentoo.ru/2011/
Активность в багтрекере: http://code.google.com/p/eiskaltdc/updates/list
Активность разработки: http://github.com/negativ/eiskaltdcpp/network
Release schedule:
* 2011-12-18 EiskaltDC++ 2.2.5 Beta 1
* 2011-12-24 Release EiskaltDC++ 2.2.5
Release Critical:
* Problem with ADC hubs in EiskaltDC++ Qt
Recheck issue:
* 812
* 934
* 923
* 1063
* 1123
TODO:
* IPv6 in DC++ Core
ADC notes:
https://adc.svn.sourceforge.net/svnroot/adc/trunk/ADC.txt
https://adc.svn.sourceforge.net/svnroot/adc/trunk/ADC-EXT.txt
http://www.adcportal.com/wiki/ADC_Proposals_list
Git notes:
http://habrahabr.ru/blogs/development/68341/
http://dl.dropbox.com/u/281916/delete/book.pdf
JSON:
http://ru.wikipedia.org/wiki/JSON
http://en.wikipedia.org/wiki/JSON
http://en.wikipedia.org/wiki/JSON-RPC
Как правильно задавать вопросы:
http://parallel.ru/cluster/smart-questions-ru.html
How To Ask Questions The Smart Way
http://catb.org/%7Eesr/faqs/smart-questions.html

[18:19:12] <tehnick> Кто-нибудь может по коду пройтись статическим анализатором?
[18:19:18] <tehnick> cppcheck -q -s -v -f -j1 . 2> ../cppcheck.log
[18:19:41] <tehnick> Нужен процессор современный и памяти побольше.
[18:21:45] <dein.negativ> tehnick: я недано по qt морде прошелся с --enable=all
[18:21:53] <dein.negativ> в ядро пока не лазил
[18:22:23] <tehnick> dein.negativ: и то хорошо
[18:22:36] <tehnick> Наверное да, лучше по частям.
[18:22:56] <tehnick> А то у себя я не дождусь, пока он закончит...
[18:24:41] <Клёк> tehnick: Собственно, я как только увидел, что он не только мои файлы толкает, сразу же почитал help и сделал всё правильно.
Пожалуйста, кстати, да. Обращайтесь. (;
[18:25:22] <tehnick> Клёк: все нормально. Ничего лишнего не изменилось.
[18:28:29] <tehnick> dein.negativ: хы, теперь я понял твои изменения в счетчике =)
[18:29:00] <tehnick> "(performance) Prefix ++/-- operators should be preferred for non-primitive types. Pre-increment/decrement can be more efficient than post-increment/decrement. Post-increment/decrement usually involves keeping a copy of the previous value around and adds a little extra code."
[18:29:05] <dein.negativ> tehnick: ты про префиксную запись?
[18:29:52] <dein.negativ> я сам ее всегда использую, просто этот кусок не я писал
[18:29:59] <tehnick> Ага. Вот и узнал что-то новое...
[18:32:07] <Nikoli> tehnick: думаю, больше недели точно не надо
[18:32:43] <tehnick> Nikoli: будет 6-7 дней
[18:35:13] <Nikoli> как будет архив, просьба меня пнуть тут или в ирке
[18:52:24] <dhamp> tehnick: "* Поддержка сборки с Gtk < 2.24 прекращена." - с фига ли ?
[18:53:38] <tehnick> Nikoli: хорошо
[18:53:46] <tehnick> dhamp: патчи удалены
[18:54:53] <dhamp> tehnick: по какой причине ?
[18:56:19] <tehnick> dhamp:
1) Люди жаловались, что с ними прога не работает как нужно. То, что она компилируется, еще ничего не значит.
2) Поддержка версий убунты с этими версиями Gtk прекращена.
[19:07:21] <dhamp> tehnick: а код выпилить ?
[19:08:12] <tehnick> dhamp: сделаю скоро.
[19:08:52] FiliN вошёл(а) в комнату
[19:26:32] pavelvat вошёл(а) в комнату
[19:27:32] <pavelvat> tehnick: то что при выходе из клиента выдаётся это, так и должно быть?
QSqlDatabasePrivate::removeDatabase: connection 'FinishedUploads' is still in use, all queries will cease to work.
QSqlDatabasePrivate::removeDatabase: connection 'FinishedDownloads' is still in use, all queries will cease to work.
[19:28:42] <tehnick> pavelvat: это к Негативу.
[19:29:02] <tehnick> И да, это не нормально.
[19:29:16] <pavelvat> dein.negativ: ^^
[19:35:40] FiliN вышел(а) из комнаты
[19:37:26] <pavelvat> tehnick: почему твой пакет Psi+ в Ubuntu не включает в себя иконки для отображения значков в панели со списком юзеров справа: в Arch Linux и под Windows у меня напротив имени пользователя в списке справа отображается значок используемой программы-клиента и значок ранга в конференции(владелец, посетитель, зарегистрированный пользователь)?
[19:37:54] <tehnick> pavelvat: потому что это противозаконно.
[19:38:07] <pavelvat> что-что?
[19:38:46] <pavelvat> с лицензиями на значки проблема что-ли?
[19:39:02] <tehnick> pavelvat: установи пакет psi-plus-content-download и воспользуйся этим плагином для загрузки несвободных иконок
[19:39:12] <tehnick> pavelvat: конечно
[19:39:31] <tehnick> pavelvat: ты в курсе, что даже логотип огнелиса не свободен?
[19:39:40] <tehnick> pavelvat: включи мозг и сделай выводы
[19:41:21] FiliN вошёл(а) в комнату
[19:42:16] <pavelvat> tehnick: вообще-то логотип огнелиса относительно недавно(около года назад) mozilla разрешила использовать в дистрибутивах Linux, я ещё помню как в Arch Linux после этого появился стандартный значок для Firefox вместо синего значка планеты, который был до этого.
[19:42:46] <tehnick> pavelvat: вау, они сделали это!..
[19:43:03] <tehnick> pavelvat: но они разрешили на определенных условиях.
[19:43:21] <tehnick> И распространять, а не модифицировать и т.п.
[19:43:34] <tehnick> Т.е. по факту он остался несвободным.
[19:44:06] <tehnick> И главное ограничение: нельзя использовать логотип, если код хоть немного изменен.
[19:44:12] <tehnick> Причина-то понятна.
[19:44:23] <tehnick> Но это факт.
[19:44:55] <tehnick> pavelvat: а теперь посмотри на логотипы IM клиентов
[19:45:11] <tehnick> pavelvat: большая часть этих программ вообще проприетарны
[19:45:23] <tehnick> *подавляющее большинство
[19:46:11] <pavelvat> tehnick: "значок ранга в конференции(владелец, посетитель, зарегистрированный пользователь)" - а эти значки тоже несвободные чтоли, они же никакого отношения к конкретному клиенту не имеют.
[19:47:55] <tehnick> pavelvat: вероятно, их авторство и лицензия не указаны. Я уже не помню. Тебе лишь бы поспорить?
[19:48:11] <tehnick> pavelvat: ты скриншот для убунты залил уже?
[19:48:24] <tehnick> Под винду сборку проверил?
[19:48:42] <tehnick> pavelvat: есть какие-нибудь ворнинги, которые можно пофиксить?
[19:49:30] <pavelvat> tehnick: при чём тут "поспорить"? - если эти значки можно включить не нарушаю лицензии то надо их включить в пакет. Ты точно уверен что на них существуют лицензионные ограничения?
[19:50:41] <pavelvat> tehnick: скриншот потом как-нибудь сделаю.
[19:51:22] <tehnick> pavelvat: я уже ответил, что не помню.
[19:51:37] <tehnick> А пакет вообще потребует капитального пересмотра.
[19:52:00] <pavelvat> tehnick: ну так можно же выяснить если не прямо сейчас то позже.
[19:52:03] <tehnick> Когда наконец появится возможность нормально использовать исходники.
[19:53:24] <pavelvat> tehnick: под Windows собирается.
[19:53:53] <pavelvat> tehnick: а что там с исходниками?
[19:54:23] <tehnick> pavelvat: там дьявольский писец
[19:54:54] <tehnick> Могу дать пару ссылок.
[19:55:00] <tehnick> https://github.com/psi-plus
[19:55:17] Diger вошёл(а) в комнату
[19:55:41] <tehnick> https://github.com/psi-im/
[19:55:54] <tehnick> http://forum.psi-plus.com/viewtopic.php?f=6&t=155&start=20
[19:56:06] <tehnick> forum.psi-plus.com/viewtopic.php?f=8&t=152
[19:56:20] <tehnick> http://forum.psi-plus.com/viewtopic.php?f=8&t=152
[19:57:02] <tehnick> Первые две --- для того, чтобы оценить, насколько фрагментированы исходники. (Нет одного репа)
[19:57:13] <tehnick> Вторые две --- для прочтения.
[19:57:34] <tehnick> Хм.
[19:57:41] <tehnick> Что-то я неправильно дал.
[19:57:46] <tehnick> http://forum.psi-plus.com/viewtopic.php?f=6&t=155
[19:57:53] <tehnick> Это начало.
[19:58:26] <tehnick> Да, блин.
[19:58:44] <tehnick> forum.psi-plus.com/viewtopic.php?f=6&t=78
[19:58:55] <tehnick> Ррр.
[20:00:14] <tehnick> Итак:
http://forum.psi-plus.com/viewtopic.php?f=6&t=78
http://forum.psi-plus.com/viewtopic.php?f=6&t=155
[20:00:42] <tehnick> Ну еще бы... У меня сейчас 8 КБ/с скорость. =(
[20:01:06] <tehnick> И вообще, это оффтопик.
[20:01:26] <tehnick> pavelvat: давай айскальт обсуждать
[20:14:14] FiliN вышел(а) из комнаты
[20:16:00] FiliN вошёл(а) в комнату
[20:16:19] FiliN вышел(а) из комнаты
[20:21:33] pavelvat вышел(а) из комнаты
[20:22:09] FiliN вошёл(а) в комнату
[20:34:20] Клёк вышел(а) из комнаты
[20:40:19] Клёк вошёл(а) в комнату
[20:42:24] Клёк вышел(а) из комнаты
[20:43:59] Клёк вошёл(а) в комнату
[20:48:19] dein.negativ вышел(а) из комнаты
[20:56:43] FiliN вышел(а) из комнаты
[21:00:22] FiliN вошёл(а) в комнату
[21:12:50] Клёк вышел(а) из комнаты
[21:14:25] Клёк вошёл(а) в комнату
[21:54:16] amfetamin вышел(а) из комнаты
[22:56:10] dhamp вышел(а) из комнаты
[23:03:21] FiliN вышел(а) из комнаты
[23:05:19] FiliN вошёл(а) в комнату
[23:14:42] FiliN вышел(а) из комнаты
[23:14:52] FiliN вошёл(а) в комнату
[23:17:51] <ONYX> tehnick: вот занимаемся cli, все будет норм
[23:18:46] <tehnick> ONYX: хорошо
[23:19:03] <tehnick> Завтра бета, желательно успеть.
[23:19:14] <tehnick> Хоть черновой вариант, пригодный для тестирования.
[23:23:06] <ONYX> ну, тестер то точно сделаю, он по сути уже готов, щас с параметрами разберемся
[23:29:14] Diger вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!