<?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></title>
	<atom:link href="http://meshfields.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://meshfields.de</link>
	<description>Portfolio and Blog about Web design and IT</description>
	<lastBuildDate>Thu, 26 Aug 2010 15:39:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Yahoo! Search is now Bing.</title>
		<link>http://meshfields.de/yahoo-search-is-now-bing/</link>
		<comments>http://meshfields.de/yahoo-search-is-now-bing/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 11:26:29 +0000</pubDate>
		<dc:creator>Stephan Kristyn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bing]]></category>
		<category><![CDATA[geocities]]></category>
		<category><![CDATA[jerry yang]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://meshfields.de/?p=749</guid>
		<description><![CDATA[Everybody knows the hip company with the exclamation mark. But only a few know that it was one of the first companies, if not the first company who proposed to search on the Internet. Basically, the original Yahoo Web service &#8230; <a href="http://meshfields.de/yahoo-search-is-now-bing/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Everybody knows the hip company with the exclamation mark. But only a few know that it was one of the first companies, if not <em>the</em> first company who proposed to search on the Internet. Basically, the <a href="http://3.ly/9yQY" target="_blank">original Yahoo Web service</a> searched their own indexed catalogue; a compiled link list founded by Jerry Yang and David Filo. It&#8217;s one of those success stories like that of Bill Gates&#8217; or Steve Jobs&#8217; StartUp in beginning from their garages.<span id="more-749"></span></p>
<p>Yahoo! went public in 1996, two years after the firm was founded, whose name is an acronym of a strange wording <em><em>Yet Another</em> Hierarchical <em>Officious Oracle</em></em>. What was then a firm with 40 employees became one of the biggest Internet companies before and after the Dot Com Bubble Burst on March 10, 2000. Names like Hotmail, GeoCities or AOL were all more or less involved in the crash. Yahoo for e.g. bought GeoCities for an enormous amount of $3.57 billion, while GeoCities actually made a loss of $8 million. What could have been an early Facebook, was in fact destroyed by unpopular traffic limits and a change in the URL naming structure. Users were abandoning the new GeoCities. Yahoo finally closed GeoCities in 2009. The <a href="http://www.archive.org/web/geocities.php" target="_blank">Internet Archive</a> started saving GeoCities pages before the shutdown because &#8220;GeoCities was an important outlet for personal expression on the Web for almost 15 years [..]&#8220;. I remember very well publishing my first web pages to GeoCities, who doesn&#8217;t?</p>
<p>Not all acquisitions of Yahoo! turned out to be unprofitable. Yahoo! acquired Oddpost who pioneered the use of JavaScript to mimic a desktop application. This technology, later named Ajax by a blogger named <a href="http://ajaxian.com/" target="_blank">Ajaxian</a> was implemented into the service which is today known as Yahoo! Mail. Google made extensive use of these concepts which are for e.g. enabling drag and drop within a browser or fetching data stored on Google Computers without reloading the browser.</p>
<p>Yahoo! also acquired eGroups in 2000 for almost $0.5 billion. eGroups initially turned down an Excite offer in 1998 for $40 million and accomplished to grow its business significantly due the course of only two years. Their services are today better known as <a href="http://groups.yahoo.com/" target="_blank">Yahoo Groups</a>. Other great Web Sites in Yahoo!&#8217;s extensive portfolio include <a href="http://www.delicious.com/" target="_blank">Delicious</a>, <a href="http://shine.yahoo.com/" target="_blank">Shine</a>, <a href="http://research.yahoo.com/" target="_blank">Research</a> or of course the popular image community <a href="http://www.flickr.com" target="_blank">Flickr</a>.</p>
<p>In late 2008 after immense pressure of Yahoo!&#8217;s stockholders Jerry Yang stepped down as CEO of Yahoo!. His actions were criticized when Yahoo! was on the verge to be taken over by Microsoft for $40 billion. Carol Bartz, former CEO of Autodesk which produces the industry standard software AutoCAD was nominated, as the new Executive Officer of Yahoo!. She managed to give Yahoo! a complete <a href="http://news.bbc.co.uk/2/hi/technology/8160343.stm" target="_blank">visual overhaul</a> in 2009. The company today has an US market share of 17% in display advertising and its newly declared vision is to be in the center of the people&#8217;s social live. Consequently in recent years Yahoo! services became available on the Apple iPhone, on Android mobile devices via HTML5 browser technology or on Sony Bravia TV&#8217;s via a service called <a href="http://connectedtv.yahoo.com/partners/sony/" target="_blank">Yahoo! Connected TV</a>. In spite of the trend to isolate yourself from the competition, Yahoo! integrated Facebook, Twitter or Ebay on its frontpage, which follows a long tradition of opening sources to competitors (Search Monkey) or substantial contributions to open source software like the JavaScript language by <a href="http://yuiblog.com/crockford/" target="_blank">Douglas Crockford</a> or the free <a href="http://developer.yahoo.com/yui/" target="_blank">Yahoo! User Interface Library</a>.</p>
<p>Yesterday, under the reign of Carol Bartz Yahoo! successfully <a href="http://www.ysearchblog.com/2010/08/24/yahoo-transitions-organic-search-back-end-to-microsoft-platform/" target="_blank">merged its search engine</a> operations in the US and Canada with Microsoft Bing. This marks the end of an era, that was basically invented by Yahoo! 15 years ago. The era of Web 1.0 and the classic Web surfer.</p>
<p>I&#8217;m excited to watch where Yahoo! will take the Web over the next few years.</p>
]]></content:encoded>
			<wfw:commentRss>http://meshfields.de/yahoo-search-is-now-bing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Install Magento on Unix with mcrypt</title>
		<link>http://meshfields.de/install-magento-on-unix/</link>
		<comments>http://meshfields.de/install-magento-on-unix/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 09:21:37 +0000</pubDate>
		<dc:creator>Stephan Kristyn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[ecommerce]]></category>
		<category><![CDATA[hosts]]></category>
		<category><![CDATA[macosx]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[mcrypt]]></category>
		<category><![CDATA[mcrypt.so]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php.ini]]></category>
		<category><![CDATA[shop]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://meshfields.de/?p=700</guid>
		<description><![CDATA[Hopefully this guide will shrink the 3 hours I needed for the install down to half an hour for you. One of the problems I faced was that I had to inject mcrypt into an already installed php installation. But &#8230; <a href="http://meshfields.de/install-magento-on-unix/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hopefully this guide will shrink the 3 hours I needed for the install down to half an hour for you. One of the problems I faced was that I had to inject mcrypt into an already installed php installation. But more on that later.<span id="more-700"></span><br />
&nbsp;<br />
<a style="border:none" href="http://www.magentocommerce.com" target="_blank"><img src="http://meshfields.de/wp-content/uploads/2010/07/Bildschirmfoto-2010-07-13-um-08.04.36.png" alt="" title="magento_logo" width="182" height="58" class="alignnone size-full wp-image-712" /></a></p>
<p>In the following tutorial you need quite a bit bash experience and know your way around in a shell editor like vi or nano. I also assume that you have a working apache, php and some SQL Server installed.</p>
<p>Let&#8217;s begin!</p>
<p>- Create hostfile entry for your online shop in /etc/hosts, for e.g.<br />
&nbsp;</p>
<pre><code class="html">127.0.0.1 beta.shop.com</code></pre>
<p>- Create empty magento Database in your SQL server.<br />
- Grant your user rights to that database. This would be the syntax in MySQL:<br />
&nbsp;</p>
<pre><code class="mysql">mysql&gt; grant all privileges on data-base-name.* to username@localhost;</code></pre>
<p>- After receiving a <em>Query OK</em> import the <a href="http://www.magentocommerce.com/download" target="_blank">Magento Sample Database</a><br />
&nbsp;</p>
<pre><code class="mysql">mysql -u username -p -h localhost data-base-name &lt; data.sql</code></pre>
<p>- Unzip Magento into your chosen local Directory. You can define that directory in apache2 in your httpd-vhosts.conf file with<br />
&nbsp;</p>
<pre><code class="html">sudo vi /private/etc/apache2/extra/httpd-vhosts.conf</code></pre>
<p>Then add a VirtualHost section like in the file&#8217;s example with these important directives:<br />
&nbsp;</p>
<pre><code class="html">DocumentRoot "/Users/username/Sites/magentoDir/"
ServerAlias beta.shop.com</code></pre>
<p>- Now, the tricky part that I mentioned earlier. In order to install the mcrypt.so module into an already running php installation, we have to do some steps. The following guide will work on MacOSX 10.5 and 10.6 with any newer versions of PHP5. Make sure to have XCode installed by Apple, because we need its developer SDK when compiling mcrypt. Most of the credits of the following tutorial go to <a href="http://michaelgracie.com/2009/09/23/plugging-mcrypt-into-php-on-mac-os-x-snow-leopard-10.6.1/" target="_blank">Michael</a>.</p>
<p>- get libmcrypt-2.5.8, which you can pick up <a href="http://sourceforge.net/projects/mcrypt/files/" target="_blank">here</a>; Note: make sure to get libmcrypt and not mcrypt.</p>
<p>- Get the PHP 5.3.0 source, which you grab <a href="http://us.php.net/get/php-5.3.0.tar.gz/from/a/mirror" target="_blank">here</a>. Next, create a directory in your root directory called ‘SourceCache’ and dump the packages in there and unzip.<br />
- Move to the libmcrypt-2.5.8 directory, and punch in this:<br />
&nbsp;</p>
<pre><code class="js">MACOSX_DEPLOYMENT_TARGET=10.6 CFLAGS='-O3 -fno-common -arch i386 -arch x86_64' LDFLAGS='-O3 -arch i386 -arch x86_64' CXXFLAGS='-O3 -fno-common -arch i386 -arch x86_64' ./configure --disable-dependency-tracking</code></pre>
<p>and then <em>make -j6</em> and finally <em>sudo make install</em></p>
<p>libmcrypt is ready. Now for the PHP extension move back to /SourceCache, then down to <em>php-5.3.0/ext/mcrypt</em> and type <em>/usr/bin/phpize </em>. Then configure as follows:<br />
&nbsp;</p>
<pre><code class="js">MACOSX_DEPLOYMENT_TARGET=10.6 CFLAGS='-O3 -fno-common -arch i386 -arch x86_64' LDFLAGS='-O3 -arch i386 -arch x86_64' CXXFLAGS='-O3 -fno-common -arch i386 -arch x86_64' ./configure --with-php-config=/Developer/SDKs/MacOSX10.6.sdk/usr/bin/php-config</code></pre>
<p>Again <em>make -j6</em> then <em>sudo make install</em></p>
<p>Make sure you have php.ini in the /etc directory. It will probably be php.ini.default to start, particularly if you’ve just done the Snow Leopard upgrade, so rename it with <em>cp</em> or <em>mv</em>. Ensure that you have <em>enable_dl = On</em> but do not remove the ; in front of ;extension_dir = &#8220;./&#8221;. Add one line to the .ini file in the Dynamic Extensions section. <em>extension=mcrypt.so</em>. Also comment out the line that contains /var/mysql/mysql.sock or change the path to /tmp/mysql.sock. The default mysql.sock location in the php.ini.default file is a bug. </p>
<p>Restart Apache and get yourself a Coffee, you deserved it if you came this far <img src='http://meshfields.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
<p>- For the Install script in the next step to run without problems, we have to grant the script some rights. I would not recommend this on a production server without precaution, but in your demo environment it should be fine to recursively set your magento directory&#8217;s file permissions to rwx for everyone with <em>sudo chmod -R 777 magentoDir</em></p>
<p>If the following magento install runs through without any problems, you successfully compiled mcrypt into php.</p>
<p>- Open the URL to run the magento install script, for e.g.<br />
&nbsp;</p>
<pre><code class="html">http://beta.shop.com</code></pre>
<p> or if you did not set up apache properly<br />
&nbsp;</p>
<pre><code class="html">http://beta.shop.com/username/magentodirectory </code></pre>
<p>- Installation should run through just fine. Finally copy the sample data from the Magento Sample Zip Package over into the media folder. Congratulations!<br />
&nbsp;<br />
This is what I get:<br />
&nbsp;<br />
<a style="border:none" href="http://meshfields.de/wp-content/uploads/2010/07/Bildschirmfoto-2010-07-13-um-11.18.55.png"><img src="http://meshfields.de/wp-content/uploads/2010/07/Bildschirmfoto-2010-07-13-um-11.18.55-300x265.png" alt="" title="Magento Screenshot" width="300" height="265" class="size-medium wp-image-711" /></a></p>
<div class="sources">Sources:<br />
<a href="http://blog.markhopwood.com/2010/02/22/installing-magento-enterprise-stand-alone-on-os-x/" target="_blank">http://blog.markhopwood.com/2010/02/22/installing-magento-enterprise-stand-alone-on-os-x/</a><br />
<a href="http://michaelgracie.com/2009/09/23/plugging-mcrypt-into-php-on-mac-os-x-snow-leopard-10.6.1/" target="_blank">http://michaelgracie.com/2009/09/23/plugging-mcrypt-into-php-on-mac-os-x-snow-leopard-10.6.1/ </a><br />
<a href="http://michaelgracie.com/2009/09/23/plugging-mcrypt-into-php-on-mac-os-x-snow-leopard-10.6.1/" target="_blank"></a></div>
]]></content:encoded>
			<wfw:commentRss>http://meshfields.de/install-magento-on-unix/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Syntax highlight WordPress with Chili</title>
		<link>http://meshfields.de/syntax-highlight-wordpress-with-chili/</link>
		<comments>http://meshfields.de/syntax-highlight-wordpress-with-chili/#comments</comments>
		<pubDate>Sun, 06 Jun 2010 00:37:27 +0000</pubDate>
		<dc:creator>Stephan Kristyn</dc:creator>
				<category><![CDATA[chili]]></category>
		<category><![CDATA[cross-domain]]></category>
		<category><![CDATA[highlighting]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[syntax]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wp-chili]]></category>

		<guid isPermaLink="false">http://meshfields.de/blog/?p=548</guid>
		<description><![CDATA[I recently had some trouble getting wp-chili syntax highlighting working in my WordPress blog. I use the Apache Module mod_rewrite and basically have 4 domains for this blog. With and without the subdomain blog. in front and with .de and .com as &#8230; <a href="http://meshfields.de/syntax-highlight-wordpress-with-chili/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I recently had some trouble getting wp-chili syntax highlighting working in my WordPress blog. I use the Apache Module <em><a href="http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html">mod_rewrite</a> </em>and basically have 4 domains for this blog. With and without the subdomain <em>blog.</em> in front and with <em>.de</em> and <em>.com</em> as TLD in the end.<br />
<span id="more-548"></span><br />
Some developers over at the Google Code <a href="http://code.google.com/p/jquery-chili-js/issues/detail?id=3">Projekt Page of wp-chili</a> discovered that the latest patch for chili 2.2 of March 2010 changes JSON to AJAX calls. Consequently cross domain functionality in wp-chili has been broken.<br />
&nbsp;<br />
Let&#8217;s change that php file to make this sweet syntax highlighting plugin work cross domain. Let&#8217;s take a look at the wp-chili.php file:<br />
&nbsp;</p>
<pre><code class="php">$wpchili_url = get_bloginfo('wpurl').'/wp-content/plugins/wp-chili';</code></pre>
<p><em>get_bloginfo</em> is a <a href="http://codex.wordpress.org/Function_Reference/get_bloginfo">php function</a> of WordPress that retrieves your blog domain if you pass the <em>wpurl </em>parameter. The function looks into your <em>static</em> WordPress settings to retrieve this info. Even though this is <em>dynamic</em> enough for most purposes, it does not suit Apache or IIS rewrites. However we won&#8217;t change this line, because if we did, we would break JavaScript linkage to jquery.chili-2.2.js. We better implement a dynamic domain name retrieval using PHP a few lines farther down in the file; inside the script tag.</p>
<p>Find this method:<br />
&nbsp;</p>
<pre><code class="php">ChiliBook.recipeFolder
</code></pre>
<p>And change the string assigned to the method from<br />
&nbsp;</p>
<pre><code class="php">echo $wpchili_url;
</code></pre>
<p>to<br />
&nbsp;</p>
<pre><code class="php">echo $_SERVER['HTTP_HOST']</code></pre>
<p>Don&#8217;t forget to complete your path to chili before and after above variable.<br />
&nbsp;<br />
Unfortunately Chili has many other problems. Make sure you did include all the script tags in the head, like linkage to recipes.js or jquery.chili-2.2.js. Usually the WordPress Codex function wp_head() takes care of this.<br />
&nbsp;<br />
Finally this blog displays syntax highlighting correctly on all subdomains and TLDs. First I thought this was a browser issue. Foolish me, since most of the time it&#8217;s rather a developer&#8217;s issue.<br />
&nbsp;<br />
Luckily there&#8217;s already development of wp-chili version 3 taking place on <a href="http://github.com/aercolino/Chili">Git Hub</a>.</p>
<div class="sources">Sources: <a href="http://www.cagintranet.com/archive/the-definitive-guide-on-wordpress-syntax-highligher-plugins/">The Definitive Guide on WordPress Syntax Highlighter Plugins</div>
]]></content:encoded>
			<wfw:commentRss>http://meshfields.de/syntax-highlight-wordpress-with-chili/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Style input fields with CSS3</title>
		<link>http://meshfields.de/style-input-fields-css3/</link>
		<comments>http://meshfields.de/style-input-fields-css3/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 12:46:13 +0000</pubDate>
		<dc:creator>Stephan Kristyn</dc:creator>
				<category><![CDATA[css3]]></category>
		<category><![CDATA[input]]></category>
		<category><![CDATA[oscommerce]]></category>
		<category><![CDATA[submit]]></category>

		<guid isPermaLink="false">http://meshfields.de/blog/?p=511</guid>
		<description><![CDATA[Usually when you want to further individualize osCommerce, for e.g. after utilizing the Simple Template System you go into the source files and alter them. If you wanted to change the style of your graphical buttons in your shopping card &#8230; <a href="http://meshfields.de/style-input-fields-css3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Usually when you want to further individualize osCommerce, for e.g. after utilizing the Simple Template System you go into the source files and alter them.</p>
<p>If you wanted to change the style of your graphical buttons in your shopping card or the look of the form fields for e.g. at login or checkout you would go into <em>catalog/includes/functions/html_output.php</em> and give them a css class identifier.<br />
&nbsp;<br />
<code class="php">&lt;input type="image" class="myNewClass" src="' . tep_output_string(..</code><br />
I used a different approach utilizing CSS3, which I defined directly in my sts_template.html file.<br />
&nbsp;</p>
<pre><code class="css">input[type="text"] {
        /* you know what to do */
    }

input[type="button"],input[type="submit"] {
        /* you know what to do */
    }
</code></pre>
<p>With this technique tampering with the html_output.php shouldn&#8217;t be necessary anymore -at least for the task I wanted to accomplish.</p>
<p>These selectors are only working in more advanced browsers and are called Simple attribute selectors. More advanced attribute selectors are using regular expressions and work for e.g. like this:<br />
&nbsp;</p>
<pre><code class="css">input[type^="sub"]
/* matches occurrences of the type attribute
 * where 'sub' is the beginning of the value */

input[type*="ubmi"]
/* matching string can be anywhere inside
 * the type attribute of input */

input[type$="mit"]
/* matches all values that end with 'mit'
 * of the type attribute inside input tags */ </code></pre>
]]></content:encoded>
			<wfw:commentRss>http://meshfields.de/style-input-fields-css3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HowTo create a unique shadow in Photoshop</title>
		<link>http://meshfields.de/create-unique-shadow-photoshop/</link>
		<comments>http://meshfields.de/create-unique-shadow-photoshop/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 12:18:03 +0000</pubDate>
		<dc:creator>Stephan Kristyn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[shadow]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://meshfields.de/blog/?p=386</guid>
		<description><![CDATA[Now that even CSS3 supports programmatic shadows, the need for that unique shadow on your website or presentation gets even bigger. So in this post I&#8217;m going to describe a technique on how to create a shadow featuring your own &#8230; <a href="http://meshfields.de/create-unique-shadow-photoshop/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Now that even CSS3 supports programmatic shadows, the need for that unique shadow on your website or presentation gets even bigger. So in this post I&#8217;m going to describe a technique on how to create a shadow featuring your own signature look. I&#8217;ve done this tutorial on the Photoshop CS4 Trial version by Adobe.</p>
<p>(1) Create a new file with 1000 x 1000 pixel dimensions.</p>
<p>(2) Make a light greyish background to better highlight the white paper on which we&#8217;re going to apply the shadow upon.</p>
<p>(3) Create a new layer and inside of it create a white paper like shape.</p>
<p>(4) Copy the white paper shape layer for later use.</p>
<p><a href="http://meshfields.de/wp-content/uploads/2010/05/tutorial-5.png"><img class="size-thumbnail wp-image-389 alignleft" style="margin: 2px 10px; border: 0pt none;" title="tutorial-5" src="http://meshfields.de/wp-content/uploads/2010/05/tutorial-5-150x150.png" alt="" width="150" height="150" /></a></p>
<p>(5) Apply a shadow with the following values: Opacity: 26%, Distance: 6px, Size 32px</p>
<div style="margin-top: 150px;"><a href="http://meshfields.de/wp-content/uploads/2010/05/tutorial-5-1.png"><img class="size-thumbnail wp-image-390 alignleft" style="margin: 2px 10px; border: 0pt none;" title="tutorial-5-1" src="http://meshfields.de/wp-content/uploads/2010/05/tutorial-5-1-150x150.png" alt="" width="150" height="150" /></a></p>
<p>(5.1) This is what your layer setup should look like by now</p>
<p>(6) Set the fill value of the white shape to 0%. This leaves us with just the shadow.</p>
</div>
<p>(7) Create an empty layer and merge the shadow layer with it in order to make the shadow layer style a own rasterized element.</p>
<p>(8) Now the creative part starts: Pick the eraser tool, set it to a value of your liking. I chose 87px diameter equipped with a smooth brush. I set the opacity to 35%. Awesome: the second white layer that we created in Section 4 earlier will be left untouched by our eraser action.</p>
<p>(9) Now utilize the eraser tool to make the paper shadow look unique. As last action merge everything except the grey background and voilà &#8211; a nice unique shadow effect.</p>
<p><a href="http://meshfields.de/wp-content/uploads/2010/05/tut9.png"><img class="size-thumbnail wp-image-388 alignnone" style="margin: 10px 10px 2px; border: 0pt none;" title="tut9" src="http://meshfields.de/wp-content/uploads/2010/05/tut9-150x150.png" alt="" width="150" height="150" /></a></p>
<p><a href="http://meshfields.de/wp-content/uploads/2010/05/tut9.png"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://meshfields.de/create-unique-shadow-photoshop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stringify a user&#8217;s text selection in JavaScript</title>
		<link>http://meshfields.de/log-a-string-when-a-user-selects-text-in-javascript/</link>
		<comments>http://meshfields.de/log-a-string-when-a-user-selects-text-in-javascript/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 21:10:08 +0000</pubDate>
		<dc:creator>Stephan Kristyn</dc:creator>
				<category><![CDATA[getselection]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[selection]]></category>

		<guid isPermaLink="false">http://meshfields.de/blog/?p=436</guid>
		<description><![CDATA[This code reads in the user&#8217;s selected text when the user releases the mouse button. JavaScript: &#160; document.onmouseup = function() { var txt = ' '; // Webkit if (window.getSelection) { txt = window.getSelection(); } // Webkit Alternative else if &#8230; <a href="http://meshfields.de/log-a-string-when-a-user-selects-text-in-javascript/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This code reads in the user&#8217;s selected text when the user releases the mouse button.</p>
<p>JavaScript:<br />
&nbsp;</p>
<pre><code class="js">document.onmouseup = function() {

   var txt = ' ';

   // Webkit
   if (window.getSelection) {
      txt = window.getSelection();
   }

   // Webkit Alternative
   else if (document.getSelection) {
      txt = document.getSelection();
    }

   // IE
   else if (document.selection) {
      txt = document.selection.createRange().text;
   }

   // if no selection then break here
   else return;

   document.someForm.selectedtext.value =  txt;
}</code></pre>
<p>Markup:<br />
&nbsp;</p>
<pre style="font: normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"><code class="html">&lt;form name="someForm" &gt;
	&lt;textarea name="selectedtext" rows="5" cols="20"&gt;&lt;/textarea&gt;
&lt;/form&gt;</code></pre>
<p>View an example of this technique here: <a href="http://meshfields.de/wp-content/uploads/2010/06/textselect.html">TextSelect Example</a></span></span></pre>
]]></content:encoded>
			<wfw:commentRss>http://meshfields.de/log-a-string-when-a-user-selects-text-in-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Event Delegation in JavaScript</title>
		<link>http://meshfields.de/event-delegation-in-javascript/</link>
		<comments>http://meshfields.de/event-delegation-in-javascript/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 05:07:30 +0000</pubDate>
		<dc:creator>Stephan Kristyn</dc:creator>
				<category><![CDATA[delegation]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[w3c]]></category>

		<guid isPermaLink="false">http://meshfields.de/blog/?p=421</guid>
		<description><![CDATA[The next logical step up, respectively down-level from using CSS3 Selectors together with JavaScript libraries to select specific DOM elements, is to write your own JavaScript to control your markup. So in order to completely seperate behaviour (JavaScript) from presenation &#8230; <a href="http://meshfields.de/event-delegation-in-javascript/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The next logical step up, respectively down-level from using CSS3 Selectors together with JavaScript libraries to select specific DOM elements, is to write your own JavaScript to control your markup.</p>
<p>So in order to completely seperate behaviour (JavaScript) from presenation (HTML) and content (REST, JSon, XML, etc..) you might want use Events and Event-Handling in JavaScript. Now, the downside in applying many Event Listeners to many DOM elements bears the risk of memory leakage, CPU overhead and therefore overall loss of performance; especially on mobile devices.</p>
<p>A solution to minimize these shortcomings of Event Listener usage comes from <em>Yahoo!. </em>They implemented a technique called Event Delegation in their User Interface Library <em>YUI</em>. They showed the Developer Community how to use a year old browser behaviour, that is even officially specified in the W3C&#8217;s <a href="http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-flow-capture">DOM Specification</a>.</p>
<p>Let&#8217;s get straight to it.<br />
&nbsp;</p>
<pre><code class="html">&lt;ul&gt;
  &lt;li&gt;&lt;a href="#"&gt;Navi1&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#"&gt;Navi2&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#"&gt;Navi3&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#"&gt;Navi4&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</code></pre>
<p>Imagine, you want to listen to a user&#8217;s clicks on all above links. So instead of binding four Event Listeners to each list-element, we only bind one listener to the root object called document.</p>
<p>The event target will get bubbled up in Internet Explorer and on other browsers the event and its target will be captured inside the nested html elements of the document object.</p>
<p>This is the JavaScript code to capture and filter the events and its targets:<br />
&nbsp;</p>
<pre><code class="js">document.onclick = function(event) {

   // IE8 bubbles instead of capture events
   event = event || window.event;
   var target = event.target || event.srcElement;

   for (i=1; i&lt;8; i++) {
      if (target.innerHTML === "Navi" + i ) {
         return alert("You " + event.type + "ed on " + target.innerHTML);
      }
   }
}
</code></pre>
<p>First we bind the onclick Event Listener to the document object. Then we pass down the event so that we can access its target or source (IE). Then we filter the target with a for-loop for its containing text and simply alert the results. Please spare me details on how proprietary <a href="http://www.quirksmode.org/dom/innerhtml.html">innerHTML</a> is, which was invented by Microsoft. You may test this example here: <a href="http://meshfields.de/wp-content/uploads/2010/06/index.html">Delegation Example</a>.</p>
<div class="sources">
Sources: <a href="http://www.nczonline.net/blog/2009/06/30/event-delegation-in-javascript/">http://www.nczonline.net/blog/2009/06/30/event-delegation-in-javascript/</a></div>
]]></content:encoded>
			<wfw:commentRss>http://meshfields.de/event-delegation-in-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Load Child Elements of DOM in Array</title>
		<link>http://meshfields.de/load-child-elements-array-jquery/</link>
		<comments>http://meshfields.de/load-child-elements-array-jquery/#comments</comments>
		<pubDate>Sun, 23 May 2010 02:14:20 +0000</pubDate>
		<dc:creator>Stephan Kristyn</dc:creator>
				<category><![CDATA[DOM]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://meshfields.de/blog/?p=398</guid>
		<description><![CDATA[Howto load multiple Child Elements of any DOM Element into an Array. <a href="http://meshfields.de/load-child-elements-array-jquery/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For this I use Jquery&#8217;s build-in method <a href="http://api.jquery.com/map/">.map()</a> that passes each element in the current matched set through a function.</p>
<p>This function returns us an &#8216;.id&#8217; or a value &#8216;.val&#8217;, etc. of the JQuery Object. Then we append the <a href="http://api.jquery.com/get/">.get()</a> method, which grants us access to the DOM nodes underlying the object. These are loaded into an Array; at least if you do not specify any value with .get().</p>
<p>For better understanding, please view this code snippet in HTML5.<br />
&nbsp;</p>
<pre><code class="html">
&lt;!doctype html&gt; &lt;!-- love the new doctype declaration --&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
&lt;meta charset="windows-1252"&gt; &lt;!-- equals ANSI --&gt;
&lt;script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"&gt;
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
</code><code class="js">$(document).ready(function() {
   var subPicArray = $('#bilder1 img').map(function() {
     return this.id; // could also get a value or class
   }).get();
   alert (subPicArray[0]); // picID1
});</code><code class="html">&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id="bilder1"&gt;
   &lt;a href="pic1_big.jpg"&gt;&lt;img id="picID1" src="pic1.jpg" alt="" /&gt;&lt;/a&gt;
   &lt;a href="pic2_big.jpg"&gt;&lt;img id="picID2" src="pic2.jpg" alt="" /&gt;&lt;/a&gt;
   &lt;a href="pic3_big.jpg"&gt;&lt;img id="picID3" src="pic3.jpg" alt="" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://meshfields.de/load-child-elements-array-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Samsung S1 mini with MacOSX and HFS+</title>
		<link>http://meshfields.de/samsung-s1-mini-with-macosx-and-hfs/</link>
		<comments>http://meshfields.de/samsung-s1-mini-with-macosx-and-hfs/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 22:57:47 +0000</pubDate>
		<dc:creator>Stephan Kristyn</dc:creator>
				<category><![CDATA[external]]></category>
		<category><![CDATA[fat32]]></category>
		<category><![CDATA[harddrive]]></category>
		<category><![CDATA[hdd]]></category>
		<category><![CDATA[hfs]]></category>
		<category><![CDATA[macosx]]></category>
		<category><![CDATA[mini]]></category>
		<category><![CDATA[ntfs]]></category>
		<category><![CDATA[s1]]></category>
		<category><![CDATA[samsung]]></category>
		<category><![CDATA[speedtest]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://meshfields.de/blog/?p=368</guid>
		<description><![CDATA[Hardware Review of Samsung S1 mini 200GB <a href="http://meshfields.de/samsung-s1-mini-with-macosx-and-hfs/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I recently purchased Samsung&#8217;s small 1,8&#8243; external Harddrive. I ruled out all other 2,5&#8243; and 3,5&#8243; external drives after witnessing the S1&#8242;s amazing durability on <a href="http://www.youtube.com/watch?v=QuB75NLfrpE" target="_blank">Youtube</a>.<br />
&nbsp;<br />
The 200Gb Samsung S1 freshly unpacked, I discovered it comes with FAT32 pre-formatted. Plugged into the iMac i5, the drive worked pretty fast out of the box. First, lets peek at those FAT32 benchmarks we are all looking for:<br />
&nbsp;<br />
FAT 32 (512 Byte &#8211; 32 KiB Clustersize)</p>
<p>Xbench 4K Cluster Size Sequential Write  - 14.70 MB/sec  Read 3.90 MB/sec</p>
<p>Xbench 256K Cluster Size Sequential Write &#8211; 15.73 MB/sec  Read 17.12 MB/sec</p>
<p><img class="size-full wp-image-371 alignleft" style="margin-top: 10px; margin-bottom: 10px; margin-right: 9px;" title="samsung_s1_mini" src="http://meshfields.de/wp-content/uploads/2010/04/Unbenannt2.png" alt="Samsung S1 Mini on top the Seagate Freeagent Go" width="333" height="222" /></p>
<p>The iMac&#8217;s April 2010 Seagate does 63.08Mb/sec in Disk Speed in comparison. After having done that test, the question arises should we format this neat drive with HFS or HFS+. Albeit HFS beeing unable to handle files bigger than 2 Gigabytes it seems to be more compatible to other Operating Systems because it&#8217;s been there since 1985, but since it saves small files in larger 16K block sizes it unecessary squanders space and eventually slows down the disk access time. Snow Leopard even started to limit write access to HFS drives. This leaves HFS+ Journaled with its efficient 512 bytes logical sector size as only the feasable option on the table. Our freshly formated HFS+ drive will be tested against the same tools from the first test.<br />
&nbsp;</p>
<p>
<div id="easyChartDivd758001" style='width:100%;'  style='text-align:center;' align='center'>
<!-- Easy Chart Builder by dyerware -->
<img id="easyChartDivd758001_img" style='text-align:center;float:center;' alt='dyerware' title=''  align='center' border='0' />

</div>
<script type="text/javascript">
//<![CDATA[
wpEasyChart.wpNewChart("easyChartDivd758001", {"type":"horizbar","width":200,"height":"100","title":"HFS vs HFS Journaled","minaxis":"","groupnames":"HFS, HFS Journaled","groupcolors":"9CE9FF,31BAE8","valuenames":"4K Read,256K Read,4K Write,256K Write","group1values":"4.03,17.5,14.59,15.47","group2values":"4.14,17.60,28.21,15.80","group3values":"0,0,0","group4values":"0,0,0","group5values":"0,0,0","group6values":"0,0,0","group7values":"0,0,0","group8values":"0,0,0","group9values":"0,0,0","group10values":"0,0,0","group11values":"0,0,0","group12values":"0,0,0","group1markers":"","group2markers":"","group3markers":"","group4markers":"","group5markers":"","group6markers":"","group7markers":"","group8markers":"","group9markers":"","group10markers":"","group11markers":"","group12markers":"","markercolor":"FFFF00","imagealtattr":"dyerware","imagetitleattr":"","hidechartdata":true,"chartcolor":"FFFFFF","chartfadecolor":"DDDDDD","datatablecss":"hentry easyChartDataTable","imgstyle":"text-align:center;float:center;","watermark":"","watermarkvert":"","watermarkcolor":"A0BAE9","currency":"","precision":""});
//]]&gt;
</script><br />
&nbsp;<br />
<em>HFS+ Journaled</em> (512 Byte)</p>
<p>Xbench 4K Cluster Size Sequential Write  - 28.21 MB/sec  Read 4.14 MB/sec</p>
<p>Xbench 256K Cluster Size Sequential Write &#8211; 15.80 MB/sec  Read 17.60 MB/sec<br />
&nbsp;<br />
Since this was only marginally faster, I turned off the journaling functionality of HFS+ and reformatted which means no more recovery from unintended power failures, thus having a 2nd backup for sure.<br />
&nbsp;<br />
<em>HFS+ Non-Journaled</em> (512 Byte Clustersize)</p>
<p>Xbench 4K Cluster Size Sequential Write  - 14.59 MB/sec  Read 4.03 MB/sec</p>
<p>Xbench 256K Cluster Size Sequential Write &#8211; 15.47 MB/sec  Read 17.50 MB/sec<br />
&nbsp;<br />
We see there&#8217;s a drastic drop in 4K Write Speed, I even ran the test twice in order to be sure.<br />
&nbsp;<br />
To round up this review, I tested the drive with Microsoft&#8217;s <em>NTFS </em>Filesystem. Under MacOSX its performance was very poor which was of no surprise, since the Tuxera NTFS driver is a 3rd party solution and NTFS is not designed to work on a MacOS. On Windows this was another story where HD Tach threw a 24.4 Mb/sec average read with 25.7ms random access time and a staggering 30.4 Mb/sec burst speed. These results are very comparable to the results of the drive running on the HFS+ Journaled filesystem, since realworld results of HFS+ Journaled were also 24.4 Mb/s when copying a 30GB Folder containing 5000 files. The Xbench results seem a little too low to be valid.<br />
&nbsp;</p>
<p>
<div id="easyChartDiv61568002" style='width:100%;'  style='text-align:center;' align='center'>
<!-- Easy Chart Builder by dyerware -->
<img id="easyChartDiv61568002_img" style='text-align:center;float:center;' alt='dyerware' title=''  align='center' border='0' />

</div>
<script type="text/javascript">
//<![CDATA[
wpEasyChart.wpNewChart("easyChartDiv61568002", {"type":"horizbar","width":200,"height":"50","title":"NTFS vs HFS Journaled vs FAT32","minaxis":"","groupnames":"NTFS, HFS Journaled, FAT32","groupcolors":"9CE9FF,31BAE8,1A6491","valuenames":"Read","group1values":"24.4","group2values":"17.6","group3values":"17.12","group4values":"0,0,0","group5values":"0,0,0","group6values":"0,0,0","group7values":"0,0,0","group8values":"0,0,0","group9values":"0,0,0","group10values":"0,0,0","group11values":"0,0,0","group12values":"0,0,0","group1markers":"","group2markers":"","group3markers":"","group4markers":"","group5markers":"","group6markers":"","group7markers":"","group8markers":"","group9markers":"","group10markers":"","group11markers":"","group12markers":"","markercolor":"FFFF00","imagealtattr":"dyerware","imagetitleattr":"","hidechartdata":true,"chartcolor":"FFFFFF","chartfadecolor":"DDDDDD","datatablecss":"hentry easyChartDataTable","imgstyle":"text-align:center;float:center;","watermark":"","watermarkvert":"","watermarkcolor":"A0BAE9","currency":"","precision":""});
//]]&gt;
</script><br />
&nbsp;</p>
<p class="sources">Sources <br />
<a href="http://pages.cs.wisc.edu/~legault/miniproj-736.pdf" target="_blank">http://pages.cs.wisc.edu/~legault/miniproj-736.pdf</a> (PDF) <br />
<a href="http://support.apple.com/kb/HT2355" target="_blank">http://support.apple.com/kb/HT2355</a></p>
]]></content:encoded>
			<wfw:commentRss>http://meshfields.de/samsung-s1-mini-with-macosx-and-hfs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The iPad Hype</title>
		<link>http://meshfields.de/the-ipad-hype/</link>
		<comments>http://meshfields.de/the-ipad-hype/#comments</comments>
		<pubDate>Sat, 03 Apr 2010 23:30:28 +0000</pubDate>
		<dc:creator>Stephan Kristyn</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[kill]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[pid]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[zune]]></category>

		<guid isPermaLink="false">http://meshfields.de/blog/?p=362</guid>
		<description><![CDATA[250.000 pre-orders in Germany alone, the iPad will have its debut in 2 hours in the United States. Pre-sales in Germany exceeded 4 times the anticipation and according to my sources at Apple even a lot of businessmen want one too. Usually, &#8230; <a href="http://meshfields.de/the-ipad-hype/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>250.000 pre-orders in Germany alone, the <em>iPad</em> will have its debut in 2 hours in the United States. Pre-sales in Germany exceeded 4 times the anticipation and according to my sources at <em>Apple</em> even a lot of businessmen want one too. Usually, I would say this is just another hype around a gadget, but recent history about Apple&#8217;s well timed releases tells us to take this kind of buzz more seriously.</p>
<p> <a href="http://meshfields.de/wp-content/uploads/2010/04/34713694.jpg"><img class="alignnone size-full wp-image-364" style="margin: 1px; border: 0px;" title="ipad" src="http://meshfields.de/wp-content/uploads/2010/04/34713694.jpg" alt="" width="480" height="320" /></a></p>
<p>Mostly unnoticed these days <em>Microsoft</em> anounced its <em>Zune</em> HD Player which comes closest to the <em>iPod</em> of all Microsoft releases of its mp3 capable music player. No matter what device you choose, I don&#8217;t like its closed environments. I want to be able to start a taskmanager or open a bash-terminal and handle some processes. I like be in control of my computers, gagdets or mobile devices. I want to end whatsoever unwanted program is running there against my will, because I am the master of my domain and not my devices, no they aren&#8217;t.</p>
<p>To conclude within Windows7&#8242;s <em>Powershell</em> one would enter</p>
<p><em>Get-Process | Where { $_.Name -Eq &#8220;MyUnwantedProgram&#8221; } | Kill</em></p>
<p>and on MacOSX&#8217;s terminal we use the following line to end a program</p>
<p><em>kill -sigterm &#8220;MyUnwantedPrograms-PID&#8221;</em></p>
<p>Sources: <a href="http://www.gizmodo.de/2010/04/01/ipad-nachfrage-in-deutschland-35mal-hoher-als-apple-erwartet-hat.html">http://www.gizmodo.de/2010/04/01/ipad-nachfrage-in-deutschland-35mal-hoher-als-apple-erwartet-hat.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://meshfields.de/the-ipad-hype/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
