LINUX.ORG.RU

Сообщения nnkd

 

[олдскул] Помогите вспомнить название игры

Привет лор, прости за бред, но ищу одну игру, не могу вспомнить название.

Была очень давно, я играл на первом пне году в 98 наверное, но игра вышла раньше. Двумерный платформер, дом, мертвецы. Отличительная особенность игры (и уникальная вроде) - когда убиваешь врага - в области его головы появляется квадрат с анимацией убийства (квадрат - в котором изображение увеличено). Тона красочные. Помню нож в глаз втыкался.

Нашел несколько людей, которые помнят этот квадрат, но название никто найти не смог :). Что помнит коллективный разум?

 

nnkd
()

[CouchDB][MapReduce] Related by tags

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

Суть такая, у меня есть документы вроде:

{
'_id': 'id_1' ,
'name': 'doc1',
'tags': ['tag1', 'tag2', 'tag3'],
..
}


{
'_id': 'id_2' ,
'name': 'doc2',
'tags': ['tag1', 'tag2', 'tag4'],
..
}

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

Сейчас у меня map возвращает данные в виде

tag1 doc_id
tag2 doc_id2
...

В reduce я их упрощаю, и сразу из reduce возвращаю для определенного тэга, список всех возможных пар документов с этим тэгом, каждая пара -- определяет вес связи между этим документом и связываемым.
Т.е. если map вернул:

tag1 doc_id1
tag1 doc_id2
tag2 doc_id1
tag2 doc_id2
tag3 doc_id2
tag3 doc_id3

То reduce вернет пары
doc_id1, doc_id2
doc_id2, doc_id1
doc_id1, doc_id2
doc_id2, doc_id1
doc_id2, doc_id3
doc_id3, doc_id2

По идее, если одинаковые пары суммировать, то там, где их большее количество -- соседний документ является самым "похожим". В данном случае пар doc_id1, doc_id2 (и обратных) -- 2 штуки, т.е. можно сделать вывод что doc_id1 похож на doc_id2. Вот только вопрос, где суммировать количество пар в паттерне MapReduce и реализации в CouchDB? Могу ли я еще раз рекурсивно вызвать reduce ? Или я все делаю неправильно? Или то что я хочу -- невозможно?

З.Ы. Допускаю что объясняюсь непонятно, ибо не спал оч долго.

nnkd
()

[Email] Рассылка новостей сайта.

Добрый день. Как правильно решается задача рассылки новостей кучи пользователям? Все пользователи разбиты на группы по городам. В данный момент используется GNU/Mailman со списками рассылки, но иногда выходит очень неудобно, когда необходимо произвести рассылку более чем одной группе, и с различными правилами. Писать самому?

 

nnkd
()

[ЖЖ] Как правильно?.

Специалистам ЛОРа.
Ярый оффтопик, но хочу спросить мнение местной аудитории.

Разрабатывали продукт для одной фирмы, и разработка была уложена в две итерации. Первая закончилась и была оплачена, но исходники по какому-то стечению обстоятельств фирме отданы не были, приложение (веб) хостилось у нас, и было все хорошо. Началась вторая итерация по улучшению, фирма оплатила 30%, после - месяц работы, и вот продукт усовершенствован и вообще готов к продакшену. Тут приходят сроки и фирма заявляет, что платить она особо за вторую итерацию не хочет, и вообще не очень заинтересована уже в доработке. Договоров никаких нет, все в черную (да простит меня(с)) И просит отдать исходники первой итерации.
Как быть? Кинуть их в ответ, и не отдавать первую итерацию до оплаты второй, или поступить честно, спустить в унитаз месяц работы и не потерять репутацию.?

З.Ы. ССЗБ что без договора, знаю.

 

nnkd
()

[22 Dec] День энергетика.

Поздравляю всех, кто относится к сабжу.

nnkd
()

[Django][Admin] GenericTabularInline кастомайзинг.

Еще раз добрый день ЛОР.

Хочу - откастомайзить TabularInline форму.

Пишу:

#--------------

class TagInline(generic.GenericTabularInline):
    """ TabularInline for tags. """
    # define model
    model = ObjectTag
    # fields for generic relationship
    ct_fk_field = 'object_pk'
    # two objects for adding
    extra = 2
    # create new form
    class TagInlineForm(ModelForm):
        class Meta:
            model = ObjectTag
            fields = ('tag',)
    # set form
    form = TagInlineForm


class SimplePostAdmin(admin.ModelAdmin):
    """ Test ModelAdmin class. """
    # include inlines
    inlines = [
              TagInline,
              CommentInline,
              ]


admin.site.register(SimplePost, SimplePostAdmin)

#--------------

Захожу в редактирование объектов SimplePost, и вижу инлайн. Но только в формах показываются все поля объекта ObjectTag. А мне надо чтобы только поле tag отображалось.

Пробовал менять формсеты, и много другого всего, безрезультатно.

Судя по докам:

... InlineModelAdmin options¶

The InlineModelAdmin class is a subclass of ModelAdmin so it inherits all the same functionality as well as some of its own: ... form¶

The value for form is inherited from ModelAdmin. This is what is passed through to formset_factory when creating the formset for this inline. ....

Чего я не понимаю?.

 ,

nnkd
()

PHP/Frameworks

Добрый день.
Те кто работали с фрэймворками на этом замечательном языке могут оставить комментарии о них?
Интересуют Zend Framework, CodeIgniter, Symfony, CakePHP, перерыл весь интернет, прочитал туториалы, документацию, но не работал ни с чем из этого, вследствие чего выбор затрудняется.
Задача, которую хочу реализовать -- CMS с кучей модулей, поддержкой мультидоменности, административной частью, и разделением прав для каждого модуля и действия.
Пока привлекает симфони, похожестью на django, хотя судя по http://www.alrond.com/ru/2007/jan/25/rezultaty-testirovanija-6-frameworks/ он тормоз еще тот.
Изначально задача была реализована своими силами, но текущего функционала не хватает, и писать новые велосипеды не хочется.
Спасибо заранее.

nnkd
()

[Ubuntu][Intrepid][Compiz] wtf

Странности.
Если открыть "системный монитор" и покрутить прокруткой на графиках, или на других свободных от контролов областях, то рабочие столы переключаются :\
Если в окне пиджина навести указатель мыши на область между нижней рамкой окна и полем для ввода сообщения, и тоже покрутить прокруткой, то рабочие столы снова переключаются.
Или на статус-баре в наутилусе.
Или ...
Это они так специально, да?

 ,

nnkd
()

[Yandex.Money] Интеграция

Привет всем, кто-нибудь занимался интеграцией своего веб-сервиса с яндекс.деньгами?
Пишу сюда, потому что в ступоре и не знаю с какой стороны подойти.
Необходимо получать оплату за услуги (это есть в FAQ и вопрос не стоит) и пересылать деньги назад за неиспользованные услуги (этого в факе нет, написал в яндекс они сказали "Программно перечислить деньги со счета на счет невозможно, нужно участие человека").
Если верить ответу яндекса, то обменников коих большое количество в природе быть не должно.
Или я дурак?
Поделитесь опытом.

nnkd
()

[Фильмы][Странное] А есть ли

Сабж, фильм, в котором все умирают?
Т.е. ну вот вообще все.
Во всех "фильмах-катастрофах" которые я видел, всегда кто-нибудь остается, пускай даже не главные герои.
А есть где никого не остается?

 ,

nnkd
()

[DCPP][SimpleDC++][Part 2] Попинайте поделие.

Некоторое время назад (http://www.linux.org.ru/view-message.jsp?msgid=2872564&lastmod=1214335047801) я писал о том, что начал разработку DC++ клиента на языке Python. С тех пор многое изменилось, отпуск закончился, а код я таки переписал. Пользуюсь написанным сам уже дня два, вроде все работает (очень редко правда рэндомные сегфолты, подозреваю то что в гтк я не все локи проставил\ ). Итого прошу попинать,потестить, кто хочет, может помочь.
Фичи которые уже есть, помимо основных:
-Мультисегментная закачка
-Загрузка директорий из окна поиска (мне очень не хватало в валкнуте)
-Открытие/генерация magnet-ссылок. (копировать в буфер обмена, ткнуть в трэй правой кнопкой мыши, выбрать Open magnet-link и нажать ок, либо ткнуть в чате на magnet-ссылку)
-Открытие окна чата с пользователем простым кликом на нике в чате (кто-то просил тут)
и по мелочи.
_Не работает_ пассивный режим ни в одном из своих проявлений.
Как установить и воспользоваться:
установить зависимости, это емнип: tthsum, python-psyco, python-glade2, python-gtk2, python-notify, ну и, собственно, сам питон.
Далее:
svn checkout http://simpledcpp.googlecode.com/svn/trunk/ simpledcpp-read-only
cd simpledcpp-read-only/
-- следующие два шага можно пропустить, тогда придется запускать программу как ./bin/simpledcpp --
make
sudo make install
-- создание файллиста, например так: --
simpledcpp "--folders:Мои файлы:/home/n0uk/Видео:Мои картинки:/home/n0uk/Картинки" --recreate
-- ждете рехэша, в дальнейшем можно делать запускать "simpledcpp --recreate", и считать tthsum программа будет только для новых файлов. --
simpledcpp
-- теперь идете в Preferences/Параметры вводите ип, порт, ник, етцетцетц. _и жмете Apply_ --

Связаться со мной можно написав на nix[dot]n0uk[dog]gmail[dot]com .
З.Ы. Тестил это дело на Ubuntu 8.04.1, локаль utf-8 (с другой локалью скорее всего могут быть траблы)
З.З.Ы. Кодировка по умолчанию -- cp1251, чтобы это исправить нужно вбить в ~/.simpledcpp/settings.xml или заменить строку <p name='codepage'>cp1251</p> вместо cp1251 -- свою кодировку.
З.З.З.Ы. Это даже не преальфа.
удалить если вы уже установили:
sudo make uninstall

>>>

 

nnkd
()

[PyGtk2] Threads, Segmentation Faults

Добрый вечер.
Кто-нибудь сталкивался с сегфолтами на PyGTK2 при использовании потоков? Основные:
1) Если интенсивно добавлять и удалять строки из treeview из разных потоков, сегфолтится. Мьютексы не спасают, спасают если перед освобождением мьютекса поставить слип на 0.1,0.2 секунды. Проявляется не всегда. Это только у меня так?
2) _Абсолютно рэндомно_ вываливается это:

./main.py:327: PangoWarning: shaping failure, expect ugly output. shape-engine='BasicEngineFc', font='DejaVu Sans 9.9990234375', text=''
gtk.main()
Segmentation fault

на 327 строке gtk.main(). Повторить это вываливание не получается уже неделю. Но вываливается всегда в течение 15 минут, пробовал отключать модули гуйные, думал проблема в коде, но поотключав все по очереди передумал. Что это, и как лечиться?\

>>>

nnkd
()

[Protocol] Direct Connect

Кто-нибудь занимался?.
Не могу понять один момент:
Пример из документации аплоада файла:

	Client <-> Client Communication in DC. 11-05-2002. By aDe 
	---------------------------------------------------------- 

	ACTIVE FILE DOWNLOAD 
	---------------------- 
	D = downloader 
	U = uploader 
	H = hub 

	D>H: $ConnectToMe <U's username> <D's IP and port>|
	H>U: $ConnectToMe <U's username> <D's IP and port>|
	U>D: Connection
	U>D: $MyNick <U's nick>|$Lock <new lock with pk>|
	D>U: $MyNick <D's nick>|$Lock <new lock with pk>|$Direction Upload <anumber>|$Key <key for U's lock>|
	U>D: $Direction Download <anumber>|$Key <key for D's lock>|
	D>U: $Get <filepath + filename in exact case>$<start at byte (1=beginning of file)>|
	U>D: $FileLength <length of the requested file>|
	D>U: $Send|
	U>D: Data, in many chunks.
	D>U: $Send|       <- when 40906 bytes are sent, ask for more


У меня получается:

$ConnectToMe botnick 92.125.195.196:31333
Creating Upload Connection to addr 92.125.195.196:31333
92.125.195.196
Localhost connection
#>>>>> HERE <<<<<<#

>>$MyNick botnick|$Lock EXTENDEDPROTOCOLABCABCABCABCABCABC pk=1024|
<<$MyNick n0uk|$Lock EXTENDEDPROTOCOLABCABCABCABCABCABC Pk=DCPLUSPLUS0.698ABCABC|$Supports MiniSlots XmlBZList ADCGet TTHL TTHF GetZBlock ZLIG |$Direction Download 6172|$Key ����A ѱ���0�0 0 0 0 0 0|
DLOCK IS: (EXTENDEDPROTOCOLABCABCABCABCABCABC)
>>$Direction Download 6172|$Key ����A ѱ���0�0 0 0 0 0 0|
<<

Вот в этом месте -- клиент перестает отвечать, когда исходя из документации должен сказать "$Get блаблабла"

(>>) - отправляю я
(<<) - приходит мне

Что я упустил?

>>>

 

nnkd
()

[OpenGL] Туплю :/

Есть следующий код:

#include <stdio.h>
#include <GL/glut.h>
#include <stdlib.h>
struct ProgData {
int width;
int height;
};
ProgData pdata;

void DisplayFunc(void){
glClearColor(0, 0, 0, 0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glLoadIdentity();
float deep = -1.3f; //!!!
glBegin(GL_LINES);
glColor3f(1.0f,1.0f,0.0f);
glVertex3f(pdata.width/2,0,deep);
glVertex3f(pdata.width/2,pdata.height,deep);
glVertex3f(0,pdata.height/2,deep);
glVertex3f(pdata.width,pdata.height/2,deep);
glEnd();
// glFinish();
glPopMatrix();
glutSwapBuffers();
}

void KeyboardFunc( unsigned char key, int x, int y){
printf(" %c - %d - %d \n",key,x,y);
}

void ReshapeFunc(GLint width, GLint height){
pdata.width = width;
pdata.height = height;
glViewport(0, 0, width, height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, width, 0, height, -1.0, 1.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glutPostRedisplay();
}

void MouseFunc(int button, int up, int x, int y){
// Button
// 0 - Left.
// 2 - Right
// 3 - Wheel up
// 4 - Wheel down
// 1 - Wheel press
//
// up -
// on mouse down - 0
// on mouse up - 1
//printf("%d %d %d %d\n",x,y,a,b);

}
int main(int argc, char *argv[]){
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutInitWindowSize(320, 240);
pdata.width = 320;
pdata.height = 240;
glutCreateWindow("Splines");
glutDisplayFunc(DisplayFunc);
glutReshapeFunc(ReshapeFunc);
glutKeyboardFunc(KeyboardFunc);
glutMouseFunc(MouseFunc);
glEnable(GL_LINE_SMOOTH);
glEnable(GL_DEPTH_TEST);
glShadeModel(GL_FLAT);
glDepthFunc(GL_LESS);
glHint(GL_LINE_SMOOTH_HINT,GL_NICEST);
glutMainLoop();
return 0;
}

В функции DisplayFunc есть переменная float deep, суть в том, что если я устанавливаю ее в значение от -1..0, линии рисуются нормально.
Если устанавливаю в -1...-(бесконечность), линий не вижу :\.
Как только не извращался, не могу понять почему.
Также если устанавливаю эту переменную в ноль и делаю glTranslatef в z на больше чем -1, все опять не прорисовывается.
В чем проблема?

>>>

 

nnkd
()

[Ubuntu][PyOpenAL] Ooops.

Решил побаловаться с опеналом, а тут:

$ sudo aptitude install python-openal
$ cd /usr/share/doc/python-openal/examples/
$ python demo.py
Traceback (most recent call last):
File "demo.py", line 3, in <module>
import pyopenal
File "/var/lib/python-support/python2.5/pyopenal/__init__.py", line 30, in <module>
from _openal import *
ImportError: /var/lib/python-support/python2.5/_openal.so: undefined symbol: alutExit

У меня у одного так?.
P.S.
[Ubuntu Hardy Heron]
[libalut0 -- установлена]

>>>

 

nnkd
()

[Железо] Посоветуйте.

Привет всем. Я тут заметил что абсолютно отстал, и некомпетентен в выборе железа. Хочу сменить свою древнюю по современным меркам машинку в ближайшем будущем + новый моник.
Пока присмотрел:
CPU: Intel Core 2 Duo E8200
MB: ASUS P5KC, Socket 775 - ибо DDR2\DDR3
Video Card: 512Mb PCI-E GeForce 8800GT, ASUS EN8800GT/G/HTDP
Монитор от асуса:
22" Asus VK221D TFT

Зачем нужно: чего-то побыстрее хочется, плюс чтобы не обновлятся долго еще. Ну и не играл несколько лет, хочу посмотреть достижения игростроения. И чтобы HDTV не тормозило как сейчас.
Вопрос: Что из этого следовало бы поменять доплатив\сбавив_цену, но потом не пожалев? Где под линуксом могут возникнуть грабли кроме как на видео?
Да, и как там у Нвидии с дровами под линукс, никогда не было их видокарты? А как с дровами у HD2*** HD3*** от АМД?.
PS. Заказывать хочу тут -> alfa-computer.ru, кто нибудь испытывал работу их сервис центра?.

>>>

 

nnkd
()

А вот:

Что бы вы делали, если бы из авторитетных источников узнали что на землю падает огромный метеорит, и упадет допустим в сентябре?
А какой вы видите ситуацию в мире, если бы это осветили в СМИ?.

>>>

nnkd
()

[UMS][Bad sectors] Как отформатировать в фат, чтобы бэды не задействовались в ФС ?

Привет всем. Сломался плеер (UMS), точнее не сломался, но на нем куча бэдов. Выдает fsck. ФС - Fat32. Пробовал делать в винде полную проверку на бэды, и форматировать. Бесполезно, она их не закрывает. Сейчас винды нет, в mkfs.vfat есть опция [-l bad-block-file]. Это то?. А как можно получить список бэдов для того чтобы указать мкфс.вфату?. Вообще фат умеет размещать суперблок (или FAT, что там у него), исключая битые секторы?.

>>>

nnkd
()

Алгоритмы восстановления равновесия.

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

>>>

nnkd
()

[Horror][Fear] ReiserFS captured my partition.

Привет всем.
Включал машинку, все зависло, разобрался почему виснет - виснет при попытке монтирования одного раздела на жестком диске. На разделе рейзер. Все другие разделы с этого жесткого диска монтирует и чекает нормально. Пробовал загрузится без этого диска, потом вставить (hotplug) и прочекать этот раздел. Виснет при чеке.
n0uk@rinasu:~$ reiserfsck -V
reiserfsck 3.6.19 (2003 www.namesys.com)
n0uk@rinasu:~$ uname -ar
Linux rinasu 2.6.22-14-generic #1 SMP Tue Feb 12 07:42:25 UTC 2008 i686 GNU/Linux

Пробовал загрузиться в древненьком дебиане, так же завис при чеке.
Пробовал в винде, через rfstools - читает этот раздел нормально.
Как его оживить?.

>>>

 

nnkd
()

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