henry_flower: A melancholy wolf (Default)
henry_flower ([personal profile] henry_flower) wrote2017-03-05 07:56 am

У всякого своє лихо, І в мене не тихо

Що робить нормальна, здорова людина, якій треба намалювати діаграму, малюнок, тощо? Відкриває якийсь Inkscape та малює.

Що роблю я? Шукаю на полиці роздруковану Computer Science Technical Report No. 116 Браяна Вільсона Кернігана і кожен раз перечитую її заново, тому що роблю я це 1 раз на 6 місяців і за цей період геть забуваю мову PIC.

Наприклад, ось така svg картинка:

Рендериться з цього тексту:

scale = 2.54

dt_wid = 4*boxwid

define zigzag {
  line right .2 \
       then down .4 left .4 \
       then right .2

# offset top_pos bottom_pos "text"
define v_dimension {
  A: line left .5 at $2 + ($1,0)
  B: line left .5 at $3 + ($1,0)
  arrow <-> $4 $5 chop .05 from A.center to B.center

# offset left_pos right_pos "text"
define h_dimension {
  A: line up .5 at $2 + (0,$1)
  B: line up .5 at $3 + (0,$1)
  arrow <-> $4 $5 chop .05 from A.center to B.center

H1: [
  box "Magic" "number"
  box "Version"
  box "Public key" "length"
  box "Signature" " length"

H2: box wid dt_wid "1024-bit RSA public key" with .nw at H1.sw
H3: box wid dt_wid ht 1.11 "Zip signature" with .nw at H2.sw

B: [
  B1: line down .7
  line down .7 then right dt_wid
  line down .7 at B1 + (dt_wid, 0)
  line down .7
] with .nw at H3.sw - (.2,0)

box invis "\fIZip data\fP" at B.c

# dimensions

box invis "32 bits" with .w at H1.nw + (0,.25)

h_dimension(.4, H1.nw, H1.ne, "16 bytes" above)
v_dimension(-.2, H1.nw, H3.sw, "306 bytes " rjust)
v_dimension(.7, H2.ne, H2.se, " 162 bytes " ljust)
v_dimension(.7, H3.ne, H3.se, " 128 bytes " ljust)


Який зайняло в мене майже годину народити, ггг.

Жах с точки зору productivity, але typographically результат краще, ніж будь-який mouse click based.

Post a comment in response:

Identity URL: 
Account name:
If you don't have an account you can create one now.
HTML doesn't work in the subject.


If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

Notice: This account is set to log the IP addresses of everyone who comments.
Links will be displayed as unclickable URLs to help prevent spam.