-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathindex.html
367 lines (260 loc) · 20.4 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Pharo books</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap core CSS -->
<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="http://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.js"></script>
<![endif]-->
</head>
<body>
<div class="jumbotron">
<div class="container">
<h1>Pharo Books</h1>
<p><a href="http://www.pharo.org/">Pharo</a> is a clean, innovative, open-source, live-programming environment. Get immersed in a world of living objects!</p>
<p>Contribute to the SquareBracketsAssociates community free books <a href="https://github.com/SquareBracketAssociates/">https://github.com/SquareBracketAssociates/</a></p>
</div>
</div>
<div class="container">
<div class="row">
<div class="well well-lg"><h1>Recent books</h1></div>
</div>
<div class="row"><!-- first row -->
<div class="col-md-4">
<a href="./booklet-WithStyle/" title="Pharo with Style (New Edition)"> <img src="bklet-Style.jpg" alt="Pharo with Style" class="img-thumbnail" style="height:400px"></a>
<p><em>Pharo with Style (New 2022 Edition)</em> explains the difference between code that runs and code that talks to the reader. New version from 02/2022 and also available on print!</p>
<p><a class="btn btn-default" title="Pharo with Style" href="./booklet-WithStyle/" role="button">View details »</a></p>
</div>
<div class="col-md-4">
<a href="./pharo-by-example9/" title="Pharo by Example 9"> <img src="pbe9.png" alt="Pharo by Example 9" class="img-thumbnail" style="height:400px"></a>
<p><em>Pharo by Example 9 (New 2022 Edition)</em> is a new version of Pharo by Example!. New material inside.</p>
<p><a class="btn btn-default" title="Pharo By Example 9" href="./pharo-by-example9/" role="button">View details »</a></p>
</div>
<div class="col-md-4">
<!-- <h2>Agile Visualization</h2> -->
<a href="https://link.springer.com/book/10.1007/978-1-4842-7161-2" title="Agile Visualization with Pharo"> <img src="AgileVisualizationWithPharo.jpg" alt="Agile Visualization" class="img-thumbnail" style="height:400px"> </a>
<p><em>Agile Visualization</em> covers aspects that are relevant for practitioners, businesses, and academics to successfully design and implement highly interactive visualizations.</p>
<p><a class="btn btn-default" title="Agile Visualization" href="https://link.springer.com/book/10.1007/978-1-4842-7161-2" role="button">Go there »</a></p>
</div>
</div> <!-- end of first row -->
<div class="row"><!-- second row -->
<div class="col-md-4">
<!-- <h2>Agile AI</h2> -->
<a href="https://link.springer.com/book/10.1007/978-1-4842-5384-7" title="Agile Artificial Intelligence with Pharo"> <img src="agileAI.jpeg" alt="Agile Artificial Intelligence with Pharo" class="img-thumbnail" style="height:400px"> </a>
<p><em>Agile Artificial Intelligence with Pharo</em> Covers artificial intelligence and practical algorithm programming using Pharo Includes three fully working sample applications.</p>
<p><a class="btn btn-default" title="Agile Visualization" href="https://link.springer.com/book/10.1007/978-1-4842-7161-2" role="button">Go there »</a></p>
</div>
<div class="col-md-4">
<a href="./learning-oop/" title="Learning Object-Oriented Programming, Design and TDD with Pharo"> <img src="learning.jpg" alt="Learning Object-Oriented Programming, Design and TDD with Pharo" class="img-thumbnail" style="height:400px"></a>
<p><em>Learning Object-Oriented Programming, Design and TDD with Pharo </em> is a new book on OOP and OOD using TDD and presenting essential aspects of object-oriented programming in Pharo. <a href="https://www.lulu.com/shop/stéphane-ducasse-and-damien-pollet/learning-object-oriented-programming-design-and-tdd-with-pharo/paperback/product-23583973.html?page=1&pageSize=4"Buy on Lulu!"></a></p>
<p><a class="btn btn-default" title="Learning OOD" href="./learning-oop/" role="button">View details »</a></p>
</div>
<div class="col-md-4">
<!-- <h2>Entreprise Pharo: separate folder treated</h2> -->
<a href="./enterprise-pharo/" title="Enterprise Pharo: a Web perspective"> <img src="pfte.jpg" alt="Enterprise Pharo: a Web perspective" class="img-thumbnail" style="height:400px"></a>
<p><em>Enterprise Pharo</em> is the third volume of the series. This book covers libraries and frameworks for enterprises, and in particular those doing web development. 2015</p>
<p><a class="btn btn-default" title="Enterprise Pharo: a Web perspective" href="./enterprise-pharo/" role="button">View details »</a></p>
</div>
</div> <!-- end of second row -->
<div class="row"><!-- third row -->
<div class="col-md-4">
<a href="./booklet-Testing/" title="Testing in Pharo"> <img src="testing.jpg" alt="Testing in Pharo" class="img-thumbnail" style="height:400px"></a>
<p><em>Testing in Pharo</em> explains How to write tests and experience Xtreme Test-Driven Design in Pharo. 2023</p>
<p><a class="btn btn-default" title="Testing in Pharo" href="./booklet-Testing/" role="button">View details »</a></p>
</div>
<div class="col-md-4">
<a href="./BuildingApplicationsWithSpec/" title="Building Applications with Spec 2.0"> <img src="Spec2.jpg" alt="Building Applications with Spec 2.0" class="img-thumbnail" style="height:400px"></a>
<p><em>The Spec UI framework</em> explains the default framework for building user interfaces in Pharo, called Spec.</p>
<p><a class="btn btn-default" title="Spec2.0" href="./BuildingApplicationsWithSpec/" role="button">View details »</a></p>
</div>
</div><!-- end of third row -->
<div class="row"><br><br></div>
<div class="container">
<div class="row">
<div class="well well-lg"><h1>The Pharo Technology Collection</h1></div>
<div class=".col-md-8">
<p class="lead">Far too many good chapters or material were written and pending to be part of a future book. But producing a good book is a huge task, so we decided to divide the work and produce autonomous and focused booklets. We are expecting to have GLORP, Magritte, Voyage, Reddit and probably much more as booklets. If you have material just contact us. We will migrate the current one to a good format and offer lulu printing.</p></div>
</div>
</div>
</div>
<!-- third row -->
<div class="container">
<div class="row">
<div class="col-md-4">
<a href="./booklet-Scraping/" title="Scraping with XPath"> <img src="./booklet-Scraping/bklet-scraping.png" alt="XPath HTML Scraping booklet" class="img-thumbnail" style="height:400px"></a>
<p><em>XPath </em> is a powerful technology. In this tutorial we show how we use it to scrap information from HTML page. Booklet written by S. Ducasse and P. Kenny. You can find the latest version <a href="https://github.com/SquareBracketAssociates/Booklet-Scraping">here</a>.</p>
</div>
<div class="col-md-4">
<a href="./booklet-Voyage/" title="Voyage"> <img src="booklet-Voyage/bklet-Voyage.png" alt="Voyage booklet" class="img-thumbnail" style="height:400px"></a>
<p><em>Voyage</em> is a powerful Object Mapper for Pharo. Booklet written by E. Lorenzano, S. Ducasse, J. Fabry and N. Hartl</p>
</div>
<div class="col-md-4">
<a href="./booklet-Glorp/" title="Glorp"> <img src="booklet-Glorp/bklet-Glorp.jpg" alt="Glorp booklet" class="img-thumbnail" style="height:400px"></a>
<p><em>Glorp</em> is a powerful Object Relational Mapper for Pharo. Booklet written by E. Maringolo, N. Pratt and R. Withney</p>
</div>
</div>
</div>
<!-- third row -->
<div class="container">
<div class="row">
<div class="col-md-4">
<a href="./booklet-Smacc/" title="Smacc: a Compiler-Compiler"> <img src="./booklet-Smacc/bklet-Smacc.png" alt="Smacc: a Compiler-Compiler" class="img-thumbnail" style="height:400px"></a>
<p><em>Smacc </em> is a powerful frameworks to parse languages. In this book we show how we use it first with a tutorial. Then we describe the advanced aspects of Smacc. Written by J. Brant, J. Lecerf, T. Goubier S. Ducasse, and A. P. Black. You can find the latest version <a href="https://github.com/SquareBracketAssociates/Booklet-Smacc">here</a>.</p>
</div>
<div class="col-md-4">
<a href="./booklet-Commander/" title="Commander20: a Command Framework"> <img src="./booklet-Commander/bklet-Commander.png" alt="Commander20: a Command Framework" class="img-thumbnail" style="height:400px"></a>
<p><em>Commander20 </em> is a simple and powerful command frameworks. In this book we show how we use it first with a tutorial. Then we describe its internal and design decisions.Written by S. Ducasse and Julien Delplanque. You can find the latest version <a href="https://github.com/SquareBracketAssociates/Booklet-Commander">here</a>.</p>
</div>
<div class="col-md-4">
<a href="./booklet-ConcurrentProgramming/" title="Concurrent Programming in Pharo"> <img src="./booklet-ConcurrentProgramming/bklet-Concurrent.png" alt="Concurrent Programming in Pharo" class="img-thumbnail" style="height:400px"></a>
<p>This book explains the concurrency model and some implementation aspects of Pharo <a href="https://github.com/SquareBracketAssociates/Booklet-ConcurrentProgramming/">here</a>.</p>
</div>
<!-- <div class="col-md-4">
<a href="./booklet-Voyage/" title="Voyage"> <img src="booklet-Voyage/bklet-Voyage.png" alt="Voyage booklet" class="img-thumbnail" style="height:400px"></a>
<p><em>Voyage</em> is a powerful Object Mapper for Pharo. Booklet written by E. Lorenzano, S. Ducasse, J. Fabry and N. Hartl</p>
</div>
<div class="col-md-4">
<a href="./booklet-Glorp/" title="Glorp"> <img src="booklet-Glorp/bklet-Glorp.jpg" alt="Glorp booklet" class="img-thumbnail" style="height:400px"></a>
<p><em>Glorp</em> is a powerful Object Relational Mapper for Pharo. Booklet written by E. Maringolo, N. Pratt and R. Withney</p>
</div>
</div>
third row -->
</div>
<!-- four row -->
<div class="container">
<div class="row">
<div class="col-md-4">
<a href="./booklet-uffi/" title="Unified FFI - Calling Foreign Functions from Pharo"> <img src="./booklet-uffi/bklet-uffi.png" alt="Unified FFI - Calling Foreign Functions from Pharo" class="img-thumbnail" style="height:400px"></a>
<p><em>UFFI </em> is a powerful framework to invoke foreign functions. In this book we show how we use it first with a tutorial. You can find the latest version <a href="https://github.com/SquareBracketAssociates/Booklet-uFFI">here</a>.</p>
</div>
<div class="col-md-4">
<a href="./booklet-Zinc/" title="Zinc: an industrial quality level HTTP/S framework"> <img src="./booklet-Zinc/bklet-Zinc.png" alt="Zinc: an industrial quality level HTTP/S framework" class="img-thumbnail" style="height:400px"></a>
<p><em>Zinc </em> is a powerful and elegant framework to build HTTP client/server applications. You can find the latest version <a href="https://github.com/SquareBracketAssociates/Booklet-ZincHTTP">here</a>.</p>
</div>
<div class="col-md-4">
<a href="./booklet-ManageCode/pdf/2024-05-16-ManageCode.pdf" title="Manage your code with Git and Iceberg"> <img src="booklet-ManageCode/bklet-Manage.jpg" alt="Manage your code with Git and Iceberg" class="img-thumbnail" style="height:400px"></a>
<p>Booklet written by G. Polito and S. Ducasse with A. Oliviera</p>
</div>
</div>
<!-- another row -->
<div class="container">
<div class="row">
<div class="col-md-4">
<a href="./booklet-ASimpleMemoryGameInBloc/2024-06-05-ASimpleBlocTutorial.pdf" title="A memory game: A simple tutorial with Bloc"> <img src="./booklet-ASimpleMemoryGameInBloc/bk-SimpleTutorial.jpg" alt="A memory game: A simple tutorial with Bloc" class="img-thumbnail" style="height:400px"></a>
<p><em>Bloc </em> is the new graphical core of future Pharo version. This tutorial makes you build a little game to get started with Bloc. The continuous build of the book is available at <a href="https://github.com/SquareBracketAssociates/Booklet-ASimpleMemoryGame">here</a>.</p>
</div>
</div>
</div>
<div class="container">
<!-- fifth row -->
<div class="col-md-4">
<a href="./booklet-ReflectiveCore/" title="A simple reflective object kernel"> <img src="booklet-ReflectiveCore/bklet-reflective.png" alt=" " class="img-thumbnail" style="height:400px"></a>
<p><em>"Building a minimal reflective object kernel"</em> explains a simple reflective kernel and it shows how to build step by step this kernel based on two classes: Object and Class. Booklet written by S. Ducasse.</p>
</div>
<div class="col-md-4">
<a href="https://files.pharo.org/books-pdfs/booklet-CallStack/2018-01-23-CallStack.pdf" title="Call Stack Management"> <img src="booklet-CallStack/bklet-callstack.png" alt=" " class="img-thumbnail" style="height:400px"></a>
<p><em>"Call Stack Management"</em> explains how a call stack is represented in virtual machines. Written by C. Bera with S. Ducasse.</p>
</div>
<div col<lass="col-md-4">
<a href="./booklet-AMiniSchemeInPharo/" title="Physche: A Little Scheme in Pharo"> <img src="booklet-AMiniSchemeInPharo/bklet-scheme.png" alt="Physche: A Little Scheme in Pharo" class="img-thumbnail" style="height:400px"></a>
<p><em>"A Little Scheme in Pharo"</em> explains how to build a simple interpreter for a language such Lisp or Scheme with a particular focus on closures. Written by S. Ducasse with G. Polito.</p>
<p><a class="btn btn-default" title="Physche: A Little Scheme in Pharo" href="./booklet-AMiniSchemeInPharo/" role="button">View details »</a></p>
</div>
</div>
<div class="container">
<!-- fifth row -->
<div class="col-md-4">
<a href="./booklet-PharoGraphs/" title="Pharo graphs"> <img src="booklet-PharoGraphs/bklet-pharograph.png" alt=" " class="img-thumbnail" style="height:400px"></a>
<p><em>"Pharo Graphs"</em> explains some mainstream graph algorithms written by S. Jordan Montaño and S. Ducasse.</p>
</div>
</div>
<div class="row"><br><br></div>
<div class="container">
<div class="well well-lg"><h1>The Pharo Book Collection</h1></div>
<div class="row">
<div class="col-md-4">
<!-- Deep into Pharo: separate folder treated -->
<a href="./deep-into-pharo/" title="Deep into Pharo">
<img src="dip.jpg" alt="Deep into Pharo" class="img-thumbnail" style="height:400px">
</a>
<p><em>Deep into Pharo</em> is the second volume of a series of books covering Pharo. Whereas the first volume is intended for newcomers, this second volume covers deeper topics. </p>
<p><a class="btn btn-default" href="./deep-into-pharo/" title="Deep into Pharo" role="button">View details »</a></p>
</div>
<div class="col-md-4">
<!-- <h2>Numerical Methods</h2> -->
<a href="./numerical-methods/" title="Numerical Methods in Pharo">
<img src="numerical.jpeg" alt="Numerical Methods in Pharo" class="img-thumbnail" style="height:400px">
</a>
<p><em>Numerical Methods In Pharo</em> is a book from Didier Besset on numerical methods. It covers many topics related to data science: function interpolation, iteration, zeroes, linear algebra series, statistics, estimation, minimisation, and data mining.</p>
<p><a class="btn btn-default" title="Enterprise Pharo: a Web perspective" href="./numerical-methods/" role="button">View details »</a></p>
</div>
<div class="col-md-4">
<!-- <h2>Agile Visualization</h2> -->
<a href="http://agilevisualization.com" title="Agile Visualization"> <img src="AgileVisualization.png" alt="Agile Visualization" class="img-thumbnail" style="height:400px"> </a>
<p><em>Agile Visualization</em> covers aspects that are relevant for practitioners, businesses, and academics to successfully design and implement highly interactive visualizations.</p>
<p><a class="btn btn-default" title="Agile Visualization" href="http://agilevisualization.com" role="button">View details »</a></p>
</div>
</div>
<div class="row">
<div class="col-md-4">
<a href="./tinyblog-tutorial/" title="Tiny Blog Tutorial"> <img src="./tinyblog-tutorial/TinyBlogEN-cover.png" alt="Tiny Blog Tutorial" class="img-thumbnail" style="height:400px"> </a>
<p><em>Tiny Blog</em> is a tutorial from Olivier Auverlot, Stéphane Ducasse and Luc Fabresse. It brings you step by step through the building of a little web blog application. This tutorial is part of the <a href="http://mooc.pharo.org">Pharo MOOC</a>.</p>
<p><a class="btn btn-default" title="Tiny Blog Tutorial" href="./tinyblog-tutorial/" role="button">View details »</a></p>
</div>
<div class="col-md-4">
<a href="./tinyblog-tutoriel/" title="Tutoriel Tiny Blog"> <img src="./tinyblog-tutoriel/TinyBlogFR-cover.png" alt="Tutoriel Tiny Blog" class="img-thumbnail" style="height:400px"> </a>
<p><em>Tiny Blog</em> est un tutoriel écrit par Olivier Auverlot, Stéphane Ducasse et Luc Fabresse. Ce tutoriel vous guide pas à pas dans la réalisation d'une petite application Web. Cette ressource est une partie du <a href="http://mooc.pharo.org">MOOC Pharo</a>.</p>
<p><a class="btn btn-default" title="Tutoriel Tiny Blog" href="./tinyblog-tutoriel/" role="button">Voir des Détails»</a></p>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="well well-lg"><h1>By Example Series</h1></div>
</div>
<div class="col-md-4">
<a href="./updated-pharo-by-example/" title="Pharo by Example 50"> <img src="upbe.jpg" alt="Pharo by Example 50" class="img-thumbnail" style="height:400px"></a>
<p><em>Pharo by Example 50 </em> is a new version of Pharo by Example for Pharo5.0. 2017. The next edition of Pharo By Example is currently being written. You can find the drafts at <a href="https://github.com/SquareBracketAssociates/PharoByExample80"> https://github.com/.../PharoByExample80</a> (<a href="https://github.com/SquareBracketAssociates/PharoByExample80/releases/tag/continuous">PDF</a>).</p>
<p><a class="btn btn-default" title="Pharo By Example" href="./updated-pharo-by-example/" role="button">View details »</a></p>
</div>
<div class="col-md-4">
<a href="./pharo-by-example/" title="Pharo by Example"> <img src="pbe.jpg" alt="Pharo by example" class="img-thumbnail" style="height:400px"></a>
<p><em>Pharo by Example (OLD)</em>, intended for both students and developers, will guide you gently through the Pharo language and environment by means of a series of examples and exercises. Pay attention this edition is OLD OLD OLD. The next edition of Pharo By Example is currently being written. You can find the drafts at <a href="https://github.com/SquareBracketAssociates/PharoByExample80"> https://github.com/.../PharoByExample80</a> (<a href="https://github.com/SquareBracketAssociates/PharoByExample80/releases/tag/continuous">PDF</a>).</p>
<p><a class="btn btn-default" title="Pharo by example" href="./pharo-by-example/" role="button">View details »</a></p>
</div>
<div class="col-md-4">
<!-- <h2>Pharo par Example</h2> -->
<a href="./pharo-par-lexemple/" title="Pharo par l'exemple (OLD/Vieux)"> <img src="pbefr.jpg" alt="Pharo par l'exemple" class="img-thumbnail" style="height:400px"> </a>
<p><em>Pharo par l'exemple</em> est la traduction en de Pharo by example.</p>
<p><a class="btn btn-default" title="Pharo par l'exemple" href="./pharo-par-lexemple/" role="button">View details »</a></p>
</div>
</div>
<div class="container">
<div class="row">
<div class="well well-lg"><h1>Some old books</h1></div>
<div class=".col-md-8">
<p class="lead">Here is a little attic where you can find some old materials.</p>
</div>
</div>
<!-- fourth row -->
<div class="col-md-4">
<a href="./spec-tutorial/" title="The Spec UI framework"> <img src="spec.jpg" alt="The Spec UI framework" class="img-thumbnail" style="height:400px"></a>
<p><em>The Spec UI framework</em> explains the default framework for building user interfaces in Pharo, called Spec. 2017</p>
<p><a class="btn btn-default" title="The Spec UI framework" href="./spec-tutorial/" role="button">View details »</a></p>
</div>
<div class="col-md-4">
<a href="http://files.pharo.org/books-pdfs/booklet-Bloc/2017-11-09-memorygame.pdf" title="Bloc"> <img src="booklet-Bloc/bklet-Bloc.jpg" alt="Bloc Memory Game booklet" class="img-thumbnail" style="height:400px"></a>
<p><em>Bloc Memory Game (alpha)</em> is a first tutorial on Bloc the new graphics core for Pharo. Booklet written by A. Chis, S. Ducasse, A. Syrel.</p>
</div>
</div>
</div>
<hr>
</div>
</div> <!-- /container -->
</body>
</html>