{"id":16,"date":"2011-12-31T21:49:59","date_gmt":"2011-12-31T21:49:59","guid":{"rendered":"http:\/\/minireference.com\/blog\/?p=16"},"modified":"2017-02-08T11:52:46","modified_gmt":"2017-02-08T16:52:46","slug":"tools","status":"publish","type":"post","link":"https:\/\/minireference.com\/blog\/tools\/","title":{"rendered":"TOOLS"},"content":{"rendered":"<p>In web-dev, it is all about the tools. And in the last couple of days I have found some kick ass tools: <a href=\"https:\/\/github.com\/Khan\/khan-exercises\">khan-exercises<\/a> and\u00a0 <a href=\"http:\/\/www.math.ubc.ca\/~cass\/piscript\/\">piscript<\/a>\/<a href=\"http:\/\/ctan.forsale.plus\/graphics\/pgf\/base\/doc\/pgfmanual.pdf\">TikZ<\/a>.<\/p>\n<p>Several of my first clients insisted on having a lot more exercises to practice on. One girl, cancelled a purchase after I told her that my book was &#8220;a whole course, not just an exercise pack&#8221;. She said &#8220;all I need is exercises.&#8221; I had blueprints of a python &#8220;exercise generation&#8221; algorithm, but what I see in the <a href=\"https:\/\/github.com\/Khan\/khan-exercises\/blob\/master\/exercises\/adding_and_subtracting_fractions.html\">khan-exercises framework<\/a> is much much better. Also it is written in js, so can be deployed ANYWHERE. Thank <a href=\"https:\/\/github.com\/Khan\/khan-exercises\/network\/members\">you all<\/a>. That is, like, the best Christmas present ever.<\/p>\n<p>On the other hand, the book was seriously missing illustrations. I did well so far with Preview on the MAC and results from google image searches, but it is time I started producing my own images. The best <em>tool<\/em> for this is a programming language for graphics. The specific choice, doesn&#8217;t matter too much. It could be PostScript scripted in python (i.e, PiScript) or it could be the high level abstraction TikZ language that works with pgf directly from a .tex file. We will see. Either way, scripted illustrations are the way to go in 2012.<\/p>\n<p>As an example consider this Figure I generated in one evening for my Thesis Proposal:<\/p>\n<p><a href=\"https:\/\/minireference.com\/blog\/wp-content\/uploads\/2011\/12\/Screen-shot-2011-12-31-at-4.40.02-PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-17\" title=\"Tikz Example\" src=\"http:\/\/minireference.com\/blog\/wp-content\/uploads\/2011\/12\/Screen-shot-2011-12-31-at-4.40.02-PM.png\" width=\"657\" height=\"246\" \/><\/a><\/p>\n<p>The code that generates (a) is:<\/p>\n<pre>\r\n\\usetikzlibrary{backgrounds,scopes}\r\n...\r\n\\begin{tikzpicture}[node distance=2.0cm,&gt;=stealth,bend angle=45,auto]\r\n    \\tikzstyle{station}=[circle,thick,draw=blue!75,fill=blue!20,minimum size=5mm]\r\n    \\tikzstyle{every label}=[black, font=\\footnotesize]\r\n    \\begin{scope}\r\n        % MAC channel\r\n        \\node[station] (Tx1) [label=left:Tx1] {};\r\n        \\node[station] (Tx2) [label=left:Tx2, below of=Tx1] {};\r\n        \\node[station] (Rx) [label=right:Rx, right of=Tx1,yshift=-10mm] {}\r\n                            edge[] node[swap] {$\\downarrow$} (Tx1)\r\n                            edge[] node {$\\downarrow$} (Tx2) ;\r\n    \\end{scope}\r\n    \\begin{pgfonlayer}{background}\r\n      \\filldraw [line width=4mm,join=round,black!10] (Tx1.north -| Tx1.east) rectangle (Tx2.south -| Rx.west);\r\n    \\end{pgfonlayer}\r\n\\end{tikzpicture}\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>This is the level of abstraction that I like.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In web-dev, it is all about the tools. And in the last couple of days I have found some kick ass tools: khan-exercises and\u00a0 piscript\/TikZ. Several of my first clients insisted on having a lot more exercises to practice on. One girl, cancelled a purchase after I told her that my book was &#8220;a whole [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-16","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/minireference.com\/blog\/wp-json\/wp\/v2\/posts\/16","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/minireference.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/minireference.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/minireference.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/minireference.com\/blog\/wp-json\/wp\/v2\/comments?post=16"}],"version-history":[{"count":8,"href":"https:\/\/minireference.com\/blog\/wp-json\/wp\/v2\/posts\/16\/revisions"}],"predecessor-version":[{"id":1015,"href":"https:\/\/minireference.com\/blog\/wp-json\/wp\/v2\/posts\/16\/revisions\/1015"}],"wp:attachment":[{"href":"https:\/\/minireference.com\/blog\/wp-json\/wp\/v2\/media?parent=16"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/minireference.com\/blog\/wp-json\/wp\/v2\/categories?post=16"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/minireference.com\/blog\/wp-json\/wp\/v2\/tags?post=16"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}