LINUX.ORG.RU

Сообщения pevzi

 

Дипломная работа

Предстоит тут писать дипломную работу в направлении информационной безопасности, но не могу найти действительно интересную мне тему. Хотелось бы разработать какое-нибудь ПО и сделать некоторый вклад в развитие линукса. Например, пару раз встречал здесь на лоре, что не хватает нормального инструмента для мониторинга трафика по процессам. Насколько актуальна эта проблема? Чего конкретно не хватает в nethogs и atop с модулем netatop (про который, к слову, в интернете крайне мало упоминаний)?
Еще не лишним было бы сказать, что на работу осталось менее трёх месяцев.

 ,

pevzi
()

NightSky и Cogs странно работают

Поставил NightSky и обнаружил, что игра работает с раздвоенным экраном и неправильными цветами: скрин. Cogs из прошлых хамблов вел себя точно так же, когда я его ставил несколько месяцев назад. У кого есть мысли, куда копать?
Ideos X5, Cyanogenmod 7.1.0, Android 2.3.7.

 , cogs, nightsky

pevzi
()

Platypus Egg

Наткнулся тут на довольно интересную группу Platypus Egg (пока всего один альбом). Кто-нибудь может посоветовать что-либо похожее?

 

pevzi
()

Помогите опознать шрифт

Кто-нибудь может подсказать, что это за шрифт?

 ,

pevzi
()

Не было печали

После обновления GTK до 3.4 появился один забавный баг. Как воспроизвести:

1. Запускаем любое приложение на GTK3 (например, nautilus).
2. Немного поперемещаем окно за пустое место на панели.
3. Открываем меню в этом приложении.
4. Профит — оконный менеджер падает.

Воспроизводится с openbox, с другими WM не пробовал. Кто-то еще сталкивался? Может, уже где-то есть багрепорт?

 , ,

pevzi
()

Случайны ли совпадения?

 

pevzi
()

[python] Утечки памяти

Писал тут игру на конкурс, и в самый последний день заметил, что при перезапуске уровня происходит жестокая утечка памяти: создается новый экземпляр уровня, а старый не удаляется, хотя внешних ссылок на него не остается. Поразмыслив и погуглив, пришел к выводу, что причина — циклические ссылки у объектов с деструкторами (gc их собрать не может ввиду неопределенности порядка вызова деструкторов). Был несколько огорчен, ибо немалая часть логики была завязана именно на циклических ссылках.

Вот ссылка на ревизию, в которой я еще ничего не пытался исправлять, а вот мои потуги в исправлении. Основная суть в level.py, player.py и game.py, в последнем из которых на 84 строчке пересоздается и утекает уровень. В общей сложности в игре чуть более тысячи строк, но интерес представляют всего где-то 600.

Какие циклы увидел я:

  • В game.py для space добавляются collision handler'ы — в level.space сохраняются ссылки на коллбэки, являющиеся методами level, т.е. фактически образуется цикл level → space → level. Вроде как решил переносом space в game.
  • player хранил ссылку на game (т.е. game → player → game), чтобы иметь возможность после смерти образовать капли крови и затем вернуться на чекпоинт. Решил передачей game в качестве параметра хэндлеру on_die.
  • Практически каждый класс в модуле level.py содержит ссылку на shape — объект типа pymunk.Shape. Но так как в collision handler передаются только ссылки на space и arbiter, из которых можно получить только физические объекты (тела и фигуры), мне нужно, чтобы фигура хранила еще некоторую дополнительную информацию (например, цвет у краски, next_level у выхода, id у триггера и прочее). Изначальное решение состояло в self.shape.sprite = self у объекта, что являлось явной циклической ссылкой. Решено частично, ибо при рисовании кляксы (level.py:365) мне нужно сразу обновить текстуру целевого объекта (т.е. нарисовать маску), а значит необходимо из фигуры иметь доступ к методу update_texture.

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

Собственно, вопросы:

  • Все ли циклические ссылки я нашел?
  • Правильно ли я от них избавился, или это больше похоже на костыли, и ситуация требует пересмотра вообще всей архитектуры кода?
  • Нужно ли было вообще от них избавляться, или все можно было решить гораздо проще?
  • Как все-таки быть с обновлением текстуры, на которую был нарисован Blot?
  • Еще интересно, почему повышается потребление только VIRT памяти, а RES стабильно остается на уровне 40 мб, но это не мешает игре со временем уходить в своп.

Если у кого-то есть время и желание, большая просьба помочь разобраться с этими вещами.

 

pevzi
()

[opengl] Рендер в текстуру размерами больше, чем экран

Мне нужно нарисовать пару полигонов в текстуру, к примеру, разрешением 1000 * 1000. Происходит это примерно так:

id = GLuint(0)
glGenFramebuffersEXT(1, byref(id))
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, id)
glFramebufferTexture2DEXT(
    GL_FRAMEBUFFER_EXT,
    GL_COLOR_ATTACHMENT0_EXT,
    texture.target,
    texture.id,
    texture.level)

# рисуем здесь

glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0)

Но, понятное дело, всё, что выходит за границы размеров экрана, не рисуется. Вопрос: как это дело реализовать?

 

pevzi
()

[pyglet] Воспроизведение видео с веб-камеры

Воспроизведение локальных видеофайлов, например, реализуется легко. А как совершить чтение и воспроизведение потока видео с вебкамеры? Гугль не помог.

pevzi
()

Хорошие игры под Android

Поделитесь, в какие из годных игр вы играли на андроиде.

Мой списочек:

pevzi
()

Опознать мелодию

Внезапно вспомнилась мелодия одна, набросал в seq24. Может кто знает, что это такое? За полное соответствие оригиналу не ручаюсь, но тот кто слышал, думаю узнает и так.

http://dump.bitcheese.net/files/ijejuxo/export.ogg

pevzi
()

[Android] Трехмерный физический движок

Существует ли в природе сабж? Нашел только любительский порт Bullet, но скорость его работы, мягко говоря, не радует.

 

pevzi
()

Пишем музыку на C

Сразу смотрим видео — станет все понятно: http://countercomplex.blogspot.com/2011/10/algorithmic-symphonies-from-one-li...
Я в восторге, придумали же такое.

pevzi
()

[спв] Как разбаниться на eBay?

Пятиминутка глупых вопросов.
Где-то год назад заказал товар на eBay и успешно его оплатил. Но только потом заметил, что случайно тыкнул кнопку заказа дважды (не помню уже, каким образом это получилось), и, конечно, создался case о неоплаченном товаре. Перерыл ебеевский хелп на тему того, как можно от этого case избавиться, нашел что-то вроде «связаться с продавцом». Связался, написал ему, что заказал второй раз случайно, с намеком на то, что меня можно бы и помиловать. Ответа не поступило, через какое-то время case закрылся, а мой аккаунт оказался suspended (непонятно только, почему — в справке написано, что блокировка происходит когда накопится несколько неоплаченных товаров, у меня же он был только один).
Ну и главный вопрос: что теперь вообще можно сделать? Писать в техподдержку ебея неразумно — все-таки забанили за дело.

 

pevzi
()

Bitbucket теперь поддерживает Git

Теперь Bitbucket кроме Mercurial поддерживает и Git. Пруф: http://blog.bitbucket.org/2011/10/03/bitbucket-now-rocks-git/

pevzi
()

[ffserver] Address family not supported by protocol

pevzi@pevzi-laptop:~$ ffserver 
ffserver version 0.7.1, Copyright (c) 2000-2011 the FFmpeg developers
  built on Jul 24 2011 09:00:03 with gcc 4.6.1
  configuration: --prefix=/usr --enable-libmp3lame --enable-libvorbis --enable-libxvid --enable-libx264 --enable-libvpx --enable-libtheora --enable-postproc --enable-shared --enable-x11grab --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libschroedinger --enable-libopenjpeg --enable-librtmp --enable-gpl --enable-version3 --enable-runtime-cpudetect --disable-debug
  libavutil    50. 43. 0 / 50. 43. 0
  libavcodec   52.122. 0 / 52.122. 0
  libavformat  52.110. 0 / 52.110. 0
  libavdevice  52.  5. 0 / 52.  5. 0
  libavfilter   1. 80. 0 /  1. 80. 0
  libswscale    0. 14. 1 /  0. 14. 1
  libpostproc  51.  2. 0 / 51.  2. 0
bind(port 8090): Address family not supported by protocol
Tue Sep  6 18:36:07 2011 Could not start server

Конфиг отсюда. Что я делаю не так?

 

pevzi
()

Пожалуйста, сделайте User line break по дефолту

Ну или как раньше — чтоб запоминался последний выбранный вариант. Ну правда, надоело (:

pevzi
()

[python][django] DjangoZoom

Неожиданно наткнулся на такую вещь: DjangoZoom. Как я понял, это такой Heroku, только для Django-приложений (cloud application platform). Судя по видео, все очень даже замечательно и удобно, правда нигде не могу найти сколько оно будет стоить, сколько места дают и прочее. Сейчас находится в состоянии закрытого бета-теста, но есть возможность запросить инвайт. Кто-нибудь уже пробовал?

PS: да, там же узнал еще про Mezzanine, CMS на Django. На первый взгляд очень симпатишно, хорошая альтернатива всяким Plone, Django-CMS и Pinax. Список возможностей таки впечатляет.

 ,

pevzi
()

[arch] Создать пакет из установленного

Извиняюсь за невнятный сабж, но захотелось странного. Установлен у меня некий пакет foo, но нет собсно исходного файла пакета tar.gz. Вот именно его и нужно создать. Какой есть простой способ сделать это?

 

pevzi
()

Автогибернейт при низком заряде батареи

Раньше юзал laptop-mode, который автоматически гибернейтил ноутбук при низком заряде батареи. Но его работа походу зависела не только от уровня заряда батареи, но и от расположения звезд, потому что при заданных 4% он гибернейтил ноут то при 3%, то при 1%, а то и вообще не успевал. Решил в итоге пересесть на gnome-power-manager, который просто отлично выполнял свои обязанности и чётко при нуле всегда успешно и вовремя гибернейтил систему. Но при обновлении до гном3 оно стало просить запущенный gnome-settings-daemon, который мне нафиг не нужен на моем уютном опенбоксе. Поэтому вопрос: чем можно его заменить?

pevzi
()

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