<?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/"
	>

<channel>
	<title>Ralf Eisenreich &#187; comment</title>
	<atom:link href="http://sqlblog.de/blog/tag/comment/feed/" rel="self" type="application/rss+xml" />
	<link>http://sqlblog.de/blog</link>
	<description>SQLBlog.DE &#124; ..things to remember</description>
	<lastBuildDate>Mon, 26 Dec 2011 14:37:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Neun Milliarden Euro Ãœberschuss bei der BA</title>
		<link>http://sqlblog.de/blog/2006/08/neun-milliarden-euro-uberschuss-bei-der-ba/</link>
		<comments>http://sqlblog.de/blog/2006/08/neun-milliarden-euro-uberschuss-bei-der-ba/#comments</comments>
		<pubDate>Thu, 24 Aug 2006 05:51:40 +0000</pubDate>
		<dc:creator>Ralf</dc:creator>
				<category><![CDATA[by the way]]></category>
		<category><![CDATA[comment]]></category>

		<guid isPermaLink="false">http://blog.ralf-eisenreich.de/blog/index.php/2006/08/24/neun-milliarden-euro-uberschuss-bei-der-ba/</guid>
		<description><![CDATA[So wie es aussieht haushaltet die Bundesagentur fuer Arbeit jetzt sehr gut. Die Bundesagentur fÃ¼r Arbeit (BA) kann im laufenden...]]></description>
			<content:encoded><![CDATA[<p>So wie es aussieht haushaltet die Bundesagentur fuer Arbeit jetzt sehr gut.</p>
<blockquote><p>Die Bundesagentur fÃ¼r Arbeit (BA) kann im laufenden Jahr mit einem unerwartet hohen Ãœberschuss rechnen. Einem Bericht des &#8220;Handelsblattes&#8221; zufolge geht die BehÃ¶rde inzwischen von einem Gewinn von acht bis neun Milliarden Euro aus. Ende Juli war bereits ein Ãœberschuss von rund 5 Milliarden Euro erwirtschaftet worden. Zum Jahresbeginn hatte der Vorstand der Agentur lediglich mit einer Milliarde Euro gerechnet.</p></blockquote>
<p>[Quelle: Tagesschau.de]</p>
<p>Zur Erinnerung:<br />
Am 24. Januar 2004 wurde dem damaligem Vorstand der BA Florian Gerster das Vetrauen entzogen (mit 20:1 Stimmen).</p>
<p>Irgendwie zeigt doch jetzt, dass Gerster damals die richtigen Reformen eingeleitet hat. Vielleicht haette er Mitarbeiter besser in seine Ideen einbinden und einweihen sollen. Auf jeden Fall sollte man nicht vergessen, dass er sicherlich einen Anteil an der heute guten Situation der BA hat.</p>
]]></content:encoded>
			<wfw:commentRss>http://sqlblog.de/blog/2006/08/neun-milliarden-euro-uberschuss-bei-der-ba/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>DRM: sinnvolle Rechte oder sinnlose EinschrÃ¤nkung?</title>
		<link>http://sqlblog.de/blog/2006/04/drm-sinnvolle-rechte-oder-sinnlose-einschrankung/</link>
		<comments>http://sqlblog.de/blog/2006/04/drm-sinnvolle-rechte-oder-sinnlose-einschrankung/#comments</comments>
		<pubDate>Sat, 08 Apr 2006 18:46:30 +0000</pubDate>
		<dc:creator>Ralf</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[comment]]></category>
		<category><![CDATA[drm]]></category>

		<guid isPermaLink="false">http://ralf-eisenreich.de/blog/index.php/2006/04/08/drm-sinnvolle-rechte-oder-sinnlose-einschrankung/</guid>
		<description><![CDATA[Eben bin ich Ã¼ber einen kurzen Artikel (bei CW) Ã¼ber DRM gestolpert, wo Ã¼berlegt wird ob DRM sinnvoll ist oder...]]></description>
			<content:encoded><![CDATA[<p>Eben bin ich Ã¼ber einen kurzen Artikel (bei <a title="CW Notizblock" href="http://blog.computerwoche.de">CW</a>) Ã¼ber DRM gestolpert, wo Ã¼berlegt wird ob DRM sinnvoll ist oder nicht:</p>
<blockquote><p>Anlass war die Rede eines RealNetworks-Managers auf der Linuxworld in Boston. Er warnte, Linux werde als Medienplattform auÃŸen vor bleiben, falls es nicht ebenfalls auf DRM-Kurs einschwenke.</p>
<p>Georg Greve von der Free Software Foundation Europe (FSFE) sieht das ganz anders und glaubt eher, dass die Nutzer DRM Ã¼berhaupt nicht wollen und gerade deswegen verstÃ¤rkt auf Linux wechseln werden, wo es ihnen erspart bleibt.</p></blockquote>
<p>Also meine Meinung ist, dass die Musik- und Filmindustrie am Ende mehr Einnahmen hÃ¤tte, wenn sie die Preise fÃ¼r ihre Produkte senken wÃ¼rde. Denn dann wÃ¼rden viele Leute eher mal eine CD kaufen, als sie sich aus dem Netz zu &#8220;besorgen&#8221; oder gar nicht zu kaufen. Und die viele Negativpresse um die Kopierschutzmechanismen, die einfache Anwender verÃ¤rgern und Brenn-Profis trotzdem nicht stÃ¶ren, hÃ¤tte es gar nicht erst gegeben.<br />
Eigentlich reguliert sich vieles von selbst &#8211; so auch die Medienpreise glaube ich. Das sollte man hier mal andenken, als wie mit komplizierten Methoden, BeschrÃ¤nkungen zu setzen..<br />
Es wurden Gesetze und Strafen bestimmt &#8211; das sollte reichen. Jeder kann entscheiden, ob er ein Risiko eingeht. Aber dem ehrlichen Anwender werden mit DRM einfach nur die Fesseln angelegt und diese Entscheidung verwehrt.</p>
]]></content:encoded>
			<wfw:commentRss>http://sqlblog.de/blog/2006/04/drm-sinnvolle-rechte-oder-sinnlose-einschrankung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>crc &#8211; fehlererkennung</title>
		<link>http://sqlblog.de/blog/2006/03/fehlererkennung-durch-zyklische-redundanzprufung/</link>
		<comments>http://sqlblog.de/blog/2006/03/fehlererkennung-durch-zyklische-redundanzprufung/#comments</comments>
		<pubDate>Wed, 01 Mar 2006 08:25:13 +0000</pubDate>
		<dc:creator>Ralf</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[comment]]></category>
		<category><![CDATA[crc]]></category>
		<category><![CDATA[fehlererkennung]]></category>

		<guid isPermaLink="false">http://blog.ralf-eisenreich.de/blog/index.php/2006/04/07/fehlererkennung-durch-zyklische-redundanzprufung/</guid>
		<description><![CDATA[einsatz die zyklische redundanzprÃ¼fung (crc &#8211; cyclic redundany check) wird vor allem bei der verarbeitung von bitfolgen (Ã¼bertragung, speicherung) genutzt....]]></description>
			<content:encoded><![CDATA[<div class="headline1">einsatz</div>
<p>die zyklische redundanzprÃ¼fung (crc &#8211; cyclic redundany check)         wird vor allem bei der verarbeitung von bitfolgen (Ã¼bertragung,         speicherung) genutzt.<br />
dabei wird einer bitfolge eine fcs (frame check sequence) angehangen,         die meist 12, 16 oder 32 bit lang ist.<br />
damit soll sichergestellt werden, dass die emfangenen daten auch         tatsÃ¤chlich fehlerfrei sind und nicht durch stÃ¶rungen auf dem         Ã¼bertragungsweg (z.b. rauschen der leitung) bitfehler aufgetreten         sind.<br />
diese fehlererkennungsmethode ist viel leistungsfÃ¤higer als         paritÃ¤tsbits oder fehlerprÃ¼fsummen, d.h. man kann also mehr         bitfehler oder bitfehlerfolgen (fehlerbursts) erkennen.<br />
ein weiterer vorteil von crc ist, dass man nur wenige bits (ingesamt         bilden diese die fcs) hinzufÃ¼gen muss, es entsteht also wenig         redundanz.<br />
(redundanz entsteht immer dann wenn einer bitfolge fÃ¼r die         datensequenz &#8220;wertlose&#8221; bits hinzugefÃ¼gt werden.)<br />
bei einem ethernet werden zum beispiel an frames, die 12000bit         groÃŸ sind nur 32bit (fcs) angehangen, trotzdem ist die erkennung         von fehlern bei der fcs als sehr hoch einzuschÃ¤tzen.<br />
erkennt der empfÃ¤nger einer datensequenz einen         Ã¼bertragungsfehler, wird die entsprechende einheit verworfen und         eine erneute Ã¼bertragung beim sender angefordert.</p>
<div class="headline1">grundlage</div>
<p>das crc-verfahren basiert auf einer <strong>bitweisen</strong> (also ohne         Ã¼bertrÃ¤ge!) binÃ¤rarithmetik modulo 2 (was einer         xor-operation entspricht).<br />
es gilt also fÃ¼r addition und subtraktion:</p>
<pre>0 + 1 = 1   1 + 0 = 1   0 - 1 = 1   1 - 0 = 1</pre>
<pre>0 + 0 = 0   1 + 1 = 0   0 - 0 = 0   1 - 1 = 0</pre>
<p>multiplikation wird als sukzessive (bitweise) addition und division als         sukzessive subtraktion ausgefÃ¼hrt:</p>
<pre>1100101        0110001

+ 1010100      - 1010100

--------       --------

0110001        1100101</pre>
<p>der algorithmus basiert nun darauf, dass man die zu Ã¼bertragende         bitfolge (folge von 0en und 1en) als polynome mit den koeffizienten 0         und 1 interpretiert. bei m bits hat man dann m terme &#8212; von b^(m-1) bis         b^0.</p>
<p>hierzu ein beispiel:</p>
<pre>0101101 --> 0 + b^5 + 0 + b^3 + b^2 + 0 + b^0</pre>
<pre>0101101 -->     b^5   +   b^3 + b^2   +   b^0</pre>
<pre>0101101 -->     b^5   +   b^3 + b^2   +   1</pre>
<div class="headline1">funktion</div>
<p>die fcs (frame check sequence) wird mit hilfe eines         generator-polynoms berechnet, das sender und empfÃ¤nger         definieren.<br />
fÃ¼r die weitere betrachtung definieren wir folgendes:<br />
- das generatorpolynom g(b) besteht aus g bits<br />
- das daten-polynom m(b) besteht aus m bits<br />
- r ist der grad der generator-polynoms g(b)<br />
- das daten-polynom t(b) mit fcs besteht aus t bits</p>
<p>einem zu Ã¼bertragenden rahmen (frame) wird nun die fcs angehangen         (man nennt diese auch trailer, anhang). dabei ist der rahmen (der die         datenbits enthÃ¤lt) durch m bits so zu ergÃ¤nzen, dass das         polynom aus datenbits und fcs durch das generatorpolynom teilbar         ist.</p>
<p>&#8211;> der algorithmus:<br />
1.)<br />
anhÃ¤ngen von r 0-bits an das ende des zu Ã¼bertragenden frames         m(b)<br />
der neue rahmen hat jetzt also (m + r) bits, was folgendem polynom         entspricht: b^r * m(b)</p>
<p>2.)<br />
dividiere die bitfolge b^r * m(b) durch die bitfolge des         generator-polynoms g(b) gemÃ¤ÃŸ modulo-2-arithmetik</p>
<p>3.)<br />
der divisionsrest (< = r bits) ist die fcs. diese wird jetzt der zu         Ã¼bertragenden nachricht m(b) angehangen.<br />
das resultat ist die neue zu Ã¼bertragende bitfolge (frame + fcs)         t(b).</p>
<p>&#8211;> anmerkung:<br />
die fcs werden in der praxis einfach mit shift- und xor-registern         berechnet.</p>
<div class="headline1">beispiel</div>
<p>Â· daten-frame: 1101011011<br />
Â· generator-polynom: b^4 + b + 1</p>
<p>&#8211;> daraus folgt<br />
Â· daten-polynom: b^9 + b^8 + b^6 + b^4 + b^3 + b^1 + b^0<br />
Â· generator-frame: 10011</p>
<p>&#8211;> also</p>
<pre>Frame:              1 1 0 1 0 1 1 0 1 1

Generator:          1 0 0 1 1</pre>
<p>&#8211;> hinzufÃ¼gen von r=4 (grad des generators) 0-bits</p>
<pre>Frame mit 0-Bits:   1 1 0 1 0 1 1 0 1 1  0 0 0 0</pre>
<p>&#8211;> division durch generator-polynom g(b)</p>
<pre>Division:

1 1 0 1 0 1 1 0 1 1 0 0 0 0  /  1 0 0 1 1  =  1 1 0 0 0 0 1 0 1 0

1 0 0 1 1 ------------------------------------+ | |             |

---------                                       | |             |

1 0 0 1 1                                     | |             |

1 0 0 1 1 ------------------------------------+ |             |

---------                                       |             |

0 0 0 0 1                                     |             |

0 0 0 0 0 ------------------------------------+    . . .    |

---------                                                   |

0 0 0 1 0                                                 |

0 0 0 0 0                                                 |

---------                                                 |

0 0 1 0 1                                               |

0 0 0 0 0                                               |

---------                                               |

0 1 0 1 1                                             |

0 0 0 0 0                                             |

---------                                             |

1 0 1 1 0                                           |

1 0 0 1 1                                           |

---------                                           |

0 1 0 1 0                                         |

0 0 0 0 0                                         |

---------                                         |

1 0 1 0 0                                       |

1 0 0 1 1                                       |

---------                                       |

0 1 1 1 0                                     |

0 0 0 0 0 ------------------------------------+

---------

1 1 1 0  =  Rest</pre>
<p>&#8211;> es entsteht der frame mit prÃ¼fsumme t(b)</p>
<pre>1 1 0 1 0 1 1 0 1 1  1 1 1 0</pre>
<p>&#8211;> kontrolle<br />
der empfÃ¤nger erhÃ¤t nun die bitfolge t(b) und kann dann,         indem er t(b) durch g(b) dividiert (rechnung Ã¤quivalent zu oben)         Ã¼berprÃ¼fen, ob der frame korrekt Ã¼bertragen wurde. das         ergebnis muss dann nÃ¤mlich einen rest von 0 haben.</p>
<div class="headline1">fehlererkennung</div>
<p>nehmen wir an, die Ã¼bertragung wird gestÃ¶rt und es wird         statt des erwarteten frames t(b) der fehlerhafte frame t(b) + e(b)         empfangen.<br />
jedes 1-bit in e(b) entspricht einem bitfehler, wobei ein einzelnes         1-bit ein singlebitfehler ist und eine 1 gefolgt von 0 oder 1 und         wieder 1 ein burst, (alle anderen bits in e(b) sind 0).</p>
<p>folgende bitfehler kÃ¶nnen also erkannt werden:<br />
1.) singlebitfehler: e(b) = b^i<br />
fÃ¼r die erkennung muss g(b) mindestens 2 terme haben!</p>
<p>2.) 2 singlebitfehler: e(b) = b^i + b^j mit i > j<br />
g(b) darf nicht durch b^k + 1 teilbar sein fÃ¼r k=1..m         (framelÃ¤nge)</p>
<p>3.) ungerade anzahl von bitfehlern:<br />
g(b) muss den faktor b + 1 enthalten!</p>
<p>4.) burstfehler:<br />
ein polynom des grads r erkennt alle burstfehler einer lÃ¤nge < =         r.<br />
dazu muss g(b) einen b^0-term enthalten. bursts der lÃ¤nge r+1         werden mit einer wahrscheinlichkeit von 0.5^(r-1) nicht erkannt.<br />
die gesamtwahrscheinlichkeit, dass ein gestÃ¶rter frame durchkommt,         ist 0.5^r, unter der voraussetzung, dass alle bitmuster         gleichmÃ¤ssig verteilt sind.</p>
<div class="headline1">standardpolynome<br />
hier ist eine auflistung getesteter standard polynome:</p>
<pre>Â· <strong>crc-8</strong>:     b^8 + b^2 + 11 (atm)

Â· <strong>crc-10</strong>:    b^10 + b^9 + b^5 + b^4 +b^1 + 1 (atm)

Â· <strong>crc-12</strong>:    b^12 + b^11 + b^3 + b^2 + b^1 + 1

Â· <strong>crc-16</strong>:    b^16 + b^15 + b^2 + 1

Â· <strong>crc-ccitt</strong>: b^16 + b^12 + b^5 + 1 (hdlc)

Â· <strong>crc-32</strong>:    b^32 + b^26 + ... + b^2 + b^1 + 1 (ethernet, fddi)</pre>
]]></content:encoded>
			<wfw:commentRss>http://sqlblog.de/blog/2006/03/fehlererkennung-durch-zyklische-redundanzprufung/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

