BxMS 0.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/bin/bxms +8 -0
- data/bin/bxms.bat +3 -0
- data/bin/bxms.rb +8 -0
- data/bin/bxms.sh +3 -0
- data/examples/www.berlinfactor.com/Bx.css +317 -0
- data/examples/www.berlinfactor.com/Bx.js +39 -0
- data/examples/www.berlinfactor.com/Section.Books/books.txt +198 -0
- data/examples/www.berlinfactor.com/Section.Books/index.page +18 -0
- data/examples/www.berlinfactor.com/Section.Bx/index.page +18 -0
- data/examples/www.berlinfactor.com/Section.Contact/index.page +12 -0
- data/examples/www.berlinfactor.com/Section.Links/Game.Development.txt +6 -0
- data/examples/www.berlinfactor.com/Section.Links/News.and.Stuff.txt +10 -0
- data/examples/www.berlinfactor.com/Section.Links/Software.Development.txt +25 -0
- data/examples/www.berlinfactor.com/Section.Links/Symbian.Development.txt +22 -0
- data/examples/www.berlinfactor.com/Section.Links/Tools.and.Utilities.txt +15 -0
- data/examples/www.berlinfactor.com/Section.Links/index.page +31 -0
- data/examples/www.berlinfactor.com/favicon.ico +0 -0
- data/examples/www.berlinfactor.com/images/background.png +0 -0
- data/examples/www.berlinfactor.com/images/logo_above.gif +0 -0
- data/examples/www.berlinfactor.com/images/logo_below.gif +0 -0
- data/examples/www.berlinfactor.com/images/logo_clickable.gif +0 -0
- data/examples/www.berlinfactor.com/images/no_section_name.gif +0 -0
- data/examples/www.berlinfactor.com/images/section_books.gif +0 -0
- data/examples/www.berlinfactor.com/images/section_books_hover.gif +0 -0
- data/examples/www.berlinfactor.com/images/section_books_name.gif +0 -0
- data/examples/www.berlinfactor.com/images/section_bx.gif +0 -0
- data/examples/www.berlinfactor.com/images/section_bx_hover.gif +0 -0
- data/examples/www.berlinfactor.com/images/section_bx_name.gif +0 -0
- data/examples/www.berlinfactor.com/images/section_contact.gif +0 -0
- data/examples/www.berlinfactor.com/images/section_contact_hover.gif +0 -0
- data/examples/www.berlinfactor.com/images/section_contact_name.gif +0 -0
- data/examples/www.berlinfactor.com/images/section_links.gif +0 -0
- data/examples/www.berlinfactor.com/images/section_links_hover.gif +0 -0
- data/examples/www.berlinfactor.com/images/section_links_name.gif +0 -0
- data/examples/www.berlinfactor.com/images/section_tfdj.gif +0 -0
- data/examples/www.berlinfactor.com/images/section_tfdj_hover.gif +0 -0
- data/examples/www.berlinfactor.com/images/section_tfdj_name.gif +0 -0
- data/examples/www.berlinfactor.com/index.page +21 -0
- data/examples/www.berlinfactor.com/news.page +11 -0
- data/examples/www.berlinfactor.com/news.txt +210 -0
- data/src/bxms.rb +61 -0
- data/src/bxms/context.rb +96 -0
- data/src/bxms/functions.rb +39 -0
- data/src/bxms/processor.rb +53 -0
- data/src/bxms/root_state.rb +30 -0
- data/src/bxms/rules.rb +82 -0
- data/src/bxms/state.rb +105 -0
- data/src/bxms/tags.rb +108 -0
- data/src/bxms/variables.rb +9 -0
- data/src/page/part.rb +51 -0
- data/src/page/part_collector.rb +55 -0
- data/src/rules/base.rb +16 -0
- data/src/rules/copy.rb +17 -0
- data/src/rules/ignore.rb +14 -0
- data/src/rules/process.rb +23 -0
- data/src/rules/process_page.rb +69 -0
- data/src/util/chained_hash.rb +41 -0
- data/src/util/logger.rb +710 -0
- data/src/util/system_logger.rb +30 -0
- metadata +116 -0
data/bin/bxms
ADDED
data/bin/bxms.bat
ADDED
data/bin/bxms.rb
ADDED
data/bin/bxms.sh
ADDED
@@ -0,0 +1,317 @@
|
|
1
|
+
|
2
|
+
a:visited
|
3
|
+
{
|
4
|
+
color: #602000;
|
5
|
+
text-decoration: none;
|
6
|
+
background-color: transparent;
|
7
|
+
}
|
8
|
+
|
9
|
+
a:link
|
10
|
+
{
|
11
|
+
color: #602000;
|
12
|
+
text-decoration: none;
|
13
|
+
background-color: transparent;
|
14
|
+
}
|
15
|
+
|
16
|
+
a:active
|
17
|
+
{
|
18
|
+
color: #602000;
|
19
|
+
text-decoration: underline;
|
20
|
+
background-color: transparent;
|
21
|
+
}
|
22
|
+
|
23
|
+
a:hover
|
24
|
+
{
|
25
|
+
color: #602000;
|
26
|
+
text-decoration: underline;
|
27
|
+
background-color: transparent;
|
28
|
+
}
|
29
|
+
|
30
|
+
body
|
31
|
+
{
|
32
|
+
font-family: Trebuchet MS,Trebuchet,Arial,Helvetica,sans-serif;
|
33
|
+
font-weight: normal;
|
34
|
+
font-size: 10pt;
|
35
|
+
color: #705D2C;
|
36
|
+
background-color: #FFFFFF;
|
37
|
+
}
|
38
|
+
|
39
|
+
p
|
40
|
+
{
|
41
|
+
}
|
42
|
+
|
43
|
+
img
|
44
|
+
{
|
45
|
+
font-family: Trebuchet MS,Trebuchet,Arial,Helvetica,sans-serif;
|
46
|
+
font-size: 12pt;
|
47
|
+
border: 0px;
|
48
|
+
}
|
49
|
+
|
50
|
+
|
51
|
+
|
52
|
+
#body
|
53
|
+
{
|
54
|
+
width: 802px;
|
55
|
+
height: 602px;
|
56
|
+
margin: 10px auto;
|
57
|
+
padding: 0px;
|
58
|
+
}
|
59
|
+
|
60
|
+
#frame
|
61
|
+
{
|
62
|
+
width: 800px;
|
63
|
+
height: 600px;
|
64
|
+
margin: 0px;
|
65
|
+
padding: 0px;
|
66
|
+
|
67
|
+
background-image: url(images/background.png);
|
68
|
+
|
69
|
+
border-style: solid;
|
70
|
+
border-width: 1px;
|
71
|
+
border-color: #CBBCB3;
|
72
|
+
}
|
73
|
+
|
74
|
+
#header
|
75
|
+
{
|
76
|
+
height: 183px;
|
77
|
+
}
|
78
|
+
|
79
|
+
#logo
|
80
|
+
{
|
81
|
+
float: left;
|
82
|
+
width: 380px;
|
83
|
+
height: 183px;
|
84
|
+
}
|
85
|
+
|
86
|
+
#sections
|
87
|
+
{
|
88
|
+
float: right;
|
89
|
+
width: 418px;
|
90
|
+
height: 183px;
|
91
|
+
overflow: hidden;
|
92
|
+
}
|
93
|
+
|
94
|
+
#section_name
|
95
|
+
{
|
96
|
+
width: 418px;
|
97
|
+
height: 150px;
|
98
|
+
overflow: hidden;
|
99
|
+
}
|
100
|
+
|
101
|
+
#section_menu
|
102
|
+
{
|
103
|
+
float: right;
|
104
|
+
padding: 3px 3px 0px 0px;
|
105
|
+
}
|
106
|
+
|
107
|
+
#logo_above
|
108
|
+
{
|
109
|
+
width: 380px;
|
110
|
+
height: 8px;
|
111
|
+
}
|
112
|
+
|
113
|
+
#logo_clickable
|
114
|
+
{
|
115
|
+
width: 380px;
|
116
|
+
height: 38px;
|
117
|
+
}
|
118
|
+
|
119
|
+
#logo_below
|
120
|
+
{
|
121
|
+
width: 380px;
|
122
|
+
height: 137px;
|
123
|
+
}
|
124
|
+
|
125
|
+
#page_body
|
126
|
+
{
|
127
|
+
padding: 6px 3px 3px 3px;
|
128
|
+
height: 383px;
|
129
|
+
}
|
130
|
+
|
131
|
+
#column_left
|
132
|
+
{
|
133
|
+
float: left;
|
134
|
+
width: 373px;
|
135
|
+
height: 383px;
|
136
|
+
overflow: auto;
|
137
|
+
}
|
138
|
+
|
139
|
+
#column_right
|
140
|
+
{
|
141
|
+
float: right;
|
142
|
+
width: 415px;
|
143
|
+
height: 383px;
|
144
|
+
overflow: auto;
|
145
|
+
}
|
146
|
+
|
147
|
+
#section_paragraph
|
148
|
+
{
|
149
|
+
padding: 10px;
|
150
|
+
}
|
151
|
+
|
152
|
+
#footer
|
153
|
+
{
|
154
|
+
padding: 5px 5px 2px 5px;
|
155
|
+
height: 18px;
|
156
|
+
overflow: hidden;
|
157
|
+
}
|
158
|
+
|
159
|
+
#footer_left
|
160
|
+
{
|
161
|
+
float: left;
|
162
|
+
}
|
163
|
+
|
164
|
+
#footer_right
|
165
|
+
{
|
166
|
+
float: right;
|
167
|
+
}
|
168
|
+
|
169
|
+
#w3c_logos
|
170
|
+
{
|
171
|
+
float: right;
|
172
|
+
padding: 10px 5px;
|
173
|
+
}
|
174
|
+
|
175
|
+
|
176
|
+
.section_menu_entry
|
177
|
+
{
|
178
|
+
width: 39px;
|
179
|
+
height: 27px;
|
180
|
+
|
181
|
+
text-align: right;
|
182
|
+
}
|
183
|
+
|
184
|
+
.news_entry
|
185
|
+
{
|
186
|
+
color: #602000;
|
187
|
+
}
|
188
|
+
|
189
|
+
.news_entry_date
|
190
|
+
{
|
191
|
+
float: left;
|
192
|
+
font-weight: bold;
|
193
|
+
}
|
194
|
+
|
195
|
+
.news_entry_title
|
196
|
+
{
|
197
|
+
float: left;
|
198
|
+
font-weight: bold;
|
199
|
+
padding-left: 10px;
|
200
|
+
}
|
201
|
+
|
202
|
+
.news_entry_body
|
203
|
+
{
|
204
|
+
clear: both;
|
205
|
+
padding: 5px;
|
206
|
+
padding-bottom: 15px;
|
207
|
+
}
|
208
|
+
|
209
|
+
.news_ref
|
210
|
+
{
|
211
|
+
clear: both;
|
212
|
+
}
|
213
|
+
|
214
|
+
.news_ref_date
|
215
|
+
{
|
216
|
+
font-weight: bold;
|
217
|
+
}
|
218
|
+
|
219
|
+
.news_ref_title
|
220
|
+
{
|
221
|
+
font-weight: bold;
|
222
|
+
}
|
223
|
+
|
224
|
+
.book_entry
|
225
|
+
{
|
226
|
+
padding-top: 12px;
|
227
|
+
color: #602000;
|
228
|
+
}
|
229
|
+
|
230
|
+
.book_entry_title
|
231
|
+
{
|
232
|
+
font-weight: bold;
|
233
|
+
}
|
234
|
+
|
235
|
+
.book_entry_body
|
236
|
+
{
|
237
|
+
padding: 5px;
|
238
|
+
padding-bottom: 15px;
|
239
|
+
}
|
240
|
+
|
241
|
+
.book_ref
|
242
|
+
{
|
243
|
+
padding-top: 12px;
|
244
|
+
color: #602000;
|
245
|
+
}
|
246
|
+
|
247
|
+
.book_ref_title
|
248
|
+
{
|
249
|
+
font-weight: bold;
|
250
|
+
}
|
251
|
+
|
252
|
+
.book_ref_body
|
253
|
+
{
|
254
|
+
padding: 5px;
|
255
|
+
padding-bottom: 15px;
|
256
|
+
}
|
257
|
+
|
258
|
+
.link
|
259
|
+
{
|
260
|
+
}
|
261
|
+
|
262
|
+
.link_back
|
263
|
+
{
|
264
|
+
padding: 5px;
|
265
|
+
}
|
266
|
+
|
267
|
+
.external_link
|
268
|
+
{
|
269
|
+
}
|
270
|
+
|
271
|
+
.simple_link
|
272
|
+
{
|
273
|
+
}
|
274
|
+
|
275
|
+
.project_details
|
276
|
+
{
|
277
|
+
}
|
278
|
+
|
279
|
+
.project_screenshots
|
280
|
+
{
|
281
|
+
padding: 5px;
|
282
|
+
}
|
283
|
+
|
284
|
+
.project_downloads
|
285
|
+
{
|
286
|
+
padding: 5px;
|
287
|
+
}
|
288
|
+
|
289
|
+
.project_notes
|
290
|
+
{
|
291
|
+
padding: 5px;
|
292
|
+
}
|
293
|
+
|
294
|
+
.project_screenshot
|
295
|
+
{
|
296
|
+
padding: 5px;
|
297
|
+
}
|
298
|
+
|
299
|
+
.project_credits
|
300
|
+
{
|
301
|
+
padding: 5px;
|
302
|
+
}
|
303
|
+
|
304
|
+
.project_downloads
|
305
|
+
{
|
306
|
+
padding: 5px;
|
307
|
+
}
|
308
|
+
|
309
|
+
.symbian_project_link
|
310
|
+
{
|
311
|
+
float: left;
|
312
|
+
width: 150px;
|
313
|
+
}
|
314
|
+
|
315
|
+
.text
|
316
|
+
{
|
317
|
+
}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
<%
|
2
|
+
sections = list_file_names "Section*"
|
3
|
+
sections.each do |section_folder|
|
4
|
+
section = section_folder.downcase.gsub '.', '_'
|
5
|
+
|
6
|
+
suffixes = [ '', '_name', '_hover' ]
|
7
|
+
suffixes.each do |suffix|
|
8
|
+
image_handle = section + suffix
|
9
|
+
%>
|
10
|
+
var <%=image_handle%> = new Image();
|
11
|
+
<%=image_handle%>.src = "images/<%=image_handle%>.gif";
|
12
|
+
<%
|
13
|
+
end
|
14
|
+
end
|
15
|
+
%>
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
function select_section( aImagesFolder, aSectionID, aSectionTitle )
|
20
|
+
{
|
21
|
+
image_prefix = aImagesFolder + '/section_' + aSectionID;
|
22
|
+
set_image( 'section_name', image_prefix + '_name.gif' );
|
23
|
+
set_image( aSectionID, image_prefix + '_hover.gif' );
|
24
|
+
window.status = '// ' + aSectionTitle;
|
25
|
+
return true;
|
26
|
+
}
|
27
|
+
|
28
|
+
function unselect_section( aImagesFolder, aSectionID, aBackgroundImageURL )
|
29
|
+
{
|
30
|
+
set_image( 'section_name', aBackgroundImageURL );
|
31
|
+
set_image( aSectionID, aImagesFolder + '/section_' + aSectionID );
|
32
|
+
window.status = '';
|
33
|
+
return true;
|
34
|
+
}
|
35
|
+
|
36
|
+
function set_image( aImageID, aImageURL )
|
37
|
+
{
|
38
|
+
window.document.images[ aImageID ].src = aImageURL;
|
39
|
+
}
|
@@ -0,0 +1,198 @@
|
|
1
|
+
FORMAT: AUTHOR, TITLE, BODY
|
2
|
+
ANCHOR: BOOKS
|
3
|
+
|
4
|
+
[ENTRY]
|
5
|
+
Andrew Hunt & Dave Thomas
|
6
|
+
The Pragmatic Programmer
|
7
|
+
|
8
|
+
A must read for every serious developer. That's it!
|
9
|
+
|
10
|
+
I love this book. It somehow managed to <i>streamline</i> my thinking..
|
11
|
+
Powerful metaphores. Important techniques.
|
12
|
+
|
13
|
+
This really is a must have!
|
14
|
+
|
15
|
+
Recommended read!
|
16
|
+
|
17
|
+
[ENTRY]
|
18
|
+
Michael C. Feathers
|
19
|
+
Working Effectively with Legacy Code
|
20
|
+
|
21
|
+
Absolutely a must read!
|
22
|
+
|
23
|
+
Like Kent Beck's Test Driven Development with code you're about to
|
24
|
+
write, the focus on testing is really important with legacy code, too.
|
25
|
+
|
26
|
+
But what is legacy code? Don't make the mistake of thinking this is
|
27
|
+
about Cobol code or something.. :) Even though it could be Cobol code, it
|
28
|
+
also covers the code you wrote last week - before you knew how to do it
|
29
|
+
the right way..
|
30
|
+
|
31
|
+
Have you read Kent Beck's Test Driven Development? Do you do test
|
32
|
+
driven development? If not, there's something out there which definitly is
|
33
|
+
worth exploring..
|
34
|
+
|
35
|
+
Michael Feather's book is really good at giving names to common
|
36
|
+
situations/problems. And showing you how to make legacy code 'testable'.
|
37
|
+
All this is important to have a safe foundation for cleaning up legacy
|
38
|
+
code, or adding features, or fixing bugs.. Good and interesting book!
|
39
|
+
|
40
|
+
Recommended read!
|
41
|
+
|
42
|
+
[ENTRY]
|
43
|
+
Kent Beck
|
44
|
+
Test Driven Development
|
45
|
+
|
46
|
+
Very(!) interesting read. Honestly, I am not really as disciplined as
|
47
|
+
one should be to be able to follow this approach. But I surely see the
|
48
|
+
benefits.
|
49
|
+
|
50
|
+
I understand - in comparison - the limited benefits of "stupid unit
|
51
|
+
testing" as most people I know (including me) are doing. That is, writing
|
52
|
+
the tests after you coded bullshit :)
|
53
|
+
|
54
|
+
I wish I could just throw away my current behaviour and go 100% TDD
|
55
|
+
(Test Driven Development). But somehow it is not that easy. I am not sure
|
56
|
+
why..
|
57
|
+
|
58
|
+
Anyway, this is important stuff! The Art of Unit Testing :-) So grab a
|
59
|
+
copy and read through it.
|
60
|
+
|
61
|
+
Recommended read!
|
62
|
+
|
63
|
+
[ENTRY]
|
64
|
+
Pete McBreen
|
65
|
+
Software.Craftsmanship
|
66
|
+
|
67
|
+
What a nice book! I wish I could be one of those craftsmen getting paid
|
68
|
+
five times as much as the rest of the world.
|
69
|
+
|
70
|
+
Seriously, this is a good book. Also sometimes stretching a topic a bit
|
71
|
+
too long or restating a point a bit too often, this book clearly states
|
72
|
+
what people should realize about software development: It's really like
|
73
|
+
that 1 to 10 factor. You simply cannot expect a guy having a
|
74
|
+
Fucked-Up-Bullshit Licensed Engineer certificate to be a good developer.
|
75
|
+
You need to check the background of the people. Ask about their projects.
|
76
|
+
Ask the customers! Get this feedback. This is much more important than
|
77
|
+
some kind of bullshit certificate or perfect grades in school ;-)
|
78
|
+
|
79
|
+
This book is for managers, I think. Because as a developer, when reading
|
80
|
+
this book, you just get more angry about the way things are.. :-(
|
81
|
+
|
82
|
+
[ENTRY]
|
83
|
+
Alistair Cockburn
|
84
|
+
Agile Software Development
|
85
|
+
|
86
|
+
A difficult book. Not easy to read. Well.. for me.. at least. I think I
|
87
|
+
am reading this book for three months now :-) Still not finished. Hmm..
|
88
|
+
somehow it is not as "easy" as most other books.
|
89
|
+
|
90
|
+
Is this bad? I am not sure. I guess it is the topic that makes it so
|
91
|
+
"uneasy" to read. Parts of it, like for example about "Theory Building"
|
92
|
+
are very interesting. Other parts like for example the discussion about
|
93
|
+
how people should be seated are.. well.. I guess they are required. But I
|
94
|
+
found them quite.. boring.. :-)
|
95
|
+
|
96
|
+
Anyway. Very interesting read here. Agile is the way to go. Check out
|
97
|
+
${ExternalLink( "http://www.agilealliance.org", "The Agile Alliance" )}.
|
98
|
+
|
99
|
+
The Unified Process and stuff like that? Not my kind of thing..
|
100
|
+
|
101
|
+
[ENTRY]
|
102
|
+
Steve McConnell
|
103
|
+
Code Complete (2nd Edition)
|
104
|
+
|
105
|
+
Forget about the first edition of the book. Total crap! But this 2nd
|
106
|
+
edition. Well.. a lot like a developer matures on his way, Steve managed
|
107
|
+
to drop all the bullshit subjective advice and wrote a nice 'summarizing'
|
108
|
+
book on a lot of topics.
|
109
|
+
|
110
|
+
Good read this one!
|
111
|
+
|
112
|
+
Recommended read!
|
113
|
+
|
114
|
+
[ENTRY]
|
115
|
+
Steve McConnell
|
116
|
+
Rapid Development
|
117
|
+
|
118
|
+
Didn't like this book. Maybe because I have a different view on things.
|
119
|
+
A bit a least. And maybe, just maybe, because I don't like Micro$oft too
|
120
|
+
much.
|
121
|
+
|
122
|
+
It's a bit like this guy's first edition of Code Complete. Too
|
123
|
+
subjective. Not really sound.. well..
|
124
|
+
|
125
|
+
[ENTRY]
|
126
|
+
Diomidis Spinellis
|
127
|
+
Code Reading
|
128
|
+
|
129
|
+
More or less for beginners only. If you're a passionate developer, you
|
130
|
+
don't need this book. You already do what you do.. bascially.. :)
|
131
|
+
|
132
|
+
[ENTRY]
|
133
|
+
Mike Gunderloy
|
134
|
+
Coder To Developer
|
135
|
+
|
136
|
+
I bought this book after I saw it being mentioned on some web-site. Some
|
137
|
+
blog maybe? Joel maybe? Don't remember..
|
138
|
+
|
139
|
+
It's not bad. But it's not really good, either. Far from the importance of
|
140
|
+
The Pragmatic Progammer, or Working Effecively with Legacy Code, or Test
|
141
|
+
Driven Development. And somewhere between the quality of Code Complete
|
142
|
+
Edition 1 and 2.
|
143
|
+
|
144
|
+
But somehow I liked it. It gave me a different view on some topics. Which
|
145
|
+
I always consider a good thing..
|
146
|
+
|
147
|
+
[ENTRY]
|
148
|
+
Andrew Hunt & Dave Thomas
|
149
|
+
Pragmatic Version Control, Pragmatic Unit Testing
|
150
|
+
|
151
|
+
Good books - especially for beginners. Contained a few things I didn't
|
152
|
+
know about (some special CVS features). And all in all nice write-ups of
|
153
|
+
how to get started(!) with version control and unit testing.
|
154
|
+
|
155
|
+
[ENTRY]
|
156
|
+
Mike Clark
|
157
|
+
Pragmatic Project Automation
|
158
|
+
|
159
|
+
Personally, I think this is the best (read: most intersting) book of the
|
160
|
+
Pragmatic Starter Series.. How to get started with project automation.
|
161
|
+
Build servers, notification, setting up a project, .. Nice book!
|
162
|
+
|
163
|
+
[ENTRY]
|
164
|
+
Robert L. Glass
|
165
|
+
Facts and Fallacies of Sofware Engineering
|
166
|
+
|
167
|
+
I liked this book. Sure, you can always disagree on certain topics. But
|
168
|
+
what does that mean?
|
169
|
+
|
170
|
+
This book has some interesting stories and a lot of interesting 'facts'. I
|
171
|
+
enjoyed reading this one!
|
172
|
+
|
173
|
+
[ENTRY]
|
174
|
+
Luke Hohmann
|
175
|
+
Beyond Software Architecture
|
176
|
+
|
177
|
+
The one thing I remember about this book is 'spikes'. Architectural
|
178
|
+
'spikes'. For exploring a certain aspect of a system's architecture.
|
179
|
+
|
180
|
+
Well, this topic had been covered in an Artima interview, too. Maybe
|
181
|
+
that's why I remember it.. :)
|
182
|
+
|
183
|
+
Anyway, I liked this book. Covered some interesting stuff. Far from the
|
184
|
+
quality of The Pragmatic Programmer or something like that. But then again
|
185
|
+
definitly with different subject/focus and therefore worth a read.
|
186
|
+
|
187
|
+
[ENTRY]
|
188
|
+
Scott Meyers
|
189
|
+
Effective C++ Second Edition
|
190
|
+
Must read for serious C++ developers.
|
191
|
+
|
192
|
+
My personal opinion on some advanced C++ features (and probably advanced
|
193
|
+
language features in general): Avoid them as often as possible! :)
|
194
|
+
|
195
|
+
[ENTRY]
|
196
|
+
Jon Bentley
|
197
|
+
Programming Pearls
|
198
|
+
Interesting read. (That was helpful, right? :)
|