<?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>blog.elsdoerfer.name &#187; Uncategorized</title>
	<atom:link href="http://blog.elsdoerfer.name/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.elsdoerfer.name</link>
	<description>Contributing back to the Google Index.</description>
	<lastBuildDate>Sat, 10 Dec 2011 00:04:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Python: Make simplejson.dumps output raw Javascript code</title>
		<link>http://blog.elsdoerfer.name/2011/12/03/python-make-simplejson-dumps-output-raw-javascript-code/</link>
		<comments>http://blog.elsdoerfer.name/2011/12/03/python-make-simplejson-dumps-output-raw-javascript-code/#comments</comments>
		<pubDate>Sat, 03 Dec 2011 10:54:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.elsdoerfer.name/?p=406</guid>
		<description><![CDATA[class JSRaw(int): """Hack to allow including raw Javascript code in simplejson.dumps output. Objects of this sort are dumped as raw strings. """ def __new__(self, string): instance = int.__new__(self, 0) instance.string = string return instance def __repr__(self): return self.string def __unicode__(self): return self.string def __str__(self): return self.string Example: s = jsondumps({ 'series': data, 'yAxis': { 'labels': [...]]]></description>
			<content:encoded><![CDATA[<p><code>
<pre>
class JSRaw(int):
    """Hack to allow including raw Javascript code in simplejson.dumps
    output. Objects of this sort are dumped as raw strings.
    """
    def __new__(self, string):
        instance = int.__new__(self, 0)
        instance.string = string
        return instance
    def __repr__(self):
        return self.string
    def __unicode__(self):
        return self.string
    def __str__(self):
        return self.string
</pre>
<p></code></p>
<p>Example:</p>
<p><code>
<pre>
s = jsondumps({
    'series': data,
    'yAxis': {
        'labels': {
            'formatter': JSRaw("""
                function() {
                    return (this.value > 0 ? '+' : '') + this.value + '%';
                }""")
        }
    }
})
</pre>
<p></code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.elsdoerfer.name/2011/12/03/python-make-simplejson-dumps-output-raw-javascript-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Storing times in UTC in Django</title>
		<link>http://blog.elsdoerfer.name/2011/10/27/storing-times-in-utc-in-django/</link>
		<comments>http://blog.elsdoerfer.name/2011/10/27/storing-times-in-utc-in-django/#comments</comments>
		<pubDate>Thu, 27 Oct 2011 20:31:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.elsdoerfer.name/?p=403</guid>
		<description><![CDATA[I just want to store my time values in UTC, and render them in Europe/Berlin for display, as supposedly one should, and Django, in 2011 and with 1.4 looming, still does not support this (although things may be happening). I&#8217;ve found that the simplest way to deal with this is to use a filter which [...]]]></description>
			<content:encoded><![CDATA[<p>I just want to store my time values in UTC, and render them in Europe/Berlin for display, as supposedly one should, and Django, in 2011 and with 1.4 looming, <strong>still</strong> does not support this (although things <a href="http://groups.google.com/group/django-developers/browse_thread/thread/cf0423bbb85b1bbf">may be happening</a>).</p>
<p>I&#8217;ve found that the simplest way to deal with this is to use <a href="http://djangosnippets.org/snippets/2583/">a filter</a> which can convert from UTC to the TIME_ZONE setting, and can be placed before any of Django&#8217;s time, timesince, nativetime etc. filters one may want to use.</p>
<p>That still leaves you with a lack of timezone support in the admin, or when using model fields in general, but if you don&#8217;t care about those, this is the quickest way to make it work.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.elsdoerfer.name/2011/10/27/storing-times-in-utc-in-django/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What I learned</title>
		<link>http://blog.elsdoerfer.name/2011/10/17/what-i-learned/</link>
		<comments>http://blog.elsdoerfer.name/2011/10/17/what-i-learned/#comments</comments>
		<pubDate>Mon, 17 Oct 2011 11:33:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.elsdoerfer.name/?p=400</guid>
		<description><![CDATA[Gnome 3 is actually quite nice, I think I prefer it over Unity. Only if it weren&#8217;t so buggy. And had better multihead support. Unity has some pretty nice touches as well. Like the ALT+TAB&#8217;ing into a specific window of an app. Even the propriety Catalyst fglrx driver can&#8217;t properly drive a 3-head 6400&#215;1440/1200 setup [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li>Gnome 3 is actually quite nice, I think I prefer it over Unity. Only if it weren&#8217;t so buggy. And had better multihead support.</li>
<li>Unity has some pretty nice touches as well. Like the ALT+TAB&#8217;ing into a specific window of an app.</li>
<li>Even the propriety Catalyst fglrx driver can&#8217;t properly drive a 3-head 6400&#215;1440/1200 setup when compositing is enabled. It works just fine in Windows.</li>
<li>But Windows 7&#8242;s multimonitor behaviour is <a href="http://social.technet.microsoft.com/Forums/en/w7itprogeneral/thread/8a9b5aa7-fe33-4e6d-b39b-8ac80a21fdc2">insane as well</a>.</li>
<li>I should probably get a Mac.</li>
<li>Tiling window managers are worth a try.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.elsdoerfer.name/2011/10/17/what-i-learned/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu app indicators when using PyGObject</title>
		<link>http://blog.elsdoerfer.name/2011/08/06/ubuntu-app-indicators-when-using-pygobject/</link>
		<comments>http://blog.elsdoerfer.name/2011/08/06/ubuntu-app-indicators-when-using-pygobject/#comments</comments>
		<pubDate>Fri, 05 Aug 2011 23:38:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.elsdoerfer.name/?p=387</guid>
		<description><![CDATA[PyGObject and the Python appindicator module don&#8217;t agree with each other. As soon as I import &#8220;appindicator&#8221;, all objects from the gi.repository.Gtk namespaces seem to reset to what might be PyGTK, not sure. However, with gir1.2-appindicator-0.1 (on Natty) installed , you can do: from gi.repository import AppIndicator ind = AppIndicator.Indicator.new( "send-to-kindle", "indicator-messages", AppIndicator.IndicatorCategory.APPLICATION_STATUS) self.menu = [...]]]></description>
			<content:encoded><![CDATA[<p>PyGObject and the Python appindicator module don&#8217;t agree with each other. As soon as I import &#8220;appindicator&#8221;, all objects from the <em>gi.repository.Gtk</em> namespaces seem to reset to what might be PyGTK, not sure. However, with <em>gir1.2-appindicator-0.1</em> (on Natty) installed , you can do:</p>
<pre name="code" class="python">
from gi.repository import AppIndicator

ind = AppIndicator.Indicator.new(
            "send-to-kindle",
            "indicator-messages",
            AppIndicator.IndicatorCategory.APPLICATION_STATUS)

self.menu = Gtk.Menu()
item = Gtk.MenuItem()
item.set_label("Menu Item")
item.show()
self.menu.append(item)

self.menu.show()
ind.set_menu(self.menu)
</pre>
<p>Note that there is a <em>gir1.2-appindicator3-0.1</em> package in Natty, which provides a <em>AppIndicator3</em> object, which seems to be the GTK3 version, and pulls a bunch of GTK dependencies. After installing it on Natty, I was seemingly unable to work with GTK2 in PyGObject, so be careful (uninstalling the GTK3 packages fixed it). <a href="http://bazaar.launchpad.net/~jockey-hackers/jockey/trunk/view/head:/jockey/ui.py">Jockey</a> (the &#8220;Additional Drivers&#8221; tool) is using AppIndicator3, and from looking at the source, AppIndicator3 works without attaching a menu to it. Apparently Canonical still gets some things right.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.elsdoerfer.name/2011/08/06/ubuntu-app-indicators-when-using-pygobject/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automatically backup Google Reader subscriptions</title>
		<link>http://blog.elsdoerfer.name/2011/07/26/automatically-backup-google-reader-subscriptions/</link>
		<comments>http://blog.elsdoerfer.name/2011/07/26/automatically-backup-google-reader-subscriptions/#comments</comments>
		<pubDate>Tue, 26 Jul 2011 19:52:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.elsdoerfer.name/?p=384</guid>
		<description><![CDATA[Most of the scripts out there seem to be broken (like gookup). So I&#8217;ve written one that works: https://github.com/miracle2k/linuxutils/blob/master/export-google-reader-subscriptions.py It uses Matt Behrens libgreader library for the hard part.]]></description>
			<content:encoded><![CDATA[<p>Most of the scripts out there seem to be broken (like gookup). So I&#8217;ve written one that works:</p>
<p><a href="https://github.com/miracle2k/linuxutils/blob/master/export-google-reader-subscriptions.py">https://github.com/miracle2k/linuxutils/blob/master/export-google-reader-subscriptions.py</a></p>
<p>It uses Matt Behrens <a href="https://github.com/askedrelic/libgreader/">libgreader</a> library for the hard part.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.elsdoerfer.name/2011/07/26/automatically-backup-google-reader-subscriptions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building Hibiscus</title>
		<link>http://blog.elsdoerfer.name/2011/07/14/building-hibiscus/</link>
		<comments>http://blog.elsdoerfer.name/2011/07/14/building-hibiscus/#comments</comments>
		<pubDate>Thu, 14 Jul 2011 22:29:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.elsdoerfer.name/?p=381</guid>
		<description><![CDATA[Steps to build a custom Hibiscus plugin for Jameica: Checkout the code: The &#8220;hibiscus&#8221; module from the Hibiscus project, the &#8220;jameica&#8221; module from the Jameica project: &#8220;cvs -z3 -d:pserver:anonymous@cvs.berlios.de:/cvsroot/hibiscus co hibiscus &#038;&#038; cvs -z3 -d:pserver:anonymous@cvs.berlios.de:/cvsroot/jameica co jameica&#8221;. Within jameica/build run &#8220;ant nightly&#8221;, which will generate releases/jameica-lib.jar Edit hibiscus/build/build.properties, makedefine.jameica.dir point to the Jameica checkout, relative [...]]]></description>
			<content:encoded><![CDATA[<p>Steps to build a custom <a href="http://www.willuhn.de/products/hibiscus/">Hibiscus</a> plugin for Jameica:</p>
<ul>
<li>Checkout the code: The &#8220;hibiscus&#8221; module from the <a href="https://developer.berlios.de/projects/hibiscus/">Hibiscus</a> project, the &#8220;jameica&#8221; module from the <a href="https://developer.berlios.de/projects/jameica/">Jameica</a> project: <em>&#8220;cvs -z3 -d:pserver:anonymous@cvs.berlios.de:/cvsroot/hibiscus co hibiscus &#038;&#038; cvs -z3 -d:pserver:anonymous@cvs.berlios.de:/cvsroot/jameica co jameica&#8221;</em>.</li>
<li>Within <em>jameica/build</em> run &#8220;ant nightly&#8221;, which will generate <em>releases/jameica-lib.jar</em></li>
<li>Edit <em>hibiscus/build/build.properties</em>,  make<em>define.jameica.dir</em> point to the Jameica checkout, relative to the Hibiscus root directory (not the <em>build/</em> subdirectory).</li>
<li>Running &#8220;ant nightly&#8221; within <em>hibiscus/build</em> gives you a <em>hibiscus-XXX-nightly.zip</em> that can be installed into Jameica.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.elsdoerfer.name/2011/07/14/building-hibiscus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Netzwerk-Steckdosen</title>
		<link>http://blog.elsdoerfer.name/2011/07/11/netzwerk-steckdosen/</link>
		<comments>http://blog.elsdoerfer.name/2011/07/11/netzwerk-steckdosen/#comments</comments>
		<pubDate>Mon, 11 Jul 2011 19:10:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.elsdoerfer.name/?p=378</guid>
		<description><![CDATA[TOUCH n SWITCH &#8211; WLAN, 1000W (500W induktiv) per Ausgang, 3200 total; iPhone App, keine offizielle API. Allnet &#8211; Einzeldose, ab 70 Euro, 1500W. Infratec PM211-MIP &#8211; 4 Dosen, 2 Kanäle Web Power Switch III &#8211; 8 Dosen, anscheinend sehr flexibel bez. API, nur $100, aber: US Stecker, und angeblich Laut (mit Lüfter!) Leunig ePowerSwitch [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li><a href="">TOUCH n SWITCH</a> &#8211; WLAN, 1000W (500W induktiv) per Ausgang, 3200 total; iPhone App, keine offizielle API.</li>
<li><a href="http://www.conrad.de/ce/de/product/975278/ALLNET-ALL3075-NETZWERKSTECKDOSE">Allnet</a> &#8211; Einzeldose, ab 70 Euro, 1500W.</li>
<li><a href="http://www.conrad.de/ce/de/product/999171/INFRATEC-PM211-MIP-IP-STECKDOSENLEISTE/">Infratec PM211-MIP</a> &#8211; 4 Dosen, 2 Kanäle</li>
<li><a href="http://www.digital-loggers.com/lpc.html">Web Power Switch III</a> &#8211; 8 Dosen, anscheinend sehr flexibel bez. API, nur $100, aber: US Stecker, und angeblich Laut (mit Lüfter!)</li>
<li><a href="http://www.leunig.de/_pro/netzwerk/remote_power_switch/eps.htm">Leunig ePowerSwitch</a> &#8211; nur 10A total, teuer. Sieht aber gut supported aus, und hat APIs.</li>
<li><a href="http://www.gude.info/index.php?lng=0&#038;section=products&#038;product=epc1200">GUDE EXPort Power Control</a> &#8211; Günstiger (~233 Euro), auch viele APIs (SNMP, HTTP), 16A.</li>
<li><a href="http://www.conrad.de/ce/de/product/973731/VARIO-LINEA-IT483CM19-4FACHLAN/?ref=reco">Vario Linea IT48</a> &#8211; vermutlich dasselbe Gerät wie die Gude-Leiste.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.elsdoerfer.name/2011/07/11/netzwerk-steckdosen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Z-Wave Software</title>
		<link>http://blog.elsdoerfer.name/2011/07/11/z-wave-software/</link>
		<comments>http://blog.elsdoerfer.name/2011/07/11/z-wave-software/#comments</comments>
		<pubDate>Mon, 11 Jul 2011 12:52:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.elsdoerfer.name/?p=375</guid>
		<description><![CDATA[Open Source Automation Engine (Code) &#8211; Windows Only OpenRemote &#8211; Allows designing custom control interfaces for iOS/Android; No Z-Wave support. LinuxMCE &#8211; not the prettiest UI, maybe tries to do too much. openAMI (Code) &#8211; Python Server, JQTouch Client; looks pretty, but seemingly not under active work. open-zwave &#8211; Free Z-Wave library, actively developed. MisterHouse [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li><a href="http://www.opensourceautomation.com/">Open Source Automation Engine</a> (<a href="http://code.google.com/p/osae/">Code</a>) &#8211; Windows Only</li>
<li><a href="http://www.openremote.org/">OpenRemote</a> &#8211; Allows designing custom control interfaces for iOS/Android; No Z-Wave support.</li>
<li><a href="http://linuxmce.org/">LinuxMCE</a> &#8211; not the prettiest UI, maybe tries to do too much.</li>
<li><a href="http://www.openami.de/">openAMI</a> (<a href="http://code.google.com/p/openami/">Code</a>) &#8211; Python Server, JQTouch Client; looks pretty, but seemingly not under active work.</li>
<li><a href="http://code.google.com/p/open-zwave/">open-zwave</a> &#8211; Free Z-Wave library, actively developed.</li>
<li><a href="http://misterhouse.sourceforge.net/">MisterHouse</a> &#8211; quite low level, scripting in Perl.</li>
<li><a href="http://www.linuxha.com/">Linux Home Automation</a> &#8211; General information.
</li>
<li><a href="http://melloware.com/products/lightswitch/">Lightswitch</a> &#8211; iPhone and Android app which works with different servers.</li>
<li><a href="http://z-wave.alsenet.com/index.php/Main_Page">AZW</a> &#8211; Various information about Z-Wave, various devices, and some Python code.</li>
<li><a href="http://en.z-wave.me/">Z-Way/Z-Cloud</a> &#8211; Proprietary Z-Wave solution by the AZW guys.</li>
<li><a href="http://www.controlthink.com/zwavesdk.htm">ControlThink Z-Wave SDK</a> &#8211; Commercial, Windows-only.</li>
<li><a href="http://www.digiwave.dk/en/programming/an-introduction-to-z-wave-programming-in-c/">Z-Wave Programming in C#</a> &#8211; article series that talks about the Z-Wave protocol on a byte-level.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.elsdoerfer.name/2011/07/11/z-wave-software/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Installing MacOS X on P7P55D-E, Core i7-870, Radeon HD 8670</title>
		<link>http://blog.elsdoerfer.name/2011/07/03/installing-macos-x-on-p7p55d-e-core-i7-870-radeon-hd-8670/</link>
		<comments>http://blog.elsdoerfer.name/2011/07/03/installing-macos-x-on-p7p55d-e-core-i7-870-radeon-hd-8670/#comments</comments>
		<pubDate>Sun, 03 Jul 2011 19:31:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.elsdoerfer.name/?p=370</guid>
		<description><![CDATA[I mainly followed the iBoot + MultiBeast: Install Mac OS X on any Intel-based PC tutorial. I upgraded the BIOS of the P7P55D-E board to the latest version 1504. This is because I wanted to try the &#8220;UserDSDT&#8221; Installation method in MultiBeast, and a DSDT exists for this version. Not that I have any idea [...]]]></description>
			<content:encoded><![CDATA[<p>I mainly followed the <a href="http://tonymacx86.blogspot.com/2010/04/iboot-multibeast-install-mac-os-x-on.html">iBoot + MultiBeast: Install Mac OS X on any Intel-based PC</a> tutorial.</p>
<ul>
<li>I upgraded the BIOS of the P7P55D-E board to the latest version 1504. This is because I wanted to try the &#8220;UserDSDT&#8221; Installation method in MultiBeast, and a DSDT <a href="http://www.tonymacx86.com/dsdt.php">exists for this version</a>. Not that I have any idea what exactly the difference is between the &#8220;UserDSDT&#8221; and &#8220;EasyBeast&#8221; modes of MultiBeast; Sleep mode was supposed to work with UserDSDT, so I went with that.</li>
<li>I reduced the installed RAM to a max of 4GB, as instructed. I cannot confirm whether this is really required or not.</li>
<li>In the BIOS, I switched from <em>IDE</em> to <em>AHCI</em> under &#8220;Configure SATA&#8221;, as instructed. Indeed, MacOS X refuses to boot without it.</li>
<li>I followed the normal <a href="http://tonymacx86.blogspot.com/2010/04/iboot-multibeast-install-mac-os-x-on.html">iBoot/MultiBeast install process</a>. I also had to use the <em>PCIRootUID=1</em> flag; the initial boot of the installation CD took quite a long time; using the <em>-v</em> boot option, it appeared to hang at <em>&#8220;Bug: launchctl.c &#8230;.&#8221;</em>, and <em>&#8220;systemShutdown false&#8221;</em> for a while, but ultimately moved on after some minutes.</li>
<li>After the installation, I applied to 10.6.7 combo update, also as des cribed, and then ran MultiBeast, using the UserDSDT method, and making sure to apply the <em>PCIRootUID</em> fix permanently.</li>
<li>After a reboot, Ethernet no longer worked (even though it worked fine after the install; and it also worked fine in my tests using the EasyBeast method). The problem seems to only occu r with UserDSDT. What worked for me was installing the <a href="http://lnx2mac.blogspot.com/p/realtekrtl81xx-osx-driver.html">Lnx2Mac Realtek RTL81xx Driver</a> (even though the 8112 chipset on the board is not listed as supported). The driver can be downloaded manually at the link given, I used the version included in MultiBeast.</li>
<li>The graphics didn&#8217;t work properly. This is because current versions of Snow Leopard do not include a driver for ATI 6000 series cards; the key seems to be kernel extension named <em>ATI6000Controller.kext</em>. The file is specifically only included in Snow Leopard versions and updates intended for the 2011 Macbook Pro. Those files can be ripped from the Macbook Pro install CDs. This is discussed extensively in <a href="http://www.insanelymac.com/forum/index.php?showtopic=250804">this thread</a>, with instructions and downloads. Someone also posted a <a href="http://www.insanelymac.com/forum/index.php?s=&#038;showtopic=250804&#038;view=findpost&#038;p=1659280">self-installable package</a>, which I used and which worked well.</li>
<li>I subsequently installed Ubuntu on the same disk, and was unsure whether to have it install Grub on the main disk (overwriting Chameleon), or just in the Ubuntu partition. I can confirm that the former works just fine &#8211; Grub seems to be able to boot into MacOS X without any trouble.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.elsdoerfer.name/2011/07/03/installing-macos-x-on-p7p55d-e-core-i7-870-radeon-hd-8670/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Charting Libraries/Components</title>
		<link>http://blog.elsdoerfer.name/2011/06/19/charting-librariescomponents/</link>
		<comments>http://blog.elsdoerfer.name/2011/06/19/charting-librariescomponents/#comments</comments>
		<pubDate>Sun, 19 Jun 2011 13:50:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.elsdoerfer.name/?p=366</guid>
		<description><![CDATA[Highcharts (commercial, but source on Github; Javascript Stock-Chart) amCharts (commercial, Stock-Chart Flash only) gRaphaël Google Chart Tools JSCharts (commercial) jqPlot (open source) Emprise JavaScript Charts (commercial)]]></description>
			<content:encoded><![CDATA[<ul>
<li><a href="http://www.highcharts.com/">Highcharts</a> (commercial, but source on Github; Javascript Stock-Chart)</li>
<li><a href="http://www.amcharts.com/">amCharts</a> (commercial, Stock-Chart Flash only)</li>
<li><a href="http://g.raphaeljs.com/">gRaphaël</a></li>
<li><a href="http://code.google.com/apis/chart/">Google Chart Tools</a></li>
<li><a href="http://www.jscharts.com/">JSCharts</a> (commercial)</li>
<li><a href="http://www.jqplot.com/">jqPlot</a> (open source)</li>
<li><a href="http://www.ejschart.com/">Emprise JavaScript Charts</a> (commercial)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.elsdoerfer.name/2011/06/19/charting-librariescomponents/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

