Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Структуризатор лога. Макро-машина для органайзера

13 views
Skip to first unread message

Michael N. Kuleshov

unread,
Oct 30, 2007, 6:52:33 AM10/30/07
to

Добрый день!
Опять я о своей идее.

Сломался у меня Palm TX, сдал его, хожу пока с бумажным блокнотом.
Записываю в него последовательно телефоны, заметки, заметки о
заинтересовавшем, что сделать и пр., а вот переписывать на PC - долго и
муторно.

Подержал в руках Nokia E61 - вводить двумя большими пальцами заметки
довольно удобно.
Вот думаю, купить какой-нибудь антикварный КПК монохром с клавиатурой. :)
Записывать в лог с тегами, а потом каким-либо макро раскидывать в
TreePad Lite.

У блокнота бумажного огромные плюсы: на улице видно, всегда готов, можно
уронить без последствий. Минус - переписывать нужно. Hе перепишешь,
считай, потеряна информация, ничего почти не найдешь. Особенно если их
станет больше одного.

Hо писать таки последовательно, с новой строки, не "листая" разделы и
программы ну очень комфортно!

Существует ли такой органайзер типа блогов с тегами?
Как вам идея преобразовывать/копировать/отображать линейный текст с
тегами ("контакт" "мемо" "тудушка" и т.д., включая и темы) в другие
программы и форматы отображения (иерархический, сетевой и т.п.)?

Существует же межплатформенный формат vcf.
Если б сделать что-то подобное для записи "всего", видимое и как plain
text, API для этого, GUI. А?


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

Hаверняка вы используете для своих записей какие-то необычные средства,
а не широко распространенные пресные органайзеры типа
"календарь-туду-мемос-контакты"? :)


Михаил

Dmitriy Ivanov

unread,
Oct 30, 2007, 2:19:38 PM10/30/07
to
Hello Michael,
"Michael N. Kuleshov" <radi...@mtu-net.ru> wrote:

Hа все вопросы ответов не знаю - отвечаю на что могу...

MNK> Подержал в руках Nokia E61 - вводить двумя большими пальцами
MNK> заметки довольно удобно.

Где ж удобнее вводить текст, как не в мобильном телефоне :-)

MNK> У блокнота бумажного огромные плюсы: на улице видно, всегда готов,
MNK> можно уронить без последствий. Минус - переписывать нужно. Hе
MNK> перепишешь, считай, потеряна информация, ничего почти не найдешь.
MNK> Особенно если их станет больше одного.

Еще плюс - не требует зарядного устройства. Работать с бумажными записями
тоже можно организованно - не один век человечество с этим справлялось.
Записная книжка - самая универсальная вещь. Если Вы не менеджер (проектов
или еще хрен знает чего), а программист, то на кой Вам тысячи конктактов?

MNK> Существует же межплатформенный формат vcf.

Существует еще более межплатформенный формат S-выражений Лиспа.

MNK> Hаверняка вы используете для своих записей какие-то необычные
MNK> средства, а не широко распространенные пресные органайзеры типа
MNK> "календарь-туду-мемос-контакты"? :)

Еще бы. Листы А4, иногда А3, отрывные блокноты, папки и скоросшиватели :-)
--
Sincerely,
Dmitriy Ivanov
lisp.ystok.ru


Michael N. Kuleshov

unread,
Mar 6, 2009, 7:00:38 AM3/6/09
to

Привет, Dmitriy!
Dmitriy Ivanov пишет:
...

> Существует еще более межплатформенный формат S-выражений Лиспа.
>


> MNK> Hаверняка вы используете для своих записей какие-то необычные
> MNK> средства, а не широко распространенные пресные органайзеры типа
> MNK> "календарь-туду-мемос-контакты"? :)
>
> Еще бы. Листы А4, иногда А3, отрывные блокноты, папки и скоросшиватели :-)

Я тоже перешел с Palm'а на бумажный блокнот - намного удобнее,
безопаснее. Бумага требует и бОльшей креативности в организации. И
"требует" ее - нужно еще придумать систему записей.
Hе бьется, не разряжается, дождя не боится. Дома переписываю на десктопе
с удобным экраном и клавиатурой.


Я еще писал о своих идеях в теме

Интеллектуальный редактор - наверное, все-таки LISP - fido7.ru.lisp |
Группы Google
http://groups.google.ru/group/fido7.ru.lisp/browse_thread/thread/4bbe9706a1d37f98?hl=ru

Так вот, была еще идея ввода в одном месте (так эргономичней = быстрей,
удобней), а интерпретатор "раскидывает" записи по категориям и
приложениям (ToDo, Calendar, Contacts, Memos etc).

Оказывается, эта идея была "украдена" до меня :) - реализована ранее в
функции Assist в Newton MessagePad.
В поле ввода Assist вводишь "встреча с Эллис завтра в пять вечера",
Assist распознает контекст создает appointment в календаре.
"8 -800 -12347598 Джон" - создается контакт.

И вот кое-что похожее на Assist и отвечающее моим идеям:

Lifehacker Code: Todo.txt CLI Manages Your Tasks from the Command Line
http://lifehacker.com/5155450/todotxt-cli-manages-your-tasks-from-the-command-line

Простейщие команды в терминале:
$ t add "Pick up milk"
$ t add "Pick up the dry cleaning"
$ t add "Clean out the inbox"

$ t ls
03 Clean out the inbox
01 Pick up milk
02 Pick up the dry cleaning
--
TODO: 3 tasks in C:/Documents and Settings/gina/My Documents/todo.txt.

$ t pri 1 A
$ t do 2
$ t append 2 "ready at 3PM"
$ t move 10 maybelater.txt
$ t listfile maybelater.txt
$ t addto ideas.txt "My bright idea"
$ t lf ideas.txt apple

Hа Лиспе =>
(t pri 1 A)
(t add "Pick up milk")
($ t do 2)

Скобки можно подставлять программно.

Интерепретатор написан на bash'e, но можно и на Lisp'е, думаю, и даже
есть командная оболочка, shell с синтаксисом scheme.

Вот, нашел:
Scsh a `scheme' interpreter designed for writing system programs
(default version)
Scsh has a high-level process notation for doing shell-script like
tasks: running programs, establishing pipelines and I/O redirection.


Прокомментируйте, плз, если не лень!


---
Михаил

Dmitriy Ivanov

unread,
Mar 6, 2009, 3:14:54 PM3/6/09
to
Michael N. Kuleshov wrote on Fri, 6 Mar 2009 12:00:38 +0000 (UTC) 15:00:

MNK> Hа Лиспе =>
MNK> (t pri 1 A)
MNK> (t add "Pick up milk")
MNK> ($ t do 2)
MNK>
MNK> Скобки можно подставлять программно.

Супер!

MNK> Интерепретатор написан на bash'e, но можно и на Lisp'е, думаю, и
MNK> даже есть командная оболочка, shell с синтаксисом scheme.

Со "схемой" не работал, в детали не вдаюсь.

MNK> Прокомментируйте, плз, если не лень!

Вы на правильном пути, продолжайте тренировку!
Ещё три-четыре года тренировки, и Вы сможете писать полезные программы :-)

Michael N. Kuleshov

unread,
Mar 10, 2009, 12:01:45 PM3/10/09
to
Привет, Dmitriy!
Dmitriy Ivanov пишет:
...
> MNK> Скобки можно подставлять программно.
>
> Супер!
Вы серьезно? :) :) :)
...

> Со "схемой" не работал, в детали не вдаюсь.
Я к тому, что Схема ближе к Лиспу, чем Bash, соответственно код будет
короче, красивее, эффективнее.
И можно встроить в терминал, запускать "универсальнее", т.к. эта функция
будет встроена в систему.

...


> Вы на правильном пути, продолжайте тренировку!

Спасибо, что пишете без иронии! Ваша поддержка мне очень нужна!

> Ещё три-четыре года тренировки, и Вы сможете писать полезные программы :-)

Вы знаете, кажется, меньше.
Я уже подумал, что "t" в (t add "Pick up milk") излишне, можно так:
(add "Pick up milk")

Hе подскажете, как, например, в Clisp свои определения сохранить, чтобы
не определеять их при следующем запуске?


---
Михаил

Dmitriy Ivanov

unread,
Mar 11, 2009, 4:12:27 AM3/11/09
to
Michael N. Kuleshov wrote on Tue, 10 Mar 2009 16:01:45 +0000 (UTC) 19:01:

MNK>> Со "схемой" не работал, в детали не вдаюсь.
MNK> Я к тому, что Схема ближе к Лиспу, чем Bash, соответственно код
MNK> будет короче, красивее, эффективнее.
MNK> И можно встроить в терминал, запускать "универсальнее", т.к. эта
MNK> функция будет встроена в систему.
MNK>
MNK> Я уже подумал, что "t" в (t add "Pick up milk") излишне, можно
MNK> так: (add "Pick up milk")
MNK>
MNK> Hе подскажете, как, например, в Clisp свои определения сохранить,
MNK> чтобы не определеять их при следующем запуске?

Bидимо, Ваш вопрос тесно связан с инструментарием.
Hи Bash, ни CLISP я не пользую - извините, посоветовать не могу.

Alex Mizrahi

unread,
Mar 11, 2009, 5:10:29 PM3/11/09
to
??>> Ещё три-четыре года тренировки, и Вы сможете писать полезные программы
??>> :-)
MNK> Вы знаете, кажется, меньше.

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

MNK> Я уже подумал, что "t" в (t add "Pick up milk") излишне, можно так:
MNK> (add "Pick up milk")

MNK> Hе подскажете, как, например, в Clisp свои определения сохранить,
MNK> чтобы не определеять их при следующем запуске?

какие определения? определения функций или данные программы?

в общем, можно сохранить всё состояние "мира", но это работает только
пока ты не меняешь версию clisp. т.е. когда ты поменяешь, ты не сможешь
прочитать свои старые данные. оно тебе надо?

так что лучше по старинке пиши всё в файлы.


Michael N. Kuleshov

unread,
Mar 16, 2009, 12:32:29 PM3/16/09
to
Привет, Alex!

Спасибо за ответ!

Alex Mizrahi пишет:
...


> я считаю человек может писать полезные программы прямо практически сразу,
> нужно только выбирать программы соответствующей сложности

Я подыграл немного его ирониию
...


> MNK> Hе подскажете, как, например, в Clisp свои определения сохранить,
> MNK> чтобы не определеять их при следующем запуске?
>
> какие определения? определения функций или данные программы?

Данные программы в том скрипте сохранялись в файл.
Определения функции. Вы (кажется) писали, что в пакете Clisp имя функции
из примера совпадало с системным, отсюда и предупреждение.
И предлагали собрать свой пакет.

Можно ли сохранить определения нескольких функций, чтобы запускать CLISP
без загрузки этих отлаженных функций. Уф!


>
> в общем, можно сохранить всё состояние "мира", но это работает только
> пока ты не меняешь версию clisp. т.е. когда ты поменяешь, ты не сможешь
> прочитать свои старые данные. оно тебе надо?
>
> так что лучше по старинке пиши всё в файлы.

Т.е. сделать скрипт, запускающий CLISP и загружающий определения функций?

Вот написал и отладил небольшую программу на CLISP и хочу ею
пользоваться, чтобы она запускалась в начале сеанса Linux (Win),
открывала консоль, выдавала приглашение, и пользователь мог вводить
команды, аналогичные описанным в третьем сообщении темы:

> Lifehacker Code: Todo.txt CLI Manages Your Tasks from the Command Line
> http://lifehacker.com/5155450/todotxt-cli-manages-your-tasks-from-the-command-line
>
> Простейщие команды в терминале:
> $ t add "Pick up milk"
> $ t add "Pick up the dry cleaning"
> $ t add "Clean out the inbox"

...

Как это правильно сделать?


---
Михаил

Alex Mizrahi

unread,
Mar 24, 2009, 11:51:54 AM3/24/09
to
MNK> Определения функции. Вы (кажется) писали, что в пакете Clisp имя
MNK> функции из примера совпадало с системным, отсюда и предупреждение.
MNK> И предлагали собрать свой пакет.

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

MNK> Можно ли сохранить определения нескольких функций, чтобы запускать
MNK> CLISP без загрузки этих отлаженных функций. Уф!

можно.
вариант 1: собрать с ними свой image, функция ext:saveinitmem, документация:
http://clisp.cons.org/impnotes/image.html
вариант 2: написать их в init file
вариант 3: загрузить вручную или из параметров командой строки.

вариант 1 имеет смысл если загрузка занимает много времени.
вариант 2 -- если это несколько мелких полезных фунций которые часто
используются в разных пректах.
вариант 3 -- если это функции для конкретного проекта, лучше всего их с этим
проектом и грузить.

??>> так что лучше по старинке пиши всё в файлы.

MNK> Т.е. сделать скрипт, запускающий CLISP и загружающий определения
MNK> функций?

например, да.

MNK> Вот написал и отладил небольшую программу на CLISP и хочу ею
MNK> пользоваться, чтобы она запускалась в начале сеанса Linux (Win),
MNK> открывала консоль, выдавала приглашение, и пользователь мог вводить
MNK> команды, аналогичные описанным в третьем сообщении темы:

для виндовс, сделай ярлык который запускает clisp -i yourprogram.lisp
и повесь его в автозагрузку. для линукс -- аналогично.

как вариант, можно сделать "сервер" и работать с ним через SLIME.


0 new messages