Как же достали эти котодрочеры в галерее и неподтвержденных
За что вообще можно любить этих тупых бесполезных тварей из семейства кошачьих, способных только есть и гадить.
За что вообще можно любить этих тупых бесполезных тварей из семейства кошачьих, способных только есть и гадить.
Приветствую.
Пишу простенькую файлокачалку с использование urllib2. Просто закачка уже работает, теперь хочу добавить докачку частично скачанных файлов.
Проблема в том, что из-за перенаправления запроса на сервере, изначально, имя скачиваемого файла не известно и я не могу определить скачан ли он уже или нет. В голову приходит сначала делать пробный запрос определять имя файла, его наличие и длину и на основе этих данных принимать решение о необходимости формирования второго запроса с заголовком «Range». Вопрос: насколько правилен и корректен такой подход с точки зрения нагрузки на сервер? Существуют ли другие способы решения это проблемы?
Если это важно, то качалка будет заниматься вытягиванием альбомов с Jamendo в oggvorbis формате по ссылкам вида http://www.jamendo.com/get/album/id/album/archiverestricted/redirect/${album_id}/?p2pnet=bittorrent&are=ogg3.
По поводу wget — он не подошел по двум причинам: во-первых из-за перенаправления не может правильно определить имя файла; во-вторых лишняя сущность при наличии urllib2 в стандартной библиотеке; в-третьих хочется разобраться с принципами организации протокола HTTP.
Приветствую.
Захотелось мне закрывать окно по нажатию Escape. Посмотрел несколько примеров. Создал окно, gtk.AccelGroup, акселератор вызывающий сигнал «delete-event» по нажатию Escape с помощью add_accelerator и присобачил обработчик этого сигнала. Если опустить все второстепенное, получилось следующее:
window = gtk.Window()
accel_group = gtk.AccelGroup()
window.add_accel_group(accel_group)
(key, mod) = gtk.accelerator_parse("Escape")
window.add_accelerator("delete-event", accel_group, key, mod, gtk.ACCEL_LOCKED)
window.connect("delete-event", on_window_destroy)nkt@arnor pyexec % ./pyexec
/home/nkt/development/pyexec/pyexec.py:85: GtkWarning: gtkwidget.c:4461: widget `GtkWindow' has no activatable signal "delete-event" without arguments
self.window.add_accelerator("delete-event", accel_group, key, mod, gtk.ACCEL_LOCKED)Таки что я делаю не так?
Заметил такую странность. Если установить подсветку вручную с помощью `:set filetype=<filetype>` а затем переключиться на другой буфер с помощью `:buffer <num>` и снова вернуться к первому файлу посредством :buffer то у нас вырубается подсветка синтаксиса, хотя в строке статуса написан тип файла который мы установили. Лечится это либо повторной установкой типа файла/синтаксиса, либо `:syntax on`. Если тип файла определяется автоматически, то ничего такого не происходит и при смене буферов подсветка сохраняется.
Внимание вопрос: что за фигня?
Решил вчера прогуляться на pygtk'шную вики и с «удовольствием» для себя обнаружил, что pygtk объявлена устаревшей. Вместо нее теперь рекомендуют использовать функции интроспекции PyGObject'а. Ну ладно, подумал я, динамическая генерация привязок это правильно и логично. Но затем я обратил внимание на информацию о портировании и после поверхностного изучения пришел к выводу, что они поломали API. Вот я и хочу уточнить у людей более глубоко интересующихся этим вопросом: там действительно все так плохо? Или большинство изменений можно выправить изменением импортов?
В любом случае подобные дурацкие изменения не идут на пользу проекту. Хотя GNOME/GIMP/GTK сообщество как всегда в своем репертуаре… А самое паршивое, что такое положение дел везде — и в gtk/gnome и в qt/kde (особенно в кедах).
Когда написал о том что земляне — потомки кучи никчемных идиотов (в основном парикмахеров и налоговых инспекторов) с планеты Голгафрингем. Вспомнилось мне это в свете последних событий, ососбенно новостей про ACTA.
Потихоньку прихожу к пониманию, что статическая структура файловой системы абсолютно не удовлетворяет моим требованиям к хранению книг. К примеру порой очень сложно отнести книгу к одной определенной категории. Можно конечно возиться с символическими ссылками, но их ручное разруливание крайне неудобно. Поэтому SUBJ.
Что требуется:
Желательно (но не критично), что-то DE-независимое и на GTK.
Я, как некоторые могли заметить, любитель побыдлокодить на Python/PyGtk (а в последнее время посматриаю и на PyQt). В ходе своей деятельности мне, как и большинству из вас, приходится решать тривиальные задачи, такие как загрузка и сохранение конфигов, создание и инициализация виджетов и просто выбор оптимальных алгоритмов и инструментов для решения задач. Изобретать велосипеды с чистого листа мне надоело, посему желаю увидеть чужие «чертежи». Но к сожалению (и одновременно к счастью) на данном стеке технологий написано столько… В общем мне надо помочь отличить зерна от плевел.
Интересуют в первую очередь конечные приложения, а не библиотеки. Желательно чтобы рекомендуемые проекты были среднего размера, поскольку разобраться с ними хочется за вменяемое время.
Приветствую!
Вот решил завести себе jabber. В общем то я не любитель всех этих IM'ов, но возникла необходимость в средстве быстрого общения.
Посему какой сервер сейчас в фаворе? Интересуют прежде всего личные мнения. При ответе просьба указывать срок использования данного сервера, его плюсы/минусы, как часто лежит, какие у него есть killer-features, ну и вообще.
Пишу для себя монитор заряда батареи лаптопа, но есть желание сделать его универсальным. Требуется вывод следующих комманд при включенном и отключенном адаптере:
grep . /sys/class/power_supply/BAT*/*grep . /sys/devices/platform/smapi/BAT*/*Если кто знает где располагается дока по структуре этого самого /sys/class/power_supply/*, просьба поделится ссылкой. Если у других производителей (не IBM/Lenovo) существуют специальные интерфейсы к информации о батарейке вроде tp_smapi просьба рассказать о них.
Вкратце о мониторе:
В будущем, при наличии желания (что маловероятно), возможно перепишу на C/GTK.
Решил написать для себя небольшую программу сидящую в трее и показывающую информацию о состоянии батареи. Смысл в отказе от всяких HAL'ов, upower'ов и прочего хлама — только прямое чтение из sysfs.
Все просто и понятно, кроме того чем отличаются файлы /sys/class/power_supply/BAT0/current_now и /sys/class/power_supply/BAT0/power_now. Оба они, как я понял, показывают текущую мощность потребляемую лаптопом от батареи или мощность передаваемую батареи в момент зарядки. Соответственно вопрос — правильно ли мое предположение и зачем надо было создавать 2 файла с одинаковым содержанием. Если кто то кинется в меня ссылкой на документацию, буду благодарен.
И еще. Мое приложение будет иметь несколько бекэндов. На данный момент я разрабатываю acpi и smapi (для ThinkPad'ов) бекэнды и у меня имеется аналогичный вопрос по smapi — что именно показывают файлы /sys/devices/platform/smapi/BAT0/current_now и /sys/devices/platform/smapi/BAT0/current_avg. В документации (/usr/share/doc/tp_smapi-0.40/README.bz2) говорится следующее:
/sys/devices/platform/smapi/BAT0/current_now # instantaneous current
/sys/devices/platform/smapi/BAT0/current_avg # last minute averageПриветствую.
Появилась необходимость в двойной загрузке с ОС из Редмонда. Ставится будет XP Pro SP2. Старье, но мне большего и не надо, к интернетам подключаться не собираюсь.
Основной вопрос который меня беспокоит это сохранность данных в LVM-массиве из 5 жестких дисков. А беспокоит это меня потому, что windows определяет эти разделы (тип 8e) как «Отказоустойчивость Windows». Мое гугл-фу достаточно слабо и поэтому найти вменяемую информацию по этой теме у меня не получилось. Посему обращаюсь к всезнающему ЛОР'овскому коллективному разуму с просьбой разъяснить, что это за такой раздел — «Отказоустойчивость Windows», и может ли венда при обращении к этим разделам затереть данные.
Сейчас заглянул в auth.log и обнаружил, что меня кто-то с ноября прошлого года упорно пытается брутфорсить:
Aug 26 07:28:53 arnor sshd[14960]: Invalid user core from 88.191.63.231
Aug 26 07:28:53 arnor sshd[14960]: pam_tally(sshd:auth): pam_get_uid; no such user
Aug 26 07:28:53 arnor sshd[14960]: pam_unix(sshd:auth): check pass; user unknown
Aug 26 07:28:53 arnor sshd[14960]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=sd-11117.dedibox.fr
Aug 26 07:28:54 arnor sshd[14960]: Failed password for invalid user core from 88.191.63.231 port 56307 ssh2
Aug 26 07:28:55 arnor sshd[14962]: Invalid user newsletter from 88.191.63.231
Aug 26 07:28:55 arnor sshd[14962]: pam_tally(sshd:auth): pam_get_uid; no such user
Aug 26 07:28:55 arnor sshd[14962]: pam_unix(sshd:auth): check pass; user unknown
Aug 26 07:28:55 arnor sshd[14962]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=sd-11117.dedibox.fr
Aug 26 07:28:57 arnor sshd[14962]: Failed password for invalid user newsletter from 88.191.63.231 port 57422 ssh2
Aug 26 07:28:58 arnor sshd[14964]: Invalid user named from 88.191.63.231
Aug 26 07:28:58 arnor sshd[14964]: pam_tally(sshd:auth): pam_get_uid; no such user
Aug 26 07:28:58 arnor sshd[14964]: pam_unix(sshd:auth): check pass; user unknown
Aug 26 07:28:58 arnor sshd[14964]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=sd-11117.dedibox.fr
Aug 26 07:29:01 arnor sshd[14964]: Failed password for invalid user named from 88.191.63.231 port 57746 ssh2
Aug 26 07:29:02 arnor sshd[14966]: Invalid user visitor from 88.191.63.231
Aug 26 07:29:02 arnor sshd[14966]: pam_tally(sshd:auth): pam_get_uid; no such user
Aug 26 07:29:02 arnor sshd[14966]: pam_unix(sshd:auth): check pass; user unknown
Aug 26 07:29:02 arnor sshd[14966]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=sd-11117.dedibox.fr
Aug 26 07:29:04 arnor sshd[14966]: Failed password for invalid user visitor from 88.191.63.231 port 59036 ssh2
Aug 26 07:29:05 arnor sshd[14968]: Invalid user ftpuser from 88.191.63.231
Aug 26 07:29:05 arnor sshd[14968]: pam_tally(sshd:auth): pam_get_uid; no such user
Aug 26 07:29:05 arnor sshd[14968]: pam_unix(sshd:auth): check pass; user unknown
Aug 26 07:29:05 arnor sshd[14968]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=sd-11117.dedibox.fr
Aug 26 07:29:06 arnor sshd[14968]: Failed password for invalid user ftpuser from 88.191.63.231 port 60102 ssh2
Aug 26 07:29:07 arnor sshd[14970]: Invalid user username from 88.191.63.231
Aug 26 07:29:07 arnor sshd[14970]: pam_tally(sshd:auth): pam_get_uid; no such user
Aug 26 07:29:07 arnor sshd[14970]: pam_unix(sshd:auth): check pass; user unknown
Aug 26 07:29:07 arnor sshd[14970]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=sd-11117.dedibox.fr
Aug 26 07:29:09 arnor sshd[14970]: Failed password for invalid user username from 88.191.63.231 port 60372 ssh2
Aug 26 07:29:10 arnor sshd[14972]: Invalid user administrator from 88.191.63.231
Aug 26 07:29:10 arnor sshd[14972]: pam_tally(sshd:auth): pam_get_uid; no such user
Aug 26 07:29:10 arnor sshd[14972]: pam_unix(sshd:auth): check pass; user unknown
Aug 26 07:29:10 arnor sshd[14972]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=sd-11117.dedibox.fr
Aug 26 07:29:12 arnor sshd[14972]: Failed password for invalid user administrator from 88.191.63.231 port 33224 ssh2
Aug 26 07:29:13 arnor sshd[14974]: Invalid user library from 88.191.63.231
Aug 26 07:29:13 arnor sshd[14974]: pam_tally(sshd:auth): pam_get_uid; no such user
Aug 26 07:29:13 arnor sshd[14974]: pam_unix(sshd:auth): check pass; user unknown
Aug 26 07:29:13 arnor sshd[14974]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=sd-11117.dedibox.fr
Aug 26 07:29:15 arnor sshd[14974]: Failed password for invalid user library from 88.191.63.231 port 33594 ssh2
Aug 26 07:29:17 arnor sshd[14976]: Invalid user test from 88.191.63.231
Aug 26 07:29:17 arnor sshd[14976]: pam_tally(sshd:auth): pam_get_uid; no such user
Aug 26 07:29:17 arnor sshd[14976]: pam_unix(sshd:auth): check pass; user unknown
Aug 26 07:29:17 arnor sshd[14976]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=sd-11117.dedibox.fr
Aug 26 07:29:18 arnor sshd[14976]: Failed password for invalid user test from 88.191.63.231 port 34748 ssh2В общем как можно вычислить этого идиота (а ломает он судя по разным IP из под разнообразных проксей), ну и как можно повысить безопасность системы кроме очевидных смены пароля и запрета заходить по ssh из интернетов (последнего хотелось бы избежать)?
Приятный джаз летним вечером побудил меня поделится с вами, о уважаемая публика, настроением легкости которое мне дарует мое нерабочее окружение.
Все стандартно до безобразия — gentoo, openbox, stalonetray, urxvt, sonata etc. Тема GTK — слегка допиленная MurrinaCandido (убрал границы в меню, панели инструментов и строке состояния), openbox — моя собственная.
Шрифты которые как всегда представляют из себя это самое — DejaVu Sans 7 pt, в терминале — DejaVu Sans Mono 7 pt. Я так и не смог перебороть свою любовь к маленьким шрифтам, хотя зрение уже примерно -2.
Решил тут написать себе просмотровщик картинок с барышнями и квейком.
В начале было все просто, засунул gtk.Image в gtk.ScrolledWindow с помощью метода add_with_viewport(). Все работало, но меня не устраивало очевидное появление скроллбаров на больших картинках. Ну думаю не проблема, установлю политику для скроллбаров ScrolledWindow'а в gtk.POLICY_NEVER и тут то меня поджидало самое большое разочарование — окно стало принимать размеры просматриваемого изображения, в ряде случаев выезжая за границы экрана.
Соответсвенно вопрос к знатокам GTK+ как можно просматривать большие картинки со скроллингом но без скроллбаров? В частности это как то реализовано в GQview и гимпе, но копаться в тоннах С-шного кода этих программ пока выше моих способностей.
З.Ы. Про gtk.ImageView знаю, но хочу обойтись без лишних сущностей.
ВотЪ http://www.progarchives.com/album.asp?id=10521
A Classical record from Soviet times. Actually it wasn't regarded as PROG in that times - it was kinda Rock-Opera. GUSLIAR has elements of Symphonic Prog, strong and obvious ethnic flavour, some jazzy arrangements and even classical-like bits. This is a Legend told by the wonderful voices of the Belarus band PESNYARY.
Флаки искать в лучших торрентах страны.
Приветствую всех!
В общем решил попробовать еще раз это KDE. Многое нравится, кое что нет, но некоторые вещи просто «выбешивают».
К одной из таких пренеприятнейших багофич относится самоуправство в отношении моего ~/.fons.conf. Точнее у меня его даже нет, ибо все настройки перенесены в /etc/fonts/*, но кеды упорно его создают при входе в настройки шрифтов, в systemsettings, и настройки сглаживания в этом новом файле отличаются от нужных мне. Причем в настройках я изменяю только шрифты, даже не притрагиваясь к настройкам сглаживания в которых к слову сказать стоит пункт использовать системные настройки.
Эта «замечательная функция» кстати тянется еще со времен kde3.5, но в них к счастью работал костыль в виде установки прав 000 на ~/.fonts.conf. В kde4 же при наличии такого финта ушами, при попытке зайти в настройки внешнего вида в systemsettings этот самый systemsettings начинает долго-долго, упорно думать после чего замечательно падает без малейшего сообщения об ошибке.
Короче что делать и кто виноват?
Чтобы не быть голословным, привожу содержимое ~/fons.conf создаваемого кедами
<?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font">
<edit mode="assign" name="rgba">
<const>none</const>
</edit>
</match>
<match target="font">
<edit mode="assign" name="hinting">
<bool>true</bool>
</edit>
</match>
<match target="font">
<edit mode="assign" name="hintstyle">
<const>hintmedium</const>
</edit>
</match>
<match target="font">
<edit mode="assign" name="antialias">
<bool>true</bool>
</edit>
</match>
</fontconfig>В общем то глюк стандартный
# hwclock --show
select() to /dev/rtc to wait for clock tick timed outЕдинственным источником информации который предлагает решать данную проблему кардинально, оказалась thinkwiki. Решения предложенные там конечно работают, но на старых ядрах. В новых версиях ядра сделали новую подсистему для RTC.
Таким образом если я использую новую систему rtc со следующими опциями
CONFIG_HPET_EMULATE_RTC=y
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set
# RTC interfaces
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set
# I2C RTC drivers
# CONFIG_RTC_DRV_DS1307 is not set
# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_MAX6900 is not set
# CONFIG_RTC_DRV_RS5C372 is not set
# CONFIG_RTC_DRV_ISL1208 is not set
# CONFIG_RTC_DRV_X1205 is not set
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set
# CONFIG_RTC_DRV_BQ32K is not set
# CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set
# CONFIG_RTC_DRV_RX8581 is not set
# CONFIG_RTC_DRV_RX8025 is not set
# SPI RTC drivers
# Platform RTC drivers
CONFIG_RTC_DRV_CMOS=y
# CONFIG_RTC_DRV_DS1286 is not set
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T35 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_MSM6242 is not set
# CONFIG_RTC_DRV_BQ4802 is not set
# CONFIG_RTC_DRV_RP5C01 is not set
# CONFIG_RTC_DRV_V3020 is not set
# on-CPU RTC driversCONFIG_HPET_EMULATE_RTC=y
CONFIG_RTC=y
# CONFIG_SND_RTCTIMER is not set
# CONFIG_RTC_CLASS is not setПосему вопрос к людям разбирающимся или пытавшимся разобраться в теме помочь настроить rtc.
З.Ы. Железка — лаптоп Dell Inspiron 1501.
Если при попытке запустить KMS на ati у вас в dmesg вываливаются подобного рода ошибки:
radeon_cp: Failed to load firmware "radeon/R300_cp.bin"CONFIG_FIRMWARE_IN_KERNEL=yВ menuconfig она находится в Device Drivers -> Generic Driver Options -> Include in-kernel firmware blobs in kernel binary.
Инструкция была найдена здесь http://forums.gentoo.org/viewtopic-t-786786-start-200.html.
| ← назад | следующие → |