http://citconf.com/wiki/api.php?action=feedcontributions&user=Jtf&feedformat=atomCitconWiki - User contributions [en]2024-03-29T00:08:13ZUser contributionsMediaWiki 1.35.11http://citconf.com/wiki/index.php?title=St_Pauli_School_of_TDD&diff=16798St Pauli School of TDD2023-10-15T10:12:06Z<p>Jtf: </p>
<hr />
<div>https://www.tddstpau.li/<br />
<br />
<blockquote><br />
Test-driven development is designed to provide regular feedback at intervals of minutes or even seconds as to whether the current software is free of errors. If too much coding is done between when the tests can be run, it will result in a slower development process due to larger issues when the tests are finally able to be run. We often notice that many developers are able to handle the first two or three TDD cycles smoothly, but the subsequent cycles are so slow that it can hardly be called test-driven development. We have therefore developed a new systematic approach that leads to continuous progress in short TDD cycles. Following the two well-known TDD approaches - "Chicago school" and "London school" - we have named this approach the "St. Pauli school of TDD".<br />
</blockquote><br />
<br />
I'm not able to edit the wiki pages still (there is some error when trying to confirm the email). So I'll post it here:<br />
<br />
Notes: Schools of TDD: St. Pauli<br />
<br />
* 1957 - John von Neumann actually invented TDD<br />
** Punch cards were programs and data as well, together with the expectation of what result it will produce. Then they took the expected card and the output card and looked if all the holes were in the same place.<br />
* 1989 - Beck re-discovered TDD.<br />
* In these 30/60 years, different school styles happened.<br />
* There are many styles (probably on the same scale as number of developers), but only a few are actually described:<br />
** Chicago/Detroit - Classicist style<br />
** London - Mockist style<br />
** The following were developed in the last 10 years<br />
*** Munich<br />
*** St. Pauli<br />
*** Portland (2 weeks old name of the school)<br />
*** Hamburg<br />
*** TDD as if You Meant it<br />
*** TCR: Test Commit Revert<br />
* Steven Collins lived in St. Pauli when he created the school<br />
* St. Pauli TDD is outside-in direction, first test case is simple, mocks are avoided, and subproblems are solved with stubs first, and then are replaced with TDD process recursively.<br />
** Start on API level<br />
** Obvious implementation<br />
** Fake it till you make it<br />
** Triangulate<br />
** Validation tests<br />
** Append-only tests<br />
<br />
Diamond Kata example:<br />
1. We start with the simplest example: start with an “A” case, instead of “C” case (like in case of a Munich school).<br />
it("should return A for A", () => {<br />
expect(diamond("A")).toEqual("A");<br />
});<br />
<br />
1. The implementation is simple:<br />
<br />
function diamond(input: string) {<br />
return "A";<br />
}<br />
<br />
1. Next simplest test would be the “B” diamond, the next smallest increment<br />
<br />
it("should return B Diamond for B", () => {<br />
expect(diamond("B")).toEqual(<br />
`.A.<br />
B.B<br />
.A.`<br />
);<br />
});<br />
<br />
1. St. Pauli uses a very simple approach of fake it till you make it to make it pass:<br />
<br />
function diamond(input: string) {<br />
if (input === "A") {<br />
return "A";<br />
} else {<br />
return `.A.<br />
B.B<br />
.A.`;<br />
}<br />
}<br />
<br />
Comment: “In London school, you would do the same thing and the same process in this Kata”<br />
Response: “In London school, you would already start thinking about what happens below that”<br />
<br />
Discussion: Diamond Kata may or may not be too simple for comparison of different TDD schools, because not every implementation will even require multiple interactions or mocks between objects or functions. Also, when teaching this school to not very experienced TDD practitioners, a more complex Kata may confuse them even more.<br />
<br />
1. We proceed with the next test, for “C”:<br />
<br />
it("should return C Diamond for C", () => {<br />
expect(diamond("C")).toEqual(<br />
`..A..<br />
.B.B.<br />
C...C<br />
.B.B.<br />
..A..`<br />
);<br />
});<br />
<br />
1. At this point we can see some pattern, or not. Let’s say that we don’t, so we make another fake implementation:<br />
<br />
function diamond(input: string) {<br />
switch (input) {<br />
case "A":<br />
return "A";<br />
case "B":<br />
return `.A.<br />
B.B<br />
.A.`;<br />
case "C":<br />
return `..A..<br />
.B.B.<br />
C...C<br />
.B.B.<br />
..A..`;<br />
}<br />
}<br />
<br />
1. As we start spotting some patterns, we can start performing refactoring. For example, the end lines can be improved:<br />
<br />
function diamond(input: string) {<br />
switch (input) {<br />
case "A":<br />
return “A”;<br />
case "B":<br />
return [".A.", "B.B", ".A."].join("\n");;<br />
case "C":<br />
return ["..A..", ".B.B.", "C...C", ".B.B.", "..A.."].join("\n");<br />
}<br />
}<br />
<br />
1. Another pattern that we observe is that every diamond has a “middle line”. So we can extract a function that does it. We implement it first via recursive TDD process:<br />
<br />
describe("middleLine", () => {<br />
it("should return middle line for B", () => {<br />
expect(middleLine("B")).toEqual("B.B");<br />
});<br />
});<br />
<br />
1. And, of course, we implement it simply:<br />
<br />
function middleLine(input: string) {<br />
return "B.B";<br />
}<br />
<br />
1. Another test for C middle line:<br />
<br />
it("should return middle line for C", () => {<br />
expect(middleLine("C")).toEqual("C...C");<br />
});<br />
<br />
1. Implementation<br />
<br />
function middleLine(input: string) {<br />
switch (input) {<br />
case "B":<br />
return "B.B";<br />
case "C":<br />
return "C...C";<br />
}<br />
}<br />
<br />
1. Replace the middle lines in the original function<br />
<br />
function diamond(input: string) {<br />
switch (input) {<br />
case "A":<br />
return ["A"].join("\n");<br />
case "B":<br />
return [".A.", middleLine("B"), ".A."].join("\n");<br />
;<br />
case "C":<br />
return ["..A..", ".B.B.", middleLine("C"), ".B.B.", "..A.."].join("\n");<br />
}<br />
}<br />
<br />
1. Extract the concept of “letter” in all functionality<br />
<br />
function diamond(letter: string) {<br />
switch (letter) {<br />
case "A":<br />
return ["A"].join("\n");<br />
case "B":<br />
return [".A.", middleLine(letter), ".A."].join("\n");<br />
;<br />
case "C":<br />
return ["..A..", ".B.B.", middleLine(letter), ".B.B.", "..A.."].join("\n");<br />
}<br />
}<br />
<br />
function middleLine(letter: string) {<br />
switch (letter) {<br />
case "B":<br />
return ${letter}.${letter};<br />
case "C":<br />
return ${letter}...${letter};<br />
}<br />
}<br />
<br />
1. Another pattern we can observe is number of dots generated in the middle line. Here, the function is so simple, that we can use obvious implementation pattern and testing:<br />
<br />
describe("dots", () => {<br />
it("should generate the number of dots", () => {<br />
expect(dots(0)).toEqual("");<br />
expect(dots(1)).toEqual(".");<br />
expect(dots(2)).toEqual("..");<br />
expect(dots(3)).toEqual("...");<br />
});<br />
});<br />
<br />
function dots(number: number) {<br />
return ".".repeat(number);<br />
}<br />
<br />
1. Replace the number of dots accordingly:<br />
<br />
function middleLine(letter: string) {<br />
switch (letter) {<br />
case "B":<br />
return ${letter}${dots(1)}${letter};<br />
case "C":<br />
return ${letter}${dots(3)}${letter};<br />
}<br />
}<br />
<br />
1. You keep finding the patterns and refactoring them, in multiple iterations.<br />
<br />
1. At the end, when you believe that you’re done, you add a validation test (you do this at every level of abstraction, going upwards.<br />
<br />
Discussion: This is a way that allows to go with very very tiny steps (that can be used for complex problems where the trade-off is positive of going slower, with the smallest steps).<br />
<br />
Discussion: When there are interactions with other dependencies need to be involved, since we want to avoid any kind of test double, then we would have to approach it with “imperative shell, functional core”.</div>Jtfhttp://citconf.com/wiki/index.php?title=Event_storming&diff=16797Event storming2023-10-15T10:11:15Z<p>Jtf: Move tdd content to correct page</p>
<hr />
<div>https://www.eventstorming.com/resources/<br />
<br />
https://techbeacon.com/app-dev-testing/introduction-event-storming-easy-way-achieve-domain-driven-design</div>Jtfhttp://citconf.com/wiki/index.php?title=Event_storming&diff=16796Event storming2023-10-14T15:05:21Z<p>Jtf: </p>
<hr />
<div>https://www.eventstorming.com/resources/<br />
<br />
https://techbeacon.com/app-dev-testing/introduction-event-storming-easy-way-achieve-domain-driven-design<br />
<br />
I'm not able to edit the wiki pages still (there is some error when trying to confirm the email). So I'll post it here:<br />
<br />
Notes: Schools of TDD: St. Pauli<br />
<br />
* 1957 - John von Neumann actually invented TDD<br />
** Punch cards were programs and data as well, together with the expectation of what result it will produce. Then they took the expected card and the output card and looked if all the holes were in the same place.<br />
* 1989 - Beck re-discovered TDD.<br />
* In these 30/60 years, different school styles happened.<br />
* There are many styles (probably on the same scale as number of developers), but only a few are actually described:<br />
** Chicago/Detroit - Classicist style<br />
** London - Mockist style<br />
** The following were developed in the last 10 years<br />
*** Munich<br />
*** St. Pauli<br />
*** Portland (2 weeks old name of the school)<br />
*** Hamburg<br />
*** TDD as if You Meant it<br />
*** TCR: Test Commit Revert<br />
* Steven Collins lived in St. Pauli when he created the school<br />
* St. Pauli TDD is outside-in direction, first test case is simple, mocks are avoided, and subproblems are solved with stubs first, and then are replaced with TDD process recursively.<br />
** Start on API level<br />
** Obvious implementation<br />
** Fake it till you make it<br />
** Triangulate<br />
** Validation tests<br />
** Append-only tests<br />
<br />
Diamond Kata example:<br />
1. We start with the simplest example: start with an “A” case, instead of “C” case (like in case of a Munich school).<br />
it("should return A for A", () => {<br />
expect(diamond("A")).toEqual("A");<br />
});<br />
<br />
1. The implementation is simple:<br />
<br />
function diamond(input: string) {<br />
return "A";<br />
}<br />
<br />
1. Next simplest test would be the “B” diamond, the next smallest increment<br />
<br />
it("should return B Diamond for B", () => {<br />
expect(diamond("B")).toEqual(<br />
`.A.<br />
B.B<br />
.A.`<br />
);<br />
});<br />
<br />
1. St. Pauli uses a very simple approach of fake it till you make it to make it pass:<br />
<br />
function diamond(input: string) {<br />
if (input === "A") {<br />
return "A";<br />
} else {<br />
return `.A.<br />
B.B<br />
.A.`;<br />
}<br />
}<br />
<br />
Comment: “In London school, you would do the same thing and the same process in this Kata”<br />
Response: “In London school, you would already start thinking about what happens below that”<br />
<br />
Discussion: Diamond Kata may or may not be too simple for comparison of different TDD schools, because not every implementation will even require multiple interactions or mocks between objects or functions. Also, when teaching this school to not very experienced TDD practitioners, a more complex Kata may confuse them even more.<br />
<br />
1. We proceed with the next test, for “C”:<br />
<br />
it("should return C Diamond for C", () => {<br />
expect(diamond("C")).toEqual(<br />
`..A..<br />
.B.B.<br />
C...C<br />
.B.B.<br />
..A..`<br />
);<br />
});<br />
<br />
1. At this point we can see some pattern, or not. Let’s say that we don’t, so we make another fake implementation:<br />
<br />
function diamond(input: string) {<br />
switch (input) {<br />
case "A":<br />
return "A";<br />
case "B":<br />
return `.A.<br />
B.B<br />
.A.`;<br />
case "C":<br />
return `..A..<br />
.B.B.<br />
C...C<br />
.B.B.<br />
..A..`;<br />
}<br />
}<br />
<br />
1. As we start spotting some patterns, we can start performing refactoring. For example, the end lines can be improved:<br />
<br />
function diamond(input: string) {<br />
switch (input) {<br />
case "A":<br />
return “A”;<br />
case "B":<br />
return [".A.", "B.B", ".A."].join("\n");;<br />
case "C":<br />
return ["..A..", ".B.B.", "C...C", ".B.B.", "..A.."].join("\n");<br />
}<br />
}<br />
<br />
1. Another pattern that we observe is that every diamond has a “middle line”. So we can extract a function that does it. We implement it first via recursive TDD process:<br />
<br />
describe("middleLine", () => {<br />
it("should return middle line for B", () => {<br />
expect(middleLine("B")).toEqual("B.B");<br />
});<br />
});<br />
<br />
1. And, of course, we implement it simply:<br />
<br />
function middleLine(input: string) {<br />
return "B.B";<br />
}<br />
<br />
1. Another test for C middle line:<br />
<br />
it("should return middle line for C", () => {<br />
expect(middleLine("C")).toEqual("C...C");<br />
});<br />
<br />
1. Implementation<br />
<br />
function middleLine(input: string) {<br />
switch (input) {<br />
case "B":<br />
return "B.B";<br />
case "C":<br />
return "C...C";<br />
}<br />
}<br />
<br />
1. Replace the middle lines in the original function<br />
<br />
function diamond(input: string) {<br />
switch (input) {<br />
case "A":<br />
return ["A"].join("\n");<br />
case "B":<br />
return [".A.", middleLine("B"), ".A."].join("\n");<br />
;<br />
case "C":<br />
return ["..A..", ".B.B.", middleLine("C"), ".B.B.", "..A.."].join("\n");<br />
}<br />
}<br />
<br />
1. Extract the concept of “letter” in all functionality<br />
<br />
function diamond(letter: string) {<br />
switch (letter) {<br />
case "A":<br />
return ["A"].join("\n");<br />
case "B":<br />
return [".A.", middleLine(letter), ".A."].join("\n");<br />
;<br />
case "C":<br />
return ["..A..", ".B.B.", middleLine(letter), ".B.B.", "..A.."].join("\n");<br />
}<br />
}<br />
<br />
function middleLine(letter: string) {<br />
switch (letter) {<br />
case "B":<br />
return ${letter}.${letter};<br />
case "C":<br />
return ${letter}...${letter};<br />
}<br />
}<br />
<br />
1. Another pattern we can observe is number of dots generated in the middle line. Here, the function is so simple, that we can use obvious implementation pattern and testing:<br />
<br />
describe("dots", () => {<br />
it("should generate the number of dots", () => {<br />
expect(dots(0)).toEqual("");<br />
expect(dots(1)).toEqual(".");<br />
expect(dots(2)).toEqual("..");<br />
expect(dots(3)).toEqual("...");<br />
});<br />
});<br />
<br />
function dots(number: number) {<br />
return ".".repeat(number);<br />
}<br />
<br />
1. Replace the number of dots accordingly:<br />
<br />
function middleLine(letter: string) {<br />
switch (letter) {<br />
case "B":<br />
return ${letter}${dots(1)}${letter};<br />
case "C":<br />
return ${letter}${dots(3)}${letter};<br />
}<br />
}<br />
<br />
1. You keep finding the patterns and refactoring them, in multiple iterations.<br />
<br />
1. At the end, when you believe that you’re done, you add a validation test (you do this at every level of abstraction, going upwards.<br />
<br />
Discussion: This is a way that allows to go with very very tiny steps (that can be used for complex problems where the trade-off is positive of going slower, with the smallest steps).<br />
<br />
Discussion: When there are interactions with other dependencies need to be involved, since we want to avoid any kind of test double, then we would have to approach it with “imperative shell, functional core”.</div>Jtfhttp://citconf.com/wiki/index.php?title=Event_storming&diff=16795Event storming2023-10-14T15:02:24Z<p>Jtf: </p>
<hr />
<div>https://www.eventstorming.com/resources/<br />
<br />
https://techbeacon.com/app-dev-testing/introduction-event-storming-easy-way-achieve-domain-driven-design<br />
<br />
I'm not able to edit the wiki pages still (there is some error when trying to confirm the email). So I'll post it here:<br />
<br />
<blockquote><br />
Notes: Schools of TDD: St. Pauli<br />
<br />
- 1957 - John von Neumann actually invented TDD<br />
- Punch cards were programs and data as well, together with the expectation of what result it will produce. Then they took the expected card and the output card and looked if all the holes were in the same place.<br />
- 1989 - Beck re-discovered TDD.<br />
- In these 30/60 years, different school styles happened.<br />
- There are many styles (probably on the same scale as number of developers), but only a few are actually described:<br />
- Chicago/Detroit - Classicist style<br />
- London - Mockist style<br />
- The following were developed in the last 10 years<br />
- Munich<br />
- St. Pauli<br />
- Portland (2 weeks old name of the school)<br />
- Hamburg<br />
- TDD as if You Meant it<br />
- TCR: Test Commit Revert<br />
- Steven Collins lived in St. Pauli when he created the school<br />
- St. Pauli TDD is outside-in direction, first test case is simple, mocks are avoided, and subproblems are solved with stubs first, and then are replaced with TDD process recursively.<br />
- Start on API level<br />
- Obvious implementation<br />
- Fake it till you make it<br />
- Triangulate<br />
- Validation tests<br />
- Append-only tests<br />
<br />
Diamond Kata example:<br />
1. We start with the simplest example: start with an “A” case, instead of “C” case (like in case of a Munich school).<br />
it("should return A for A", () => {<br />
expect(diamond("A")).toEqual("A");<br />
});<br />
<br />
1. The implementation is simple:<br />
<br />
function diamond(input: string) {<br />
return "A";<br />
}<br />
<br />
1. Next simplest test would be the “B” diamond, the next smallest increment<br />
<br />
it("should return B Diamond for B", () => {<br />
expect(diamond("B")).toEqual(<br />
`.A.<br />
B.B<br />
.A.`<br />
);<br />
});<br />
<br />
1. St. Pauli uses a very simple approach of fake it till you make it to make it pass:<br />
<br />
function diamond(input: string) {<br />
if (input === "A") {<br />
return "A";<br />
} else {<br />
return `.A.<br />
B.B<br />
.A.`;<br />
}<br />
}<br />
<br />
Comment: “In London school, you would do the same thing and the same process in this Kata”<br />
Response: “In London school, you would already start thinking about what happens below that”<br />
<br />
Discussion: Diamond Kata may or may not be too simple for comparison of different TDD schools, because not every implementation will even require multiple interactions or mocks between objects or functions. Also, when teaching this school to not very experienced TDD practitioners, a more complex Kata may confuse them even more.<br />
<br />
1. We proceed with the next test, for “C”:<br />
<br />
it("should return C Diamond for C", () => {<br />
expect(diamond("C")).toEqual(<br />
`..A..<br />
.B.B.<br />
C...C<br />
.B.B.<br />
..A..`<br />
);<br />
});<br />
<br />
1. At this point we can see some pattern, or not. Let’s say that we don’t, so we make another fake implementation:<br />
<br />
function diamond(input: string) {<br />
switch (input) {<br />
case "A":<br />
return "A";<br />
case "B":<br />
return `.A.<br />
B.B<br />
.A.`;<br />
case "C":<br />
return `..A..<br />
.B.B.<br />
C...C<br />
.B.B.<br />
..A..`;<br />
}<br />
}<br />
<br />
1. As we start spotting some patterns, we can start performing refactoring. For example, the end lines can be improved:<br />
<br />
function diamond(input: string) {<br />
switch (input) {<br />
case "A":<br />
return “A”;<br />
case "B":<br />
return [".A.", "B.B", ".A."].join("\n");;<br />
case "C":<br />
return ["..A..", ".B.B.", "C...C", ".B.B.", "..A.."].join("\n");<br />
}<br />
}<br />
<br />
1. Another pattern that we observe is that every diamond has a “middle line”. So we can extract a function that does it. We implement it first via recursive TDD process:<br />
<br />
describe("middleLine", () => {<br />
it("should return middle line for B", () => {<br />
expect(middleLine("B")).toEqual("B.B");<br />
});<br />
});<br />
<br />
1. And, of course, we implement it simply:<br />
<br />
function middleLine(input: string) {<br />
return "B.B";<br />
}<br />
<br />
1. Another test for C middle line:<br />
<br />
it("should return middle line for C", () => {<br />
expect(middleLine("C")).toEqual("C...C");<br />
});<br />
<br />
1. Implementation<br />
<br />
function middleLine(input: string) {<br />
switch (input) {<br />
case "B":<br />
return "B.B";<br />
case "C":<br />
return "C...C";<br />
}<br />
}<br />
<br />
1. Replace the middle lines in the original function<br />
<br />
function diamond(input: string) {<br />
switch (input) {<br />
case "A":<br />
return ["A"].join("\n");<br />
case "B":<br />
return [".A.", middleLine("B"), ".A."].join("\n");<br />
;<br />
case "C":<br />
return ["..A..", ".B.B.", middleLine("C"), ".B.B.", "..A.."].join("\n");<br />
}<br />
}<br />
<br />
1. Extract the concept of “letter” in all functionality<br />
<br />
function diamond(letter: string) {<br />
switch (letter) {<br />
case "A":<br />
return ["A"].join("\n");<br />
case "B":<br />
return [".A.", middleLine(letter), ".A."].join("\n");<br />
;<br />
case "C":<br />
return ["..A..", ".B.B.", middleLine(letter), ".B.B.", "..A.."].join("\n");<br />
}<br />
}<br />
<br />
function middleLine(letter: string) {<br />
switch (letter) {<br />
case "B":<br />
return ${letter}.${letter};<br />
case "C":<br />
return ${letter}...${letter};<br />
}<br />
}<br />
<br />
1. Another pattern we can observe is number of dots generated in the middle line. Here, the function is so simple, that we can use obvious implementation pattern and testing:<br />
<br />
describe("dots", () => {<br />
it("should generate the number of dots", () => {<br />
expect(dots(0)).toEqual("");<br />
expect(dots(1)).toEqual(".");<br />
expect(dots(2)).toEqual("..");<br />
expect(dots(3)).toEqual("...");<br />
});<br />
});<br />
<br />
function dots(number: number) {<br />
return ".".repeat(number);<br />
}<br />
<br />
1. Replace the number of dots accordingly:<br />
<br />
function middleLine(letter: string) {<br />
switch (letter) {<br />
case "B":<br />
return ${letter}${dots(1)}${letter};<br />
case "C":<br />
return ${letter}${dots(3)}${letter};<br />
}<br />
}<br />
<br />
1. You keep finding the patterns and refactoring them, in multiple iterations.<br />
<br />
1. At the end, when you believe that you’re done, you add a validation test (you do this at every level of abstraction, going upwards.<br />
<br />
Discussion: This is a way that allows to go with very very tiny steps (that can be used for complex problems where the trade-off is positive of going slower, with the smallest steps).<br />
<br />
Discussion: When there are interactions with other dependencies need to be involved, since we want to avoid any kind of test double, then we would have to approach it with “imperative shell, functional core”.<br />
</blockquote></div>Jtfhttp://citconf.com/wiki/index.php?title=Event_storming&diff=16794Event storming2023-10-14T15:01:41Z<p>Jtf: Add notes from Alex</p>
<hr />
<div>https://www.eventstorming.com/resources/<br />
<br />
https://techbeacon.com/app-dev-testing/introduction-event-storming-easy-way-achieve-domain-driven-design<br />
<br />
I'm not able to edit the wiki pages still (there is some error when trying to confirm the email). So I'll post it here:<br />
<br />
Notes: Schools of TDD: St. Pauli<br />
<br />
- 1957 - John von Neumann actually invented TDD<br />
- Punch cards were programs and data as well, together with the expectation of what result it will produce. Then they took the expected card and the output card and looked if all the holes were in the same place.<br />
- 1989 - Beck re-discovered TDD.<br />
- In these 30/60 years, different school styles happened.<br />
- There are many styles (probably on the same scale as number of developers), but only a few are actually described:<br />
- Chicago/Detroit - Classicist style<br />
- London - Mockist style<br />
- The following were developed in the last 10 years<br />
- Munich<br />
- St. Pauli<br />
- Portland (2 weeks old name of the school)<br />
- Hamburg<br />
- TDD as if You Meant it<br />
- TCR: Test Commit Revert<br />
- Steven Collins lived in St. Pauli when he created the school<br />
- St. Pauli TDD is outside-in direction, first test case is simple, mocks are avoided, and subproblems are solved with stubs first, and then are replaced with TDD process recursively.<br />
- Start on API level<br />
- Obvious implementation<br />
- Fake it till you make it<br />
- Triangulate<br />
- Validation tests<br />
- Append-only tests<br />
<br />
Diamond Kata example:<br />
1. We start with the simplest example: start with an “A” case, instead of “C” case (like in case of a Munich school).<br />
it("should return A for A", () => {<br />
expect(diamond("A")).toEqual("A");<br />
});<br />
<br />
1. The implementation is simple:<br />
<br />
function diamond(input: string) {<br />
return "A";<br />
}<br />
<br />
1. Next simplest test would be the “B” diamond, the next smallest increment<br />
<br />
it("should return B Diamond for B", () => {<br />
expect(diamond("B")).toEqual(<br />
`.A.<br />
B.B<br />
.A.`<br />
);<br />
});<br />
<br />
1. St. Pauli uses a very simple approach of fake it till you make it to make it pass:<br />
<br />
function diamond(input: string) {<br />
if (input === "A") {<br />
return "A";<br />
} else {<br />
return `.A.<br />
B.B<br />
.A.`;<br />
}<br />
}<br />
<br />
Comment: “In London school, you would do the same thing and the same process in this Kata”<br />
Response: “In London school, you would already start thinking about what happens below that”<br />
<br />
Discussion: Diamond Kata may or may not be too simple for comparison of different TDD schools, because not every implementation will even require multiple interactions or mocks between objects or functions. Also, when teaching this school to not very experienced TDD practitioners, a more complex Kata may confuse them even more.<br />
<br />
1. We proceed with the next test, for “C”:<br />
<br />
it("should return C Diamond for C", () => {<br />
expect(diamond("C")).toEqual(<br />
`..A..<br />
.B.B.<br />
C...C<br />
.B.B.<br />
..A..`<br />
);<br />
});<br />
<br />
1. At this point we can see some pattern, or not. Let’s say that we don’t, so we make another fake implementation:<br />
<br />
function diamond(input: string) {<br />
switch (input) {<br />
case "A":<br />
return "A";<br />
case "B":<br />
return `.A.<br />
B.B<br />
.A.`;<br />
case "C":<br />
return `..A..<br />
.B.B.<br />
C...C<br />
.B.B.<br />
..A..`;<br />
}<br />
}<br />
<br />
1. As we start spotting some patterns, we can start performing refactoring. For example, the end lines can be improved:<br />
<br />
function diamond(input: string) {<br />
switch (input) {<br />
case "A":<br />
return “A”;<br />
case "B":<br />
return [".A.", "B.B", ".A."].join("\n");;<br />
case "C":<br />
return ["..A..", ".B.B.", "C...C", ".B.B.", "..A.."].join("\n");<br />
}<br />
}<br />
<br />
1. Another pattern that we observe is that every diamond has a “middle line”. So we can extract a function that does it. We implement it first via recursive TDD process:<br />
<br />
describe("middleLine", () => {<br />
it("should return middle line for B", () => {<br />
expect(middleLine("B")).toEqual("B.B");<br />
});<br />
});<br />
<br />
1. And, of course, we implement it simply:<br />
<br />
function middleLine(input: string) {<br />
return "B.B";<br />
}<br />
<br />
1. Another test for C middle line:<br />
<br />
it("should return middle line for C", () => {<br />
expect(middleLine("C")).toEqual("C...C");<br />
});<br />
<br />
1. Implementation<br />
<br />
function middleLine(input: string) {<br />
switch (input) {<br />
case "B":<br />
return "B.B";<br />
case "C":<br />
return "C...C";<br />
}<br />
}<br />
<br />
1. Replace the middle lines in the original function<br />
<br />
function diamond(input: string) {<br />
switch (input) {<br />
case "A":<br />
return ["A"].join("\n");<br />
case "B":<br />
return [".A.", middleLine("B"), ".A."].join("\n");<br />
;<br />
case "C":<br />
return ["..A..", ".B.B.", middleLine("C"), ".B.B.", "..A.."].join("\n");<br />
}<br />
}<br />
<br />
1. Extract the concept of “letter” in all functionality<br />
<br />
function diamond(letter: string) {<br />
switch (letter) {<br />
case "A":<br />
return ["A"].join("\n");<br />
case "B":<br />
return [".A.", middleLine(letter), ".A."].join("\n");<br />
;<br />
case "C":<br />
return ["..A..", ".B.B.", middleLine(letter), ".B.B.", "..A.."].join("\n");<br />
}<br />
}<br />
<br />
function middleLine(letter: string) {<br />
switch (letter) {<br />
case "B":<br />
return ${letter}.${letter};<br />
case "C":<br />
return ${letter}...${letter};<br />
}<br />
}<br />
<br />
1. Another pattern we can observe is number of dots generated in the middle line. Here, the function is so simple, that we can use obvious implementation pattern and testing:<br />
<br />
describe("dots", () => {<br />
it("should generate the number of dots", () => {<br />
expect(dots(0)).toEqual("");<br />
expect(dots(1)).toEqual(".");<br />
expect(dots(2)).toEqual("..");<br />
expect(dots(3)).toEqual("...");<br />
});<br />
});<br />
<br />
function dots(number: number) {<br />
return ".".repeat(number);<br />
}<br />
<br />
1. Replace the number of dots accordingly:<br />
<br />
function middleLine(letter: string) {<br />
switch (letter) {<br />
case "B":<br />
return ${letter}${dots(1)}${letter};<br />
case "C":<br />
return ${letter}${dots(3)}${letter};<br />
}<br />
}<br />
<br />
1. You keep finding the patterns and refactoring them, in multiple iterations.<br />
<br />
1. At the end, when you believe that you’re done, you add a validation test (you do this at every level of abstraction, going upwards.<br />
<br />
Discussion: This is a way that allows to go with very very tiny steps (that can be used for complex problems where the trade-off is positive of going slower, with the smallest steps).<br />
<br />
Discussion: When there are interactions with other dependencies need to be involved, since we want to avoid any kind of test double, then we would have to approach it with “imperative shell, functional core”.</div>Jtfhttp://citconf.com/wiki/index.php?title=Event_storming&diff=16793Event storming2023-10-14T14:46:48Z<p>Jtf: </p>
<hr />
<div>https://www.eventstorming.com/resources/<br />
<br />
https://techbeacon.com/app-dev-testing/introduction-event-storming-easy-way-achieve-domain-driven-design</div>Jtfhttp://citconf.com/wiki/index.php?title=Event_storming&diff=16792Event storming2023-10-14T14:44:14Z<p>Jtf: Created page with "https://www.eventstorming.com/resources/"</p>
<hr />
<div>https://www.eventstorming.com/resources/</div>Jtfhttp://citconf.com/wiki/index.php?title=CITCONEurope2023Sessions&diff=16791CITCONEurope2023Sessions2023-10-14T14:30:23Z<p>Jtf: /* Table View */ added session 5</p>
<hr />
<div><br />
Picture of schedule: https://x.com/citcon/status/1713139323829203441?s=61&t=lO_jjqKto9NYyWJNOvJhCw<br />
<br />
== Table View ==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Room name<br />
! 10:00<br />
! 11:15<br />
! 2:00<br />
! 3:15<br />
! 4:30<br />
|-<br />
| Event Space<br />
| [[AI for real]]<br />
| [[How to learn from frustration]]<br />
| [[Five things I do when interviewing technical candidates]]<br />
| [[Deep work]]<br />
| [[Using ChatGPT to write anything]]<br />
|-<br />
| Bilbao<br />
| [[Pros and cons of radical candor]]<br />
| [[Tips for shopping company or team culture]]<br />
| [[How to lead a team with matrix reporting]]<br />
| [[Career path in the age of AI]]<br />
| [[Systemic improvement]]<br />
|-<br />
| Casablanca<br />
| [[Testing a full Linux distribution completely automated]]<br />
| [[OWASP juice shop]]<br />
| [[Is agile completely obsolete?]]<br />
| [[St Pauli School of TDD]]<br />
| [[How to measure test coverage?]]<br />
|-<br />
| Jaffa<br />
| [[small things we should have in our projects but we don’t]]<br />
| [[Seeking deterministic]]<br />
| [[Remote work]]<br />
| [[Engineering stories from building NHS COVID-19 app]]<br />
| [[How to work with stubborn developers]]<br />
|-<br />
| Tallinn<br />
| (empty)<br />
| [[What makes good services good?]]<br />
| [[Life outside work]]<br />
| (empty)<br />
| [[Event storming]]<br />
|}<br />
<br />
Lunch sessions: chess, quality of wine, why most companies don’t do CI, air gapped environment</div>Jtfhttp://citconf.com/wiki/index.php?title=St_Pauli_School_of_TDD&diff=16787St Pauli School of TDD2023-10-14T14:04:56Z<p>Jtf: Created page with "https://www.tddstpau.li/ <blockquote> Test-driven development is designed to provide regular feedback at intervals of minutes or even seconds as to whether the current softwa..."</p>
<hr />
<div>https://www.tddstpau.li/<br />
<br />
<blockquote><br />
Test-driven development is designed to provide regular feedback at intervals of minutes or even seconds as to whether the current software is free of errors. If too much coding is done between when the tests can be run, it will result in a slower development process due to larger issues when the tests are finally able to be run. We often notice that many developers are able to handle the first two or three TDD cycles smoothly, but the subsequent cycles are so slow that it can hardly be called test-driven development. We have therefore developed a new systematic approach that leads to continuous progress in short TDD cycles. Following the two well-known TDD approaches - "Chicago school" and "London school" - we have named this approach the "St. Pauli school of TDD".<br />
</blockquote></div>Jtfhttp://citconf.com/wiki/index.php?title=CITCONEurope2023Sessions&diff=16782CITCONEurope2023Sessions2023-10-14T13:09:48Z<p>Jtf: /* Table View */ added session 4 topics</p>
<hr />
<div><br />
Picture of schedule: https://x.com/citcon/status/1713139323829203441?s=61&t=lO_jjqKto9NYyWJNOvJhCw<br />
<br />
== Table View ==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Room name<br />
! 10:00<br />
! 11:15<br />
! 2:00<br />
! 3:15<br />
! 4:30<br />
|-<br />
| Event Space<br />
| [[AI for real]]<br />
| [[How to learn from frustration]]<br />
| [[Five things I do when interviewing technical candidates]]<br />
| [[Deep work]]<br />
| [[placeholder 5]]<br />
|-<br />
| Bilbao<br />
| [[Pros and cons of radical candor]]<br />
| [[Tips for shopping company or team culture]]<br />
| [[How to lead a team with matrix reporting]]<br />
| [[Career path in the age of AI]]<br />
| [[placeholder 5]]<br />
|-<br />
| Casablanca<br />
| [[Testing a full Linux distribution completely automated]]<br />
| [[OWASP juice shop]]<br />
| [[Is agile completely obsolete?]]<br />
| [[St Pauli School of TDD]]<br />
| [[placeholder 5]]<br />
|-<br />
| Jaffa<br />
| [[small things we should have in our projects but we don’t]]<br />
| [[Seeking deterministic]]<br />
| [[Remote work]]<br />
| [[Engineering stories from building NHS COVID-19 app]]<br />
| [[placeholder 5]]<br />
|-<br />
| Tallinn<br />
| (empty)<br />
| [[What makes good services good?]]<br />
| [[Life outside work]]<br />
| (empty)<br />
| [[placeholder 5]]<br />
|}<br />
<br />
Lunch sessions: chess, quality of wine, why most companies don’t do CI, air gapped environment</div>Jtfhttp://citconf.com/wiki/index.php?title=Life_outside_work&diff=16781Life outside work2023-10-14T12:47:52Z<p>Jtf: </p>
<hr />
<div>Book: The Healthy Programmer: https://healthyprog.com/<br />
<br />
Book: Younger Next Year: https://www.youngernextyear.com/<br />
<br />
Book: Better than Before: https://gretchenrubin.com/books/better-than-before/<br />
<br />
Healthspan vs lifespan : longevity = f (lifespan, healthspan) : https://peterattiamd.com/move-defines-live/<br />
<br />
Gratitude journaling: https://tinybuddha.com/blog/turn-pain-to-joy-11-tips-for-a-powerful-gratitude-journal/<br />
<br />
Book: Die With Zero: https://www.diewithzerobook.com/welcome</div>Jtfhttp://citconf.com/wiki/index.php?title=Life_outside_work&diff=16780Life outside work2023-10-14T12:38:37Z<p>Jtf: </p>
<hr />
<div>Book: The Healthy Programmer: https://healthyprog.com/<br />
<br />
Book: Younger Next Year: https://www.youngernextyear.com/<br />
<br />
Book: Better than Before: https://gretchenrubin.com/books/better-than-before/<br />
<br />
Healthspan vs lifespan : longevity = f (lifespan, healthspan) : https://peterattiamd.com/move-defines-live/<br />
<br />
Gratitude journaling: https://tinybuddha.com/blog/turn-pain-to-joy-11-tips-for-a-powerful-gratitude-journal/</div>Jtfhttp://citconf.com/wiki/index.php?title=Life_outside_work&diff=16779Life outside work2023-10-14T12:33:10Z<p>Jtf: Add space</p>
<hr />
<div>Book: The Healthy Programmer: https://healthyprog.com/<br />
<br />
Book: Younger Next Year: https://www.youngernextyear.com/<br />
<br />
Book: Better than Before: https://gretchenrubin.com/books/better-than-before/<br />
<br />
Healthspan vs lifespan : longevity = f (lifespan, healthspan) : https://peterattiamd.com/move-defines-live/</div>Jtfhttp://citconf.com/wiki/index.php?title=Life_outside_work&diff=16778Life outside work2023-10-14T12:32:52Z<p>Jtf: </p>
<hr />
<div>Book: The Healthy Programmer: https://healthyprog.com/<br />
<br />
Book: Younger Next Year: https://www.youngernextyear.com/<br />
<br />
Book: Better than Before: https://gretchenrubin.com/books/better-than-before/<br />
<br />
Healthspan vs lifespan :longevity = f (lifespan, healthspan) : https://peterattiamd.com/move-defines-live/</div>Jtfhttp://citconf.com/wiki/index.php?title=Life_outside_work&diff=16775Life outside work2023-10-14T12:21:07Z<p>Jtf: Added Better than Before</p>
<hr />
<div>Book: The Healthy Programmer: https://healthyprog.com/<br />
<br />
Book: Younger Next Year: https://www.youngernextyear.com/<br />
<br />
Book: Better than Before: https://gretchenrubin.com/books/better-than-before/</div>Jtfhttp://citconf.com/wiki/index.php?title=Life_outside_work&diff=16774Life outside work2023-10-14T12:08:27Z<p>Jtf: Created page with "Book: The Healthy Programmer: https://healthyprog.com/ Book: Younger Next Year: https://www.youngernextyear.com/"</p>
<hr />
<div>Book: The Healthy Programmer: https://healthyprog.com/<br />
<br />
Book: Younger Next Year: https://www.youngernextyear.com/</div>Jtfhttp://citconf.com/wiki/index.php?title=CITCONEurope2023Sessions&diff=16773CITCONEurope2023Sessions2023-10-14T12:03:23Z<p>Jtf: /* Table View */ add session 3</p>
<hr />
<div><br />
Picture of schedule: https://x.com/citcon/status/1713139323829203441?s=61&t=lO_jjqKto9NYyWJNOvJhCw<br />
<br />
== Table View ==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Room name<br />
! 10:00<br />
! 11:15<br />
! 2:00<br />
! 3:15<br />
! 4:30<br />
|-<br />
| Event Space<br />
| [[AI for real]]<br />
| [[How to learn from frustration]]<br />
| [[Five things I do when interviewing technical candidates]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|-<br />
| Bilbao<br />
| [[Pros and cons of radical candor]]<br />
| [[Tips for shopping company or team culture]]<br />
| [[How to lead a team with matrix reporting]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|-<br />
| Casablanca<br />
| [[Testing a full Linux distribution completely automated]]<br />
| [[OWASP juice shop]]<br />
| [[Is agile completely obsolete?]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|-<br />
| Jaffa<br />
| [[small things we should have in our projects but we don’t]]<br />
| [[Seeking deterministic]]<br />
| [[Remote work]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|-<br />
| Tallinn<br />
| (empty)<br />
| [[What makes good services good?]]<br />
| [[Life outside work]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|}<br />
<br />
Lunch sessions: chess, quality of wine, why most companies don’t do CI, air gapped environment</div>Jtfhttp://citconf.com/wiki/index.php?title=CITCONEurope2023Sessions&diff=16771CITCONEurope2023Sessions2023-10-14T11:16:58Z<p>Jtf: </p>
<hr />
<div><br />
Picture of schedule: https://x.com/citcon/status/1713139323829203441?s=61&t=lO_jjqKto9NYyWJNOvJhCw<br />
<br />
== Table View ==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Room name<br />
! 10:00<br />
! 11:15<br />
! 2:00<br />
! 3:15<br />
! 4:30<br />
|-<br />
| Event Space<br />
| [[AI for real]]<br />
| [[How to learn from frustration]]<br />
| [[placeholder 3]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|-<br />
| Bilbao<br />
| [[Pros and cons of radical candor]]<br />
| [[Tips for shopping company or team culture]]<br />
| [[placeholder 3]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|-<br />
| Casablanca<br />
| [[Testing a full Linux distribution completely automated]]<br />
| [[OWASP juice shop]]<br />
| [[placeholder 3]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|-<br />
| Jaffa<br />
| [[small things we should have in our projects but we don’t]]<br />
| [[Seeking deterministic]]<br />
| [[placeholder 3]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|-<br />
| Tallinn<br />
| (empty)<br />
| [[What makes good services good?]]<br />
| [[placeholder 3]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|}<br />
<br />
Lunch sessions: chess, quality of wine, why most companies don’t do CI, air gapped environment</div>Jtfhttp://citconf.com/wiki/index.php?title=Main_Page&diff=16770Main Page2023-10-14T11:15:51Z<p>Jtf: </p>
<hr />
<div>Welcome to the Continuous Integration and Testing Conference's Wiki.<br />
<br />
Edit is the same as Wikipedia: [http://en.wikipedia.org/wiki/Wikipedia:Cheatsheet Cheatsheet]<br />
<br />
'''Blog entries, pictures, etc''': [[OnTheWeb | CITCON mentions on the web]]<br />
<br />
Meta pages on our process for [[ConferencePlanning|running the conference]]<br />
<br />
Defunct:<br />
* Yahoo Group and mailing list: http://tech.groups.yahoo.com/group/citcon/<br />
* Continuous Integration and Testing related blogs: http://feeds.feedburner.com/CitconBlogs (send an email to the CITCON mailing list to have your blog added)<br />
<br />
<br />
<br />
== CITCON Europe 2023 Berlin ==<br />
<br />
[https://citconf.com/berlin2023/ CITCON Europe 2023], October 13th & 14th, in Berlin, Germany<br />
<br />
[[CITCONEurope2023Registrants | Registrants]]<br />
<br />
[[CITCONEurope2023Sessions | Sessions]]<br />
<br />
<br />
== CITCON North America 2023 Los Gatos ==<br />
<br />
[https://citconf.com/siliconvalley2023/ CITCON North America 2023], February 3rd & 4th, in Los Gatos, California<br />
<br />
[[CITCONNA2023Registrants | Registrants]]<br />
<br />
[[CITCONNA2023Sessions | Sessions]]<br />
<br />
== CITCON Europe 2022 Zwolle ==<br />
<br />
[http://citconf.com/zwolle2022/ CITCON Europe 2022], October 14th & 15th, in Zwolle, The Netherlands<br />
<br />
[[CITCONEurope2022Registrants | Registrants]]<br />
<br />
[[CITCONEurope2022Sessions | Sessions]]<br />
<br />
== CITCON Virtual 2021 ==<br />
<br />
[https://citconf.com/virtual2021/ CITCON Virtual 2021], April 23rd & 24th<br />
<br />
[[CITCONEurope2021Registrants | Registrants]]<br />
<br />
[[CITCONEurope2021Sessions | Sessions]]<br />
<br />
== CITCON Virtual 2020 ==<br />
<br />
[https://citconf.com/virtual2020/ CITCON Virtual 2020], May 29th & 30th<br />
<br />
[[CITCONEurope2020Registrants | Registrants]]<br />
<br />
[[CITCONEurope2020Sessions | Sessions]]<br />
<br />
[[CITCONEurope2020Feedback | Feedback]]<br />
<br />
<br />
== CITCON Europe 2019 Ghent ==<br />
<br />
[http://citconf.com/ghent2019 CITCON Europe 2019], May 17th & 18th, in Ghent, Belgium<br />
<br />
[[CITCONEurope2019Registrants | Registrants]]<br />
<br />
[[CITCONEurope2019Sessions | Sessions]]<br />
<br />
[[CITCONEurope2019Feedback | Feedback]]<br />
<br />
== CITCON Europe 2018 Vienna ==<br />
<br />
[http://citconf.com/vienna2018 CITCON Europe 2018], April 20th & 21st, in Vienna, Austria<br />
<br />
[[CITCONEurope2018Registrants | Registrants]]<br />
<br />
== CITCON Europe 2017 Amsterdam ==<br />
<br />
[http://citconf.com/amsterdam2017 CITCON Europe 2017], May 19th & 20th, in Amsterdam, The Netherlands<br />
<br />
[[CITCONEurope2017Sessions | Sessions]]<br />
<br />
[[CITCONEurope2017Registrants | Registrants]]<br />
<br />
== CITCON North America 2016 New York==<br />
<br />
[http://citconf.com/newyork2016 CITCON NA 2016], December 9th & 10th, in New York, New York<br />
<br />
[[CITCONNA2016Sessions | Sessions]]<br />
<br />
[[CITCONNA2016Registrants | Registrants]]<br />
<br />
== CITCON ANZ 2016 Perth ==<br />
<br />
[http://citconf.com/perth2016/index.html CITCON ANZ 2016], August 5th & 6th, in Perth, Australia<br />
<br />
[[CITCONANZ2016Sessions | Sessions]]<br />
<br />
[[CITCONANZ2016Registrants | Registrants]]<br />
<br />
[[CITCONANZ2016Planning | Planning]]<br />
<br />
== CITCON Europe 2016 Cluj-Napoca ==<br />
<br />
[http://citconf.com/cluj2016/index.html CITCON Europe 2016], April 15th & 16th, in Cluj-Napoca, Romania<br />
<br />
[[CITCONEurope2016Registrants | Registrants]]<br />
<br />
[[CITCONEurope2016Sessions | Sessions]]<br />
<br />
== CITCON North America 2015 Ann Arbor ==<br />
<br />
[http://www.citconf.com/annarbor2015/index.html CITCON North America 2015], October 2nd & 3rd, in Ann Arbor, Michigan<br />
<br />
[[CITCONNorthAmerica2015Registrants | Registrants]]<br />
<br />
[[CITCONNorthAmerica2015Sessions | Sessions]]<br />
<br />
[[CITCONNorthAmerica2015ReadingList | Reading List]]<br />
<br />
== CITCON Europe 2015 Helsinki ==<br />
<br />
[http://www.citconf.com/helsinki2015 CITCON Europe 2015], September 11th & 12th, in Helsinki, Finland<br />
<br />
[[CITCONEurope2015Registrants | Registrants]]<br />
<br />
[[CITCONEurope2015Sessions | Sessions]]<br />
<br />
== CITCON Asia 2015 Hong Kong ==<br />
<br />
[[CITCONAsia2014Registrants | Registrants]]<br />
<br />
[[CITCONAsia2014Planning | Planning]]<br />
<br />
[[CITCONAsia2015Sessions | Sessions]]<br />
<br />
== CITCON North America 2014 Austin ==<br />
<br />
[http://www.citconf.com/austin2014 CITCON North America 2014] in Austin, Texas, October 17 & 18, 2014<br />
<br />
[[CITCONNorthAmerica2014Registrants | Registrants]]<br />
<br />
[[CITCONNorthAmerica2014Planning | Planning]]<br />
<br />
== CITCON Europe 2014 Zagreb ==<br />
<br />
[[CITCONEurope2014Registrants | Registrants]]<br />
<br />
[[CITCONEurope2014Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONEurope2014Planning | Planning]]<br />
<br />
== CITCON ANZ 2014 Auckland ==<br />
<br />
[[CITCONANZ2014Registrants | Registrants]]<br />
<br />
[[CITCONANZ2014Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONANZ2014Planning | Planning]]<br />
<br />
== CITCON Europe 2013 Turin ==<br />
<br />
[[CITCONEurope2013Registrants | Registrants]]<br />
<br />
[[CITCONEurope2013Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON North America 2013 Boston ==<br />
<br />
[[CITCONNA2013Registrants | Registrants]]<br />
<br />
[[CITCONNA2013Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON ANZ 2013 Sydney ==<br />
<br />
[[CITCONANZ2013Registrants | Registrants]]<br />
<br />
[[CITCONANZ2013Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONANZ2013Feedback | Feedback]]<br />
<br />
== CITCON Europe 2012 Budapest ==<br />
<br />
[[CITCONEurope2012Lodging | Lodging suggestions]]<br />
<br />
[[CITCONEurope2012Registrants | Registrants]]<br />
<br />
[[CITCONEurope2012Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONEurope2012Feedback | Feedback]]<br />
<br />
<br />
== CITCON North America 2012 Portland ==<br />
<br />
[[CITCONNA2012Registrants | Registrants]]<br />
<br />
[[CITCONNA2012Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONNA2012Feedback | Feedback]]<br />
<br />
== CITCON Asia 2012 Singapore ==<br />
<br />
[[CITCONAsia2012Registrants | Registrants]]<br />
<br />
[[CITCONAsia2012Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONAsia2012Feedback | Feedback]]<br />
<br />
== CITCON Europe 2011 London ==<br />
<br />
[[CITCONEurope2011Registrants | Registrants]]<br />
<br />
[[CITCONEurope2011Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONEurope2011Feedback | Feedback]]<br />
<br />
== CITCON Europe 2010 London ==<br />
<br />
[[CITCONEurope2010Registrants | Registrants]]<br />
<br />
[[CITCONEurope2010Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONEurope2010Feedback | Feedback]]<br />
<br />
== CITCON ANZ 2010 Wellington ==<br />
<br />
[[CITCONANZ2010Registrants | Registrants]]<br />
<br />
[[CITCONANZ2010Sessions | Sessions ]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONANZ2010Feedback | Feedback]]<br />
<br />
== CITCON US 2010 Raleigh/Durham ==<br />
<br />
[[CITCONUS2010Registrants | Registrants]]<br />
<br />
[[CITCONUS2010Sessions | Sessions ]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON Europe 2009 Paris ==<br />
<br />
[[CITCONEurope2009Registrants | Registrants]]<br />
<br />
[[CITCONEurope2009Lodging | Accomodation and practical information for participants]]<br />
<br />
[[CITCONEurope2009Sessions | Sessions ]]<br />
<br />
[http://savingbletchleypark.org/ Save our digital heritage - Bletchley Park] - (Friday Night Announcement)<br />
<br />
[http://www.devopsdays.org/programme/ DevOpsDays] - If you liked the pipeline, virtual and cloud session, this will interest you<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON Asia/Pacific 2009 Brisbane ==<br />
<br />
[[CITCONAsiaPacific2009Registrants | Registrants]]<br />
<br />
[[CITCONAsiaPacific2009Accommodation | Accommodation for Delegates]]<br />
<br />
[[CITCONAsiaPacific2009Sessions|Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON North America 2009 Minneapolis-St. Paul ==<br />
<br />
Pre-Events<br />
[[Gradle Event]] Thursday Evening, April 23rd.<br />
<br />
[[CITCONNA2009Registrants | Registrants]]<br />
<br />
[[CITCONNA2009Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONNorthAmerica2009SocialPlanning | Social Events and Twitter Details]]<br />
<br />
== CITCON Europe 2008 Amsterdam Netherlands ==<br />
<br />
[[CITCONEurope2008Registrants | Registrants]]<br />
<br />
[[CITCONEurope2008Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON Asia-Pacific 2008 Melbourne Australia ==<br />
<br />
[[CITCONAsiaPacific2008Registrants | Registrants]]<br />
<br />
[[CITCONAsiaPacific2008Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON North America 2008 Denver ==<br />
<br />
[[CITCONDenver2008Registrants | Registrants]]<br />
<br />
[[CITCONDenver2008Sessions | Sessions]] <br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON Europe 2007 Brussels ==<br />
<br />
[[CITCONBrussels2007Registrants | Registrants]]<br />
<br />
[[CITCONBrussels2007Sessions | Sessions]] <br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON Asia-Pacific 2007 Sydney Australia ==<br />
<br />
[[CITCONAsiaPacific2007Registrants | Registrants]]<br />
<br />
[[CITCONAsiaPacific2007Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON North America 2007 Dallas Texas ==<br />
<br />
[[CitConNa2007Registrants | Registrants]]<br />
<br />
[[CitConNa2007Sessions | Sessions]]<br />
<br />
[[CitConNa2007Observations | Open Information Format Observations]]<br />
<br />
[[CitConNa2007Quotes | Quotes]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITConNA2007Feedback | Feedback]]<br />
<br />
== CITCON Europe 2006 London England ==<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON North America 2006 Chicago Illinois ==<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]</div>Jtfhttp://citconf.com/wiki/index.php?title=Main_Page&diff=16769Main Page2023-10-14T11:14:39Z<p>Jtf: </p>
<hr />
<div>Welcome to the Continuous Integration and Testing Conference's Wiki.<br />
<br />
Edit is the same as Wikipedia: [http://en.wikipedia.org/wiki/Wikipedia:Cheatsheet Cheatsheet]<br />
<br />
'''Blog entries, pictures, etc''': [[OnTheWeb | CITCON mentions on the web]]<br />
<br />
Meta pages on our process for [[ConferencePlanning|running the conference]]<br />
<br />
Defunct:<br />
<br />
Yahoo Group and mailing list: http://tech.groups.yahoo.com/group/citcon/<br />
<br />
Continuous Integration and Testing related blogs: http://feeds.feedburner.com/CitconBlogs (send an email to the CITCON mailing list to have your blog added)<br />
<br />
<br />
<br />
== CITCON Europe 2023 Berlin ==<br />
<br />
[https://citconf.com/berlin2023/ CITCON Europe 2023], October 13th & 14th, in Berlin, Germany<br />
<br />
[[CITCONEurope2023Registrants | Registrants]]<br />
<br />
[[CITCONEurope2023Sessions | Sessions]]<br />
<br />
<br />
== CITCON North America 2023 Los Gatos ==<br />
<br />
[https://citconf.com/siliconvalley2023/ CITCON North America 2023], February 3rd & 4th, in Los Gatos, California<br />
<br />
[[CITCONNA2023Registrants | Registrants]]<br />
<br />
[[CITCONNA2023Sessions | Sessions]]<br />
<br />
== CITCON Europe 2022 Zwolle ==<br />
<br />
[http://citconf.com/zwolle2022/ CITCON Europe 2022], October 14th & 15th, in Zwolle, The Netherlands<br />
<br />
[[CITCONEurope2022Registrants | Registrants]]<br />
<br />
[[CITCONEurope2022Sessions | Sessions]]<br />
<br />
== CITCON Virtual 2021 ==<br />
<br />
[https://citconf.com/virtual2021/ CITCON Virtual 2021], April 23rd & 24th<br />
<br />
[[CITCONEurope2021Registrants | Registrants]]<br />
<br />
[[CITCONEurope2021Sessions | Sessions]]<br />
<br />
== CITCON Virtual 2020 ==<br />
<br />
[https://citconf.com/virtual2020/ CITCON Virtual 2020], May 29th & 30th<br />
<br />
[[CITCONEurope2020Registrants | Registrants]]<br />
<br />
[[CITCONEurope2020Sessions | Sessions]]<br />
<br />
[[CITCONEurope2020Feedback | Feedback]]<br />
<br />
<br />
== CITCON Europe 2019 Ghent ==<br />
<br />
[http://citconf.com/ghent2019 CITCON Europe 2019], May 17th & 18th, in Ghent, Belgium<br />
<br />
[[CITCONEurope2019Registrants | Registrants]]<br />
<br />
[[CITCONEurope2019Sessions | Sessions]]<br />
<br />
[[CITCONEurope2019Feedback | Feedback]]<br />
<br />
== CITCON Europe 2018 Vienna ==<br />
<br />
[http://citconf.com/vienna2018 CITCON Europe 2018], April 20th & 21st, in Vienna, Austria<br />
<br />
[[CITCONEurope2018Registrants | Registrants]]<br />
<br />
== CITCON Europe 2017 Amsterdam ==<br />
<br />
[http://citconf.com/amsterdam2017 CITCON Europe 2017], May 19th & 20th, in Amsterdam, The Netherlands<br />
<br />
[[CITCONEurope2017Sessions | Sessions]]<br />
<br />
[[CITCONEurope2017Registrants | Registrants]]<br />
<br />
== CITCON North America 2016 New York==<br />
<br />
[http://citconf.com/newyork2016 CITCON NA 2016], December 9th & 10th, in New York, New York<br />
<br />
[[CITCONNA2016Sessions | Sessions]]<br />
<br />
[[CITCONNA2016Registrants | Registrants]]<br />
<br />
== CITCON ANZ 2016 Perth ==<br />
<br />
[http://citconf.com/perth2016/index.html CITCON ANZ 2016], August 5th & 6th, in Perth, Australia<br />
<br />
[[CITCONANZ2016Sessions | Sessions]]<br />
<br />
[[CITCONANZ2016Registrants | Registrants]]<br />
<br />
[[CITCONANZ2016Planning | Planning]]<br />
<br />
== CITCON Europe 2016 Cluj-Napoca ==<br />
<br />
[http://citconf.com/cluj2016/index.html CITCON Europe 2016], April 15th & 16th, in Cluj-Napoca, Romania<br />
<br />
[[CITCONEurope2016Registrants | Registrants]]<br />
<br />
[[CITCONEurope2016Sessions | Sessions]]<br />
<br />
== CITCON North America 2015 Ann Arbor ==<br />
<br />
[http://www.citconf.com/annarbor2015/index.html CITCON North America 2015], October 2nd & 3rd, in Ann Arbor, Michigan<br />
<br />
[[CITCONNorthAmerica2015Registrants | Registrants]]<br />
<br />
[[CITCONNorthAmerica2015Sessions | Sessions]]<br />
<br />
[[CITCONNorthAmerica2015ReadingList | Reading List]]<br />
<br />
== CITCON Europe 2015 Helsinki ==<br />
<br />
[http://www.citconf.com/helsinki2015 CITCON Europe 2015], September 11th & 12th, in Helsinki, Finland<br />
<br />
[[CITCONEurope2015Registrants | Registrants]]<br />
<br />
[[CITCONEurope2015Sessions | Sessions]]<br />
<br />
== CITCON Asia 2015 Hong Kong ==<br />
<br />
[[CITCONAsia2014Registrants | Registrants]]<br />
<br />
[[CITCONAsia2014Planning | Planning]]<br />
<br />
[[CITCONAsia2015Sessions | Sessions]]<br />
<br />
== CITCON North America 2014 Austin ==<br />
<br />
[http://www.citconf.com/austin2014 CITCON North America 2014] in Austin, Texas, October 17 & 18, 2014<br />
<br />
[[CITCONNorthAmerica2014Registrants | Registrants]]<br />
<br />
[[CITCONNorthAmerica2014Planning | Planning]]<br />
<br />
== CITCON Europe 2014 Zagreb ==<br />
<br />
[[CITCONEurope2014Registrants | Registrants]]<br />
<br />
[[CITCONEurope2014Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONEurope2014Planning | Planning]]<br />
<br />
== CITCON ANZ 2014 Auckland ==<br />
<br />
[[CITCONANZ2014Registrants | Registrants]]<br />
<br />
[[CITCONANZ2014Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONANZ2014Planning | Planning]]<br />
<br />
== CITCON Europe 2013 Turin ==<br />
<br />
[[CITCONEurope2013Registrants | Registrants]]<br />
<br />
[[CITCONEurope2013Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON North America 2013 Boston ==<br />
<br />
[[CITCONNA2013Registrants | Registrants]]<br />
<br />
[[CITCONNA2013Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON ANZ 2013 Sydney ==<br />
<br />
[[CITCONANZ2013Registrants | Registrants]]<br />
<br />
[[CITCONANZ2013Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONANZ2013Feedback | Feedback]]<br />
<br />
== CITCON Europe 2012 Budapest ==<br />
<br />
[[CITCONEurope2012Lodging | Lodging suggestions]]<br />
<br />
[[CITCONEurope2012Registrants | Registrants]]<br />
<br />
[[CITCONEurope2012Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONEurope2012Feedback | Feedback]]<br />
<br />
<br />
== CITCON North America 2012 Portland ==<br />
<br />
[[CITCONNA2012Registrants | Registrants]]<br />
<br />
[[CITCONNA2012Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONNA2012Feedback | Feedback]]<br />
<br />
== CITCON Asia 2012 Singapore ==<br />
<br />
[[CITCONAsia2012Registrants | Registrants]]<br />
<br />
[[CITCONAsia2012Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONAsia2012Feedback | Feedback]]<br />
<br />
== CITCON Europe 2011 London ==<br />
<br />
[[CITCONEurope2011Registrants | Registrants]]<br />
<br />
[[CITCONEurope2011Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONEurope2011Feedback | Feedback]]<br />
<br />
== CITCON Europe 2010 London ==<br />
<br />
[[CITCONEurope2010Registrants | Registrants]]<br />
<br />
[[CITCONEurope2010Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONEurope2010Feedback | Feedback]]<br />
<br />
== CITCON ANZ 2010 Wellington ==<br />
<br />
[[CITCONANZ2010Registrants | Registrants]]<br />
<br />
[[CITCONANZ2010Sessions | Sessions ]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONANZ2010Feedback | Feedback]]<br />
<br />
== CITCON US 2010 Raleigh/Durham ==<br />
<br />
[[CITCONUS2010Registrants | Registrants]]<br />
<br />
[[CITCONUS2010Sessions | Sessions ]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON Europe 2009 Paris ==<br />
<br />
[[CITCONEurope2009Registrants | Registrants]]<br />
<br />
[[CITCONEurope2009Lodging | Accomodation and practical information for participants]]<br />
<br />
[[CITCONEurope2009Sessions | Sessions ]]<br />
<br />
[http://savingbletchleypark.org/ Save our digital heritage - Bletchley Park] - (Friday Night Announcement)<br />
<br />
[http://www.devopsdays.org/programme/ DevOpsDays] - If you liked the pipeline, virtual and cloud session, this will interest you<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON Asia/Pacific 2009 Brisbane ==<br />
<br />
[[CITCONAsiaPacific2009Registrants | Registrants]]<br />
<br />
[[CITCONAsiaPacific2009Accommodation | Accommodation for Delegates]]<br />
<br />
[[CITCONAsiaPacific2009Sessions|Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON North America 2009 Minneapolis-St. Paul ==<br />
<br />
Pre-Events<br />
[[Gradle Event]] Thursday Evening, April 23rd.<br />
<br />
[[CITCONNA2009Registrants | Registrants]]<br />
<br />
[[CITCONNA2009Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONNorthAmerica2009SocialPlanning | Social Events and Twitter Details]]<br />
<br />
== CITCON Europe 2008 Amsterdam Netherlands ==<br />
<br />
[[CITCONEurope2008Registrants | Registrants]]<br />
<br />
[[CITCONEurope2008Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON Asia-Pacific 2008 Melbourne Australia ==<br />
<br />
[[CITCONAsiaPacific2008Registrants | Registrants]]<br />
<br />
[[CITCONAsiaPacific2008Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON North America 2008 Denver ==<br />
<br />
[[CITCONDenver2008Registrants | Registrants]]<br />
<br />
[[CITCONDenver2008Sessions | Sessions]] <br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON Europe 2007 Brussels ==<br />
<br />
[[CITCONBrussels2007Registrants | Registrants]]<br />
<br />
[[CITCONBrussels2007Sessions | Sessions]] <br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON Asia-Pacific 2007 Sydney Australia ==<br />
<br />
[[CITCONAsiaPacific2007Registrants | Registrants]]<br />
<br />
[[CITCONAsiaPacific2007Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON North America 2007 Dallas Texas ==<br />
<br />
[[CitConNa2007Registrants | Registrants]]<br />
<br />
[[CitConNa2007Sessions | Sessions]]<br />
<br />
[[CitConNa2007Observations | Open Information Format Observations]]<br />
<br />
[[CitConNa2007Quotes | Quotes]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITConNA2007Feedback | Feedback]]<br />
<br />
== CITCON Europe 2006 London England ==<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON North America 2006 Chicago Illinois ==<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]</div>Jtfhttp://citconf.com/wiki/index.php?title=How_to_learn_from_frustration&diff=16768How to learn from frustration2023-10-14T10:51:06Z<p>Jtf: Created page with "https://agileconversations.com/ Conversational Transformation talk: https://www.youtube.com/watch?v=RMT_Tqzf_vc https://infed.org/mobi/chris-argyris-theories-of-action-doubl..."</p>
<hr />
<div>https://agileconversations.com/<br />
<br />
Conversational Transformation talk: https://www.youtube.com/watch?v=RMT_Tqzf_vc<br />
<br />
https://infed.org/mobi/chris-argyris-theories-of-action-double-loop-learning-and-organizational-learning/<br />
<br />
https://hbr.org/1986/09/skilled-incompetence</div>Jtfhttp://citconf.com/wiki/index.php?title=CITCONEurope2023Sessions&diff=16767CITCONEurope2023Sessions2023-10-14T09:15:19Z<p>Jtf: /* Table View */ added second sessions</p>
<hr />
<div><br />
== Table View ==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Room name<br />
! 10:00<br />
! 11:15<br />
! 2:00<br />
! 3:15<br />
! 4:30<br />
|-<br />
| Event Space<br />
| [[AI for real]]<br />
| [[How to learn from frustration]]<br />
| [[placeholder 3]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|-<br />
| Bilbao<br />
| [[Pros and cons of radical candor]]<br />
| [[Tips for shopping company or team culture]]<br />
| [[placeholder 3]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|-<br />
| Casablanca<br />
| [[Testing a full Linux distribution completely automated]]<br />
| [[OWASP juice shop]]<br />
| [[placeholder 3]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|-<br />
| Jaffa<br />
| [[small things we should have in our projects but we don’t]]<br />
| [[Seeking deterministic]]<br />
| [[placeholder 3]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|-<br />
| Tallinn<br />
| (empty)<br />
| [[What makes good services good?]]<br />
| [[placeholder 3]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|}<br />
<br />
Lunch sessions: chess, quality of wine, why most companies don’t do CI, air gapped environment</div>Jtfhttp://citconf.com/wiki/index.php?title=Pros_and_cons_of_radical_candor&diff=16765Pros and cons of radical candor2023-10-14T09:00:57Z<p>Jtf: Add link to book</p>
<hr />
<div>https://en.wikipedia.org/wiki/Radical_Candor</div>Jtfhttp://citconf.com/wiki/index.php?title=AI_for_real&diff=16764AI for real2023-10-14T08:59:32Z<p>Jtf: Created page with "https://openai.com/blog/new-and-improved-embedding-model https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-doing-and-why-does-it-work/"</p>
<hr />
<div>https://openai.com/blog/new-and-improved-embedding-model<br />
<br />
https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-doing-and-why-does-it-work/</div>Jtfhttp://citconf.com/wiki/index.php?title=CITCONEurope2023Sessions&diff=16763CITCONEurope2023Sessions2023-10-14T07:54:14Z<p>Jtf: Add lunch sessions</p>
<hr />
<div><br />
== Table View ==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Room name<br />
! 10:00<br />
! 11:15<br />
! 2:00<br />
! 3:15<br />
! 4:30<br />
|-<br />
| Event Space<br />
| [[AI for real]]<br />
| [[placeholder 2]]<br />
| [[placeholder 3]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|-<br />
| Bilbao<br />
| [[Pros and cons of radical candor]]<br />
| [[placeholder 2]]<br />
| [[placeholder 3]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|-<br />
| Casablanca<br />
| [[Testing a full Linux distribution completely automated]]<br />
| [[placeholder 2]]<br />
| [[placeholder 3]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|-<br />
| Jaffa<br />
| [[small things we should have in our projects but we don’t]]<br />
| [[placeholder 2]]<br />
| [[placeholder 3]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|-<br />
| Tallinn<br />
| (empty)<br />
| [[placeholder 2]]<br />
| [[placeholder 3]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|}<br />
<br />
Lunch sessions: chess, quality of wine, why most companies don’t do CI, air gapped environment</div>Jtfhttp://citconf.com/wiki/index.php?title=CITCONEurope2023Sessions&diff=16762CITCONEurope2023Sessions2023-10-14T07:53:05Z<p>Jtf: /* Table View */ update with session 1</p>
<hr />
<div><br />
== Table View ==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Room name<br />
! 10:00<br />
! 11:15<br />
! 2:00<br />
! 3:15<br />
! 4:30<br />
|-<br />
| Event Space<br />
| [[AI for real]]<br />
| [[placeholder 2]]<br />
| [[placeholder 3]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|-<br />
| Bilbao<br />
| [[Pros and cons of radical candor]]<br />
| [[placeholder 2]]<br />
| [[placeholder 3]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|-<br />
| Casablanca<br />
| [[Testing a full Linux distribution completely automated]]<br />
| [[placeholder 2]]<br />
| [[placeholder 3]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|-<br />
| Jaffa<br />
| [[small things we should have in our projects but we don’t]]<br />
| [[placeholder 2]]<br />
| [[placeholder 3]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|-<br />
| Tallinn<br />
| (empty)<br />
| [[placeholder 2]]<br />
| [[placeholder 3]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|}</div>Jtfhttp://citconf.com/wiki/index.php?title=CITCONEurope2023Sessions&diff=16761CITCONEurope2023Sessions2023-10-13T14:27:50Z<p>Jtf: Create placeholder of schedule</p>
<hr />
<div><br />
== Table View ==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Room name<br />
! 10:00<br />
! 11:15<br />
! 2:00<br />
! 3:15<br />
! 4:30<br />
|-<br />
| Event Space<br />
| [[placeholder 1]]<br />
| [[placeholder 2]]<br />
| [[placeholder 3]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|-<br />
| Bilbao<br />
| [[placeholder 1]]<br />
| [[placeholder 2]]<br />
| [[placeholder 3]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|-<br />
| Casablanca<br />
| [[placeholder 1]]<br />
| [[placeholder 2]]<br />
| [[placeholder 3]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|-<br />
| Jaffa<br />
| [[placeholder 1]]<br />
| [[placeholder 2]]<br />
| [[placeholder 3]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|-<br />
| Tallinn<br />
| [[placeholder 1]]<br />
| [[placeholder 2]]<br />
| [[placeholder 3]]<br />
| [[placeholder 4]]<br />
| [[placeholder 5]]<br />
|}</div>Jtfhttp://citconf.com/wiki/index.php?title=CITCONEurope2023Registrants&diff=16760CITCONEurope2023Registrants2023-10-13T11:25:37Z<p>Jtf: Add Filip</p>
<hr />
<div>[[Akash Sawant]] <br/><br />
[[Alice Valentini]] <br/><br />
[[Anton Fredrick]] <br/><br />
[[Antti Pohjonen]] <br/><br />
[[Ashutosh Mishra]] <br/><br />
[[Ashwinkumar Yakkundimath]] <br/><br />
[[Branislav Smolíček]] <br/><br />
[[Catalin Drulea]] <br/><br />
[[Christoph Jauera]] <br/><br />
[[Cirilo Wortel]] <br/><br />
[[Daniel Olearčin]] <br/><br />
[[Daniel Bartholomae]] <br/><br />
[[Derek Haynes]] <br/><br />
[[Derk Geene]] <br/><br />
[[Desmond Delissen]] <br/><br />
[[Dmitry Kisler]] <br/><br />
[[Dragan Stepanovic]] <br/><br />
[[Dušan Úradník]] <br/><br />
[[Filip Stysiak]] <br/><br />
[[Ian Davies]] <br/><br />
[[James Perry]] <br/><br />
[[Jan Bouska]] <br/><br />
[[Jana Rekittke]] <br/><br />
[[Jeffrey Fredrick]] <br/><br />
[[Joni Fofonoff]] <br/><br />
[[Juri Solovjov]] <br/><br />
[[Karina Duisenbekova]] <br/><br />
[[Lukas Lowinger]] <br/><br />
[[Maik Nogens]] <br/><br />
[[Malte-Levin Riewe]] <br/><br />
[[Manfred Linzner-Scherf]] <br/><br />
[[Marco Emrich]] <br/><br />
[[Mehmet Yildiz]] <br/><br />
[[Muhammad Sufyian]] <br/><br />
[[Muhammad Ahsan]] <br/><br />
[[Mustafa Elbehery]] <br/><br />
[[Nadya Denisenko]] <br/><br />
[[Nina Štefeková]] <br/><br />
[[Oleksii Fedorov]] <br/><br />
[[Pascal Dufour]] <br/><br />
[[Patrick Wiley]] <br/><br />
[[Paul Julius]] <br/><br />
[[Pavan Assuri]] <br/><br />
[[Peter Zsoldos]] <br/><br />
[[Radomir Sebek]] <br/><br />
[[Raul Rodriguez]] <br/><br />
[[Roland Eschenburg]] <br/><br />
[[Ronald Doelen]] <br/><br />
[[Segun Oworu]] <br/><br />
[[Sherry Khan]] <br/><br />
[[Shijesh Koodoan]] <br/><br />
[[Shujaat Ali Chand]] <br/><br />
[[Simon Schrijver]] <br/><br />
[[Simon Görtzen]] <br/><br />
[[Snehadeepa Snehanadhan]] <br/><br />
[[Stefan Robert Raus]] <br/><br />
[[Taskeen Fatima]] <br/><br />
[[Tim Wikström]] <br/><br />
[[Tomas Veskrna]] <br/><br />
[[Uthman Yusuf]] <br/><br />
[[Vansika Pareek]] <br/><br />
[[Xing Yang]] <br/><br />
[[Yashika Jayasinghe]] <br/><br />
[[Yung-Yu Chen]] <br/><br />
[[Željko Filipin]] <br/><br />
[[Zoran Regvart]] <br/></div>Jtfhttp://citconf.com/wiki/index.php?title=OnTheWeb&diff=16744OnTheWeb2023-09-06T15:55:47Z<p>Jtf: /* CITCON Europe 2011 London UK */ add 7 Continuous Integration ideas from CITCON</p>
<hr />
<div><br />
LinkedIn Group: http://www.linkedin.com/e/gis/132660/0011DE7A82CA<br />
<br />
See also [[Photos]]<br />
<br />
== CITCON Europe 2016 Cluj-Napoca ==<br />
<br />
[[Peter Zsoldos]] [http://blog.zsoldosp.eu/2016/04/18/citcon-cluj-2016/ conference notes]<br />
<br />
[[Adina Moldovan]] [http://altom.ro/blog/volunteering-citcon-2016 Volunteering for CITCON 2016]<br />
<br />
[[Dolores Pente]] [http://altom.ro/blog/citcon-europe-2016-first-experience-conference CITCON Europe 2016 – my first experience with this conference]<br />
<br />
[[Alexandra Casapu]] [http://altom.ro/blog/perspective-citcon-2016 Another perspective on Citcon 2016]<br />
<br />
== CITCON North America 2015 Ann Arbor ==<br />
<br />
== CITCON Europe 2015 Helsinki ==<br />
<br />
[[Gojko Adzic]] [https://atlas.mindmup.com/gojkomonthly/testing_tools_the_next_generation/index.html Mind map from "Testing Tools: The next generation"]<br />
<br />
[[Tom Denley]] [https://vimeo.com/141771462 Lightning talk at TIM Group following Helsinki sharing thoughts on configuring CI through code]<br />
<br />
== CITCON Asia 2015 Hong Kong ==<br />
<br />
[http://leanarch.eu/2015/02/20/how-to-make-people-do-pair-programming/ How to make people do pair programming?]<br />
<br />
== CITCON North America 2014 Austin Texas ==<br />
<br />
[[Mitch Fincher]] [http://mitchfincher.blogspot.co.uk/2014/10/citcon-austin-2014.html shares his pictures and some jumbled notes]<br />
<br />
== CITCON Europe 2014 Zagreb ==<br />
[[Adina Moldovan]]: [http://altom.ro/blog/citcon-2014 http://altom.ro/blog/citcon-2014]<br />
<br />
[[Karlo Smid]] report: http://zagorskisoftwaretester.blogspot.com/2014/09/citcon-2014-zagreb-report.html<br />
<br />
uTest list of top tweets: https://blog.utest.com/2014/09/26/top-tweets-from-citcon-2014/<br />
<br />
== CITCON ANZ 2014 Auckland ==<br />
<br />
[[Katrina Clokie]] : [http://katrinatester.blogspot.co.nz/2014/02/non-functional-testing-in-continuous.html Non-functional testing in continuous delivery]<br />
<br />
== CITCON Europe 2013 Turin ==<br />
<br />
[[Peter Zsoldos]] : http://blog.zsoldosp.eu/2013/09/30/citcon-turin-2013/<br />
<br />
== CITCON North America 2013 Boston ==<br />
<br />
== CITCON ANZ 2013 Sydney ==<br />
<br />
https://twitter.com/search/realtime?q=citcon+sydney<br />
<br />
http://www.nztester.co.nz/oztester_files/OZTester01.pdf - Magazine with a write up on the conf (PDF)<br />
<br />
== CITCON Europe 2012 Budapest ==<br />
<br />
[[Attila Magyar]] : http://athos.blogs.balabit.com/2012/10/citcon-europe-2012-tdd-is-like-sex/<br />
<br />
[[Željko Filipin]] : http://filipin.eu/citcon-europe-2012-in-budapest/<br />
<br />
[[Viktor Sadovnikov]] http://prezi.com/uufxsflf00hf/citcon-2012/ - Prezi presentation of participation in CITCON<br />
<br />
== CITCON North America 2012 Portland Oregon ==<br />
<br />
== CITCON Asia 2012 Singapore ==<br />
<br />
[[Riju Kansal]] http://aaoblogkare.blogspot.co.uk/2012/04/citcon-cool-great-experience.html<br />
<br />
== CITCON Europe 2011 London UK ==<br />
<br />
[[Peter Zsoldos]] http://blog.zsoldosp.eu/2011/11/citcon-london-2011.html<br />
<br />
https://jr0cket.co.uk/2011/11/7-continuous-integration-ideas-from.html<br />
<br />
Skillsmatter (the venue provider) put up the video recorded of the following sessions on their site at http://skillsmatter.com/event/agile-testing/citcon :<br />
<br />
* [[ To_Feature_Branch_Or_Not_To_Feature_Branch ]]<br />
* [[ Moving_an_Agile_Team_from_CI_to_CD ]]<br />
* [[ Configuration_Changes ]]<br />
* [[ Testing_for_Value ]]<br />
* [[ Radiators ]]<br />
<br />
== CITCON Europe 2010 London UK ==<br />
[[Eric Lefevre-Ardant]] http://ericlefevre.net/wordpress/2010/11/08/citcon-london-2010/<br />
<br />
[[Gojko Adzic]] http://gojko.net/2010/11/09/beyond-basic-tdd/<br />
<br />
[[Peter Zsoldos]] http://blog.zsoldosp.eu/2010/11/my-citcon-london-2010-experience.html<br />
<br />
== CITCON ANZ 2010 Wellington New Zealand ==<br />
<br />
[[Manuel Kueblboeck]] [http://qualityswdev.com/2010/07/09/citcon-2010-wellington/ enjoyed his first open space and learned about different styles of pair programming]<br />
<br />
== CITCON North America 2010 Raleigh/Durham North Carolina ==<br />
<br />
== CITCON Europe 2009 Paris France ==<br />
[[Gojko Adzic]] http://gojko.net/2009/09/19/citcon-europe-09/ http://gojko.net/2009/09/21/mocks-are-not-about-isolation-but-about-responsibilities/ http://gojko.net/2009/09/24/top-10-reasons-why-teams-fail-with-acceptance-testing/<br />
<br />
[[Joe Schmetzer]] http://www.exubero.com/joe/2009/09/citcon-europe-2009/<br />
<br />
[[Nicolas Martignole]] [http://www.touilleur-express.fr/2009/09/20/citcon-2009-paris/ CITCON 2009] (in French), [http://www.touilleur-express.fr/2009/09/20/citcon-2009-done-and-testing/ Done and Testing] (also in French), [http://www.touilleur-express.fr/2009/09/20/citcon-2009-mock-mock-and-mock/ mock, mock and mock] (in French too), [http://www.touilleur-express.fr/2009/09/20/citcon-2009-user-acceptance-test/ user acceptance tests] (yes, in French)<br />
<br />
[[Anthony Dahanne]] http://blog.dahanne.net/2009/09/18/citcon-europe-2009-paris/<br />
<br />
[[Jérôme Van Der Linden]] http://www.javasioux.fr/blog/2009/09/20/compte-rendu-citcon-paris-2009/ (in French), and also on [http://blog.octo.com/compte-rendu-citcon-paris-2009/ Octo's blog] (in French)<br />
<br />
[[Antony Marcano]] http://www.testingreflections.com/node/view/8274<br />
<br />
[[Zouheir Cadi]] [http://www.parisjug.org/xwiki/bin/view/Blog/LeParisJugAuCITCON Paris JUG at CITCON] (in French)<br />
<br />
[[Romain Linsolas]] http://linsolas.free.fr/pro-blog/blog4.php/2009/09/21/citconf-paris-2009-autour-des-sessions (in French)<br />
http://linsolas.developpez.com/articles/conferences/citconf2009/ (in French)<br />
<br />
[[Emmanuel Servent]] http://blog.xebia.fr/2009/09/21/citcon-paris-2009/ (in French)<br />
<br />
[[Eric Lefevre-Ardant]] [http://ericlefevre.net/wordpress/2009/09/21/mock-objects-at-citcon-paris-2009/ on mock objects], [http://ericlefevre.net/wordpress/2009/09/22/faster-tests-at-citcon-paris-2009/ on faster test], [http://ericlefevre.net/wordpress/2009/09/23/citcon-paris-2009-a-personal-retrospective-of-the-organization/ on the organization], and [http://ericlefevre.net/wordpress/2009/09/28/predictions-for-citcon-europe-2009/ on the CITCON Europe 2009 predictions]<br />
<br />
[[Xavier Bourguignon]] [http://social.hortis.ch/2009/09/24/citcon-paris-2009-le-compte-rendu/ Hortis at CITCON] (in French)<br />
<br />
[[Pierre-Emmanuel Dautreppe]] http://www.pedautreppe.com/post/CITCON-2009-in-Paris.aspx<br />
<br />
[[Thibaut Van Spaandonck]] http://thibautvs.com/blog/?p=1001<br />
<br />
[[Fabien Duminy]] CITCON Europe 2009 : [http://www.duminy.fr/blog/?p=970&language=en in English] [http://www.duminy.fr/blog/?p=970&language=fr in French]<br />
<br />
[[Jason Sankey]] [http://www.alittlemadness.com/2009/10/02/citcon-paris-2009/ CITCON Paris 2009: Distributed SCMs] and [http://www.alittlemadness.com/2009/10/09/citcon-paris-2009-mocks-ci-servers-and-acceptance-testing/ CITCON Paris 2009: Mocks, CI Servers and Acceptance Testing]<br />
<br />
== CITCON Australia/New Zealand 2009 Brisbane Queensland ==<br />
<br />
[[Craig Smith]] http://cds43.wordpress.com/2009/07/06/wrap-up-from-citcon-brisbane/<br />
<br />
[[Alex Garrett]] http://lexecorp.com/2009/06/28/citcon/<br />
<br />
[[Rowly Emmett]] http://rowlyemmett.blogspot.com/2009/06/citcon-brisbane-2009.html<br />
<br />
[[Mirek Rzadkowski]] [http://www.softnexus.com.au/softnexus/citcon.html pencasts]<br />
<br />
== CITCON North America 2009 Minneapolis Minnesota ==<br />
<br />
[[Lisa Crispin]] http://blogs.stickyminds.com/Blogs/tabid/91/EntryId/77/Continuous-Integration-and-Testing.aspx<br />
<br />
== CITCON Europe 2008 Amsterdam Netherlands ==<br />
<br />
[[Eric Lefevre]] : [http://ericlefevre.net/wordpress/2008/10/05/back-from-citcon-europe-amsterdam-2008/ back from CITCON Amsterdam], [http://ericlefevre.net/wordpress/2008/10/07/scrum-is-evil/ Is Scrum evil?], [http://ericlefevre.net/wordpress/2008/10/08/coding-dojo-on-legacy-code/ coding dojo on legacy code]<br />
<br />
[[Harald Walker]] : [http://www.bitwalker.nl/blog/citcon-europe-2008-–-less-is-more thinks with open space that less is more]<br />
<br />
[[Hinse ter Schuur]] : has posted [http://blog4h.blogspot.com/2008/10/citcon-europe-2008.html one], [http://blog4h.blogspot.com/2008/10/citcon-europe-2008-2.html two], [http://blog4h.blogspot.com/2008/10/citcon-europe-2008-3.html three] different posts with notes from his sessions.<br />
<br />
[[Jason Gorman]] : [http://parlezuml.com/blog/?postid=702 in brief]<br />
<br />
[[Jason Sankey]] : [http://www.alittlemadness.com/2008/10/09/citcon-amsterdam-2008-retrospective/ favorite session was Flickering Builds]<br />
<br />
[[Jean-Michel Garnier]] : [http://21croissants.blogspot.com/2008/10/back-from-citcon-amsterdam-2008.html is also back from CITCON Amsterdam]<br />
<br />
[[Markus Hjort]] : [http://www.jroller.com/mhjort/entry/citcon_europe_2008_first_impressions CITCON Amsterdam first impressions]<br />
<br />
[[Olivier Gaudin]] : [http://sonar.codehaus.org/back-from-citcon-europe-2008-in-amsterdam/ posted thoughts on several sessions]<br />
<br />
[[Patrick Debois]] : was [http://www.jedi.be/blog/2008/10/09/citcon-2008-amsterdam/ convinced to go deeper into development]<br />
<br />
[[Yegor Yarko]] : [http://teamcitydev.blogspot.com/2008/10/citcon-amsterdam-2008.html is ready to meet at the next CITCON Europe]<br />
<br />
[[Matt Wynne]]: [http://blog.mattwynne.net/2008/10/08/is-the-value-fetish-killing-agile-teams/ on the value fetish]<br />
<br />
[[Willem van den Ende]]: [http://me.andering.com/2008/10/21/as-a-programmer-i-want-to-go-to-a-coders-dojo-so-that-i-can-improve-my-skills/ on the coding dojo]<br />
<br />
[[Zouheir Cadi]]: [http://www.parisjug.org/xwiki/bin/view/Blog/LeCITCONestfiniviveleprochainCITCON Don't miss the next European CITCON]<br />
<br />
[[Pierre-Emmanuel Dautreppe]]: http://www.pedautreppe.com/post/CITCON-2008-in-Amsterdam---Part-2.aspx<br />
<br />
== CITCON Asia-Pacific 2008 Melbourne Australia ==<br />
<br />
[[Colin Goudie]] : [http://gommo.tributech.net/?p=78 On his first night in Melbourne]<br />
<br />
[[Ronald Sunarno]] : [http://ronaldwidha.net/askbobo/event-log/citcon-anz-2008-in-melbourne/ .Net Developer had fun at CITCON]<br />
<br />
[[Tim Koopmans]] : [http://90kts.com/blog/2008/citcon-2008-melbourne/ CITCON 2008 Melbourne]<br />
<br />
[[Zutubi]] : [http://www.alittlemadness.com/2008/06/27/zutubi-citcon-asia-pacific-2008 Zutubi announces their presence at CITCON]<br />
<br />
[[Ben Kelly]] : [http://www.testjutsu.com/citcon-melbourne-2008-initial-thoughts-and-impressions Ben's initial thoughts on CITCON Melbourne]<br />
<br />
[[Colin Goudie]] : [http://gommo.tributech.net/?p=79 Thoughts on "Session Day"]<br />
<br />
[[Mark Derricutt]] : [http://www.talios.com/citcon_2008__somerset_on_elizabeth.htm Impressed by his hotel room and the conference venue]<br />
<br />
[[Eddy Pronk]]: [http://www.muftor.com/blog/?p=7 lessons learned on CITCON]<br />
<br />
[[Nigel Charman]]: [http://tutansblog.blogspot.com/2008/07/citcon-melbourne-08.html CITCON Melbourne '08]<br />
<br />
[[Stuart Moncrieff]]: [http://www.jds.net.au/news/melbourne-citcon-2008/ JDS at CITCON Asia-Pacific 2008]<br />
<br />
== CITCON North America 2008 Denver Colorado ==<br />
<br />
[[Andrew Binstock]]: [http://binstock.blogspot.com/2008/04/easy-does-it-with-easyb.html Easy Does It With easyb]<br />
<br />
[[Paul Holser]]: [http://cleveralias.blogs.com/thought_spearmints/2008/04/citcon-north-am.html shares his thoughts on CITCON Denver]<br />
<br />
[[Ben Rady]]: [http://benrady.typepad.com/radyology/2008/04/citcon-rocks.html says CITCON Rocks!]<br />
<br />
[[David Vydra]]: [http://www.testdriven.com/modules/news/article.php?storyid=678 is happy he went to CITCON]<br />
<br />
[[Jeff Peters]]: [http://www.xaware.org/myblog/citcon-continuous-integration-and-testing-conference-north-america-2008-in-denver-colorado.html recaps the sessions he attended]<br />
<br />
[[RJ Bruneel]]: [http://www.opensourceconnections.com/2008/04/08/a-skeptics-perspective-on-the-openspace-conference-format/ was skeptical about the open space format but convinced by the experience]. [http://www.opensourceconnections.com/2008/04/14/continuous-integration-and-testing-conference-citcon-in-denver-colorado/ he also wrote up some notes].<br />
<br />
[[Mark Waite]]: [http://blog.360.yahoo.com/blog-4B.afOU8erSVU28a2FPKRNU-?cq=1&p=251 was impressed by the people at the conference] and still needs to write about the conference results...<br />
<br />
[[Lisa Crispin]]: [http://lisacrispin.blogspot.com/2008/06/citcon-takeaways.html CITCON Denver takeaways]<br />
<br />
== CITCON Europe 2007 Brussels Belgium ==<br />
<br />
[[Erik Doernenburg]]: [http://erik.doernenburg.com/2007/10/20/citcon/ CITCON - CCMenu announcement]<br />
<br />
[[Marc Evers]]: [http://blog.piecemealgrowth.net/citcon-europe-2007-2/ CITCON Europe 2007]<br />
<br />
[[Eric Lefevre]]: [http://ericlefevre.net/wordpress/2007/10/24/back-from-citcon-brussels-2007/ Back from CITCON], [http://ericlefevre.net/wordpress/2007/10/24/citcon-brussels-2007-jester-jumble/ Jester & Jumble], [http://ericlefevre.net/wordpress/2007/10/24/citcon-brussels-2007-hudson/ Hudson]. [http://ericlefevre.net/wordpress/2008/04/28/implementation-of-creating-change-one-tic-tac-at-a-time/ Talks about a Hudson plugin using some of the ideas from past CITCONs].<br />
<br />
[[Andrew Binstock]] [http://binstock.blogspot.com/2007/10/citcon-brussels-2007.html on Why CITCON?]<br />
<br />
[[Ivan Moore]] [http://ivan.truemesh.com/archives/000720.html recaps CITCON Brussels]. And is [http://ivan.truemesh.com/archives/000734.html looking forward to CITCON Amsterdam]<br />
<br />
[[Pierre-Emmanuel Dautreppe]] http://www.pedautreppe.com/post/CITCON-2007-in-Brussels---Part-2.aspx<br />
<br />
== CITCON Asia-Pacific 2007 Sydney Australia ==<br />
<br />
[[User:Talios|Mark Derricutt]]'s blog entries on CITCON: http://www.talios.com/tags/?/citcon<br />
<br />
[[Jason Yip]]'s [http://jchyip.blogspot.com/2007/07/key-take-away-points-from-citcon-asia.html key take away points]<br />
<br />
[[Erik Petersen]]'s [http://www.testingreflections.com/node/view/5775 mini-review] and mentions-CITCON-in-Passing <br />
[http://www.testingreflections.com/node/view/5773 musing] on Levi technique<br />
<br />
[[Kristan Vingrys]]'s blog entry on CITCON: [http://www.vinktank.com/test-automation/test-code-is-as-important-as-production-code/ one of my key take away points]<br />
<br />
[[tomjadams|Tom Adams']] [http://adams.id.au/blog/2007/08/citcon-2007/ comments]<br />
<br />
The [http://www.alittlemadness.com/2007/07/31/citcon-retrospective/ Zutubi retrospective]<br />
<br />
== CITCON North America 2007 Dallas Texas ==<br />
<br />
Jason Huggins pictures taken with his MacBook: http://picasaweb.google.com/jrhuggins/CITCONNorthAmerica2007<br />
<br />
Eric Pugh's blog entries on CITCon: [http://blog.opensourceconnections.com/?s=citcon OpenSource Connections]<br />
<br />
[[Chris Turner]]'s summary: [http://bestfriendchris.com/blog/2007/04/30/citcon-north-america-07 CITCON North America �07]<br />
<br />
[[Andy Glover]]: http://thediscoblog.com/2007/04/28/whats-after-ant/<br />
<br />
David O'Hara: http://blog.davidohara.net/2007/05/01/citcon-2007/<br />
<br />
Vandana Shah: http://www.developertesting.com/archives/month200705/20070504-CITCONOpenSpaceConferenceRocks.html<br />
<br />
[[Matt Smith]]: http://netsmith.blogspot.com/2007/05/continuous-integration-and-testing.html<br />
<br />
[[Elisabeth Hendrickson]]: http://www.testobsessed.com/2007/05/01/the-power-of-community/<br />
<br />
[[Jason Darling]]: http://blogs.dovetailsoftware.com/blogs/jason_darling/archive/2007/05/11/citcon-2007-review.aspx<br />
<br />
== CITCON Europe 2006 London England ==<br />
<br />
Ivan Moore: http://ivan.truemesh.com/archives/000651.html<br />
<br />
Mike Cannon-Brookes: http://blogs.atlassian.com/rebelutionary/archives/2006/10/citcon_london_2.html<br />
<br />
http://www.flickr.com/photos/87709569@N00/sets/72157594318666513/<br />
<br />
Julian Simpson: http://juliansimpson.blogspot.com/2006/10/citcon-was-awesome.html<br />
<br />
Willem van den Ende: http://me.andering.com/2006/10/08/citcon-london-2006-photos/ <br/><br />
[http://www.willemvandenende.com/photos/?Qwd=./2006/citcon&Qiv=thumbs&Qis=S Willem's pictures]<br />
<br />
[[Eric Lefevre]]: http://ericlefevre.net/wordpress/2006/10/08/citcon-london-2006/<br />
* [http://ericlefevre.net/pictures/06_07_citcon/subalbum_1_slideshow.html Eric's pictures]<br />
* [http://ericlefevre.net/wordpress/2006/10/16/taking-notes-visibly-to-everyone/ Taking Notes Visibly to Everyone]<br />
* [http://ericlefevre.net/wordpress/2006/10/13/citcon-and-the-culture-of-ci-before-installing-cruisecontrol-beyond-installing-it/ The Culture of CI ]<br />
* [http://ericlefevre.net/wordpress/2006/10/11/citcon-and-random-figures/ CITCON and Random Figures]<br />
* [http://ericlefevre.net/wordpress/2006/10/10/citcon-and-technical-excellence/ CITCON and technical excellence]<br />
* [http://ericlefevre.net/wordpress/2006/10/10/ci-and-offshore/ CI and Offshore]<br />
* [http://ericlefevre.net/wordpress/2006/10/10/remote-cruisecontrol/ Remote (Cruise)Control: Amazon EC2]<br />
* [http://ericlefevre.net/wordpress/2006/10/09/open-space-technology/ Open Space Technology]<br />
<br />
Joe Schmetzer: http://www.exubero.com/blog/20061012_CITCON_London_2006_Retrospective.html<br />
<br />
Owen Evans:<br />
* [http://www.bgeek.net/node/199 Argument Driven Design]<br />
* [http://www.bgeek.net/node/198 CITCON Roundup]<br />
* [http://www.bgeek.net/node/195 CITCON London]<br />
<br />
Michael Kloss: http://www.clau-mich.de/weblog/archives/2006/10/#e2006-10-07T08_40_34.txt<br />
<br />
== CITCON North America 2006 Chicago Illinois ==<br />
<br />
http://java.about.com/b/a/256847.htm<br />
<br />
James Shore: http://www.jamesshore.com/Blog/Citcon-in-London.html<br />
<br />
[[Jason Huggins]]: http://www.jrandolph.com/blog/2006/04/10/does-a-testing-tool-prove-the-functionality-of-software/<br />
<br />
Al Wick: http://wickidcool.com/modules.php?op=modload&name=News&file=article&sid=44&mode=thread&order=0&thold=0<br />
<br />
Nola: http://phpgirl.blogspot.com/2006/04/never-dull-moment.html</div>Jtfhttp://citconf.com/wiki/index.php?title=Xing_Yang&diff=16743Xing Yang2023-09-06T15:01:05Z<p>Jtf: adding LinkedIn</p>
<hr />
<div>https://www.linkedin.com/in/crossing/<br />
<br />
https://twitter.com/xor_freecity</div>Jtfhttp://citconf.com/wiki/index.php?title=Segun_Oworu&diff=16742Segun Oworu2023-09-06T15:00:11Z<p>Jtf: adding urls</p>
<hr />
<div>https://www.linkedin.com/in/segunoworu/<br />
<br />
https://twitter.com/segunoworu</div>Jtfhttp://citconf.com/wiki/index.php?title=CITCONEurope2023Registrants&diff=16741CITCONEurope2023Registrants2023-09-06T14:58:43Z<p>Jtf: add Xing and Segun</p>
<hr />
<div>[[Anton Fredrick]] <br/><br />
[[Branislav Smolíček]] <br/><br />
[[Cirilo Wortel]] <br/><br />
[[Daniel Olearčin]] <br/><br />
[[Derek Haynes]] <br/><br />
[[Desmond Delissen]] <br/><br />
[[Dmitry Kisler]] <br/><br />
[[Dušan Úradník]] <br/><br />
[[Ian Davies]] <br/><br />
[[James Perry]] <br/><br />
[[Jan Bouska]] <br/><br />
[[Jeffrey Fredrick]] <br/><br />
[[Julia Paranich]] <br/><br />
[[Juri Solovjov]] <br/><br />
[[Karina Duisenbekova]] <br/><br />
[[Lukas Lowinger]] <br/><br />
[[Maik Nogens]] <br/><br />
[[Malte-Levin Riewe]] <br/><br />
[[Manfred Linzner-Scherf]] <br/><br />
[[Mehmet Yildiz]] <br/><br />
[[Muhammad Ahsan]] <br/><br />
[[Muhammad Sufyian]] <br/><br />
[[Mustafa Elbehery]] <br/><br />
[[Nina Štefeková]] <br/><br />
[[Oleksii Fedorov]] <br/><br />
[[Pascal Dufour]] <br/><br />
[[Peter Zsoldos]] <br/><br />
[[Radomir Sebek]] <br/><br />
[[Roland Eschenburg]] <br/><br />
[[Ronald Doelen]] <br/><br />
[[Segun Oworu]] <br/><br />
[[Sherry Khan]] <br/><br />
[[Shijesh Koodoan]] <br/><br />
[[Shujaat Ali Chand]] <br/><br />
[[Simon Görtzen]] <br/><br />
[[Simon Schrijver]] <br/><br />
[[Snehadeepa Snehanadhan]] <br/><br />
[[Tomas Veskrna]] <br/><br />
[[Vansika Pareek]] <br/><br />
[[Yashika Jayasinghe]] <br/><br />
[[Xing Yang]] <br/><br />
[[Yung-Yu Chen]] <br/><br />
[[Stefan Robert Raus]] <br/></div>Jtfhttp://citconf.com/wiki/index.php?title=James_Perry&diff=16740James Perry2023-09-04T19:00:03Z<p>Jtf: add url</p>
<hr />
<div>http://linkedin.com/in/jamesperry785</div>Jtfhttp://citconf.com/wiki/index.php?title=Nina_%C5%A0tefekov%C3%A1&diff=16739Nina Štefeková2023-09-04T18:59:37Z<p>Jtf: add url</p>
<hr />
<div>https://www.instagram.com/nstefek</div>Jtfhttp://citconf.com/wiki/index.php?title=Peter_Zsoldos&diff=16738Peter Zsoldos2023-09-04T18:58:39Z<p>Jtf: add spaces</p>
<hr />
<div>Experienced Software Developer among other things, with a passion for quality, education, community, and systems thinking. I also happen to believe in baby steps - a.k.a. the only way to run fast is to run slow. Also, I like finding solutions, not just executing/implementing ones from client - often the best solution doesn't even have to involve writing software!<br />
<br />
I've only missed two (2019, 2021) CITCON Europe events since 2010, and I was the organizer of the Budapest event<br />
<br />
<br />
<br />
Blog: http://zsoldosp.eu<br />
<br />
twitter: http://twitter.com/zsepi<br />
<br />
LinkedIn: http://www.linkedin.com/in/zsoldosp</div>Jtfhttp://citconf.com/wiki/index.php?title=Pascal_Dufour&diff=16737Pascal Dufour2023-09-04T18:58:10Z<p>Jtf: add Mastodon</p>
<hr />
<div>https://twitter.com/pascal_dufour<br />
<br />
@pascaldufournl@mastodon.social</div>Jtfhttp://citconf.com/wiki/index.php?title=Cirilo_Wortel&diff=16736Cirilo Wortel2023-09-04T18:56:40Z<p>Jtf: add https</p>
<hr />
<div><br />
<br />
Hi, my name is Cirilo Wortel, I am an independent consultant from the Netherlands. I've been working in IT since 1997, been in Agile software development since 2006. I am a hardcore CITCON alumni, which I think is one of the most valuable conferences ever :) <br />
<br />
<br />
I am looking forward to see you all!!<br />
<br />
https://www.greenlight-it.nl<br />
<br />
https://twitter.com/sietstweets<br />
<br />
https://www.linkedin.com/in/cirilowortel/</div>Jtfhttp://citconf.com/wiki/index.php?title=Cirilo_Wortel&diff=16735Cirilo Wortel2023-09-04T18:56:17Z<p>Jtf: add linkedin</p>
<hr />
<div><br />
<br />
Hi, my name is Cirilo Wortel, I am an independent consultant from the Netherlands. I've been working in IT since 1997, been in Agile software development since 2006. I am a hardcore CITCON alumni, which I think is one of the most valuable conferences ever :) <br />
<br />
<br />
I am looking forward to see you all!!<br />
<br />
www.greenlight-it.nl<br />
<br />
https://twitter.com/sietstweets<br />
<br />
https://www.linkedin.com/in/cirilowortel/</div>Jtfhttp://citconf.com/wiki/index.php?title=Roland_Eschenburg&diff=16734Roland Eschenburg2023-09-04T18:54:00Z<p>Jtf: add url</p>
<hr />
<div>https://www.linkedin.com/in/roland-eschenburg-2600072a/</div>Jtfhttp://citconf.com/wiki/index.php?title=Shijesh_Koodoan&diff=16733Shijesh Koodoan2023-09-04T18:52:00Z<p>Jtf: add url</p>
<hr />
<div>https://www.linkedin.com/in/shijesh-koodoan/</div>Jtfhttp://citconf.com/wiki/index.php?title=Manfred_Linzner-Scherf&diff=16732Manfred Linzner-Scherf2023-09-04T18:51:26Z<p>Jtf: add Mastodon</p>
<hr />
<div>@mlinzner@mastodon.nl</div>Jtfhttp://citconf.com/wiki/index.php?title=Simon_G%C3%B6rtzen&diff=16731Simon Görtzen2023-09-04T18:51:04Z<p>Jtf: add Mastodon</p>
<hr />
<div>@goertzen@mastodontech.de</div>Jtfhttp://citconf.com/wiki/index.php?title=Oleksii_Fedorov&diff=16730Oleksii Fedorov2023-09-04T18:50:16Z<p>Jtf: add url</p>
<hr />
<div>https://www.linkedin.com/in/alex-the-tdd-fellow/</div>Jtfhttp://citconf.com/wiki/index.php?title=Yashika_Jayasinghe&diff=16729Yashika Jayasinghe2023-09-04T18:47:48Z<p>Jtf: add url</p>
<hr />
<div>https://www.linkedin.com/in/yashika/</div>Jtfhttp://citconf.com/wiki/index.php?title=Maik_Nogens&diff=16728Maik Nogens2023-09-04T18:46:29Z<p>Jtf: add Mastodon</p>
<hr />
<div>Maiknog@sw-development-is.social</div>Jtfhttp://citconf.com/wiki/index.php?title=Dmitry_Kisler&diff=16727Dmitry Kisler2023-09-04T18:45:21Z<p>Jtf: add url</p>
<hr />
<div>https://www.linkedin.com/in/dkisler/</div>Jtfhttp://citconf.com/wiki/index.php?title=Desmond_Delissen&diff=16726Desmond Delissen2023-09-04T18:42:59Z<p>Jtf: add url</p>
<hr />
<div>https://www.linkedin.com/in/desmond-delissen-34506921/</div>Jtfhttp://citconf.com/wiki/index.php?title=Shujaat_Ali_Chand&diff=16725Shujaat Ali Chand2023-09-04T18:41:52Z<p>Jtf: add urls</p>
<hr />
<div>https://www.linkedin.com/in/shujaat-ali-chand/<br />
<br />
https://www.facebook.com/shujaat.chand/</div>Jtfhttp://citconf.com/wiki/index.php?title=Muhammad_Sufyian&diff=16724Muhammad Sufyian2023-09-04T18:40:13Z<p>Jtf: add twitter link</p>
<hr />
<div>https://www.linkedin.com/in/syedmuhammadsufyian/<br />
<br />
https://twitter.com/MuhammadSufyian</div>Jtfhttp://citconf.com/wiki/index.php?title=Muhammad_Sufyian&diff=16723Muhammad Sufyian2023-09-04T18:38:54Z<p>Jtf: add url</p>
<hr />
<div>https://www.linkedin.com/in/syedmuhammadsufyian/</div>Jtf