Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
####### # # E-scripts on MagicPoint # # Note 1: use the eev command (defined in eev.el) and the # ee alias (in my .zshrc) to execute parts of this file. # Executing this file as a whole makes no sense. # An introduction to eev can be found here: # # (find-eev-quick-intro) # http://angg.twu.net/eev-intros/find-eev-quick-intro.html # # Note 2: be VERY careful and make sure you understand what # you're doing. # # Note 3: If you use a shell other than zsh things like |& # and the for loops may not work. # # Note 4: I always run as root. # # Note 5: some parts are too old and don't work anymore. Some # never worked. # # Note 6: the definitions for the find-xxxfile commands are on my # .emacs. # # Note 7: if you see a strange command check my .zshrc -- it may # be defined there as a function or an alias. # # Note 8: the sections without dates are always older than the # sections with dates. # # This file is at <http://angg.twu.net/e/mgp.e> # or at <http://angg.twu.net/e/mgp.e.html>. # See also <http://angg.twu.net/emacs.html>, # <http://angg.twu.net/.emacs[.html]>, # <http://angg.twu.net/.zshrc[.html]>, # <http://angg.twu.net/escripts.html>, # and <http://angg.twu.net/>. # ####### # «.dia-d-2004-almost» (to "dia-d-2004-almost") # «.sarge-mgp» (to "sarge-mgp") # (find-status "mgp") # (find-vldifile "mgp.list") # (find-fline "/usr/share/doc/mgp/") # (find-fline "/usr/share/doc/mgp/examples/") # (find-status "mgp") # (find-vldifile "mgp.list") # (find-udfile "mgp/") ##### # # installing the ttf fonts # 2004aug08 # ##### # (find-fline "/usr/share/doc/mgp/examples/README" "TrueType fonts are necessary") #* # ftp://ftp.mew.org/pub/mgp/ttf.tar.gz rm -Rv ~/tmp/mgp-ttf/ mkdir ~/tmp/mgp-ttf/ tar -C ~/tmp/mgp-ttf/ -xvzf $S/ftp/ftp.mew.org/pub/mgp/ttf.tar.gz #* # (find-fline "/usr/share/doc/mgp/examples/mgprc-sample") # (find-fline "~/.mgprc") cat > ~/.mgprc <<'%%%' echo 'tfdir "~/tmp/mgp-ttf/"' > ~/.mgprc %%% #* # (find-fline "~/tmp/mgp-ttf/ttf/") # (find-status "gfontview") # (find-vldifile "gfontview.list") # (find-fline "/usr/share/doc/gfontview/") cd ~/tmp/mgp-ttf/ttf/ gfontview *.ttf & # Two of the ttf font files - goth.ttf and kochi-mincho.ttf - are # huge; they have lots of Japanese chars in pages > 1. #* # If we need the space, rm -v ~/tmp/mgp-ttf/ttf/goth.ttf rm -v ~/tmp/mgp-ttf/ttf/kochi-mincho.ttf #* ##### # # tutorial, sample, gradation # 2004aug08 # ##### # (find-fline "/usr/share/doc/mgp/examples/README") # (find-fline "/usr/share/doc/mgp/examples/") # (find-fline "/usr/share/doc/mgp/examples/tutorial.mgp") # (find-fline "/usr/share/doc/mgp/examples/tutorial.mgp" "%pause") (defun find-mgp (fname) (interactive "fMagicPoint file: ") (eev (format "cd %s && mgp -x vflib %s" (file-name-directory fname) (file-name-nondirectory fname)))) # (find-fline "/usr/share/doc/mgp/examples/tutorial.mgp") # (find-fline "/usr/share/doc/mgp/examples/tutorial.mgp" "%pause") # (find-mgp "/usr/share/doc/mgp/examples/tutorial.mgp") # (find-fline "/usr/share/doc/mgp/examples/sample.mgp") # (find-mgp "/usr/share/doc/mgp/examples/sample.mgp") # (find-mgp "/usr/share/doc/mgp/examples/gradation.mgp") #* cd /usr/share/doc/mgp/examples/ mgp -x vflib tutorial.mgp #* ##### # # txt2tags # 2004aug09 # ##### # (code-c-d "t2t" "~/usrc/txt2tags-2.0/") # http://txt2tags.sf.net/src/txt2tags-2.0.tgz #* rm -Rv ~/usrc/txt2tags-2.0/ tar -C ~/usrc/ -xvzf $S/http/txt2tags.sf.net/src/txt2tags-2.0.tgz cd ~/usrc/txt2tags-2.0/ #* # (find-t2tfile "") # (find-t2tfile "doc/userguide/") cd ~/usrc/txt2tags-2.0/doc/userguide/ ../../txt2tags --target mgp userguide.t2t cat userguide.mgp \ | lua50 -e 'for li in io.lines() do print((string.gsub(li, "^%%!", " %%!"))) end' \ > userguide2.mgp # tkdiff userguide.mgp userguide2.mgp & #* cp -iv ~/usrc/txt2tags-2.0/extras/txt2tags-mode.el ~/elisp/ # Comment out by hand: # (find-fline "~/elisp/txt2tags-mode.el" "turn-on-font-lock") #* ;; (find-fline "~/elisp/txt2tags-mode.el") (add-to-alist 'auto-mode-alist '("\\.t2t$" . t2t-mode)) (load "txt2tags-mode") ;; (find-t2tfile "doc/userguide/") #* # (eev "firefox ~/usrc/txt2tags-2.0/doc/userguide/userguide.html &") # (find-mgpnow (ee-t2tfile "doc/userguide/userguide2.mgp")) # (find-t2tfile "doc/userguide/userguide.mgp") #* # http://www.aurelio.net/curso/linuxchix/desenvolvedor/desenvolvedor.t2t # http://www.aurelio.net/curso/linuxchix/desenvolvedor/desenvolvedor.mgp ##### # # mgp on sarge # 2005jun17 # ##### # «sarge-mgp» (to ".sarge-mgp") # (find-status "mgp") # (find-vldifile "mgp.list") # (find-udfile "mgp/") # (find-efunction 'ee-comment-prefix) # (setq-default ee-comment-prefix "%%") # (setq-default ee-comment-prefix nil) # (find-fline "/usr/share/emacs/site-lisp/mgp/mgp-mode.el") # (find-fline "/usr/share/emacs/site-lisp/mgp/mgp.el") # (find-fline "/etc/emacs/site-start.d/50mgp.el") # # (eechannel-xterm "A") # (eech "cd /usr/share/doc/mgp/examples; mgp -x vflib tutorial.mgp\n") # (find-es "mgp") # (find-mgp (buffer-file-name)) # (eemgp-file-now) # (find-udfile "mgp/examples/tutorial.mgp") # (find-udfile "mgp/examples/default.mgp") # (find-efunction 'ee-mgp-command-line) # (find-available "msttcorefonts") # (find-udfile "mgp/FAQ.gz") # (find-udfile "mgp/README.Debian") # (find-udfile "mgp/README.fonts.gz") # (find-udfile "mgp/README.fonts.jp.gz") # (find-udfile "mgp/README.gz") # (find-udfile "mgp/README.gz" "iso-8859") # (find-udfile "mgp/README.lang") # (find-udfile "mgp/README.lang" "%charset \"iso8859-1\"") # (find-udfile "mgp/SYNTAX.gz") # (find-udfile "mgp/SYNTAX.gz" "%charset") # (find-udfile "mgp/TODO.Debian") # (find-udfile "mgp/TODO.jp") # (find-udfile "mgp/USAGE.gz") # (find-udfile "mgp/changelog.Debian.gz") # (find-udfile "mgp/changelog.gz") # (find-udfile "mgp/copyright") #* cd ~/MGP/ cat > ~/MGP/1.mgp <<'---' %%charset "iso8859-1" %default 1 area 90 90, leftfill, size 6, fore "bisque", back "black", hgap 0 %tab 1 size 5, vgap 40, prefix " ", icon box "green" 50 %tab 2 size 4, vgap 40, prefix " ", icon arc "yellow" 50 %tab 3 size 4, vgap 40, prefix " ", icon arc "orange" 50 %page O que é um programa? Personagens: Brian Kernighan (programador) Lynn Jelinski (química) Bell Labs, cafeteria, 1983 (?) Problema: desenhar estruturas químicas. --- # (find-fline "~/MGP/1.mgp") mgp -e latin1 -x vflib 1.mgp #* %%nodefault %%default 2 size 7, vgap 10, prefix " ", ccolor "black" %%default 3 size 2, bar "gray70", vgap 10 %%default 4 size 5, fore "gray20", vgap 30, prefix " ", font "standard" %%default 1 area 90 90, leftfill, size 6, fore "bisque", back "black", font "standard", hgap 0 %%size 6.5, font "standard", back "white", ccolor "black" %%size 6.5, font "standard", back "white", ccolor "black" # (find-sh "mgp -h") ##### # # Almost the slides that I used in the Dia-D of 2004 # 2005jun17 # ##### # «dia-d-2004-almost» (to ".dia-d-2004-almost") #* cd ~/MGP/ recode l1..u8 > header.mgp <<'%%%' %%charset "iso8859-1" %default 1 area 90 90, leftfill, size 6, fore "bisque", back "black", hgap 0 %tab 1 size 5, vgap 40, prefix " ", icon box "green" 50 %tab 2 size 4, vgap 40, prefix " ", icon arc "yellow" 50 %tab 3 size 4, vgap 40, prefix " ", icon arc "orange" 50 %% %% (find-udfile "mgp/SYNTAX.gz") %% %page O que é um programa? Personagens: Brian Kernighan (programador) Lynn Jelinski (química) Bell Labs, cafeteria, 1983 (?) Problema: desenhar estruturas químicas. %newimage "lsd-erowid.png" Em uma semana o programa estava pronto. 500 linas de Awk, 70 linhas de Pic ...e um artigo de 16 páginas (Computers and Chemistry, 1987) %page O que é um programa? Hoje em dia: M$-Windows, AutoCAD, jogos Complicados Custam caro Quem faz? Nerds e profissionais. %page O que é um programa? BOLINHA 0 1 BOLINHA 4 0 BOLINHA 5 4 BOLINHA 1 5 LINHA 0 1 4 0 LINHA 0 1 4 0 LINHA 0 1 4 0 LINHA 0 1 4 0 TEXTO -0.5 0 "(0,1)" TEXTO 3.5 -1 "(4,0)" <<<quadrado1>>> %page O que é um programa? PONTO A 0 1 "(0,1)" abaixo PONTO B 4 0 "(4,0)" abaixo PONTO C 5 4 PONTO D 1 5 SEGMENTOS A B B C C D D E <<<quadrado1>>> %page O que é um programa? Idéia-chave: expandir abreviações. Editor de texto Sistema para desenhar pontos e linhas Sistema que expande abreviações "Abreviações" para química Listas de abreviações são texto Programas são texto %page O que é um programa? proc PONTO {nome x y texto posicao} { BOLINHA $x $y TEXTO $x $y $texto $posicao COORDS $nome $x $y } PONTO A 0 1 "(0,1)" abaixo BOLINHA 0 1 TEXTO 0 1 "(0,1)" abaixo COORDS A 0 1 %page Transparência Você aparece com um problema. Eu faço um programa pra você (50 linhas) e explico ele em todos os detalhes. Você aprende como o sistema de abreviações funciona, etc. Bem-vindo ao clube! %page O que era um programador profissional? Ambiente acadêmico - pesquisa Programas Artigos Tinham que ser: Interessantes Úteis Claros Inovadores %page O conhecimento se acumulava... Editor de texto Sistema para desenhar pontos, retas e letras Abreviaturas (linguagens de programação) Diagramas Estruturas químicas ... %page Posse e responsabilidade "X é meu" tem vários significados: Eu posso usar (exemplo: pincel, carro, panela) Eu cuido de X (exemplo: filhos, bichos de estimação) Eu sou o autor de X (exemplo: X é um programa), \ daí eu devo ser uma das pessoas mais adequadas para explicar ou modificar X Pra usar X você vai ter que me pagar \ (exemplo: programa comercial) Eu posso fazer o que quiser com X \ (exemplo: terreno de 10,000 Km2 no Pará cheio de \ madeiras nobres, minérios e uns índios inúteis) %page Posse e responsabilidade Ponto de vista atual: tudo que existe e' propriedade de alguem. "Responsabilidade"? Como assim? Dinheiro %page Segurança Hoje em dia meu computador tem: a minha senha do banco, os sites pornôs que eu acesso, meu diário (e diário é coisa de menina). Se alguém acessa meu computador eu tou ferrado. Hoje em dia a gente vive com medo. Era mais fácil viver com um subemprego nos anos 60 e 70 \ do que hoje em dia. Muitas pessoas levavam as suas utopias a sério e \ experimentavam estilos de vida alternativos. Stallman: vida de monge hippie, dedicação integral à \ programação e ao movimento do Software Livre. %page Segurança Sistema: ITS (MIT, início da década de 70) Qualquer usuário podia ler e alterar qualquer arquivo. Pessoas de outras universidades podiam se conectar no \ sistema remotamente e fazer o que quisessem. Pessoas do MIT podiam ver o que os visitantes estavam fazendo. ("Espiar por cima do ombro") Pessoas podiam ler os e-mails de outras Em geral os visitantes entendiam como deviam se comportar. %page Unix Surge no meio de toda essa experimentação Criado por programadores, sem "ordens vindas de cima" Pequeno, modular, prático, claro, modificável Feito pra ser mais prático Pra tornar os programadores mais eficientes Não havia distinção entre programador e usuário Era fácil conectar um módulo ao outro Feito pra gerar espírito de comunidade %page Unix Em poucos anos rodava em vários computadores diferentes, \ em vários lugares do mundo Os computadores rodavam o sistema distribuído pelo fabricante \ e mais o Unix (Os fabricantes não davam suporte técnico ao Unix) Pessoas usando por hobby Grupos de usuários em vários lugares %page Unix Haviam usuários mais experientes, mas "todo mundo era \ autodidata" Você aprendia: Lendo os programas e "artigos" dos outros (programas \ são texto!) Escrevendo os seus programas e "artigos" Já havia uma forma primitiva de internet (por telefone) O sistema ia incorporando as melhores contribuições %%% mgp -x vflib header.mgp #* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% Default settings that are applied to TAB-indented lines. %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page %nodefault %size 6.5, font "standard", back "white", ccolor "black" %center, fore "Blue", font "standard", hgap 60, size 6.5 MAGIC POINT %bar "skyblue" 6 15 70 %font "standard", hgap 0 %size 5, fore "darkblue" Yoshifumi Nishida %size 4.5 nishida@csl.sony.co.jp # Local Variables: # coding: utf-8-unix # End: