Browse Source

Initial commit

master
Bernhard Fröhlich 2 months ago
parent
commit
203fe8ca19
Signed by: Bernhard Froehlich <decke@bluelife.at> GPG Key ID: 4DD88C3F9F3B8333
44 changed files with 1846 additions and 0 deletions
  1. 13
    0
      Makefile
  2. 99
    0
      assets/css/fonts.css
  3. 537
    0
      assets/css/main.css
  4. 28
    0
      assets/css/override.css
  5. 48
    0
      config.toml
  6. 57
    0
      content/page/about.md
  7. 62
    0
      content/page/contact.md
  8. 46
    0
      content/page/network.md
  9. 56
    0
      content/posts/2006-09-12-wie_verschlusselt_bugzilla_seine_passworter.md
  10. 13
    0
      content/posts/2006-11-09-blue_life_at_4_0_setzt_auf_open_source.md
  11. 15
    0
      content/posts/2007-07-22-dell_latitude_d830.md
  12. 10
    0
      content/posts/2007-09-21-kleine_freuden.md
  13. 16
    0
      content/posts/2007-11-15-gbit_routing_with_bsd_part_1.md
  14. 100
    0
      content/posts/2007-11-20-gbit_routing_with_bsd_part_2.md
  15. 122
    0
      content/posts/2007-11-26-gbit_routing_with_bsd_part_3.md
  16. 16
    0
      content/posts/2008-04-19-r3_bluelife_at.md
  17. 14
    0
      content/posts/2008-05-24-undervolting_mit_cpupowerd.md
  18. 8
    0
      content/posts/2008-05-30-cpupowerd_free_bsd_patch.md
  19. 10
    0
      content/posts/2008-06-11-vagalume_0_6_for_free_bsd.md
  20. 28
    0
      content/posts/2008-07-31-stromsparender_freebsd_1_gbit_router.md
  21. 35
    0
      content/posts/2009-01-13-club3k_geschichte.md
  22. 11
    0
      content/posts/2009-04-05-helma_on_jetty_6_1_16.md
  23. 19
    0
      content/posts/2009-04-12-freebsd_slim_themes.md
  24. 14
    0
      content/posts/2009-04-27-grazer_linuxtage_2009.md
  25. 11
    0
      content/posts/2009-04-30-virtualbox_on_freebsd15.md
  26. 14
    0
      content/posts/2009-05-05-virtualbox_on_freebsd.md
  27. 12
    0
      content/posts/2009-05-14-cft_virtualbox_on_freebsd.md
  28. 81
    0
      content/posts/2009-06-04-freebsd_7_2_mit_huawei_e220_in_osterreich_drei.md
  29. 10
    0
      content/posts/2009-06-19-helma_now_uses_jetty_6_1_x.md
  30. 10
    0
      content/posts/2009-09-25-kernel_2_6_31_broke_my_php_script.md
  31. 10
    0
      content/posts/2010-03-27-i_am_a_freebsd_ports_commiter_now.md
  32. 16
    0
      content/posts/2010-04-28-dvbs_live_tv_on_freebsd_with_mythtv_0_23_and_webcamd.md
  33. 18
    0
      content/posts/2010-05-06-freebsd_at_the_grazer_linuxtage_2010.md
  34. 14
    0
      content/posts/2010-11-24-bsdday_2010_summary.md
  35. 13
    0
      content/posts/2011-02-23-austria_is_getting_more_active_in_the_bsd_community.md
  36. 14
    0
      content/posts/2011-11-25-trip_report_bsdday_2011_in_bratislava.md
  37. 19
    0
      content/posts/2012-06-03-ports_qat_functionality_integrated_into_redports.md
  38. 18
    0
      content/posts/2012-12-20-personal_story_of_a_ports_committer.md
  39. 14
    0
      content/posts/2013-06-09-moving_to_open_shift.md
  40. 36
    0
      content/posts/2014-08-02-pfsense_virtio_setup.md
  41. 84
    0
      content/posts/2019-02-09-state-of-the-network.md
  42. 23
    0
      layouts/_default/list.html
  43. 15
    0
      layouts/partials/footer.html
  44. 37
    0
      layouts/partials/head.html

+ 13
- 0
Makefile View File

@@ -0,0 +1,13 @@
1
+build: themes/natrium
2
+	hugo
3
+
4
+clean:
5
+	rm -rf public/*
6
+
7
+release:
8
+	hugo --minify
9
+
10
+themes/natrium:
11
+	git clone https://github.com/mobybit/hugo-natrium-theme themes/natrium
12
+
13
+.PHONY:	build clean release

+ 99
- 0
assets/css/fonts.css View File

@@ -0,0 +1,99 @@
1
+/* roboto-mono-regular - latin */
2
+@font-face {
3
+  font-family: 'Roboto Mono';
4
+  font-display: fallback;
5
+  font-style: normal;
6
+  font-weight: 400;
7
+  src: local('Roboto Mono'), local('RobotoMono-Regular'),
8
+       url('../fonts/roboto-mono-v5-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
9
+       url('../fonts/roboto-mono-v5-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
10
+}
11
+/* lato-regular - latin */
12
+@font-face {
13
+  font-family: 'Lato';
14
+  font-display: fallback;
15
+  font-style: normal;
16
+  font-weight: 400;
17
+  src: local('Lato Regular'), local('Lato-Regular'),
18
+       url('../fonts/lato-v14-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
19
+       url('../fonts/lato-v14-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
20
+}
21
+/* lato-700 - latin */
22
+@font-face {
23
+  font-family: 'Lato';
24
+  font-display: fallback;
25
+  font-style: normal;
26
+  font-weight: 700;
27
+  src: local('Lato Bold'), local('Lato-Bold'),
28
+       url('../fonts/lato-v14-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
29
+       url('../fonts/lato-v14-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
30
+}
31
+/* lato-italic - latin */
32
+@font-face {
33
+  font-family: 'Lato';
34
+  font-display: fallback;
35
+  font-style: italic;
36
+  font-weight: 400;
37
+  src: local('Lato Italic'), local('Lato-Italic'),
38
+       url('../fonts/lato-v14-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
39
+       url('../fonts/lato-v14-latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
40
+}
41
+/* lato-700italic - latin */
42
+@font-face {
43
+  font-family: 'Lato';
44
+  font-display: fallback;
45
+  font-style: italic;
46
+  font-weight: 700;
47
+  src: local('Lato Bold Italic'), local('Lato-BoldItalic'),
48
+       url('../fonts/lato-v14-latin-700italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
49
+       url('../fonts/lato-v14-latin-700italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
50
+}
51
+/* merriweather-regular - latin */
52
+@font-face {
53
+  font-family: 'Merriweather';
54
+  font-display: fallback;
55
+  font-style: normal;
56
+  font-weight: 400;
57
+  src: local('Merriweather Regular'), local('Merriweather-Regular'),
58
+       url('../fonts/merriweather-v19-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
59
+       url('../fonts/merriweather-v19-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
60
+}
61
+/* merriweather-italic - latin */
62
+@font-face {
63
+  font-family: 'Merriweather';
64
+  font-display: fallback;
65
+  font-style: italic;
66
+  font-weight: 400;
67
+  src: local('Merriweather Italic'), local('Merriweather-Italic'),
68
+       url('../fonts/merriweather-v19-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
69
+       url('../fonts/merriweather-v19-latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
70
+}
71
+/* merriweather-700 - latin */
72
+@font-face {
73
+  font-family: 'Merriweather';
74
+  font-display: fallback;
75
+  font-style: normal;
76
+  font-weight: 700;
77
+  src: local('Merriweather Bold'), local('Merriweather-Bold'),
78
+       url('../fonts/merriweather-v19-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
79
+       url('../fonts/merriweather-v19-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
80
+}
81
+/* merriweather-700italic - latin */
82
+@font-face {
83
+  font-family: 'Merriweather';
84
+  font-display: fallback;
85
+  font-style: italic;
86
+  font-weight: 700;
87
+  src: local('Merriweather Bold Italic'), local('Merriweather-BoldItalic'),
88
+       url('../fonts/merriweather-v19-latin-700italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
89
+       url('../fonts/merriweather-v19-latin-700italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
90
+}
91
+/* fontawesome */
92
+@font-face {
93
+  font-family: 'FontAwesome';
94
+  font-display: fallback;
95
+  src: url('../fonts/fontawesome-webfont.eot?v=4.7.0');
96
+  src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff');
97
+  font-weight: normal;
98
+  font-style: normal;
99
+}

+ 537
- 0
assets/css/main.css View File

@@ -0,0 +1,537 @@
1
+html,
2
+body {
3
+  margin: 0;
4
+  padding: 0;
5
+  position: relative;
6
+}
7
+
8
+body {
9
+  font-family: 'Merriweather', serif;
10
+  -webkit-hyphens: auto;
11
+  hyphens: auto;
12
+}
13
+
14
+h1,
15
+h2,
16
+h3,
17
+h4,
18
+h5,
19
+h6 {
20
+  font-family: 'Lato', sans-serif;
21
+  color: #222;
22
+}
23
+
24
+pre,
25
+code {
26
+  font-family: 'Roboto Mono', monospace;
27
+  font-size: 15px;
28
+}
29
+
30
+code {
31
+  border-radius: 3px;
32
+  padding: 1px 3px;
33
+  background: #f0f0f0;
34
+  -webkit-hyphens: none;
35
+  hyphens: none;
36
+}
37
+
38
+pre {
39
+  overflow-x: auto;
40
+  padding: 8px 12px;
41
+  border-radius: 3px;
42
+  background: #202020;
43
+  color: #d0d0d0;
44
+}
45
+
46
+pre code {
47
+  padding: initial;
48
+  background: transparent;
49
+}
50
+
51
+a:hover,
52
+a:active {
53
+  outline: none;
54
+  background-color: rgba(0,0,0,0);
55
+  -webkit-tap-highlight-color: rgba(0,0,0,0);
56
+}
57
+
58
+img {
59
+  display: block;
60
+  margin: 0 auto;
61
+  max-width: 100%;
62
+  height: auto;
63
+}
64
+
65
+blockquote {
66
+  border-left: 5px solid #ccc;
67
+  background: #f5f5f5;
68
+  margin: 20px;
69
+  padding-left: 10px;
70
+}
71
+
72
+.wrapper {
73
+  overflow: hidden;
74
+  position: relative;
75
+}
76
+
77
+.header {
78
+  padding: 20px 0;
79
+  position: relative;
80
+  background: #f5f5f5;
81
+  border-bottom: 1px solid #eaeaea;
82
+}
83
+
84
+.nav {
85
+  max-width: 800px;
86
+  margin: 0 auto;
87
+  padding: 0 15px;
88
+  font-family: 'Lato', sans-serif;
89
+  text-align: right;
90
+}
91
+
92
+.nav-logo {
93
+  float: left;
94
+  margin-top: -11px;
95
+  transition: transform 150ms ease-out;
96
+}
97
+
98
+.nav-logo:hover {
99
+  transform: scale(1.1);
100
+}
101
+
102
+.nav-logo img {
103
+  display: block;
104
+  max-height: 40px;
105
+  width: auto;
106
+}
107
+
108
+.nav-links {
109
+  margin: 0;
110
+  padding: 0;
111
+  font-size: 14px;
112
+  list-style: none;
113
+}
114
+
115
+.nav-links li {
116
+  display: inline-block;
117
+  margin: 0 0 0 15px;
118
+}
119
+
120
+.nav-links li:first-child {
121
+  margin-left: 0;
122
+}
123
+
124
+.nav-links a {
125
+  text-decoration: none;
126
+  color: #444;
127
+}
128
+
129
+.nav-links a:hover {
130
+ color: #111;
131
+}
132
+
133
+.content {
134
+  display: block;
135
+  min-height: calc(100vh - 60px);
136
+  max-width: 700px;
137
+  margin: 60px auto 80px;
138
+  padding: 0 15px;
139
+  font-size: 16px;
140
+  line-height: 1.7;
141
+  color: #555;
142
+}
143
+
144
+.article-title {
145
+  font-size: 34px;
146
+  color: #222;
147
+  margin: 0;
148
+  line-height: 1.3;
149
+}
150
+
151
+.article-date {
152
+  font-size: 16px;
153
+  font-family: 'Lato', sans-serif;
154
+  color: #ccc;
155
+}
156
+
157
+.article-content p {
158
+  margin: 15px 0 25px;
159
+}
160
+
161
+.article-content a {
162
+  text-decoration: none;
163
+  color: inherit;
164
+  border-bottom: medium solid #f0f0f0;
165
+  transition: border-color 600ms;
166
+}
167
+
168
+.article-content a:hover,
169
+.article-content a:active {
170
+  border-color: #606060;
171
+}
172
+
173
+.article-content hr {
174
+  width: 150px;
175
+  margin: 50px auto;
176
+  height: 1px;
177
+  overflow: hidden;
178
+  border: none;
179
+  background: #e8e8e8;
180
+}
181
+
182
+.article-taxonomy {
183
+  list-style: none;
184
+  padding-left: 0;
185
+  font-family: 'Lato', sans-serif;
186
+  color: #404040;
187
+  font-size: 14px;
188
+  text-align: left;
189
+}
190
+
191
+.article-taxonomy hr {
192
+  width: 200px;
193
+  margin: 5px 0 10px;
194
+  height: 1px;
195
+  border: none;
196
+  background: #e8e8e8;
197
+}
198
+
199
+.article-taxonomy a {
200
+  display: inline-block;
201
+  margin: 0 10px 0 0;
202
+  text-decoration: none;
203
+  color: inherit;
204
+  transition: color 300ms;
205
+}
206
+
207
+.article-taxonomy a:hover,
208
+.article-taxonomy a:active {
209
+  color: #ccc;
210
+}
211
+
212
+.article-image-large {
213
+  padding: 2px;
214
+  border: solid 1px #e6e6e6;
215
+  opacity: 1;
216
+  transition: opacity 1s;
217
+}
218
+
219
+.article-image-large:hover,
220
+.article-image-large:active {
221
+  opacity: 0.5;
222
+}
223
+
224
+.list,
225
+.category,
226
+.tag-cloud {
227
+  margin: 0;
228
+  padding: 0;
229
+  line-height: 1.3em;
230
+}
231
+
232
+.list-title,
233
+.category-title,
234
+.tag-cloud-title {
235
+  font-size: 32px;
236
+  margin-top: 60px;
237
+  padding-bottom: 10px;
238
+}
239
+
240
+.list-item {
241
+  margin: 0 0 20px;
242
+  padding: 0;
243
+}
244
+
245
+.list-item-date {
246
+  display: block;
247
+  padding: 4px 0;
248
+  font-family: 'Lato', sans-serif;
249
+  color: #ccc;
250
+  font-size: 14px;
251
+}
252
+
253
+.list-item a {
254
+  display: inline-block;
255
+  box-sizing: border-box;
256
+  width: auto;
257
+  max-width: 100%;
258
+  white-space: nowrap;
259
+  overflow: hidden;
260
+  text-overflow: ellipsis;
261
+  padding: 3px 0;
262
+  text-decoration: none;
263
+  font-size: 17px;
264
+  font-family: 'Lato', sans-serif;
265
+  font-weight: bold;
266
+  color: #222;
267
+  border-bottom: 1px solid #ddd;
268
+  transition: border-color 300ms;
269
+}
270
+
271
+.list-item a:hover {
272
+  border-color: #222;
273
+}
274
+
275
+.category-item {
276
+  display: block;
277
+  list-style: none;
278
+  margin: 5px 0 15px;
279
+  padding: 0;
280
+}
281
+
282
+.category-item a {
283
+  display: inline-block;
284
+  padding: 5px 0;
285
+  text-decoration: none;
286
+  font-size: 19px;
287
+  font-family: 'Lato', sans-serif;
288
+  font-weight: bold;
289
+  color: #222;
290
+  transition: color 300ms;
291
+}
292
+
293
+.category-item-count {
294
+  font-family: 'Lato', sans-serif;
295
+  margin-right: 15px;
296
+  color: #ccc;
297
+  font-size: 14px;
298
+  font-weight: bold;
299
+}
300
+
301
+.tag-cloud-item {
302
+  margin: 0;
303
+  padding: 0;
304
+}
305
+
306
+.tag-cloud-item li {
307
+  display: inline-block;
308
+  list-style: none;
309
+  padding: 0 15px 15px 0;
310
+}
311
+
312
+.tag-cloud-item a {
313
+  text-decoration: none;
314
+  font-family: 'Lato', sans-serif;
315
+  font-weight: bold;
316
+  color: #222;
317
+  transition: color 300ms;
318
+}
319
+
320
+.tag-cloud-item a:hover,
321
+.tag-cloud-item a:active,
322
+.category-item a:hover,
323
+.category-item a:active {
324
+   color: #ccc;
325
+}
326
+
327
+.footer {
328
+  height: 40px;
329
+  margin: 0;
330
+  padding: 0;
331
+  text-align: center;
332
+  font-family: 'Lato', sans-serif;
333
+}
334
+
335
+.footer-links {
336
+  list-style: none;
337
+  margin: 0;
338
+  padding: 0;
339
+  color: #ccc;
340
+  font-size: 14px;
341
+}
342
+
343
+.footer-links li {
344
+  margin: 0;
345
+  padding: 0;
346
+  display: inline-block;
347
+}
348
+
349
+.footer-links a {
350
+  color: #888;
351
+  text-decoration: none;
352
+  transition: color 300ms;
353
+  margin: 0 5px;
354
+}
355
+
356
+.footer-links a:hover {
357
+  color: #222;
358
+}
359
+
360
+.footer-links li::before {
361
+  content: '•';
362
+  position: relative;
363
+  left: -2px;
364
+}
365
+
366
+.footer-links li:first-child::before {
367
+  display: none;
368
+}
369
+
370
+.page-links {
371
+  margin: 25px 0;
372
+  padding: 0;
373
+  text-align: center;
374
+  font-family: 'Lato', sans-serif;
375
+  font-size: 16px;
376
+}
377
+
378
+.page-links li {
379
+  display: inline-block;
380
+}
381
+
382
+.page-links a {
383
+  text-decoration: none;
384
+  padding: 0 5px;
385
+  color: #555;
386
+  transition: color 300ms;
387
+}
388
+
389
+.page-links a:hover {
390
+  color: #ccc;
391
+}
392
+
393
+.page-links-active a,
394
+.page-links-disabled a {
395
+  text-decoration: none;
396
+  color: #ccc;
397
+}
398
+
399
+.error-page-title {
400
+  text-align: center;
401
+  font-size: 76px;
402
+}
403
+
404
+.error-page-content {
405
+  text-align: center;
406
+}
407
+
408
+.error-page-content a {
409
+  text-decoration: none;
410
+  color: inherit;
411
+  transition: color 600ms;
412
+}
413
+
414
+.error-page-content a:hover,
415
+.error-page-content a:active {
416
+  color: #ccc;
417
+}
418
+
419
+.fa {
420
+  font-family: 'FontAwesome';
421
+  font-style: normal;
422
+}
423
+
424
+.fa-rss::before {
425
+  content: "\f09e";
426
+}
427
+
428
+.fa-chevron-up::before {
429
+  content: "\f077";
430
+}
431
+
432
+.fa-github::before {
433
+  content: "\f09b";
434
+}
435
+
436
+.fa-tags::before {
437
+  content: "\f02c";
438
+  float: left;
439
+  padding: 0px 10px 50px 0;
440
+}
441
+
442
+.fa-category::before {
443
+  content: "\f07c";
444
+  float: left;
445
+  padding: 0 10px 0px 0;
446
+}
447
+
448
+@media (min-width: 600px) {
449
+  code {
450
+    padding: 2px 4px;
451
+  }
452
+
453
+  pre,
454
+  code {
455
+    font-size: 17px;
456
+  }
457
+
458
+  .header {
459
+    padding: 25px 0;
460
+  }
461
+
462
+  .nav-logo {
463
+    margin-top: -13px;
464
+  }
465
+
466
+  .nav-logo img {
467
+    max-height: 50px;
468
+  }
469
+
470
+  .nav-links {
471
+    font-size: 18px;
472
+  }
473
+
474
+  .nav-links li {
475
+    margin: 0 0 0 30px;
476
+  }
477
+
478
+  .content {
479
+    font-size: 19px;
480
+    line-height: 1.8;
481
+    margin: 100px auto;
482
+  }
483
+
484
+  .article-title {
485
+    font-size: 42px;
486
+  }
487
+
488
+  .article-date {
489
+    font-size: 19px;
490
+  }
491
+
492
+  .article-taxonomy {
493
+    font-size: 17px;
494
+  }
495
+
496
+  .list-title,
497
+  .category-title,
498
+  .tag-cloud-title {
499
+    font-size: 38px;
500
+  }
501
+
502
+  .list-item a {
503
+    padding: 5px 0;
504
+    font-size: 21px;
505
+  }
506
+
507
+  .list-item-date {
508
+    padding: 5px 0;
509
+    font-size: 17px;
510
+    text-align: right;
511
+    float: right;
512
+  }
513
+
514
+  .category-item {
515
+     display: inline-block;
516
+  }
517
+
518
+  .category-item a {
519
+     font-size: 21px;
520
+  }
521
+
522
+  .footer-links {
523
+    font-size: inherit;
524
+  }
525
+
526
+  .footer-links a {
527
+    margin: 0 15px;
528
+  }
529
+
530
+  .page-links {
531
+    font-size: 19px;
532
+  }
533
+
534
+  .error-page-title {
535
+    font-size: 114px;
536
+  }
537
+}

+ 28
- 0
assets/css/override.css View File

@@ -0,0 +1,28 @@
1
+.fa-file-text::before {
2
+  content: "\f15c";
3
+}
4
+
5
+.article-content table {
6
+  margin-bottom: 1rem;
7
+  width: 100%;
8
+  border: 1px solid #e5e5e5;
9
+  border-collapse: collapse;
10
+}
11
+.article-content td, .article-content th {
12
+  padding: .25rem .5rem;
13
+  border: 1px solid #e5e5e5;
14
+}
15
+.article-content tbody tr:nth-child(odd) td,
16
+.article-content tbody tr:nth-child(odd) th {
17
+  background-color: #f7f7f7;
18
+}
19
+
20
+.nav-logo {
21
+  margin-top: -4px;
22
+}
23
+.nav-logo img {
24
+  max-height: 30px;
25
+}
26
+.footer-links li::before {
27
+  content: '/';
28
+}

+ 48
- 0
config.toml View File

@@ -0,0 +1,48 @@
1
+baseurl = "https://bluelife.at/"
2
+languageCode = "en-US"
3
+title = "bluelife"
4
+theme = "natrium"
5
+preserveTaxonomyNames = true
6
+rssLimit = 10
7
+paginate = 10
8
+pygmentsCodefences = true
9
+pygmentsStyle = "native"
10
+
11
+[taxonomies]
12
+  category = "categories"
13
+  tag = "tags"
14
+
15
+[permalinks]
16
+  posts = "/:slug/"
17
+  page = "/:slug/"
18
+
19
+[[menu.main]]
20
+  name = "Network"
21
+  weight = -120
22
+  identifier = "network"
23
+  url = "/network/"
24
+
25
+[[menu.main]]
26
+  name = "Code"
27
+  weight = -110
28
+  identifier = "code"
29
+  url = "https://code.bluelife.at/decke/"
30
+
31
+[[menu.main]]
32
+  name = "Contact"
33
+  weight = -100
34
+  identifier = "contact"
35
+  url = "/contact/"
36
+
37
+[[menu.main]]
38
+  name = "About"
39
+  weight = -90
40
+  identifier = "about"
41
+  url = "/about/"
42
+
43
+[params]
44
+  description = ""
45
+
46
+  [params.logo]
47
+  url = "bluelife_logo.png"
48
+  alt = "Logo"

+ 57
- 0
content/page/about.md View File

@@ -0,0 +1,57 @@
1
+---
2
+title: "About"
3
+date: 2019-01-15T09:25:19Z
4
+description: "my projects and contributions"
5
+---
6
+
7
+## Spare Time
8
+* My family and my two kids
9
+* Network Infrastructure
10
+* Programming (C/C++, PHP, Go, Shell script, Makefile, JS/Java, Python)
11
+* FreeBSD Ports
12
+
13
+                
14
+## Timeline
15
+* **2012 - 2015:** [FreeBSD Ports Management Team](https://www.freebsd.org/portmgr/)
16
+* **since May 2010:** [BSDA Certified](http://www.bsdcertification.org/)
17
+* **since March 2010:** [FreeBSD Ports Committer](http://www.freebsd.org/news/newsflash.html#event20100331:01)
18
+* **since Oct. 2005:** [BT-Anlagenbau](http://www.ece-log.at), Senior software developer
19
+* **2004-2005:** Civilian  service
20
+* **1999-2004:** [HTBLA Kaindorf](http://www.htl-kaindorf.at), Automation
21
+
22
+
23
+## Projects
24
+* **2019:** [caronade](https://code.bluelife.at/decke/caronade) - A small and light tool to help with FreeBSD Ports CI
25
+* **2018:** [smtprelay](https://code.bluelife.at/decke/smtprelay) - Simple Golang SMTP relay/proxy server
26
+* **2018:** [ssbt](https://code.bluelife.at/decke/ssbt) - Simple Stupid Backup Tool
27
+* **2015:** [redports 2](https://github.com/freebsd/redports) - Rewrite/New implementation
28
+* **2014:** [drmdecrypt](https://code.bluelife.at/decke/drmdecrypt) - Decryption tool for Samsung TVs
29
+* **2011 - 2014:** [redports.org](https://github.com/freebsd/redports-1) - FreeBSD port building cluster, Ports QAT, Concept/Implementation
30
+* **2011 - 2017:** [bsdstammtisch.at](https://bsdstammtisch.at) - Grazer BSD Stammtisch
31
+* **since 2010:** [freebsd.org](https://www.freebsd.org) - FreeBSD Ports Committer and Ports Maintainer
32
+* **2003 - 2008:** [club3k.at](https://www.itac.at) - Social Community, Web Chat, Chat client and bot etc., Development/Administration
33
+* **since 2005:** [bluelife.at](https://www.bluelife.at/network/) - Private network, Infrastructure
34
+
35
+
36
+## FreeBSD Ports Contributions
37
+
38
+Over time I have created quite a few new FreeBSD Ports and worked on many more so these are just my major contributions. Overall I have done **[>500 commits](https://www.freshports.org/search.php?stype=committer&method=exact&query=decke)** and currently **[maintain 15 ports](https://portscout.freebsd.org/decke@freebsd.org.html)**.
39
+
40
+* **since 2018:** [net/wireguard](https://freshports.org/net/wireguard)
41
+* **since 2013:** [multimedia/tvheadend](https://freshports.org/multimedia/tvheadend), [upstream commits](https://github.com/tvheadend/tvheadend/commits?author=decke)
42
+* **2010 - 2017:** [www/phpvirtualbox](https://freshports.org/www/phpvirtualbox)
43
+* **2010 - 2016:** [emulators/virtualbox-ose](https://freshports.org/emulators/virtualbox-ose)
44
+* **2009 - 2016:** [multimedia/mythtv](https://freshports.org/multimedia/mythtv)
45
+* **2009 - 2011:** [www/redmine](https://freshports.org/www/redmine)
46
+
47
+
48
+## Other Contributions
49
+* [Composer](https://github.com/composer/composer/commit/70314f3570247ce9a62934997ea449ec44cd635b): Fix Repository support  for Subversion 1.8 (2017)
50
+* [Helma](https://github.com/helma-org/helma): update for Jetty 6.1.x (2009)
51
+* [cpupowerd](http://cpupowerd.sourceforge.net/): FreeBSD support and port (2008)
52
+* more contributions on [<img alt='' style='margin: 0' src='https://www.openhub.net/accounts/decke/widgets/account_tiny?format=gif&amp;ref=sample'> openhub.net/accounts/decke](https://www.openhub.net/accounts/decke)
53
+
54
+## Code
55
+
56
+* [code.bluelife.at/decke](https://code.bluelife.at/decke)
57
+* [github.com/decke](https://github.com/decke/)

+ 62
- 0
content/page/contact.md View File

@@ -0,0 +1,62 @@
1
+---
2
+title: Contact
3
+description: "contact details"
4
+---
5
+
6
+* Bernhard Fröhlich
7
+* Graz, Austria
8
+* Mail: decke@bluelife.at
9
+
10
+
11
+## PGP-Key
12
+<pre>
13
+pub   rsa2048/4DD88C3F9F3B8333 2015-05-05 [SC] [expires: 2021-05-01]
14
+      Key fingerprint = 3924 2DE3 BD34 BB70 529C  03D2 4DD8 8C3F 9F3B 8333
15
+uid                            Bernhard Froehlich &lt;decke@FreeBSD.org&gt;
16
+uid                            Bernhard Froehlich &lt;decke@bluelife.at&gt;
17
+sub   rsa2048/623F4D906034D944 2015-05-05 [E] [expires: 2021-05-01]
18
+
19
+-----BEGIN PGP PUBLIC KEY BLOCK-----
20
+
21
+mQENBFVIfj8BCADFGyGrFPorzmYW8EMsX0BvmfdCT4ZF2tIGnPMHUoTNye9mgTKX
22
+L4M3qXM14r2ayqksFVvWf/DrfeD7wUqFbn9E5+6+QkaczybjAC/4CcVUwqxxyBTX
23
+uhaCjUOcAGEBIPrIcNBe7ubT4Nqyxs4t6B0DTqPxdlZtfCM+BkY3bo6fcOHcETPy
24
+A39qsLlsTkXtoV7/lE17IrKDW0s9h/ql/T+PaA5tu/DQPFQK2udwSJe/nE2HGd1e
25
+CUcnsa2Vn8sGQsftpAJpzKuur+G7444LkY9MbGiStS9os4lqYY03H0uqfw6YK/iT
26
+NLPtNnrGECa3nn14zzHD+7N7jYfZ0XcLyeCvABEBAAG0JkJlcm5oYXJkIEZyb2Vo
27
+bGljaCA8ZGVja2VAYmx1ZWxpZmUuYXQ+iQE9BBMBCgAnAhsDBQsJCAcDBRUKCQgL
28
+BRYDAgEAAh4BAheABQJa6YNtBQkLRJ+UAAoJEE3YjD+fO4MzUt8IALFoHsUs0TQw
29
+UCkxkswH0JJCu5THJN2p8w6BEzn5TYBDh60JWGb/9w6zyt1zJp508MZMmIYR09Xu
30
+kB58zoakQwg29VnJEWAXO8RAb+TJbvtt9Lxp3PxVX3w6Np210I6tVYa0HkmkmkQD
31
+0zvL3N6OmILABiwANQvNUrPlJ9bVF3EQzZblQPoZ5CHfQKcZYt0hHWak1iZcGxXX
32
+6RmghZ/P6aQHhgnr/Qq5JCz7fZQoE2mpnBOMgFCaxB85YnjIEnxoEbSC0UoyvYIE
33
+VeHeii7oGXe64POLERvupoaL7OzdQ0HP+TTZLD1YzjpoflV4XJ2+52wN5Xcj4hYk
34
+wWhTIjqFvT60JkJlcm5oYXJkIEZyb2VobGljaCA8ZGVja2VARnJlZUJTRC5vcmc+
35
+iQE9BBMBCgAnAhsDBQsJCAcDBRUKCQgLBRYDAgEAAh4BAheABQJa6YNzBQkLRJ+U
36
+AAoJEE3YjD+fO4MzYmsH/3vSH8VL10JthEmxKxcRhZQuNZC7sTsaUbKimZtDKfTY
37
+jE7/43g8fI+aImMDpQ6crdnMAXowC25hooeDt7a5fu/gHoRdPNPpXqhVxgGKkkFb
38
+RvX4SQBGak5pUq7+pS1M4+r4HI5AQ8cUvhd+wQaA5rXtODcxzGziKkmIDMD7z/QM
39
+xJe7+n++Tu7mykKKexbGtes17AjEHXKlsr1AGVquJg2QbZc3gy4q31jMMIkY/QRi
40
+1Za4Zd7SsRjoUJV4ejGzCk6B0+UVbFgJT2E/uiyrc7plaQtO1qZN17VOFb97gsxS
41
+nV7ecZM4U/G8JixrA5nif+cvyhRNxFz5y0TzE1SeMd25AQ0EVUh+PwEIAL28BXxX
42
+FEOUS4bz43U/wwhPxpMoCFW0FlAz9YNaKDac7dOeIusQl4QpIJ2AcdSMl3SfdbYd
43
+DrMgONDjo/NqGJSJw9Wx/SbuY8KVK9DoQqSdMdTCmV7Pj12VmMhJEEK6oHOBJr+r
44
+jKpKX8O+J6wzqJUoITpR/if4YqXC1dDPo2cOOvqMpbN3DJxwHl3uElvn9NG5AHRH
45
+tCmoe7Vf617EUH62OxplIUaPmeTDM7Swd06Gxz2zDKjhp+FBuT32USjXX7AyJUR0
46
+j8d/bBC0hx/jvYpXSpWQBBZTjxU697TTcDpPVec63IO3Oa/Fj1wK4fC4lwWoW2dk
47
+2wHS7wrJacWTDlUAEQEAAYkBJQQYAQoADwIbDAUCWumDkgUJC0Sf0AAKCRBN2Iw/
48
+nzuDM0HZB/4tD2k7k310oqEP6Bsn9T4BGjPpfLDvwCN9DxRpMRpXgq4PwBGZJ2OW
49
+SaFu/CVREsMMYNIraK3Pbo1KbnXUJjx61Ug+4UQu68pvorlDE3ekq6BgDHmkyTj3
50
+dW90lQwYpefo9PxhQUzBXHoGmQ1Y2KdtQrTXMpE9bLDC7HqBUCfrRofkPFuKvPdR
51
+7wlY0QsTG66ae9dibPY16yYZAYtHQz0ytmaDv7y6MKiW2yCjpL4eshuov41eQqKa
52
+fxMu+CfMV6kRi7SbZWiI5LZIv0RsVD9jjzt3LZWeuGTJvlcBIFVjFaE0xRpz6Xi5
53
+CvqACIoNjy4VTHrD/0o5u3WjXreE0ddC
54
+=ffT8
55
+-----END PGP PUBLIC KEY BLOCK-----
56
+</pre>
57
+
58
+
59
+<a id="privacy"></a>
60
+## Privacy Policy
61
+
62
+My privacy policy is Privacy by Design. This means I do not collect any of your data nor share it with anyone. The side does not use cookies, does not track you, does not import external content, does not keep logfiles, does not integrate any of those social stuff but enforces strong encryption.

+ 46
- 0
content/page/network.md View File

@@ -0,0 +1,46 @@
1
+---
2
+title: Network
3
+description: "bluelife network"
4
+---
5
+
6
+The infrastructure for the network is designed for security and privacy and has evolved over the years. Some parts of it are in the cloud already and some are provided by external services. All components and services have been chosen carefully.
7
+
8
+## Architecture
9
+
10
+![](/images/bluelife_network.png)
11
+
12
+
13
+## DNS
14
+
15
+* Registrar: [Gandi.net](https://www.gandi.net/)
16
+* auth. DNS: [Google Cloud DNS](https://cloud.google.com/dns/) + DNSSEC
17
+* DNS resolver: [Unbound](https://www.unbound.net/)
18
+* SSL Certs: [Let's Encrypt](https://letsencrypt.org/) via [acme.sh](https://acme.sh)
19
+
20
+
21
+## Infrastructure
22
+
23
+* IPv6: [Hurricane Electric](https://ipv6.he.net/)
24
+* Hosting: [netcup](https://www.netcup.de/)
25
+* OS: [FreeBSD](https://www.freebsd.org/)
26
+* VPN: [WireGuard](https://wireguard.com/)
27
+* Virtualisation: [bhyve](http://bhyve.org/) via [vm-bhyve](https://github.com/churchers/vm-bhyve)
28
+* Webserver: [nginx](https://nginx.org/)
29
+* Backup: [ssbt](https://code.bluelife.at/decke/ssbt/)
30
+* NTP: [chrony](https://chrony.tuxfamily.org/)
31
+* Firewall: [pf](https://www.freebsd.org/doc/handbook/firewalls-pf.html)
32
+
33
+
34
+## Hardware
35
+
36
+* Router: [Supermicro X10SBA](http://www.supermicro.com/products/motherboard/celeron/x10/x10sba.cfm) running [FreeBSD](https://www.freebsd.org/)
37
+* WiFi: [Ubiquiti Unifi AP AC](https://www.ubnt.com/unifi/unifi-ap-ac-lr/) running [OpenWRT](https://openwrt.org/)
38
+* Switch: HPE 1920 Series
39
+
40
+
41
+## Services
42
+
43
+* Code: [gitea](https://gitea.io/)
44
+* Feed Reader: [miniflux](https://miniflux.app/)
45
+* File sync: [syncthing](https://syncthing.net/)
46
+* Web/Blog: [Hugo](https://gohugo.io/)

+ 56
- 0
content/posts/2006-09-12-wie_verschlusselt_bugzilla_seine_passworter.md View File

@@ -0,0 +1,56 @@
1
+---
2
+date: "2006-09-12"
3
+title: Wie verschlüsselt Bugzilla seine Passwörter?
4
+slug: wie_verschlusselt_bugzilla_seine_passworter
5
+tags: [ "Programming" ]
6
+---
7
+
8
+[Bugzilla](http://www.bugzilla.org/) kennt wohl jeder der schon mal einen Bug gemeldet hat. Heute hat mich interessiert wie ich es schaffe mit PHP einen neuen Bugzilla User anzulegen. Dazu muss man erst einmal herausfinden wie Bugzilla seine Hashes generiert. 
9
+
10
+<pre>
11
+mysql> SELECT cryptpassword FROM profiles WHERE login_name = "test";
12
++---------------+
13
+| cryptpassword |
14
++---------------+
15
+| 8QjCvBCpWNgQU |
16
++---------------+
17
+1 row in set (0.00 sec)
18
+</pre>
19
+
20
+Dieser Hash sagt einem so noch nicht viel. Aber er hat 13 Stellen und ist ein DES Hash mit Salt. Genau genommen sind die ersten 2 Zeichen der Salt. Hier also "_8Q_".Wenn man ein wenig im PHP Manual sucht findet man [crypt()](http://at.php.net/manual/en/function.crypt.php) das auch in Perl so verwendet wird um den Hash zu erzeugen. 
21
+
22
+<pre>
23
+decke@chango:~$ php -r 'echo crypt("test", "8Q")."n";'
24
+8QjCvBCpWNgQU
25
+</pre>
26
+
27
+Ein kurzer Test zeigt: es funktioniert! Nachdem wir ja schon wissen womit wir es zu tun haben ist es ein leichtes. Hier eine kleine Funktion für alle die es nicht selbst schreiben wollen. 
28
+
29
+```php
30
+function bz_crypt($password, $salt = '')
31
+{
32
+   $charset = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz./';
33
+   $len = strlen($charset)-1; 
34
+
35
+   if($salt == '')
36
+      $salt = $charset[rand(0, $len)].$charset[rand(0, $len)]; 
37
+
38
+   return crypt($password, $salt);
39
+}
40
+```
41
+
42
+So generiert man nun einen neuen Passwort Hash ...
43
+
44
+```php
45
+echo bz_crypt("test");
46
+```
47
+
48
+und das Passwort beim Login zu prüfen ist damit auch recht einfach. 
49
+
50
+```php
51
+if(bz_crypt($password, substr($password_hash, 0, 2)) == $password_hash)
52
+   echo "Login erfolgreich;
53
+else
54
+   echo "Passwort war falsch";
55
+```
56
+

+ 13
- 0
content/posts/2006-11-09-blue_life_at_4_0_setzt_auf_open_source.md View File

@@ -0,0 +1,13 @@
1
+---
2
+date: "2006-11-09"
3
+title: BlueLife.at 4.0 setzt auf OpenSource
4
+slug: blue_life_at_4_0_setzt_auf_open_source
5
+tags: [ "FreeBSD", "Hardware", "Personal" ]
6
+---
7
+
8
+Nachdem ich Ende August bereits die meiste Hardware meines kleinen Netzwerks umgestellt hatte ist nun auch die Software fertig umgestellt. 
9
+Das wichtigste war mir dabei, dass ich möglichst unabhängig von ClosedSource Produkten werde. So laufen mitlerweilen alle Server und 2 Clients unter [FreeBSD 6.1](http://www.freebsd.org/) sowie ein Router unter [OpenBSD 4.0](http://www.openbsd.org/40.html). Als Desktop-Umgebung kommt auf den Clients dabei das schlanke [Xfce 4.2](http://www.xfce.org/) zum Einsatz. 
10
+Mein WLAN Access Point läuft unter [OpenWRT](http://www.openwrt.org/) und ist somit ebenfalls frei von ClosedSource. Sogar mein IPod mini (1st Generation) läuft mit einer OpenSource Firmware namens [Rockbox](http://www.rockbox.org/) die sich nicht auf iTunes und MP3 versteift sondern einem die freie Codec Auswahl überlässt. 
11
+
12
+![](/images/2012/r1.jpg) Zugegeben es war viel Arbeit um ohne ClosedSource Produkte auszukommen aber das war es definitiv wert. Für Notfälle habe ich zwar noch einen Windows Rechner herumstehen da es leider immer wieder Kleinigkeiten gibt die unbedingt ein Windows verlangen aber er wird nur mehr sehr selten benötigt. 
13
+Die Belohnung dafür ist eine zuverlässige und vollkommen transparente Arbeitsumgebung die einem keine unnötigen Einschränkungen macht. Außerdem kann man sich selbst helfen wenn es mal irgendwo klemmt oder man muss eben auf Patches warten.

+ 15
- 0
content/posts/2007-07-22-dell_latitude_d830.md View File

@@ -0,0 +1,15 @@
1
+---
2
+date: "2007-07-22"
3
+title: Dell Latitude D830
4
+slug: dell_latitude_d830
5
+tags: [ "FreeBSD", "Hardware" ]
6
+---
7
+
8
+Ich versuche bereits seit einigen Wochen ein passendes Notebook für mich zu finden. Es ist wirklich schwerer als erwartet wenn man nicht auf "Geiz ist Geil" Qualität steht. Die Anforderungen sind onboard Grafik mit einem (W)SXGA Display und eine Docking Station. 
9
+Meine erste Wahl war ein HP nc6320 aber die sind scheinbar in naher Zukunft nicht (mehr) lieferbar also kurzerhand den Preisrahmen etwas erhöht und jetzt ist es ein Dell Latitude D830 geworden. Der hat übrigens auch im letzten [c't 17/2007](http://www.heise.de/ct/07/17/006/) Notebook Vergleich sehr gut abgeschnitten.Sobald ich das Notebook habe wird es natürlich erstmal mit [FreeBSD](http://www.freebsd.org/)-current getestet. Jetzt hoffe ich nur mehr, dass Dell die 5 Wochen Lieferzeit nicht ernst meint. 
10
+**Update:**DELL hat derzeit scheinbar massive Probleme seine Bestellungen rechtzeitig auszuliefern also bin ich wohl nicht der Einzige der wartet.
11
+
12
+* [Inspiron Notebook Product Delays](http://direct2dell.com/one2one/archive/2007/08/24/25755.aspx), direct2dell.com
13
+* [Dell Lieferzeiten](http://www.notebookjournal.de/forum/thread5678-1.html), notebookjournal.de
14
+
15
+**2\. Update: (6.9.)** Das Notebook ist laut Dell gerade an den Spediteur übergeben worden. Bestellt am 21.8\. - heute um ca 11 Uhr auf Produktion gewechselt und gute 9 Stunden später die Bestätigung, dass es ausgeliefert worden ist. Respekt. Scheinbar läuft es bei Dell wieder.

+ 10
- 0
content/posts/2007-09-21-kleine_freuden.md View File

@@ -0,0 +1,10 @@
1
+---
2
+date: "2007-09-21"
3
+title: Kleine Freuden
4
+slug: kleine_freuden
5
+tags: [ "Personal" ]
6
+---
7
+
8
+![](/images/2012/bulmers_small.jpg) Eine Freundin hat mir diese Woche eine Flasche [Bulmers](http://en.wikipedia.org/wiki/Bulmers_%28Republic_of_Ireland%29) aus England mitgebracht. Österreicher würden es Most nennen und der Geschmack ist einfach Wahnsinn. 
9
+Dieses [Cider](http://de.wikipedia.org/wiki/Cider) ist für mich mit ganz besonderen Erinnerungen an eine Irland Sprachreise in der HTL verbunden denn da gab es ein kleines Pub namens Bakers Cornerr das uns viel Freude bereitet hat. 
10
+Bei dieser Gelegenheit möchte ich meinen Gruß an alle Cider Fans, alle ehemaligen Schulkollegen und Freunde richten die dabei gewesen sind. Ich werde die 750ml auf jeden Fall genießen und an euch denken. _Prost Leute!_

+ 16
- 0
content/posts/2007-11-15-gbit_routing_with_bsd_part_1.md View File

@@ -0,0 +1,16 @@
1
+---
2
+date: "2007-11-15"
3
+title: GBit Routing with BSD [Part1]
4
+slug: gbit_routing_with_bsd_part_1
5
+tags: [ "FreeBSD", "Hardware" ]
6
+---
7
+
8
+Da [ordentliche GBit Router](http://www.juniper.net/products_and_services/j_series_services_routers/index.html) viel zu teuer für mich sind bin ich derzeit auf der Suche nach einer möglichst stromsparenden (da 24/7 Betrieb zuhause) Lösung die annähernd 1GBit routen kann. 
9
+Meine ersten Benchmarks haben mich deshalb dazu geführt erstmal alle GBit Karten auszuprobieren dir mir zur Verfügung stehen. Das Resultat ist recht eindeutig. Mit billigen PCI GBit Karten erreicht man meist um die 500MBit. Wenn man mehr will sollte man etwas Geld in Intel PRO/1000 Server Karten investieren (oder einen Blick auf Intel Server Boards werfen). 
10
+Der anschließende Routing Test mit [pf](https://www.openbsd.org/faq/pf/) und _netperf_ hat gezeigt, dass der zusätzliche Overhead durch _pf_ bei dieser Geschwindigkeit nur bei ein paar Prozent liegt. Bei **780MBit/sec** konnte ich einen Athlon64 3800+ mit _FreeBSD 7_ und billigen GBit Karten trotzdem zu 100% mit Interrupts auslasten. 
11
+Der Vergleichstest mit [OpenBSD 4.2](http://www.openbsd.org/) war eher ernüchternd. Scheinbar passen noch ein paar Einstellungen nicht denn bisher erreiche ich nur 180MBit/sec aber die CPU ist dabei zu 70% idle. 
12
+Ein Versuch auf OpenBSD 4.2 i386 zu wechseln scheiterte an verschiedensten Kernel Panics die völlig unmotiviert an unterschiedlichen Stellen beim start auftauchen. Wenn _OpenBSD 4.2 AMD64_ nicht so problemlos auf der selben Hardware laufen würde könnte man fast an einen RAM/CPU Defekt denken.
13
+
14
+**Update:** Die Kernel Panics sind scheinbar durch die HDD ausgelöst worden denn nach einer Installation auf einer anderen Platte sind sie weg. Das Durchsatzproblem mit 180MBit ist aber weiterhin reproduzierbar allerdings nur in eine Richtung!? 
15
+
16
+![](/images/2012/openbsd_panic.jpg)

+ 100
- 0
content/posts/2007-11-20-gbit_routing_with_bsd_part_2.md View File

@@ -0,0 +1,100 @@
1
+---
2
+date: "2007-11-20"
3
+title: GBit Routing with BSD [Part2]
4
+slug: gbit_routing_with_bsd_part_2
5
+tags: [ "FreeBSD", "Hardware" ]
6
+---
7
+
8
+Nachdem ich inzwischen das OpenBSD Kernel-Panic-Syndrom aufklären konnte (böse alte Festplatte) habe ich auch ein paar Linux und NetBSD Durchläufe gemacht und die Tests um [iperf](http://dast.nlanr.net/Projects/Iperf/) erweitert. 
9
+[Netperf](http://www.netperf.org/netperf/) ist zwar ein tolles Tool aber läuft scheinbar bei OpenBSD 4.2 AMD64 auf ein interessantes Problem auf. OpenBSD AMD64 bremst dabei jede TCP Verbindung auf ca 180MBit ein. Da _netperf_ nur genau einen TCP Socket aufbaut und dort so schnell wie möglich Daten draufpackt fällts das deutlich auf. In der Gegenrichtung ist hingegen alles okay … 710MBit!? Deshalb habe ich anschließend alle Tests mit _iperf_ und 3 TCP Sockets wiederholt um meine Vermutung zu untermauern. 
10
+**Aus den Benchmarks habe ich interessante Dinge gelernt:**
11
+
12
+* Routern bringt es (fast) garnichts wenn man AMD64 statt i386 einsetzt
13
+* pf kostet bis zu ca 10% Performance
14
+* FreeBSD 7.0 wird ein grandioses Release
15
+* ich brauche ordentliche Netzwerkkarten für weitere Tests (sind schon bestellt)
16
+
17
+## Hardware
18
+
19
+<pre>
20
+AMD Athlon64 3200+ 1GB DDR PC3200 Elitegroup ECS-nForce4-A939 
21
+
22
+nfe0: NVIDIA nForce4 CK804 MCP9 Networking Adapter (onboard)
23
+re0: Realtek RTL8110SB (PCI 32Bit, 33Mhz)
24
+</pre>
25
+
26
+## Benchmarks
27
+
28
+<table>
29
+<tr>
30
+  <td>&nbsp;</td>
31
+  <td colspan="2"><strong>netperf</strong></td>
32
+  <td colspan="2"><strong>iperf</strong></td>
33
+</tr>
34
+<tr>
35
+<td><strong>OS</strong></td>
36
+<td><strong>nfe0 &gt; re0</strong></td>
37
+<td><strong>re0 &gt; nfe0</strong></td>
38
+<td><strong>nfe0 &gt; re0</strong></td>
39
+<td><strong>re0 &gt; nfe0</strong></td>
40
+</tr>
41
+<tr>
42
+<td>FreeBSD 7.0 BETA3 i386</td>
43
+<td>783</td>
44
+<td>-</td>
45
+<td>643</td>
46
+<td>-</td>
47
+</tr>
48
+<tr>
49
+<td>FreeBSD 7.0 BETA2 AMD64</td>
50
+<td>782</td>
51
+<td>738</td>
52
+<td>646</td>
53
+<td>635</td>
54
+</tr>
55
+<tr>
56
+<td>OpenBSD 4.2 i386</td>
57
+<td>576</td>
58
+<td>661</td>
59
+<td>564</td>
60
+<td>626</td>
61
+</tr>
62
+<tr>
63
+<td>OpenBSD 4.2 AMD64</td>
64
+<td>180</td>
65
+<td>710</td>
66
+<td>602</td>
67
+<td>621</td>
68
+</tr>
69
+<tr>
70
+<td>Linux 2.6.21.5 i686</td>
71
+<td>687</td>
72
+<td>730</td>
73
+<td>605</td>
74
+<td>628</td>
75
+</tr>
76
+<tr>
77
+<td>Linux 2.6.23.8-cfs-v24 i686</td>
78
+<td>661</td>
79
+<td>740</td>
80
+<td>591</td>
81
+<td>633</td>
82
+</tr>
83
+<tr>
84
+<td>FreeBSD 6.2 i386</td>
85
+<td>657</td>
86
+<td>-</td>
87
+<td>651</td>
88
+<td>-</td>
89
+</tr>
90
+<tr>
91
+<td>NetBSD 4.0 RC3 i386</td>
92
+<td>614</td>
93
+<td>655</td>
94
+<td>597</td>
95
+<td>602</td>
96
+</tr>
97
+</table>
98
+
99
+* [http://www.netperf.org/netperf/](http://www.netperf.org/netperf/) mit _-l 60 -t TCP\_STREAM_
100
+* [http://dast.nlanr.net/Projects/Iperf/](http://dast.nlanr.net/Projects/Iperf/) mit _-t 60 -P 3_

+ 122
- 0
content/posts/2007-11-26-gbit_routing_with_bsd_part_3.md View File

@@ -0,0 +1,122 @@
1
+---
2
+date: "2007-11-26"
3
+title: GBit Routing with BSD [Part3]
4
+slug: gbit_routing_with_bsd_part_3
5
+tags: [ "FreeBSD", "Hardware" ]
6
+---
7
+
8
+So nun alles zurück zum Anfang und diesmal mit richtiger Hardware. Bei diesen Tests ist der Ablauf identisch aber diesmal werden beim Routing 2 Intel PRO/1000 PT Server Netzwerkkarten am PCI Express Bus verwendet. Die Auswirkungen auf den Durchsatz sind ordentlich aber viel erfreulicher ist die bei weitem geringere CPU Last. 
9
+
10
+**Aus den Benchmarks habe ich wieder einiges gelernt:**
11
+
12
+* billige NICs: 750MBit und 100% CPU Last; ordentliche NICs: 940MBit und 60% CPU Last
13
+* Intel PRO/1000 PT Server NICs brauchen um ca die Hälfte weniger CPU als die billigeren PT Desktop NICs
14
+* OpenBSD bevorzugt gute Hardware und läuft dann auch hervorragend
15
+
16
+## Hardware
17
+
18
+<pre>
19
+AMD Athlon64 3200+ 1GB DDR PC3200 Elitegroup ECS-nForce4-A939
20
+em0: Intel(R) PRO/1000 PT Server Adapter (PCI-Express)
21
+em1: Intel(R) PRO/1000 PT Server Adapter (PCI-Express)
22
+</pre>
23
+
24
+<table>
25
+<tr>
26
+  <td>&nbsp;</td>
27
+  <td colspan="4"><strong>netperf (MBit/sec)</strong></td>
28
+  <td colspan="4"><strong>iperf (MBit/sec)</strong></td>
29
+  <td colspan="2"><strong>CPU usage</strong></td>
30
+</tr>
31
+<tr>
32
+  <td>&nbsp;</td>
33
+  <td colspan="2"><strong>em0 &gt; em1</strong></td>
34
+  <td colspan="2"><strong>em1 &gt; em0</strong></td>
35
+  <td colspan="2"><strong>em0 &gt; em1</strong></td>
36
+  <td colspan="2"><strong>em1 &gt; em0</strong></td>
37
+  <td colspan="2">&nbsp;</td>
38
+</tr>
39
+<tr>
40
+  <td><strong>OS</strong></td>
41
+  <td><strong>forw.</strong></td>
42
+  <td><strong>pf</strong></td>
43
+  <td><strong>forw.</strong></td>
44
+  <td><strong>pf</strong></td>
45
+  <td><strong>forw.</strong></td>
46
+  <td><strong>pf</strong></td>
47
+  <td><strong>forw.</strong></td>
48
+  <td><strong>pf</strong></td>
49
+  <td><strong>forw.</strong></td>
50
+  <td><strong>pf</strong></td>
51
+</tr>
52
+<tr>
53
+  <td><strong>FreeBSD 7.0 BETA2 AMD64</strong></td>
54
+  <td>941</td>
55
+  <td>940</td>
56
+  <td>927</td>
57
+  <td>933</td>
58
+  <td>946</td>
59
+  <td>946</td>
60
+  <td>937</td>
61
+  <td>941</td>
62
+  <td>30%</td>
63
+  <td>60%</td>
64
+</tr>
65
+<tr>
66
+  <td><strong>Linux 2.6.21.5 i686</strong></td>
67
+  <td>758</td>
68
+  <td>-</td>
69
+  <td>734</td>
70
+  <td>-</td>
71
+  <td>946</td>
72
+  <td>-</td>
73
+  <td>936</td>
74
+  <td>-</td>
75
+  <td>?</td>
76
+  <td>?</td>
77
+</tr>
78
+<tr>
79
+  <td><strong>NetBSD 4.0 RC3 i386</strong></td>
80
+  <td>602</td>
81
+  <td>574</td>
82
+  <td>597</td>
83
+  <td>573</td>
84
+  <td>903</td>
85
+  <td>792</td>
86
+  <td>888</td>
87
+  <td>763</td>
88
+  <td>100%</td>
89
+  <td>100%</td>
90
+</tr>
91
+<tr>
92
+  <td><strong>OpenBSD 4.2 i386</strong></td>
93
+  <td>927</td>
94
+  <td>924</td>
95
+  <td>903</td>
96
+  <td>898</td>
97
+  <td>946</td>
98
+  <td>946</td>
99
+  <td>936</td>
100
+  <td>936</td>
101
+  <td>40%</td>
102
+  <td>55%</td>
103
+</tr>
104
+<tr>
105
+  <td><strong>OpenBSD 4.2 AMD64</strong></td>
106
+  <td>928</td>
107
+  <td>924</td>
108
+  <td>903</td>
109
+  <td>891</td>
110
+  <td>946</td>
111
+  <td>946</td>
112
+  <td>937</td>
113
+  <td>936</td>
114
+  <td>40%</td>
115
+  <td>55%</td>
116
+</tr>
117
+</table>
118
+
119
+
120
+
121
+* [http://www.netperf.org/netperf/](http://www.netperf.org/netperf/) mit _-l 60 -t TCP\_STREAM_
122
+* [http://dast.nlanr.net/Projects/Iperf/](http://dast.nlanr.net/Projects/Iperf/) mit _-t 60 -P 3_

+ 16
- 0
content/posts/2008-04-19-r3_bluelife_at.md View File

@@ -0,0 +1,16 @@
1
+---
2
+date: "2008-04-19"
3
+title: r3.bluelife.at
4
+slug: r3_bluelife_at
5
+tags: [ "FreeBSD", "Hardware" ]
6
+---
7
+
8
+Ganz unerwartet standen heute zu Mittag 2 Pakete vor mir - voll mit bereits vor Wochen bestellter Hardware für meinen zukünftigen Router. Wie ihr mich kennt kaufe ich natürlich keine 25 Euro SoHo Router sondern echtes Männerspielzeug. 
9
+Die Hardware habe ich basierend auf meinen Erfahrungen bei den [1GBit Routing Benchmarks](http://www.bluelife.at/2008/07/stromsparender-freebsd-1gbit-router.html) ausgesucht und mich ein wenig von meinem Arbeitskollegen beeinflussen lassen der sich mit [Stromspar PCs](http://www.meisterkuehler.de/forum/vorstellung-von-stromspar-pcs/) beschäftigt. 
10
+Er hat selbst erst vor einigen Monaten einen Desktop PC mit einem [Idleverbrauch von 17W](http://www.meisterkuehler.de/forum/vorstellung-von-stromspar-pcs/16008-stromspar-rechner-mit-amd-x2-3800-ee-sff-sind-idlewerte-unter-17-watt-moeglich.html) zusammengebaut und arbeitet momentan auch an einem Tool für einfaches und stabiles Undervolting. Natürlich hab ich ihn schon dazu überredet es auch FreeBSD kompatibel zu gestalten und mich als Betatester angeboten. Mehr dazu in den nächsten Wochen mit einem Prototypen - aber nun zurück zum eigentlichen Thema. 
11
+Einen stromsparenden Router zu bauen der 1GBit routen kann ist mit der richtigen Hardware kein großes Problem. Wichtig ist dabei die Größe des L1/L2 Cache der CPU und die Verwendung guter Netzwerkkarten. Dabei habe ich mich bewusst für die Sempron64 CPUs entschieden denn man kann beim Routing fast immer nur einen Kern vernünftig auslasten und der L1 und L2 Cache sind beim LE-1300 ebenfalls 64KB bzw 512KB also identisch zu den Athlon64 X2 Modellen. Bei den Netzwerkkarten war die Wahl einfach denn man kommt dabei unweigerlich zu Intel PRO/1000 PT Server Karten wo sich nur mehr die Frage stellt wie viele Ports man braucht. Als Netzteil kommt ein 110W Tischnetzteil samt PicoPSU zum Einsatz - nicht billig aber dem Stromverbrauch zuliebe. Standesgemäß verbaut man dann alles in ein 3HE 19" Gehäuse damit man alle PCI und PCIe Slots verwenden kann und fertig ist das Männerspielzeug.
12
+
13
+## Pictures
14
+
15
+![](/images/2008/r3.jpg)
16
+![](/images/2008/r3_inside.jpg)

+ 14
- 0
content/posts/2008-05-24-undervolting_mit_cpupowerd.md View File

@@ -0,0 +1,14 @@
1
+---
2
+date: "2008-05-24"
3
+title: Undervolting mit cpupowerd
4
+slug: undervolting_mit_cpupowerd
5
+tags: [ "FreeBSD" ]
6
+---
7
+
8
+Es gibt Grund zur Freude denn seit gestern gibt es das erste Release von [cpupowerd 0.1.0](http://sourceforge.net/projects/cpupowerd/). Wofür das Teil gut ist? Einfach erklärt spart es Strom unter Linux und bald auch FreeBSD. 
9
+Die Details sind etwas komplexer denn das was die Betriebssystemkernel heute bereits machen und vielen unter [Cool'n'Quiet](http://de.wikipedia.org/wiki/Cool%27n%27Quiet), PowerNow! oder SpeedStep bekannt ist spart bereits viel Strom aber man kann eben noch etwas mehr rausholen. Standardmäßig halten sich alle an die Spezifikation und die ist natürlich für die schlimmsten Fälle gedacht. Damit man genau diese Reserven nutzen kann gibt es [cpupowerd](http://sourceforge.net/projects/cpupowerd/) der einem beim Undervolten und somit stromsparen hilft. 
10
+Momentan werden nur AMD K8 CPUs und Linux unterstützt aber Intel Unterstützung und eine breitere Betriebssystem Unterstützung sind bereits in Arbeit. 
11
+So habe ich an den vergangenen 2 Tagen an FreeBSD support für cpupowerd gearbeitet und kann bereits den ersten funktionsfähigen Patch vorweisen. Natürlich muss er noch ausführlicher getestet werden und eine kurze Anleitung fehlt auch noch aber ich bin zuversichtlich, dass er in die nächste Version 0.2.0 integriert wird.
12
+
13
+**Update 25. Mai:**
14
+Eine Anleitung wie man cpupowerd verwenden muss findet man im dazugehörigen Thread [http://www.meisterkuehler.de/forum/linux-unix/20124-cpupowerd-ein-tool-fuers-cpu-undervolten-unter-linux.html](http://www.meisterkuehler.de/forum/linux-unix/20124-cpupowerd-ein-tool-fuers-cpu-undervolten-unter-linux.html)

+ 8
- 0
content/posts/2008-05-30-cpupowerd_free_bsd_patch.md View File

@@ -0,0 +1,8 @@
1
+---
2
+date: "2008-05-30"
3
+title: cpupowerd FreeBSD Patch
4
+slug: cpupowerd_freebsd_patch
5
+tags: [ "FreeBSD", "Programming" ]
6
+---
7
+
8
+Es hat zwar ein paar Tage länger gedauert als ursprünglich geplant aber jetzt ist mein FreeBSD Patch für [cpupowerd](http://sourceforge.net/projects/cpupowerd/) vollständig und stabil. So wie es aussieht wird er in die nächste größere Version 0.2.0 integriert werden. Ich hätte auch gerne OpenBSD/NetBSD oder DragonflyBSD unterstützt aber leider sind die BSDs in diesem Bereich alle so unterschiedlich und bieten derzeit keine Möglichkeit auf die CPU MSR Register zuzugreifen, dass es sehr viel Aufwand wäre dafür erst einmal die nötige Infrastruktur zu schaffen. Auf FreeBSD ist dank Stanislav Sedov sysutils/devcpu vorhanden das als Kernelmodul einen Zugriff auf die MSR Register ermöglicht. Wenn sich jemand darum kümmert das Kernelmodul auf die anderen BSDs zu portieren oder einen anderen Weg kennt um auf die MSR Register zuzugreifen dann mache ich gerne den Rest der dafür nötig ist.

+ 10
- 0
content/posts/2008-06-11-vagalume_0_6_for_free_bsd.md View File

@@ -0,0 +1,10 @@
1
+---
2
+date: "2008-06-11"
3
+title: Vagalume 0.6 for FreeBSD
4
+slug: vagalume_0_6_for_free_bsd
5
+tags: [ "FreeBSD" ]
6
+---
7
+
8
+![](/images/2012/vagalume-freebsd.png)
9
+
10
+Mir ist der offizielle [last.fm](http://www.last.fm/) Client wegen seiner Abhängigkeiten zu QT4 wieder mal tierisch auf den Senkel gegangen denn das passt so garnicht in meinen schön gepflegten GTK/Xfce Desktop. Zum Glück hab ich dann aber [Vagalume](http://vagalume.igalia.com/) gefunden. Eine wirklich tolle Applikation die auch meine hochgeliebten Last.fm Radios spielen kann doch leider ist der noch so neu, dass man ihn nicht in den Ports findet. Also die Fußballsocken hochgekrempelt und selber gemacht. Das Resultat nach knapp 2h sieht schon brauchbar aus.

+ 28
- 0
content/posts/2008-07-31-stromsparender_freebsd_1_gbit_router.md View File

@@ -0,0 +1,28 @@
1
+---
2
+date: "2008-07-31"
3
+title: Stromsparender FreeBSD 1GBit Router
4
+slug: stromsparender_freebsd_1_gbit_router
5
+tags: [ "FreeBSD", "Hardware" ]
6
+---
7
+
8
+Vor 10 Monaten hab ich mit den ersten Vorbereitungen für diesen Router begonnen und in dieser Zeit viel über Effizienz, Stromsparen und Undervolting gelernt. Hier die kompakte Zusammenfassung für alle die ein ähnliches Vorhaben planen.  
9
+
10
+## Anforderungen
11
+
12
+Die Vorgaben sind für 2008 wohl relativ leicht nachvollziehbar. Ich brauch einen Router der wirklich 1GBit routen kann, mindestens 4x 1GBit Netzwerke bedient, möglichst wenig Strom verbraucht (weniger als 35W im Idle) und unter einem BSD läuft. Der Preis spielt natürlich auch eine Rolle aber bei den heutigen Hardwarepreisen war mir der Stromsparaspekt wichtiger. 
13
+
14
+## Stromsparende Hardwareauswahl
15
+
16
+Mit herkömmlicher x86 Hardware 1GBit zu routen ist wie ich bereits mit Benchmarks ermittelt habe kein großes Problem vorausgesetzt man verwendet ordentliche Netzwerkkarten. Nachdem ich mindestens 4 Netze haben will fällt die Wahl eindeutig auf eine Intel PRO/1000 PT Quad Server Karte denn Alternativen gibt es eigentlich keine.Wenn es um die Motherboardauswahl für ein stromsparendes System geht führt momentan nichts an einem nForce 630a Chipsatz vorbei. Bei den Netzteilen geht der Trend in letzter Zeit immer mehr in Richtung Effizienz und 80Plus was es in Zukunft einfacher machen sollte ein gutes Netzteil zu finden. Derzeit hat man noch nicht viele Möglichkeiten aber ich hatte noch eine PicoPSU übrig und ein relativ gutes 65W Morex Steckernetzteil also habe ich die verwendet. Wenn man aber ein effizientes Netzteil sucht dann gibt es bei [80Plus](http://www.80plus.org/) eine Liste aller 80Plus zertifizierten Netzteile. Außerdem helfen einem die User im [Meisterkühler.de Forum](http://www.meisterkuehler.de/forum/) gerne mit Rat und Tat weiter. 
17
+
18
+##  Undervolting
19
+
20
+Eine gute Hardwareauswahl ist enorm wichtig, denn wenn man einen High-End Chipsatz oder eine zusätzliche Grafikkarte verwendet dann verbraucht das schnell einige 10 bis 100W mehr als notwendig. Das selbe gilt für alle die noch einen Pentium 4 irgendwo herumliegen haben - lasst ihn liegen! Mit so einem System ist es sinnlos zu versuchen noch 5W durch Undervolting einzusparen wenn man durch einfachere Maßnahmen 100W sparen kann.Wenn man aber alles richtig gemacht hat und jetzt noch das letzte überflüssige Watt einsparen will dann kann man die Kernspannung der CPU reduzieren. Das ist prinzipiell gefährlich denn es kann zu Hardwareschäden führen aber die Gefahr ist bei richtiger Handhabung gering und führt maximal zu einem einfrieren des Systems.Das ist die Theorie denn für Linux und Windows gibt es zwar einige solcher Tools aber leider bis dahin kein einziges unter BSD. Zum Glück habe ich einen Arbeitskollegen der aus unzufriedenheit mit einem der Linux undervolting Tools selbst ein solches Projekt namens [cpupowerd](http://cpupowerd.sourceforge.net/) gestartet hat. Das war die perfekte Gelegenheit für mich diesem Tool FreeBSD Unterstützung beizubringen denn wie oft hat man schon die Gelegenheit so direkten Kontakt mit dem Author zu haben? Das Resultat war ein Patch für cpupowerd 0.1.2 der FreeBSD 6.x und 7.x support für AMD K8 CPUs hinzufügt.
21
+
22
+## Ergebnis
23
+
24
+Es war einiges an Arbeit die für mich perfekte Lösung zu finden und dann auch umzusetzen aber das Resultat überzeugt. 31W im Idle und ca 50W unter Volllast für einen 5x 1GBit Router bekommt man auch mit Mobile Hardware kaum hin. Die 2 Wochen Arbeit um dem cpupowerd FreeBSD Support beizubringen haben sich auch gelohnt denn das Undervolting spart im Idle ca 5W und unter Volllast 9W.  
25
+
26
+## Pictures
27
+
28
+![](/images/2008/r3.jpg) ![](/images/2008/r3_inside.jpg)

+ 35
- 0
content/posts/2009-01-13-club3k_geschichte.md View File

@@ -0,0 +1,35 @@
1
+---
2
+date: "2009-01-13"
3
+title: Club3k Geschichte
4
+slug: club3k_geschichte
5
+tags: [ "Helma", "Club3k" ]
6
+---
7
+
8
+Nachdem es nur mehr sehr wenige Leute gibt die Club3k über die gesamte Zeit gekannt haben und so gut wie keinen mehr der auch die Geschichten hinter den Kulissen kennt möchte ich, dass dieses Wissen nicht ganz verloren geht. Deshalb versuche ich einige Gedanken die Club3k betreffen zusammenzufassen. Wenn ein Administrator aus dem Nähkästchen plaudert sozusagen.  
9
+
10
+## Die Entstehung
11
+
12
+Es sind nur mehr wenige denen der Begriff Netonline oder in der korrekten schreibweise //etonline noch etwas sagt. Die plötzliche Schließung von Netonline im Frühjahr 2003 hat einige hundert vorwiegend Salzburger Stammchatter hinterlassen die sich nicht damit abfinden konnten. Einige davon haben es wohl geschafft in [Andi](http://www.itac.at/) den richtigen Nerv zu treffen und so hat er sich eines Tages bei mir gemeldet und mich gefragt was ich davon halte einen Nachfolger für Netonline aufzubauen. Meine Antwort könnt ihr euch wohl vorstellen und so sind wir dann zusammen mit Martin der sich um die Technik gekümmert hat im September 2003 pünktlich zu Schulbeginn mit Club3k online gegangen. 
13
+![](/images/2012/club3k-history-2004.png) 
14
+
15
+## Die Software ist der Schlüssel
16
+
17
+Begonnen haben wir 2003 mit einer Community auf Basis meines selbst entwickelten PHP Frameworks und der [NEngine](http://www.itac.at/) von Andi als Chat die er speziell für Netonline geschrieben hat. Nach etwa einem Jahr hat Andi sich die Zeit genommen und im Winter 2004 die Community komplett neu mit [Helma](http://www.helma.org/) programmiert und dabei auch gleich die Galleries deutlich verbessert. Im darauffolgenden Jahr sind dann auch die Events sowie Top or Flop durch Community Updates hinzugekommen. Seit Anfang 2006 haben wir auch einen selbst entwickelten Quizbot laufen und seit Anfang 2008 gibt es sogar einen eigenen Chatclient.  
18
+
19
+## Der schwierige Weg an die Spitze
20
+
21
+Aus der Not geboren, ohne konkretes Ziel aber mit komplett selbst entwickelter Software. Das sind keine guten Zutaten für eine erfolgreiche Zukunft aber die Community war damals im Vergleich zu anderen durch ihre Galleries und die User etwas besonderes und die Lungauer Chatter haben uns nicht im Stich gelassen. So ist Club3k stetig gewachsen und das teilweise weit schneller als uns lieb war denn angefangen haben wir auf einem alten Athlon 1800+. Der war allerdings nach einem Jahr bereits völlig überlastet und so blieb uns im Frühjahr 2006 nichts anderes übrig als einen Dual Xeon 3Ghz zu kaufen der nach damaligen Schätzungen ziemlich überdimensioniert war. Wir hatten allerdings bereits nach einem halben Jahr fortwährende Stabilitätsprobleme da die Datenbank dermaßen überlastet war, dass wir sogar gezwungen waren mehrere Millionen alter Gästebucheinträge zu löschen um nur irgendwie den Winter zu überstehen. Im Frühling darauf folgte dann ein Core2Duo 2.4Ghz als neuer Datenbankserver der seitdem ununterbrochen läuft und seinen Dienst verrichtet. Damit stand dem weiteren Wachstum nichts mehr im Weg und das kam dann auch denn der Herbst 2007 war eine wirkliche Bewährungsprobe für die gesamte Software und Hardware und auch gleichzeitig der Höhepunkt des Wachstums. So haben wir es innerhalb von etwas mehr als 4 Jahren auf ziemlich genau 68.000 registrierte User und 950.000 Bilder geschafft. 
22
+
23
+![](/images/2012/club3k-history-2008.jpg)
24
+
25
+## Die Probleme
26
+
27
+Eine kleine Community benötigt so gut wie keinen Support. Natürlich hat mal hier und da jemand technische Probleme, Unklarheiten oder er will nur etwas wissen aber das kann man als Administrator bequem nebenher erledigen. Sobald eine Community aber eine gewisse Größe überschreitet ist man plötzlich nur mehr mit Support beschäftigt. User wollen gelöscht werden, beschweren sich über andere User, beschweren sich über Gott und die Welt, fragen sich was eindeutige Fehlermeldungen bedeuten könnten oder glauben plötzlich auch noch, dass du ihre Windows Probleme lösen könntest und so verschwendest du als Programmierer jeden Tag erstmal Zeit mit Usersupport anstatt zu programmieren. Nachdem unsere User vorwiegend aus dem Lungau kommen und dort inzwischen so ziemlich jeder zwischen 8 und 20 Jahren einen Account bei uns hat erwischt man auch irgendwann unweigerlich den Bodensatz der Gesellschaft. User die nur Unfug anstellen und glauben im Internet anonym zu sein. Die stören permanent im Chat, faken und beleidigen andere User, gehen ihren rechtsradikalen Neigungen nach oder drohen einem mit DDoS Angriffen. Soetwas kostet uns nicht nur unheimlich viel Zeit sondern ist in Härtefällen auch äußerst unangenehm für alle anderen User. Diese Probleme hat leider jede Community ab einer bestimmten Größe und man kann dem nur bedingt entgegenwirken. Wie jede Community die stark wächst braucht man von Zeit zu Zeit neue und oft auch mehr Hardware die natürlich Geld kostet. Ohne konkreten Businessplan oder potente Geldgeber stößt man da schnell an seine Grenzen und da Club3k nie einen Businessplan hatte war es immer schwer neue Hardware aufzutreiben. Natürlich haben wir es immer irgendwie geschafft aber das Resultat sind natürlich Monate in denen mal wieder die Community sehr langsam oder garnicht erreichbar ist und man kann leider nichts dagegen machen. Mit etwas mehr Geld könnte man sich ordentliche Server zur richtigen Zeit leisten und könnte viele der Ausfälle von vorne herein vermeiden.  
28
+
29
+## Die "neue" Community
30
+
31
+Als Club3k im Jahr 2004 entstanden ist gab es noch sehr wenig Konkurrenz aber das hat sich in den folgenden Jahren mit dem Web 2.0 Boom geändert als StudiVZ, Facebook, Flickr und MySpace aufkamen. Dem hat man mit 2 Programmierern natürlich nicht viel entgegenzusetzen aber wir haben trotzdem damit begonnen eine neue Community und eine neue Chatengine zu planen. Da wir aber nur unsere Freizeit opfern können dauert alles viel zu lange und bis die neue Community fertig ist kann man sie bereits fast wieder als alt bezeichnen. Das frustriert natürlich und es zeigt einem, dass man zu klein ist und "ein bischen innovativ" ist einfach nicht genug.  
32
+
33
+## Das Ende
34
+
35
+Nach über 4 Jahren Club3k ist es für uns alle eine schwere Entscheidung gewesen. Immerhin haben wir alle viel Zeit, Geld und Arbeit in dieses Projekt gesteckt. Auch wenn davon nicht viel übrig bleiben wird so sind es doch viele Freundschaften und Erfahrungen die wir alle davon mitnehmen können. So bleibt uns nur der Dank an alle treuen User. Danke, dass ihr Club3k zu dem gemacht habt was es heute ist und danke auch an alle im Team die ihre Zeit geopfert haben und der Letzte macht das Licht aus.

+ 11
- 0
content/posts/2009-04-05-helma_on_jetty_6_1_16.md View File

@@ -0,0 +1,11 @@
1
+---
2
+date: "2009-04-05"
3
+title: Helma on Jetty 6.1.16
4
+slug: helma_on_jetty_6_1_16
5
+tags: [ "Programming", "Helma" ]
6
+---
7
+
8
+About a year ago i've started thinking about how to implement Request Based Priority Queues in Helma and got to the conclusion that Jetty 5.1 which Helma uses up to now is too old for what i wanted to do so i've created a patch for Helma to use a newer Jetty but had never time to finish it. 
9
+Today i've read about hannes wishlist for Helma 1.7 and time seemed perfect to talk with him about my patch. About 10 Hours later i've succeeded and can serve at least the _welcome_ app. 
10
+
11
+![](/images/2012/helma-jetty6.jpg)

+ 19
- 0
content/posts/2009-04-12-freebsd_slim_themes.md View File

@@ -0,0 +1,19 @@
1
+---
2
+date: "2009-04-12"
3
+title: FreeBSD SLiM Themes
4
+slug: freebsd_slim_themes
5
+tags: [ "FreeBSD" ]
6
+---
7
+
8
+Kaum hab ich einmal Urlaub vergeude ich meine Zeit gleich mit Dingen die ich eigentlich garnicht kann. Dafür gibt es jetzt einen FreeBSD Theme für [SLiM](http://slim.berlios.de/) den ich seit Jahren zufrieden als Login Manager verwende. 
9
+Entpacken in _/usr/local/share/slim/themes_ und danach in _/usr/local/etc/slim.conf_ den Wert _current_theme = freebsd-beastie_ oder _freebsd-simple_ einstellen. 
10
+
11
+**SLiM FreeBSD Theme (Beastie):**
12
+[http://people.freebsd.org/~decke/distfiles/slim-freebsd-beastie.tar.gz](http://people.freebsd.org/%7Edecke/distfiles/slim-freebsd-beastie.tar.gz)[](http://www.bluelife.at/static/files/slim-freebsd-beastie.tar.gz) 
13
+
14
+![](/images/2012/slim-freebsd-beastie.png) 
15
+
16
+**SLiM FreeBSD Theme:**
17
+[http://people.freebsd.org/~decke/distfiles/slim-freebsd-simple.tar.gz](http://people.freebsd.org/%7Edecke/distfiles/slim-freebsd-simple.tar.gz) 
18
+
19
+![](/images/2012/slim-freebsd-theme.png)

+ 14
- 0
content/posts/2009-04-27-grazer_linuxtage_2009.md View File

@@ -0,0 +1,14 @@
1
+---
2
+date: "2009-04-27"
3
+title: Grazer Linuxtage 2009
4
+slug: grazer_linuxtage_2009
5
+tags: [ "Glt" ]
6
+---
7
+
8
+Ich hab am Samstag die Gelegenheit genutzt und mir die [Grazer Linuxtage](http://www.linuxtage.at/) zusammen mit einer frustresistenten Freundin angeschaut. Auf die Idee bin ich durch [Jörg Möllenkamp](http://www.c0t0d0s0.org/) gekommen nachdem er geschrieben hat, dass er seinen [Insights to Solaris](http://www.c0t0d0s0.org/archives/5505-Presentation-for-the-Linuxtage-2009-in-Graz.html) Vortrag dort hält. Sehr sehenswert und äußerst interessant endlich mal die Person hinter dem Blog in Aktion zu sehen - ich muss echt mal mit ZFS auf FreeBSD rumspielen - vorgemerkt ist es schon. 
9
+Ein unerwartet glückliches Händchen bei der Auswahl der Themen hatte ich außerdem mit dem Vortag "PostgreSQL für MySQL-Frustrierte" von [Hans-Jürgen Schönig](http://www.postgresql-support.de/team_postgresql.html) - sehr unterhaltsam und macht unheimlich Lust auf [PostreSQL](http://www.postgresql.org/). Bei nächster Gelegenheit wird wohl eine Evaluierung für die c3kcom fällig werden um mal die zu erwartenden Probleme auszuloten. 
10
+Interessant hat auch "Stromsparen mit Embedded Systems" geklungen aber der Inhalt war leider für Anfänger gedacht deshalb leider recht uninteressant für mich. 
11
+Alles in allem ein schöner Nachmittag auch wenn die Grazer Linuxtage vom Umfang her noch sehr überschaubar ausfallen. Ich hatte trotzdem ein paar nette Unterhaltungen und umgeben von Geeks fühlt man sich schnell heimisch. 
12
+Danke auch an meine unerschrockene und frustresistente Begleitung die sich weder von Buzzwörtern wie "iSCSI-over-RDMA-over-IB-Target" noch von ungepflegten Geeks abhalten hat lassen denn so eine Veranstaltung ist für nicht Geeks wohl wenig verständlich - der Inhalt noch viel weniger ;o) 
13
+
14
+**Update:** BSD war leider nicht vertreten. Bis auf ein Funkfeuer Notebook mit [Puffy](http://www.openbsd.org/) Aufkleber und in Form von FreeNAS, pfSense und m0n0wall im "Stromsparen mit Embedded Systems" Vortrag konnte ich keine Anzeichen entdecken. Wo bleibt der Aufschrei nach einem BSD Stand nächstes Jahr?

+ 11
- 0
content/posts/2009-04-30-virtualbox_on_freebsd15.md View File

@@ -0,0 +1,11 @@
1
+---
2
+date: "2009-04-30"
3
+title: VirtualBox on FreeBSD!
4
+slug: virtualbox_on_freebsd_1
5
+tags: [ "VirtualBox", "FreeBSD" ]
6
+---
7
+
8
+BSD ist ja altmodisch deshalb gibts jetzt auch [VirtualBox](http://www.virtualbox.org/) auf FreeBSD. Die ganze Arbeit ist scheinbar in der Freizeit der Entwickler gemacht worden also nicht offiziell von Sun / Oracle supported also Danke, Danke, Danke! 
9
+
10
+**Announcement:** [http://article.gmane.org/gmane.comp.emulators.virtualbox.devel/1329](http://article.gmane.org/gmane.comp.emulators.virtualbox.devel/1329) 
11
+Port gibt es noch keinen aber das ist sicher nur eine Frage von Tagen. Meinen heutigen Cider trinke ich auf Alexander Eichner!

+ 14
- 0
content/posts/2009-05-05-virtualbox_on_freebsd.md View File

@@ -0,0 +1,14 @@
1
+---
2
+date: "2009-05-05"
3
+title: VirtualBox on FreeBSD!
4
+slug: virtualbox_on_freebsd
5
+tags: [ "VirtualBox", "FreeBSD" ]
6
+---
7
+
8
+YEAH! Geschafft. VirtualBox startet auf FreeBSD 8-current. 6 Tage nach der [Ankündigung](https://www.virtualbox.org/pipermail/vbox-dev/2009-April/006925.html) und mit knapp 20 patches haben wir es geschafft! Beteiligt sind [Beat Gätzi](http://www.chruetertee.ch/), [Dennis Herrmann](http://4bit.ws/), [Martin Wilke](http://miwi.cc/) und natürlich ich.
9
+Das war ein großer Schritt aber der Port ist noch ein Stück entfernt von einem benutzbarem Zustand (crasht beim anlegen von Disks, startet nicht unter 7-stable) aber wir sind natürlich weiter dran!
10
+**Update:** Auch auf FreeBSD 7.2 i386 startets schon.
11
+**2\. Update:** Es berichten auch schon einige darüber.
12
+
13
+* [http://www.golem.de/0905/66952.html](http://www.golem.de/0905/66952.html)
14
+* [http://www.pro-linux.de/news/2009/14155.html](http://www.pro-linux.de/news/2009/14155.html)

+ 12
- 0
content/posts/2009-05-14-cft_virtualbox_on_freebsd.md View File

@@ -0,0 +1,12 @@
1
+---
2
+date: "2009-05-14"
3
+title: "CFT: VirtualBox on FreeBSD"
4
+slug: cft_virtualbox_on_freebsd
5
+tags: [ "VirtualBox", "FreeBSD" ]
6
+---
7
+
8
+![](/images/2012/vbox-amd64.jpg) 
9
+
10
+Wir habens geschafft! Die wildesten Bugs und Probleme sind behoben also gibts jetzt den wohlverdienten Call for Testers. 
11
+Ich spar mir die Details zu wiederholen und verweise einfach auf miwi:[http://miwi.bsdcrew.de/2009/05/call-for-testing-virtualbox-for-freebsd/](http://miwi.bsdcrew.de/2009/05/call-for-testing-virtualbox-for-freebsd/) 
12
+Viel Spaß damit!

+ 81
- 0
content/posts/2009-06-04-freebsd_7_2_mit_huawei_e220_in_osterreich_drei.md View File

@@ -0,0 +1,81 @@
1
+---
2
+date: "2009-06-04"
3
+title: FreeBSD 7.2 mit Huawei E220 in Österreich (drei)
4
+slug: freebsd_7_2_mit_huawei_e220_in_osterreich_drei
5
+tags: [ "FreeBSD" ]
6
+---
7
+
8
+Nachdem ich bei eBay ein Huawei E220 für grob 35.- Euro erstanden und mir jetzt noch eine Daten Simkarte von [drei](http://www.drei.at/) besorgt habe folgt der interessante Teil.Diese Anleitung verwendet den [u3g](http://people.freebsd.org/%7En_hibma/u3g.html) Treiber von FreeBSD 7.2 mit einem Huawei E220 im Österreichischen Netz von [3](http://www.drei.at/).  
9
+
10
+## u3g Treiber laden
11
+
12
+Wie gewohnt mit _kldload u3g_ laden und damit er nach dem nächsten Neustart gleich geladen wird in _/boot/loader.conf_ eintragen. 
13
+
14
+`echo u3g_load="YES" >> /boot/loader.conf`
15
+
16
+## ppp.conf
17
+
18
+Selbst zusammengesucht und durch trial and error so lange ausgebessert bis es das tut was ich will.
19
+
20
+**/etc/ppp/ppp.conf:**
21
+
22
+`drei:
23
+  set device /dev/cuaU0.0
24
+  set speed 460800
25
+  set timeout 0
26
+  set authname drei.at
27
+  set authkey drei.at 
28
+  set dial "ABORT BUSY TIMEOUT 8 \
29
+  \"\" \
30
+  AT OK-AT-OK \
31
+  AT+CFUN=1 OK-AT-OK \
32
+  AT+CMEE=2 OK-AT-OK \
33
+  AT+CSQ OK \
34
+  AT+CGDCONT=1,\"IP\",\"drei.at\" OK \
35
+  AT+CGCLASS? OK \
36
+  AT+COPS? OK \
37
+  ATD*99# CONNECT"
38
+  set crtscts on
39
+  set reconnect 3 90
40
+  set vj slotcomp off
41
+  set lqrperiod 600
42
+  disable shortseq
43
+  disable vjcomp
44
+  disable acfcomp
45
+  disable deflate
46
+  disable deflate24
47
+  disable pred1
48
+  disable protocomp
49
+  disable mppe
50
+  disable ipv6cp
51
+  enable lqr
52
+  enable dns
53
+  resolv writable
54
+  set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255
55
+  add default HISADDR
56
+`
57
+
58
+## Connecting
59
+
60
+Jedes mal wenn man das UMTS Modem ansteckt muss man erstmal die PIN eingeben. Das kann leider nicht in die ppp.conf weil es sonst bei jedem reconnect einen Fehler auslösen würde deshalb machen wir das auf der Kommandozeile. 
61
+
62
+`echo AT+CPIN=1234 > /dev/cuaU0.0` 
63
+
64
+Nun kann man wie gewohnt verbinden. 
65
+
66
+`ppp drei > dial` 
67
+
68
+Sollte die Verbindung abgebaut werden oder abbrechen kann man durch ein erneutes _dial_ wieder neu verbinden.Sollte irgendwas nicht auf Anhieb funktionieren kann man auch selbst mit dem Modem reden - in AT Kommandos versteht sich. ("AT", "ATI", "AT&V", ...) 
69
+`cu -s 460800 -l /dev/cuaU0.0`
70
+
71
+## Autoconnect mit devd
72
+
73
+Man kann auch devd nutzen damit er beim anstecken dieses Modems automatisch die PIN eingibt und eine Verbindung aufbaut. 
74
+**/etc/devd.conf** 
75
+
76
+`attach 100 {
77
+  device-name "ucom[0-9]+";
78
+  match "vendor" "0x12d1";
79
+  match "product" "0x1003";
80
+  action "sleep 5 && echo AT+CPIN=1234 > /dev/cuaU0.0 && ppp -ddial drei";
81
+};`

+ 10
- 0
content/posts/2009-06-19-helma_now_uses_jetty_6_1_x.md View File

@@ -0,0 +1,10 @@
1
+---
2
+date: "2009-06-19"
3
+title: Helma now uses Jetty 6.1.x
4
+slug: helma_now_uses_jetty_6_1_x
5
+tags: [ "Programming" ]
6
+---
7
+
8
+The [Helma](http://www.helma.org/) patches that i've worked on in the jetty6 branch are now finished and hannes merged the branch to trunk. So Helma 1.7.0 will use Jetty 6.1.x if no major problems arise. 
9
+Why have i done that? Jetty 6 is nearly a complete rewrite with a much better architecture that lets you do things you couldn't do with Jetty 5 (Filters, QoS, ...) and should also give higher performance because of Java NIO. I've let you know if that really improves Helma performance once i've done some benchmarks. 
10
+You don't know Helma? Helma is a server side JavaScript Framework and Application Server. It's what keeps [ORF.ON](http://orf.at/), [club3k.at](http://club3k.at/), blogr.com, twoday.net and a lot of other sites running.

+ 10
- 0
content/posts/2009-09-25-kernel_2_6_31_broke_my_php_script.md View File

@@ -0,0 +1,10 @@
1
+---
2
+date: "2009-09-25"
3
+title: Kernel 2.6.31 broke my PHP script
4
+slug: kernel_2_6_31_broke_my_php_script
5
+tags: [ "Programming" ]
6
+---
7
+
8
+Strange things happened when _is_dir()_ suddenly returned false. The directory is there, was always there and _file_exists()_ confirms that. Last thing i've changed on that box was the Kernel update on my Slackware box to 2.6.31 so restarting with 2.6.27 and problem is gone. Very strange. 
9
+Okay digging a bit deeper, that directory is mounted via cifs (samba share) and when looking at _stat_ output or _ls -lai_ the Inode number is huge. Really huge. That was caused by a [patch](http://patchwork.kernel.org/patch/26614/) that enables cifs _serverino_ option per default but breaks all applications that are not compiled with large file support. 
10
+The workaround for this is to pass the option "noserverino" to _mount.cifs_.

+ 10
- 0
content/posts/2010-03-27-i_am_a_freebsd_ports_commiter_now.md View File

@@ -0,0 +1,10 @@
1
+---
2
+date: "2010-03-27"
3
+title: I'm a FreeBSD ports commiter now
4
+slug: i_am_a_freebsd_ports_commiter_now
5
+tags: [ "FreeBSD", "Personal" ]
6
+---
7
+
8
+Der [commit](http://lists.freebsd.org/pipermail/cvs-all/2010-March/309440.html) von [miwi](http://miwi.cc/) beweist, dass ich nun offiziell FreeBSD port committer bin! 
9
+Gratulationen werden am liebsten auf den Grazer Linuxtagen am FreeBSD Stand entgegen genommen. 
10
+Danke an meinen mentor [miwi](http://miwi.cc/) und co-mentor [beat](http://www.chruetertee.ch/) für die gemeinsame Arbeit im VirtualBox team und für das kommende mentoring. Außerdem sorry gleich mal vorweg für das erste mal INDEX kaputt machen.

+ 16
- 0
content/posts/2010-04-28-dvbs_live_tv_on_freebsd_with_mythtv_0_23_and_webcamd.md View File

@@ -0,0 +1,16 @@
1
+---
2
+date: "2010-04-28"
3
+title: DVB-S Live TV on FreeBSD with MythTV 0.23 and webcamd
4
+slug: dvbs_live_tv_on_freebsd_with_mythtv_0_23_and_webcamd
5
+tags: [ "FreeBSD", "MythTV" ]
6
+---
7
+
8
+It's not true anymore that FreeBSD does not support any DVB-S devices. Thanks to the work of Hans Petter Selasky on [video4bsd](http://www.selasky.org/hans_petter/video4bsd/) there are now DVB-S/2 devices for USB that just work. 
9
+
10
+![](/images/2012/mythtv-0.23-DVB-1.jpg) 
11
+
12
+The work on MythTV to get this running only took me one evening and was just because nobody compiled mythtv with v4l support lately. It also helped a lot that Jürgen Lock already played with the same device and found and fixes a few things. 
13
+**So what do you need to do now if you want to build your PVR on FreeBSD?** 
14
+First you need a USB device for DVB-C/DVB-T/DVB-S/DVB-S2 that is supported by webcamd. I took an Pinnacle PCTV Sat HDTV Pro USB 452e that supports DVB-S2 because I talked to Jürgen Lock and knew he had success with it. I don't know if there is already a list with all devices that work but you could have a look at the Makefile of webcamd in svn to see what drivers and cards should be supported. 
15
+Now that you have a supported card follow the instructions on the [video4bsd](http://www.selasky.org/hans_petter/video4bsd/) page and build webcamd from the svn repository because the current version in ports is too old already. 
16
+At last get the latest mythtv 0.23 port from the call for testers that enables v4l support. This will get committed when they have done their release. Finally start mythtv-setup and configure your v4l device, scan for some channels and watch live-tv with your brand new PVR solution on FreeBSD!

+ 18
- 0
content/posts/2010-05-06-freebsd_at_the_grazer_linuxtage_2010.md View File

@@ -0,0 +1,18 @@
1
+---
2
+date: "2010-05-06"
3
+title: FreeBSD at the Grazer Linuxtage 2010
4
+slug: freebsd_at_the_grazer_linuxtage_2010
5
+tags: [ "Glt" ]
6
+---
7
+
8
+For the first time ever FreeBSD had a booth on the [Grazer Linuxtage](http://www.linuxtage.at/) this year. That was primarily the fault of [Daniel Seuffert](http://www.bsdgroup.de/) who agreed to pack all his material and drive to Graz to represent BSD with his own booth. Sure I couldn't let him do this alone so I agreed to help and also [sperber](http://blog.frozen-zone.org/) and [seppo](http://bsdev.at/) helped us through the day. And I think we did quite well for the first time and also agreed to be there next year. 
9
+The event is mainly targeted at end users and enthusiastic open source users. So we were quite surprised about the interest in BSD given that this was the first year that we were there. It was also very pleasant to see all different kinds of people together and many women interested in beastie. 
10
+
11
+![](/images/2010/freebsd_linuxtage2010_2.jpg)
12
+![](/images/2010/freebsd_linuxtage2010_3.jpg) 
13
+
14
+**Related:**
15
+
16
+* [http://www.linuxtage.at/gallery/index.html](http://www.linuxtage.at/gallery/index.html) - Official Pictures
17
+* [http://glt10.flo.cx/index.php?spgmGal=Grazer_Linuxtage_2010](http://glt10.flo.cx/index.php?spgmGal=Grazer_Linuxtage_2010) - More Pictures
18
+* [http://blog.frozen-zone.org/2010/04/linuxday-in-graz/](http://blog.frozen-zone.org/2010/04/linuxday-in-graz/)

+ 14
- 0
content/posts/2010-11-24-bsdday_2010_summary.md View File

@@ -0,0 +1,14 @@
1
+---
2
+date: "2010-11-24"
3
+title: BSDDay 2010 Summary
4
+slug: bsdday_2010_summary
5
+tags: [ "Bsdday" ]
6
+---
7
+
8
+Over the weekend we had a few hungarian beers at the BSDDay in Budapest together with other FreeBSD developers. It was well organized and a good opportunity to talk to interested students. I'm definitely looking forward to next years BSDDay. 
9
+
10
+![](/images/2010/bsdday2010_2.jpg) 
11
+
12
+**More Pictures:**
13
+
14
+* [http://graz.bsdstammtisch.at/2010/11/24/pictures-from-the-bsdday-2010/](http://graz.bsdstammtisch.at/2010/11/24/pictures-from-the-bsdday-2010/)

+ 13
- 0
content/posts/2011-02-23-austria_is_getting_more_active_in_the_bsd_community.md View File

@@ -0,0 +1,13 @@
1
+---
2
+date: "2011-02-23"
3
+title: Austria is getting more active in the BSD Community
4
+slug: austria_is_getting_more_active_in_the_bsd_community
5
+tags: [ "Glt" ]
6
+---
7
+
8
+![](/images/2016/logo.png)
9
+
10
+It's just about a year since we formed the [Grazer BSD Stammtisch](http://graz.bsdstammtisch.at/). Since then we were at the EuroBSDCon in Karlsruhe, the BSDDay in Budapest and had 7 meetings in Graz for beer and pizza. 
11
+This year will be very interesting for our friends in Vienna because we currently help Manuel Wiesinger to form the [Vienna BSD Stammtisch](http://wien.bsdstammtisch.at/). Their first meeting will be in a few weeks and I'm curious to see how many people we can motivate to go out for a beer. So if you live in or around Vienna then subscribe to the blog to get the latest news about it. We also created an aggregated BSD news feed for all our activities and all BSD related blogs from Austria which you can find on [bsdstammtisch.at](http://bsdstammtisch.at/).
12
+As last year we will again have a booth at the [Grazer Linuxtage](http://www.linuxtage.at/) which is the biggest Open Source event in Graz. But this year we will also have a separate BSD track - the 1st [BSD Boot Camp](http://www.bsdbootcamp.org/) - which is a great opportunity to get introduced to BSD and the community. This is all organized by Daniel Seuffert with the help from the Grazer BSD Stammtisch people.
13
+I'm very happy to see the overall progress and what we archived in just one year. Thanks a lot to all people that helped to make this all a reality!

+ 14
- 0
content/posts/2011-11-25-trip_report_bsdday_2011_in_bratislava.md View File

@@ -0,0 +1,14 @@
1
+---
2
+date: "2011-11-25"
3
+title: "Trip report: BSDDay 2011 in Bratislava"
4
+slug: trip_report_bsdday_2011_in_bratislava
5
+tags: [ "Bsdday" ]
6
+---
7
+
8
+A few weeks ago we had the BSDDay 2011 in Bratislava with a lot of interesting talks and cheap beer. Follow the link to the trip report and a few pictures from the event. 
9
+
10
+![](/images/2011/bsdday2011.jpg) 
11
+
12
+**Trip Report:**
13
+
14
+* [http://graz.bsdstammtisch.at/2011/11/17/trip-report-bsdday-2011-in-bratislava/](http://graz.bsdstammtisch.at/2011/11/17/trip-report-bsdday-2011-in-bratislava/)

+ 19
- 0
content/posts/2012-06-03-ports_qat_functionality_integrated_into_redports.md View File

@@ -0,0 +1,19 @@
1
+---
2
+date: "2012-06-03"
3
+title: Ports QAT functionality integrated into redports
4
+slug: ports_qat_functionality_integrated_into_redports
5
+tags: [ "FreeBSD" ]
6
+---
7
+
8
+We used to have a FreeBSD Ports QAT machine that did automatically build all affected ports after a commit. Well that machine is down since quite some time now because of an hardware defect I think. In my plans for redports I started quite early to think about integrating the QAT service so I talked to itetcu at BSDDay in 2011 about the current implementation of the QAT system. It works by parsing the ports CVS mails to find out which ports are affected by the commit. Then it updates the CVS tree from one of the tier1 CVS mirrors and hopes to have a consistent portstree. After that it schedules new jobs in the Ports Tinderbox and sends out mails to the committer if building failed. That worked fine most of the time but it had quite some weak spots which required to constantly look after the machine to keep it going. 
9
+The most important thing that I learned from that was that we need to migrate our ports repository from CVS to something that allows a consistent checkout. Now that beat is working on the cvs to svn migration and has a testing repository I used that to implement QAT functionality into the redports infrastructure. Instead of parsing CVS mails I can use svn info to find new commits and consistent repository checkout is also guaranteed by subversion. After all it took me about one working day to fully integrate the QAT functionality and test the new stuff. 
10
+There are a few benefits for the upcoming QAT system now that it is a part of the regular redports infrastructure:
11
+
12
+* access to all redports building machines (more power!)
13
+* parallel builds on multiple boxes
14
+* archived buildlogs
15
+* run QAT jobs for multiple FreeBSD versions/architectures
16
+* nice web frontend with RSS feeds and the usual modern stuff
17
+* you still get mails of course
18
+
19
+![](/images/2012/redports-qat.png)

+ 18
- 0
content/posts/2012-12-20-personal_story_of_a_ports_committer.md View File

@@ -0,0 +1,18 @@
1
+---
2
+date: "2012-12-20"
3
+title: Personal story of a ports committer
4
+slug: personal_story_of_a_ports_committer
5
+tags: [ "FreeBSD", "Personal", "VirtualBox" ]
6
+---
7
+
8
+You all know that sometimes you end up dealing with all the ugly stuff instead of doing useful work. Over the last few months I was kept busy at $dayjob got assimilated by portmgr and had to look after redports. All of those new challenges are nice on it's own and I really enjoyed being part of the FreeBSD community and ecosystem but then 11/11 happened. 
9
+
10
+At that day quite a lot has changed for me since redports was isolated as a precaution and all ports building clusters of portmgr were effectively shut down. That situation was quite a mess since all automated systems and clusters were gone. No INDEX builds, no QAT, no pointyhat so also no exp-runs anymore. Whenever someone broke the ports tree we didn't even knew. It proved to be quite hard to get back on track again after that incident. INDEX checks and a very very limited QAT are already running again but pointyhat and redports are still dead. :( 
11
+
12
+The daily frustration and dealing with all that strange decisions that are taken because of the need to get stuff done is hard sometimes. But It's almost Christmas and without redports I have much more spare time so I try to calm down and focus on stuff that I can hack on my own. And that worked out quite nice so far ... 
13
+
14
+**tvheadend:** 
15
+I've noticed in the XBMC 12.0 release notes that they have included the PVR branch and thus support DVB-S2/C/T in XBMC. Well actually they only provide some backend configuration interfaces and rely on a backend like mythtv or tvheadend to handle the DVB stuff. Mythtv would be okay for that task but It's huge for such a small job. Tvheadend is a nice and small TV streaming server that suites perfectly and only does the bare minimum without a lot of dependencies. Configuration is done in a web based GUI or can be done in XBMC. So I started working on a tvheadend port. A few weeks later I'm at the point now where tvheadend compiles fine and also starts. I've just ripped out all that epoll stuff and linuxisms that I stumbled accross so it doesn't run properly yet. Adding kqueue support is the next step now. 
16
+
17
+**virtualbox:** 
18
+Due to redports being unavailable the vbox work has also frozen. I tried to collect all that patches and complains in my inbox so that they don't get lost. Since the situation did not improve I temporary created a github repository for the virtualbox ports and committed all the accumulated patches there.

+ 14
- 0
content/posts/2013-06-09-moving_to_open_shift.md View File

@@ -0,0 +1,14 @@
1
+---
2
+date: "2013-06-09"
3
+title: Moving to OpenShift
4
+slug: moving_to_open_shift
5
+tags: [ "Programming", "Hosting", "Openshift" ]
6
+---
7
+
8
+I was looking for a good solution to host some small wordpress blogs for but it was a bit tricky because I had some special requirements. 
9
+Since the blogs are currently wordpress based with some custom plugins and themes and it's own domain that needed to stay the same. In addition to that I also want to be able to modify and fix the code myself because it's great for flexibility. 
10
+Thanks to a friend I stumbled across which is a SaaS solution from RedHat and very developer friendly. Many standard applications like wordpress, owncloud and drupal are available immediately and custom applications based on php, java, ruby, python, perl and node.js can also be setup. The customizations are deployed via a git repository that you push your code to so it's pretty easy to use. 
11
+The first 3 applications are for free and you have 1GB diskspace and 512MB RAM per app which should be enough for small stuff. 
12
+[www.openshift.com](http://www.openshift.com)
13
+
14
+So far I am very pleased with the flexibility and the free plan of openshift. We'll see if the stability and quality of their service can keep up with that.

+ 36
- 0
content/posts/2014-08-02-pfsense_virtio_setup.md View File

@@ -0,0 +1,36 @@
1
+---
2
+date: "2014-08-02"
3
+title: pfSense virtio setup
4
+slug: pfsense_virtio_setup
5
+---
6
+
7
+If you are interested in running pfSense in a virtual environment then you might run into a situation where you only have virtio network adapters in a system.
8
+
9
+The standard recommendation is to add a temporary supported network device to it. That can be very hard in some situations but there is a much easier way to do that.
10
+
11
+**- Boot up pfSense**
12
+
13
+**- Choose 7 "Escape to loader prompt"**
14
+
15
+<pre>
16
+load virtio 
17
+load virtio_pci 
18
+load virtio_blk 
19
+load if_vtnet 
20
+boot
21
+</pre>
22
+
23
+**- When it boots choose "vtnet0" as your WAN device** 
24
+
25
+**- Install to harddisk by typing "99"**
26
+
27
+**- Modify loader.conf to make it permanent**
28
+
29
+<pre>
30
+mount /dev/vtbd0s1a /mnt 
31
+echo virtio_load="YES" >> /mnt/boot/loader.conf
32
+echo virtio_pci_load="YES" >> /mnt/boot/loader.conf
33
+echo virtio_blk_load="YES" >> /mnt/boot/loader.conf
34
+echo if_vtnet_load="YES" >> /mnt/boot/loader.conf
35
+umount /mnt
36
+</pre>

+ 84
- 0
content/posts/2019-02-09-state-of-the-network.md View File

@@ -0,0 +1,84 @@
1
+---
2
+date: "2019-02-09"
3
+title: State of the network 2019
4
+slug: state_of_the_network_2019
5
+tags: [ "FreeBSD", "Hardware", "Personal" ]
6
+---
7
+
8
+Auf der diesjährigen FOSDEM Keynote wurde ein wenig resignierend gesagt,
9
+dass ein Leben ohne proprietäre Software nicht möglich ist. Das soll
10
+jetzt aber nicht als Ausrede dienen, dass man es nicht trotzdem versucht. Mein
11
+persönlicher OpenSource Weg hat 2006 begonnen und im Vergleich mit heute sieht
12
+das erfreulich vertraut aus.
13
+
14
+## Desktops / Laptops / Server
15
+
16
+Bei mir läuft inzwischen alles mit FreeBSD vom Laptop bis zum Server und Xfce
17
+wenn es eine GUI benötigt. Durch die Virtualisierung mit bhyve hält sich die
18
+Hardware dabei in Grenzen. In der Firma ist es mit Slackware 14.2 und Xfce recht ähnlich.
19
+Soweit klingt das ja gut aber natürlich kommen die alle nicht völlig ohne
20
+proprietäres UEFI aus und proprietäre Intel Management Engine ist
21
+auch fast überall mit dabei. Leider gibt es noch kaum vergleichbare komplett
22
+offene Hardware ohne den preislichen Rahmen zu sprengen. Es sind aber Ansätze
23
+erkennbar (RISC-V, POWER9, Chromebooks mit Coreboot), dass auch andere diesen Wunsch
24
+haben.
25
+
26
+## Netzwerk Equipment
27
+
28
+WLAN Access Points laufen bei mir schon seit langem mit [OpenWrt](https://www.openwrt.org/)
29
+und das auch ohne größere Probleme. Bei Switches sieht es allerdings
30
+ganz anders aus. Aktuell sind es bei mir Modelle von HP und Zyxel aber alle mit
31
+proprietärer Firmware. Es gibt da zwar auch erste Alternativen mit opensource
32
+software aber das kommt eher aus der SDN Ecke und ist Enterprise lastig also für
33
+SoHo ungeeignet und unleistbar. Bei ganz kleinen Netzen könnte man noch OpenWRT
34
+auf [Ubiquiti EdgeRouter X](https://oldwiki.archive.openwrt.org/toh/ubiquiti/ubiquiti_edgerouter_x_er-x_ka)
35
+verwenden aber da ist die Anzahl an Ports sehr begrenzt.
36
+
37
+## Smartphones
38
+
39
+Das Problemfeld hatte ich 2006 noch nicht. Da war ich schon mit Rockbox auf meinem
40
+damaligen MP3 Player zufrieden. Heute ist es mit Android weit schwieriger ein wirklich
41
+freies Gerät zu betreiben das einen nicht andauernd überwacht. Bisher
42
+habe ich es zumindest soweit geschafft, dass [LineageOS](https://www.lineageos.org/)
43
+auf meinem Nexus 5X läuft. Apps kommen vorwiegend von [F-Droid](https://www.f-droid.org/)
44
+und für Konakte und Kalender betreibe ich meinen eigenen [Radicale](https://radicale.org)
45
+Server. Alle Apps die ich verwende speichern ihre Daten lokal am Geröt und mit
46
+[syncthing](https://syncthing.net/) wird das dann regelmäßig nach Hause gesichert.
47
+
48
+Statt Chrome kommt natürlich wieder Fennec zum Einsatz und [Signal](https://signal.org/)
49
+und [Riot.im](https://riot.im/) übernehmen die Kommunikation.
50
+
51
+Leider ist noch Google Maps übrig bevor ich Google Play und den Play Store
52
+loswerden kann. Das steht auf alle Fälle für 2019 schon am Plan.
53
+
54
+Aber auch wenn Google Play weg ist gibt es in Android noch so viele Blobs, dass man
55
+sich da nicht zu viel davon erwarten sollte. Aber es legt die Latte zumindest ein
56
+wenig höher.
57
+
58
+## Schwarze Flecken
59
+
60
+Bei mir hängen natürlich auch noch proprietäre Geräte im
61
+Netz wie ein Amazon Fire TV mit Alexa in der Fernbedienung. Alexa ist zwar taub dank
62
+einiger Lagen Isolierband und das Gerät eingesperrt in einem eigenen VLAN aber
63
+das macht es nicht weniger suspekt. Statt dem FireTV gibt es aber sehr viele gut
64
+unterstützte ARM boards die das meiste davon wohl auch ähnlich komfortabel
65
+hinkriegen sollten. Mit Kodi und den dazugehörigen Plugins sollte da für jeden
66
+was dabei sein.
67
+
68
+Meinen Samsung SmartTV habe ich zumindest soweit erobert, dass ich seine verschlüsselten
69
+[Aufnahmen entschlüsseln](https://code.bluelife.at/decke/drmdecrypt) kann und
70
+ins Netzwerk darf er auch nicht.
71
+
72
+Drucker haben wir sicher auch alle einen herumstehen aber da kenne ich nicht einmal
73
+Ansätze von freien Alternativen. Schade eigentlich da die immer wieder mal durch
74
+Sicherheitsprobleme auffallen und auch fleißig im Netzwerk auf sich aufmerksam machen.
75
+
76
+## Fazit
77
+
78
+Alles in allem hat sich in den letzten 13 Jahren schon einiges getan. Vorallem die Qualität
79
+ist im OpenSource Bereicht bei vielen Projekten gefühlt deutlich besser geworden.
80
+Gleichzeitig sind aber auch viele Gerätetypen hinzugekommen und die Funktionen in
81
+den Geräten sind deutlich stärker in Richtung Cloud und Internet gewachsen. Bei
82
+dieser Masse an Gadgets und Geräten muss man schon sehr genau auswählen wenn man
83
+später eine Chance haben will diese mit OpenSource Software zu betreiben.
84
+

+ 23
- 0
layouts/_default/list.html View File

@@ -0,0 +1,23 @@
1
+{{ partial "header.html" . }}
2
+
3
+<main class="content" role="main">
4
+  <article class="article">
5
+    <h1 class="article-title">{{ .Title }}</h1>
6
+
7
+    <div class="article-content">
8
+      {{ .Content }}
9
+    </div>
10
+
11
+    {{ with .Data.Pages }}
12
+    <ul class="article-taxonomy">
13
+      {{ range .ByWeight }}
14
+        <li>
15
+          <i class="fa fa-file-text"></i> <a {{ printf "href=%q" .URL | safeHTMLAttr }}>{{ default .Title .Params.heading }}</a>
16
+        </li>
17
+      {{ end }}
18
+    </ul>
19
+    {{ end }}
20
+  </article>
21
+</main>
22
+
23
+{{ partial "footer.html" . }}

+ 15
- 0
layouts/partials/footer.html View File

@@ -0,0 +1,15 @@
1
+      <footer class="footer">
2
+        <ul class="footer-links">
3
+          <li>
4
+            <a href="{{ .Site.RSSLink }}" type="application/rss+xml" target="_blank"><i class="fa fa-rss"></i> {{ i18n "footerRSS" }}</a>
5
+          </li>
6
+          <li>
7
+            <a href="{{ .Site.BaseURL }}contact/#privacy">Privacy Policy</a>
8
+          </li>
9
+        </ul>
10
+      </footer>
11
+
12
+    </div>
13
+
14
+  </body>
15
+</html>

+ 37
- 0
layouts/partials/head.html View File

@@ -0,0 +1,37 @@
1
+<meta charset="utf-8">
2
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
3
+{{ .Hugo.Generator }}
4
+
5
+{{ if eq .URL "/" }}
6
+<title>{{ .Title }}</title>
7
+<meta property="og:title" content="{{ .Title }}">
8
+<meta property="og:type" content="website">
9
+{{ else }}
10
+<title>{{ .Title }} - {{ .Site.Title }}</title>
11
+<meta property="og:title" content="{{ .Title }} - {{ .Site.Title }}">
12
+{{ end }}
13
+
14
+{{ if eq .URL "/" }}
15
+<meta property="description" content="{{ .Site.Params.description }}">
16
+{{ else }}
17
+  {{ if .Description }}
18
+  <meta property="description" content="{{ .Description }}">
19
+  {{ end }}
20
+{{ end }}
21
+
22
+{{ if .Keywords }}
23
+<meta property="keywords" content ="{{ delimit .Keywords ", " }}">
24
+{{ end }}
25
+
26
+{{ if .RSSLink }}
27
+<link href="{{ .RSSLink }}" rel="alternate" type="application/rss+xml" title="{{ .Site.Title }}" />
28
+{{ end }}
29
+
30
+{{ $stylem := resources.Get "css/main.css" }}
31
+{{ $stylef := resources.Get "css/fonts.css" }}
32
+{{ $styleo := resources.Get "css/override.css" }}
33
+{{ $style := slice $stylem $stylef $styleo | resources.Concat "css/style.css" | minify }}
34
+
35
+<link rel="stylesheet" href="{{ $style.Permalink }}">
36
+
37
+<link rel="shortcut icon" href="{{ .Site.BaseURL }}favicon.png">

Loading…
Cancel
Save