diff --git a/raw.md.html b/raw.md.html index e06deda..3ce96a8 100644 --- a/raw.md.html +++ b/raw.md.html @@ -12,30 +12,28 @@ describes a natural approach to software engineering with a strong focus on the act of programming. The PMF methodology uses a soft naming to allow for a non-partisan reference to official engineering or project documents describing one of the most used software engineering methodologies. " name="description"> - + @@ -47,7 +45,7 @@ to official engineering or project documents describing one of the most used sof this can be consolidated so that style settings occur only in one place, but for now the contents of this file consists first of the initial CSS work as provided to the RFC Formatter (xml2rfc) work, followed by itemized and - commented changes found necssary during the development of the v3 + commented changes found necessary during the development of the v3 formatters. */ @@ -57,9 +55,14 @@ to official engineering or project documents describing one of the most used sof @import url('https://fonts.googleapis.com/css?family=Noto+Serif'); /* Serif (print) */ @import url('https://fonts.googleapis.com/css?family=Roboto+Mono'); /* Monospace */ +:root { + --font-sans: 'Noto Sans', Arial, Helvetica, sans-serif; + --font-serif: 'Noto Serif', 'Times', 'Times New Roman', serif; + --font-mono: 'Roboto Mono', Courier, 'Courier New', monospace; +} + @viewport { zoom: 1.0; - width: extend-to-zoom; } @-ms-viewport { width: extend-to-zoom; @@ -74,9 +77,10 @@ body { color: #222; background-color: #fff; font-size: 14px; - font-family: 'Noto Sans', Arial, Helvetica, sans-serif; + font-family: var(--font-sans); line-height: 1.6; scroll-behavior: smooth; + overflow-wrap: break-word; } .ears { display: none; @@ -163,6 +167,15 @@ div { svg { display: block; } +svg[font-family~="serif" i], svg [font-family~="serif" i] { + font-family: var(--font-serif); +} +svg[font-family~="sans-serif" i], svg [font-family~="sans-serif" i] { + font-family: var(--font-sans); +} +svg[font-family~="monospace" i], svg [font-family~="monospace" i] { + font-family: var(--font-mono); +} .alignCenter.art-text { background-color: #f9f9f9; border: 1px solid #eee; @@ -177,11 +190,8 @@ svg { margin: 1em 0; } .alignCenter > *:first-child { - border: none; - /* this isn't optimal, but it's an existence proof. PrinceXML doesn't - support flexbox yet. - */ display: table; + border: none; margin: 0 auto; } @@ -259,9 +269,9 @@ a.selfRef:hover { } */ /* Figures */ -tt, code, pre, code { +tt, code, pre { background-color: #f9f9f9; - font-family: 'Roboto Mono', monospace; + font-family: var(--font-mono); } pre { border: 1px solid #eee; @@ -301,11 +311,17 @@ blockquote { border-radius: 3px; margin: 1em 0; } +blockquote > *:last-child { + margin-bottom: 0; +} cite { display: block; text-align: right; font-style: italic; } +.xref { + overflow-wrap: normal; +} /* tables */ table { @@ -450,6 +466,10 @@ nav.toc li { margin-bottom: 1.25em; } +.refSubseries { + margin-bottom: 1.25em; +} + .references .ascii { margin-bottom: 0.25em; } @@ -498,7 +518,7 @@ address.vcard .nameRole { margin-left: 0; } address.vcard .label { - font-family: "Noto Sans",Arial,Helvetica,sans-serif; + font-family: var(--font-sans); margin: 0.5em 0; } address.vcard .type { @@ -638,7 +658,6 @@ hr.addr { /* pagination */ @media print { body { - width: 100%; } p { @@ -661,6 +680,9 @@ hr.addr { figure { overflow: scroll; } + .breakable pre { + break-inside: auto; + } h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } @@ -728,7 +750,7 @@ hr.addr { size: A4; margin-bottom: 45mm; padding-top: 20px; - /* The follwing is commented out here, but set appropriately by in code, as + /* The following is commented out here, but set appropriately by in code, as the content depends on the document */ /* @top-left { @@ -828,12 +850,12 @@ section { } /* prevent monospace from becoming overly large */ -tt, code, pre, code { +tt, code, pre { font-size: 95%; } /* Fix the height/width aspect for ascii art*/ -pre.sourcecode, +.sourcecode pre, .art-text pre { line-height: 1.12; } @@ -869,7 +891,7 @@ table th.text-right { text-align: right; } -/* Make the alternative author contact informatio look less like just another +/* Make the alternative author contact information look less like just another author, and group it closer with the primary author contact information */ .alternative-contact { margin: 0.5em 0 0.25em 0; @@ -1051,6 +1073,7 @@ aside > p { /* Sourcecode margin in print, when there's no pilcrow */ @media print { .artwork, + .artwork > pre, .sourcecode { margin-bottom: 1em; } @@ -1065,13 +1088,16 @@ ol.type-A { list-style-type: upper-alpha; } ol.type-i { list-style-type: lower-roman; } ol.type-I { list-style-type: lower-roman; } /* Apply the print table and row borders in general, on request from the RPC, -and increase the contrast between border and odd row background sligthtly */ +and increase the contrast between border and odd row background slightly */ table { border: 1px solid #ddd; } td { border-top: 1px solid #ddd; } +tr { + break-inside: avoid; +} tr:nth-child(2n+1) > td { background-color: #f8f8f8; } @@ -1122,7 +1148,7 @@ span.break, dd.break { break-before: auto; } } -/* Text in compact lists should not get extra bottim margin space, +/* Text in compact lists should not get extra bottom margin space, since that would makes the list not compact */ ul.compact p, .ulCompact p, ol.compact p, .olCompact p { @@ -1147,7 +1173,7 @@ p tt, p code, li tt, li code { pre { margin-top: 0.5px; } -/* Tweak the comact list text */ +/* Tweak the compact list text */ ul.compact, .ulCompact, ol.compact, .olCompact, dl.compact, .dlCompact { @@ -1165,7 +1191,7 @@ dd > div.artwork:first-child, dd > aside:first-child, dd > figure:first-child, dd > ol:first-child, -dd > div:first-child > pre.sourcecode, +dd > div.sourcecode:first-child, dd > table:first-child, dd > ul:first-child { clear: left; @@ -1179,14 +1205,14 @@ li > p { margin-bottom: 0.5em } /* Don't let p margin spill out from inside list items */ -li > p:last-of-type { +li > p:last-of-type:only-child { margin-bottom: 0; } - + @@ -1231,7 +1257,7 @@ li > p:last-of-type {

Programming Methodology Framework aka PMF

Abstract

-

This document describes the Programming Methodology Framework also known under the PMF methodology. The methodology is based on the manifesto written by Zed A. Shaw [PROGRAMMING-MF-MANIFESTO] which +

This document describes the Programming Methodology Framework also known under the PMF methodology. The methodology is based on the manifesto written by Zed A. Shaw [PROGRAMMING-MF-MANIFESTO] which describes a natural approach to software engineering with a strong focus on the act of programming. The PMF methodology uses a soft naming to allow for a non-partisan reference to official engineering or project documents describing one of the most used software engineering methodologies.

@@ -1281,30 +1307,35 @@ to official engineering or project documents describing one of the most used sof @@ -1317,7 +1348,7 @@ to official engineering or project documents describing one of the most used sof

In 2011, Zed A. Shaw published a blog post which describes:

{align="left"} I think I'm going to create the ultimate software development methodology. It'll be revolutionary compared to others because it will focus on the one thing that gets software done. Its entire focus will be this one, glorious, completely useful activity for writing software. It's name even embodies the perfection of this programming methodology.

-

The PMF methodology was published as a manifesto later [PROGRAMMING-MF-MANIFESTO]. The manifesto clearly describes the focus on programming to avoid the surrounding management overhead and pivot towards the delivery of the software. The [THE-TAO-OF-PROGRAMMING] describes similar methodologies which strongly focus on coding, scripting and programming.

+

The PMF methodology was published as a manifesto later [PROGRAMMING-MF-MANIFESTO]. The manifesto clearly describes the focus on programming to avoid the surrounding management overhead and pivot towards the delivery of the software. The [THE-TAO-OF-PROGRAMMING] describes similar methodologies which strongly focus on coding, scripting and programming.

The overall concept of PMF methodology follows the following process:

Repeat the above process until the software is delivered.

A simplified overview of the process can be described as follow:

-
-
+----------+
+
+
+----------+
 |          |
 |   idea   <------+
 |          |      |
@@ -1349,6 +1380,7 @@ to official engineering or project documents describing one of the most used sof
 |  release +------+
 |          |
 +----------+
+
 

The PMF methodology covers open source software along with proprietary software and can be used interchangeably in both.

@@ -1377,7 +1409,7 @@ the programming aspect and solely serves to support the PMF methodology.

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this -document are to be interpreted as described in RFC 2119 [RFC2119].

+document are to be interpreted as described in RFC 2119 [RFC2119].

@@ -1400,31 +1432,36 @@ includes the act of simplifying or removing code to reduce the attack surface.
-

-4. Normative References +

+4. References

+
+

+4.1. Normative References +

[RFC2119]
-
+
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
-
-

-5. Informative References -

+
+

+4.2. Informative References +

[PROGRAMMING-MF-MANIFESTO]
-
+
Shaw, Z. A., "Programming Motherfucker, do you speak it?", <http://programming-motherfucker.com>.
[THE-TAO-OF-PROGRAMMING]
-
+
James, G., "The Tao of Programming", <http://www.mit.edu/~xela/tao.html>.
+

diff --git a/raw.md.txt b/raw.md.txt index 270965b..aee673d 100644 --- a/raw.md.txt +++ b/raw.md.txt @@ -65,8 +65,9 @@ Table of Contents 1.2. Conventions and Terminology . . . . . . . . . . . . . . . 3 2. Security Considerations . . . . . . . . . . . . . . . . . . . 3 3. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 4 - 4. Normative References . . . . . . . . . . . . . . . . . . . . 4 - 5. Informative References . . . . . . . . . . . . . . . . . . . 4 + 4. References . . . . . . . . . . . . . . . . . . . . . . . . . 4 + 4.1. Normative References . . . . . . . . . . . . . . . . . . 4 + 4.2. Informative References . . . . . . . . . . . . . . . . . 4 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction @@ -108,7 +109,6 @@ Table of Contents - Dulaunoy & Iklody Expires 26 August 2023 [Page 2] Internet-Draft PMF - Programming Methodology Framework February 2023 @@ -174,14 +174,16 @@ Internet-Draft PMF - Programming Methodology Framework February 2023 The authors wish to thank all the programmers who program. -4. Normative References +4. References + +4.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . -5. Informative References +4.2. Informative References [PROGRAMMING-MF-MANIFESTO] Shaw, Z. A., "Programming Motherfucker, do you speak it?", @@ -198,7 +200,6 @@ Authors' Addresses 122, rue Adolphe Fischer L-L-1521 Luxembourg Luxembourg - Phone: +352 247 88444 Email: alexandre.dulaunoy@circl.lu @@ -208,7 +209,6 @@ Authors' Addresses 122, rue Adolphe Fischer L-L-1521 Luxembourg Luxembourg - Phone: +352 247 88444 Email: andras.iklody@circl.lu diff --git a/raw.md.xml b/raw.md.xml index 2ce8307..2138f01 100644 --- a/raw.md.xml +++ b/raw.md.xml @@ -48,9 +48,9 @@ to official engineering or project documents describing one of the most used sof Repeat the above process until the software is delivered. A simplified overview of the process can be described as follow: -+----------+ + The PMF methodology covers open source software along with proprietary software and can be used interchangeably in both. @@ -101,8 +102,9 @@ includes the act of simplifying or removing code to reduce the attack surface. +References Normative References - + Informative References @@ -120,6 +122,7 @@ includes the act of simplifying or removing code to reduce the attack surface. +