LINUX.ORG.RU

Сообщения poe

 

let сохраняет значения между вызовами функции

Решаю задания из «Gentle introduction to symbolic computation», там на 369 странице просят написать в итеративном стиле подсчет нуклеотидов в строке. Проще говоря, количество символов найти.

Набросал такой код:

(defun count-bases (strand)
  (let ((counts '((a . 0) (t . 0) (c . 0) (g . 0))))
    (dolist (e strand counts)
      (cond ((atom e) (incf (cdr (assoc e counts))))
            (t (incf (cdr (assoc (car e) counts)))
               (incf (cdr (assoc (cadr e) counts))))))))

Получилось в принципе похоже на код из ответов в конце книжки, только покороче:

(defun count-bases (dna)
  (let ((acnt 0) (tcnt 0) (gcnt 0) (ccnt 0))
    (labels ((count-one-base (base)
                             (cond ((equal base ’a) (incf acnt))
                                   ((equal base ’t) (incf tcnt))
                                   ((equal base ’g) (incf gcnt))
                                   ((equal base ’c) (incf ccnt)))))
      (dolist (element dna)
        (cond ((atom element) (count-one-base element))
              (t (count-one-base (first element))
                 (count-one-base (second element)))))
      (list (list ’a acnt)
            (list ’t tcnt)
            (list ’g gcnt)
            (list ’c ccnt)))))

Мой вариант работает как-то странно:

* (COUNT-BASES NIL)
((A . 0) (T . 0) (C . 0) (G . 0))
* (COUNT-BASES '(A G T A C T C T))
((A . 2) (T . 3) (C . 2) (G . 1))
* (COUNT-BASES '((A T) (T A) (C G) (G C)))
((A . 4) (T . 5) (C . 4) (G . 3))
* (COUNT-BASES (MAKE-DOUBLE '(A T G C)))
((A . 6) (T . 7) (C . 6) (G . 5))

Значения в cdr-частях переменной counts аккумулируются, хотя я ожидаю что они должны быть новые при каждом вызове let. Почему так происходит? Это особенность реализации (компиляю в sbcl)?

 

poe ()

Blender в стиме

Собственно вот - http://lists.blender.org/pipermail/bf-committers/2013-August/041483.html

Valve хочет распространять Blender через Steam как инструмент для моделинга.

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

 ,

poe ()

Greenlight

Из 125 выпущенных через Greenlight игр больше половины уже имеют или обещают сделать нативную Linux-версию. Независимые разработчики все-таки любят линукс, судя по всему.

http://www.reddit.com/r/linux_gaming/comments/1j2lbp/greenlit_games_and_linux...

 ,

poe ()

Linux? In my pen?

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

poe ()

Легкий менеджер окон

Ищу какой-нибудь легкий оконный менеджер с поддержкой композитинга. Openbox+compton это хорошо, но там нет самого важного для меня функционала - zoom на курсоре. За время пользования compiz под гномом и kwin под kde очень привык к этой фиче.

Можно попробовать поставить отдельно compiz, но что-то не хочется, ввиду последних новостей. Может есть какая-нибудь легкая связка de+wm или просто wm с таким функционалом?

Эх, жду-не дождусь когда уже можно будет на weston пересесть.

poe ()

Палитры в sakura

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

 

poe ()

Empty home

Я вот даже не знаю, плакать или радоваться: оставил компьютер на несколько часов, вернулся — /home/user пустой. С ext3 шансов на восстановления, насколько я понимаю, нет. Остается только выяснить, что произошло. Вопрос — в каких логах копаться?

poe ()

audacious. WTF?!

Слушал сейчас в audacious 2.1.0 песенку, и заметил, что звучит она как-то странно. Перемотал, послушал еще раз. Действительно, звук странный, я песню эту помню на слух. Запустил в мплеере — звучит нормально.

Стало интересно, начал копаться. Audacious в этом треке теги изменить не смог, но зато это смог сделать easytag. Мучает вопрос — это файл битый, или плеер — говно? Чем можно проверить mp3 на кошерность?

poe ()

[специалистам по ...] Jet pack

Реактивные ранцы летают на перекиси водорода. Температура при реакции — 740 °C, согласно педивикии. Похоже, комбинезоны ее выдерживают, вроде бы летают люди, и ничего, ноги не сгорают. Судя по всему, это охренительно хорошие комбинезоны. Также есть некоторые люди, собирающие джет паки практически в домашних условиях. Где они берут такой жаропрочный материал для своих комбинезонов, из чего вообще такие вещи делаются?

poe ()

Плеер под Rockbox

Собираюсь вот покупать плеер, думаю взять такой, чтобы можно было на него взгромоздить Rockbox. В связи с этим вопрос -- кто-нибудь видел его в действии, нормально ли ставится и работает? И какой плеер лучше выбрать? Список поддерживаемых плееров есть на главной проекта http://www.rockbox.org/

poe ()

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