Голос избирателя

[::]

25 мая 2010 года

Написал Ханойские башни на sed: hanoi.sed. Понимает до восьми колец, если нужно больше, то в строчки вида a*b*c*d*e*f*g*h* нужно добавить больше букв.
Запускать так: sed -f hanoi.sed. Потом ввести строку вида abcde

30 июня 2008 года

В связи с тем, что книжку “Unix System Programming with Standard ML” стало почему-то очень сложно найти в сети, я положил её сюда в виде pdf.

Unix System Programming with Standard ML
Copyright © 2001 by Anthony L. Shipman
Version: 0.1, Mar 2002
Permission is granted for you to make copies of this version of this book for educational purposes but the copies may not be sold or otherwise used for direct commercial advantage. This permission is granted provided that this copyright and permission notice is preserved on all copies. All other rights are reserved.

23 августа 2004 года

Утро начато с команды mkfifo с целью прослушивания музыки.


Уточнение: Утро начато с команды mkfifo pipe.


Потом было play -t wav pipe, само собой.


Цвет денег. Кто помнит этот многострадальный фильм — я купил DVD.

Кстати, я никому не давал кассету? :-)

14 августа 2004 года

Configuring for a alphaev67-dec-osf5.1 ...
gcc found
The C compiler is ANSI-compliant.
Checking the sizes of integers and pointers...
Wow! A 64 bit architecture!


Случайно наткнулся: Sun Ra and the Blues Project "Batman and Robin". Удивительно: там был Sun Ra и не было Al Kooper'а (по крайней мере, по его собственным словам). Трудно поверить и в то, и в другое. Например.

Вот это да.


Вдогонку. Если у кого-то возникнет вопрос, что же здесь делал Sun Ra — отвечаю: играл на B-3, само собой.

12 августа 2004 года

"First they came for the Communists,
 and I didn't speak up,
   because I wasn't a Communist.
Then they came for the Jews,
 and I didn't speak up,
   because I wasn't a Jew.
Then they came for the Catholics,
 and I didn't speak up,
   because I was a Protestant.
Then they came for me,
 and by that time there was no one
   left to speak up for me."

-- Rev. Martin Niemoller, 1945

8 августа 2004 года

А где всё? А вот оно.


Играюсь с OCaml. Породил программку.

(* The number of iterations *)
let iter=500;;

(* Graphical display *)
let width=2*iter-1;;
let height=iter;;
Graphics.open_graph (" "^(string_of_int width)^"x"^(string_of_int height));;


(* Types of cells *)
type cell = Empty | Full ;;

(* Automaton rule *)
let rule a b c =
    match (a, b, c) with
    (Empty, Empty, Empty) -> Empty |
    (Empty, Empty, Full)  -> Full  |
    (Empty, Full,  Empty) -> Full  |
    (Empty, Full,  Full)  -> Empty |
    (Full,  Empty, Empty) -> Full  |
    (Full,  Empty, Full)  -> Empty |
    (Full,  Full,  Empty) -> Full  |
    (Full,  Full,  Full)  -> Empty;;

(*
 * 
 * GEARS OF THE AUTOMATON
 *
 *)
let rec next_gen prev cur tail =
    if (tail = []) then
        (rule prev cur Empty) :: (rule cur Empty Empty) :: []
    else
        let head = List.hd tail in
        let new_tail = List.tl tail in
        (rule prev cur head) :: (next_gen cur head new_tail);;

let make_gen start =
    let head = List.hd start in
    let tail = List.tl start in
    (rule Empty Empty head) :: (next_gen Empty head tail) ;;

(*
 * 
 * DRAWING
 *
 *)
let rec show_gen line x y =
    let head = List.hd line in
    if (head = Full) then Graphics.plot x y;
    let tail = List.tl line in
    if (tail != []) then show_gen tail (x+1) y;;

(*
 * Go, go, go!
*)

let rec next_generation count start =
    (* 
     * Calculates and shows the next generation
     * ``count'' times starting from ``start'' position
     *)

    show_gen start count count;

    (* Move to the next one if we have to *)
    if (count > 1) then
        next_generation (count-1) (make_gen start);;

next_generation iter [Full];;

read_line();;

Забавно.

...
...
...
Вы читали страницу “The only page”. Спасибо за внимание.