<?xml version="1.0" encoding="iso-8859-1"?>
<feed xmlns="http://www.w3.org/2005/Atom"
	xml:lang="en">
	<title>Frakkle</title>
	<subtitle>a spot on the internet</subtitle>
        <link rel="alternate" type="text/html" href="http://frakkle.com/"/>
        <link rel="self" type="application/atom+xml" href="http://frakkle.com/atom.xml"/>
	<updated>2008-06-29T02:12:21-07:00</updated>
	<author>
	<name>admin</name>
	<uri>http://frakkle.com/</uri>
	<email>mathew@lifeart.net.au</email>
	</author>
	<id>tag:frakklefrakshome,2008:frakkle</id>
	<generator uri="http://www.pivotlog.net" version="Pivot - 1.40.5: 'Dreadwind'">Pivot</generator>
	<rights>Copyright (c) 2008, Authors of Frakkle</rights>
	
	
	
	<entry>
		<title>in response to: Need Help Reducing View Calculations</title>
		<link rel="alternate" type="text/html" href="http://frakkle.com/entry/106/in_response_to_need_help_reduc" />
		<updated>2007-11-07T18:21:00-07:00</updated>
		<published>2007-11-07T18:18:00-07:00</published>
		<id>tag:frakklefrakshome,2008:frakkle.106</id>
		<link rel="related" type="text/html" href=""  />
		<summary type="text">I&amp;#39;m posting this via trackback because of a strange posting problem:  (layout is strange and missing the email field?  Yes I am using a crud browser from here... that could be it)  


I have to agree with Hernan. 


The simplest saving I can see is an extra column to save on the "run time" calculation.  This does not have to be dangerous (ie potentially different to the date column you have already)Just setup a trigger for whenever the existing date column gets updated(/inserted) to update the extra column. 


Another alternative is to use a materialised view.  On Postgres this is a manual process involving setting up a view and rules, and ig you want it always up to date, triggers again on the source table to update the materialised view whenever the data changes.  


This latter idea would be the fastest - faster than your original view by quite a margin, in fact.  You may then be able to get rid of some (all?) indexes you have already on the existing table - because they would no longer be needed. 


One thing I think would be handy that I have on my list of "when I get time" is to write some reasonably automatic code to do materialised views without the manual coding (ala Oracle).  People may use these things more if they were a bit more simple to do. 


Link to Need Help Reducing View Calculations page: http://www.justatheory.com/computers/databases/postgresql/reducing_view_calculations.html</summary>
        <content type="html" xml:lang="en" xml:base="http://frakkle.com/entry/106/in_response_to_need_help_reduc"><![CDATA[
                <p>
I&#39;m posting this via trackback because of a strange posting problem:  (layout is strange and missing the email field?  Yes I am using a crud browser from here... that could be it)  
</p>
<p>
I have to agree with Hernan. 
</p>
<p>
The simplest saving I can see is an extra column to save on the &quot;run time&quot; calculation.  This does not have to be dangerous (ie potentially different to the date column you have already)Just setup a trigger for whenever the existing date column gets updated(/inserted) to update the extra column. 
</p>
<p>
Another alternative is to use a materialised view.  On Postgres this is a manual process involving setting up a view and rules, and ig you want it always up to date, triggers again on the source table to update the materialised view whenever the data changes.  
</p>
<p>
This latter idea would be the fastest - faster than your original view by quite a margin, in fact.  You may then be able to get rid of some (all?) indexes you have already on the existing table - because they would no longer be needed. 
</p>
<p>
One thing I think would be handy that I have on my list of &quot;when I get time&quot; is to write some reasonably automatic code to do materialised views without the manual coding (ala Oracle).  People may use these things more if they were a bit more simple to do. 
</p>
<p>
Link to <em>Need Help Reducing View Calculations</em> page: <a href="http://www.justatheory.com/computers/databases/postgresql/reducing_view_calculations.html">http://www.justatheory.com/computers/databases/postgresql/reducing_view_calculations.html</a></p>
		]]></content>
		<author>
			<name>frak</name>
		</author>
	</entry>
	
	
	
	<entry>
		<title>Data Warehouse / Business Intelligence - PostgreSQL or Oracle</title>
		<link rel="alternate" type="text/html" href="http://frakkle.com/entry/105/data_warehouse__business_intel" />
		<updated>2007-06-17T16:14:00-07:00</updated>
		<published>2007-06-15T01:48:00-07:00</published>
		<id>tag:frakklefrakshome,2008:frakkle.105</id>
		<link rel="related" type="text/html" href=""  />
		<summary type="text">I&amp;#39;ve just started a new contract for a Federal department where an old grants management system is being replaced with a PostgreSQL/Java based version.  The sister project (sub project really) is a data warehouse.  The choices were Oracle or PostgreSQL (PostgreSQL was what attracted me to the contract actually) 


The argument that I have been unable to win in putting together a warehouse on PostgreSQL comes down to tool maturity - ie the risk involved in something "not proven" so it is almost certainly going to be built using Oracle Warehouse Builder and a BI tool tbd. 


I have a long history with databases, and experience with PostgreSQL that dates to the beginning of version 7, however I&amp;#39;ve never been involved in formal datawarehousing or ETL - so I can&amp;#39;t speak with the authority I would prefer ;-) 


From my research (mostly involving asking Liam at Fujitsu) Bizgres which seems to be still at the "not finished" stage, and Jasper.  I have experience in Jasper products from some time back - they looked very good then - so I can&amp;#39;t wait to try out JasperETL. 


In any case I am likely to do a parallel run of the work with OWB using Jasper/Postgres to see how they go in my own time.  I would welcome any comments on all this - particularly if they can be backed up with real-world datawarehousing projects. 


For those wondering about this blog, family illness has kept me from this for some time, unfortunately... something that is now coming to an end in a good way. 


Cheers, 


Mathew Frank (http://frakkle.com)</summary>
        <content type="html" xml:lang="en" xml:base="http://frakkle.com/entry/105/data_warehouse__business_intel"><![CDATA[
                <p>
I&#39;ve just started a new contract for a Federal department where an old grants management system is being replaced with a PostgreSQL/Java based version.  The sister project (sub project really) is a data warehouse.  The choices were Oracle or PostgreSQL (PostgreSQL was what attracted me to the contract actually) 
</p>
<p>
The argument that I have been unable to win in putting together a warehouse on PostgreSQL comes down to tool maturity - ie the risk involved in something &quot;not proven&quot; so it is almost certainly going to be built using Oracle Warehouse Builder and a BI tool tbd. 
</p>
<p>
I have a long history with databases, and experience with PostgreSQL that dates to the beginning of version 7, however I&#39;ve never been involved in formal datawarehousing or ETL - so I can&#39;t speak with the authority I would prefer ;-) 
</p>
<p>
From my research (mostly involving asking Liam at Fujitsu) Bizgres which seems to be still at the &quot;not finished&quot; stage, and Jasper.  I have experience in Jasper products from some time back - they looked very good then - so I can&#39;t wait to try out JasperETL. 
</p>
<p>
In any case I am likely to do a parallel run of the work with OWB using Jasper/Postgres to see how they go in my own time.  I would welcome any comments on all this - particularly if they can be backed up with real-world datawarehousing projects. 
</p>
<p>
For those wondering about this blog, family illness has kept me from this for some time, unfortunately... something that is now coming to an end in a good way. 
</p>
<p>
Cheers, 
</p>
<p>
Mathew Frank (<a href="http://frakkle.com/">http://frakkle.com</a>)</p>
		]]></content>
		<author>
			<name>frak</name>
		</author>
	</entry>
	
	
	
	<entry>
		<title>Finally a Keyword Competition System as I Would Build It</title>
		<link rel="alternate" type="text/html" href="http://frakkle.com/entry/104/finally_a_keyword_competition_" />
		<updated>2006-12-21T03:38:00-07:00</updated>
		<published>2006-12-21T03:38:00-07:00</published>
		<id>tag:frakklefrakshome,2008:frakkle.104</id>
		<link rel="related" type="text/html" href=""  />
		<summary type="text">With thanks to Rebecca @ seomoz for finding it - this system looks really good for people wanting more than just classic "keyword research" and really want focused business information on what is happening in the market.I highly recommend you check it out - the free vesion is very good.  Well done guys!http://www.keycompete.com/For a more complete pulling about of the service, look here:  http://feeds.feedburner.com/~r/seomoz/~3/64378835/blogdetail.phpCheers,Mathew Frank</summary>
        <content type="html" xml:lang="en" xml:base="http://frakkle.com/entry/104/finally_a_keyword_competition_"><![CDATA[
                With thanks to Rebecca @ seomoz for finding it - this system looks really good for people wanting more than just classic "keyword research" and really want focused business information on what is happening in the market.<br  /><br  />I highly recommend you check it out - the free vesion is very good.  Well done guys!<br  /><br  /><a href="http://www.keycompete.com/">http://www.keycompete.com/</a></p><br  />For a more complete pulling about of the service, look here:  <a href="http://feeds.feedburner.com/%7Er/seomoz/%7E3/64378835/blogdetail.php">http://feeds.feedburner.com/~r/seomoz/~3/64378835/blogdetail.php</a><br  /><br  />Cheers,<br  /><a href="http://frakkle.com">Mathew Frank</a>
		]]></content>
		<author>
			<name>frak</name>
		</author>
	</entry>
	
	
	
	<entry>
		<title>PHP mime_content_type() Alternative avoiding PECL and PHPCompat</title>
		<link rel="alternate" type="text/html" href="http://frakkle.com/entry/103/php_mime_content_type_alternat" />
		<updated>2006-11-15T06:17:00-07:00</updated>
		<published>2006-11-15T06:17:00-07:00</published>
		<id>tag:frakklefrakshome,2008:frakkle.103</id>
		<link rel="related" type="text/html" href=""  />
		<summary type="text">Okay - its been a long time between posts (that's code for very busy).  The following is something I came accross while installing a membership system on somebody elses server.  Aside from old PHP4, there were missing libraries...  this is the result.If mime_content_type is unavailable, and so is the PECL FileInfo library and so is the shell (in which case you are pretty annoyed by now) here is an alternative that falls back on the file extension - instead of 'magic'.I took the mime list basically and used that for the extension check.  note that unlike 'magic' file detection this will get fooled by a bad extension.  So a PDF file called file.zip will be reported as an 'application/zip' file.Like the PHP Compat library, this falls back to 'application/octet-stream'<?phpif (!function_exists('mime_content_type')) {	function mime_content_type($filename) {		$idx = strtolower(end( explode( '.', $filename )) );		$mimet = array(	'ai' =>'application/postscript',			'aif' =>'audio/x-aiff',			'aifc' =>'audio/x-aiff',			'aiff' =>'audio/x-aiff',			'asc' =>'text/plain',			'atom' =>'application/atom+xml',			'avi' =>'video/x-msvideo',			'bcpio' =>'application/x-bcpio',			'bmp' =>'image/bmp',			'cdf' =>'application/x-netcdf',			'cgm' =>'image/cgm',			'cpio' =>'application/x-cpio',			'cpt' =>'application/mac-compactpro',			'crl' =>'application/x-pkcs7-crl',			'crt' =>'application/x-x509-ca-cert',			'csh' =>'application/x-csh',			'css' =>'text/css',			'dcr' =>'application/x-director',			'dir' =>'application/x-director',			'djv' =>'image/vnd.djvu',			'djvu' =>'image/vnd.djvu',			'doc' =>'application/msword',			'dtd' =>'application/xml-dtd',			'dvi' =>'application/x-dvi',			'dxr' =>'application/x-director',			'eps' =>'application/postscript',			'etx' =>'text/x-setext',			'ez' =>'application/andrew-inset',			'gif' =>'image/gif',			'gram' =>'application/srgs',			'grxml' =>'application/srgs+xml',			'gtar' =>'application/x-gtar',			'hdf' =>'application/x-hdf',			'hqx' =>'application/mac-binhex40',			'html' =>'text/html',			'html' =>'text/html',			'ice' =>'x-conference/x-cooltalk',			'ico' =>'image/x-icon',			'ics' =>'text/calendar',			'ief' =>'image/ief',			'ifb' =>'text/calendar',			'iges' =>'model/iges',			'igs' =>'model/iges',			'jpe' =>'image/jpeg',			'jpeg' =>'image/jpeg',			'jpg' =>'image/jpeg',			'js' =>'application/x-javascript',			'kar' =>'audio/midi',			'latex' =>'application/x-latex',			'm3u' =>'audio/x-mpegurl',			'man' =>'application/x-troff-man',			'mathml' =>'application/mathml+xml',			'me' =>'application/x-troff-me',			'mesh' =>'model/mesh',			'mid' =>'audio/midi',			'midi' =>'audio/midi',			'mif' =>'application/vnd.mif',			'mov' =>'video/quicktime',			'movie' =>'video/x-sgi-movie',			'mp2' =>'audio/mpeg',			'mp3' =>'audio/mpeg',			'mpe' =>'video/mpeg',			'mpeg' =>'video/mpeg',			'mpg' =>'video/mpeg',			'mpga' =>'audio/mpeg',			'ms' =>'application/x-troff-ms',			'msh' =>'model/mesh',			'mxu m4u' =>'video/vnd.mpegurl',			'nc' =>'application/x-netcdf',			'oda' =>'application/oda',			'ogg' =>'application/ogg',			'pbm' =>'image/x-portable-bitmap',			'pdb' =>'chemical/x-pdb',			'pdf' =>'application/pdf',			'pgm' =>'image/x-portable-graymap',			'pgn' =>'application/x-chess-pgn',			'php' =>'application/x-httpd-php',			'php4' =>'application/x-httpd-php',			'php3' =>'application/x-httpd-php',			'phtml' =>'application/x-httpd-php',			'phps' =>'application/x-httpd-php-source',			'png' =>'image/png',			'pnm' =>'image/x-portable-anymap',			'ppm' =>'image/x-portable-pixmap',			'ppt' =>'application/vnd.ms-powerpoint',			'ps' =>'application/postscript',			'qt' =>'video/quicktime',			'ra' =>'audio/x-pn-realaudio',			'ram' =>'audio/x-pn-realaudio',			'ras' =>'image/x-cmu-raster',			'rdf' =>'application/rdf+xml',			'rgb' =>'image/x-rgb',			'rm' =>'application/vnd.rn-realmedia',			'roff' =>'application/x-troff',			'rtf' =>'text/rtf',			'rtx' =>'text/richtext',			'sgm' =>'text/sgml',			'sgml' =>'text/sgml',			'sh' =>'application/x-sh',			'shar' =>'application/x-shar',			'shtml' =>'text/html',			'silo' =>'model/mesh',			'sit' =>'application/x-stuffit',			'skd' =>'application/x-koan',			'skm' =>'application/x-koan',			'skp' =>'application/x-koan',			'skt' =>'application/x-koan',			'smi' =>'application/smil',			'smil' =>'application/smil',			'snd' =>'audio/basic',			'spl' =>'application/x-futuresplash',			'src' =>'application/x-wais-source',			'sv4cpio' =>'application/x-sv4cpio',			'sv4crc' =>'application/x-sv4crc',			'svg' =>'image/svg+xml',			'swf' =>'application/x-shockwave-flash',			't' =>'application/x-troff',			'tar' =>'application/x-tar',			'tcl' =>'application/x-tcl',			'tex' =>'application/x-tex',			'texi' =>'application/x-texinfo',			'texinfo' =>'application/x-texinfo',			'tgz' =>'application/x-tar',			'tif' =>'image/tiff',			'tiff' =>'image/tiff',			'tr' =>'application/x-troff',			'tsv' =>'text/tab-separated-values',			'txt' =>'text/plain',			'ustar' =>'application/x-ustar',			'vcd' =>'application/x-cdlink',			'vrml' =>'model/vrml',			'vxml' =>'application/voicexml+xml',			'wav' =>'audio/x-wav',			'wbmp' =>'image/vnd.wap.wbmp',			'wbxml' =>'application/vnd.wap.wbxml',			'wml' =>'text/vnd.wap.wml',			'wmlc' =>'application/vnd.wap.wmlc',			'wmlc' =>'application/vnd.wap.wmlc',			'wmls' =>'text/vnd.wap.wmlscript',			'wmlsc' =>'application/vnd.wap.wmlscriptc',			'wmlsc' =>'application/vnd.wap.wmlscriptc',			'wrl' =>'model/vrml',			'xbm' =>'image/x-xbitmap',			'xht' =>'application/xhtml+xml',			'xhtml' =>'application/xhtml+xml',			'xls' =>'application/vnd.ms-excel',			'xml xsl' =>'application/xml',			'xpm' =>'image/x-xpixmap',			'xslt' =>'application/xslt+xml',			'xul' =>'application/vnd.mozilla.xul+xml',			'xwd' =>'image/x-xwindowdump',			'xyz' =>'chemical/x-xyz',			'zip' =>'application/zip'		);		if (isset( $mimet[$idx] )) {			return $mimet[$idx];		} else {			return 'application/octet-stream';		}	}}?></summary>
        <content type="html" xml:lang="en" xml:base="http://frakkle.com/entry/103/php_mime_content_type_alternat"><![CDATA[
                Okay - its been a long time between posts (that's code for very busy).  The following is something I came accross while installing a membership system on somebody elses server.  Aside from old PHP4, there were missing libraries...  this is the result.<br  /><br  />If mime_content_type is unavailable, and so is the PECL FileInfo library and so is the shell (in which case you are pretty annoyed by now) here is an alternative that falls back on the file extension - instead of 'magic'.<br  /><br  />I took the mime list basically and used that for the extension check.  note that unlike 'magic' file detection this will get fooled by a bad extension.  So a PDF file called file.zip will be reported as an 'application/zip' file.<br  /><br  />Like the PHP Compat library, this falls back to 'application/octet-stream'<br  /><br  /><pre>&lt;?php<br  />if (!function_exists('mime_content_type')) {<br  />	function mime_content_type($filename) {<br  />		$idx = strtolower(end( explode( '.', $filename )) );<br  />		$mimet = array(	'ai' =&gt;'application/postscript',<br  />			'aif' =&gt;'audio/x-aiff',<br  />			'aifc' =&gt;'audio/x-aiff',<br  />			'aiff' =&gt;'audio/x-aiff',<br  />			'asc' =&gt;'text/plain',<br  />			'atom' =&gt;'application/atom+xml',<br  />			'avi' =&gt;'video/x-msvideo',<br  />			'bcpio' =&gt;'application/x-bcpio',<br  />			'bmp' =&gt;'image/bmp',<br  />			'cdf' =&gt;'application/x-netcdf',<br  />			'cgm' =&gt;'image/cgm',<br  />			'cpio' =&gt;'application/x-cpio',<br  />			'cpt' =&gt;'application/mac-compactpro',<br  />			'crl' =&gt;'application/x-pkcs7-crl',<br  />			'crt' =&gt;'application/x-x509-ca-cert',<br  />			'csh' =&gt;'application/x-csh',<br  />			'css' =&gt;'text/css',<br  />			'dcr' =&gt;'application/x-director',<br  />			'dir' =&gt;'application/x-director',<br  />			'djv' =&gt;'image/vnd.djvu',<br  />			'djvu' =&gt;'image/vnd.djvu',<br  />			'doc' =&gt;'application/msword',<br  />			'dtd' =&gt;'application/xml-dtd',<br  />			'dvi' =&gt;'application/x-dvi',<br  />			'dxr' =&gt;'application/x-director',<br  />			'eps' =&gt;'application/postscript',<br  />			'etx' =&gt;'text/x-setext',<br  />			'ez' =&gt;'application/andrew-inset',<br  />			'gif' =&gt;'image/gif',<br  />			'gram' =&gt;'application/srgs',<br  />			'grxml' =&gt;'application/srgs+xml',<br  />			'gtar' =&gt;'application/x-gtar',<br  />			'hdf' =&gt;'application/x-hdf',<br  />			'hqx' =&gt;'application/mac-binhex40',<br  />			'html' =&gt;'text/html',<br  />			'html' =&gt;'text/html',<br  />			'ice' =&gt;'x-conference/x-cooltalk',<br  />			'ico' =&gt;'image/x-icon',<br  />			'ics' =&gt;'text/calendar',<br  />			'ief' =&gt;'image/ief',<br  />			'ifb' =&gt;'text/calendar',<br  />			'iges' =&gt;'model/iges',<br  />			'igs' =&gt;'model/iges',<br  />			'jpe' =&gt;'image/jpeg',<br  />			'jpeg' =&gt;'image/jpeg',<br  />			'jpg' =&gt;'image/jpeg',<br  />			'js' =&gt;'application/x-javascript',<br  />			'kar' =&gt;'audio/midi',<br  />			'latex' =&gt;'application/x-latex',<br  />			'm3u' =&gt;'audio/x-mpegurl',<br  />			'man' =&gt;'application/x-troff-man',<br  />			'mathml' =&gt;'application/mathml+xml',<br  />			'me' =&gt;'application/x-troff-me',<br  />			'mesh' =&gt;'model/mesh',<br  />			'mid' =&gt;'audio/midi',<br  />			'midi' =&gt;'audio/midi',<br  />			'mif' =&gt;'application/vnd.mif',<br  />			'mov' =&gt;'video/quicktime',<br  />			'movie' =&gt;'video/x-sgi-movie',<br  />			'mp2' =&gt;'audio/mpeg',<br  />			'mp3' =&gt;'audio/mpeg',<br  />			'mpe' =&gt;'video/mpeg',<br  />			'mpeg' =&gt;'video/mpeg',<br  />			'mpg' =&gt;'video/mpeg',<br  />			'mpga' =&gt;'audio/mpeg',<br  />			'ms' =&gt;'application/x-troff-ms',<br  />			'msh' =&gt;'model/mesh',<br  />			'mxu m4u' =&gt;'video/vnd.mpegurl',<br  />			'nc' =&gt;'application/x-netcdf',<br  />			'oda' =&gt;'application/oda',<br  />			'ogg' =&gt;'application/ogg',<br  />			'pbm' =&gt;'image/x-portable-bitmap',<br  />			'pdb' =&gt;'chemical/x-pdb',<br  />			'pdf' =&gt;'application/pdf',<br  />			'pgm' =&gt;'image/x-portable-graymap',<br  />			'pgn' =&gt;'application/x-chess-pgn',<br  />			'php' =&gt;'application/x-httpd-php',<br  />			'php4' =&gt;'application/x-httpd-php',<br  />			'php3' =&gt;'application/x-httpd-php',<br  />			'phtml' =&gt;'application/x-httpd-php',<br  />			'phps' =&gt;'application/x-httpd-php-source',<br  />			'png' =&gt;'image/png',<br  />			'pnm' =&gt;'image/x-portable-anymap',<br  />			'ppm' =&gt;'image/x-portable-pixmap',<br  />			'ppt' =&gt;'application/vnd.ms-powerpoint',<br  />			'ps' =&gt;'application/postscript',<br  />			'qt' =&gt;'video/quicktime',<br  />			'ra' =&gt;'audio/x-pn-realaudio',<br  />			'ram' =&gt;'audio/x-pn-realaudio',<br  />			'ras' =&gt;'image/x-cmu-raster',<br  />			'rdf' =&gt;'application/rdf+xml',<br  />			'rgb' =&gt;'image/x-rgb',<br  />			'rm' =&gt;'application/vnd.rn-realmedia',<br  />			'roff' =&gt;'application/x-troff',<br  />			'rtf' =&gt;'text/rtf',<br  />			'rtx' =&gt;'text/richtext',<br  />			'sgm' =&gt;'text/sgml',<br  />			'sgml' =&gt;'text/sgml',<br  />			'sh' =&gt;'application/x-sh',<br  />			'shar' =&gt;'application/x-shar',<br  />			'shtml' =&gt;'text/html',<br  />			'silo' =&gt;'model/mesh',<br  />			'sit' =&gt;'application/x-stuffit',<br  />			'skd' =&gt;'application/x-koan',<br  />			'skm' =&gt;'application/x-koan',<br  />			'skp' =&gt;'application/x-koan',<br  />			'skt' =&gt;'application/x-koan',<br  />			'smi' =&gt;'application/smil',<br  />			'smil' =&gt;'application/smil',<br  />			'snd' =&gt;'audio/basic',<br  />			'spl' =&gt;'application/x-futuresplash',<br  />			'src' =&gt;'application/x-wais-source',<br  />			'sv4cpio' =&gt;'application/x-sv4cpio',<br  />			'sv4crc' =&gt;'application/x-sv4crc',<br  />			'svg' =&gt;'image/svg+xml',<br  />			'swf' =&gt;'application/x-shockwave-flash',<br  />			't' =&gt;'application/x-troff',<br  />			'tar' =&gt;'application/x-tar',<br  />			'tcl' =&gt;'application/x-tcl',<br  />			'tex' =&gt;'application/x-tex',<br  />			'texi' =&gt;'application/x-texinfo',<br  />			'texinfo' =&gt;'application/x-texinfo',<br  />			'tgz' =&gt;'application/x-tar',<br  />			'tif' =&gt;'image/tiff',<br  />			'tiff' =&gt;'image/tiff',<br  />			'tr' =&gt;'application/x-troff',<br  />			'tsv' =&gt;'text/tab-separated-values',<br  />			'txt' =&gt;'text/plain',<br  />			'ustar' =&gt;'application/x-ustar',<br  />			'vcd' =&gt;'application/x-cdlink',<br  />			'vrml' =&gt;'model/vrml',<br  />			'vxml' =&gt;'application/voicexml+xml',<br  />			'wav' =&gt;'audio/x-wav',<br  />			'wbmp' =&gt;'image/vnd.wap.wbmp',<br  />			'wbxml' =&gt;'application/vnd.wap.wbxml',<br  />			'wml' =&gt;'text/vnd.wap.wml',<br  />			'wmlc' =&gt;'application/vnd.wap.wmlc',<br  />			'wmlc' =&gt;'application/vnd.wap.wmlc',<br  />			'wmls' =&gt;'text/vnd.wap.wmlscript',<br  />			'wmlsc' =&gt;'application/vnd.wap.wmlscriptc',<br  />			'wmlsc' =&gt;'application/vnd.wap.wmlscriptc',<br  />			'wrl' =&gt;'model/vrml',<br  />			'xbm' =&gt;'image/x-xbitmap',<br  />			'xht' =&gt;'application/xhtml+xml',<br  />			'xhtml' =&gt;'application/xhtml+xml',<br  />			'xls' =&gt;'application/vnd.ms-excel',<br  />			'xml xsl' =&gt;'application/xml',<br  />			'xpm' =&gt;'image/x-xpixmap',<br  />			'xslt' =&gt;'application/xslt+xml',<br  />			'xul' =&gt;'application/vnd.mozilla.xul+xml',<br  />			'xwd' =&gt;'image/x-xwindowdump',<br  />			'xyz' =&gt;'chemical/x-xyz',<br  />			'zip' =&gt;'application/zip'<br  />		);<br  /><br  />		if (isset( $mimet[$idx] )) {<br  />			return $mimet[$idx];<br  />		} else {<br  />			return 'application/octet-stream';<br  />		}<br  />	}<br  />}<br  />?&gt;</pre>
		]]></content>
		<author>
			<name>frak</name>
		</author>
	</entry>
	
	
	
	<entry>
		<title>Internet Marketers Only Social Bookmarking Service</title>
		<link rel="alternate" type="text/html" href="http://frakkle.com/entry/102/internet_marketers_only_social" />
		<updated>2006-08-20T05:52:00-07:00</updated>
		<published>2006-08-20T05:52:00-07:00</published>
		<id>tag:frakklefrakshome,2008:frakkle.102</id>
		<link rel="related" type="text/html" href=""  />
		<summary type="text">Having been reading the Buttefly Marketing book (get it 40% off standard price here) I've setup an experiment using a domain I've had kicking around for ages.

I've combined the features of delicious, digg, and technorati into a
social tagging system for internet marketers only.  It sort of
stumped me that such a thing has not been done until now, really.

In any case I hope this system is able to grow into a useful resource
as more people start putting their bookmarks into it.  I'd love
for you to check it out.

copywriting-etc.com

technical details:  I started with code from scuttle that
had been modified with a digg voting system, and inserted technorati
using the pear library.  It's written in PHP.

tags: butterfly marketing viral marketing social marketing tag and ping  copywriting-etc.com scuttle digg del.icio.us technorati pear</summary>
        <content type="html" xml:lang="en" xml:base="http://frakkle.com/entry/102/internet_marketers_only_social"><![CDATA[
                Having been reading the Buttefly Marketing book (<a href="http://frakkle.com/entry/100/40_off_mike_filsaimes_butterfl">get it 40% off standard price here</a>) I've setup an experiment using a domain I've had kicking around for ages.<br  />
<br  />
I've combined the features of delicious, digg, and technorati into a
social tagging system for internet marketers only.  It sort of
stumped me that such a thing has not been done until now, really.<br  />
<br  />
In any case I hope this system is able to grow into a useful resource
as more people start putting their bookmarks into it.  I'd love
for you to check it out.<br  />
<br  />
<a href="http://copywriting-etc.com">copywriting-etc.com</a><br  />
<br  />
<b>technical details: </b> I started with code from scuttle that
had been modified with a digg voting system, and inserted technorati
using the pear library.  It's written in PHP.<br  />
<br  />
tags: <a href="http://copywriting-etc.com/tags/butterfly+marketing" rel="tag">butterfly marketing</a> <a href="http://copywriting-etc.com/tags/viral+marketing" rel="tag">viral marketing</a> <a href="http://copywriting-etc.com/" rel="tag">social marketing</a> <a href="http://copywriting-etc.com/tags/tag+and+ping" rel="tag">tag and ping</a>  <a href="http://copywriting-etc.com/" rel="tag">copywriting-etc.com</a> <a href="http://copywriting-etc.com/" rel="tag">scuttle</a> <a href="http://copywriting-etc.com/" rel="tag">digg</a> <a href="http://copywriting-etc.com/" rel="tag">del.icio.us</a> <a href="http://copywriting-etc.com/" rel="tag">technorati</a> <a href="http://copywriting-etc.com/" rel="tag">pear</a>
		]]></content>
		<author>
			<name>frak</name>
		</author>
	</entry>
	
	
	
	<entry>
		<title>interesting</title>
		<link rel="alternate" type="text/html" href="http://frakkle.com/entry/63/interesting" />
		<updated>2005-10-13T03:38:00-07:00</updated>
		<published>2005-10-13T03:38:00-07:00</published>
		<id>tag:frakklefrakshome,2008:frakkle.63</id>
		<link rel="related" type="text/html" href=""  />
		<summary type="text">Human-Anatomy Pictures</summary>
        <content type="html" xml:lang="en" xml:base="http://frakkle.com/entry/63/interesting"><![CDATA[
                <p><a href="http://www.human-anatomy.net">Human-Anatomy Pictures</a></p>
		]]></content>
		<author>
			<name>frak</name>
		</author>
	</entry>
	
	
	
	<entry>
		<title>Links</title>
		<link rel="alternate" type="text/html" href="http://frakkle.com/entry/53/links" />
		<updated>2005-09-18T12:44:00-07:00</updated>
		<published>2005-09-18T12:40:00-07:00</published>
		<id>tag:frakklefrakshome,2008:frakkle.53</id>
		<link rel="related" type="text/html" href=""  />
		<summary type="text">Powersite Web CMS Design</summary>
        <content type="html" xml:lang="en" xml:base="http://frakkle.com/entry/53/links"><![CDATA[
                <a href="http://powersitesystem.com">Powersite Web CMS Design</a></p>
		]]></content>
		<author>
			<name>frak</name>
		</author>
	</entry>
	
	
	
	<entry>
		<title>Linkdump</title>
		<link rel="alternate" type="text/html" href="http://frakkle.com/entry/3/linkdump" />
		<updated>2005-01-12T05:55:00-07:00</updated>
		<published>2004-01-30T21:25:00-07:00</published>
		<id>tag:frakklefrakshome,2008:frakkle.3</id>
		<link rel="related" type="text/html" href=""  />
		<summary type="text">Dr Mani</summary>
        <content type="html" xml:lang="en" xml:base="http://frakkle.com/entry/3/linkdump"><![CDATA[
                <a href="http://www.ezinemarketingcenter.com/blog/">Dr Mani</a>
		]]></content>
		<author>
			<name>bob</name>
		</author>
	</entry>
	
	
	
</feed>
