LINUX.ORG.RU

Сообщения proud_anon

 

Не могу скомпилять «Hello, world» на Mercury

Следую «книге» Ральфа Бекета ( http://www.mercurylang.org/documentation/papers/book.pdf ), последняя редакция 2010-06-30 11:58.

Пишу такой файл hello.m:

:- module hello.
:- interface.
:- import_module io.
:- pred main(io::di, io::uo) is det.

:- implementation.
main(IOState_in, IO_out) :-
	io.write_string("Hello, world!\n", IOState_in, IO_out).

Пытаюсь его собрать:

% mmc --make hello  
Making Mercury/int3s/hello.int3
** Error: error reading file `builtin.m' to generate dependencies.
** Module `builtin' is imported or included by module `hello'.
mercury_compile: cannot find source for module `builtin' in directories .

Как исправить эту ошибку?

Может быть, с инсталляцией компилятора (13.05.1, собран из исходников) какая-то проблема? Но при сборке и установке вроде никаких ошибок не было. Устанавливал, правда, при помощи checkinstall.

 , mercurylang

proud_anon
()

Черновики видны как «Следующая/предыдущая тема»

Если создать черновик в разделе форума, то его заголовок будет виден всем пользователям в футере, где показана «Следующая тема» (или предыдущая).

Например, следующая тема для этого топика и предыдущая для этого — это мой черновик.

Однако, по-видимому, никто, кроме автора и, может быть, модераторов зайти в черновик не может.

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

 

proud_anon
()

Brütal Legend безбожно тормозит

Поставил нативную Brütal Legend из Humble Bundle, а она безбожно тормозит. Тормозит только во время самой игры, во время вступительных роликов и меню все нормально (а в самой игре я даже из первой пещеры выбраться не могу, потому что тормозит до неиграбельности).

Торможение выглядит как задержки обновления картинки. Игра, похоже, идет (слышны звуки, похоже, оно реагирует на мои действия), но FPS на несколько секунд падает до 0. Иногда даже на 5-10 секунд. Иногда всего на 1-2-3. Но часто.

Пробовал в настройках видео отключать все, что может снижать производительность, но не помогло. Поставил низкое разрешение — тоже не помогло.

Ноутбук Acer Q1VZC (Aspire V5 Series)
Система: Ubuntu 12.10, x86-64
Процессор: Intel® Core™ i5-3317U CPU @ 1.70GHz × 4
RAM: 3,7 GiB
Видео: Intel® Ivybridge Mobile (я так понимаю, HD 4000).

Да, видеоадаптер, конечно, не NVIDIA, но ведь в системных требованиях сказано только 512 MB VRAM, OpenGL 2.1 и поддержка сжатых текстур (S3TC), а у меня, я так понимаю, все это есть. В требованиях для Windows указана поддержка Intel HD 3000, значит, мой-то тем более должен работать.

Может, кто-то знает, какую волшебную силу можно применить, чтобы этот Митол, наконец, заработал?

 , , ,

proud_anon
()

Секретные материалы на YouTube

Я один получаю при поиске на YouTube сообщение о том, что результаты могут содержать секретные материалы, которые нельзя распространять за пределами Google?

Ну, то есть, я знаю, что не один, поскольку об этом многие пишут, но ведь надо дискасс.

 , , ,

proud_anon
()

Динамическая линковка не нужна!

В соседнем разделе бурно идет обсуждение, как выразился Evgueni, стюардессы, которую опять откопали: в Убунте придумывают очередной способ создания пакетов без внешних зависимостей.

И вот, уже пошли мнения о том, что «проще все линковать статически» и «может, вообще тогда отказаться от .so»?

Что это, очередные закидоны ЛОРовцев или реальная идея? За советами мы решили обратиться к самым старперным специалистам в глобальной компьютерной сети «Интернет». Вот что они пишут (выдержки/сокращения):

Rob Pike (один из разработчиков Unix, Plan 9, нескольких языков программирования и не только), 2008

В первом докладе Sun Microsystems о том, как они реализовали в своей ОС динамические библиотеки, сообщалось, что система получилась больше и медленее. Места на диске экономилось совсем мало. Тесты проводились на Xlib, и заключение было таково: преимуществ нет, одни недостатки.

Да, все современные ОС их поддерживают, но это не значит, что это хорошая мысль. В Plan 9 мы пытались избавиться хотя бы от некоторых необоснованных вещей, которые «все делают».


Geoff Collyer, 2002

Нет, у нас [в Plan 9] не вся библиотека C в каждой программе. В каждой программе содержится только копия каждой вызываемой (прямо или косвенно) функции.

Разделение (sharing) кода производится на уровне секций кода (text segments), как в Unix V6 или V7. При форке процесса потомок будет пользоваться тем же кодом, что и родитель, за счет соответствующего маппинга страниц памяти. Если несколько раз запустить одну и ту же программу с помощью exec, все эти процессы разделят код.

С учетом такого разделения и низких цен на RAM (...) я не вижу нужды в разделяемых библиотеках. Вспомним, что в Unix их реализовали, в первую очередь, из-за громоздких и страшных библиотек X11, а большинству наших пользователей сего дара Божьего удалось избежать.

Отметим, что безо всяких разделяемых библиотек утилиты в Plan 9 при аналогичных возможностях обычно меньше по размеру, чем программы из FreeBSD.


Не пойми кто

<btdn> Я никак, ну вот хоть убей, никак не могу понять, зачем люди используют динамическое связывание.
<aiju> btdn: Потому же, почему верят в Бога.


Roman Shaposhnikov, 2007

Что общего между разделяемыми библиотеками и коммунизмом? Очень просто: и то, и другое в теории выглядит прекрасно, а в реальности провалилось с треском. (...) Поищите файлы .so в любом коммерческом или бесплатном, но большом пакете. Не удивляйтесь, если там даже специальные версии glibc попадутся.



Ссылочки (источники и не только):
http://harmful.cat-v.org/software/dynamic-linking/
http://harmful.cat-v.org/software/dynamic-linking/versioned-symbols
https://blogs.oracle.com/rvs/entry/what_does_dynamic_linking_and
http://port70.net/~nsz/32_dynlink.html

 ,

proud_anon
()

Снимать ли плёнку с экрана?

Приветствую,

В связи с покупкой нового телефона как... э... как всегда при покупке нового телефона остро встал вопрос: снимать ли пленку с экрана?

Можно не снимать, конечно, но там какая-то хрень то ли прилипает, то ли забивается под пленку постоянно... смотреть страшно, боюсь экран поцарапать.

Или доверять стеклу/пластику?

Или купить какую-то специальную пленку? Или чехол?

 , ,

proud_anon
()

Не заменяются лапки на ёлочки после скобок

"тест"
абв"тест",
("тест", "тест")
["тест",
{"тест",
[b]"тест"[/b]
".тест"

Отображение: «тест» абв"тест", «тест» («тест», «тест») [«тест», «тест» {«тест», «тест» «тест» ".тест"

Мы видим, что кавычки не заменяются на «ёлочки», когда перед ними стоит открывающая скобка. Это в большинстве случаев нехорошо, стоило бы исправить.

Update. Если фраза в кавычках начинается с точки или многоточия, тоже не заменяется, а должно бы.

 , , несовершеннолетний

proud_anon
()

Как сделать так, чтобы можно было вводить яп. иероглифы и иметь свой Compose?

Привет, ЛОР, давно не виделись.

У меня Ubuntu 12.10 с Unity. Я хочу, чтобы у меня был какой-нибудь способ ввода японских иероглифов с клавиатуры, но при этом чтобы работали собственные настройки для Compose Key.

Посоветуйте, как это сделать?

Я пытался разбираться с методами ввода, но их там дохрена и они все какие-то частично поломанные. В частности:

  • IBus + anthy в теории должен дать японский, но на практике он не поддерживает собственных настроек Compose, только дефолтные, и никак иначе.
  • Сейчас стоит xim, но он сам по себе ввода CJK не имеет.
  • Я попытался поставить kinput2 + canna, но у меня оно почему-то не работает. Пытался менять переменные среды, юзать im-switch, но все равно, никакого волшебного окошка по Shift+пробел не появляется.

Прошу совета, что именно поставить, как настроить и включить.

 , , ,

proud_anon
()

Надо придумать способ цитировать с сохранением форматирования

В свете недавно появившихся кавычек особенно остро встал вопрос: как процитировать сообщение так, чтобы цитата как можно лучше совпадала с оригиналом?

Вот, например, пользователь IAmBeingRepressed напишет:

[user]tazhate[/user] [b]недостоин[/b] быть модератором. Его политика противоречит свободному духу [s]лялекса[/s] Линукса. Могу только процитировать слова незаслуженно забаненного LastBannedTroll:
[quote]ТВИМ! ТВИМ! ТВИМ![/quote]
Я подписываюсь под каждым словом.

Его сообщение будет выглядеть так:


tazhate недостоин быть модератором. Его политика противоречит свободному духу лялекса Линукса. Могу только процитировать слова незаслуженно забаненного LastBannedTroll:

ТВИМ! ТВИМ! ТВИМ!

Я подписываюсь под каждым словом.


Далее придёт пользователь ManyStars и попытается процитировать его, скопипастив кусок:

>tazhate недостоин быть модератором. Его политика противоречит свободному духу лялекса Линукса. Могу только процитировать слова незаслуженно забаненного LastBannedTroll:

ТВИМ! ТВИМ! ТВИМ!

Ну, где же твой пароль?
Вот, всё форматирование в цитате сбилось и потерялось по дороге. А оно могло быть очень важным.

Не пора ли подумать, как сию проблемы решить?
Возможны такие варианты:

  • Кнопка «Показать исходник сообщения».
  • Хитрый жабаскрипт какой-нибудь, который при копировании текста копирует в буфер исходник (с удобной функцией включения/выключения). Впрочем, кнопку «Показать исходник» сделать наверняка будет проще — этот скрипт был бы скорее надстройкой над такой функцией.
  • Не нужно, всё и так хорошо.
  • Больше вариантов не могу придумать

Какие у ЛОРа мнения на этот счёт?

P.S.Кстати, не очень хорошо, что XML entities (&quot; и т.п.) при открытии сообщения для редактирования превращаются прямо в редактируемом тексте в то, что они обозначают. Из-за этого если начать редактирование, а потом сохранить сообщение, ничего не изменив, сообщение всё равно может измениться.

Update.Баг из постсткиптума починили, что ли? Кроме того, я почему-то был уверен, что постю эту тему в LOR Source, видимо, промахнулся, сорри.

 , брейнсторм

proud_anon
()

Как вызывать glOrtho?

Пытаюсь осознать OpenGL. Во всех найденных мною в интернете материалах при использовании OpenGL для двумерной графики при инициализации матрицы GL_PROJECTION делают как-то так:

glMatrixMode( GL_PROJECTION );
glLoadIdentity();
glOrtho( 0.0, SCREEN_WIDTH, SCREEN_HEIGHT, 0.0, 1.0, -1.0 );
Но почему же это не делают вот так?
glOrtho( 0.0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1, 0.0, 1.0, -1.0 );
Ведь это координаты, а не длина и ширина. Второй вариант кажется мне логичным. Почему же используют первый?

 ,

proud_anon
()

Помогите вспомнить игру про гонки и квизы

Обучающая игра такая была, под Windows 95/98, по-моему, а может, и еще старее.

Там было соревнование по прохождению жутко длинных дистанций. Соревновались не люди, а какие-то... разноцветные... штуки. Пушистые вроде. Вроде, одна была зеленая, а другая желтая, но не M&M's.

Гонка состояла из нескольких этапов. На каждом этапе нужно было зарабатывать то ли очки, то ли деньги, а потом «покупать» транспорт для прохождения этапа (пешком, на машине, на самолете, с джетпаком и проч.). Зарабатывались они путем ответов на вопросы, причем, по-моему, вопросы были в основном по математике... или физике... или нет.

По-моему, такая не одна игра была, а серия.

 ,

proud_anon
()

Indie Royale Winter Bundle

Вышел сабж.

Под Линукс в этот раз две игры: BIT.TRIP RUNNER, вроде как платформер, вроде как бывший в одном из HIB'ов уже и Conquest of Elysium 3, «олдскульная фэнтези-стратегия».

Также в бандле Greed Corp, Hamlet, Leave Home и They Breathe.

Акция продлится еще чуть больше 6 дней.

>> Сайт Indie Royale

 , , ,

proud_anon
()

2D Animation for Dummies

Посоветуйте книг/статей/кодов программ для человека, желающего узнать, как в современном мире работает 2D-анимация. Какие разработаны алгоритмы, какая для этого существует математика и так далее. Может, есть подобные введения?

Анимация на компьютере, конечно.

 , ,

proud_anon
()

[выходные] [mlp] [fim] [s03ep01] [already online] Здравствуйте, это канал о Линуксе?

Для отвлечения от конпеляния ядер Hub TV наконец-то предлагает нашему вниманию сабж.

Например, здесь.

proud_anon
()

Пользователь не удаляется из списка «remarks», даже если комментарий о нем пуст

Что я делаю:

  1. Беру произвольного пользователя и пишу о нем комментарий, что он зануда и дурак.
  2. Сохраняю комментарий.
  3. Потом передумываю, открываю редактирование комментария, очищаю поле вовсе и так сохраняю.
  4. Иду на страницу www.linux.org.ru/people/proud_anon/remarks

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

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

 ,

proud_anon
()

Не работает переключение раскладки клавы без автологина

Привет, ЛОР.

Решил опробовать новую Бубунту 12.10, и вот, что вышло. У меня почему-то при отключении автологина перестает работать переключение раскладки клавиатуры. То есть компьютер загружается, я набираю пароль, попадаю на свой рабочий стол, а индикатор раскладки не отображается, а кроме того, переключение раскладки (по Alt-Shift) не работает.

Однако если автологин включен, и я вхожу в профиль при загрузке компьютера автоматически, то все работает: и индикатор, и переключение.

При входе в «Гостевую сессию» все работает, как надо.

Создавать новые аккаунты пробовал - та же фигня.

У кого-нибудь еще такое есть? Если есть, я бы подумал об оформлении бага на Лаунчпаде. Если нет, то есть ли тут какой-нибудь технотелепат, который может предположить, с чем это связано?

P.S. Вспоминается шутка про машину, в которой при нажатии на тормоза крыша иногда отваливается. Только она была про OS/2.

P.P.S. А до того я полчаса пытался настроить переменные среды... В Windows переменные среды настроить проще, чем в этом дистрибутиве GNU/Linux...

 ,

proud_anon
()

Восстановить FAT или вычленить файлы из потока

Общий привет.

У меня есть файл образа носителя с файловой системой FAT, только ФС повреждена. На нем были фотки и видео с камеры. Некоторые файлы читаются, а некоторые — нет. Нужно восстановить с него файлы. Конечно, хорошо бы все, но достаточно восстановить фотки и видео (фотки все в формате JPEG, видео в AVI — что внутри AVI пока не знаю, но есть образец).

Прошу совета:

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

 , ,

proud_anon
()

Как написать приложение для GNOME

Задолго до персонажа из Рунета с именем евангелиста существовал (и продолжает существовать, хоть и в гораздо более унылом виде) Linux Hater, который ненавидит Линукс и убеждает остальных делать то же самое. На самом деле его, по всей видимости, несколько человек, но это неважно. Я решил запостить перевод одного из его ранних постов.

Это баян 2008 года, то есть времён GNOME 2, но он большей частью ещё актуален. Или, возможно, стал ещё более актуален, чем раньше.

Больше я его переводить не буду, разве что про KDE, может быть, переведу. Или нет.

Итак: «Как написать приложение для GNOME».


  • Возьмите за образец какое-нибудь нормальное приложение для другой платформы (Windows, Mac, KDE — лучше всего Mac). Самый шик — повторить функционал, который реализован уже в трёх приложениях на GTK+, но которые не хотят интегрироваться в Gnome.
  • В гназвании должна быть буква «g». А ещё лучше «gn». Если получится сочетание «gno», «gna» или «gnu», это просто гносхитительно, такую программу стоит установить уже за одно гназвание. Убедитесь, что из названия вообще не понятно, что эта программа делает. Пользователи не должны знать, как произносить «g»: как [г], как [дж] или никак.
  • Пусть программа использует не менее двух объектных фреймворков. Лучше три. Помните: «O» в слове «GNOME» значит «объектный» (от переводчика: GNU Network Object Model Environment). Выбирайте: Corba, Orbit, Bonobo, D-Bus. Один из выбранных фреймворков обязательно должен уметь работать через сеть, только ни в коем случае не используйте его через сеть.
  • Напомните себе, что объектно-ориентированное программирование на чистом C — это не так уж и плохо. assert(gtk_no_really_its_not_so_bad). Еще вспомните, что GTK+ намного лучше Qt, потому что код GTK+, в отличие от кода Qt, не пишется никаким жадным коммерческим предприятием. Так что у GTK+ свободность повышена, а потом, там в названии «+».
  • Наделайте врапперов под все существующие языки программирования, только убедитесь, что они все кривые. Настаивайте, чтобы в дистрибутивах каждый враппер запаковывали в отдельный пакет.
  • Объясните не менее, чем трём другим программистам, что glib не имеет прямого отношения к GNOME. Потому что им интересно.
  • Не забудьте иконку из Tango!
  • Ваша программа должна собираться под Windows, но выглядеть там как ЖОПА.
  • Сделайте список всех фич, которые хотите реализовать.
  • Выкиньте 90% из них. Потому что их кодить слишком сложно. Но только никому этого не говорите, а объясняйте, что они нормальным пользователям не нужны.
  • Из оставшихся реализуйте 2%. Ещё 8% спрячьте в gconf. Хорошенько спрячьте.
  • В интерфейсе программы должно быть не больше четырёх кнопок.
  • Приложение должно зависеть не менее чем от четырёх библиотек с «g» в названии. От этого у него гномовость повышается.
  • Не пользуйтесь Mono — это сифилис, убиващий Gnome, и нельзя заражать им других пользователей. Нет, стоп, писать на Mono можно и нужно, от этого подуктивность вашей работы повысится в несколько раз. Нет, стоп, не надо писать на Mono, а то какой-нибудь свободоё... свободолюбивый дистрибутив, который никому не нужен, никогда не примет вашего софта.
  • Воспользуйтесь модулем, который в скором времени устареет. Тогда его авторы передумают и объявят, что к концу президентства Обамы они почти договорятся, когда этот модуль начнёт устаревать.
  • Если получилось говно, ничего страшного — по крайней мере, Human Interface Guidelines вы соблюли.

    Кстати, я знаю, что вы все блокируете мою сраную рекламу AdBlock'ом (или подписываетесь по RSS, так как я не могу туда рекламу запихнуть). Так хоть плюсаните меня на Digg, козлы мелочные.

    >>> Оригинал
    >>> Как написать приложение для KDE (англ.)
    >>> Как сделать сайт свободного софта — руководство для чайников (перевод)

 ,

proud_anon
()

Как сделать сайт свободного софта — руководство для чайников

Небезызвестный Linux Hater написал заметку о том, как сделать сайт для свободной программы. Конечно, она менее веселая, чем его ранние «Как написать приложение для GNOME» и «Как написать приложение для KDE», но тоже неплохо.

Я сначала думал его снести отсюда, потом решил не сносить. Он всё же довольно поучительный, хоть и не самый искромётный.

Итак, перевод.



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

На самом деле, тут всё просто. Всё дело в первом впечатлении.

А именно в главной странице сайта. Вот как её нужно делать:

  • Необходимо упомянуть, что ваша программа «открытая» (open) или «свободная» (free), или использовать любую невнятную комбинацию из этих слов. Причём обязательно до рассказа о том, что ваша программа делает. Особенный шик — подробно объяснить, под какой лицензией код, и просветить серые массы о том, что пиво и речь — это взаправду разные вещи. По исследованиям британских учёных, пользователи предпочитают не скачивать софт, пока не выяснят, допускает ли он динамическое связывание с проприетарными библиотеками.
  • Если название вашей программы — аббревиатура, объясните, что она значит, но только так, чтобы никто не понял.
  • Укажите, на каком языке программирования ваша программа написана, поскольку посетителей это интересует больше всех прочих вопросов.
  • Вкратце опишите модульную структуру своего приложения и упомяните, что каждый сам может написать модуль, в том числе делающий то, для чего программа, собственно, предназначалась.
  • Упомяните, что программа переведена на разные языки. Потому что говнософт на родном языке пользователя лучше простого говнософта.
  • Сразу после этого должен быть раздел «Последние новости». Новости в нём должны быть понятны и интересны только трём людям на Земле (которые и разрабатывают эту программу). Вершина искусства — добавить прямо на главную страницу трансляцию лога коммитов из системы контроля версий.
  • Укажите, что ваш софт работает не менее, чем на пяти ненужных платформах.
  • Маленькая личная просьба: упомяните, что ваше приложение многопоточное. Я скачиваю только многопоточные приложения.
  • Называйте ваше приложение «фреймворком». Все хорошие приложения — фреймворки. Firefox — фреймворк для просмотра сайтов, Gimp — фреймворк для обработки изображений, iTunes — фреймворк для проигрывания музыки. Смекаете? [от переводчика: кто-нибудь знает, на какой именно «фреймворк» он в этом пункте намекает?]
  • Не употребляйте слова «инсталлятор». Называйте его «бинарным дистрибутивом». А ещё лучше, сделайте так, чтобы программу можно было скачать только с github и чтобы на странице в github нигде не было подсказок о том, как именно её оттуда скачать.



Вот. Теперь вы готовы соперничать даже с самыми лучшими открытыми проектами.

>>> Оригинал

 ,

proud_anon
()

Indie Royale Back to School Bundle — продается Swords and Soldiers под Linux

Началась распродажа очередного пакета инди-игр Indie Royale — the Back to School Bundle. В нем семь игр, но к сожалению, игра под Linux только одна — Swords & Soldiers. Однако пакет продается по принципу «плати, сколько хочешь», так что вы можете сами решить, сколько готовы за это отдать.

Swords & Soldiers от Ronimo Games — это двумерная стратегия реального времени с видом сбоку, где игроки контролируют базы, расположенные на противоположных концах карты, и нанимают войска (при этом не забывая добывать ресурсы), которые идут в бой на базу врага. Игрок направляет их на развилках, помогает им магией, строит здания по дороге и так далее. В игре всего 3 племени (викинги, ацтеки и китайцы), и у каждого — своя тактика, так что освоить игру легко, а стать в ней докой отнюдь не просто. На Metacritic Swords & Soldiers получила 84 балла. Ранее Swords & Soldiers продавалась в составе Humble Bundle for Android 2.

К сожалению, в версии для Linux нет онлайн-режима, а также недоступен пакет дополнительного контента «Super Saucy Sausage Fest DLC». Кроме того, при запуске у автора новости возникла проблема с выводом графики (на видеокарте Intel), но решение её нашлось на форуме Ronimo Games (нужно поменять настройки в системе).

Игру можно скачать напрямую или получить ключ для Desura.

Остальные игры в пакете: Lunar Flight, Bunny Must Die!, Sequence, Flying Red Barrel, Qlione, Cute Things Dying Violently. Все они работают только под Windows.

Indie Royale продается по принципу «плати, сколько хочешь», но с минимальной ценой, которая постоянно меняется: если заплатить только этот минимум, то минимальная цена для следующих покупателей возрастёт, а если, наоборот, заплатить много, то минимум для следующих покупателей понизится. На момент написания новости минимум был €4,12, а до окончания акции оставалось меньше 6 дней. Кроме того, те, кто заплатит больше $8 (€6,21), получат музыкальный альбом BIAS от minusbaby.

Сайт Indie Royale

Перемещено DoctorSinus из games

 

proud_anon
()

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