LINUX.ORG.RU

Сообщения geekless

 

LO Writer, подтвердите наличие бага

Форум — Talks

Если в LO Writer включить Вид -> Режим веб-страницы и понабирать текст кириллицей, то видимая позиция курсора рассогласуется с реальной. На латинских символах нормально работает. Версия LO 4.0.2.2

У меня одного так, или у вас тоже?

 

geekless
()

Readable Lisp S-expressions Project

Форум — Development

Галактеко, а вы знаете что есть такой вот проект:

The goal of this “Readable Lisp s-expressions” project is to develop, implement, and gain widespread adoption of more readable format(s) for the S-expressions of Lisp-based languages (such as Common Lisp, Scheme, Emacs Lisp, and Arc). We’ve done this by creating new abbreviations that can be added to existing readers. Curly-infix-expressions add infix expressions (in a Lispy way), neoteric-expressions also add more traditional function call notation, and sweet-expressions also add deducing parentheses from indentation.

Во что эти люди превратили Лисп? — спросите вы. Вот в это, например:

Awkward S-expression:

(define (factorial n)
  (if (<= n 1)
    1
    (* n (factorial (- n 1)))))

Improved Sweet-expression:

define factorial(n)
  if {n <= 1}
    1
    {n * factorial{n - 1}}
    (define (add-if-all-numbers lst)
      (call/cc
       (lambda (exit)
         (let loop ((lst lst) (sum 0))
           (if (null? lst) sum
             (if (not (number? (car lst))) (exit #f)
               (+ (car lst) (loop (cdr lst)))))))))


     define add-if-all-numbers(lst)
       call/cc $ lambda (exit)
         let loop (lst(lst) sum(0))
           if null?(lst)
             sum
             if not(number?(car(lst)))
               exit #f
               {car(lst) + loop(cdr(lst))}

В какой-то питон.

Пример реального кода.

Дискас, что ли.

 

geekless
()

Лучшие приложения для хомячкодесктопа

Форум — Talks

Как известно, DE — это такой баззворд, который означает «вместо того, чтобы использовать лучшие в своей области приложения, используйте наши кривые велосипеды». Вот например KDE: файловый менеджер и эмулятор терминала там хороши, а плазма — нахрен ненужная косая поделка. И что их в этом плане объединяет, кроме буковок KDE? Да в общем-то, ничего.

У каждого пользователя есть свои представления о том, чего ему нужно от компьютера, и он старается подобрать приложения, которые будут эти задачи просто решать не паря мозги. Так что давайте поговорим не о мифических DE, а вполне реальных средах, которые каждый из нас формирует на своём компе для своих нужд. В общем, о том, какие приложения для вас лучшие в своих областях и почему.

Вот мой топ-лист:

Оконный менеджер.
Качественных оконных менеджеров до чертовой матери, так что всегда можно выбрать что-то хорошее, даже если у юзера 100500 требований. Лично у меня требования к оконному менеджеру довольно просты, и потому меня полностью устраивает Openbox.

Композитный менеджер.
Т.к. Openbox не умеет в композитинг, юзаю отдельный композитный менеджер. compton -cCf -D 3 --vsync drm — «тиринг, прощай».

Панель для таскбара, менюшек, индикатора батареи и т.п.
Моя lxpanelx, чо. На второе место я бы поставил xfce-panel. Ну по количеству плагинов xfce-panel явно на первом месте, но под мои личные требования она не подходит. Прочие панели-недоделки мне представляются абсолютной ненужностью.

Запускалка программ.
Synapse с темой оформления Virgilio. Моя любофф. ^___^

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

Двухпанельный файловый менеджер.
Как оказалось, по фичам наиболее крут Krusader. И тоже страшен, как и всё KDE-шное.

Смотрелка фоточек.
Mirage. Простая как топор программа. Просто показывает фотки, чо еще надо. В gpicview вот не хватает такой же боковой панели с миниатюрами как в Mirage. Может допилю когда-нибудь.

Каталогизатор фоточек.
Мне практически не нужен. Установлен geeqie на всякий случай. Какие еще бывают, не знаю.

Музычка.
Audacious меня полностью устраивает. Deadbeef тоже неплох.

Видяшечки.
mplayer — няша. Воспроизводит всё подряд, никакими проблемами не парит. (Вспоминая с ужасом totem.) На случай, если за компом будет сидеть кто-то, кто испугается отсутствия интерфейса, стоит графическая морда к нему - gnome-mplayer. Этот gnome-mplayer раньше был весьма ок в роли морды, но после перехода на gtk3 стал дико глючить. Было б у меня побольше времени, я бы помог чуваку, который его пилит.

Торрент-клиент.
Transmission с мордой на gtk. Хз, почему. Поставил, устроило, других не смотрел.

Браузер.
Было бы из чего выбирать, блин. Пользуюсь фирефоксом. Не то что б он меня устраивал, просто остальные — еще хуже.

Текстовый редактор.
Я неосилятор вима и емакса, поэтому юзаю medit. Пробовал geany, обнаружил кучу раздражающих недоделок в интерфейсе.

Калькулятор.
Мне от калькулятора важно, чтобы выражения можно было вводить, натурально, выражениями. Раньше юзал galculator, недавно узнал про Qalculate, он оказался очень годен. Есть еще какой-то SpeedCrunch, но не смотрел его.

Программа для заметок, «персональная wiki».
Zim. Прекрасен как по функциям, так и по интерфейсу. Таблицы вот только не умеет нормально строить, единственный недостаток.

Терминал.
Lilyterm. Вот кстати отличный пример, когда эти gnome-terminal, xfce-terminal и прочие абвгд-terminal все вместе отсасывают у малоизвестной софтины, которая ни в какое DE не входит. Потому что софт в DE делают «чтобы было», а софт как отдельный проект делают, чтобы пользоваться.

IM.
Pidgin. Установлен давным давно, полностью устраивает. Даже не знаю, какие еще бывают IM-ы, никогда не интересовался.

Менеджер буфера обмена.
Они все довольно глючные и с идиотскими интерфейсами. Юзаю Parcellite, но меня он не устраивает. Смотрел его исходники на предмет допилки — убежал в ужасе. Проще с нуля переписать, там реально лапша. Может даже когда-нибудь и займусь.

Искалка-индексатор.
Tracker вроде ничо так. Щупал Recall — оказалось говно, свалил обратно на Tracker. Остальные не смотрел.

Алсо упомяну программу учета времени Hamster. Тоже простая как топор и удобная.

-----------------------------------

UPD. По просьбе трудящихся, шаблон для заполняющих:

Оконный менеджер.
Композитный менеджер.
Панель для таскбара, менюшек, индикатора батареи и т.п.
Запускалка программ.
Файловый менеджер.
Двухпанельный файловый менеджер.
Смотрелка фоточек.
Каталогизатор фоточек.
Музычка.
Видяшечки.
Торрент-клиент.
Браузер.
Текстовый редактор.
Калькулятор.
Программа для заметок, «персональная wiki».
Терминал.
IM.
Менеджер буфера обмена.
Искалка-индексатор.
geekless
()

Убунта — это карма, блин

Форум — Talks

Поставил я тут в виртуалку Lubuntu, чтобы посмотреть, что там собой LXDE представляет. Так оно при первой после установки перезагрузке повисло намертво. А после второй — этот их «Центр обновлений» нашел апдейты в инете, предложил обновиться и завис к хренам на этапе распаковки пакета linux-headers-3.5.0-25.

Камрады, в убунте всегда всё так? Где мне купить брендированный каникловский бубен, чтобы у меня убунта работала так же хорошо, как у местных аналитиков?

// Три мои предыдущие попытки поставить ванильную убунту версий 12.04 и 12.10 на три разных компа также зафейлились. В виртуалке она хоть поставиться смогла, прогресс, мать его.

 ,

geekless
()

Эволюция графики

Форум — Talks

Подборка графических демок от Nvidia и ATI, а также графических тестов сторонних производителей с начала двухтысячных. Лишь малая часть интересного «графона» за этот период, но развитие показывает.

The Evolution Of Real Time PC Graphics - http://www.youtube.com/watch?v=2bHpUljLVrc

The Evolution Of Real Time PC Graphics - Part 2 - http://www.youtube.com/watch?v=Hs82OQkdbD8

Люди делают красоту. А теперь представьте, насколько криворукими приходится быть разработчикам браузеров и сайтов, чтобы на том же железе у вас тормозила какая-нибудь «форма ввода комментария».

(ц) http://justy-tylor.livejournal.com/200847.html

 

geekless
()

Трансляция виртуальных адресов как тьюринг-полный язык

Форум — Talks

Вот очень странный и невероятно крутой хак: trapcc - вычисление без единой инструкции CPU.

Авторы продемонстрировали, что механизм трансляции адресов на архитектуре x86 обладает полнотой Тьюринга, т.е. с его помощью можно реализовать любой алгоритм. С помощью хитрой настройки различных контрольных таблиц, которыми пользуется процессор, они вводят процессор в состояние, в котором он не может выполнить ни одной инструкции, т.к. непрерывно происходят исключения, но разные исключения в зависимости от приготовленных данных - и таким образом процессор вычисляет!

Известно, что одной инструкции условного перехода по вычитанию (вычисли a = a-b, и если это меньше или равно нуля, перейди в c) достаточно для Тьюринг-полноты. В этом хаке такая инструкция симулируется с помощью последовательности page faults (от невозможности загрузить данные), которая заканчивается double fault (когда указатель на стек уменьшается ниже нуля).

Несколько более подробное объяснение - в этом комментарии.

Любопытно, что ни один существующий эмулятор x86 не мог правильно запустить этот хак, потому что он опирается на слишком извращенную конфигурацию контрольных таблиц, и на тонкие нюансы поведения процессора в этой извращенной конфигурации. В итоге они смогли подстроиться под эмулятор Bochs.

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

(c) http://avva.livejournal.com/2570893.html

 

geekless
()

Программы с замечательным интерфейсом

Форум — Talks

Навеяно этим тредом: Программы с отвратительным интерфейсом

Поделитесь жизненным опытом. В каких используемых вами программах вы всецело довольны интерфейсом?

geekless
()

Глупый вопрос про миниатюры в компизе

Форум — Desktop

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

 

geekless
()

Homoiconic C

Форум — Development

Я тут упоролся и подумал, а что если бы у нас был ЯП уровня Си с гомоиконным синтаксисом в стиле Io или Julia. То есть — у нас есть интерпретатор гомоиконного языка, который работает как макропроцессор, и результат трансформаций исходного кода скармливается затем компилятору языка с Си-подобной семантикой. И у нас будет нормальный тьюринг-полный макроязык, который позволит бескостыльно расширять возможности ЯП неограниченно. Компилирующаяя же часть будет по сути обычным компилятором Си (просто читающим входные данные в неСишном синтаксисе).

Это ж кайф. Выражения типа regexp(«^[a-z][a-z0-9]») или format(«%s - %s (%d)», bla1, bla2, i) можно будет автоматически обрабатывать макропроцессором и отправлять компилятору оптимизированный вариант. Это значит, регулярка, например, будет скопилирована в конечный автомат при компиляции программы, а не при выполнении.

Вот эта вот странная задачка, на которой dr_jumba проверял лаконичность языков, записывалась бы как-то вот так:

sample_function := fn(a(iterable(T))) to(T) {
    a select(match(regexp(/^J[a-z]+/))) each_chunk(3) map(format_with("~1 and ~2 follow ~3")) join("\n")
}

Дискас.

 homoiconicity,

geekless
()

Управление яркостью экрана на буках Samsung (300V5*, 300E5*...)

Форум — Talks

(Или немного о пользе чтения сорцов и бесполезности гугла.)

Выложу тут решение, может кому пригодится.

На ноутах самсунга (как минимум, на линейках 300V5* И 300E5*, но наверное и на многих других) глючит управление яркостью подсветки дисплея. При чем, глючит и стандартный acpi-шный модуль, и модуль samsung_laptop (который используется, если ядру при загрузке сказать acpi_backlight=vendor). На первом не обновляется текущее значение яркости в /sys/class/backlight/acpi_video0/actual_brightness, а второй вообще работает как попало.

Из-за этого (из-за нерверного значения actual_brightness), в частности, не работают команды xbacklight -dec и xbacklight -inc.

Как это быстро исправить, не хакая драйвера? Если мы посмотрим в /sys/class/backlight/, увидим там два интерфейса управления подсветкой:

~$ ls /sys/class/backlight/
acpi_video0  intel_backlight
Так вот первый глючный, а второй вполне себе работает. Но в драйвере xf86-video-intel интерфейс acpi_video0 считается более приоритетным. Что надо сделать? Создать файл /etc/X11/xorg.conf.d/99-backlight.conf и вписать туда:

Section "Device"
	Identifier  "Card0"
	Driver      "intel"
	BusID       "PCI:0:2:0"
	Option      "Backlight"   "intel_backlight"
EndSection

И перезапустить иксы. Всё.

 ,

geekless
()

2post-factum

Форум — Linux-org-ru

Тут обычно создают нытик-треды а ля «апочемуудалилимойтредс-20». Я эту славную традицию сегодня нарушу тем, что скажу на этот раз наоборот: зря не снял скор. Надо было -20.

geekless
()

Задача на кластеризацию данных. Найти «основные цвета» на изображении.

Форум — Development

Собственно, сабж. Необходимо кластеризовать точки в трехмерном пространстве и найти N центров кластеров (N известно заранее).

Догуглился до Expectation-maximization algorithm и K-means clustering. K-means не обспечивает воспроизводимость результата, насколько я понимаю. EM-algorithm больше подходит.

Но эту чертову математику, которую вываливает на меня гугл, я не понимаю. Да, я тупой. Можно мне ссылку на какой-нибудь мануал для идиотов? Реализовать надо на Си.

 ,

geekless
()

Ментальный вирус

Форум — Talks

Языки типа Ruby или Io — это тяжелые наркотики вирус, поражающий мозг.

Когда я пишу код на PHP, я думаю о том, насколько же компактнее и понятнее был бы такой же код на Ruby (или на Io).
Когда я пишу код на JS, я думаю о том, насколько же компактнее и понятнее был бы такой же код на Ruby (или на Io).
Когда я пишу код на Пейтоне (что случается раз в полгода, но всё же), я думаю о том, насколько же компактнее и понятнее был бы такой же код на Ruby (или на Io).
И даже когда я вижу случайную строчку кода на Перле, я думаю о всё том же.

Есть ли более тяжелые наркотики вирусные языки, чем Ruby? Лиспы пробовал курить — не штырит.

 ,

geekless
()

Реализовал таки интеграцию панели запуска и панели задач

Форум — Talks

То, о чем так долго говорили большевики...

Любителям доков посвящается. Обновляемся из svn, открываем настройки панели задач, идём на вкладку Integration и ставим галку на «Hide buttons of visible applications from launchbar». Включает оно именно то, что написано: если в таскбаре есть окно приложения, то иконка данного приложения будет исчезать из панели запуска. Ну а при закрытии окна — снова появляться в панели запуска.

Это конечно не полноценная реализация дока, но уже близко к этому.

 ,

geekless
()

pf-kernel + pae

Форум — General

post-factum, а нет ли где готового репозитория для Арчика со сборками pf с включенной pae? Лень самому компилить. :}

 ,

geekless
()

Как насчёт перетащить Crux на gtk3?

Форум — Talks

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

 ,

geekless
()

Когда коту делать нечего...

Форум — Talks

Дошли тут руки пощупать SliTaz. В принципе, ничо так дистрибутив, хоть и из категории «ненужно». Использование собственного пакетного менеджера всё портит.

Зато доставила их «панель управления» для настройки системы - использование веб-морды это правильный подход, давно пора перестать плодить недо-гуи на перле или, простигосподи, bash-е.

Собственно, вопрос: галактеко, а кто-нибудь из вас реально пользуется им? Знаю, что на ЛОРе тусуется пара его мейнейнеров. А кроме них пользователи есть?

 ,

geekless
()

Мыши плакали, кололись...

Форум — Talks

Ударные дозы упорина в действии: http://s42.radikal.ru/i095/1302/38/39400e0d8d6f.png

Задача: сделать так, чтобы при наведении мыши на миниатюру окна, в углу миниатюры появлялась кнопка «Закрыть». На скриншоте для наглядности кнопки «Закрыть» показаны все сразу.

Поясняю, что тут у нас происходит: label собственного окна не имеет, т.е. рисуется в родительском окне (в окне всплывающей панели). Крестик «Закрыть» лежит на отдельном event box-е, т.е. в дочернем окне. Здравый смысл нам подсказывает, что содержимое дочернего окна должно выводиться строго поверх родительского. А вот нихрена.

Что мы видим? Мы видим очевидное-невероятное: сначала рисуется фон родительского окна, затем рисуется содержимое дочернего even box-а, а затем, внезапно, тулкит вспоминает, что надо нарисовать label и фигачит его поверх event box-а. Текст поверх крестика.

А всё почему? Потому что гордое Gtk с некоторых пор не пользуется иксовыми вложенными окнами, а реализует собственный механизм окон. Который косой и кривой как траектория моего соседа, когда он бегает за водкой до ларька. Ну расскажите мне про ненужность иерархических окон в иксах, ага. Gtk вон не осилил тупо производить отрисовку обходом дерева, дерево - это же слишком сложно для современных программистов.

До кучи, там еще и обработка событий работает как бог на душу положит. Например, всплывающая подсказка на крестик может всплыть, а может и не всплыть. 50% на 50%.

Что я делаю не так? — Да пользуюсь этим недоразумением вместо нормального тулкита, ССЗБ. Тут даже нормального контейнера-оверлея нет. Теперь мне понятно, почему GtkOverlay появился только в gtk3 — с такими-то багами.

Кстати, waker, ты не знаешь, для gtk2 есть какой-нибудь готовый аналог GtkOverlay? Ну может в каком-нибудь проекте кто-то делал такой виджет чисто для себя...

 ,

geekless
()

За чистоту русской пунктуации

Форум — Linux-org-ru

Раз пошла такая пьянка, предлагаю не только автоматически анлийские кавычки менять на ёлочки, но и отбитый пробелами дефис менять на тире. Типа, такое:

linux - это ядро

менять на такое:

linux — это ядро

cast derlafff

 ,

geekless
()

Программа для учёта времени

Форум — Desktop

Нужна программа для учета времени работы над проектами. Не уровня организации, а для личного использования, без наворотов. Т.е. требования простые как полено - чтобы можно было просто вводить данные о затраченном времени, а потом смотреть сводную статистику за неделю/месяц/произвольный_интервал.

Нужна обычная тулза, не онлайновые сервис - там, где я с ноутом таскаюсь, инет есть не всегда.

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

(Да, emacs не предлагать. Я не осилил emacs, я креведко. Спасибо.)

 

geekless
()

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