LINUX.ORG.RU

Сообщения Minoru

 

[javascript][firefox] загрузить javascript после onpageload

Форум — Development

Имею javascript-код, отрабатывающий в событии onpageload в chrome (неймспейсе, в котором работают аддоны, а не Google Chrome), не имеющий доступа к javascript-объектам и функциям, определенными на странице, которые мне, конечно же, очень надо вызвать.

Поступаю следующим образом:

// Работает
		var script = doc.createElement('script');
		script.setAttribute('type', 'text/javascript');
		script.innerHTML = 'function alert_1() { alert("1"); }';
		var body = doc.getElementsByTagName('body')[0];
		body.appendChild(script);
		start.setAttribute('onclick', 'alert_1()');

При нажатии на start alert отрабатывает - отлично. Проблема в том, что в реальной задаче нужно выполнить достаточно сложный код, пихать который в однострочник ни руками, ни генераторами кода не хотелось бы. start.AddEventHandler('click', function alert_1() { ... }, ..) отпадает по той причине, что в реальной задаче потребуется вызывать функции, определенные в javascript-е страницы, а как мы помним, из chrome такая возможность недоступна.

Решение кажется очевидным - подгрузить код из внешнего файла через аттрибут src:

		var script = doc.createElement('script');
		script.setAttribute('type', 'text/javascript');
		script.setAttribute('src', 'chrome:///myext/contents/alert_1.js');
		var body = doc.getElementsByTagName('body')[0];
		body.appendChild(script);
		start.setAttribute('onclick', 'alert_1()');
Но не тут-то было. Код, подгруженный тегом <script>, виден в firebug, но не отрабатывает. Соответственно, при нажатии на start в консоли видно сообщение об отсутствии метода alert_1().

Судя по всему, javascript элементарно не подгружается из-за того, что страница, вроде как, уже загружена. Можно ли как-то силой заставить его подгрузиться?

 ,

Minoru
()

[tcl] применение листа к функции

Форум — Development

Пусть fun - функция:

proc fun {x y} {
   puts $x
   puts $y
}
а args - произвольный лист. Как заставить fun выводить первое и второе значение произвольного листа?

eval не подходит, так как args может содержать «плохие» символы.

В Lisp была нужная мне функция apply.

 

Minoru
()

[tcl] слияние листа в строку

Форум — Development

Есть ли в tcl полноценный аналог перлового join?

Стандартный join, как я понимаю, не подходит:

% set str1 "a b c"
a b c
% set str2 [join $str1 " "]
a b c
% lindex $str2 0
a
А правильный ответ - a b c.

 

Minoru
()

Кысо

Галерея — Рабочие места

Где-то здесь реквестировали котэ. Так что вот вам шерстистого-пушистого :)

Ах да, на компе ubuntu 10.10 с ion3 и vimperator.

Minoru
()

[ubuntu][nvidia] GeForce 5700 LE - зависания при загрузке

Форум — General

Испытываю проблемы с сабжем. Перепробовал различные версии драйвера - 96.43.18, 173.14.23, 173.14.28. С 96.43.18 все работает нормально, но при первой загрузке, как правило, полностью зависает через 10 секунд - даже терминалы не переключить (после перезагрузки работает нормально). Кроме того, часто подвисает при попытке войти в gdm. С 173.14.23 зависает почти сразу же после запуска, с 173.14.28 все работает нормально, кроме OpenGL.

Можно ли решить эту проблему не меняя видюшку и не отказываясь от OpenGL? Дистрибутив - Ubuntu 10.10, так же пробовал на 10.04.

 ,

Minoru
()

Мое рабочее место

Галерея — Рабочие места

Собственно, вот :) (фотка двухлетней давности)

 , ,

Minoru
()

Шарфик для джедая

Галерея — Скриншоты

Вот такой шарфик связала девушка на Новый Год. Все собрано из исходников, в основном при помощи спиц.

 , , шарфик

Minoru
()

[SBCL][FFI][CL-GTK2][Мэджик] непредсказуемое поведение FFI

Форум — Development

В процессе написания биндингов к gtksourceview столкнулся со странной проблемой.

Загрузим в SBCL кусок кода:


(in-package :gtk)
(load-foreign-library "libgtksourceview-2.0.so")

(define-g-object-class "GtkSourceLanguageManager" source-language-manager
                       (:export t :interfaces
                        ())
			())

(defcfun gtk-source-language-manager-get-language-ids
	:pointer
	(language-manager (g-object source-language-manager)))

(defun get-language-list (language-manager)
	(let ((pointer (gtk-source-language-manager-get-language-ids language-manager)))
	(loop with i = 0
	      until (null-pointer-p (mem-aref pointer :pointer i))
	      collect (mem-aref pointer :string i)
	      do (incf i))))

теперь можно заметить, что код

(setq *lm* (make-instance 'source-language-manager))
(get-language-list *lm*)
работает нормально, а вот это - нет:
(make-instance 'source-language-manager)
(get-language-list *)
- нет:
* (make-instance 'source-language-manager)

(<unknown>:4278): GLib-GObject-CRITICAL **: g_object_newv: assertion `G_TYPE_IS_OBJECT (object_type)' failed

(<unknown>:4278): GLib-GObject-CRITICAL **: g_object_add_toggle_ref: assertion `G_IS_OBJECT (object)' failed

(<unknown>:4278): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed

#<SOURCE-LANGUAGE-MANAGER {C587AB9}>
* (get-language-list *)

(<unknown>:4278): GtkSourceView-CRITICAL **: gtk_source_language_manager_get_language_ids: assertion `GTK_IS_SOURCE_LANGUAGE_MANAGER (lm)' failed
CORRUPTION WARNING in SBCL pid 4278(tid 3085097760):
Memory fault at 0 (pc=0xc52a6f5, sp=0xb7985ba8)
The integrity of this image is possibly compromised.
Continuing with fingers crossed.

debugger invoked on a SB-SYS:MEMORY-FAULT-ERROR in thread #<THREAD "initial thread" RUNNING {BECF659}>:
  Unhandled memory fault at #x0.

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [ABORT] Exit debugger, returning to top level.

(SB-SYS:MEMORY-FAULT-ERROR)
0]
Хотя, на первый взгляд, это и не мешает использованию таких биндингов, это вызывает у меня справедливое беспокойство. В чем может быть дело? Подозреваю memory corruption где-то в ffi. Прошу лисперов помочь мне.

 ,

Minoru
()

Linux и Suspend

Форум — Desktop

Имею: комп с Ubuntu Karmic i686 и ion3.

Когда я запускаю pm-suspend, то ничего не происходит. Вывод pmi:

minoru@minoru-desktop:~$ pmi capabilities
hibernate
hibernate через pmi работает нормально. Как можно решить проблему?

Minoru
()

Существует ли хотя бы одна вменяемая реализация Common Lisp?

Форум — Development

И так, я перепробовал следующие реализации, и на каждой из них столкнулся с какими-то проблемами.

  • SBCL, Clisp - казалось бы, все хорошо. Но каждый экземпляр весит в оперативной памяти хотя бы 50 мб (впрочем, лисперы утверждают, что по нынешним временам это нормально). Кроме того, о нормальной дистрибуции программ можно забыть.
  • Clisp - очень глючный. На многих системах (в том числе и у меня) просто выдает переполнение стека при попытке загрузки сколь-либо массивной библиотеки.
  • ECL - жрет вполне разумное количество оперативной памяти, и даже представляет нормальное средство для дистрибуции программ (что для лиспа редкость). Я загрузил под ним ASDF, но большинство пакетов отказываются загружаться без хорошего напильника. Кроме того, о UTF-8 можно забыть.
  • Clozure вообще отказался запуститься из-за отсутствия SSE2.
Minoru
()

Китайцы создали секретную национальную ОС

Новости — Проприетарное ПО
Группа Проприетарное ПО

Газета The Washington Times 12 мая сообщила, что в Китае разработана новую операционную систему, которую назвали Kylin. Лента.РУ утверждает, что она не похожа на существующие платформы и является гораздо более безопасной. Китайцы никакой информации относительно Kylin не распространяют.

Об операционной системе Kylin рассказал независимый специалист по безопасности Кевин Коулмэн на заседании Конгресса США. По его данным, ее разработка началась в 2001 году. Первая рабочая версия Kylin вышла в 2007 году. Тогда же эту операционную систему начали устанавливать на компьютеры. Предполагается, что это не Windows, не Unix- или Linux-система. А значит, американские средства кибернападения, возможно частично и киберзащиты, против нее бессильны.

Следует отметить, что Kylin разрабатывается в строгом секрете. Она устанавливается только на правительственные и военные компьютеры. В свободной продаже эту операционную систему не найти, даже у китайских пиратов, а сами китайцы ничего не говорят о своей секретной и безопасной операционной системе.

>>> Подробности

 , ,

Minoru
()

Посещение ЛОР при помощи Links2

Форум — Linux-org-ru

ЛОР, скажи, почему мне не удается оставлять сообщения при помощи моего любимого браузера Links2? Пруфпик со сбоем: http://pix.academ.org/img/2009/04/09/019d8ffa872ad0c2c766adb8b0cc39d3

Minoru
()

OpenTTD и Qt

Галерея — Скриншоты

Привет, ЛОР! В канун минувшего праздника решился перейти на Qt: уж больно этот GTK тормознутый и прожорливый монстр. На решение, впрочем, довольно сильно повлиял недавний отказ Qt Labs от лживой модели двойного лицензирования. Да и довольно давно присматривался к некоторым качественным Qt-программам (psi, kpdf), Opera вместо условно юзабельного опенсорсного Firefox.

Что касается Transport Tycoon, то с ним я знаком с незапамятных времен: оба проприетарных варианта, а потом и вылизанный OpenTTD.

з.ы. Debian GNU/Linux, Ion3.

Minoru
()

Социальный браузер Flock переводят с Firefox на Google Chrome

Новости — Open Source
Группа Open Source

По словам руководителя компании, занимающейся развитием социального браузера Flock, браузер планируют перевести с движка Mozilla Firefox на движок Google Chrome. Flock представляет собой web-браузер с тесной интеграцией с социальными сетями (например, Facebook), блогами и медиа-сервисами (Flickr, YouTube).

В качестве причин перехода на новый движок указывается конфликт с сообществом разработчиков Mozilla, игнорирующих просьбы создателей Flock. Когда именно начнется перевод не сообщается, известно только то, что следующий релиз Flock 2.1 будет все еще основан на Firefox.

В качестве основного фактора, сдерживающего переход на Chrome, называется недостаточная поддержка платформ, отличных от Windows. Тем не менее компания Google рассчитывает выпустить первый релиз Chrome для MacOS X и Linux в течение нескольких месяцев.

Интересно отметить еще один факт, стартап развивающий Flock получил от одного из венчурных фондов финансирование в размере 28 миллионов долларов, что более чем в 10 раз превышает бюджет Mozilla, на труде которого основаны разработки Flock.

Взято с opennet.ru

>>> Подробности

 , , , ,

Minoru
()

bluecurved Ion

Галерея — Скриншоты

ion3 - это тайловый и [b]табовый[/b] менеджер окон для X11, разработанный Tuomo Valkonen в середине 2000 г. Его дизайн построен таким образом, чтобы дать максимально простой механизм для эффективного управления окнами при помощи клавиатуры, хотя он отлично подходит и для использования мыши. Начиная с 2000г. было разработано множество менеджеров окон для X11, которые придерживаются схожих концепций.

Автор программы, Tuomo Valkonen, является одним из известных критиков Свободного ПО и защитником чистоты UNIX computing. Основанная на LGPL лицензия позволяет использовать программный код в коммерческих продуктах, однако запрещает дистрибутивам поставлять Ion с патчами, не подтвержденными его автором. Таким образом, к примеру, автору уже длительное время удается защищать свой код от крайне распространенного в ОС GNU "размазывания шрифтов" (так, мэнтэйнеры Arch Линупс были предупреждены о возможном возбуждении уголовного процесса в следствие нарушения авторских прав).

Minoru
()

В Adobe Flash опять найдены критические уязвимости

Новости — Безопасность
Группа Безопасность

Выпущено обновление плагина Adobe Flash с исправлением пяти уязвимостей, позволяющих злоумышленнику получить контроль над системой пользователя:

  • Две уязвимости позволяют выполнить код злоумышленника при открытии специальным образом оформленного SWF-файла.
  • Возможность получения доступа к конфиденциально информации и потенциального повышения привилегий. Проблема проявляется только на платформе Linux.
  • Две ошибки, которые можно задействовать для совершения Clickjacking атак: при отображении указателя мыши, может быть использована злоумышленниками для организации подмены ссылки в момент клика.

(Одна проблема многоплатформенная, другая проявляется только на платформе Windows.)

Проблема исправлена в релизах 9.0.159.0 и 10.0.22.87.

>>> Подробности

 , , , ,

Minoru
()

Правила выдачи звёзд на L.O.R.

Форум — Linux-org-ru

В связи с регулярным посещением L.O.R. имею вопрос о том, по какому закону рейтинг пользователя переводится в количество звёзд.

Однако, в LORWiki по этому поводу написано только:

>А что за рейтинг, что за звезды?

>Ребята, когда заходите на сайт, нужно читать его правила - обычно там содержатся все ответы на ваши вопросы.

Правила я уже читал, однако, ответа на свой вопрос не обнаружил:

<h1>Звезды</h1> С мая 2004 года на сайте введен расчет рейтинга активности пользователя. Рейтинг пользователя растет при участии пользователя в дискуссиях сайта и уменьшается при нарушении правил форума. Рейтинг отображается после имени пользователя в виде "звезд". После регистрации пользователь имеет нулевой рейтинг. Максимально возможный рейтинг пользователя - 5 звезд. Модераторы автоматически получают 4 звезды, однако любой пользователь может получить рейтинг вплоть до 5 звезд. <...>

Неужели закон выдачи звезд является таинством, доступным лишь самим звездатым и модераторам?

Minoru
()

Отучить Linux использовать винчестер без явной надобности

Форум — Desktop

Недавно осознал, что звуки, издаваемые винчестером каждые N минут даже при простое компьютера (и изрядно влияющие на аптайм компьютера), мне наконец-то надоели. Изначально я подумал на cron, после чего провел обряд экзорцизма cron и еще некоторого числа подозрительных демонов с помощью htop, однако это не сильно-то и помогло. Наверное, проблема лежит на уровне ядра.

На винчестере находятся разделы '/ (ext3) и '/home (ext2), использовано swap - обычно 1-15мб. Некоторые действия (например, переход из иксов в консоль, убиение какого-нибудь демона) чудесным образом прекращают звук до следующего раза, в случае если винчестер находился в состоянии шуршания. Как можно отловить виновника / решить проблему?

Minoru
()

WindowLab на Debian

Галерея — Скриншоты

WindowLab - это современный менеджер окон для UNIX, перенимающий легковесную натуру Aewm. Во многом, интерфейс перенимает опыт Amiga, однако, не клонируя его.

После инсталляции я сразу осознал, что это - именно тот wm, на котором, по крайней мере, я останусь надолго. Дефолтная цветовая гамма понравилась настолько, что я не собираюсь ее менять. Правда, я все-таки столкнулся с мелкими недочетами, ухудшающими юзабельность. Поэтому было решено составить свои маленькие патчи^W хаки, и отправить их разработчику. Если кого-нибудь еще заинтересует эта великолепная программа, то, я надеюсь, что информация, заключенная в них, окажется довольно полезной:

http://minoru.gorodok.net/windowlab/windowlab-new-client-has-focus.diff.gz

http://minoru.gorodok.net/windowlab/windowlab-mplayer-hack.diff.gz

Minoru
()

E, Clearlooks

Галерея — Скриншоты

Недавно решил поддаться современным десктопным влияниям. В качестве среды окружения была выбрана E 17-й модели, как наиболее настраиваемая, легкая, удобная, приятная, благородная и, в то же время, современная среда. Кроме того, последние выпуски никогда не виснут, не падают, и полностью удовлетворяют моим критериям стабильности.

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

Minoru
()

RSS подписка на новые темы