LINUX.ORG.RU

Сообщения asgard

 

autotools: автоматизация.

ситуация такая: есть проект, который по воле необходимости пришлось переводить на autotools, есть в нём поддиректория, где находятся десятки сишных файлов. из каждого файла делается *.so модуль банальной строкой:

%.so: %.c bla-bla-bla

есть ли в автотулсе возможность так же коротко записать таргет в Makefile.am без плясок с бубном типа сторонних скриптов, которые будут составлять список нужных файлов, а потом использоваться для определения доп. макросов в configure.ac? это решение описывается в autobook, и оно мне сильно не по душе, всё больше склоняюсь к использованию отдельного мейкфайла для данной директории. есть ли иные выходы?

спасибо.

asgard
()

если не можешь побдить, умей гордо поклоняться

(с) ницше.

http://osnews.com/story.php/17945/Windows-Server-2008-Features-Address-Linux-... для тех, кто не ходит по ссылкам:

> Bill Laing, the general manager for Microsoft's Windows Server division, told eWEEK. "Having less surface area does reduce the servicing and the amount of code you have running and exposed, so we have done a lot of work in 2008 to make the system more modular. There are more than 30 components not installed by default, which is a huge change," Laing said. "We also have server core, which doesn't have the GUI, so I would say that is a response to the options people had with Linux that they didn't have with Windows."

дожили, m$ уже под linux косит =)

asgard
()

mmap && PROT_EXEC

задача: есть две программы. допустим, что одна из них печатает "hello workd!", назовём её hw, цель фторой программы - exec_hw - размапить кл-во памяти равное размеру бинарника hw и скопировать контекст данного бинарника в размапленную область, далее сделать jump на размапленный адрес. в теории после такого джампа должна выполнится программа hw, если при вызове ф-ии mmap был передан флаг PROT_EXEC, на практике же я получаю sigfault(сигнал SIGSEGV).

NOTE: задача не имеет никакой практической подоплёки. её единственная цель - удовлетворение моего любопытства, так что не нужно предлагать мне убить себя об стену, завести девушку, использовать lisp, what ever else...

код:

int main(void)
{
...
void *code_ref; /* start address of mapped file */
int fd; /* our hw binary file descriptor */
char buf[DEF_BUF_SIZE]; /* DEF_BUF_SIZE = 512 */
size_t ex_size, wr_size, cur_msize = 0;

ex_size = get_ex_file_size(); /* just get file size using stat() */

if((code_ref = mmap(code_ref, ex_size, PROT_EXEC | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, 0, 0)) == NULL)
error("can't mmap hw!");
if((fd = open(EX_FILE_NAME, O_RDONLY)) < 0) /* EX_FILE_NAME = "./hw" */
error("can't open executable file!");

/* copy data from hw to maped memory */
while((wr_size = read(fd, buf, DEF_BUF_SIZE)) > 0) {
memmove(code_ref + cur_msize, buf, wr_size);
cur_msize += wr_size;
memset(buf, '\0', wr_size);
}

if(wr_size < 0)
error("can't read from executable file!\n");

close(fd);
__asm__("jmp *%0" : : "m" (code_ref)); /* jumping indeed */

...

exit(EXIT_SUCCESS);
}

может быть кто-нибудь знает в чём проблемма?

asgard
()

adobe планирует открыть flex

я не сторонник флэша, скорее его противник, но инициатива компании adobe с открытием flex'a мне более чем по душе. будем надеятся, что адобовцы не бросают слов на ветер.

http://news.com.com/2100-7344_3-6179305.html?part=rss&tag=2547-1_3-0-5&am...

asgard
()

а rms-то оказывается поэт

к тому же ещё и певец.
http://www.stallman.org/guantanamero.ogg (Listen to the recording of Guantanamero, a protest song written in Spanish.)

а здесь можно почитать его рифмоизлияния:
http://www.stallman.org/doggerel.html

example:
If your computer still is running Windows,
And every time it crashes your frustration grows.
When the system's not free, you will always be hosed.
Just boot it. Put a GNU system on,
And boot it, boot it.
Or put it in your horn, and toot it!


боян, да?

asgard
()

только у меня гугль висит?

сабж.

все остальные сайты загружаются, но google.com вместе со всеми его сервисами не доступен. кто знает что случилось с гуглём(ну или с моей сеткой...)?

asgard
()

вопрос C++ девелоперам

волею случая пришлось вернуться - к счастью ненадолго - к уже немного подзабытым плюсам. дьявол с ним, что пришлось переодически листать стауструпа в течение разработки библиотеки, дабы вспомнить основные тонкости языка. признаться, после долгой разработки на других языках я отвык от такого кл-ва тонкостей и подводных камней, даже при реализации математической библиотеки предпочитя избежать многочисленных нюансов перегрузки операторов, копирующих кострукторов, неявных приведений типов и прочих "радостей жизни". открестился explicit'ами, методами типа obj.Division, obj.PowerOf, Obj.Subtr, etc. а вопрос в следующем: кто-нибудь из вас вообще использует перегрузку операторов(не считая new, delete и ->) и мн-во конструкторов для приведения заданного типа к иному или всё же для вас предпочтительнее избежать первое явными методами в стиле obj.Div, obj.Suvtr, etc, а второе - obj.ToInt, obj.ToDouble, etc? желательно увидеть аргументацию. спасибо.

asgard
()

m$'y не нравится GPLv3 =)

"Обидно, что FSF пытается использовать GPLv3 для предотвращения будущего сотрудничества между промышленными лидерами, приносящего пользу покупателям." Заявил Horacio Gutierrez, вице-президент мелкомягких по вопросам интеллектуальной собственности и лицензирования.

(more info: http://osnews.com/story.php/17586/Microsofts-Linux-Woes/)

слово *покупатели* меня особенно убило =)

asgard
()

elisp regexps

> &#8216;\digit&#8217; matches the same text that matched the digitth occurrence of a grouping (&#8216;\( ... \)&#8217;) construct.

In other words, after the end of a group, the matcher remembers the beginning and end of the text matched by that group. Later on in the regular expression you can use &#8216;\&#8217; followed by digit to match that same text, whatever it may have been.

The strings matching the first nine grouping constructs appearing in the entire regular expression passed to a search or matching function are assigned numbers 1 through 9 in the order that the open parentheses appear in the regular expression. So you can use &#8216;\1&#8217; through &#8216;\9&#8217; to refer to the text matched by the corresponding grouping constructs.

For example, &#8216;\(.*\)\1&#8217; matches any newline-free string that is composed of two identical halves. The &#8216;\(.*\)&#8217; matches the first half, which may be anything, but the &#8216;\1&#8217; that follows must match the same exact text.

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

как, например, в перле $var =~ /.*([a-z]+).+/; my capt = $1;

или использованием regexp ссылок только в контектсте того же regexp'a всё ограничивается?

спасибо.

asgard
()

очередная статья про open-source

некий Fernando Cassia пеарит open-source software. причём пеарит очень хорошо аргументируя, чем для юзера реально выгоднее open-source. даит сей автор на самое больное: мол, проприетарщики могут мониторить ваши данные, хранящиеся на хардах, включая вашу коллекцию музыки, фильмов, etc. также он довольно развёрнуто поясняет, что проприетащикам не выгодно тянуть старые версии того или иного програмного обеспечения в новую систему.

http://www.theinquirer.net/default.aspx?article=38544

респект.

asgard
()

Популяризация GNU/Linux через приложения

"Основная проблема адаптации пользователя в Linux - не операционная система, а приложения на которые пользователь вынужден переключиться. Многие пытались переключиться на linux, имея довольно скудный опыт работы с open-source приложениями доступными под GNU/Linux. Kutztown GNU/Linux User Group(Пенсильвания) активно помогает преодалеть потенциальным пользователям трудности адаптации, путём предоставления open-source приложений *под windows* преподавателям. Вместо предоставления преподавателям GNU/Linux, группа предоставляет open-source. В рамках программы, целью которой является увеличение кл-ва потенциальных пользователей GNU/Linux, преподавателям были вручены диски с набором наиболее популярных open-source приложений, совместимых с windows."

В общем, с некоторой точки зрения - вполне здравая позиция: показать пользователям, что в альтернатвной операционной системе есть мн-во аналогов популярных проприетарных продуктов и дать пользователю время на осознание сего факта на практике, на привыкание к некоторым особенностям. Но с другой стороны пользователь в любом случае вынужден будет адаптироваться в новой операционной системе, он вынужден будет вкурить kde/gnome/any_other_de_or_wm, процесс установки новых пакетов, etc. И даже если он(потенциальный пользователь) привыкнет к open-source аналогам проприетарных продуктов, операционная система с иной философией может его оттолкнуть, и некоторым будет проще заплатить деньги только за винду и поставить на неё нужный набор open-source п.о.

Подробности

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

asgard
()

про оффтопик

ЕС требует объяснений от Microsoft

http://www.polit.ru/news/2007/03/26/shtraf.popup.html

asgard
()

Novell изаинилась перед FSF

Steinman - маркетинговый директор компании Novell - извинился перед FSF за это(http://www.linux.org.ru/profile/asgard/view-message.jsp?msgid=1838660), добавив, что в будущем будет проверять информацию, прежде чем делать какие-то заявления.

муа-ха-ха-ха! до новелов дошло, что за свои заявления нужно держать ответ, ждём когда это дойдёт до балмера, разжёгшего всю это по*бень с патентами. (more info --> http://www.theinquirer.net/default.aspx?article=38468)

asgard
()

бояны + гугл

вот на гугле всё есть: и maps, и code, и advanced search, и news. неплохо было бы, если бы они ещё добавили сервис boyan.google.com, с помощью которого можно было бы определись боян та или иная информация, али нет.

проблем на лоре было бы значительно меньше.

asgard
()

про столлмана

asgard
()

Open Letter to Steven Ballmer

Не так давно было написано открытое письмо к Балмеру(http://showusthecode.com/), требующее от него показать где именно linux нарушает патенты m$, показать код. Причём выдвигается открытое требование показать где именно нарушаются патенты до 1го мая. В данном случае, разработчики смогли бы исправить код, нарушающий интеллектуальную собственность m$, не доводя дело до суда. В данной петиции, назовём её так, особенно радует эта строчка:

"How many corporations, how many organizations, how many community members will it take to call your bluff, Steven?"

и самая последняя, являющаяся, я бы сказал, не прикрытым откровенным стёбом:

"Happy code hunting. Google Patent Search may help you out."

В отличае от подобного рода петиций, пробегавших ранее, данаая не собирает подписи и комментарии сочувствующих. Но тем не менее, каждый может посодействовать(http://showusthecode.com/contribute.htm), банально распеарив это в средствах массовой информации. так что, уважаемые, дерзайте, если у вас есть такая возможность.

>>> Open Letter to Steven Ballmer

asgard
()

ищется C-библиотека для рисования графиков

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

заранее благодарен.

asgard
()

graphviz, координаты каждого узла

вопрос господам, когда-либо использовавшим graphviz C API:

допустим я отрисовываю граф - не важно какой, пусть будет планарный - в итоге я получаю готовый имедж, который в дальнейшим передаётся специальным вьювером. каждый узел графа, помимо стандартной информации в поле key хранит дополнительную информацию в поле value. информация в жтом поле может быть любой и может быть сколь угодно сложна, поэтому выводить её на имедже не имеет смысла, тк она может быть довольно велика. соответсвенно нужно реализовать механизм, при котором пользователь, наведя мышь на конкретный нод графа на изображении, видит информацию о контенте поля value в специальном окне. как это сделать, в принципе понятно, соотнести координаты нода на изображении с координатами курсора и проверять, находятся ли координаты курсора в заданном рэньже или нет. НО, как, чёрт возьми, мне взять координаты каждого узла графа до создания имеджа(или после, но такое вроде как не возможно)? есть мнение написать plugin для graphbiz'a, который бы делал свою render опкрацию и собирал координаты к некоторую дата структуру с взаимооднозначным соответсвие между нодом и координатами. но писать плагин довольно геморно, учитывая, что из-за одной мелкой фичи придётся переписывать render операцию с реюзингом основных процедур из канонического render'a. скорее всего это можно сделать как-то иначе. вопрос: как?

p/s:

гугл молчит, graphviz mailing list тоже =(

asgard
()

вопрос по GPL

возможно глупый вопрос, но прочитав лицензию, ответа на него я не нашёл(хотя может быть и плохо искал - не отрицаю): если есть программа под отлично от GPL лицензией, например под BSD, и в ней нужно использовать стороннюю библиотеку под GPL(банальная линковка - не более), значит ли это, что основная программа для данного действа должна быть исключительно под [L]GPL.

спасибо.

asgard
()

структуры данных (Си)(ptw: опрос)

каждый из нас, праграммируя на plain c, часто сталкивается с тем, что нужно использовать ту или иную структуру данных. будь то граф b-дерево, rb, splain, avl, листы, очереди, хэш-таблицы и иже с ними.

судьба нас обделила (скорее всего это к лучшему) какой-то структурированной библиотекой структур данных с более-менее универсальным интерфейсом. и я заметел такую очевидную, в принципе, тенденцию. большинство сишников - и я в том числе - имеет какой-то каталог типа ~/mylib, где хранят реализванные структуры данных, которые при необходимости вставляются в код банальнейшим copy-paste.

соответсвенно вопрос: идёте ли вы по вышеописанному пути или нет. если да, то реализуете ли вы сами отсутвующую структуру данных или ищите реализацию стороннего разработчика. если нет, то опишите по какому пути шагаете вы.

заранее благодарен за ответы.

asgard
()

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