<?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>Das Rabenauge</title>
	<atom:link href="http://blog.rabenauge.net/wordpress/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://blog.rabenauge.net/wordpress</link>
	<description>... und was das Auge des Raben in der Welt so sieht</description>
	<lastBuildDate>Thu, 01 Oct 2009 01:16:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Geheimhaltung der Internetsperrlisten eine Farce</title>
		<link>http://blog.rabenauge.net/wordpress/?p=291</link>
		<comments>http://blog.rabenauge.net/wordpress/?p=291#comments</comments>
		<pubDate>Thu, 01 Oct 2009 00:48:22 +0000</pubDate>
		<dc:creator>SebastianG</dc:creator>
				<category><![CDATA[Gesellschaft]]></category>
		<category><![CDATA[Politik]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[DNS-Server]]></category>
		<category><![CDATA[Farce]]></category>
		<category><![CDATA[Geheimhaltung]]></category>
		<category><![CDATA[Internetzensur]]></category>
		<category><![CDATA[Listen]]></category>
		<category><![CDATA[Manipulation]]></category>
		<category><![CDATA[Provider]]></category>
		<category><![CDATA[Stoppschilder]]></category>
		<category><![CDATA[von der Leyen]]></category>

		<guid isPermaLink="false">http://blog.rabenauge.net/wordpress/?p=291</guid>
		<description><![CDATA[Internetzensur durch die Hintertür

Mal noch ein nettes Video zum Thema Internetzensur. Leider jedoch haben sich alle offenbar bisher kaum wirklich Gedanken über das Konzept gemacht, muss man annehmen. Im Grunde ist die Idee die Listen geheim zu halten nämlich ein ziemlicher WITZ.
Nameserver, die zu diesem Zweck manipuliert werden sollen, tauschen nämlich untereinander Informationen aus, um [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Internetzensur durch die Hintertür</strong><br />
<center><object width="480" height="295"><param name="wmode" value="opaque" /><param name="movie" value="http://www.youtube.com/v/Wfni2-RT7RU&hl=es&fs=1&rel=0&showinfo=0&showsearch=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed wmode="opaque" src="http://www.youtube.com/v/Wfni2-RT7RU&hl=es&fs=1&rel=0&showinfo=0&showsearch=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"></embed></object></center><br /><br />
Mal noch ein nettes Video zum Thema Internetzensur. Leider jedoch haben sich alle offenbar bisher kaum wirklich Gedanken über das Konzept gemacht, muss man annehmen. Im Grunde ist die Idee die Listen geheim zu halten nämlich ein ziemlicher WITZ.<br />
Nameserver, die zu diesem Zweck manipuliert werden sollen, tauschen nämlich untereinander Informationen aus, um über die dabei entstehende Redundanz (Spiegelserver) die Ausfallsicherheit zu erhöhen. Problem hierbei ist, man kann diese Informationen abfragen und mit WHOIS Daten, bzw. auch denen von anderen DNS-Servern vergleichen und dabei auf ganz interessante Informationen stoßen, die alles andere als Geheimhaltung versprechen, denn die lustigen kleinen Stoppschildchen, die sich die Ministerin hat für uns einfallen lassen, finden sich irgendwo unter einer IP-Adresse, und man ahnt es schon, diese wird nun nach einer gewissen Anzahl Sperren gehäuft in den DNS-Listen auftauchen, die manipuliert wurden und zugleich nicht mit den DNS-Listen der Nameserver im Ausland übereinstimmen.<br />
Nun könnte man zwar die Stoppschildchen-Adressen hinter mehreren IP-Adressen hinterlegen, doch das ändert im Grunde nichts, denn von Geheimhaltung kann keine Rede sein, wenn es um manipulierte DNS-Server bei deutschen oder auch europäischen Providern geht. In jedem Fall stimmen die Daten nicht mit denen der originalen DNS-Servern im Ausland überein, da manipuliert, und diese Daten lassen sich eben immer auch vergleichen.<br />
Von Geheimhaltung kann prinzipbedingt keine Rede sein und ein Hannes, wer sich unter der Federführung von Frau von der Leyen solchen völlig verblödeten Unsinn hat ausdenken müssen.<br />
Es zeigt sich, auch im Familienministerium wird das Licht in den Säcken in die Experten-Sitzungen unter Frau von der Leyen getragen werden müssen, das war eben nicht nur in Schilda notwendig.</p>
<p>Übrigens, wer glaubt, das alles ändere sich mit der Verschlüsselung der Kommunikation der DNS-Server untereinander, sollte gleich auch mal ein paar Säcke Licht in&#8217;s Ministerium tragen&#8230; vielleicht hilft das ja ein wenig?!</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.rabenauge.net%2Fwordpress%2F%3Fp%3D291&amp;linkname=Geheimhaltung%20der%20Internetsperrlisten%20eine%20Farce"><img src="http://blog.rabenauge.net/wordpress/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a><h3>Random Posts</h3>
<ul class="related_posts">
<li><a href="http://blog.rabenauge.net/wordpress/?p=290" title="Was mir zur Bundestagswahl und den Internetauftritten der Parteien am deutlichsten aufgefallen ist...">Was mir zur Bundestagswahl und den Internetauftritten der Parteien am deutlichsten aufgefallen ist...</a></li>
<li><a href="http://blog.rabenauge.net/wordpress/?p=96" title="C/C++ in BlitzMax einbinden">C/C++ in BlitzMax einbinden</a></li>
<li><a href="http://blog.rabenauge.net/wordpress/?p=53" title="CV - SebastianG">CV - SebastianG</a></li>
<li><a href="http://blog.rabenauge.net/wordpress/?p=239" title="Piratensache">Piratensache</a></li>
<li><a href="http://blog.rabenauge.net/wordpress/?p=47" title="UDP-Test in BlitzMax">UDP-Test in BlitzMax</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.rabenauge.net/wordpress/?feed=rss2&amp;p=291</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Was mir zur Bundestagswahl und den Internetauftritten der Parteien am deutlichsten aufgefallen ist&#8230;</title>
		<link>http://blog.rabenauge.net/wordpress/?p=290</link>
		<comments>http://blog.rabenauge.net/wordpress/?p=290#comments</comments>
		<pubDate>Thu, 01 Oct 2009 00:00:22 +0000</pubDate>
		<dc:creator>SebastianG</dc:creator>
				<category><![CDATA[Gesellschaft]]></category>
		<category><![CDATA[Politik]]></category>
		<category><![CDATA[Bundestagswahl]]></category>
		<category><![CDATA[Demokratie]]></category>
		<category><![CDATA[Diskussion]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Parteien]]></category>
		<category><![CDATA[Wähler]]></category>
		<category><![CDATA[YouTube]]></category>

		<guid isPermaLink="false">http://blog.rabenauge.net/wordpress/?p=290</guid>
		<description><![CDATA[&#8230;die meisten Parteien bieten keine Möglichkeit Kommentare, Anregungen oder sonstigen Feedback zu ihren Internetinhalten zu hinterlassen. Das zeigt jedenfalls mir persönlich doch sehr deutlich, wie hoch die tatsächliche Bereitschaft der Parteien zur inhaltlichen Auseinandersetzung mit der Bevölkerung einzuschätzen ist. Und so buhlt man zwar um die Stimme des Wählers, um anschließend behaupten zu können, man [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230;die meisten Parteien bieten keine Möglichkeit Kommentare, Anregungen oder sonstigen Feedback zu ihren Internetinhalten zu hinterlassen. Das zeigt jedenfalls mir persönlich doch sehr deutlich, wie hoch die tatsächliche Bereitschaft der Parteien zur inhaltlichen Auseinandersetzung mit der Bevölkerung einzuschätzen ist. Und so buhlt man zwar um die Stimme des Wählers, um anschließend behaupten zu können, man habe für die politischen Inhalte der jeweiligen Partei immerhin einen widerspruchslosen Wählerauftrag erhalten; allein, der Wähler wurde nie gehört, was die vermeintlich gewünschten politischen Inhalte angeht, denn er kam erst gar nicht zu Wort.</p>
<p>Tja, soviel zur Demokratie in Deutschland, in der Parteien alles tun, um den Wähler nicht zu Wort kommen lassen, bis hin zum generellen Sperren der Kommentarmöglichkeit bei Auftritten auf Plattformen wie zum Beispiel YouTube. Ob die Parteien Plattformen wie YouTube denn auch inhaltlich verstanden haben oder nur die Demokratie nicht?<br />
Nun, ich hege gewisse Zweifel &#8230; sowohl was das Verständnis der Parteien um YouTube und dergleichen, als auch was gelebte Demokratie in der Parteienlandschaft angeht.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.rabenauge.net%2Fwordpress%2F%3Fp%3D290&amp;linkname=Was%20mir%20zur%20Bundestagswahl%20und%20den%20Internetauftritten%20der%20Parteien%20am%20deutlichsten%20aufgefallen%20ist%26%238230%3B"><img src="http://blog.rabenauge.net/wordpress/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a><h3>Related Posts</h3>
<ul class="related_posts">
<li><a href="http://blog.rabenauge.net/wordpress/?p=239" title="Piratensache">Piratensache</a></li>
<li><a href="http://blog.rabenauge.net/wordpress/?p=276" title="Verfassungswidrige Bundestagswahl?">Verfassungswidrige Bundestagswahl?</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.rabenauge.net/wordpress/?feed=rss2&amp;p=290</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Verfassungswidrige Bundestagswahl?</title>
		<link>http://blog.rabenauge.net/wordpress/?p=276</link>
		<comments>http://blog.rabenauge.net/wordpress/?p=276#comments</comments>
		<pubDate>Thu, 24 Sep 2009 15:02:06 +0000</pubDate>
		<dc:creator>SebastianG</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Bundestagswahl]]></category>
		<category><![CDATA[BUndestagswahl 2009]]></category>
		<category><![CDATA[Ernst Gottfried Mahrenholz]]></category>
		<category><![CDATA[sueddeutsche.de]]></category>
		<category><![CDATA[Überhangmandate]]></category>
		<category><![CDATA[Verfassungswidrige Bundestagswahl]]></category>
		<category><![CDATA[Wahlrecht]]></category>

		<guid isPermaLink="false">http://blog.rabenauge.net/wordpress/?p=276</guid>
		<description><![CDATA[Regierungsbildung mittels Überhangmandaten, eine verfassungswidrige﻿ Bundestagswahl?
Der ehemalige Verfassungsrichter, Ernst Gottfried Mahrenholz, in einem Interview bei der Süddeutschen zu der Frage ob eine Regierungsbildung alleine über Überhangmandate überhaupt verfassungskonform sein kann.
siehe Artikel: &#8220;Kungelei &#8211; das Volk wird beiseitegeschoben&#8221;

Nun droht angesichts der aktuellen Umfragen genau dieses Szenario sich möglicherweise zu realisieren, denn die CDU gemeinsam mit der [...]]]></description>
			<content:encoded><![CDATA[<p>Regierungsbildung mittels Überhangmandaten, eine verfassungswidrige﻿ Bundestagswahl?</p>
<p>Der ehemalige Verfassungsrichter, Ernst Gottfried Mahrenholz, in einem Interview bei der Süddeutschen zu der Frage ob eine Regierungsbildung alleine über Überhangmandate überhaupt verfassungskonform sein kann.<br />
siehe Artikel: <a href="http://www.sueddeutsche.de/politik/140/488535/text/">&#8220;Kungelei &#8211; das Volk wird beiseitegeschoben&#8221;</a><br />
<span id="more-276"></span><br />
Nun droht angesichts der aktuellen Umfragen genau dieses Szenario sich möglicherweise zu realisieren, denn die CDU gemeinsam mit der FDP erreichen, zur Erleichterung vieler im Lande, die Mehrheit wahrscheinlich nicht direkt, möglicherweise jedoch dennoch über die Überhangmandate. Ereilt uns angesichts diese drohenden Katastrophe einer Regierung, unter Beteiligung einer FDP, eventuell sogar eine Neuwahl im Jahr 2011, wenn das Wahlrecht geändert werden muss? Oder werden wir mit dem Desaster, sofern es überhaupt in dieser Form zustande kommt, die vollen vier Jahre leben müssen?</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.rabenauge.net%2Fwordpress%2F%3Fp%3D276&amp;linkname=Verfassungswidrige%20Bundestagswahl%3F"><img src="http://blog.rabenauge.net/wordpress/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a><h3>Related Posts</h3>
<ul class="related_posts">
<li><a href="http://blog.rabenauge.net/wordpress/?p=290" title="Was mir zur Bundestagswahl und den Internetauftritten der Parteien am deutlichsten aufgefallen ist...">Was mir zur Bundestagswahl und den Internetauftritten der Parteien am deutlichsten aufgefallen ist...</a></li>
<li><a href="http://blog.rabenauge.net/wordpress/?p=239" title="Piratensache">Piratensache</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.rabenauge.net/wordpress/?feed=rss2&amp;p=276</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rette deine Freiheit!</title>
		<link>http://blog.rabenauge.net/wordpress/?p=268</link>
		<comments>http://blog.rabenauge.net/wordpress/?p=268#comments</comments>
		<pubDate>Wed, 02 Sep 2009 19:52:35 +0000</pubDate>
		<dc:creator>SebastianG</dc:creator>
				<category><![CDATA[Gesellschaft]]></category>
		<category><![CDATA[Kultur]]></category>
		<category><![CDATA[Politik]]></category>
		<category><![CDATA[Zensur]]></category>

		<guid isPermaLink="false">http://blog.rabenauge.net/wordpress/?p=268</guid>
		<description><![CDATA[.
Hier mal wieder etwas zum neuesten Stand der Dinge in der deutschen Politiklandschaft. Ist unsere Freiheit in Gefahr? Nun, sehen wir selbst!

Quelle: www.RetteDeineFreiheit.de
Related Posts

Du bist Terrorist

]]></description>
			<content:encoded><![CDATA[<p>.<br />
Hier mal wieder etwas zum neuesten Stand der Dinge in der deutschen Politiklandschaft. Ist unsere Freiheit in Gefahr? Nun, sehen wir selbst!</p>
<p><center><object width="480" height="295"><param name="wmode" value="opaque" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6562920&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed wmode="opaque" src="http://vimeo.com/moogaloop.swf?clip_id=6562920&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="480" height="295"></embed></object></embed></center><br /></p>
<p>Quelle: <a href="http://www.RetteDeineFreiheit.de" target="_blank">www.RetteDeineFreiheit.de</a></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.rabenauge.net%2Fwordpress%2F%3Fp%3D268&amp;linkname=Rette%20deine%20Freiheit%21"><img src="http://blog.rabenauge.net/wordpress/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a><h3>Related Posts</h3>
<ul class="related_posts">
<li><a href="http://blog.rabenauge.net/wordpress/?p=165" title="Du bist Terrorist">Du bist Terrorist</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.rabenauge.net/wordpress/?feed=rss2&amp;p=268</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kultur vs Industrie, ein Widerspruch?</title>
		<link>http://blog.rabenauge.net/wordpress/?p=252</link>
		<comments>http://blog.rabenauge.net/wordpress/?p=252#comments</comments>
		<pubDate>Sat, 22 Aug 2009 09:29:42 +0000</pubDate>
		<dc:creator>SebastianG</dc:creator>
				<category><![CDATA[Gesellschaft]]></category>
		<category><![CDATA[Kultur]]></category>
		<category><![CDATA[Kunst]]></category>
		<category><![CDATA[Piraterie]]></category>
		<category><![CDATA[Polemik]]></category>
		<category><![CDATA[Politik]]></category>
		<category><![CDATA[Charts]]></category>
		<category><![CDATA[GEMA]]></category>
		<category><![CDATA[Indy]]></category>
		<category><![CDATA[kulturelle Vielfalt]]></category>
		<category><![CDATA[Major-Titel]]></category>
		<category><![CDATA[Musikindustrie]]></category>
		<category><![CDATA[Plattenindustrie]]></category>
		<category><![CDATA[Urherberrecht]]></category>
		<category><![CDATA[Vertrieb]]></category>
		<category><![CDATA[Verwertungsrecht]]></category>

		<guid isPermaLink="false">http://blog.rabenauge.net/wordpress/?p=252</guid>
		<description><![CDATA[Zum Dilemma Musik/Musikindustrie hier mal etwas aus der eigenem Erleben:
Mein bester Freund, oder besser gesagt ehemals bester Freund, Tommi Stumpff, war lange Zeit Musiker, hatte auch einige CD&#8217;s veröffentlicht, unter anderem die letzten Erscheinungen bei einer sehr großen Plattenfirma, einer sogenannten Major-Company. Interessant war, nachdem die letzte CD veröffentlicht war, eine 10.000er Pressung, war diese [...]]]></description>
			<content:encoded><![CDATA[<p>Zum Dilemma Musik/Musikindustrie hier mal etwas aus der eigenem Erleben:</p>
<p>Mein bester Freund, oder besser gesagt ehemals bester Freund, Tommi Stumpff, war lange Zeit Musiker, hatte auch einige CD&#8217;s veröffentlicht, unter anderem die letzten Erscheinungen bei einer sehr großen Plattenfirma, einer sogenannten Major-Company. Interessant war, nachdem die letzte CD veröffentlicht war, eine 10.000er Pressung, war diese jedoch gar nicht verfügbar, auch nicht bei Bestellung, da, auf Anfrage, vorgeblich vergriffen.<br />
Wie kann das sein?<br />
<span id="more-252"></span><br />
Nun, da diese Platten nie verkauft wurden, sind sie irgendwann wieder geschreddert worden und die Plattenfirma hat die bei Pressung zu bezahlende GEMA-Gebühr zurückerstattet bekommen, wie das üblich ist. Somit beläuft sich der Verlust auf die nicht zurückerstattende Zahlung an den Künstler, zuzüglich den winzigen Etat an den Agenten zwecks Produktwerbung, sprich damals etwa 50000 DM.<br />
Das macht keinen Sinn, oder etwa doch?</p>
<p>Nun, die Musikindustrie wünscht sich schon sehr lange Hand in Hand mit den Vertriebskanälen eine möglichst geringe Anzahl von Major-Titeln im Verkauf, da dies eine hohe Effizienz in Fertigung, Lagerhaltung und Aufstellersystemen im Vertrieb bedeutet. Wenn nun also die Indies aufgekauft werden, die relevante Stückzahlen im Verkauf ausmachen könnten, also ab etwa 10000 Stk. pro Titel, und diese möglicherweise gar nicht in den Handel gelangen, so fördert dies in einer Mischkalkulation den Vertrieb der Major-Titel deutlich und verringert Lagerhaltung, Verkaufsraum etc. bei den Händlern, und das trotz dem zu erwartenden, möglicherweise sogar einkalkuliertem, Verlust an jedem eingestampften Indy-Titel.</p>
<p>Wenn man sich nun noch einmal die Frage stellt, kann es denn sein, daß ein Titel von einem Künstler, der etwa 10 Titel veröffentlicht hat, dann zu einem Major wechselt und der nun erscheinende Titel weder sofort, noch jemals verfügbar ist, aber nachweislich gepresst wurde, so stellt sich diese Frage möglicherweise vor einem anderen gänzlich anderen Hintergrund, der in dieser ganzen Diskussion um Urheber-/Verwertungsrecht nicht ausreichend beleuchtet wird.</p>
<p>Wieviele Urheber möchte die Musikindustrie überhaupt? Ist kulturelle Vielfalt vom Aussterben bedroht? Welchen Nutzen haben die Musiker von der Musikindustrie; wobei sich diese Frage weniger für die Major-Titel, sondern für die Menge der vergleichsweise &#8220;erfolgreichen&#8221; Indies stellt?!</p>
<p>In diesem Zusammenhang ist es ebenfalls interessant sich vor Augen zu führen, welche Rolle dabei die GEMA spielt, denn während Indies durchaus in Clubs/Disco/Radio vergleichsweise häufig gespielt werden, wird der auszuschüttende Anteil der dabei pauschal zu entrichtenden GEMA an den Verkaufszahlen orientiert aufgeschlüsselt an die Künstler verteilt. Dies ist übrigens neben dem reinen Plattenverkauf das zweite Standbein eines Künstlers in der Musik.<br />
Da nun Major-Titel hohe Verkaufszahlen ausmachen, bekommt z.B. ein Herbert Grönemeyer, ohne eigenes dazutun, entsprechend hohe GEMA Tantiemen, während dieser öffentlich in Clubs/Diskotheken möglicherweise so gut wie nie gespielt wurde, die Künstler der tatsächlich vornehmlich gespielten Titel jedoch so gut wie nichts davon.<br />
Das ist natürlich weder die Schuld von einem Herbert Grönemeyer, noch die der GEMA; da es kaum bessere Kriterien zur Aufschlüsselung gibt.<br />
Doch die Verkaufszahlen werden durch die Musikindustrie, die gemeinsam mit den Großhändlern, die auch gemeinsam die Charts &#8220;kreativ&#8221; festlegen, stark beeinflußt, und spielen auf diese Weise auch hier mittelbar eine entscheidende Rolle im Bezug auf die Überlebensfähigkeit kultureller Vielfalt. Künstler müssen eben, wie wir alle, unabhängig davon ob wenig, oder sehr erfolgreich, von irgendwas leben!</p>
<p>Wenn wir also über Urheberrecht sprechen, sollten wir nicht nur der Polemik der Musikindustrie und ihrer Handlanger in der Politik folgen, sondern auch über die Zukunft der kulturellen Vielfalt und den damit zusammenhängenden Mechanismen vor dem Hintergrund einer rigiden Geschäftspolitik durch die Musikindustrie selbst sprechen.</p>
<p>Wollen wir, die Konsumenten, das eigentlich so in dieser Form einfach hinnehmen? Können wir uns eigentlich noch aussuchen was wir hören und wie lange wird das noch so sein?</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.rabenauge.net%2Fwordpress%2F%3Fp%3D252&amp;linkname=Kultur%20vs%20Industrie%2C%20ein%20Widerspruch%3F"><img src="http://blog.rabenauge.net/wordpress/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a><h3>Random Posts</h3>
<ul class="related_posts">
<li><a href="http://blog.rabenauge.net/wordpress/?p=165" title="Du bist Terrorist">Du bist Terrorist</a></li>
<li><a href="http://blog.rabenauge.net/wordpress/?p=65" title="MinGW Installation für BlitzMax">MinGW Installation für BlitzMax</a></li>
<li><a href="http://blog.rabenauge.net/wordpress/?p=291" title="Geheimhaltung der Internetsperrlisten eine Farce">Geheimhaltung der Internetsperrlisten eine Farce</a></li>
<li><a href="http://blog.rabenauge.net/wordpress/?p=276" title="Verfassungswidrige Bundestagswahl?">Verfassungswidrige Bundestagswahl?</a></li>
<li><a href="http://blog.rabenauge.net/wordpress/?p=50" title="Favorisierte Animationen">Favorisierte Animationen</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.rabenauge.net/wordpress/?feed=rss2&amp;p=252</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Piratensache</title>
		<link>http://blog.rabenauge.net/wordpress/?p=239</link>
		<comments>http://blog.rabenauge.net/wordpress/?p=239#comments</comments>
		<pubDate>Fri, 10 Jul 2009 10:52:13 +0000</pubDate>
		<dc:creator>SebastianG</dc:creator>
				<category><![CDATA[Gesellschaft]]></category>
		<category><![CDATA[Piraterie]]></category>
		<category><![CDATA[Politik]]></category>
		<category><![CDATA[2009]]></category>
		<category><![CDATA[Bundestagswahl]]></category>
		<category><![CDATA[Piraten]]></category>
		<category><![CDATA[Piratenpartei]]></category>

		<guid isPermaLink="false">http://blog.rabenauge.net/wordpress/?p=239</guid>
		<description><![CDATA[.
Nachdem in den vergangenen Jahren vermehrt der Bundesgerichtshof Entscheidungen der Gesetzgebung widerrufen mußte, stellt sich vielen lediglich die Frage inwiefern das Grundgesetz abgeändert werden muß, um die Bürgerrechte soweit zu beschneiden, damit die abgewiesenen Gesetze dennoch durchgeführt werden können. Doch vielleicht sollten wir vielmehr anfangen die Frage zu stellen, wie Verfassungskonform ist die Politik überhaupt [...]]]></description>
			<content:encoded><![CDATA[<p>.<br />
Nachdem in den vergangenen Jahren vermehrt der Bundesgerichtshof Entscheidungen der Gesetzgebung widerrufen mußte, stellt sich vielen lediglich die Frage inwiefern das Grundgesetz abgeändert werden muß, um die Bürgerrechte soweit zu beschneiden, damit die abgewiesenen Gesetze dennoch durchgeführt werden können. Doch vielleicht sollten wir vielmehr anfangen die Frage zu stellen, wie Verfassungskonform ist die Politik überhaupt noch?</p>
<p>Ist Deutschland tatsächlich in Gefahr?</p>
<p>Möglicherweise ja; jedoch nicht zwangsläufig auch wie angenommen durch vermeintliche Terroristen, Islamisten, Homosexuelle, politisch Andersdenkende und was der aktuellen Spitzenpolitik sonst noch so an  möglichen Täterprofilen einfallen will.</p>
<p><a href="http://ich.waehlepiraten.de/" target="_blank"><img src="http://piratenpartei.de/tmp/images/piratenpartei_banner_unterschrift.gif" /></a></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.rabenauge.net%2Fwordpress%2F%3Fp%3D239&amp;linkname=Piratensache"><img src="http://blog.rabenauge.net/wordpress/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a><h3>Related Posts</h3>
<ul class="related_posts">
<li><a href="http://blog.rabenauge.net/wordpress/?p=290" title="Was mir zur Bundestagswahl und den Internetauftritten der Parteien am deutlichsten aufgefallen ist...">Was mir zur Bundestagswahl und den Internetauftritten der Parteien am deutlichsten aufgefallen ist...</a></li>
<li><a href="http://blog.rabenauge.net/wordpress/?p=276" title="Verfassungswidrige Bundestagswahl?">Verfassungswidrige Bundestagswahl?</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.rabenauge.net/wordpress/?feed=rss2&amp;p=239</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Du bist Terrorist</title>
		<link>http://blog.rabenauge.net/wordpress/?p=165</link>
		<comments>http://blog.rabenauge.net/wordpress/?p=165#comments</comments>
		<pubDate>Sat, 27 Jun 2009 05:01:19 +0000</pubDate>
		<dc:creator>SebastianG</dc:creator>
				<category><![CDATA[Politik]]></category>
		<category><![CDATA[Zensur]]></category>

		<guid isPermaLink="false">http://blog.rabenauge.net/wordpress/?p=165</guid>
		<description><![CDATA[.
Hier mal was zum Stand der Dinge in der deutschen Politiklandschaft. Ist Deutschland nun endgültig in Gefahr? Nun, sehen wir selbst!

Quelle: www.DubistTerrorist.de
Related Posts

Rette deine Freiheit!

]]></description>
			<content:encoded><![CDATA[<p>.<br />
Hier mal was zum Stand der Dinge in der deutschen Politiklandschaft. Ist Deutschland nun endgültig in Gefahr? Nun, sehen wir selbst!</p>
<p><center><object width="480" height="295"><param name="wmode" value="opaque" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=4631958&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed wmode="opaque" src="http://vimeo.com/moogaloop.swf?clip_id=4631958&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="480" height="295"></embed></object></embed></center><br /></p>
<p>Quelle: <a href="http://www.DubistTerrorist.de" target="_blank">www.DubistTerrorist.de</a></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.rabenauge.net%2Fwordpress%2F%3Fp%3D165&amp;linkname=Du%20bist%20Terrorist"><img src="http://blog.rabenauge.net/wordpress/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a><h3>Related Posts</h3>
<ul class="related_posts">
<li><a href="http://blog.rabenauge.net/wordpress/?p=268" title="Rette deine Freiheit!">Rette deine Freiheit!</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.rabenauge.net/wordpress/?feed=rss2&amp;p=165</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lua in BlitzMax einbinden</title>
		<link>http://blog.rabenauge.net/wordpress/?p=125</link>
		<comments>http://blog.rabenauge.net/wordpress/?p=125#comments</comments>
		<pubDate>Tue, 09 Jun 2009 16:05:14 +0000</pubDate>
		<dc:creator>SebastianG</dc:creator>
				<category><![CDATA[BlitzMax]]></category>
		<category><![CDATA[C/C++]]></category>
		<category><![CDATA[Lua]]></category>
		<category><![CDATA[bmx]]></category>
		<category><![CDATA[Embedded Script]]></category>
		<category><![CDATA[MinGW]]></category>
		<category><![CDATA[MinGW 3.1.0-1]]></category>

		<guid isPermaLink="false">http://blog.rabenauge.net/wordpress/?p=125</guid>
		<description><![CDATA[Wer hätte das nicht gerne mal&#8230;Lua als Scriptsprache in eine Anwendung eingebetten, um mit Lua wiederum die Anwendung steuern zu können?
Nun, mit BlitzMax ist das sogar nicht nur möglich, sondern auch noch ganz besonders einfach!

Um von Lua aus BlitzMax aufrufen zu können, wird ein Typ (Klasse) in BlitzMax deklariert, der für die Verwendung mit Lua [...]]]></description>
			<content:encoded><![CDATA[<p>Wer hätte das nicht gerne mal&#8230;Lua als Scriptsprache in eine Anwendung eingebetten, um mit Lua wiederum die Anwendung steuern zu können?<br />
Nun, mit BlitzMax ist das sogar nicht nur möglich, sondern auch noch ganz besonders einfach!<br />
<span id="more-125"></span><br />
Um von Lua aus BlitzMax aufrufen zu können, wird ein Typ (Klasse) in BlitzMax deklariert, der für die Verwendung mit Lua registriert wird. Der Aufruf dazu ist so simpel wie es klingt.</p>
<p><strong>1. Beispiel</strong><br />
Hier mal der Beispielcode aus der Hilfedatei von BlitzMax:<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="blitzbasic"><div class="devcodeoverflow"><ol><li></li><li>LuaRegisterObject demo,&quot;Demo&quot;</li><li>&nbsp;</li><li>'source code to our little Lua program...</li><li>'</li><li>Local source$=..</li><li>&quot;function hello()~n&quot;+..</li><li>&quot;print( Demo.SayHello( 'Fredborg' ) )~n&quot;+..</li><li>&quot;end~n&quot;+..</li><li>&quot;function goodbye()~n&quot;+..</li><li>&quot;print( Demo.SayHello( 'CandyMan' ) )~n&quot;+..</li><li>&quot;end~n&quot;</li><li>&nbsp;</li><li>'create a Lua 'class' and set it's source code...</li><li>'</li><li>Local class:TLuaClass=TLuaClass.Create( source )</li><li>&nbsp;</li><li>'Now, create an instance of the class.</li><li>'</li><li>Local instance:TLuaObject=TLuaObject.Create( class,Null )</li><li>&nbsp;</li><li>'We can no invoke methods of the class.</li><li>'</li><li>instance.Invoke &quot;hello&quot;,Null</li><li>instance.Invoke &quot;goodbye&quot;,Null</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p><strong>2. Beispiel</strong><br />
Um es jedoch ein wenig interessanter zu gestalten, habe ich mal das Ganze ein wenig komplexer gestaltet und als ein weiteres Beispiel hier angefügt. Vorteil dieses Beispiels ist, der LUA-Code liegt als eigene Datei vor und nachdem die Anwendung einmal kompiliert ist, reicht es aus den LUA-Code zu verändern, um ein anderes Verhalten zu steuern, anstatt jedesmal nach kleinen Änderungen jeweils die Anwendung selbst neu erzeugen zu müssen.<br />
In dem folgenden Beispiel wird das Anwendungsfenster von LUA aus erzeugt.</p>
<p>Datei: <strong>EmbedLua.bmx</strong><br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="blitzbasic"><div class="devcodeoverflow"><ol><li>Strict</li><li>Framework BRL.System</li><li>import BRL.MaxLua</li><li>Import &quot;LuaVM.bmx&quot;</li><li>Import &quot;sysfunc.c&quot;</li><li>&nbsp;</li><li>vm.Invoke &quot;init&quot;,Null 'We can no invoke methods within the lua script</li><li>vm.Invoke &quot;start&quot;,Null ' start the lua application later we can change this to a per frame version</li><li>&nbsp;</li><li>While Not KeyHit( Key_Escape ) ' Wait until we want to finish by pressing ESC key</li><li>	bmSleep(1) ' wait for one millisekunde</li><li>	vm.Invoke &quot;frame&quot;,Null ' later we can change this to a per frame version</li><li>Wend</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Hier der Blitzmax Code um Lua einzubetten:</p>
<p>Datei: <strong>Lua.bmx</strong><br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="blitzbasic"><div class="devcodeoverflow"><ol><li>Import BRL.System</li><li>Import BRL.GLMax2D</li><li>Import BRL.GLGraphics</li><li>Import BRL.Graphics</li><li>Import BRL.Stream</li><li>&nbsp;</li><li>Rem</li><li>	****************************************************************************</li><li>	TLuaAppObj Type...</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hier findet sich alles, was von LUA aus aufgerufen werden kann</li><li>	****************************************************************************</li><li>EndRem</li><li>Type TLuaAppObj</li><li>	Global ogl:Int = 1</li><li>	Global frame:Int = 0</li><li>	Global width:Int = 640</li><li>	Global height:Int = 320</li><li>	Global depth:Int = 0</li><li>	Global hertz:Int = 0</li><li>	Global DebugX:Int</li><li>	Global DebugY:Int</li><li>	Global ApplicationTitle:String</li><li>	Global w,h,d,r</li><li>&nbsp;</li><li>	Method clrView( )</li><li>		If 1=ogl Then</li><li>		Else</li><li>			Cls '// does not work in GL context</li><li>		EndIf</li><li>	End Method</li><li>&nbsp;</li><li>	Method flipView( )</li><li>			Flip</li><li>	End Method</li><li>&nbsp;</li><li>	Method setView( w:Int=0, h:Int=0, d:Int=0, hz:Int=0, gl:Int=0 )</li><li>		'DebugStop</li><li>		height = h ;	width = w ;	depth = d ;	hertz = hz	;	ogl = gl ;</li><li>		If 1=ogl Then</li><li>			Local glbuffer:Int = GRAPHICS_BACKBUFFER|GRAPHICS_DEPTHBUFFER|GRAPHICS_ALPHABUFFER|GRAPHICS_STENCILBUFFER</li><li>			SetGraphicsDriver		GLGraphicsDriver(), glbuffer</li><li>			GLGraphics width, height, depth, hertz</li><li>		Else</li><li>			Graphics w, h, d, hz</li><li>		EndIf</li><li>	End Method</li><li>&nbsp;</li><li>	Method delView( )</li><li>		EndGraphics</li><li>	End Method</li><li>&nbsp;</li><li>	Method setApplicationTitle( title:String )</li><li>		AppTitle = title</li><li>	End Method</li><li>&nbsp;</li><li>	Method incFrame:String( a:Int )</li><li>		frame = frame + a</li><li>		Return frame</li><li>	End Method</li><li>&nbsp;</li><li>	Method printText( val:String, x:Int, y:Int )</li><li>		If 1=ogl Then</li><li>			GLDrawText val,x,y ' in OpenGL-Mode only</li><li>		Else</li><li>			SetOrigin Int(x),Int(y) ' in non OpenGL-Mode only</li><li>			SetColor 255,255,255 ' in non OpenGL-Mode only</li><li>			DrawText String(val),0,0 ' in non OpenGL-Mode only</li><li>		EndIf</li><li>	End Method</li><li>&nbsp;</li><li>	Method printGlText( val:String, x:Int, y:Int )</li><li>		GLDrawText String(val),x,y</li><li>	End Method</li><li>&nbsp;</li><li>	Method SayHello:String( name:String )</li><li>		Return &quot;Hello &quot;+name+&quot;! Peace be with you...&quot;</li><li>	End Method</li><li>End Type</li><li>&nbsp;</li><li>' Das Object in LUA registrieren</li><li>Global oTLAO:TLuaAppObj = New TLuaAppObj ; LuaRegisterObject oTLAO, &quot;TLAO&quot; ' register TLuaAppObj</li><li>Global oUO:TUdpObj = New TUdpObj ; LuaRegisterObject oUO, &quot;TUO&quot; ' register TUdpObj</li><li>&nbsp;</li><li>Local sLuaSource:String</li><li>&nbsp;</li><li>' Den LUA code einlesen</li><li>Local inLua:TStream = ReadStream( &quot;LuaCode.lua&quot; ) ' open luaVM code</li><li>If Not inLua RuntimeError &quot;LuaVM.lua&quot;</li><li>While Not Eof( inLua )</li><li>	sLuaSource = sLuaSource + ReadLine(inLua) + &quot;~n&quot; ' read luaVM lines</li><li>Wend</li><li>CloseStream inLua</li><li>&nbsp;</li><li>'create a Lua 'class' and set it's source code...</li><li>Local class:TLuaClass = TLuaClass.Create( sLuaSource )</li><li>&nbsp;</li><li>'Now, create an instance of the class.</li><li>Global vm:TLuaObject = TLuaObject.Create( class, Null )</li><li></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Hier der dazugehörige LUA-Code:<br />
Datei: <strong>&#8220;LuaCode.lua&#8221;</strong><br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="lua"><div class="devcodeoverflow"><ol><li>iDebugX=10</li><li>iDebugY=10</li><li>iWidth=1024</li><li>iHeight=768</li><li>iPixel= 0</li><li>iHz=0</li><li>iOpenGL = 1</li><li>sTitle = 'Lua Embedding test 0.01 Build 503';</li><li>&nbsp;</li><li>function hello()</li><li>	a = TLAO.SayHello( 'Fredborg' );</li><li>	TLAO.printText( a, 10, 60 );</li><li>end</li><li>&nbsp;</li><li>function goodbye()</li><li>	a = TLAO.SayHello( 'CandyMan' );</li><li>	TLAO.printText( a, 10, 80 );</li><li>end</li><li>&nbsp;</li><li>function IncFrame()</li><li>	a = TLAO.incFrame( 1 );</li><li>	TLAO.printText( a, 4, (16*a) );</li><li>end</li><li>&nbsp;</li><li>function init()</li><li>	TLAO.setApplicationTitle( sTitle );</li><li>	TLAO.setView( iWidth, iHeight, iPixel, iHz, iOpenGL );</li><li>end</li><li>&nbsp;</li><li>-- once per end</li><li>function deinit()</li><li>	TLAO.delView();</li><li>end</li><li>&nbsp;</li><li>-- once per start</li><li>function start()</li><li>	-- clean frame window</li><li>	TLAO.setApplicationTitle('test');</li><li>	TLAO.clrView();</li><li>	IncFrame();</li><li>	IncFrame();</li><li>	hello();</li><li>	goodbye();</li><li>	-- show graphics buffer</li><li>	TLAO.flipView();</li><li>end</li><li>&nbsp;</li><li>-- per frame operations</li><li>function frame()</li><li>	TLAO.flipView();</li><li>end</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Datei: <strong>sysfunc.c</strong><br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="c"><div class="devcodeoverflow"><ol><li>#ifdef WINDOWS</li><li>#include &lt;windows.h&gt;</li><li>#include &lt;winbase.h&gt;</li><li>#else</li><li>#include &lt;sys/wait.h&gt;</li><li>#endif</li><li>#include &lt;fcntl.h&gt;</li><li>#include &lt;sys/types.h&gt;</li><li>#include &lt;sys/stat.h&gt;</li><li>#include &lt;io.h&gt;</li><li>#include &lt;stdio.h&gt;</li><li>#include &lt;stdlib.h&gt;</li><li>&nbsp;</li><li>void bmSleep(unsigned long milliseconds)</li><li>{</li><li>#ifdef WINDOWS</li><li>&nbsp;&nbsp; Sleep(milliseconds); /* windows variante */</li><li>#else</li><li>&nbsp;&nbsp; sleep(milliseconds); /* unix variante */</li><li>#endif</li><li>}</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.rabenauge.net%2Fwordpress%2F%3Fp%3D125&amp;linkname=Lua%20in%20BlitzMax%20einbinden"><img src="http://blog.rabenauge.net/wordpress/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a><h3>Related Posts</h3>
<ul class="related_posts">
<li><a href="http://blog.rabenauge.net/wordpress/?p=96" title="C/C++ in BlitzMax einbinden">C/C++ in BlitzMax einbinden</a></li>
<li><a href="http://blog.rabenauge.net/wordpress/?p=56" title="BlitzMax?">BlitzMax?</a></li>
<li><a href="http://blog.rabenauge.net/wordpress/?p=47" title="UDP-Test in BlitzMax">UDP-Test in BlitzMax</a></li>
<li><a href="http://blog.rabenauge.net/wordpress/?p=65" title="MinGW Installation für BlitzMax">MinGW Installation für BlitzMax</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.rabenauge.net/wordpress/?feed=rss2&amp;p=125</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UDP-Test in BlitzMax</title>
		<link>http://blog.rabenauge.net/wordpress/?p=47</link>
		<comments>http://blog.rabenauge.net/wordpress/?p=47#comments</comments>
		<pubDate>Mon, 08 Jun 2009 12:34:36 +0000</pubDate>
		<dc:creator>SebastianG</dc:creator>
				<category><![CDATA[BlitzMax]]></category>
		<category><![CDATA[bmx]]></category>
		<category><![CDATA[Code Sniplet]]></category>
		<category><![CDATA[SebastianG]]></category>
		<category><![CDATA[socket]]></category>
		<category><![CDATA[UDP]]></category>

		<guid isPermaLink="false">http://blog.rabenauge.net/wordpress/?p=47</guid>
		<description><![CDATA[BlitzMax Beispiel für die UDP-Kommunikation. Das Beispiel verwendet 2 Sockets, wobei einer an den anderen Nachrichten verschickt. Der Empfänger-Socket liefert neben den reinen Daten auch die Sender-IP und den Sender-Port zurück.]]></description>
			<content:encoded><![CDATA[<p>Hier ein einfaches Code-Beispiel für eine rudimentäre UDP-Kommunikation mittels BlitzMax:<br />
Das Beispiel verwendet 2 Sockets, wobei einer an den anderen Nachrichten verschickt. Der Empfänger-Socket liefert neben den reinen Daten auch die Sender-IP und den Sender-Port in dem Objekt &#8216;TUdpObj&#8217; zurück.</p>
<p>Im Beispiel ist die maximale Länge von zu empfangenden Nachrichten auf 2048 Bytes begrenzt<br />
( <em>TUdpObj:buf:Byte [2048]</em> )</p>
<p><span id="more-47"></span><br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="blitzbasic"><div class="devcodeoverflow"><ol><li>'udp test</li><li>Framework BRL.Basic</li><li>Import BRL.Socket</li><li>Import BRL.standardio</li><li>&nbsp;</li><li>Type TUdpDgram</li><li> Field ip:Int</li><li> Field port:Int</li><li> Field cnt:Int</li><li> Field buf:Byte[2048]</li><li>&nbsp;</li><li> Method SockRead:String(socket:TSocket)</li><li> Local receivedLen, time = MilliSecs()</li><li> Repeat</li><li> receivedLen = 0</li><li> Local read = socket._socket</li><li> If socket.Connected()</li><li> Local size = socket.ReadAvail()</li><li> If size &gt; 2048 Then size = 2048</li><li> If size</li><li> cnt = recvfrom_(socket._socket, buf, size, 0, ip, port)</li><li> If cnt &gt; 0 Then Exit</li><li> EndIf</li><li> EndIf&nbsp;&nbsp;&nbsp;&nbsp;</li><li> Until (MilliSecs() - time) &gt;= 30000</li><li> If cnt &gt; 0 Then Return String.FromBytes(buf, cnt)</li><li> End Method</li><li>&nbsp;</li><li> Method SockWrite:Int(socket:TSocket, str:String)</li><li> Local buf:Byte Ptr = (str$ + &quot;~r~n&quot;).ToCString()</li><li> Local sent = socket.Send(buf, str.length + 2)</li><li> MemFree buf</li><li> Return sent = (str.length + 2)</li><li> End Method</li><li>&nbsp;</li><li> Method SockWriteEx:Int(socket:TSocket, host:String, port:Int, str:String)</li><li> Local buf:Byte Ptr = (str$ + &quot;~r~n&quot;).ToCString()</li><li> Local sent = sendto_(socket._socket, buf, str.length + 2, 0, HostIp(host:String), port)</li><li> MemFree buf</li><li> Return sent</li><li> End Method</li><li>EndType</li><li>&nbsp;</li><li>Local portA:Int = 20000</li><li>Local portB:Int = 20001</li><li>Local localhost:String = &quot;127.0.0.1&quot;</li><li>Local sMsg:String = &quot;Hello sheep!&quot;</li><li>Local sockA:TSocket = CreateUDPSocket()</li><li>Local sockB:TSocket = CreateUDPSocket()</li><li>Local host:String = HostName( SocketLocalIP( sockA ) )</li><li>&nbsp;</li><li>If BindSocket(sockA, portA ) = False Then RuntimeError &quot;Couldn't bind to sockA&quot;</li><li>If BindSocket(sockB, portB ) = False Then RuntimeError &quot;Couldn't bind to sockB&quot;</li><li>&nbsp;</li><li>If ConnectSocket(sockA, HostIp(localhost), portB) = False Then RuntimeError &quot;Couldn't connect to sockA&quot;</li><li>If ConnectSocket(sockB, HostIp( localhost ), portA) = False Then RuntimeError &quot;Couldn't connect to sockB&quot;</li><li>&nbsp;</li><li>Local x:TUdpDgram&nbsp;&nbsp;= New TUdpDgram</li><li>Print x.SockWrite(sockB, sMsg)</li><li>Print SocketReadAvail(sockA)</li><li>Local info1:String = x.SockRead(sockA)</li><li>Print DottedIP(x.ip) + &quot;:&quot; + String(x.port)+ &quot; - len(&quot; + x.cnt + &quot;) = &quot; + String.FromBytes(x.buf, x.cnt)</li><li>&nbsp;</li><li>sockA.Close()</li><li>sockB.Close()</li><li>&nbsp;</li><li>End</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.rabenauge.net%2Fwordpress%2F%3Fp%3D47&amp;linkname=UDP-Test%20in%20BlitzMax"><img src="http://blog.rabenauge.net/wordpress/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a><h3>Related Posts</h3>
<ul class="related_posts">
<li><a href="http://blog.rabenauge.net/wordpress/?p=56" title="BlitzMax?">BlitzMax?</a></li>
<li><a href="http://blog.rabenauge.net/wordpress/?p=125" title="Lua in BlitzMax einbinden">Lua in BlitzMax einbinden</a></li>
<li><a href="http://blog.rabenauge.net/wordpress/?p=96" title="C/C++ in BlitzMax einbinden">C/C++ in BlitzMax einbinden</a></li>
<li><a href="http://blog.rabenauge.net/wordpress/?p=65" title="MinGW Installation für BlitzMax">MinGW Installation für BlitzMax</a></li>
<li><a href="http://blog.rabenauge.net/wordpress/?p=53" title="CV - SebastianG">CV - SebastianG</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.rabenauge.net/wordpress/?feed=rss2&amp;p=47</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C/C++ in BlitzMax einbinden</title>
		<link>http://blog.rabenauge.net/wordpress/?p=96</link>
		<comments>http://blog.rabenauge.net/wordpress/?p=96#comments</comments>
		<pubDate>Sat, 07 Mar 2009 15:47:31 +0000</pubDate>
		<dc:creator>SebastianG</dc:creator>
				<category><![CDATA[BlitzMax]]></category>
		<category><![CDATA[C/C++]]></category>
		<category><![CDATA[Compiler]]></category>
		<category><![CDATA[MinGW]]></category>
		<category><![CDATA[MinGW 3.1.0-1]]></category>
		<category><![CDATA[sleep()]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://blog.rabenauge.net/wordpress/?p=96</guid>
		<description><![CDATA[An dieser Stelle mal ein Hinweis wie C-Module in BlitzMax beim Erstellen eines Projektes einfach miterzeugt werden können, bzw. wie das Einbinden überhaupt stattfindet.
Für dieses Beispiel benötigen wir etwas C-Source, dessen Funktionalität wir in BlitzMax nutzen wollen.
Ich habe an dieser Stelle ein Beispiel mit der Funktion Sleep() ausgewählt, da diese Funktionalität ganz besonders in Anwendungen [...]]]></description>
			<content:encoded><![CDATA[<p>An dieser Stelle mal ein Hinweis wie C-Module in BlitzMax beim Erstellen eines Projektes einfach miterzeugt werden können, bzw. wie das Einbinden überhaupt stattfindet.</p>
<p>Für dieses Beispiel benötigen wir etwas C-Source, dessen Funktionalität wir in BlitzMax nutzen wollen.<br />
Ich habe an dieser Stelle ein Beispiel mit der Funktion <span style="color: #0000ff;">Sleep()</span> ausgewählt, da diese Funktionalität ganz besonders in Anwendungen mit Threads sehr wünschenswert ist, sei es auch nur um mit <span style="color: #0000ff;">bmSleep(0)</span> auch mal gezielt ein Scheduling anstoßen zu können.<br />
<span id="more-96"></span><br />
Wer bereits MinGW installiert hat, braucht mit den unten aufgeführten Dateien lediglich einen Build von der BlitzMax IDE aus auf <span style="color: #0000ff;">sysfunc.bmx</span> auszuführen und die C/C++ Dateien werden automatisch miterzeugt, da über die BlitzMax Anweisung <span style="color: #0000ff;">Import &#8220;sysfunc.c&#8221;</span> bereits korrekt eingebunden.</p>
<p>So einfach kann es eben sein! <img src='http://blog.rabenauge.net/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><em><strong>sysfunc.c</strong></em><br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="c"><div class="devcodeoverflow"><ol><li>#ifdef WINDOWS</li><li>#include &lt;windows.h&gt;</li><li>#include &lt;winbase.h&gt;</li><li>#else</li><li>#include &lt;sys/wait.h&gt;</li><li>#endif</li><li>#include &lt;fcntl.h&gt;</li><li>#include &lt;sys/types.h&gt;</li><li>#include &lt;sys/stat.h&gt;</li><li>#include &lt;io.h&gt;</li><li>#include &lt;stdio.h&gt;</li><li>#include &lt;stdlib.h&gt;</li><li>&nbsp;</li><li>void bmSleep(unsigned long milliseconds)</li><li>{</li><li>#ifdef WINDOWS</li><li>&nbsp;&nbsp; Sleep(milliseconds); /* windows variante */</li><li>#else</li><li>&nbsp;&nbsp; sleep(milliseconds); /* unix variante */</li><li>#endif</li><li>}</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p><strong><em>sysfunc.bmx</em></strong><br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="blitzbasic"><div class="devcodeoverflow"><ol><li>Framework BRL.System</li><li>Import &quot;sysfunc.c&quot;</li><li>Extern</li><li> Function bmSleep( milliseconds:Int )</li><li>End Extern</li><li>&nbsp;</li><li>' ab hier können wir nun die Funktion &quot;bmSleep()&quot; aufrufen</li><li>bmSleep(5000) ' läßt die Anwendung 5000 Millisekunden &quot;schlafen&quot;</li><li>End</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p><strong>Geht das auch einfacher?</strong></p>
<p>Zu kompliziert, um so etwas einfaches, wie <span style="color: #0000ff;">Sleep()</span> in BlitzMax verfügbar zu machen? Ja, das ist es in der Tat! Doch das Beispiel dient dazu aufzuzeigen wie C/C++ in BlitzMax eingebunden werden kann, nicht um zu zeigen wie in BlitzMax vorhandene API-Aufrufe möglichst einfach eingebunden werden.<br />
Dennoch möchte ich zum Abschluss noch schnell aufzeigen, wie es kurz und schmerzlos geht, solange es sich lediglich um die Abbildung von API-Aufrufen BlitzMax handelt:</p>
<p><strong><em>OSAPI.bmx</em></strong><br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="blitzbasic"><div class="devcodeoverflow"><ol><li>Framework BRL.System</li><li>Extern &quot;OS&quot;</li><li>	Function bmSleep( milliseconds:Int ) = &quot;Sleep@4&quot;</li><li>EndExtern</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Das <span style="color: #007f00;">&#8220;&#8230; = Sleep@4&#8243;</span> steht dabei für den API-internen Funktionsnamen und der Wert nach dem @ für die Gesamtlänge der zu übergebenden Argumente, in unserem Beispiel für Sleep sind das 4 Bytes.<br />
In dieser verkürzten Form muss ansonsten nichts weiter eingebunden werden und der Aufruf <span style="color: #0000ff;">bmSleep()</span> steht sofort zur Verfügung.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.rabenauge.net%2Fwordpress%2F%3Fp%3D96&amp;linkname=C%2FC%2B%2B%20in%20BlitzMax%20einbinden"><img src="http://blog.rabenauge.net/wordpress/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a><h3>Related Posts</h3>
<ul class="related_posts">
<li><a href="http://blog.rabenauge.net/wordpress/?p=56" title="BlitzMax?">BlitzMax?</a></li>
<li><a href="http://blog.rabenauge.net/wordpress/?p=125" title="Lua in BlitzMax einbinden">Lua in BlitzMax einbinden</a></li>
<li><a href="http://blog.rabenauge.net/wordpress/?p=47" title="UDP-Test in BlitzMax">UDP-Test in BlitzMax</a></li>
<li><a href="http://blog.rabenauge.net/wordpress/?p=65" title="MinGW Installation für BlitzMax">MinGW Installation für BlitzMax</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.rabenauge.net/wordpress/?feed=rss2&amp;p=96</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
