@@ -8,14 +8,66 @@ title: Oceandrift
88by Elias A. Batek ([ @0xEAB ] ( https://github.com/0xEAB ) ).
99License: [ CC-BY-4.0] ( ./COPYING.txt ) .
1010
11- <div >
12- {% assign sorted_files = site.static_files | sort: 'path' -%}
13- {% for file in sorted_files -%}
14- {%- assign pageurl = page.url | replace: 'index.html', '' -%}
15- {%- if file.path contains pageurl -%}
16- {%- if file.extname == '.svg' or file.extname == '.png' %}
17- <img src =" {{ site.baseurl }}{{ file.path }} " alt =" {{ file.basename }} " style =" max-width :30% " >
18- {%- endif -%}
19- {%- endif -%}
20- {% endfor -%}
11+
12+ ## Contract Programming
13+
14+ * 2024-08-25*
15+
16+ [ Contract programming] ( https://dlang.org/spec/contracts.html ) is a nice and powerful feature.
17+
18+ <div class =" gallery big " >
19+ <img
20+ src="{{ site.baseurl }}/oceandrift/2024-08-25_contract-programming/d-man_contract-programming.svg"
21+ alt="Comic Strip: Contract Programming"
22+ >
23+ </div>
24+
25+ But like with every tool it’s important to use it for the right job.
26+ If one finds themselves in a situation where contracts verify whether input has been properly validated,
27+ it might be better to replace those contracts with input validation.
28+ This can not only save maintenance time spent keeping validation in sync with the contracts
29+ but also prevent those application crashes that go hand in hand with failed contract assertions.
30+ As crashes are bad for availability, they can end up becoming denial-of-service security vulnerabilities.
31+ Keep in mind that availability is a security criterion similar to confidentiality and integrity.
32+
33+ [ → Source file] ( ./2024-08-25_contract-programming/d-man_contract-programming.inkscape.svg )
34+
35+ ### Sketch of panel 1 (Bonus)
36+
37+ <div class =" gallery " >
38+ <img
39+ src="{{ site.baseurl }}/oceandrift/2024-08-25_contract-programming/d-man_contract-programming_sketch.png"
40+ alt="Sketch of panel 1 of the Contract Programming comic strip"
41+ >
42+ </div>
43+
44+
45+ ## Ship
46+
47+ * 2024-07-21*
48+
49+ Created for the “dlang-dockerized” project to be used as its avatar.
50+
51+ Note: ` d-man_cargo-ship.svg ` is an Inkscape-SVG file.
52+ You might want to reduce it to plain SVG for further use.
53+
54+ The original sketch was drawn using the “Simple Draw” app on my phone.
55+ It’s included here as a bonus (` d-man_ship-sketch.svg ` ).
56+
57+ <div class =" gallery " >
58+ <img
59+ src="{{ site.baseurl }}/oceandrift/2024-07-21_ship/d-man_cargo-ship.svg"
60+ alt="D Man on a cargo ship"
61+ class="big"
62+ >
63+ <img
64+ src="{{ site.baseurl }}/oceandrift/2024-07-21_ship/d-man_ship-draft.svg"
65+ alt="Draft: D Man on a cargo ship"
66+ class="big"
67+ >
68+ <img
69+ src="{{ site.baseurl }}/oceandrift/2024-07-21_ship/d-man_ship-sketch.svg"
70+ alt="Sketch: D Man on a cargo ship"
71+ class="big"
72+ >
2173 </div>
0 commit comments