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 картинка:

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


.PS
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
  zigzag
  line down .7 then right dt_wid
  line down .7 at B1 + (dt_wid, 0)
  zigzag
  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)

.PE

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

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

juan_gandhi: (Default)

[personal profile] juan_gandhi 2017-03-05 06:54 am (UTC)(link)
Восторг.
vak: (Default)

[personal profile] vak 2017-03-05 07:10 am (UTC)(link)
Ти ба яка корисна штука!
Треба освоїти.
bytebuster: (Villeret)

[personal profile] bytebuster 2017-03-05 07:16 am (UTC)(link)


Сподобався байндінг блоків до кутів інших блоків, реально кльово!
errorrishe: (Default)

[personal profile] errorrishe 2017-03-05 10:08 pm (UTC)(link)
иш ты тваю мать какая штука