Nov 30

В продолжение этой темы. Старые NS так нормально и не заработали (отдают то новые IP, то старые, то вообще IP годовалой давности). Знакомый админ, который доменами заведует (собственно, я у него хостюсь сейчас) сегодня мне на мой вопрос “так, мля, шо у тебя там происходит?” выдал “знаешь, я бы сам ОЧЕНЬ хотел это знать!”. Сейчас сменил полностью NS, сегодня-завтра должно все восстановиться, в частности - должна заработать RSS-лента, по крайней мере я на это очень надеюсь…

UPD: Ну наконец-то всё заработало.

written by FX Poster \\ tags:

Nov 29

Ищутся книги Эрика Мейера. Вот эти. Особенно хочется почитать Eric Meyer on CSS, More Eric Meyer on CSS и CSS: The Definitive Guide, Third Edition. Кто-нибудь знает, где их можно достать в электронном варианте?

UPD: Теперь хочу Eric Meyer on CSS и CSS Web Site Design.

written by FX Poster \\ tags:

Nov 27

Навеяно установкой Kubuntu своему одногрупнику…

Тема такая: есть у человека компьютер с Windows, хочет поставить Linux “на пробу”. Естественно, основной ОС как был Windows, так и должен остаться. Проблема возникает следующая: по умолчанию в grub’е (загрузчике) на первом месте прописан Linux и при включении компьютера по умолчанию загружается он.

Решение №1

Для начала смотрим на загрузочное меню, которое нам показывает grub. Запоминаем номер строки с Windows (считаем сверху, начиная с 0) и загружаемся в Linux. Открываем файл /boot/grub/menu.lst:

sudo nano /boot/grub/menu.lst

Ищем там строку вида:

default = 0

И меняем 0 на N, где N - номер строки в загрузочном меню:

default = N

Все, теперь при загрузке компьютера курсор в меню по-умолчанию будет стоять на строке с Windows и, соответственно, эта система будет загружаться.

Автор решения (по крайней мере я узнал его именно от этого человека) - JackYF.

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

Решение №2

Опять же - открываем /boot/grub/menu.lst и ищем строки типа таких:

title		Ubuntu 7.10, kernel 2.6.22-14-generic
root		(hd0,5)
kernel		/boot/vmlinuz-2.6.22-14-generic root=UUID=5effcf79-a6d0-4c5e-b1c1-5728d8c67fad ro quiet splash
initrd		/boot/initrd.img-2.6.22-14-generic
quiet

Это и есть одна строка из загрузочного меню. У меня все строки выглядят следующим образом:

title		Ubuntu 7.10, kernel 2.6.22-14-generic
root		(hd0,5)
kernel		/boot/vmlinuz-2.6.22-14-generic root=UUID=5effcf79-a6d0-4c5e-b1c1-5728d8c67fad ro quiet splash
initrd		/boot/initrd.img-2.6.22-14-generic
quiet

title		Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode)
root		(hd0,5)
kernel		/boot/vmlinuz-2.6.22-14-generic root=UUID=5effcf79-a6d0-4c5e-b1c1-5728d8c67fad ro single
initrd		/boot/initrd.img-2.6.22-14-generic

title		Ubuntu 7.10, memtest86+
root		(hd0,5)
kernel		/boot/memtest86+.bin
quiet

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.
title		Other operating systems:
root

# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/hda1
title		Microsoft Windows XP Professional RU
root		(hd0,0)
savedefault
makeactive
chainloader	+1

Т.е., как видите, у меня 3 строки в меню отвечают за 1 ядро линукса, а именно убунты, еще одна строка - просто надпись (нет значений для root) и последняя строка - винда. Я решил это все поменять местами немного:

title		Microsoft Windows XP Professional RU
root		(hd0,0)
savedefault
makeactive
chainloader	+1

title		Ubuntu 7.10, kernel 2.6.22-14-generic
root		(hd0,5)
kernel		/boot/vmlinuz-2.6.22-14-generic root=UUID=5effcf79-a6d0-4c5e-b1c1-5728d8c67fad ro quiet splash
initrd		/boot/initrd.img-2.6.22-14-generic
quiet

title		Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode)
root		(hd0,5)
kernel		/boot/vmlinuz-2.6.22-14-generic root=UUID=5effcf79-a6d0-4c5e-b1c1-5728d8c67fad ro single
initrd		/boot/initrd.img-2.6.22-14-generic

title		Ubuntu 7.10, memtest86+
root		(hd0,5)
kernel		/boot/memtest86+.bin
quiet

Теперь в загрузочном меню будет 4 строки, первая из них - Windows, на которой курсор и будет стоять по умолчанию.
Это решение мое, просто решил покопаться в menu.lst в свое время. Как решение реагирует на установку новых ядер линукса пока проверить не довелось, так что проблемы у него могут быть такие же, как и у предыдущего решения… А могут и не быть. ;)

Спасибо за внимание, авось кому-нибудь пригодится.

written by FX Poster \\ tags: ,

Nov 24

Для некоторой части населения нашей планеты сайт был временно недоступен. Извиняйте, сервак переезжал - менялись DNS.

PS. Спасибо Юре за подсказку, если бы не он - я бы и не знал, что у моего хостера сервак переехал.

written by FX Poster \\ tags:

Nov 18

Все вот играют себе спокойно в Blogowar, друг на друга ссылки ставят - все ок, все отлично. Но вы, блин, посмотрите на это. :)

Предлагаю флешмоб - все, на кого там поставили ссылку - пишите ответный пост. Интересно, какой у блога будет Унц потом? :)

written by FX Poster

Nov 18

Ночь. Снова не спится. По совету gluek‘а качаю xubuntu. Заодно решил посмотреть какой-нибудь фильмец. Курсор моего Total Commander’а завис над файлом под названием “La Ratatoille (DVDRip).avi”…Ну что ж, рататуй так рататуй. :)

… прошло два часа …

Такс, решил дописать пост. Xubuntu еще качается, осталось минут сорок. А мультфильм уже закончился. :(

Мультик понравился. На мой взгляд, это одна из лучших работ Pixar. Рассказывать здесь что-то, по моему, неуместно - мульт хорош во всем: иногда задумываешься, иногда откровенно смеешься, но главное - полностью проникаешься чувствами и эмоциями главного героя (или все же главных героев? ;) ). Посмотрите, советую!

written by FX Poster \\ tags: ,

Nov 17

Поздравляю всех студентов с нашим профессиональным днем! ;)

День студента

written by FX Poster \\ tags:

Nov 17

Всем программистам советую взять на заметку этот блог. Чел офигенно шарит в функциональном программировании, пишет редко, но интересно. Вот сейчас хочется прокомментировать его пост про новый ECMAScript (Javascript), а точнее попробовать оценить возможности его применения.

Веб-браузеры

Здесь все в общем-то ясно - JS сейчас рулит и сдавать свои позиции не собирается. Но есть одно “но”. Качаем отсюда интерпретатор ECMAScript’а и изучаем содержимое каталога builtins - там находится стандартная библиотека, написана, собственно, на самом ECMAScript’е. Поизучайте файлы. Знакомо? Догадываюсь, что да. Все знакомо? Хех, подозреваю, что нет. По крайней мере на текущий JS новый ECMAScript не похож. Похож на дикую смесь JS, Java, C#. Целая куча новых ключевых слов, новые операторы. На мой взгляд, синтаксис языка чрезмерно усложняется. Не знаю, нужно ли это…

В продолжении хочется заметить, что внедрение этого “нового языка” в браузеры может весьма и весьма затянутся…

Desktop/Server-side программирование

Автор поста упомянул про конкуренцию с Python и Ruby:

Новый Javascript явно претендует на что-то большее. Если он действительно будет “принят на вооружение” — определенно можно ожидать появления изрядного количества серверных приложений и фреймворков на js. Во всяком случае, язык получился явно не слабее питона и руби — хотя, конечно, вряд ли средства интеграции с кодом на C и C++ будут тут столь же развиты, ниша у языка все-таки другая.

Но не учел 2 момента:

  1. Большое количество уже написанного кода на Python/Ruby. Имеется ввиду какое-то ПО на них, скрипты, классы дополнительные (смотрим rubygems, easy_install), фреймворки и т.д.
  2. Полное ОТСУТСТВИЕ нормальной стандартной библиотеки. Найдите мне функции/классы для работы с сокетами и бд под JS. В общем случае нельзя даже работать с файловой системой, насколько я знаю (в винде можно, под никсами - нет). И примеров нужных библиотек можно привести очень много. На мой взгляд, “язык, претендующий на замещение руби и питона” должен иметь стандартную библиотеку хотя бы не хуже ихних.

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

written by FX Poster \\ tags: ,

Nov 17

У нас в Днепропетровске открылся очередной интернет-магазин - Exit.com.ua. Это моя первая “большая” работа по верстке на заказ. Да, верстка отнюдь не идеальная, сейчас я могу сверстать лучше (это все версталось еще в июле), но для первого раза - по-моему, неплохо.

Некоторые выводы для начинающих верстальщиков

Пока верстаешь отдельные странички/небольшие сайты - все нормально. А вот когда попадается проект хотя бы на 10-15 страничек, которые заметно отличаются - сразу начинаются проблемы. Я это в свое время не учел, за что потом долго расплачивался. Делайте выводы. Посоветовать сходу могу два метода:

  • подключать нужные стили в зависимости от страницы
  • давать id’шки каким-нибудь внешним тегам (body, например), и учитывать эти id в своих css

Кто-то еще что-то подсказать может по этому поводу?

Далее, хотите вы программировать или нет, но JS вам использовать прийдется. Так что если вы его сами знаете не очень хорошо - очень советую использовать что-то типа PrototypeJS / JQuery, причем не просто посмотреть несколько примеров и написать более-менее работающий код, а хорошо почитать мануалы, погуглить относительно выбранного js-фреймворка. Особенно хочу обратить внимание на событийное программирование в JS - всякие <a onclick = “…”> уже не модные.

written by FX Poster

Nov 16

Что-то никто из знакомых не пишет ничего по этому поводу… Пропустили все что ли? А зря - вещь интересная, и, как оказалось, достаточно простая в реализации:

// addMethod - By John Resig (MIT Licensed)
function addMethod(object, name, fn){
    var old = object[ name ];
    object[ name ] = function(){
        if ( fn.length == arguments.length )
            return fn.apply( this, arguments );
        else if ( typeof old == 'function' )
            return old.apply( this, arguments );
    };
}

Оригинал здесь, там же и примеры использования.

written by FX Poster \\ tags: