ubuntuusers.de

demystifikation-feed.xml

Autor:
user_unknown
Datum:
25. November 2015 04:12
Code:
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Demystifikation &#187; Linux</title>
	<atom:link href="https://demystifikation.wordpress.com/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>https://demystifikation.wordpress.com</link>
	<description>Eine Kritik, die sich mit diesem Inhalt befasst, ist die Kritik im Handgemenge (Karl Chemnitzer)</description>
	<lastBuildDate>Tue, 24 Nov 2015 20:38:25 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='demystifikation.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>https://s2.wp.com/i/buttonw-com.png</url>
		<title> &#187; Linux</title>
		<link>https://demystifikation.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="https://demystifikation.wordpress.com/osd.xml" title="Demystifikation" />
	<atom:link rel='hub' href='https://demystifikation.wordpress.com/?pushpress=hub'/>
	<item>
		<title>pdftotext</title>
		<link>https://demystifikation.wordpress.com/2015/11/24/pdftotext/</link>
		<comments>https://demystifikation.wordpress.com/2015/11/24/pdftotext/#respond</comments>
		<pubDate>Tue, 24 Nov 2015 02:41:34 +0000</pubDate>
		<dc:creator><![CDATA[user unknown]]></dc:creator>
				<category><![CDATA[Computer/IT]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Skizze]]></category>
		<category><![CDATA[Audio]]></category>
		<category><![CDATA[extrahieren]]></category>
		<category><![CDATA[hören]]></category>
		<category><![CDATA[Karlheinz]]></category>
		<category><![CDATA[Kriminalgeschichte des Christentums]]></category>
		<category><![CDATA[pdftotext]]></category>
		<category><![CDATA[pico2wave]]></category>
		<category><![CDATA[play]]></category>
		<category><![CDATA[Sed]]></category>
		<category><![CDATA[splitten]]></category>
		<category><![CDATA[vlc]]></category>
		<category><![CDATA[vorlesen]]></category>
		<category><![CDATA[xpdf]]></category>

		<guid isPermaLink="false">http://demystifikation.wordpress.de/?p=10643</guid>
		<description><![CDATA[ &#8211; pdftotext &#8211;  Seit einiger Zeit bin ich stolzer Besitzer der ersten 8 Bände der Kriminalgeschichte des Christentums von Karlheinz Deschner. Die Seitenzahl von über 8000 fand ich jedoch erdrückend und startete einst einen Versuch das PDF in Text umzuwandeln um es mir von Software dann vorlesen zu lassen. Das Ergebnis war recht erbärmlich. Ich wollte [&#8230;]<img alt="" border="0" src="https://pixel.wp.com/b.gif?host=demystifikation.wordpress.com&#038;blog=43223909&#038;post=10643&#038;subd=demystifikation&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p style="text-align:center;"><strong> &#8211; pdftotext &#8211; </strong></p>
<p style="text-align:center;"><img class="alignnone size-full wp-image-10678" src="https://demystifikation.files.wordpress.com/2015/11/deschner-ruler1.png?w=625" alt="deschner-ruler"   /></p>
<p style="text-align:left;">Seit einiger Zeit bin ich stolzer Besitzer der ersten 8 Bände der Kriminalgeschichte des Christentums von Karlheinz Deschner. Die Seitenzahl von über 8000 fand ich jedoch erdrückend und startete einst einen Versuch das PDF in Text umzuwandeln um es mir von Software dann vorlesen zu lassen.<span id="more-10643"></span></p>
<p style="text-align:left;">Das Ergebnis war recht erbärmlich. Ich wollte zwar pro Tag etwa 15 Minuten davon zum Einschlafen hören, und wäre damit, wie ich jetzt berechnen konnte, nach weniger als einem halben Jahr durch gewesen, die monotone Computerstimme führt aber dazu, dass man bereits nach 2 Minuten einschläft oder nicht einschläft, aber nach 3 Minuten nicht mehr zuhört, was die Stimme erzählt.</p>
<p style="text-align:left;">Jetzt habe ich einen zweiten Anlauf genommen und mir ein paar Audioprogramme installiert, die ich vergleichen wollte, und beschlossen den Text bei den übelsten Vertonungen vorher zu präparieren.</p>
<p style="text-align:left;">Die einfachste Herangehensweise ist es mit dem Befehl</p>
<p style="text-align:left;"><strong>pdftotext deschner.pdf deschner.txt </strong></p>
<p style="text-align:left;">aus den ca. 50MB PDF ca. 10MB reinen Text zu machen, aber dieser wird dann auf jeder Seite von der Seitenzahl (343), der Kapitelüberschrift, der Bandangabe und von der Seite unten noch mal in Klein &#8216;Karlheinz Deschner: Kriminalgeschichte des Christentums&#8217; unterbrochen.</p>
<p style="text-align:left;">Erst probierte ich mit <strong>Sed</strong>, dem Streameditor, diese Textstellen zu erkennen und zu löschen, was auch weitgehend klappte, wenn auch nicht optimal. Dann beschäftigte ich mich bereits mit einigen Feinheiten, auf die ich später noch kommen will.</p>
<p style="text-align:left;">Mit ein wenig Handbuchlesen, ausprobieren und der Zuhilfenahme anderer Programme kann man im ersten Arbeitsgang nämlich schon ein sehr ansehnliches Basisexemplar erzeugen.</p>
<p style="text-align:left;">mit</p>
<p style="text-align:left;"><strong>xpdf -z 100 deschner.pdf</strong></p>
<p style="text-align:left;">öffnete ich den ultraschlanken und daher schnellstartenden PDF-Viewer xpdf im Zoommodus 100%. Die 100% sind wichtig, denn vom Screenshot wollen wir die Anzahl Pixel ablesen. Ich schoss also einen Screenshot, nur von der dargestellten Seite &#8211; nicht dem umschließenden Programm. Den speicherte ich als deschner.png um ihn mit gimp, dem GNU-Imaage-manipulation-Programm zu öffnen. Dieses hat am Rand Lineale, so dass ich ablesen konnte, wo ich das Dokument beschneiden muss, um das Brimborium (gelbe Pfeile) von Anfang und Ende der Seite loszuwerden. Den abzuschneidenden Teil habe ich vergilbt eingefärbt.</p>
<p style="text-align:left;">Die kurzen vertikalen Striche sind 10 Pixel, die mittleren 20 Pixel voneinander entfernt. 60 von oben sollte also passen (blaue Pfeile). Unten wären es etwa 820. Allerdings gibt man nicht die untere Koordinate an, sondern die Höhe, also die Differenz zu den 60 von oben, das wären also 760.</p>
<p style="text-align:left;">Außerdem gilt es die umfangreichen, schlecht les- und hörbaren Quellenangaben zwischen den Kapiteln auszumerzen. Die Seitenzahlen könnte man aus dem Inhaltsverzeichnis nehmen, wenn es eins gäbe &#8211; da nicht muss man sich grob in 1000er-Schritten durchs Buch iterieren und dann suchen, wo genau Fußnoten und beginnen und Dank an hilfreiche Leute enden. Mit -f 23 gibt man an, from page 23, mit -l 883 last page 883.</p>
<p style="text-align:left;">-t für to wäre wohl zu naheliegend gewesen. -x und -y sind für den oberen, linken Punkt zuständig, wo das Ausschneiden beginnen soll &#8211; den X-Wert kann man nicht weglassen, nur weil man in X-Richtung nichts wegschneiden will, wie ich feststellen musste, und was wohl  bei meinen ersten Experimenten zum frustrierten Abbruch der Experimentierphase führte. -H steht für Height, -W für Width, auch beides nicht weglassbar im Sinne von &#8216;nimm alles&#8217;.</p>
<p style="text-align:left;">Weitere benutzte Optionen sind:</p>
<p style="text-align:left;">-raw : keep strings in content stream order</p>
<p style="text-align:left;">-nopgbrk : don&#8217;t insert page breaks between pages</p>
<p style="text-align:left;">Ich glaube &#8216;raw&#8217; braucht es jetzt gar nicht mehr, es  hat aber wohl auch nicht geschadet. So hier also die Kommandos gruppiert. Viel Arbeit, aber wir reden ja auch von über 8000 Seiten:</p>
<p>&nbsp;</p>
<pre style="text-align:left;">pdftotext -f 23 -l 883 -raw -nopgbrk -y 60 -x 0 -H 760 -W 560 deschner.pdf d.1.txt
pdftotext -f 1099 -l 1840 -raw -nopgbrk -y 60 -x 0 -H 760 -W 560 deschner.pdf d.2.txt
pdftotext -f 1984 -l 2946 -raw -nopgbrk -y 60 -x 0 -H 760 -W 560 deschner.pdf d.3.txt
pdftotext -f 3102 -l 3890 -raw -nopgbrk -y 60 -x 0 -H 760 -W 560 deschner.pdf d.4.txt
pdftotext -f 4042 -l 5032 -raw -nopgbrk -y 60 -x 0 -H 760 -W 560 deschner.pdf d.5.txt
pdftotext -f 5147 -l 6050 -raw -nopgbrk -y 60 -x 0 -H 760 -W 560 deschner.pdf d.6.txt
pdftotext -f 6161 -l 6977 -raw -nopgbrk -y 60 -x 0 -H 760 -W 560 deschner.pdf d.7.txt
pdftotext -f 7065 -l 7799 -raw -nopgbrk -y 60 -x 0 -H 760 -W 560 deschner.pdf d.8.txt</pre>
<p>Zu den Vorleseprogrammen benötigt es ein wenig Vorwissen: Diese zerlegen einen Text in Silben und versuchen die Stimme an Wortgrenzen und Satzzeichen zu sinnvollen Lauten bewegen, die vorhergehenden und nachfolgenden Silben berücksichtigend. Das ist über verschiedene Sprache ein ähnliches Problem, aber natürlich von Sprache zu Sprache verschieden.</p>
<p>Was die Programme nicht kennen, das ist die Aussprache ganzer Wörter. Alles wird synthetisch produziert und ist daher für verschiedene Probleme wie geschaffen.</p>
<p>Ausländische Wörter werden gar nicht erst erkannt, und alles so ausgesprochen wie die eingestellte Sprache nun mal ist, hier also Deutsch. Es gibt zum Glück nur wenige englische Phrasen. Häufiger aber Lateinische Namen. Überhaupt Namen! David klingt wie Dafid. In Atheisten wird das ei wie in Frühstücksei gesprochen. 1953 wird als tausend-neunhundert-dreiundfünfzig gesprochen. Kontexterkennung ist auch Glückssache. Häufig finden sich Zeitspannen wie Regentschaften oder Lebenszeiten (523-569) und da liest der Text stumpf die zwei Zahlen vor, zum Glück ohne Klammern. Eckige Klammern werden aber als &#8216;eckige Klamer 319&#8217; gelesen. Fußnoten (roter Pfeil) werden als Zahl vorgelesen. Häufig verwendet Deschner die 3-Punkt-Ellipse … (anderer roter Pfeil)- da macht die Stimme eine für mich zu lange Pause.</p>
<p>Die häufigsten Ärgernisse habe ich mit einem Sedscript auszumerzen oder verbessern versucht. Oft kommt auch nach einem Absatz ein Name in Klammern, eine Quelle. Die habe ich, soweit möglich, gelöscht, das heißt, wenn es nur ein Zeichenfolge war (Wagner), aber nicht, wenn es mehrere Token waren, weil es auch Nebengedanken in Klammern gibt, die ich nicht opfern wollte.</p>
<p>Kontext ist auch Glückssache. S. 47 wird nicht zu Seite 47, andere Abkürzungen werden aber teilweise erkannt und aufgelöst.</p>
<p>Hier mein unfertiges Script für die Details:</p>
<pre>s/David/Dawied/

# Fußnoten im Audiostrom nicht hilfreich ("bla fasel.49", ... foobar«69, bar foo 96.)
s/\.[0-9]+$/./
s/[^ 0-9][0-9]+\././
s/«[0-9]+$/«/
#
# (870–849) wird nicht als "870 bis 849" vorgelesen, sondern als "870 849"
s/([0-9]+)–([0-9]+)/\1 bis \2/
#
# unverständlich, "Vau Char":
s/v\. Chr\./vor Christus/g
s/n\. Chr\./nach Christus/g
#
# Störende Quellen (Maier) löschen, löscht aber auch hilfr. Anmerkungen "Berlin (Deutschland)"
s/\([A-Z][a-z]+\)//
#
# sog. heilige 
s/\Wsog. /sogenannte/
#
# (S. 247) löschen (vgl. S. 245) (S. 312 f) (S. 999 ff)
s/(vgl\. )?S\. [0-9]+ ?f?f?\)//
#
# Karl I. (Karl Ih statt Karl der Erste)
#
# 1955 wird als eintausendneunhundert55 vorgelesen
s/1([0-9])([0-9]{2})/1\1-hundert \2/g
#</pre>
<p>Die erzeugten Dateien sind alle etwa 1MB groß. Das Vertonungsprogramm soll aber nur Schnipsel von bis zu ca. 35kb abspielen können. Also müssenn wir jede Datei in ca. 30 Teile zerlegen, oder sagen wir 40, um auf der  sicheren Seite zu sein.</p>
<p>Mit</p>
<p><strong>for i in {1..8}; do sed -rf feinjust.sed -i d.$i.txt ; done</strong></p>
<p>lassen wir die Sedbefehlskaskade auf die 8 Dateien los. -r steht für regexp, und erspart uns in der Steuerdatei die runden Klammern zu maskieren. -f liest die Sedbefehle aus der folgenden Datei (file), -i ändert diese an Ort und Stelle (in place), so dass wir die Ausgabe nicht in eine neue Datei lenken müssen.</p>
<p>Die Zeilenlänge ermitteln wir mit wc (word count) und splitten die Bücher in je 40/41 Teile auf, 41, weil die Division einen Rest lassen kann, der bei der Multiplikation dann beim Buch 40 zu kurz kommt (nur einmal geht es genau auf, da ist Datei d.3.41.txt nämlich d.3.41.txt dann leer:</p>
<pre>#!/bin/bash
#
#
blist=($(wc -l d.?.txt))
echo ${blist[@]}
# 21683 d.1.txt 18436 d.2.txt 23760 d.3.txt 19148 d.4.txt 23549 d.5.txt 22436 d.6.txt 20239 d.7.txt 18204 d.8.txt 167455 insgesamt
for buch in {1..8}
do
 zeilen=${blist[$((2*buch-2))]}
 faktor=$((zeilen/40))
 echo "Zeilen: $zeilen Faktor: $faktor"
 for part in {1..41}
 do 
 sed -n "$(((part-1)*faktor+1)),$((part*faktor))"p d.$buch.txt &gt; d.$buch.$part.txt
 done
done</pre>
<p>Jetzt haben wir 8&#215;41-1 Dateien. Wir prüfen noch, ob keine zu groß wurde:</p>
<p><strong>find -name &#8220;d.?.*.txt&#8221; -size +34k -ls</strong></p>
<p>Nein, alles bestens. mit +29k kann man sehen, dass der Befehl funktioniert.</p>
<p>Fast sind wir soweit, dass wir was hören. :)</p>
<p>Mit einer Schleife gebe ich die Texte an das Vorlesescript weiter und gebe dabei die Uhrzeit, den Dateinamen und deren Inhalt aus. So kann man doch mitlesen und kontrollieren, wenn unverständliches kam. Man sieht, dass Die Dateien mitten im Satz zerschnitten sind &#8211; das ist bei ½-stündigen¹ Audiofiles verschmerzbar und mir zu viel Arbeit, es benutzerfreundlicher zu machen.</p>
<pre><strong>for i in {15..16}; do echo; ls d.1.$i.txt; date; cat d.1.$i.txt; textlesen.sh d.1.$i.txt; done; date</strong></pre>
<p>d.1.15.txt<br />
Di 24. Nov 03:20:22 CET 2015<br />
lecker. Sie sind voll von »Dünkel« und »prunkenden<br />
Phrasen«, sind geil und lügen. Ihre Einrichtungen,<br />
ihre Sitten, ihre Religion und Wissenschaft, alles ist<br />
»albern«, »vielfältige Torheit«, »wahnwitzig«.</p>
<p>Fehlt noch das Vorlesescript <strong>textlesen.sh</strong>:</p>
<pre>#!/bin/bash
pico2wave -l=de-DE -w=/tmp/${1}.wav "$(cat ${1})"
# aplay /tmp/${1}.wav # &amp;&amp; rm /tmp/${1}.wav
vlc /tmp/${1}.wav # &amp;&amp; rm /tmp/${1}.wav</pre>
<p>pico2wave wandelt mit language=deutsch -writing-to /tmp/$1.wav um, was mit cat aus der übergebenen Datei gelesen wird.</p>
<p>Erst hörte ich es mit play an, aber bei vlc habe ich einen Knopf um die Ausgabe anzuhalten, kann zurückspringen usw.</p>
<p>Das Ergebnis ist noch immer hölzern, aber man kann es zur Not anhören. :) Vielleicht probiere ich noch weitere text-to-speech-Lösungen (tts) bzw. Sprachsynthesizer oder finde andere Verbesserungen.</p>
<p>Empfehlungen werden gerne entgegen genommen, bevorzugt natürlich freie Software für Linux.</p>
<hr />
<p>¹ oben war von ¼-stündigen Teilen die Rede. Das erste Skript erzeugte auch solch kürze Dateien, weil ich grober geschätzt hatte mit der Zeilenzahl. Mit dem Wissen, dass die Dateien alle nur ca. 15kb groß werden habe ich jetzt die Zeilenzahl erhöht und so längere Stücke erhalten.</p><br />Einsortiert unter:<a href='https://demystifikation.wordpress.com/category/computerit/'>Computer/IT</a>, <a href='https://demystifikation.wordpress.com/category/linux/'>Linux</a>, <a href='https://demystifikation.wordpress.com/category/skizze/'>Skizze</a> Tagged: <a href='https://demystifikation.wordpress.com/tag/audio/'>Audio</a>, <a href='https://demystifikation.wordpress.com/tag/extrahieren/'>extrahieren</a>, <a href='https://demystifikation.wordpress.com/tag/horen/'>hören</a>, <a href='https://demystifikation.wordpress.com/tag/karlheinz/'>Karlheinz</a>, <a href='https://demystifikation.wordpress.com/tag/kriminalgeschichte-des-christentums/'>Kriminalgeschichte des Christentums</a>, <a href='https://demystifikation.wordpress.com/tag/pdftotext/'>pdftotext</a>, <a href='https://demystifikation.wordpress.com/tag/pico2wave/'>pico2wave</a>, <a href='https://demystifikation.wordpress.com/tag/play/'>play</a>, <a href='https://demystifikation.wordpress.com/tag/sed/'>Sed</a>, <a href='https://demystifikation.wordpress.com/tag/splitten/'>splitten</a>, <a href='https://demystifikation.wordpress.com/tag/vlc/'>vlc</a>, <a href='https://demystifikation.wordpress.com/tag/vorlesen/'>vorlesen</a>, <a href='https://demystifikation.wordpress.com/tag/xpdf/'>xpdf</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/demystifikation.wordpress.com/10643/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/demystifikation.wordpress.com/10643/" /></a> <img alt="" border="0" src="https://pixel.wp.com/b.gif?host=demystifikation.wordpress.com&#038;blog=43223909&#038;post=10643&#038;subd=demystifikation&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://demystifikation.wordpress.com/2015/11/24/pdftotext/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="https://2.gravatar.com/avatar/888b31af96427e8bd603631fa2af32f5?s=96&#38;d=monsterid&#38;r=X" medium="image">
			<media:title type="html">user1unknown</media:title>
		</media:content>

		<media:content url="https://demystifikation.files.wordpress.com/2015/11/deschner-ruler1.png" medium="image">
			<media:title type="html">deschner-ruler</media:title>
		</media:content>
	</item>
		<item>
		<title>UbuCon 2015</title>
		<link>https://demystifikation.wordpress.com/2015/10/23/ubucon-2015/</link>
		<comments>https://demystifikation.wordpress.com/2015/10/23/ubucon-2015/#respond</comments>
		<pubDate>Fri, 23 Oct 2015 02:17:11 +0000</pubDate>
		<dc:creator><![CDATA[user unknown]]></dc:creator>
				<category><![CDATA[Berlin]]></category>
		<category><![CDATA[Klamauk]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Skizze]]></category>
		<category><![CDATA[Brandenburger Tor]]></category>
		<category><![CDATA[Gnu]]></category>
		<category><![CDATA[Konferenz]]></category>
		<category><![CDATA[pinguin]]></category>
		<category><![CDATA[Ubucon]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://demystifikation.wordpress.com/?p=10507</guid>
		<description><![CDATA[ &#8211; UbuCon 2015 &#8211;  keine offizielle Werbung Von heute abend bis Sonntag in Berlin, die UbuCon 2015. Programm und weitere Informationen hier. Mich interessieren dabei vor allem die Inkscape-Vorträge. Einsortiert unter:Berlin, Klamauk, Linux, Skizze Tagged: Brandenburger Tor, Gnu, Konferenz, Linux, pinguin, Ubucon, Ubuntu<img alt="" border="0" src="https://pixel.wp.com/b.gif?host=demystifikation.wordpress.com&#038;blog=43223909&#038;post=10507&#038;subd=demystifikation&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p style="text-align:center;"><strong> &#8211; UbuCon 2015 &#8211; </strong></p>
<p style="text-align:center;"><a href="https://demystifikation.files.wordpress.com/2015/10/ubucon-2015.png"><img class="alignnone size-full wp-image-10508" src="https://demystifikation.files.wordpress.com/2015/10/ubucon-2015.png?w=625" alt="ubucon-2015"   /></a></p>
<p style="text-align:center;"><em>keine offizielle Werbung</em></p>
<p style="text-align:left;">Von heute abend bis Sonntag in Berlin, die UbuCon 2015. Programm und weitere Informationen <a href="http://ubucon.de/2015/">hier</a>.</p>
<p style="text-align:left;">Mich interessieren dabei vor allem die Inkscape-Vorträge.</p>
<p style="text-align:center;"><br />Einsortiert unter:<a href='https://demystifikation.wordpress.com/category/berlin/'>Berlin</a>, <a href='https://demystifikation.wordpress.com/category/klamauk/'>Klamauk</a>, <a href='https://demystifikation.wordpress.com/category/linux/'>Linux</a>, <a href='https://demystifikation.wordpress.com/category/skizze/'>Skizze</a> Tagged: <a href='https://demystifikation.wordpress.com/tag/brandenburger-tor/'>Brandenburger Tor</a>, <a href='https://demystifikation.wordpress.com/tag/gnu/'>Gnu</a>, <a href='https://demystifikation.wordpress.com/tag/konferenz/'>Konferenz</a>, <a href='https://demystifikation.wordpress.com/tag/linux/'>Linux</a>, <a href='https://demystifikation.wordpress.com/tag/pinguin/'>pinguin</a>, <a href='https://demystifikation.wordpress.com/tag/ubucon/'>Ubucon</a>, <a href='https://demystifikation.wordpress.com/tag/ubuntu/'>Ubuntu</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/demystifikation.wordpress.com/10507/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/demystifikation.wordpress.com/10507/" /></a> <img alt="" border="0" src="https://pixel.wp.com/b.gif?host=demystifikation.wordpress.com&#038;blog=43223909&#038;post=10507&#038;subd=demystifikation&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://demystifikation.wordpress.com/2015/10/23/ubucon-2015/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>52.511506 13.389653</georss:point>
		<geo:lat>52.511506</geo:lat>
		<geo:long>13.389653</geo:long>
		<media:content url="https://2.gravatar.com/avatar/888b31af96427e8bd603631fa2af32f5?s=96&#38;d=monsterid&#38;r=X" medium="image">
			<media:title type="html">user1unknown</media:title>
		</media:content>

		<media:content url="https://demystifikation.files.wordpress.com/2015/10/ubucon-2015.png" medium="image">
			<media:title type="html">ubucon-2015</media:title>
		</media:content>
	</item>
		<item>
		<title>30 Jahre FSF</title>
		<link>https://demystifikation.wordpress.com/2015/10/09/30-jahre-fsf/</link>
		<comments>https://demystifikation.wordpress.com/2015/10/09/30-jahre-fsf/#comments</comments>
		<pubDate>Thu, 08 Oct 2015 22:00:00 +0000</pubDate>
		<dc:creator><![CDATA[user unknown]]></dc:creator>
				<category><![CDATA[Computer/IT]]></category>
		<category><![CDATA[Klamauk]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Skizze]]></category>
		<category><![CDATA[Betriebssystem]]></category>
		<category><![CDATA[Free Software Foundation]]></category>
		<category><![CDATA[freie Software]]></category>
		<category><![CDATA[FSF]]></category>
		<category><![CDATA[Gnu]]></category>
		<category><![CDATA[GPL]]></category>
		<category><![CDATA[Malware]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[proprietär]]></category>

		<guid isPermaLink="false">http://demystifikation.wordpress.com/?p=10442</guid>
		<description><![CDATA[ &#8211; 30 Jahre FSF &#8211;  (FSF:= Free Software Foundation) Montag war wohl der richtige Jahrestag, aber die Produktion hat länger gedauert als veranschlagt, die Idee kam auch erst spät, die Modelle mussten erstmal gesucht und gebucht werden, das Equipment beschafft.  In den Anfängen des Computers, den 60er/70er-Jahren gab es nur wenige Großrechner, exorbitant teuer, wenige [&#8230;]<img alt="" border="0" src="https://pixel.wp.com/b.gif?host=demystifikation.wordpress.com&#038;blog=43223909&#038;post=10442&#038;subd=demystifikation&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p style="text-align:center;"><strong> &#8211; 30 Jahre FSF &#8211; </strong></p>
<p style="text-align:center;">(FSF:= Free Software Foundation)</p>
<p style="text-align:center;"><a href="https://demystifikation.files.wordpress.com/2015/10/30-jahre-fsf.png"><img class="alignnone size-full wp-image-10441" src="https://demystifikation.files.wordpress.com/2015/10/30-jahre-fsf.png?w=625" alt="30-jahre-fsf"   /></a></p>
<p style="text-align:center;"><a href="http://www.heise.de/newsticker/meldung/Free-Software-Foundation-feiert-30-Geburtstag-2836036.html">Montag war wohl der richtige Jahrestag</a>, aber die Produktion hat länger gedauert als veranschlagt, die Idee kam auch erst spät, die Modelle mussten erstmal gesucht und gebucht werden, das Equipment beschafft. <span id="more-10442"></span></p>
<p style="text-align:left;">In den Anfängen des Computers, den 60er/70er-Jahren gab es nur wenige Großrechner, exorbitant teuer, wenige Universitäten hatten einen und über Softwarekosten machte man sich keine Gedanken. Unter Programmierer herrschte eine fröhliche, freie Austauschkultur &#8211; man gab weiter was man hatte und keiner dachte an <a href="https://de.wikipedia.org/wiki/Propriet%C3%A4re_Software">Lizenzen</a>.</p>
<p style="text-align:left;">Dies änderte sich in den 80er-Jahren, ein gewisser <a href="https://de.wikipedia.org/wiki/Open_Letter_to_Hobbyists">Bill Gates </a>betrat die Bühne, erste Heimcomputer eroberten wohlhabende Haushalte. Richard M. Stallman gründete deswegen das GNU-Projekt, das rekursive Akronym steht für GNU&#8217;s not Unix, und hob die GPL, die GNU Public License, aus der Taufe. Diese kodifizierte die alten Tugenden die im wesentlichen sind:</p>
<ul>
<li style="text-align:left;">Man darf die Software uneingeschränkt benutzen</li>
<li style="text-align:left;">Man darf den Quellcode studieren und nach eigenem Gusto ändern</li>
<li style="text-align:left;">Man darf die Software frei verbreiten</li>
<li style="text-align:left;">Man darf auch die geänderte Software frei unter der gleichen Lizenz weiterverbreiten</li>
</ul>
<p>Bald gab es eine große Menge nützlicher Tools unter dieser Lizenz mit <strong>info coreutils</strong> kann sich jeder Linuxuser auf der Kommandozeile einen Überblick über viele davon verschaffen, die meisten davon stammen in ihrer Kernfunktionalität noch aus der Ursuppe. Mit GCC gab es einen Compiler, den GNU-C-Compiler und so konnte die Erfolgsstory beginnen. (Die Atari- und Commodoresysteme lasse ich mal unter den Tisch fallen).</p>
<p>Was lange fehlte war ein Betriebssystem, das ebenso frei war. 1990 wurde durch Linus Thorvald die Lücke geschlossen und Linux unter der GPL veröffentlicht.</p>
<p>Wann der Grafikserver X (X11, Xorg, &#8230;) die Bühne betrat weiß ich nicht. Linux war jedenfalls ein Unixclone, d.h. es verhielt sich nach außen genauso, auch wenn der Code dafür neu geschrieben war. Kommerzielle, proprietäre Unixe sind/waren etwa HP-UX von HP, Solaris von Sun und andere, dem Heimanwender i.d.R. völlig unbekannt. Da Unix ein ausgereiftes, netzwerkfähiges System war, war Linux auch viel früher Internettauglich als das ungleich populärere Windows, welches bis 3.0 meiner Erinnerung nach nicht netzwerktauglich war.</p>
<p><a href="https://demystifikation.files.wordpress.com/2014/09/gnu.png"><img class="alignnone size-full wp-image-7769" src="https://demystifikation.files.wordpress.com/2014/09/gnu.png?w=625" alt="gnu"   /></a></p>
<p>Mit <strong>apache</strong> war früh ein Internetserver verfügbar, und so trat Linux als Serversystem einen Siegeszug an. Windows dagegen verbreitete sich auf dem Client, also den Geräten in Büros und Zuhause, begünstigt dadurch, dass eine Verfolgung von Lizenzverstößen im Privatsektor quasi nicht stattfand. Als die ersten Gängelungen mit Registrierungsnummern begannen, Ende der 90er, war es quasi schon Standard.</p>
<p>Dafür fingen sich die Anwender weitere Zumutungen ein. Verkrüppelte Modems und Drucker kamen auf den Markt, in denen keine anständige Hard- und Software werkelte, sondern die Arbeit an das, bei Windowsusern chronisch unterdimensionierte Betriebssystem ausgelagert wurde, wo Closed-Source-Treiber die Arbeit erledigen mussten. Nicht nur war man damit an das proprietäre OS gebunden &#8211; man musste auch hoffen, dass der billige Klump von der nächsten Version weiterhin unterstützt wird.</p>
<p>Ähnlich verheerend sieht die Gängelung mit den Officeprodukten aus diesem Haus aus. Alle Nase lang kommen ein paar Neuerungen und Umbauten hinzu, das neue Programm kann die alten Formate importieren aber das alte Programm die neuen nicht. Wer seine Dateien austauscht mit anderen wird so gezwungen immer wieder neu zu kaufen.</p>
<p>Unter Linux dagegen herrscht die fröhliche Nachhaltigkeit. Mein SW-Laserdrucker, zugegeben nicht der schnellste und leiseste, aber auch selten benötigt, ist ein HP4+, über Netzwerkanschluß am Router hängend druckt mit 600dpi und für mich reicht das völlig. Baujahr &#8211; raten Sie mal &#8211; 1990. Außerdem habe ich einen mittlerweile betagten Scanner, der nach wie vor unterstützt wird. Aktuelle Geräte wären deutlich kleiner und haben wohl auch meist WLAN heute; Ebay ist währenddessen voll von tadellos funktionierenden Geräten, die aber seit Windows 7, 8 oder 10 nicht mehr unterstützt werden. Wegwerfen und neu kaufen! Tja &#8211; oder zu Linux wechseln.</p>
<p>Mit Windows kam auch die Viren- und Schadsoftware-Epedemie. Da die Leute viel Software schwarz benutzten wurde eifrig aus dubiosen Quellen Software organisiert. Diese oder der Installer enthielt dann oft Viren, Hintertüren, Trojaner, Würmer usw. Dagegen hat sich auf Linuxclients keine Malware nennenswert ausbreiten können. Manche schieben das auch auf die früh etablierte Trennung des Administrators (Root) von den Usern (Stefan), Doch einerseits muss man Softwareinstallationen unter Linux auch als Root durchführen, und Mailanhänge, die man unbedarft ausführt, könnten in den Daten des Users auch verheerendes anrichten, sowie sich einrichten und von da aus die Ausweitung ihrer Rechte vorantreiben (privilege escalation). Ein anderes Argument ist, dass Linux so schwach verbreitet ist, dass es kein lohnendes Ziel sei. Dagegen spricht, dass Windows schon zu Beginn der 90er ein lohnendes Ziel war, als es in absoluten Zahlen so viel weniger Rechner gab, dass heute die Zahl der Linuxkisten sicher höher ist, als damals die der Dosboxen.</p>
<p>Ich meine, dass die Softwarebeschaffung aus vertrauenswürdigen Quellen unter Linux den Ausschlag dafür gab und gibt, dass man hier praktisch malware-sicher ist.</p>
<p>Leider haben die Anwender die Entfesselung aus den Klauen der Softwarekonzerne nicht in Massen und nicht konsequent mitgemacht. Oft wird Firefox zum Browsen benutzt, gelegentlich Libre-Office verwendet. Massig zum Einsatz kommt Linux zwar als Android auf den epidemisch gewordenen Smartphones, aber hier ist die Hardware oft eine Handschelle, die über verschlossene Treiber mit dem System verbunden ist; es ist nicht vorgesehen das System selbst zu verändern und die Änderungen wieder auf das System zu bringen.</p>
<p>Oder E-Books: Das Kopieren und Weitergeben der Inhalte kann man schlecht unterbinden, wenn die Software offen ist und das System so gebaut, dass man veränderte Versiohnen der Software wieder auf das Gerät zurückspielen kann. Dabei ist die Modularisierung von Linux eine seiner Stärken &#8211; abgespeckte Versionen laufen auf einem <a href="https://de.wikipedia.org/wiki/Raspberry_Pi">Rasperry-</a><span id="MathJax-Element-1-Frame" class="MathJax"><span id="MathJax-Span-1" class="math"><span id="MathJax-Span-2" class="mrow"><span id="MathJax-Span-3" class="mi"><a href="https://de.wikipedia.org/wiki/Raspberry_Pi">π</a>, aber auch die großen Eisen, <a href="https://de.wikipedia.org/wiki/Gro%C3%9Frechner">Großrechner</a> und <a href="https://de.wikipedia.org/wiki/Supercomputer">Supercomputer</a> laufen mit Linux. In geschlossener Hardware (Router, Mediaplayer, Set-Top-Boxen, Navigationssystemen, VWs, &#8230;) sieht man nicht, ob Linux darin läuft und man hat vergleichsweise wenig davon &#8211; vielleicht billigere Entwicklungskosten und daher Endpreise. </span></span></span></span></p>
<p>In der Natur der Sache liegt es, dass fast die ganze, freie Software, die unter Linux läuft, auch auf Windowssystemen laufen kann und läuft &#8211; nicht die Programme, so wie sie sind, aber durch Neukompilierung, da der Quellcode ja frei ist. So gibt es nur ein paar systemnahe Programme wie <strong>top</strong>, <strong>ps</strong>, <strong>lshw</strong>, die eng mit dem System verbunden sind, und die nicht für Windows existieren. Umgekehrt dagegen gibt es viel Software, die nur für Windows verfügbar ist.</p>
<p>Lange Zeit galt als umstritten, was Freie Software für die Sicherheit bedeutet. Die einen meinen, dass man in offener Software leichter Fehler finden kann, als in geschlossener, und die anderen meinen das auch, aber dass diese Fehler daher nicht nur gefunden sondern auch gefixt werden. Letztes Jahr wurde der <a href="https://xkcd.com/1353/">Heartbleed-Bug</a> öffentlich. Nicht einfach ein Bug, sondern ein Bug in einer auf breiter Front verwendeten <a href="https://xkcd.com/1354/">Serversoftwarebibliothek</a>. Dass <a href="https://de.wikipedia.org/wiki/Heartbleed">die Software</a> einsehbar ist ist also noch keine Garantie dafür, dass gutwillige, verantwortliche Leutte das auch tun. Allerdings weiß ich auch nicht, wie der Bug gefunden wurde, durch Studium des Quellcodes oder weil ein fehlerhaftes Programm den Fehler von SSL auslöste, und dann mit der Reaktion nicht klarkam, und so den Fehler aufdeckte &#8211; eine solche Entdeckung kann bei geschlossener Software auch passieren.</p>
<p>Neben eingebetteten, geschlossenen Systemen gibt es eine weitere Bedrohung für Open Source: Die Verlagerung von Software auf den Server. Heute schon läuft massig Software auf entfernten Servern, bei denen das Betriebssytem Linux ist, die Datenbank ist vielleicht Postgresql, der Webserver Apache und die Anwendung ist ein auf zig freien Javabibliotheken beruhendes Programm. Aber da das Programm nicht weitergegeben wird muss auch der Quellcode nicht veröffentlicht werden. Das schützt den Annbieter zwar vor Konkurrenz, aber Konkurrenz belebt bekanntlich das Geschäft.</p>
<p>Ein Beispiel, wo mir freie Software fehlt, ist beispielsweise meine Digicam. Man könnte sie auf ein Stativ setzen, und das Display schwarz schalten, und dann eine Zeitrafferaufnahme machen, bei der die Kamera alle 10 Minuten ein Bild macht, und das über 2 Wochen. Alles notwenige an Hardware ist bereits da, und auch von der Software ansteuerbar; es gibt etwa Zeitstempel und beim Selbstauslöser kann man zw. 2 und 10s Verzögerung wählen. Aber die Funktion gibt es nicht und neue Kamerasoftware selbst aufspielen ist nicht. Wie schade.</p>
<p><a href="https://demystifikation.files.wordpress.com/2013/12/3-pinguine-im-schnee.png"><img class="alignnone size-full wp-image-3762" src="https://demystifikation.files.wordpress.com/2013/12/3-pinguine-im-schnee.png?w=625" alt="3-pinguine-im-Schnee"   /></a></p>
<p>Anderes Beispiel, Fahrradcomputer: Das Gerät kann man in die Anzeige eines Wertes schalten wie Fahrzeit, zurückgelegte Kilometer, Maximalgeschwindigkeit usw. oder in einen von zwei Zyklen, der kleine mit (Tages-)Fahrzeit, Tageskilometer, Gesamtkilometer, Maximalgeschwindigkeit, der größere Zyklus mit Kalorienverbrauch aktuell, Kalorienverbrauch gesamt und ähnlichem Klamauk. Temperatur und Uhrzeit sind nicht im Zyklus, die Uhrzeit reinzunehmen und die andere Werte rauszuschmeißen ist leider nicht möglich, oder die Tastenkombinationen um umzuschalten. Aber man kann auf ein zweites Rad umschalten, das ich zwar hätte, aber keinen Impulsabnehmer. Umprogrammierbar ist da nix, geschlossene Software, Pech gehabt.</p>
<p>Wie schade.</p>
<p><a href="https://demystifikation.files.wordpress.com/2013/06/rennrad-pinguin.jpg"><img class="size-full wp-image-3518" src="https://demystifikation.files.wordpress.com/2013/06/rennrad-pinguin.jpg?w=625" alt="C'est n'est pas un Fisch ohne Fahrrad"   /></a></p>
<p>Schade auch, dass man sich nicht entschlossen hat in Schulen und der öffentlichen Verwaltung nur auf Open Source zu setzen. Die Hardware ist teuer genug. Was man an Office-Programmen wie Textverarbeitung, Tabellenkalkulation und Präsentationssoftware lernen kann kann man auch mit freier Software lernen. Entscheidend sind ja die Konzepte, Ob ein Eintrag im Menü &#8216;Lesezeichen&#8217; oder &#8216;Favoriten&#8217; heißt, das lernt man in kürzester Zeit, wenn man es braucht. Wer mit Industriestandards argumentieren will: Ja, Flexibilität ist auch einer, und wieso sollten Unternehmen nicht Libre Office einsetzen? Außerdem ändert sich die Benutzerführung bei proprietärer Software auch mal von Version zu Version.</p>
<p>In der öffentlichen Verwaltung würde ich nur Ausschreibungen machen, bei der die Firma, die den Zuschlag bekommt, das Produkt unter eine freie Lizenz stellen muss, so dass andere Verwaltungen diese übernehmen können. Was macht hier der Bund der Steuerzahler? Tief schlafen, nehme ich an. Man könnte solche Software sogar international teilen und müsste manchmal nur die Texte übersetzen. Wird der Dienstleister zu teuer kann ein anderes Unternehmen die Software weiterpflegen, oder man baut selbst das Know-How für Erweiterungen und Aktualisierungen auf.</p>
<p>Stattdessen subventioniert man wohl lieber Großkonzerne. Wir erinnern uns mit wohligem Schauder an das Mautdebakel. Auch PKW-Steuerungen könnten quelloffen sein, um prüfen zu können, ob geschummelt wird. Und seit den Enthüllungen Snowdens muss man eigentlich jegliche Verwendung geschlossener Software, ob in Firma, Regierung, staatlichen Institutionen oder privat.</p>
<p>Stattdessen heißt es allenthalben: Schlag mich, beiß mich, gib mir Tiernamen.</p><br />Einsortiert unter:<a href='https://demystifikation.wordpress.com/category/computerit/'>Computer/IT</a>, <a href='https://demystifikation.wordpress.com/category/klamauk/'>Klamauk</a>, <a href='https://demystifikation.wordpress.com/category/linux/'>Linux</a>, <a href='https://demystifikation.wordpress.com/category/skizze/'>Skizze</a> Tagged: <a href='https://demystifikation.wordpress.com/tag/betriebssystem/'>Betriebssystem</a>, <a href='https://demystifikation.wordpress.com/tag/free-software-foundation/'>Free Software Foundation</a>, <a href='https://demystifikation.wordpress.com/tag/freie-software/'>freie Software</a>, <a href='https://demystifikation.wordpress.com/tag/fsf/'>FSF</a>, <a href='https://demystifikation.wordpress.com/tag/gnu/'>Gnu</a>, <a href='https://demystifikation.wordpress.com/tag/gpl/'>GPL</a>, <a href='https://demystifikation.wordpress.com/tag/linux/'>Linux</a>, <a href='https://demystifikation.wordpress.com/tag/malware/'>Malware</a>, <a href='https://demystifikation.wordpress.com/tag/open-source/'>Open Source</a>, <a href='https://demystifikation.wordpress.com/tag/proprietaer/'>proprietär</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/demystifikation.wordpress.com/10442/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/demystifikation.wordpress.com/10442/" /></a> <img alt="" border="0" src="https://pixel.wp.com/b.gif?host=demystifikation.wordpress.com&#038;blog=43223909&#038;post=10442&#038;subd=demystifikation&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://demystifikation.wordpress.com/2015/10/09/30-jahre-fsf/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="https://2.gravatar.com/avatar/888b31af96427e8bd603631fa2af32f5?s=96&#38;d=monsterid&#38;r=X" medium="image">
			<media:title type="html">user1unknown</media:title>
		</media:content>

		<media:content url="https://demystifikation.files.wordpress.com/2015/10/30-jahre-fsf.png" medium="image">
			<media:title type="html">30-jahre-fsf</media:title>
		</media:content>

		<media:content url="https://demystifikation.files.wordpress.com/2014/09/gnu.png" medium="image">
			<media:title type="html">gnu</media:title>
		</media:content>

		<media:content url="https://demystifikation.files.wordpress.com/2013/12/3-pinguine-im-schnee.png" medium="image">
			<media:title type="html">3-pinguine-im-Schnee</media:title>
		</media:content>

		<media:content url="https://demystifikation.files.wordpress.com/2013/06/rennrad-pinguin.jpg" medium="image">
			<media:title type="html">C&#039;est n&#039;est pas un Fisch ohne Fahrrad</media:title>
		</media:content>
	</item>
		<item>
		<title>Matrixfont, improved</title>
		<link>https://demystifikation.wordpress.com/2015/08/26/matrixfont-improved/</link>
		<comments>https://demystifikation.wordpress.com/2015/08/26/matrixfont-improved/#comments</comments>
		<pubDate>Wed, 26 Aug 2015 18:40:07 +0000</pubDate>
		<dc:creator><![CDATA[user unknown]]></dc:creator>
				<category><![CDATA[Computer/IT]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Skizze]]></category>
		<category><![CDATA[font]]></category>
		<category><![CDATA[GPL]]></category>
		<category><![CDATA[inkscape]]></category>
		<category><![CDATA[Lochraster]]></category>
		<category><![CDATA[Matrix]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://demystifikation.wordpress.com/?p=10155</guid>
		<description><![CDATA[ &#8211; Matrixfont, improved &#8211;  (scroll for english Version) Vor einiger Zeit habe ich an einem Font für Inkscape und andere Vektorgrafikprogramme gebastelt, der aus Rechtecken mit kreisrunden Löchern besteht, kein Truetype-Font, sondern ein Konsolenfont und auch aus einem solchen ursprünglich entwickelt, in dem die einzelnen Pixel einer 8&#215;16-Matrix abgescannt wurden. Allerdings war das Zusammensetzen von Wörtern, geschweige [&#8230;]<img alt="" border="0" src="https://pixel.wp.com/b.gif?host=demystifikation.wordpress.com&#038;blog=43223909&#038;post=10155&#038;subd=demystifikation&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p style="text-align:center;"><strong> &#8211; Matrixfont, improved &#8211; </strong></p>
<p style="text-align:center;">(scroll for english Version)</p>
<p style="text-align:center;"><a href="https://demystifikation.files.wordpress.com/2015/08/aufklaerung-denken-furcht.png"><img class="alignnone size-full wp-image-10156" src="https://demystifikation.files.wordpress.com/2015/08/aufklaerung-denken-furcht.png?w=625" alt="aufklaerung-denken-furcht"   /></a></p>
<p style="text-align:left;">Vor <a href="https://demystifikation.wordpress.com/2015/06/17/ascii-terminalfont-in-svg-mit-scala/">einiger Zeit </a>habe ich an einem Font für Inkscape und andere Vektorgrafikprogramme gebastelt, der aus Rechtecken mit kreisrunden Löchern besteht, kein Truetype-Font, sondern ein Konsolenfont und auch aus einem solchen ursprünglich entwickelt, in dem die einzelnen Pixel einer 8&#215;16-Matrix abgescannt wurden. Allerdings war das Zusammensetzen von Wörtern, geschweige Sätzen, aus einzelnen Buchstaben unbequem. <span id="more-10155"></span></p>
<p style="text-align:left;">Außerdem waren die erweiterten Zeichen der europäischen Zeichensätze in einer extra Datei abgelegt, so dass äöüÄÖÜß aber auch das spanische ~n wie in Se~norita oder das é in Pelé schwer zu integrieren waren. Damit die Zeichen in beliebiger Farbe leuchten können ist es vorteilhaft diese als Löcher zu realisieren, damit man sie mit einem farbigen Hintergrund durchleuchten lassen kann, und nicht für jedes Zeichen die Farbe extra ändern muss.</p>
<p style="text-align:left;">Hauptziel war es jedoch, einen beliebigen Text mit Hilfe eines Scripts automatisch in eine Grafik zu wandeln, Getreu dem Motto wenn-schon-denn-schon sollten auch Zeilenumbrüche umgesetzt werden und der Gesamttext als Gruppe gefasst werden, so dass er leicht insgesamt gestreckt, gezoomt, verdreht usw. werden kann.</p>
<p style="text-align:left;">Als Beweis des  Gelingens diente mir der erste Absatz der Dialektik der Aufklärung, Max Horkheimer, Theodor W. Adorno:</p>
<p style="text-align:left;"><a href="https://demystifikation.files.wordpress.com/2015/08/dda4.png"><img class="alignnone size-full wp-image-10157" src="https://demystifikation.files.wordpress.com/2015/08/dda4.png?w=625" alt="dda4"   /></a></p>
<p style="text-align:left;">Texte dieser Länge sind aber auf meinem Rechner kaum noch handhabbar bei 4 GB RAM aber geöffnetem Firefox mit 20 offenen Tabs. Der Text besteht aber auch aus 2143 Zeichen, im Schnitt mit etwa 30 Löchern pro Zeichen. Macht 64.000 Pfade.</p>
<p style="text-align:left;"><strong>Howto</strong>:</p>
<p style="text-align:left;">Laden Sie die Ausgangsdatei von <a href="https://openclipart.org/detail/225896/extendet-rasterfont-iso885915">OpenClipart.org</a> runter.</p>
<p style="text-align:left;">Speichern Sie folgendes <a href="http://home.arcor.de/hirnstrom/minis/t2rasterfont.sh">Script</a> als<strong> t2rasterfont.sh</strong> und machen Sie es ausführbar; WordPress zerhaut mir leider den Code und beim copy-paste werden die xml-Tags zu &lt; und so Zeuch.</p>
<p style="text-align:left;">Im einfachen Fall ohne Sonderzeichen, also Ascii-codes &lt; 128 wäre der auszuführende Befehl:</p>
<p style="text-align:left;"><code><br />
./t2rasterfont.sh "Dies ist ein Test" &gt; sample.svg<br />
</code></p>
<p style="text-align:left;">In &#8216;sample.svg&#8217; ist jetzt, außerhalb des definierten Bildbereichs, der Zeichenvorrat abgelegt, Im Bildbereich, soweit er reinpasst, der produzierte Text. Um den Ergebnistext grafisch zu bearbeiten müssen die Klone, um die es sich handelt, erst von der Vorlage gelöst werden &#8211; dann kann die Vorlage gelöscht werden. Dies ist, je kürzer der Text ist, umso sinnvoller. Ansonsten sparen die Klone Speicherplatz.</p>
<p style="text-align:left;">Der Text ist automatisch gruppiert so dass er einfach als Ganzes verschoben und manipuliert werden kann. Die einzelnen Wörter sind es nicht.</p>
<p style="text-align:left;">Gibt es Zeichen außerhalb des Asciicodes von 0-127, bzw. beschränkt auf die druckbaren Zeichen 32-127 plus Zeilenumbruch (\n = newline), so muss der Text erst in ISO-8859-15 umgewandelt werden. Für den Dialektik-der-Aufklärung-Auftakt habe ich das mit <strong>iconv</strong> getan:</p>
<hr />
<p style="text-align:left;"><code>dda=$(cat dda.txt | iconv -f utf-8 -t iso-8859-1)</code></p>
<p style="text-align:left;"><code>./t2rasterfont.sh "$dda" &gt; dda4.svg<br />
</code></p>
<hr />
<p style="text-align:left;"><strong>Nachtrag</strong>:</p>
<p style="text-align:left;"><a href="https://demystifikation.files.wordpress.com/2015/08/matrix-detail.png"><img class="alignnone size-full wp-image-10173" src="https://demystifikation.files.wordpress.com/2015/08/matrix-detail.png?w=625" alt="matrix-detail"   /></a></p>
<p style="text-align:left;">Hier sieht man einerseits nochmal die Breite der Zeichen und ihrer Anordnung in der Vorlage. SIe sind 80 Einheiten breit und 160 hoch und in einem 100&#215;200 Raster angeordnet. Die Lücken erlaubten es mir die Kreise leicht mit der Maus zu markieren und zu einem Pfad zu verknüpfen, um sie dann von den blauen Rechtecken zu subtrahieren. 128, 29, 30, &#8230; sind die Asciicodes, wobei es das Zeichen 128 so nicht gib, aber ich dachte ein gefüllter Block könne auch ab und zu von Vorteil sein.</p>
<p style="text-align:left;">Als der erste Font noch zu anderen Zwecken entstand gab es noch nicht das Eurosymbol. An Position 164 war ein Zeichen, dessen Namen und Zweck ich nicht kenne, das ich jetzt nach 132 verschoben habe statt es wegzuwerfen &#8211; von 128 bis 160 klafft nämlich eine Lücke von der ich auch nicht recht sagen kann, wie sie dahin kommt. Unter DOS gab es irgendwo einen Bereich mit einfachen und doppeltten Linien, horizontal, vertikal, ums Eck und gekreuzt, mit dem man Fenster malen konnte, die älteren erinnern sich vielleicht an den Norton-Commander, ein Programm das Norton einen guten Ruf einbrachte. VIelleicht lagen die Zeichen unter DOS da; bei Linux und ISO-8859-15 meines Wissens aber nicht. Da gibt es zwar den Midnight-Commander der auch mit solchen Pseudografiken arbeitet, aber wie er das macht ist mir nicht bekannt. Vielleicht läd er eine selbst mitgebrachte Schriftart, wobei es aber auch mehr Programme und Bibliotheken mit solchen Dialogen gibt, beim Kernelbauen bin ich denen auch oft begegnet (make menuconfig).</p>
<p style="text-align:left;">Apropos Linux: Alle Programme/Codes stehen unter der GPLv3. Das Template muss Public-Domain sein um bei OpenClipart.org gehostet zu werden, aber auf Wunsch bekommt man von mir auch eine CC-BY-SA-NC Lizenz.</p>
<p style="text-align:left;">(Hier folgt das ganze nochmal auf Englisch)</p>
<h2>In English:</h2>
<p style="text-align:center;"><a href="https://demystifikation.files.wordpress.com/2015/08/aufklaerung-denken-furcht.png"><img class="alignnone size-full wp-image-10156" src="https://demystifikation.files.wordpress.com/2015/08/aufklaerung-denken-furcht.png?w=625" alt="aufklaerung-denken-furcht"   /></a></p>
<p style="text-align:left;">Some weeks ago, I created a font for Inkscape or other SVG apps, which consists of squares with circular holes, no truetype font, but a console font and build from a shell, scanning each pixel of a 8&#215;16 matrix. But combining words from single characters was not convenient. <!--more--></p>
<p style="text-align:left;">And charcters above 127 like special, european ones, where stored in an extra file, such that äöüÄÖÜß or the spanish ~n like se~norita or the french é ilike n Pelé were hard to integrate. To make the characters easily colorizable it is of advantage, to implement them as holes, so you can underlay whole words, sentences, paragraphs with the desired color and don&#8217;t need to change each sign for itself.</p>
<p style="text-align:left;">The main goal has been to insert the text on the commandline, and get a graphic which contains the text as SVG. Then I wanted to allow newlines and allow multiline, left oriented text. The whole text is saved as a group, to make it easily resizeable, turnable, etc.</p>
<p style="text-align:left;">As proof I took the first paragraph from the &#8220;Dialektik der Aufklärung, Max Horkheimer, Theodor W. Adorno&#8221;:</p>
<p style="text-align:left;"><a href="https://demystifikation.files.wordpress.com/2015/08/dda4.png"><img class="alignnone size-full wp-image-10157" src="https://demystifikation.files.wordpress.com/2015/08/dda4.png?w=625" alt="dda4"   /></a></p>
<p style="text-align:left;">A texte of this length is hardly handable at 4 GB RAM and open Firefox with 20 tabs. The text consists of 2143 Zeichen, on average about 30 circles per sign. Together around 64.000 paths.</p>
<p style="text-align:left;"><strong>Howto</strong>:</p>
<p style="text-align:left;">Download the resource file from <a href="https://openclipart.org/detail/225896/extendet-rasterfont-iso885915">OpenClipart.org</a>.</p>
<p style="text-align:left;">Save the following <a href="http://home.arcor.de/hirnstrom/minis/t2rasterfont-en.sh">script</a> as<strong> t2rasterfont.sh</strong> (remove the -en) and make it executable:</p>
<p style="text-align:left;">In simple cases all ascii codes below 128, the command could be:</p>
<p style="text-align:left;"><code><br />
./t2rasterfont.sh "This is a test" &gt; sample.svg<br />
</code></p>
<p style="text-align:left;">In &#8216;sample.svg&#8217;, outside of the image area, all the signs are stored, In the image area, as long as it fits, the text is combined from clones of the characters. To modify the result the clones, need to be unlinked from the template, if they are to be changed individually.- then the originals can be deleted. The shorter the text is, the more useful is that. Else you may save storage, if you keep them as clones and don&#8217;t want to change them individually or not at all, but then you have to preserve the originals.</p>
<p style="text-align:left;">The text is automatically grouped so you can move and zoom it as a whole. Single words aren&#8217;t. You would have to ungroup the complet text to group words, lines and so on separately.</p>
<p style="text-align:left;">If you have to handle ascii codes above 127, you have to convert the text to ISO-8859-15 first. For the sample text I did it like this with <strong>iconv</strong>:</p>
<hr />
<p style="text-align:left;"><code>dda=$(cat dda.txt | iconv -f utf-8 -t iso-8859-1)</code></p>
<p style="text-align:left;"><code>./t2rasterfont.sh "$dda" &gt; dda4.svg</code></p>
<hr />
<p style="text-align:left;"><strong>Update</strong>:</p>
<p style="text-align:left;"><a href="https://demystifikation.files.wordpress.com/2015/08/matrix-detail.png"><img class="alignnone size-full wp-image-10173" src="https://demystifikation.files.wordpress.com/2015/08/matrix-detail.png?w=625" alt="matrix-detail"   /></a></p>
<p style="text-align:left;">Here you see width and height of the characters and their positioning in the template. They are 80 units by 160 and placed in a 100&#215;200 area. The gap made it more easy to mark all circles of a sign, and join them into a path to substract the result from the rectangles. 128, 29, 30, &#8230; are the ascii codes, admitting, that sign 128 doen&#8217;t exist, but I thought a filled block might be useful sometimes.</p>
<p style="text-align:left;">In its first usage, there wasn&#8217;t an Euro and no Euro symbol. At position 164 was a different one, whoms name and usage I don&#8217;t know, which I migrated to 132, since there was room, instead of throwing it away &#8211; from 128 to 160 there is a gap which I can&#8217;t explain. In DOS there was an area with simple and double lines, horizontal, vertical, around the corner and crossing, which was used to draw windows, the seniours might remember Norton-Commander, a programm which brought Norton good reputation. Maybe they existed there. In Linux and ISO-8859-15 they didn&#8217;t. There exists a Midnight-Commander which works with such pseudo graphics too, but I don&#8217;t know how. Maybe he loads his own characterset, but on the other hand, there are more programs and libraries with such dialogs, building a kernel you meet them during <em>make menuconfig</em>.</p>
<p style="text-align:left;">Apropos linux: All programs/codes are GPLv3. The template has to be PD to be hostet at OpenClipart.org but you could get a CC-BY-SA-NC lizense if you like, too.</p><br />Einsortiert unter:<a href='https://demystifikation.wordpress.com/category/computerit/'>Computer/IT</a>, <a href='https://demystifikation.wordpress.com/category/linux/'>Linux</a>, <a href='https://demystifikation.wordpress.com/category/open-source/'>Open Source</a>, <a href='https://demystifikation.wordpress.com/category/skizze/'>Skizze</a> Tagged: <a href='https://demystifikation.wordpress.com/tag/font/'>font</a>, <a href='https://demystifikation.wordpress.com/tag/gpl/'>GPL</a>, <a href='https://demystifikation.wordpress.com/tag/inkscape/'>inkscape</a>, <a href='https://demystifikation.wordpress.com/tag/linux/'>Linux</a>, <a href='https://demystifikation.wordpress.com/tag/lochraster/'>Lochraster</a>, <a href='https://demystifikation.wordpress.com/tag/matrix/'>Matrix</a>, <a href='https://demystifikation.wordpress.com/tag/shell/'>Shell</a>, <a href='https://demystifikation.wordpress.com/tag/svg/'>SVG</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/demystifikation.wordpress.com/10155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/demystifikation.wordpress.com/10155/" /></a> <img alt="" border="0" src="https://pixel.wp.com/b.gif?host=demystifikation.wordpress.com&#038;blog=43223909&#038;post=10155&#038;subd=demystifikation&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://demystifikation.wordpress.com/2015/08/26/matrixfont-improved/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="https://2.gravatar.com/avatar/888b31af96427e8bd603631fa2af32f5?s=96&#38;d=monsterid&#38;r=X" medium="image">
			<media:title type="html">user1unknown</media:title>
		</media:content>

		<media:content url="https://demystifikation.files.wordpress.com/2015/08/aufklaerung-denken-furcht.png" medium="image">
			<media:title type="html">aufklaerung-denken-furcht</media:title>
		</media:content>

		<media:content url="https://demystifikation.files.wordpress.com/2015/08/dda4.png" medium="image">
			<media:title type="html">dda4</media:title>
		</media:content>

		<media:content url="https://demystifikation.files.wordpress.com/2015/08/matrix-detail.png" medium="image">
			<media:title type="html">matrix-detail</media:title>
		</media:content>

		<media:content url="https://demystifikation.files.wordpress.com/2015/08/aufklaerung-denken-furcht.png" medium="image">
			<media:title type="html">aufklaerung-denken-furcht</media:title>
		</media:content>

		<media:content url="https://demystifikation.files.wordpress.com/2015/08/dda4.png" medium="image">
			<media:title type="html">dda4</media:title>
		</media:content>

		<media:content url="https://demystifikation.files.wordpress.com/2015/08/matrix-detail.png" medium="image">
			<media:title type="html">matrix-detail</media:title>
		</media:content>
	</item>
		<item>
		<title>Für den Ofen</title>
		<link>https://demystifikation.wordpress.com/2015/07/29/fuer-den-ofen/</link>
		<comments>https://demystifikation.wordpress.com/2015/07/29/fuer-den-ofen/#comments</comments>
		<pubDate>Tue, 28 Jul 2015 22:26:11 +0000</pubDate>
		<dc:creator><![CDATA[user unknown]]></dc:creator>
				<category><![CDATA[Computer/IT]]></category>
		<category><![CDATA[Klamauk]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Skizze]]></category>
		<category><![CDATA[c't uplink]]></category>
		<category><![CDATA[CT-TV]]></category>
		<category><![CDATA[Kacheln]]></category>
		<category><![CDATA[Kachelofen]]></category>
		<category><![CDATA[Ofen]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows 10]]></category>

		<guid isPermaLink="false">http://demystifikation.wordpress.com/?p=9985</guid>
		<description><![CDATA[ &#8211; Für den Ofen &#8211;  Transkription: &#8220;Früher war Windows ja echt für den Ofen.&#8221; &#8211; &#8220;Heute ist es für den Kachelofen.&#8221; Der letzte Beitrag zu Windows 10. Einsortiert unter:Computer/IT, Klamauk, Linux, Skizze Tagged: c't uplink, CT-TV, Kacheln, Kachelofen, Ofen, Windows, Windows 10<img alt="" border="0" src="https://pixel.wp.com/b.gif?host=demystifikation.wordpress.com&#038;blog=43223909&#038;post=9985&#038;subd=demystifikation&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p style="text-align:center;"><strong> &#8211; Für den Ofen &#8211; </strong></p>
<p style="text-align:center;"><a href="https://demystifikation.files.wordpress.com/2015/07/win-10-ct1.png"><img class="alignnone size-full wp-image-9988" src="https://demystifikation.files.wordpress.com/2015/07/win-10-ct1.png?w=625" alt="win-10-ct"   /></a>Transkription: &#8220;Früher war Windows ja echt für den Ofen.&#8221; &#8211; &#8220;Heute ist es für den Kachelofen.&#8221;<span id="more-9985"></span></p>
<p style="text-align:left;">Der letzte Beitrag zu <a href="https://demystifikation.wordpress.com/2014/10/03/windows-10/">Windows 10</a>.</p>
<p style="text-align:center;"><br />Einsortiert unter:<a href='https://demystifikation.wordpress.com/category/computerit/'>Computer/IT</a>, <a href='https://demystifikation.wordpress.com/category/klamauk/'>Klamauk</a>, <a href='https://demystifikation.wordpress.com/category/linux/'>Linux</a>, <a href='https://demystifikation.wordpress.com/category/skizze/'>Skizze</a> Tagged: <a href='https://demystifikation.wordpress.com/tag/ct-uplink/'>c't uplink</a>, <a href='https://demystifikation.wordpress.com/tag/ct-tv/'>CT-TV</a>, <a href='https://demystifikation.wordpress.com/tag/kacheln/'>Kacheln</a>, <a href='https://demystifikation.wordpress.com/tag/kachelofen/'>Kachelofen</a>, <a href='https://demystifikation.wordpress.com/tag/ofen/'>Ofen</a>, <a href='https://demystifikation.wordpress.com/tag/windows/'>Windows</a>, <a href='https://demystifikation.wordpress.com/tag/windows-10/'>Windows 10</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/demystifikation.wordpress.com/9985/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/demystifikation.wordpress.com/9985/" /></a> <img alt="" border="0" src="https://pixel.wp.com/b.gif?host=demystifikation.wordpress.com&#038;blog=43223909&#038;post=9985&#038;subd=demystifikation&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://demystifikation.wordpress.com/2015/07/29/fuer-den-ofen/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<georss:point>52.375892 9.732010</georss:point>
		<geo:lat>52.375892</geo:lat>
		<geo:long>9.732010</geo:long>
		<media:content url="https://2.gravatar.com/avatar/888b31af96427e8bd603631fa2af32f5?s=96&#38;d=monsterid&#38;r=X" medium="image">
			<media:title type="html">user1unknown</media:title>
		</media:content>

		<media:content url="https://demystifikation.files.wordpress.com/2015/07/win-10-ct1.png" medium="image">
			<media:title type="html">win-10-ct</media:title>
		</media:content>
	</item>
		<item>
		<title>journal.sh</title>
		<link>https://demystifikation.wordpress.com/2015/07/22/journal-sh/</link>
		<comments>https://demystifikation.wordpress.com/2015/07/22/journal-sh/#respond</comments>
		<pubDate>Wed, 22 Jul 2015 20:42:41 +0000</pubDate>
		<dc:creator><![CDATA[user unknown]]></dc:creator>
				<category><![CDATA[Computer/IT]]></category>
		<category><![CDATA[Fahrrad]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[xUbuntu]]></category>
		<category><![CDATA[date]]></category>
		<category><![CDATA[journal]]></category>
		<category><![CDATA[logfile]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Sed]]></category>
		<category><![CDATA[Shell]]></category>

		<guid isPermaLink="false">http://demystifikation.wordpress.com/?p=9966</guid>
		<description><![CDATA[&#8211; journal.sh &#8211; Mal wieder ein kleines, nützliches Script. Oben ein Screenshot, hier der Code als Text: #!/bin/bash # # (c) GPLv3 S. Wagner # msg=$(echo $(date +"%a %Y.%m.%d ")$*) sed -i "1i$msg" ~/journal.txt Mein Anliegen ist, kleine Informationshäppchen in einer Datei zu sammeln, die alle mit einem Zeitstempel versehen sind. Die Datenmenge ist zu [&#8230;]<img alt="" border="0" src="https://pixel.wp.com/b.gif?host=demystifikation.wordpress.com&#038;blog=43223909&#038;post=9966&#038;subd=demystifikation&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p style="text-align:center;"><strong>&#8211; journal.sh &#8211;</strong></p>
<p style="text-align:center;"><a href="https://demystifikation.files.wordpress.com/2015/07/journal-sh.png"><img class="alignnone size-full wp-image-9967" src="https://demystifikation.files.wordpress.com/2015/07/journal-sh.png?w=625" alt="journal.sh"   /></a></p>
<p style="text-align:center;">Mal wieder ein kleines, nützliches Script.<span id="more-9966"></span></p>
<p>Oben ein Screenshot, hier der Code als Text:</p>
<pre><code>
#!/bin/bash
#
# (c) GPLv3 S. Wagner
#
msg=$(echo $(date +"%a %Y.%m.%d ")$*)
sed -i "1i$msg" ~/journal.txt
</code></pre>
<p>Mein Anliegen ist, kleine Informationshäppchen in einer Datei zu sammeln, die alle mit einem Zeitstempel versehen sind. Die Datenmenge ist zu gering für eine Datenbank. Eine Tabellenkalkulation ist auch zu fett &#8211; bis die gestartet ist &#8230;</p>
<p>Wie nutze ich das Programm? Ich sammle zur Zeit folgende Informationen:</p>
<ul>
<li>Mein Körpergewicht</li>
<li>Den Zählerstand des Stromzählers</li>
<li>Anschaffungen und Wartungen des Fahrrads (Schläuche, Mäntel, Bremsbeläge, &#8230;)</li>
<li>Kilometerstand des Fahrradtachos</li>
<li>Verbrauchsmaterial Anschaffungen und Austausch für die Elektrozigarette</li>
<li>Ergiebigkeit des Mobiltelefonakkus</li>
<li>&#8230;</li>
</ul>
<p>Die Protokollierung findet unregelmäßig statt, ebenso die Auswertung. Zum Wiederfinden der Informationen zu einem Thema nutze ich immer wieder verwendete Schlüsselwörter sowie grep.</p>
<p>Beispiel der Protokollierung:</p>
<p><strong>journal.sh Rennrad neuer Schlauch hinten RED 700&#215;18/25c (18/25-622) SV</strong></p>
<p>Das Wort &#8220;Rennrad&#8221; ist mein Schlüsselwort, aber spielt syntaktisch keine Sonderrolle. Es ist nur meine Konvention das erste Wort als Schlüselwort zu verwenden. Etwas aufpassen muss man mit Sonderzeichen, die von der Shell interpretiert werden könnten, etwa $, %, ?, !, | etc., so dass es keine schlechte Idee ist den ganzen Text in einfache Anführungsstriche einzuschließen:</p>
<p><strong>journal.sh &#8216;Rennrad neuer Schlauch hinten RED 700&#215;18/25c (18/25-622) SV&#8217;</strong></p>
<p>Das Script setzt nur mittels des Date-Befehls: <strong>date +&#8221;%a %Y.%m.%d &#8221; </strong>das Datum in Form von <strong>Di 2015.06.30 </strong>vor den Text. Der Text, nämlich alle übergebenen Parameter, wird mit $* hinter das Datum + Leerstelle gesetzt: und in der Variablen msg zwischengespeichert: <strong>msg=$(echo $(date +&#8221;%a %Y.%m.%d &#8220;)$*) </strong>.Die Vielzahl der Optionen von <em>date</em> kann man mit <strong>date &#8211;help</strong> als Übersicht oder ausführlicher mit <strong>man date</strong> studieren. Mit sed wird die Zeile dann vor all die anderen in der Datei journal.txt im Heimatverzeichnis gehängt, so dass die jüngsten Einträge oben stehen. Die Option -i sagt sed dass die Datei <em>in place</em> verändert werden soll. Das<strong> 1i&#8230;</strong> sagt, dass &#8230; in Zeile 1 inserted werden soll.</p>
<p>Das war schon alles, also wahrlich kein Hexenwerk. Suchen kann man in der Datei dann wie folgt:<code><br />
<strong>grep -i rad ~/journal.txt</strong><br />
Di 2015.06.30 Rennrad neuer Schlauch hinten RED 700x18/25c (18/25-622) SV<br />
Di 2015.06.30 Rennrad Neuer Mantel hinten Schwalbe, Kevlar Guard, Protect. Level 3, Lugano 23-622 6bar<br />
Mi 2015.02.11 Fahrrad Bremsbeläge hinten neu aufgesetzt<br />
So 2015.01.04 radcomputer Durch-km/h 20.6<br />
So 2015.01.04 radcomputer Max-km 41.8<br />
So 2015.01.04 radcomputer Gesamtzeit 136:42<br />
So 2015.01.04 radcomputer Gesamtkilometer 1535.1<br />
Mi 2014.04.02 Fahrrad Tacho reset<br />
</code><br />
Oder etwa nach kg suchen:</p>
<blockquote><p><strong> grep -i kg ~/journal.txt</strong><br />
Mi 2015.07.22 88.5 kg<br />
Do 2015.02.19 86.6 kg<br />
Mo 2014.12.08 85.6 kg<br />
Mo 2014.11.24 86 kg</p></blockquote>
<p>Bei solchen Miniprogrammen ist es oft so, dass man denkt, man habe etwas nützliches geschaffen, aber dann nutzt man es doch nicht, oder nur 3x in der ersten Woche, und dann zeigt sich, dass es weniger praktisch ist als erhofft. Für mich ist das Programm nützlich. Ich habe es über ein Jahr und nutze es immer noch. Wer natürlich kein Shellfenster ohnehin offen hat, der kann ähnlich schnell den Editor öffnen, aber will man dann gerne das Datum manuell eintragen? Den Wochentag protokolliere ich, um mich bei manuellen Kontrollen leichter zu tun, wenn ich etwas speichere,, was gestern oder vorgestern war, und es kommt mir auf die 1-2 Tage an.</p>
<p>Man hätte schauen können, ob man die log-Funktion des Systems verwenden will, aber hätte man sich mit dem ganzen logrotate-Zeuch beschäftigen müssen, dass wolle ich nicht.</p><br />Einsortiert unter:<a href='https://demystifikation.wordpress.com/category/computerit/'>Computer/IT</a>, <a href='https://demystifikation.wordpress.com/category/fahrrad/'>Fahrrad</a>, <a href='https://demystifikation.wordpress.com/category/linux/'>Linux</a>, <a href='https://demystifikation.wordpress.com/category/open-source/'>Open Source</a>, <a href='https://demystifikation.wordpress.com/category/xubuntu-2/'>xUbuntu</a> Tagged: <a href='https://demystifikation.wordpress.com/tag/date/'>date</a>, <a href='https://demystifikation.wordpress.com/tag/journal/'>journal</a>, <a href='https://demystifikation.wordpress.com/tag/logfile/'>logfile</a>, <a href='https://demystifikation.wordpress.com/tag/scripting/'>Scripting</a>, <a href='https://demystifikation.wordpress.com/tag/sed/'>Sed</a>, <a href='https://demystifikation.wordpress.com/tag/shell/'>Shell</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/demystifikation.wordpress.com/9966/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/demystifikation.wordpress.com/9966/" /></a> <img alt="" border="0" src="https://pixel.wp.com/b.gif?host=demystifikation.wordpress.com&#038;blog=43223909&#038;post=9966&#038;subd=demystifikation&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://demystifikation.wordpress.com/2015/07/22/journal-sh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="https://2.gravatar.com/avatar/888b31af96427e8bd603631fa2af32f5?s=96&#38;d=monsterid&#38;r=X" medium="image">
			<media:title type="html">user1unknown</media:title>
		</media:content>

		<media:content url="https://demystifikation.files.wordpress.com/2015/07/journal-sh.png" medium="image">
			<media:title type="html">journal.sh</media:title>
		</media:content>
	</item>
		<item>
		<title>ASCII-Terminalfont in SVG mit Scala</title>
		<link>https://demystifikation.wordpress.com/2015/06/17/ascii-terminalfont-in-svg-mit-scala/</link>
		<comments>https://demystifikation.wordpress.com/2015/06/17/ascii-terminalfont-in-svg-mit-scala/#comments</comments>
		<pubDate>Wed, 17 Jun 2015 04:29:34 +0000</pubDate>
		<dc:creator><![CDATA[user unknown]]></dc:creator>
				<category><![CDATA[Computer/IT]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Scala]]></category>
		<category><![CDATA[Skizze]]></category>
		<category><![CDATA[ansi]]></category>
		<category><![CDATA[arc]]></category>
		<category><![CDATA[ascii]]></category>
		<category><![CDATA[Bögen]]></category>
		<category><![CDATA[bitmap]]></category>
		<category><![CDATA[Circle]]></category>
		<category><![CDATA[ellipse]]></category>
		<category><![CDATA[Ellipsen]]></category>
		<category><![CDATA[font]]></category>
		<category><![CDATA[gruppiert]]></category>
		<category><![CDATA[inkscape]]></category>
		<category><![CDATA[Kreise]]></category>
		<category><![CDATA[Optima Zapf-Dingbats]]></category>
		<category><![CDATA[Sodipodi]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[western latin]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[Zapf]]></category>
		<category><![CDATA[Zapfino]]></category>

		<guid isPermaLink="false">http://demystifikation.wordpress.com/?p=9701</guid>
		<description><![CDATA[ &#8211; ASCII-Terminalfont in SVG mit Scala &#8211; Mal wieder was technisches, für zwischendurch. Themen: SVG, Inkscape, Ansi/ascii, Font, Bitmap, Scala Werfen wir einen trüben Blick zurück in die 90er, als ich meinen ersten PC beschaffte, einen 386er mit sensationellen 8MB RAM, also rund einem 1000tel des heutigen, einer 40MB Platte, ähnlicher Faktor, 16 Mhz, auch [&#8230;]<img alt="" border="0" src="https://pixel.wp.com/b.gif?host=demystifikation.wordpress.com&#038;blog=43223909&#038;post=9701&#038;subd=demystifikation&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p style="text-align:center;"><strong> &#8211; ASCII-Terminalfont in SVG mit Scala &#8211;</strong></p>
<p style="text-align:center;"><a href="https://demystifikation.files.wordpress.com/2015/06/asciifont.png"><img class="alignnone size-full wp-image-9700" src="https://demystifikation.files.wordpress.com/2015/06/asciifont.png?w=625" alt="asciifont"   /></a></p>
<p style="text-align:center;">Mal wieder was technisches, für zwischendurch.</p>
<p style="text-align:left;">Themen: SVG, Inkscape, Ansi/ascii, Font, Bitmap, Scala<span id="more-9701"></span></p>
<p style="text-align:left;">Werfen wir einen trüben Blick zurück in die 90er, als ich meinen ersten PC beschaffte, einen 386er mit sensationellen 8MB RAM, also rund einem 1000tel des heutigen, einer 40MB Platte, ähnlicher Faktor, 16 Mhz, auch rund die Größenordnung. Anfangs-OS war MS-DOS irgendwas u. Windows 2.0, erst ein, zwei Jahre später lernte ich über Modem Rico kennen, meinen langjährigen Linuxguru, der inzwischen vom reinen Glauben abgefallen ist ins Lager der Leute mit den weißen Kabeln.</p>
<p style="text-align:left;">Er konnte mich zwar früh für Linux interessieren, allein meine ursteure Kiste (wg. dem RAM &#8211; üblich waren eher 1-2MB, aber ich hatte ein Oracle für den PC, welches dringend 8MB benötigte mit einer Extensioncard, groß wie ein heutiges Tablet) erkannte im BIOS keine Festplatten &gt; 80 MB. Ein netter Händler in der Kastanienallee, in der ich damals wohnte, hatte aber eine Spezialkarte, die das BIOS austrickste, und über die ich bis zu 4 128-MB Festplatten anschließen konnte, was ich im Laufe der Zeit dann auch tat. Nur erkannte Linux die nicht, weswegen ich Linux erst auf meinem nächsten PC installieren konnte.</p>
<p style="text-align:left;">Derart in der DOS-Welt gefangen kam mir dann aber bald ein Paket Borland C/C++ über den Weg gelaufen, es muss von einem LKW gefallen sein, denn die Anschaffung wäre wieder eine kostspielige Sache gewesen, und damit beschäftigte ich mich ausführlich und autodidaktisch, und eine meiner Spielereien war damals, dass ich die Zeichen des Ascii-Zeichensatzes auf der Konsole mit dem Borland-Grafikbefehl <strong>getpixel</strong> auslas, und den Font von 8&#215;16 Pixeln als Array aus 0en und 1en auf Platte schrieb. Die weitere Verwendung muss hier nicht weiter erörtert werden &#8211; es hielt sich auch sehr in Grenzen.</p>
<pre class="brush: cpp; title: ; notranslate">



{ // 83 S
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,1,1,1,1,1,0,0},
{1,1,0,0,0,1,1,0},
{1,1,0,0,0,1,1,0},
{0,1,1,0,0,0,0,0},
{0,0,1,1,1,0,0,0},
{0,0,0,0,1,1,0,0},
{0,0,0,0,0,1,1,0},
{1,1,0,0,0,1,1,0},
{1,1,0,0,0,1,1,0},
{0,1,1,1,1,1,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0}
},



</pre>
<p style="text-align:left;">Schon länger schleppte ich die Idee mit mir rum diesen Font irgendwie für Inkscape-Vektorgrafiken bzw. das SVG-Format nutzbar zu machen. (Haben Sie diese Code-Tags bemerkt? Einfach ignorieren!)</p>
<p style="text-align:left;">Letzte Woche schaute ich nun einerseits ein paar Inkscape/SVG-<a href="http://tutorials.jenkov.com/svg/circle-element.html#circle-video">Tutorials</a> an, darunter solche die sich der <a href="http://www.w3schools.com/svg/svg_circle.asp">XML-Manipulation</a> widmeten, und las 2-3 <a href="https://blasphemieblog2.wordpress.com/2015/06/14/der-erfinder-des-atheisten-symbol-ist-gestorben/">Artikel</a> u. Videos</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='625' height='382' src='https://www.youtube.com/embed/CVxeuwlvf8w?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0' allowfullscreen='true'></iframe></span>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='625' height='382' src='https://www.youtube.com/embed/XvwNKpDUkiE?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0' allowfullscreen='true'></iframe></span>
<p style="text-align:left;">zum Tod von Zapf Dingbats, nein, Moment, zum Tode eines Herrn <a href="http://www.fontshop.de/fontblog/hermann-zapf-1918-2015/">Herrmann Zapf</a>, auf den verschiedene, populäre Fonts zurückgehen, darunter Optima, <a href="https://de.wikipedia.org/wiki/Zapfino">Zapfino</a> (klingt wie ein brasilianischer Fußballer) und Zapf Dingbats. Ein rotes A einer seinere Schriften (Zapfino?) ist auch das Logo einer internationalen Atheistenorganisation:</p>
<p style="text-align:left;"><img class="alignnone" src="https://i2.wp.com/bitchspot.jadedragononline.com/wp-content/uploads/2013/07/Atheist-logo.png?zoom=2" alt="" width="1057" height="1033" /></p>
<p style="text-align:left;">Als Logo eine fragwürdige Wahl insofern man es schwer abmalen kann, verglichen mit dem Anarcho-A (A) (allgemeine Bekanntheit vorausgesetzt).</p>
<p style="text-align:left;">Man kann sagen, die Lage war überdeterminiert nun endlich zur Tat zu schreiten.</p>
<p style="text-align:left;">Störend war, dass ich an mehreren Stellen zugleich anfangen musste zu bohren &#8211; das Handling von XML mit Scala war mir, ohne je richtig vertraut gewesen zu sein, weitgehend entfremdet und das SVG-Format weitgehend unbekannt.</p>
<p style="text-align:left;">Einen ziemlichen Dämpfer erhielt die Angelegenheit bei der Betrachtung, was Inkscape daraus macht, wenn man einen Kreis mit Durchmesser 10 auf einem Rechteck in der linken, oberen Ecke platziert. Inkscape hat einen extra Button um sich das produzierte XML anzusehen, und das sieht so aus:</p>
<pre>  &lt;g
 id="g21429"&gt;
 &lt;rect
 y="-0.15551876"
 x="0.125"
 height="75.625"
 width="45.75"
 id="rect21425"
 style="fill:#0000ff;fill-opacity:1;stroke:none" /&gt;
 &lt;path
 transform="translate(-1.625,-2.875)"
 d="m 17.875,10.969481 a 8.125,8.125 0 1 1 -16.25,0 8.125,8.125 0 1 1 16.25,0 z"
 sodipodi:ry="8.125"
 sodipodi:rx="8.125"
 sodipodi:cy="10.969481"
 sodipodi:cx="9.75"
 id="path21427"
 style="fill:#ffff00;fill-opacity:1;stroke:none"
 sodipodi:type="arc" /&gt;
 &lt;/g&gt;</pre>
<p><code>Okay - was haben wir da? Ein Rechteck mit x,y und Weite, Höhe, y="-0.15551876" also rund 17 Nachkommastellen. Stroke=none? Das heißt <em>Umrandung=keine</em>, kann man das dann nicht einfach weglassen?  </code></p>
<p><code>Dann kommt path, wo ich circle erwartet hätte, und es geht gleich los mit transform="translate(-4.6042403,-3.0545715)" - was ist das nun wieder? Und <em>sodipodi</em>? Ja, Du mich auch! Okay, soviel hatte ich vom <a href="https://demystifikation.wordpress.com/2013/09/21/inkscape-workshop-in-der-c-base-berlin/">Tutorial</a> noch im Kopf: Anfangs hieß das Projekt 'Sodipodi', nicht 'Inkscape', und daher findet sich das noch im Code. Cx, cy sind Center-x und -y - das überrascht nicht. Rx, ry dagegen ein wenig, aber ein Kreis ist nur der Spezialfall einer Ellipse, für Inkscape, bei der x-Radius und y-Radius identisch sind. Oben steht noch ein <em>d-Block, </em>d="m ..." mit m für move (die Stiftspitze) und zwar relativ zur letzten Position, Groß-M wäre absolut, wenn ich das richtig im Kopf habe - das ist irre! Fügt man irgendwo eine neue Figur so ein muss man alle vorherigen Stiftbewegungen nachvollziehen, um zu wissen, wo der Stift zuletzt war, und fügt man etwas ein oder löscht etwas weg, dann stimmen alle nachfolgenden, relativen Bezüge nicht mehr! </code></p>
<p>Wofür a steht weiß ich nicht mehr, wohl Stift absenken oder sowas. Diese ganze Zahlenkolonne ist jedenfalls höchst fehleranfällig. Das z am Ende bedeutet aber &#8216;zurück&#8217; zum Pfadbeginn also, d.h. die Figur wird geschlossen, soviel weiß ich noch.</p>
<p>Kurzer Exkurs zu Kreisen, Ellipsen und Bögen:</p>
<p><a href="https://demystifikation.files.wordpress.com/2015/06/kreise.png"><img class="alignnone size-full wp-image-9703" src="https://demystifikation.files.wordpress.com/2015/06/kreise.png?w=625" alt="kreise"   /></a></p>
<p>Oben ein Kreis, darunter eine Ellipse mit rx != ry. Man kann allerdings den Kreis erst quetschen und dann um 90° drehen, so dass man einer Täuschung unterliegt, welcher der Radien nun kleiner ist. Die Rotation der Figur kommt also als Option hinzu. Dann kann man den Kreis an 3 Anfassern bei Inkscape manipulieren. Oben und links den Radius, rechts den Anfasser um den Kreis aufzureißen, wodurch man ein Tortensegment macht (Mitte) oder ein Kreissegment (rechts). Außerdem &#8211; hier nicht gezeigt, kann man eine Kontur dazu zeichnen oder nur die Kontur und die Kontur kann gepunktet oder gestrichelt sein, die Füllung ein Muster oder ein Farbverlauf, die Dicker der Umrandung, die Transparenz, pipapo &#8211; sodipodi!</p>
<p>Und unten ist das Malheur passiert. Man hat die Knotenwerkzeuge eingeschaltet (links) und kann die Knoten reindrücken oder rausziehen (Mitte) oder die tangentiale Richtung der Hülle am Knoten manipulieren (rechts).</p>
<p>Alles tolle Sachen, aber wir haben vor einen Asciizeichensatz mit nicht ganz 256 Zeichen zu erstellen, jedes Zeichen 8 Pixel breit und 16 Pixel hoch und dargestellt von je einem Kreis. Ob da ein Kreis in 4 Zeilen oder einer oder 96 Zeilen dargestellt wird macht einen kleinen Unterschied. 8&#215;16 ist ja 8²<em>2 oder 64</em>2 = 128. Das mal 200 (weil einige Codes nicht druckbare Zeichen darstellen, etwa Tab und Newline) sind 25.600 Kreise maximum, da die Flächen schwach gefüllt sind vielleicht 8-10.000, aber immerhin. Bei 10 Zeilen pro Kreis wären das 100.000 Zeilen Code.</p>
<p>Dann spielte ich aber rum mit dem &#8220;Speichern unter&#8221;-Dialog, der neben &#8220;Inkscape SVG&#8221;, was ich normalerweise nutze, noch &#8220;normales SVG&#8221; kennt und &#8220;optimiertes SVG&#8221; (hört, hört!). Und siehe da, das verständliche aber ausufernde Sodipodizeuch kann man weglassen.</p>
<p>Wer die Links oben zu SVG-Tutorial brav besucht hat wird schon unruhig auf dem Sitz hin- und herrutschen. Ja &#8211; es geht auch einfacher.</p>
<p>Ich speicherte eine Datei, öffnete sie mit dem Editor und fügte aus dem Tutorial ein einfaches und plausibles:</p>
<pre> <span class="highLT">&lt;</span><span class="highELE">circle</span> <span class="highATT">cx=</span><span class="highVAL">"50"</span> <span class="highATT">cy=</span><span class="highVAL">"50"</span> <span class="highATT">r=</span><span class="highVAL">"40"</span> <span class="highATT">stroke=</span><span class="highVAL">"none</span><span class="highVAL">"</span> <span class="highATT">fill=</span><span class="highVAL">"red"</span> <span class="highATT">/</span><span class="highGT">&gt;</span></pre>
<p>ein, und sagte in Inkscape<em> Datei/Zurücksetzen</em>, dann wird sie neu vom Datenträger gelesen. Und siehe da &#8211; beim Lesen versteht SVG diese einfache Sprache.</p>
<p>Jetzt hieß es nur noch das oben vorgestellte Bitmapformat aus C mit Scala, meiner Haussprache (neben Bash und Sed), in XML zu verwandeln.</p>
<pre>package bitmap
/* 
 List (256x Bitmap of List ( 16 Zeilen of String (8 x 0 oder 1)))
*/
object Bitmap {
val bitmap: List[List[String]] = List (
List ( // 0
"10000000",
"01000000",
"00111000",
"00100000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000"
),
List ( // 1
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
</pre>
<p>Mit sed änderte ich oben gezeigten C-Code so um, dass es eine Scala List-of-List-of-Strings wurde. Zeichen 0 und 1 werden (wie alles &lt;32) nicht wirklich genutzt und bestehen nur aus 0en, außer beim ersten Zeichen aus Testzwecken.</p>
<pre>import bitmap._

object ToSvg extends App {

 def rect (id: Int, rx: Int, ry: Int, bmap: List[String]) = {

 def circle (x: Int, y:Int) = {
 val sx = "" + x
 val sy = "" + y 
 &lt;circle cx={sx} cy={sy} r="5" style="fill:#ffff00;stroke:none" /&gt;
 }
 
 def rect (gid: String, pid:String, px:String, py:String) = {
 &lt;g id={gid}&gt;
 &lt;rect id={pid} height="160" width="80" y={py} x={px} fill="#0000ff"/&gt;
 {
 for (col &lt;- (0 to 7);
 row &lt;- (0 to 15);
 x=5+10*col;
 y=5+10*row;
 if (bmap(row)(col) == '1') 
 ) yield circle (x+rx, y+ry)
 }
 &lt;/g&gt;
 }
 rect ("g" + (1000 + id), "rect" + (1000 + id), "" + rx, "" + ry)
 }
 
 override 
 def main (args: Array[String]) {
 val bm = Bitmap.bitmap
 val rectlist = (32 to 127).map (i =&gt; rect (i, (i % 16)*100, (i/16)*200, bm(i)))
 println (rectlist.mkString ("\n"))
 }
}
</pre>
<p>Einerseits ist die Möglichkeit XML direkt in Scalacode zu integrieren verlockend &#8211; andererseits kann es auch extrem irritierend werden, zwei Sprachen ineinander gemixt zu haben.</p>
<p>Das Ergebnis war eine hübsche Armee von knapp 100 Zeichen aus blauen Rechtecken mit gelben Kreisen darauf, die Buchstaben ergaben, <a href="https://openclipart.org/detail/220800/rasterfont-raw-positive">jeweils gruppiert</a>. Beim Ausschneiden wird aber wohl immer ein Pfad mit diesem kryptischen Format aus den Gebilden, und so vollführte ich die Fleißarbeit, und vereinigte die Kreise jedes Zeichen und zog dann diese Vereinigung von der blauen Fläche ab, von Hand. So kann man eine farbige Fläche unter das Zeichen legen, so dass diese aus einer <a href="https://openclipart.org/detail/220804/rasterfont-holes-negative">Matrix durchscheint.</a></p>
<p>Oben im Startbild sollte es zu sehen sein.</p>
<p>Der Font ist nicht als Font nutzbar, also dass man ihn auswählt, und dann lostippen kann. Man muss sich zeichenweise die Buchstaben hinkopieren, diese grob nebeneinander anordnen (Zeile 1), und kann sie dann auf einer Linie in der Höhe ausrichten (Z.2). Wenn man sie leicht überlappend zusammenschiebt kann man sie dann vom Ausrichtungstool soweit auseinanderrücken lassen, dass sie sich gerade nicht mehr überschneiden.</p>
<p>Dann kann man sie zu einem Pfad vereinigen und einen oder mehrere Hintergründe dahinterlegen. (Z. 3-7).</p>
<p>Das SVG-Beispiel zeigt nochmal 3 Zeichen in Groß, gestaucht horizontal u. vertikal sowie mit der Perspektiven-Erweiterung verzerrt. Darunter an einem Pfad ausgerichtet (Band, wiederholt). Letztlich war noch Platz für ein Smilie u. ein Copyright-Symbol, Recht- und Ordnung müssen ja sein! :)</p>
<p>Bei OpenClipart.org finden Interessierte die beiden Versionen des Fonts und eine Version der erweiterten Ascii-Tabelle mit äöüÄÖÜß und manch anderem Westeuropäischen Gedöns.</p>
<p>Fragen sind willkommen &#8211; den kompletten Code für bitmap.Bitmap gibt es nur auf Wunsch &#8211; könnte man ja auf github &#8230; &#8211; mhm. Wer weiß wo die Sekretärin das Passwort versteckt hat&#8230;</p>
<p>Update: Zur bequemen Eingabe von Texten, die man in eine Grafik packen will, gibt es jetzt ein <a href="http://demystifikation.wordpress.de/2015/08/26/matrixfont-improved/">Script</a>.</p><br />Einsortiert unter:<a href='https://demystifikation.wordpress.com/category/computerit/'>Computer/IT</a>, <a href='https://demystifikation.wordpress.com/category/linux/'>Linux</a>, <a href='https://demystifikation.wordpress.com/category/open-source/'>Open Source</a>, <a href='https://demystifikation.wordpress.com/category/scala/'>Scala</a>, <a href='https://demystifikation.wordpress.com/category/skizze/'>Skizze</a> Tagged: <a href='https://demystifikation.wordpress.com/tag/ansi/'>ansi</a>, <a href='https://demystifikation.wordpress.com/tag/arc/'>arc</a>, <a href='https://demystifikation.wordpress.com/tag/ascii/'>ascii</a>, <a href='https://demystifikation.wordpress.com/tag/bogen/'>Bögen</a>, <a href='https://demystifikation.wordpress.com/tag/bitmap/'>bitmap</a>, <a href='https://demystifikation.wordpress.com/tag/circle/'>Circle</a>, <a href='https://demystifikation.wordpress.com/tag/ellipse/'>ellipse</a>, <a href='https://demystifikation.wordpress.com/tag/ellipsen/'>Ellipsen</a>, <a href='https://demystifikation.wordpress.com/tag/font/'>font</a>, <a href='https://demystifikation.wordpress.com/tag/gruppiert/'>gruppiert</a>, <a href='https://demystifikation.wordpress.com/tag/inkscape/'>inkscape</a>, <a href='https://demystifikation.wordpress.com/tag/kreise/'>Kreise</a>, <a href='https://demystifikation.wordpress.com/tag/optima-zapf-dingbats/'>Optima Zapf-Dingbats</a>, <a href='https://demystifikation.wordpress.com/tag/scala/'>Scala</a>, <a href='https://demystifikation.wordpress.com/tag/sodipodi/'>Sodipodi</a>, <a href='https://demystifikation.wordpress.com/tag/svg/'>SVG</a>, <a href='https://demystifikation.wordpress.com/tag/western-latin/'>western latin</a>, <a href='https://demystifikation.wordpress.com/tag/xml/'>xml</a>, <a href='https://demystifikation.wordpress.com/tag/zapf/'>Zapf</a>, <a href='https://demystifikation.wordpress.com/tag/zapfino/'>Zapfino</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/demystifikation.wordpress.com/9701/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/demystifikation.wordpress.com/9701/" /></a> <img alt="" border="0" src="https://pixel.wp.com/b.gif?host=demystifikation.wordpress.com&#038;blog=43223909&#038;post=9701&#038;subd=demystifikation&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://demystifikation.wordpress.com/2015/06/17/ascii-terminalfont-in-svg-mit-scala/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="https://2.gravatar.com/avatar/888b31af96427e8bd603631fa2af32f5?s=96&#38;d=monsterid&#38;r=X" medium="image">
			<media:title type="html">user1unknown</media:title>
		</media:content>

		<media:content url="https://demystifikation.files.wordpress.com/2015/06/asciifont.png" medium="image">
			<media:title type="html">asciifont</media:title>
		</media:content>

		<media:content url="https://i2.wp.com/bitchspot.jadedragononline.com/wp-content/uploads/2013/07/Atheist-logo.png?zoom=2" medium="image" />

		<media:content url="https://demystifikation.files.wordpress.com/2015/06/kreise.png" medium="image">
			<media:title type="html">kreise</media:title>
		</media:content>
	</item>
		<item>
		<title>A fool with a tool</title>
		<link>https://demystifikation.wordpress.com/2015/06/04/a-fool-with-a-tool/</link>
		<comments>https://demystifikation.wordpress.com/2015/06/04/a-fool-with-a-tool/#respond</comments>
		<pubDate>Thu, 04 Jun 2015 20:59:18 +0000</pubDate>
		<dc:creator><![CDATA[user unknown]]></dc:creator>
				<category><![CDATA[Computer/IT]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Skizze]]></category>
		<category><![CDATA[Softwareergonomie]]></category>
		<category><![CDATA[xUbuntu]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[Bookmarks]]></category>
		<category><![CDATA[Favoriten]]></category>
		<category><![CDATA[Fool]]></category>
		<category><![CDATA[Lesezeichen]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[Tool]]></category>

		<guid isPermaLink="false">http://demystifikation.wordpress.com/?p=9607</guid>
		<description><![CDATA[ &#8211; A fool with a tool &#8211;  Ein schönes Tool will ich meinen Lesern heute vorstellen, und Wiesooft nicht von Microsoft, sondern selbst in 12 Minuten zusammengehäkelt, in 4 Minuten abgeschrieben und eingerichtet, in 20 Minuten beschrieben.  Ausgangspunkt sind Links über die man stolptert, und für die man keine Zeit hat, obwohl sie interessant aussehen, [&#8230;]<img alt="" border="0" src="https://pixel.wp.com/b.gif?host=demystifikation.wordpress.com&#038;blog=43223909&#038;post=9607&#038;subd=demystifikation&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p style="text-align:center;"><strong> &#8211; A fool with a tool &#8211; </strong></p>
<p style="text-align:center;"><a href="https://demystifikation.files.wordpress.com/2015/06/fool-with-tool.png"><img class="alignnone size-full wp-image-9608" src="https://demystifikation.files.wordpress.com/2015/06/fool-with-tool.png?w=625" alt="fool-with-tool"   /></a></p>
<p style="text-align:center;">Ein schönes Tool will ich meinen Lesern heute vorstellen, und Wiesooft nicht von Microsoft, sondern selbst in 12 Minuten zusammengehäkelt, in 4 Minuten abgeschrieben und eingerichtet, in 20 Minuten beschrieben. <span id="more-9607"></span></p>
<p style="text-align:left;">Ausgangspunkt sind Links über die man stolptert, und für die man keine Zeit hat, obwohl sie interessant aussehen, aber man hat keine Zeit. Eine Lösung dafür ist die Liste der Lesezeichen, bei manchen auch als Bookmarksk oder Favoriten (Wien) bekannt. Diese laufen jedoch schnell voll, wenn man da alles mögliche abspeichert. Außerdem weiß man nach 3 Wochen oft nicht mehr was sich hinter einem Link verbirgt.</p>
<p style="text-align:left;">Die Lösung: Ein Shellscript, das Links in einer Datei sammelt, chronologisch mit den jüngsten oben, und dabei Schlagworte zu vergeben erlaubt, so dass sich eine stumpfe, 1000 Einträge lange Liste in 0 Komma Nix durchsuchen lässt.</p>
<p style="text-align:left;">Leider ist das idiotische WordPress weder mit PRE, noch mit CODE &#8211; Tags dazu zu bewegen, ein Script als Code ohne Interpretation etwaiger HTML-Zeichen 1:1 abzubilden. Ich muss es entweder als Bild oder als formatierten Code einfügen, so dass man es nicht einfach herauskopieren kann. Es kann einen Moment dauern, bis ich mit dem Ergebenis zufrieden bin.</p>
<pre><strong>#!/bin/bash</strong>
<span style="color:#444444;">#</span>
<span style="color:#444444;"># Links mit Keywords in einer Liste speichern.
#
# Usage: links.sh LINK Keyword[ Keyword ...]</span>
<span style="color:#444444;">#  Example: links.sh https://demystifikation.wordpress.com/2015/... utility links 
#
link=$1 </span>
shift
<span style="color:#2040a0;">keywordlist</span>=<span style="color:#2040a0;">$*</span>
sed -ri 3i<span style="color:#008000;">"\t\t\t&lt;li&gt;&lt;a href=<span style="color:#2040a0;">$link</span>&gt; <span style="color:#2040a0;">$keywordlist</span> &lt;/a&gt; &lt;/li&gt;"</span> ~/links.html 
<span style="color:#444444;">#
# Erzeugt aus unerfindlichen Gründen ein 't' in Spalte 1 d. Datei. 
# Werden wir's los! </span>
sed -ri <span style="color:#008000;">"s/^t//"</span> ~/links.html 
</pre>
<p>Dann brauchen wir noch eine Rohdatei, in die die Links aufgenommen werden, als unnummerierte Liste (ul) im Heimatverzeichnis ~/ .</p>
<pre><span style="color:#2040a0;"><strong><strong>&lt;</strong><span style="color:#2040a0;">html</span><strong>&gt;</strong></strong></span>
    <span style="color:#2040a0;"><strong><strong>&lt;</strong><span style="color:#2040a0;">ul</span><strong>&gt;</strong></strong></span>
    <span style="color:#2040a0;"><strong><strong>&lt;</strong><span style="color:#2040a0;">/ul</span><strong>&gt;</strong></strong></span>
<span style="color:#2040a0;"><strong><strong>&lt;</strong><span style="color:#2040a0;">/html</span><strong>&gt;</strong></strong></span>
</pre>
<p>Einfacher geht es kaum, aber die meisten Lösungen die nicht radikal simpel sind erzeugen mehr Probleme als sie lösen.</p>
<p>Das Script oben ruft man mit</p>
<pre><code>links.sh https://wordpress.com/post/43223909/9607 sample test foo
</code>
</pre>
<p>auf, so dass ein Link über &#8220;sample test foo&#8221; als neue Zeile in die Datei ~/links.html eingefügt wird zu der Webadresse, die man mit der Maus ja leicht in die Shell kopieren kann.</p>
<p>Diese Datei selbst in den Lesezeichen abzulegen sorgt dafür, dass man in Zeiten der Langeweile nachsehen kann, was man noch erledigen wollte aber verschoben hat. Später löschen lassen sich Zeilen auch leicht. Überhaupt ist eine Zeilenorientierte Struktur für die GNU-Tools eine sehr praktische Sache.</p><br />Einsortiert unter:<a href='https://demystifikation.wordpress.com/category/computerit/'>Computer/IT</a>, <a href='https://demystifikation.wordpress.com/category/linux/'>Linux</a>, <a href='https://demystifikation.wordpress.com/category/open-source/'>Open Source</a>, <a href='https://demystifikation.wordpress.com/category/skizze/'>Skizze</a>, <a href='https://demystifikation.wordpress.com/category/softwareergonomie/'>Softwareergonomie</a>, <a href='https://demystifikation.wordpress.com/category/xubuntu-2/'>xUbuntu</a> Tagged: <a href='https://demystifikation.wordpress.com/tag/bash/'>bash</a>, <a href='https://demystifikation.wordpress.com/tag/bookmarks/'>Bookmarks</a>, <a href='https://demystifikation.wordpress.com/tag/favoriten/'>Favoriten</a>, <a href='https://demystifikation.wordpress.com/tag/fool/'>Fool</a>, <a href='https://demystifikation.wordpress.com/tag/lesezeichen/'>Lesezeichen</a>, <a href='https://demystifikation.wordpress.com/tag/links/'>Links</a>, <a href='https://demystifikation.wordpress.com/tag/shell/'>Shell</a>, <a href='https://demystifikation.wordpress.com/tag/tool/'>Tool</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/demystifikation.wordpress.com/9607/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/demystifikation.wordpress.com/9607/" /></a> <img alt="" border="0" src="https://pixel.wp.com/b.gif?host=demystifikation.wordpress.com&#038;blog=43223909&#038;post=9607&#038;subd=demystifikation&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://demystifikation.wordpress.com/2015/06/04/a-fool-with-a-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="https://2.gravatar.com/avatar/888b31af96427e8bd603631fa2af32f5?s=96&#38;d=monsterid&#38;r=X" medium="image">
			<media:title type="html">user1unknown</media:title>
		</media:content>

		<media:content url="https://demystifikation.files.wordpress.com/2015/06/fool-with-tool.png" medium="image">
			<media:title type="html">fool-with-tool</media:title>
		</media:content>
	</item>
		<item>
		<title>Let&#8217;s animate Mohammed</title>
		<link>https://demystifikation.wordpress.com/2015/05/20/lets-animate-mohammed/</link>
		<comments>https://demystifikation.wordpress.com/2015/05/20/lets-animate-mohammed/#comments</comments>
		<pubDate>Wed, 20 May 2015 15:37:52 +0000</pubDate>
		<dc:creator><![CDATA[user unknown]]></dc:creator>
				<category><![CDATA[Animation]]></category>
		<category><![CDATA[Klamauk]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Religionskritik]]></category>
		<category><![CDATA[Skizze]]></category>
		<category><![CDATA[Bart]]></category>
		<category><![CDATA[convert]]></category>
		<category><![CDATA[DMD]]></category>
		<category><![CDATA[Gimp]]></category>
		<category><![CDATA[ImageMagick]]></category>
		<category><![CDATA[inkscape]]></category>
		<category><![CDATA[Mohammed]]></category>
		<category><![CDATA[Smilie]]></category>
		<category><![CDATA[Turban]]></category>

		<guid isPermaLink="false">http://demystifikation.wordpress.com/?p=9518</guid>
		<description><![CDATA[Let&#8217;s animate Mohammed Das hätte mir auch gleich auffallen können, dass sich diese Grafik zum Animieren eignet!  Besser spät als gar nicht. Gelegenheit festzuhalten, dass das Animieren viel leichter geht, als zuletzt dargestellt mit GIMP, diese Anstrengung&#8230; . Teil 1 wie dargestellt mit Inkscape, die ganzen Gruppierungen markieren, exportieren als Bitmap, das erzeugt hier lauter [&#8230;]<img alt="" border="0" src="https://pixel.wp.com/b.gif?host=demystifikation.wordpress.com&#038;blog=43223909&#038;post=9518&#038;subd=demystifikation&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p style="text-align:center;">Let&#8217;s animate Mohammed</p>
<p style="text-align:center;"><a href="https://demystifikation.files.wordpress.com/2015/05/dmd-animiert-2.gif"><img class="alignnone size-full wp-image-9520" src="https://demystifikation.files.wordpress.com/2015/05/dmd-animiert-2.gif?w=625" alt="dmd-animiert-2"   /></a>Das hätte mir auch gleich auffallen können, dass sich diese Grafik zum Animieren eignet! <span id="more-9518"></span></p>
<p style="text-align:left;">Besser spät als gar nicht.</p>
<p style="text-align:left;">Gelegenheit festzuhalten, dass das <a href="http://de.wikipedia.org/wiki/ImageMagick">Animieren</a> viel <a href="http://wiki.ubuntuusers.de/ImageMagick">leichter</a> geht, als zuletzt dargestellt mit <a href="http://www.gimp.org/">GIMP</a>, diese <a title="Stille Wasser sind tief" href="https://demystifikation.wordpress.com/2015/05/15/stille-wasser-sind-tief/">Anstrengung</a>&#8230; .</p>
<p style="text-align:left;">Teil 1 wie dargestellt mit Inkscape, die ganzen Gruppierungen markieren, exportieren als Bitmap, das erzeugt hier lauter Dateien namens g&#8230;png, mit &#8230; als 4-stelliger Zahl. Zur Überprüfung, dass man nicht versehentlich etwas falsches mitnimmt ein kleiner ls-Befehl:</p>
<p><code>ls g[45]*.png<br />
g4422.png g4526.png g4631.png g4739.png g4903.png g5116.png<br />
g4474.png g4578.png g4684.png g4794.png g5061.png g5379.png</code></p>
<p style="text-align:left;">Dann mit dem Kommando <strong>convert</strong> aus dem Packet <a href="http://www.imagemagick.org/script/index.php"><strong>ImageMagick</strong></a>:</p>
<p><code>convert -loop 0 -delay 20 g[45]*.png dmd-animiert.gif</code></p>
<p style="text-align:left;"><strong>-loop 0</strong> bedeutet Endlosschleife, man kann auch -loop 3 für 3malige Wiederholung festlegen oder den Parameter ganz weglassen.<strong> -delay 20</strong> bedeutet irritierender, unkonventioneller Weise nicht 20 ms sondern 200 ms. Schrullig. Als erstes nehme ich aber 90, um zu kontrollieren, dass die Dateien in der richtigen Reihenfolge animiert werden. Ansehen mit <strong>eog dmd-animiert.gif .</strong><strong> </strong></p>
<p>convert -loop 0 -delay 20 g4*.png -delay 90 dmd-animiert.gif</p>
<p>Mit <em>delay 90</em> vor dem letzten Bild wird dieses länger angehalten als die anderen.</p>
<p style="text-align:center;"><br />Einsortiert unter:<a href='https://demystifikation.wordpress.com/category/animation/'>Animation</a>, <a href='https://demystifikation.wordpress.com/category/klamauk/'>Klamauk</a>, <a href='https://demystifikation.wordpress.com/category/linux/'>Linux</a>, <a href='https://demystifikation.wordpress.com/category/open-source/'>Open Source</a>, <a href='https://demystifikation.wordpress.com/category/religionskritik/'>Religionskritik</a>, <a href='https://demystifikation.wordpress.com/category/skizze/'>Skizze</a> Tagged: <a href='https://demystifikation.wordpress.com/tag/animation/'>Animation</a>, <a href='https://demystifikation.wordpress.com/tag/bart/'>Bart</a>, <a href='https://demystifikation.wordpress.com/tag/convert/'>convert</a>, <a href='https://demystifikation.wordpress.com/tag/dmd/'>DMD</a>, <a href='https://demystifikation.wordpress.com/tag/gimp/'>Gimp</a>, <a href='https://demystifikation.wordpress.com/tag/imagemagick/'>ImageMagick</a>, <a href='https://demystifikation.wordpress.com/tag/inkscape/'>inkscape</a>, <a href='https://demystifikation.wordpress.com/tag/mohammed/'>Mohammed</a>, <a href='https://demystifikation.wordpress.com/tag/smilie/'>Smilie</a>, <a href='https://demystifikation.wordpress.com/tag/turban/'>Turban</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/demystifikation.wordpress.com/9518/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/demystifikation.wordpress.com/9518/" /></a> <img alt="" border="0" src="https://pixel.wp.com/b.gif?host=demystifikation.wordpress.com&#038;blog=43223909&#038;post=9518&#038;subd=demystifikation&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://demystifikation.wordpress.com/2015/05/20/lets-animate-mohammed/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="https://2.gravatar.com/avatar/888b31af96427e8bd603631fa2af32f5?s=96&#38;d=monsterid&#38;r=X" medium="image">
			<media:title type="html">user1unknown</media:title>
		</media:content>

		<media:content url="https://demystifikation.files.wordpress.com/2015/05/dmd-animiert-2.gif" medium="image">
			<media:title type="html">dmd-animiert-2</media:title>
		</media:content>
	</item>
		<item>
		<title>Stille Wasser sind tief</title>
		<link>https://demystifikation.wordpress.com/2015/05/15/stille-wasser-sind-tief/</link>
		<comments>https://demystifikation.wordpress.com/2015/05/15/stille-wasser-sind-tief/#respond</comments>
		<pubDate>Fri, 15 May 2015 06:38:50 +0000</pubDate>
		<dc:creator><![CDATA[user unknown]]></dc:creator>
				<category><![CDATA[Animation]]></category>
		<category><![CDATA[Klamauk]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Skizze]]></category>
		<category><![CDATA[Softwareergonomie]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[EOG]]></category>
		<category><![CDATA[gif]]></category>
		<category><![CDATA[Gimp]]></category>
		<category><![CDATA[inkscape]]></category>
		<category><![CDATA[M. Cojop V.]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[still]]></category>
		<category><![CDATA[stilles Wasser]]></category>
		<category><![CDATA[Trick]]></category>
		<category><![CDATA[Wasser]]></category>

		<guid isPermaLink="false">http://demystifikation.wordpress.com/?p=9469</guid>
		<description><![CDATA[Stille Wasser sind tief M.Cojop V. oder &#8220;Stille Wasser sind tief&#8221; Ouh &#8211; mal wieder eine Animation und zugleich ein halbes Howto. Elend sind die letzten Schritte, aus dem Bild mit 27 Einzelbildern die Animation zu erzeugen. Anfangs war der äußere Rahmen nur ein schwarzer Rahmen und der Hintergrund war transparent &#8211; da bot Gimp [&#8230;]<img alt="" border="0" src="https://pixel.wp.com/b.gif?host=demystifikation.wordpress.com&#038;blog=43223909&#038;post=9469&#038;subd=demystifikation&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p style="text-align:center;"><strong>Stille Wasser sind tief</strong></p>
<p style="text-align:center;"><a href="https://demystifikation.files.wordpress.com/2015/05/stilles-wasser.gif"><img class="alignnone size-full wp-image-9470" src="https://demystifikation.files.wordpress.com/2015/05/stilles-wasser.gif?w=625" alt="stilles-wasser"   /></a></p>
<p style="text-align:center;">M.Cojop V. oder &#8220;Stille Wasser sind tief&#8221;</p>
<p style="text-align:center;"><span id="more-9469"></span></p>
<p style="text-align:center;">Ouh &#8211; mal wieder eine Animation und zugleich ein halbes Howto.</p>
<p style="text-align:left;">Elend sind die letzten Schritte, aus dem Bild mit 27 Einzelbildern die Animation zu erzeugen. Anfangs war der äußere Rahmen nur ein schwarzer Rahmen und der Hintergrund war transparent &#8211; da bot Gimp gar nicht an eine Animation zu erzeugen. Dann ist es so, dass die Reihenfolge der Einzelbilder im Gesamtbild nicht für die Reihenfolge der Bildnummerierung entscheidend ist, sondern die Reihenfolge, in der man die Gruppierung der Einzelbilder vornimmt, d..h. wenn man nachträglich an Einzelbild 7 etwas ändert, wozu man die Gruppierung aufheben muss, dann muss man Bild 7 bis 27 hinterher neu gruppieren.</p>
<p style="text-align:left;">Irgendein Einzelbild soll von den Abmessungen nicht übereingestimmt haben was Gimp bemängelt &#8211; sagt aber nicht welches. Auch habe ich bei Gimp vergeblich eine Möglichkeit gesucht Einzelbilder umzusortieren.</p>
<p style="text-align:left;">Mit eog konnte ich aus den undurchsichtigen, langen Namen (g14185 für Group 14185) kürzere erzeugen: Die Bilder markieren und &#8220;Speichern unter&#8221; wählen. Dann konnte ich sagen &#8220;sti-wa-%n&#8221; festlegen, und sie wurden von 1-27 nummeriert. Handlich, um so die Reihenfolge einzelner Bilder zu korrigieren, nur dass die Reihenfolge genau falschrum war &#8211; das löste ich mit einem Bash-Script:</p>
<pre>for file in stiwa-*.png ; do endg=${file/*-/}; nr=${endg/.*/}; n=$((160-1$nr)); mv $file sti-wa-$n.png; done</pre>
<p style="text-align:left;">Die 1 vor dem $nr sorgt dafür, dass nicht 60-08 gerechnet wird, was zu einem Fehler führt, da 08 als ungültige Oktalzahl identifiziert wird (führende Null) &#8211; 160-108 kann man dagegen problemlos rechnen.</p>
<p style="text-align:left;">60-x, weil aus Bild 27 so 33 wird, und aus Bild 1 wird 59, also die Reihenfolge umgekehrt, ohne dass eine Datei überschrieben wird, wie wenn man mit 28-$nr gerechnet hätte.</p>
<p style="text-align:left;">Wie man die Einzelpausen manipuliert war auch nicht herauszubekommen.</p>
<p style="text-align:left;">M. Cojop V. ist der Name der Hauptperson, aus dem sich mit wenigen Handgriffen sein Geischt konsturieren lässt. Vielleicht begegnet er uns noch öfter.</p>
<p style="text-align:left;">Frühere Animationen:</p>
<ul>
<li style="text-align:left;"><a title="Arachnophobia" href="https://demystifikation.wordpress.com/2014/02/22/arachnophobia/">Arachnophobia</a></li>
<li style="text-align:left;"><a title="hahahalal" href="https://demystifikation.wordpress.com/2014/08/18/hahahalal/">Lachverbot i.d. Türkei</a> (mit Burka!)</li>
<li style="text-align:left;"><a title="Animinusch" href="https://demystifikation.wordpress.com/2014/02/19/animinusch/">Testpallon</a></li>
</ul>
<p style="text-align:left;"><br />Einsortiert unter:<a href='https://demystifikation.wordpress.com/category/animation/'>Animation</a>, <a href='https://demystifikation.wordpress.com/category/klamauk/'>Klamauk</a>, <a href='https://demystifikation.wordpress.com/category/linux/'>Linux</a>, <a href='https://demystifikation.wordpress.com/category/open-source/'>Open Source</a>, <a href='https://demystifikation.wordpress.com/category/skizze/'>Skizze</a>, <a href='https://demystifikation.wordpress.com/category/softwareergonomie/'>Softwareergonomie</a> Tagged: <a href='https://demystifikation.wordpress.com/tag/animation/'>Animation</a>, <a href='https://demystifikation.wordpress.com/tag/bash/'>bash</a>, <a href='https://demystifikation.wordpress.com/tag/eog/'>EOG</a>, <a href='https://demystifikation.wordpress.com/tag/gif/'>gif</a>, <a href='https://demystifikation.wordpress.com/tag/gimp/'>Gimp</a>, <a href='https://demystifikation.wordpress.com/tag/inkscape/'>inkscape</a>, <a href='https://demystifikation.wordpress.com/tag/linux/'>Linux</a>, <a href='https://demystifikation.wordpress.com/tag/m-cojop-v/'>M. Cojop V.</a>, <a href='https://demystifikation.wordpress.com/tag/script/'>Script</a>, <a href='https://demystifikation.wordpress.com/tag/still/'>still</a>, <a href='https://demystifikation.wordpress.com/tag/stilles-wasser/'>stilles Wasser</a>, <a href='https://demystifikation.wordpress.com/tag/trick/'>Trick</a>, <a href='https://demystifikation.wordpress.com/tag/wasser/'>Wasser</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/demystifikation.wordpress.com/9469/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/demystifikation.wordpress.com/9469/" /></a> <img alt="" border="0" src="https://pixel.wp.com/b.gif?host=demystifikation.wordpress.com&#038;blog=43223909&#038;post=9469&#038;subd=demystifikation&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://demystifikation.wordpress.com/2015/05/15/stille-wasser-sind-tief/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="https://2.gravatar.com/avatar/888b31af96427e8bd603631fa2af32f5?s=96&#38;d=monsterid&#38;r=X" medium="image">
			<media:title type="html">user1unknown</media:title>
		</media:content>

		<media:content url="https://demystifikation.files.wordpress.com/2015/05/stilles-wasser.gif" medium="image">
			<media:title type="html">stilles-wasser</media:title>
		</media:content>
	</item>
	</channel>
</rss>