diff --git a/Diagrams/Generate.rb b/Diagrams/Generate.rb index a618756..b1a9aed 100644 --- a/Diagrams/Generate.rb +++ b/Diagrams/Generate.rb @@ -20,7 +20,7 @@ def to_png(filename, options) to_png "RedGreenRefactor.svg", :density => 150 to_png "RedGreenRefactor2.svg", :density => 150 to_png "SenderRecipientMessage.svg", :density => 150 -to_png "WebOfObjects.rb", :density => 95 +to_png "WebOfObjects.svg", :density => 95 #Pathname.glob("./*.svg") do |svg_image| diff --git a/Test-Driven Development - Extensive Tutorial.epub b/Test-Driven Development - Extensive Tutorial.epub index 7be607f..1af08fb 100644 Binary files a/Test-Driven Development - Extensive Tutorial.epub and b/Test-Driven Development - Extensive Tutorial.epub differ diff --git a/custom_commands.rb b/custom_commands.rb index 2013093..528d4ca 100644 --- a/custom_commands.rb +++ b/custom_commands.rb @@ -94,6 +94,7 @@ def generate_epub(subdir, filename) end def generate_html(subdir, filename) + options = [ $global_css, $pandoc_highlight_opts, @@ -102,6 +103,7 @@ def generate_html(subdir, filename) "./Cover.md" ] generate_format subdir, filename, options + end def generate_pdf(subdir, filename) @@ -134,7 +136,6 @@ def generate_format(subdir, filename, additional_options) puts sh( cmd_begin + cmd_custom + cmd_end) end - class Git include FileUtils diff --git a/environment_setup.sh b/environment_setup.sh index 854a3ea..6013d1f 100644 --- a/environment_setup.sh +++ b/environment_setup.sh @@ -7,9 +7,7 @@ sudo apt-get install \ xdot \ git \ default-jdk \ - inkscape \ - ruby-kramdown - - + inkscape + sudo -v && wget -nv -O- https://raw.githubusercontent.com/kovidgoyal/calibre/master/setup/linux-installer.py | sudo python -c "import sys; main=lambda:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main()" diff --git a/environment_setup.sh~ b/environment_setup.sh~ deleted file mode 100644 index f29816f..0000000 --- a/environment_setup.sh~ +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -sudo apt-get install \ - ruby \ - rake \ - pandoc \ - ruby-graphviz \ - xdot \ - git \ - default-jdk \ - inkscape - - -sudo -v && wget -nv -O- https://raw.githubusercontent.com/kovidgoyal/calibre/master/setup/linux-installer.py | sudo python -c "import sys; main=lambda:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main()" - diff --git a/manuscript/110_Constrained_Non_Determinism.md b/manuscript/110_Constrained_Non_Determinism.md index 8213482..c79d070 100644 --- a/manuscript/110_Constrained_Non_Determinism.md +++ b/manuscript/110_Constrained_Non_Determinism.md @@ -21,7 +21,7 @@ and maybe two others that contain chapters on TDD. All of this sums up to about two or three thousands of paper pages, plus numerous posts on many blogs. And you know what I noticed? No two authors use exactly the same sets of techniques for test-driving their code! I mean, sometimes, -when you look techniques they are suggesting, the suggestions from two +when you look at the techniques they are suggesting, two authorities contradict each other. As each authority has their followers, it is not uncommon to observe and take part in discussions about whether this or that technique is better than a competing one or @@ -34,8 +34,7 @@ There are certain sets of techniques that work together and choosing one technique leaves us with issues we have to resolve by adopting other techniques. This is how a style is created. -Developing a style starts with underlying set of principles. These -principles lead us to adopt our first technique, which makes us adopt +Developing a style starts with a set of problems to solve and an underlying set of principles we consider important. These principles lead us to adopt our first technique, which makes us adopt another one and, ultimately, a coherent style emerges. Using Constrained Non-Determinism as an example, I will try to show you how part of a style gets derived from a technique that is derived from a principle. @@ -122,7 +121,7 @@ hand, for a behavior that occurs for all values other than Now that the Statement itself is freed from the knowledge of the concrete value of `hostName` variable, the concrete value of -“backup\_MY\_HOST\_NAME.zip" looks kinda weird. There is no clear +“backup\_MY\_HOST\_NAME.zip" looks kind of weird. There is no clear indication of the kind of relationship between input and output and whether there is any at all (one may reason whether the output is always the same string or maybe it depends on the string length). It is unclear diff --git a/manuscript/Stylesheets/Global.css b/manuscript/Stylesheets/Global.css index 1cd7314..a55557e 100644 --- a/manuscript/Stylesheets/Global.css +++ b/manuscript/Stylesheets/Global.css @@ -1,3 +1,8 @@ +img +{ + max-width: 60em; +} + div.achievement { border-top-width: 4px; diff --git a/manuscript/Stylesheets/Global.css~ b/manuscript/Stylesheets/Global.css~ new file mode 100644 index 0000000..1cd7314 --- /dev/null +++ b/manuscript/Stylesheets/Global.css~ @@ -0,0 +1,54 @@ +div.achievement +{ + border-top-width: 4px; + border-bottom-width: 4px; + border-top-style: double; + border-bottom-style: double; + border-top-color: #E1A60A; + border-bottom-color: #E1A60A; + padding: 0.5em 1em; +} + +div.disclaimer +{ + border-top-width: 1px; + border-bottom-width: 1px; + border-top-style: dashed; + border-bottom-style: dashed; + border-top-color: black; + border-bottom-color: black; + padding: 0.5em 1em; + font-size: 0.9em; +} + +div.disclaimer h3 { + font-size: 1em; + font-weight: bold; +} + + +.achievement h3:before { + content: "Achievement: "; +} + +.achievement p { + font-style: italic; +} + +dt { + padding-top: 0.2em; +} + +td, th { + border: solid thin #C0C0C0; + padding: 4px; +} + +table { + width: 70%; +} + +html, body { + widows: 0; + orphans: 0; +} diff --git a/manuscript/images/WebOfObjects.png b/manuscript/images/WebOfObjects.png index 00d9aa5..172b125 100644 Binary files a/manuscript/images/WebOfObjects.png and b/manuscript/images/WebOfObjects.png differ