<?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>data Archives - ClickedyClick</title>
	<atom:link href="https://gergely.imreh.net/blog/tag/data/feed/" rel="self" type="application/rss+xml" />
	<link>https://gergely.imreh.net/blog/tag/data/</link>
	<description>Life in real, complex and digital.</description>
	<lastBuildDate>Thu, 05 May 2011 06:23:35 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>Taiwanese fuel subsidy and the Global Price API</title>
		<link>https://gergely.imreh.net/blog/2011/05/taiwanese-fuel-subsidy-and-the-global-price-api/</link>
					<comments>https://gergely.imreh.net/blog/2011/05/taiwanese-fuel-subsidy-and-the-global-price-api/#respond</comments>
		
		<dc:creator><![CDATA[Gergely Imreh]]></dc:creator>
		<pubDate>Thu, 05 May 2011 05:57:43 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Taiwan]]></category>
		<category><![CDATA[data]]></category>
		<guid isPermaLink="false">http://gergely.imreh.net/blog/?p=280</guid>

					<description><![CDATA[<p>I might have gone a bit overboard with this. Again. It all started when I was reading how the Taiwanese government is planning to implement a fuel subsidy. It bothered me because: I&#8217;m not a big fan of subsidies, since then people cannot make decisions based on the real cost of things Subsidy comes out [&#8230;]</p>
<p>The post <a href="https://gergely.imreh.net/blog/2011/05/taiwanese-fuel-subsidy-and-the-global-price-api/">Taiwanese fuel subsidy and the Global Price API</a> appeared first on <a href="https://gergely.imreh.net/blog">ClickedyClick</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><script src="/js/highcharts/highcharts.js" type="text/javascript"></script><script src="/js/fuelprice.js" type="text/javascript"></script>I might have gone a bit overboard with this. Again. It all started when I was reading how the <a title="TaiwanNews: Fuel subsidy aims to mitigate impact of rising oil prices" href="http://www.taipeitimes.com/News/taiwan/archives/2011/04/29/2003501977" target="_blank">Taiwanese government is planning to implement a fuel subsid</a>y. It bothered me because:<script src="/js/highcharts/highcharts.js" type="text/javascript"></script></p>
<ol>
<li>I&#8217;m not a big fan of subsidies, since then people cannot make decisions based on the real cost of things</li>
<li>Subsidy comes out of someone&#8217;s pocket anyway, so ultimately everyone does pay for it</li>
<li>Looking at the <a title="KMT on wikipedia" href="http://en.wikipedia.org/wiki/Kuomintang" target="_blank">governing party</a>&#8216;s track record and the nearing elections (&lt;1 year), this is likely to be politically motivated</li>
<li>Fuel is pretty cheap compared to other places already, so it must be already heavily subsidized.</li>
</ol>
<p>The points 1, 2 and 3 are opinions and generalizations. I had to realize that point 4 I just thrown in there without knowing whether it is really true &#8211; I just believed it is. Now here&#8217;s a good example for [Citation needed].</p>
<figure style="width: 500px" class="wp-caption aligncenter"><a href="http://xkcd.com/285/"><img fetchpriority="high" decoding="async" title="Wikipedia Protester" src="http://imgs.xkcd.com/comics/wikipedian_protester.png" alt="XKCD: wikipedia protester" width="500" height="271" /></a><figcaption class="wp-caption-text">XKCD: Wikipedia protester</figcaption></figure>
<h3>Filling in the blanks</h3>
<p>Yeah, what do I really know? I lived in Hungary and Britain before, and I remember there fuel was more expensive then in Taiwan. Also, it&#8217;s open knowledge that the US is pretty cheap, compared to most of the world, that is&#8230; But are there any patterns in the price, and what would I expect Taiwan&#8217;s level to be?</p>
<p>I was checking around for a while, fishing for the right keywords for the search (&#8220;fuel&#8221; / &#8220;petrol&#8221; / &#8220;gas&#8221;, depending where one&#8217;s from, as a starter). Found a couple of sites but they were mostly looking at price comparisons within a country (like <a title="Petrolprices website" href="http://www.petrolprices.com/" target="_blank">Petrolprices</a> for UK) or within a region (like <a title="AMZS website for European fuel prices" href="http://www.amzs.si/?podrocje=415" target="_blank">AMZS</a> for Europe, works weird &#8211; no real static link, click the UK flag then &#8220;fuel prices&#8221; in the menu on the left). After a while, however, I did come across a German organization, <a title="GIZ website" href="http://www.giz.de/" target="_blank">Deutsche Gesellschaft für Internationale Zusammenarbeit (GIZ)</a> which in fact had a <a title="GIZ: International fuel prices" href="http://www.gtz.de/en/themen/29957.htm" target="_blank">study about international fuel prices</a>. Go ahead and check the 2009 version, it is very interesting to see all that data and some analysis as well. Historical trends, relative prices, some case studies too. I would have loved to see more analysis, but maybe next time, when I&#8217;ll be in the in a position to commission such research. :)</p>
<p>Anyway, looking at the Taiwanese data in from 2009, diesel is slightly subsidized while gasoline is, which means that they are somewhat &#8211; but not too much &#8211; below and above the US price, respectively. In the ranking, Taiwan is very much on the cheap end.</p>
<p>While looking around a bit more on their site, they have a <a title="Fuel prices data preview for 2010/2011" href="http://www.gtz.de/en/themen/33729.htm" target="_blank">Data preview for 2010/2011</a> as well. The more recent is the data the better. Took a look at that too. Now Taiwan is a bit above of the US price with both types of fuel, but still on the cheap end. All their data was in a picture, though, that&#8217;s not very handy&#8230; So did a little data entry, resulting in this <a title="Fuel data txt" href="https://github.com/imrehg/fuel/raw/master/fuel.txt" target="_blank">datafile</a>.</p>
<p>I was also thinking, whether the economy affects the prices, and if does then how? Wikipedia first for <a title="Wikipedia: GDP / capita" href="http://en.wikipedia.org/wiki/List_of_countries_by_GDP_(nominal)_per_capita" target="_blank">GDP/capita for all the countries of the world</a>, but they were taking the data from the International Monetary Fund, so let&#8217;s go to the source. I checked out their data export tool and there were quite a few more fields to choose from. I went with GDP per capita, Implied purchasing power parity, Value oil exports, Value of oil imports (these last two are good catch:). The output is <a title="IMF data of economies" href="http://imf.org/external/pubs/ft/weo/2011/01/weodata/weorept.aspx?sy=2010&amp;ey=2010&amp;ssd=1&amp;sic=1&amp;sort=subject&amp;ds=.&amp;br=1&amp;pr1.x=48&amp;pr1.y=9&amp;c=512%2C941%2C914%2C446%2C612%2C666%2C614%2C668%2C311%2C672%2C213%2C946%2C911%2C137%2C193%2C962%2C122%2C674%2C912%2C676%2C313%2C548%2C419%2C556%2C513%2C678%2C316%2C181%2C913%2C682%2C124%2C684%2C339%2C273%2C638%2C921%2C514%2C948%2C218%2C943%2C963%2C686%2C616%2C688%2C223%2C518%2C516%2C728%2C918%2C558%2C748%2C138%2C618%2C196%2C522%2C278%2C622%2C692%2C156%2C694%2C624%2C142%2C626%2C449%2C628%2C564%2C228%2C283%2C924%2C853%2C233%2C288%2C632%2C293%2C636%2C566%2C634%2C964%2C238%2C182%2C662%2C453%2C960%2C968%2C423%2C922%2C935%2C714%2C128%2C862%2C611%2C716%2C321%2C456%2C243%2C722%2C248%2C942%2C469%2C718%2C253%2C724%2C642%2C576%2C643%2C936%2C939%2C961%2C644%2C813%2C819%2C199%2C172%2C184%2C132%2C524%2C646%2C361%2C648%2C362%2C915%2C364%2C134%2C732%2C652%2C366%2C174%2C734%2C328%2C144%2C258%2C146%2C656%2C463%2C654%2C528%2C336%2C923%2C263%2C738%2C268%2C578%2C532%2C537%2C944%2C742%2C176%2C866%2C534%2C369%2C536%2C744%2C429%2C186%2C433%2C925%2C178%2C869%2C436%2C746%2C136%2C926%2C343%2C466%2C158%2C112%2C439%2C111%2C916%2C298%2C664%2C927%2C826%2C846%2C542%2C299%2C967%2C582%2C443%2C474%2C917%2C754%2C544%2C698&amp;s=NGDPDPC%2CPPPEX%2CTXGO%2CTMGO&amp;grp=0&amp;a=" target="_blank">here</a>. The bottom of the page has a download link, downloaded it into this <a title="Economy data" href="https://github.com/imrehg/fuel/raw/master/input.txt" target="_blank">file</a> without modifications.</p>
<p>Next, had to write some analysis code for the whole thing as well, converting the data into suitable database, fixing some errors in the primary database&#8217;s data formats. So in the end I had a simple little <a title="Conversion script" href="https://github.com/imrehg/fuel/blob/master/convert.py" target="_blank">script</a> that does:</p>
<ol>
<li>Clean up some of the names (some Unicode errors originally), and fixes one: I do want to convert the original &#8220;Taiwan Province of China&#8221; into &#8220;Taiwan&#8221;&#8230;</li>
<li>Fix formatting errors in the IMF  data: they used number formats of &#8220;12,345.00&#8221; instead of just &#8220;12345.00&#8221;</li>
<li>Fill missing values with &#8220;-1&#8221; so it&#8217;s easy to filter out later</li>
<li>Rank countries by fuel price, ignore countries that have missing economic data or missing price data</li>
<li>Combine all this and print out on the console</li>
</ol>
<p>(Scripts and data are shared in <a title="Fuel - git repo" href="https://github.com/imrehg/fuel" target="_blank">this git repo</a>.)</p>
<h3>Taking a look</h3>
<p>I was looking around for some useful visualizer &#8211; something that can handle this much data better then an ordinary static plot. Fortunately, <a title="Highcharts JS website" href="http://www.highcharts.com/" target="_blank">Highcharts JS</a> seems to just the right thing&#8230;</p>
<p>The first plot I wanted to reproduce is the one from GIZ&#8217;s Data preview. Let&#8217;s see how it works out:</p>
<div id="fuelrank" style="width: 540px; height: 450px; margin: 0 auto"></div>
<p>Instructions: &#8220;red&#8221;/&#8221;blue&#8221; countries are net oil exporter/importer respectively, hover over any of the lines to see which country it is, can click-and-drag zoom into area&#8230;</p>
<p>So yeah, Taiwan is down at 49 out of 161 countries, and just few net-importer (blue) countries ranking higher. Even those are mostly poor ones.</p>
<p>Now the second picture, how do fuel prices compare with GDP/capita &#8211; which I naively think to have some connection to economical power:</p>
<div id="fueleconomy" style="width: 540px; height: 450px; margin: 0 auto"></div>
<p>Instructions: note that the GDP scale is logarithmic, hover and zoom are the same as before.</p>
<p>Might be just my eyes, but it seems to me that there are two lines on this plot if one ignores the net exporter (red) countries for a second. From the middle to the right prices are increasing: the wealthier countries can pay more for the fuel. On the other hand, from the middle to the left prices are increasing again: poorer countries cannot really afford it. The cheapest (nominally) are the middle-to-poor, $1000-5000 GDP/person countries.</p>
<p><strong>Bottom line:</strong> Taiwan is there at ~$18000/¢100, and if there are indeed these lines, then Taiwan is waaaay below the wealthy country line. Based on the economy, the price should be closer to ¢150. This suggest to me that the original assessment was correct: Taiwanese fuel is cheap.</p>
<h3>Global Price API</h3>
<p>All of this data-hunting and conversion and plotting should not be this much of a pain. I have a feeling there&#8217;s need and desire for open access for such information and that transparency would help people&#8217;s decision making &#8211; whether those people are in charge or part of the public (and should be &#8220;ultimately in charge&#8221;). Of course, I&#8217;m not the only one to say this, and I&#8217;m not even a very good one making this happen &#8211; just check out <a title="Hans Rosling shows the best stats you've ever seen" href="http://www.ted.com/talks/hans_rosling_shows_the_best_stats_you_ve_ever_seen.html" target="_blank">Hans Rosling&#8217;s TED talk</a>.</p>
<p>I was thinking, how to build a globally accessible database of consumer prices? Fuel is a good choice because it&#8217;s universally needed and there are not too many kinds, one can compare apples to apples. On the other hand, there could be other items as well. Maybe recruit a few volunteers from a big bunch of countries so periodically they add more info to a database. Or fully crowdsource it, maybe even the item categories as well? Then build an interface that it can be easily queried and used by programmers and non-programmers as well. Or is there any such database already? Pitching version: <strong>&#8220;Archive.org for global price and other public data&#8221;</strong>. Not that I have a business model for this&#8230; I&#8217;m sure I&#8217;d prefer the same as <a title="SimpleGeo opens up their places data" href="http://blog.simplegeo.com/2011/04/20/open-places-data/" target="_blank">SimpleGeo</a> and completely open the data itself, but I know there are people who will still find opportunities &#8211; or make some.</p>
<p>Any thoughts on this? One selfish thought I have is that this would be lovely so I <em>never ever again</em> have to manually enter all the names of all the countries of the world. :) But I do believe there&#8217;s much more to this project.</p>
<p>The post <a href="https://gergely.imreh.net/blog/2011/05/taiwanese-fuel-subsidy-and-the-global-price-api/">Taiwanese fuel subsidy and the Global Price API</a> appeared first on <a href="https://gergely.imreh.net/blog">ClickedyClick</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://gergely.imreh.net/blog/2011/05/taiwanese-fuel-subsidy-and-the-global-price-api/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>There&#8217;s a war out there</title>
		<link>https://gergely.imreh.net/blog/2011/02/theres-a-war-out-there/</link>
					<comments>https://gergely.imreh.net/blog/2011/02/theres-a-war-out-there/#comments</comments>
		
		<dc:creator><![CDATA[Gergely Imreh]]></dc:creator>
		<pubDate>Sat, 12 Feb 2011 09:28:11 +0000</pubDate>
				<category><![CDATA[Admin]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[server]]></category>
		<guid isPermaLink="false">http://gergely.imreh.net/blog/?p=168</guid>

					<description><![CDATA[<p>Since I have set up my little Virtual Private server about two months ago, I keep reading and learning more about its administration. In particular I&#8217;m trying to make it more secure, since nobody likes data lost or their things used behind their back. I know that the Internet is a tough place. Most computer [&#8230;]</p>
<p>The post <a href="https://gergely.imreh.net/blog/2011/02/theres-a-war-out-there/">There&#8217;s a war out there</a> appeared first on <a href="https://gergely.imreh.net/blog">ClickedyClick</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Since I have set up my little Virtual Private server about two months ago, I keep reading and learning more about its administration. In particular I&#8217;m trying to make it more secure, since nobody likes data lost or their things used behind their back. I know that the Internet is a tough place. Most computer users are nicely isolated behind their routers and internal networks, nevertheless I had my freshly installed WinXP being infected in less then 5 minutes when connected to the Net. (Well, since then I don&#8217;t install anything Microsoft and first thing to take care is the security, so things are much better).</p>
<h3>Thwarting brute force attacks</h3>
<p>One of the first thing is securing the remote login access to the machine: disabling root login for SSH is always a good idea. But since I&#8217;m interested in cleverer methods, I wanted to do something more potent and general. Found this blog post about <a title="Limiting brute-force attacks with IPTables" href="http://www.thatsgeeky.com/2011/01/limiting-brute-force-attacks-with-iptables/" target="_blank">how to limit brute-force attack with iptables</a>, so I set out to implement it. The basic idea is that if another computer is trying to connect too many times in short succession, then it is likely an attack. Use the firewall to see how many connections are made in a specific time interval to the sensitive ports and if a threshold is passed then ban that host from connecting for a while. I like it and had to implement it.</p>
<p>The information on the linked page is quite detailed and very useful. Just save the current iptables rules, edit them, and then restore.</p>
<p><code lang="shell"># iptables-save &gt; myrules<br />
.... edit them rules ....<br />
# iptables-restore &lt; myrules</code></p>
<p>For remote servers one thing to be extra careful about is not to block the SSH connections completely: keep the current connection open, try to make a new connection and if you can log in, then things should be fine.</p>
<p>The only thing I have changed compare to the other site is the log level, so i can separate them better. In the following line there was originally <code>--log-level 7</code> (debug) I&#8217;m using <code>--log-level 4</code> (warning):<br />
<code>-A ATTACKED -m limit --limit 5/min -j LOG --log-prefix "IPTABLES (Rule ATTACKED): " --log-level 4</code></p>
<p>Then update the line in <code>/etc/syslog.conf</code> to:<br />
<code>kern.warning   /var/log/warnings</code></p>
<p>Of course this might vary somewhat from Linux distro to distro: the above is for my CentOS install with syslog,</p>
<h3>From the logs</h3>
<p>Well, not sure if my host was particularly busy or not &#8211; I assume it wasn&#8217;t since I don&#8217;t rank high in Google so fewer attackers would find my little &#8220;home&#8221;. Still, in the last month there&#8217;s a nice little collection of IP addresses which triggered that ATTACKED rule of the firewall.</p>
<p>Using Python I extracted the IP addresses from the logs, run them through <a title="Home page of the GeoIP Python API" href="http://www.maxmind.com/app/python" target="_blank">GeoIP Python API</a> to get their locations and fed that into the <a title="Google Maps Static API documentation" href="http://code.google.com/apis/maps/documentation/staticmaps/" target="_blank">Google Maps Static API</a>, to get this picture:</p>
<figure id="attachment_172" aria-describedby="caption-attachment-172" style="width: 500px" class="wp-caption aligncenter"><a href="http://maps.google.com/maps/api/staticmap?zoom=1&amp;size=500x300&amp;maptype=roadmap&amp;sensor=false&amp;markers=color:red|54.000000,-2.000000&amp;markers=color:red|32.061699,118.777802&amp;markers=color:red|25.666700,-100.316704&amp;markers=color:green|51.000000,9.000000&amp;markers=color:red|37.566399,126.999702&amp;markers=color:red|55.752201,37.615601&amp;markers=color:green|38.338600,43.181900&amp;markers=color:red|-12.050000,-77.050003&amp;markers=color:red|36.668301,116.997200&amp;markers=color:green|34.666698,135.500000&amp;markers=color:green|46.000000,2.000000&amp;markers=color:red|52.000000,20.000000&amp;markers=color:red|43.766701,11.250000&amp;markers=color:green|37.566399,126.999702&amp;markers=color:green|4.050300,9.700000&amp;markers=color:red|39.928902,116.388298&amp;markers=color:red|50.166698,19.433300&amp;markers=color:red|31.783300,119.966698&amp;markers=color:red|34.534199,-82.716698&amp;markers=color:red|40.054798,-75.408302&amp;markers=color:red|13.750000,100.516701&amp;markers=color:red|46.000000,25.000000&amp;markers=color:red|51.000000,9.000000&amp;markers=color:green|0.000000,0.000000&amp;markers=color:red|51.000000,9.000000&amp;markers=color:red|45.750000,126.650002&amp;markers=color:red|39.889702,115.275002&amp;markers=color:red|51.000000,9.000000&amp;markers=color:red|7.416700,-80.916702&amp;markers=color:red|44.416000,-71.984901&amp;markers=color:red|29.752300,-95.366997&amp;markers=color:blue|43.216702,27.916700&amp;markers=color:red|54.000000,-2.000000&amp;markers=color:red|-34.463299,-58.929199&amp;markers=color:red|39.928902,116.388298&amp;markers=color:red|37.566399,126.999702&amp;markers=color:red|24.143299,120.681396&amp;markers=color:red|62.000000,10.000000&amp;markers=color:green|13.750000,100.516701&amp;markers=color:red|29.107800,119.654701&amp;markers=color:red|60.000000,100.000000&amp;markers=color:red|37.566399,126.999702&amp;markers=color:red|40.000000,-4.000000&amp;markers=color:red|35.000000,105.000000&amp;markers=color:red|35.000000,105.000000&amp;markers=color:green|28.179199,113.113602&amp;markers=color:red|-6.993200,110.420303"><img decoding="async" class="size-full wp-image-172  " title="Location of attacking hosts" src="http://gergely.imreh.net/blog/wp-content/uploads/2011/02/location-of-attacking-hosts.png" alt="Location of hosts that triggered my ATTACKED iptables rules" width="500" height="300" /></a><figcaption id="caption-attachment-172" class="wp-caption-text">Location of hosts that triggered my ATTACKED iptables rules. Red: once, blue: 2-9 times, yellow: 10+ times</figcaption></figure>
<p>Altogether in about 1 month, I logged 110 ATTACKED triggers from 47 different hosts. Most of them tries only once, there was one that did 48 times. According to GeoIP database, it is from <a title="Geolocation for really bad server." href="http://www.geoiptool.com/en/?IP=212.50.29.254" target="_blank">Varna, Bulgaria</a>. Well, if there is one good thing that came out of this, that Varna actually <a title="Varna, Bulgaria on Wikipedia" href="http://en.wikipedia.org/wiki/Varna" target="_blank">looks quite good</a> and I&#8217;d be interested to visit it. :) Talk about strange my reactions to things&#8230;</p>
<p>It seems Europe and China are up to no good. Not sure if American baddies are less or just targeting mostly Americans. Might investigate the regional differences some time later. Though this is just for curiosity and fun, if I was serious, then I could set up a proper <a title="Honeypot on Wikipedia" href="http://en.wikipedia.org/wiki/Honeypot_(computing)" target="_blank">honeypot</a>.</p>
<p>Some technical notes on making this picture:</p>
<ul>
<li>GeoIP Python API looks one of the worst documented codes I&#8217;ve ever seen. I found a <a title="GeoIP Python API tutorial" href="http://www.pointlessrants.com/2010/05/python-geoip-python-geoip-cities-tutorial/" target="_blank">tutorial</a> that helped me to get the results I wanted: cities and locations, not just countries.</li>
<li>Static maps are quick, dirty and limited. Will try to figure out use the Google Map API for a proper zoomable, scrollable, annotated map. Could imagine making a heat-map of threats, or better colour-coding of the number of attempts from each IP/City.</li>
</ul>
<p>Anyways, at least there&#8217;s no sign of unauthorized entry so far, since most of these attacks are not sophisticated at all. I wonder if I&#8217;d recognize if I ever was targeted by a sophisticated attack, but that&#8217;s not something to fret over. Just keep the automated backups going and it will be all fine. :D</p>
<h4>Update:</h4>
<p>The Python script I used to get that map can be found <a title="Link to script" href="https://github.com/imrehg/scripty/blob/master/attacked/getmap.py" target="_blank">over here</a>.</p>
<p>The post <a href="https://gergely.imreh.net/blog/2011/02/theres-a-war-out-there/">There&#8217;s a war out there</a> appeared first on <a href="https://gergely.imreh.net/blog">ClickedyClick</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://gergely.imreh.net/blog/2011/02/theres-a-war-out-there/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Object Caching 6/81 objects using APC
Page Caching using Disk: Enhanced 
Lazy Loading (feed)

Served from: gergely.imreh.net @ 2026-05-02 22:41:54 by W3 Total Cache
-->