Настоящий программист на Perl может даже на Java написать программу на Perl. почти (c). Мысль появилась по результатам разглядывания результата борьбы со Swing. Swing -- зло. Особенно с нетривиальными дизайнами. А уж про нетривиальные действия... Чтение исходников JRE помогает, но даже там не всегда [за обозримое время] понятно почему не работает одно или другое. А всего-то хотелось запускать анимированные действия (исполняются таймером) с задержкой по таймеру. Теперь не могу понять, будет память утекать или нет от оставленных бесхозных остановленных таймеров-с-листенерами или нет.
О популярности плеера iPod свидетельствуют не только данные Apple. Так, в опросе студентов более 100 американских колледжей он превзошел по популярности пиво. 73% опрошенных студентов назвали плеер Apple iPod среди самых популярных вещей, в то время как пиво в опросе набрало 71%. Еще год назад iPod называли лишь 59%, что значительно уступало популярности алкогольных напитков. В истории подобных студенческих опросов популярность пива лишь раз теряла первое место. В 1997 году его опередил Интернет.
Нужна идея, как реализовать монотонное течение времени. Вопрос вот в чём. Допустим, мне надо отследить таймаут какого-то события, я запоминаю время начала события, делаю select/сетевые операции с теми, кто готов, проверяю таймауты. Всё отлично. Но, администратор сервера, вдруг обнаруживает, что на сервере уехало время, и делает ntpdate [таймсервер], который говорит: ок, время уехало на 6 часов вперёд, я его вернула назад. Таким образом, таймауты, которых запомнили 6 часов вперёд, провисят 6 часов до момента, пока их обнаружат.
Самым простым решением было бы использование какого-либо монотонно тикающего таймера, поскольку абсолютное время не важно, а только относительное. Однако, не использовать же для этого /proc/uptime, как-то некрасиво. Не могу сообразить, откуда взять монотонный таймер, чтобы это было не настолько linux-specific. Самостоятельно дёргать SIGALRM раз в секунду на Perl мне представляется неправильным, как и вообще работа с сигналами в Perl. Можно отслеживать таймауты из будущего и ресетить их, но таймауты из прошлого будут срабатывать слишком рано, а таймауты из будущего несколько запоздало. Можно попробовать решить проблему административно -- поставить ntpd, но это тоже не 100%-е решение.
В общем нужна идея монотонного таймера, нормально доступного из Perl, возможно даже с тредами.
Есть Sony Vaio Notebook, хочется иногда на нём для работы загружать Linux, в случае, если основной рабочий компьютер недоступен. Думается для этого дела загружаться с LiveCD какого-нибудь, вопрос с какого? Нужна поддержка WLAN, Nvidia FX 6200, ну и прочего нотебучного барахла. Попробовал Knoppix 4.0.2, он в иксах загрузил модуль nv, который поставил режим 1024x768, хотя для моего экрана надо ставить 1280х800. Опыт говорит, что проблема решается установкой фирменного модуля nvidia, не хочется колдовства, хочется чтобы этот модуль был сразу на DVD. Не хочется писать на жёсткий диск, поскольку там NTFS везде, хочется видеть Compact Flash, которая воткнута в разъём pcmcia, Knoppix при попытке запуска службы для pcmcia остановился в процессе загрузки и не сдвинулся, пришлось грузиться без него.
В общем, сейчас качаю Knoppix 5.0 DVD, думается попробовать Kubuntu, какие ещё есть варианты?
Ppl, есть для меня одна загадка в UNIX, которая раньше меня не волновала, но теперь мне стало интересно. А интересно мне стало написать, скажем, конвертор RAW->JPEG/TIFF (для цифрофот). И тут у нас во весь рост встаёт вопрос адекватного отображения картинки на мониторе, и говорит вопрос человеческим голосом: "как скорректировать изображение на экране монитора, чтобы походило на то что потом на печати будет?". Если проблему решать на уровне приложения, то приложение должно откуда-то знать характеристики монитора, его gamma, например. Конечно, можно все возможные ручки запихнуть в приложение, но может есть цивилизованный highway? Что-то на уровне X-Window может умеет управлять цветом/цветовым пространством, знает вообще что это такое?