LINUX.ORG.RU

Сообщения runtime

 

[wine] установка wine под wine и запуск в нём wine'a (желательно через wine)

Мне одному кажется что Games в последнее время замусорили сплошные wine'овые темы? Почему бы не решать свои вопросы на месте (appdb.winehq.org)?

Дискасс.

 

runtime
()

Dead Cyborg и мыши

Помнится, многие тут негодовали, поэтому сообщаю: Киборгу добавили управление мышью. Подробности.

runtime
()

Как пишутся биндинги?

Добрый вечер.

Возникла необходимость получить в своё распоряжение возможность работать с Clutter из Swi-Prolog (т.е., вызывать сишный код). До этого написанием биндингов никогда не занимался, поэтому возник ряд вопросов. Но прежде чем задавать их, в двух словах расскажу о том, что из себя представляет Swi'шный FFI, чтобы было понятнее, что мне нужно.

Swi-Prolog позволяет напрямую обращаться к функциям из специально заготовленных *.so, например:

#include <SWI-Prolog.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>

foreign_t pl_lowercase(term_t u, term_t l)
{
	printf("%d\n", count);
	count++;
	
	char *copy;
	char *s, *q;
	int rval;
	
	if (!PL_get_atom_chars(u, &s))
		return PL_warning("lowercase/2: instantiation fault");

	copy = malloc(strlen(s) + 1);
	for (q = copy; *s; q++, s++)
		*q = (isupper(*s) ? tolower(*s) : *s); 
		
	*q = '\0';
	rval = PL_unify_atom_chars(l, copy);
	free(copy);
	return rval;
}

install_t install()
{
	PL_register_foreign("lowercase", 2, pl_lowercase, 0);
} 

Как видно, Swi-Prolog работает только с функциями, которые возвращают и принимают специальные типы.

Выражаясь по русски, для каждой «обычной функции» мне нужно написать небольшую обёртку, которая будет преобразовывать прологовские типы в сишные и обратно. Ничего сложного, но много ручной работы.

А теперь вопросы:

  • Правильно ли я понимаю, что сегодня никто руками биндинги не пишет, и всё (или почти всё) генерируется автоматически?
  • Если да, то как это делается? На данный момент у меня идея такова - составить нечто вроде БД всех Clutter'овских функций, структур, итп., и уже по ней генерировать нужный мне *.so.
  • Если остальные используют схожий подход, значит ли это, что такие БД уже должны быть собраны до меня, и мне останется лишь их вежливо попросить у разработчиков Clutter или биндингов к нему?
  • «Обернуть» функции довольно тривиально (если не считать всяких variable argument lists, итп). Как быть с макросами?
  • Есть ли готовые работы, от которых можно было бы оттолкнуться?
  • Есть ли что либо почитать по этой теме?

Любые другие мудрые советы приветствуются.

runtime
()

Куда делся Мужик-2?

Сабж. Раньше он так люто зажигал, а теперь даже в теме про переход Торвальдса на xfce не отметился. Уж не заболел ли?

runtime
()

Купить Сателлит. Тот что в космосе.

Я просто оставлю это здесь: http://buythissatellite.org/

Ребята из netsukuku уже начали проявлять к этому некоторый интерес.

runtime
()

Показательная порка

История о том, как связываться с гнусными проприетарщиками:
Как всё было хорошо
Как стало плохо

А теперь версия для Ъ:

  • Жили были фанбои замечательной игровой приставки Сега-Мега, и любили они игру Streets of Rage
  • Фанбои выросли, и решили сделать свои Streets of Rage, с б.ж. и ш.
  • О своих намерениях как порядочные граждане сообщили Sega
  • Пилили игру 8 (восемь!) долгих лет
  • Запилили
  • Для того, чтобы объяснить, что произошло дальше, процитирую форум разрабов:

SEGA have contacted regarding the download hosted on this site. While this issue is being resolved, please do not upload the game for others to download. Any links posted on this site will be removed. Thank you.

Sorry guys, we won't be discussing details here. I am locking this thread for now.

Topic unlocked. Please don't get back to the SEGA case or it will locked again. Thank you

As of now, the project is over.

Комментарии излишни. Делайте выводы.

PS: ребята пилящие OpenSonic поступили очень мудро, решив превратить его в OpenSurge
PPS: желающие найти бинарники да найдут

runtime
()

[Sun-ch] раз уж ввели карму...

Вы знаете что делать: http://www.linux.org.ru/people/Sun-ch/profile

runtime
()

Random News

Случайные новости для тех, кто не посещает Linux-gaming related websites.

Хорошие:

  • Вышла новая версия Губ Лоли, всмысле, Губ Суны: Lips of Suna
  • В фазу закрытого тестирования перешли Spiral Knights. Жаба, браузер, видео тут.
  • Некая контора Big Fat Alien решила смастерить порт своей игры Beep к апрелю. Видео.

Не очень:

  • Natural Selection 2, ранее означавшийся как for «Windoze, Mac, Xbox 360 & Linux», сменил статус на «Windoze, Mac, Xbox 360; Maybe even Linux». Видео.
  • Похоже что Poisonville рипнулся. Ссылок на оффсайт не будет, ибо совсем RIP. Видео на Youtube для желающих оплакать.

Спасибо за внимание.

runtime
()

Ещё не всё потеряно !

Я просто оставлю это здесь: http://www.cheatmasters.com/cmnews/0/12705/news.html

runtime
()

Ubuntu vs. openSuse

Скажите, а почему наибольшую популярность завоёвывает Ubuntu, если самый лучший из userfriendly дистров - openSuse ? Всех смущает то, что там Мигель и рука Microsoft ?

runtime
()

Caturday

Субкота начинается прямо сегодня:

Если кто не понял, это новые игры (точнее, не новые, просто незамеченные общественностью) от разработчиков Raincat.

runtime
()

Linux Mint -> Live USB

Добрый вечер.

Имеется флешка с установленным Linux Mint 9. На флешке 3 раздела ext4 - / (3Gb), /var (512Mb), /home (2Gb). Машина, на которой оно запускается, имеет 1Gb RAM.

Задача - максимально продлить жизнь флешке, при постоянной работе с неё. Идея такова - создать 2 небольших ramdisk'a для /var и /home, которые бы использовались как буфер для операций записи. Т.е., при попытках записи в /home или /var всё сперва пишется в ramdisk. Сброс на флешку должен происходить только если рамдиск заполнился, или при ручном запросе.

Вопрос - можно ли это сделать; если да, то каков путь наименьшего сопротивления ? Любые другие подходы для достижения того-же самого, конечно-же, также допустимы.

PS: нужен именно Mint, Puppy Linux, итп. не предлагать.

runtime
()

Коммерческий софт под Linux

Существует ли какая нибудь крупная база данных по коммерческому софту под Linux ? Попадались разные мелкие сайты, а есть ли какой нибудь более-менее «центральный» и «общепризнанный» проект (как happypenguin.org для игр) ?

runtime
()

Эдна и Харви

Эдна и Харви: квест; проприетарщина; Linux оффициально не поддерживается, но оно на жабе; имеется версия на русском. Кому нибудь приходилось играть ? Как ощущения ?

runtime
()

О судьбе голосований

Добрый день.

Я как-то давно создавал опрос, который не был подтверждён, но и не удалялся. Такие мёртвые души - это нормально (насколько я помню, негодные опросы обычно удаляются) ?

http://www.linux.org.ru/polls/polls/5028053

Если нет, не могли бы вы подтвердить/удалить.

runtime
()

OpenArcanum

Я просто оставлю это здесь: http://arcanum.game-alive.com/category/openarcanum/

runtime
()

Open Sonic 0.1.4

Ура товарищи, 19 сентября вышла новая версия OpenSonic. Все желающие вспомнить детство могут качать и радоваться.

Особо нужно подчеркнуть следующий момент - после длительного труда команда разработчиков похоже пришла к выводу, что у них уже достаточно оригинального контента, и пора делать форк от самих себя, с целью создать оригинальную игру (дабы не нарушать права Sega и Co):

0.1.4 is the last release of Open Sonic. The next version will be Open Surge 0.2.0, a free game inspired in the classic Sonic gameplay featuring nothing but original user-made free (as in freedom) resources: graphics, characters, sound effects, musics, plot, levels, etc.

runtime
()

Natural Selection 2

Случайно наткнулся на такую вот игру в процессе разработки. Проприетарщина, со всеми вытекающими. Скриншоты. Планируется версия под Linux, цитата:

Right now it runs on Windows but we also plan on fully supporting OS X, Linux and Xbox 360.

Проявить свой интерес к Linux версии можно тут

runtime
()

[C] а можно ли...

... в функции узнать имя вызвавшей её функции. Т.е., что-то типа такого:

void foo()
{
    #ifdef DEBUG
    get_caller_name(); // returns "void bar()"
    #endif
}

void bar()
{
    foo();
}

int main(int, char **)
{
    bar();
    return 0;
}

Допустимы любые костыли. Стыдно, но я не знаю асм, и с трудом представляю, как работает debugger, какую отладочную информацию он включает в бинарник, и может ли мне это как-то помочь.

 

runtime
()

[ищется?] бот для работы с сайтами

Добрый вечер.

Пришла мне в голову такая идея - было бы неплохо иметь программу, которая предоставляет удобный интерфейс для работы со всевозможными сайтами. Например, существует множество программ для работы с видеосервисами (поиск, скачка, итп.) - youtube, итп. Если не ошибаюсь, кто-то из местных писал «клиент» для ЛОРа. Хочелось бы иметь _одну_ софтину для автоматизации работы с разными сайтами (поддержка которых добавляется с помощью модулей). При этом хотелось бы иметь не просто альтернативный интерфейс без всего лишнего, а в некоторой степени интеллектуальную программу, которая добавляет функции автоматического поиска, ведения истории, генерации отчётов, итп.

Что я имею ввиду: предположим, мы работаем с популярным торрент трекером rutracker; меня интересуют, скажем, дистрибутивы Linux; я бы хотел иметь возможность указать программе, чтобы она вытащила информацию обо всех соответствующих страницах и сохранила её в локальную базу данных; при этом я бы хотел, чтобы эту информацию она регулярно обновляла и в случае появления новых раздач я получал бы уведомление; затем из этой базы мне нужно получить информацию обо всех раздачах Ubuntu, в которых более 5 сидеров и сгенерировать отчёт в виде одной html страницы, которую я мог бы быстро просмотреть; на странице я бы хотел видеть основную информацию о раздачах, плюс для каждой из них скриншот (который программа сама добудит из страницы с раздачей и сохранит на винт); в дальнейшем мне может потребоваться автоматически вытягивать и передавать на закачку в Transmission все торренты, в названиях которых фигурирует amd64, x86_64; также мне может потребоваться посмотреть, какие торренты были выложены DD/MM/YYYY. Пример конечно надуман, но надеюсь идея понятна.

Фактически, нужно делать следующее: погулять по сайту, почитать страницы, вытащить из них ценную информацию и построить из всего этого базу данных; если надо, построить отчёты; если надо, что-то автоматом скачать; если надо, запустить внешнюю программу с нужными параметрами; всё это должно при необходимости управляться scheduler'ом.

Конечная цель - вместо ежедневной траты более часа на просмотр нужных сайтов тратить не более 15 минут.

Пример с ЛОРом: каждый день с утра получать одну страницу с заголовками всех тем из Development, Games, плюс в конце страницы вывести всё новенькое из Talks в виде аля imageboard (название темы + первое и последние 2/3 сообщения), при этом порезав все темы и сообщения пользователей XXX, YYY, ZZZ (любые совпадения с реальными аккаунтами случайны); ко всему прочему вывести список моих тем, созданных не более месяца назад, в которых имеются новые сообщения.

Пример с youtube: зайти под моим аккаунтом, посмотреть, если ли новые видео в каналах, на которые я подписан; если есть - все видео скачать и сгенерировать страницу с названиями видео и 4 скриншотами к каждому.

Получается, что сама программа должна предоставлять базовые функции - настраимого скриптами бота, интерфейс к базе, ведение истории, интерфейс к wget, youtube-dl, генератор отчётов, итп. Модули соответственно должны всё это использовать а также предоставлять шаблоны отчётов, шаблоны запросов, gui для настройки самих себя и прочие удобства.

Первый вопрос - попадалось ли вам что нибудь подобное ? Если нет, то какие будут предложения: на чём писать, и что можно взять готового ?

runtime
()

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