<?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>muhuk.com &#187; Internet</title>
	<atom:link href="http://www.muhuk.com/category/internet/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.muhuk.com</link>
	<description>know thyself</description>
	<lastBuildDate>Wed, 07 Jul 2010 10:26:39 +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>Free Software &amp; Linux Days 2010</title>
		<link>http://www.muhuk.com/2010/03/free-software-linux-days-2010/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=free-software-linux-days-2010</link>
		<comments>http://www.muhuk.com/2010/03/free-software-linux-days-2010/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 07:11:39 +0000</pubDate>
		<dc:creator>Atamert Ölçgen</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[presentation]]></category>

		<guid isPermaLink="false">http://www.muhuk.com/?p=359</guid>
		<description><![CDATA[Free Software &#38; Open Source Days of İstanbul Bilgi University and Linux &#38; Free Software Festival of Linux Users Association are united under the name Free Software &#38; Linux Days this year. If you have attended before, you will probably make no other plans for April 2-3. If you have never been to this event, [...]]]></description>
			<content:encoded><![CDATA[<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/Aex8Kj-QYrA&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Aex8Kj-QYrA&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>

<p><em>Free Software &amp; Open Source Days</em> of İstanbul Bilgi University and <em>Linux &amp; Free Software Festival</em> of Linux Users Association are united under the name <a href="http://www.ozguryazilimgunleri.org/index_en.html"><strong>Free Software &amp; Linux Days</strong></a> this year. If you have attended before, you will probably make no other plans for April 2-3.</p>

<p>If you have never been to this event, registration is free and can be done at the front desk. If you are remotely interested in free software or hackerdom you will want to be there. &#8230;and, of course, you are welcome.</p>

<p>I will be giving a <a href="http://www.ozguryazilimgunleri.org/program.html#atamert_olcgen">Django presentation</a> on Friday. Please come and say hello if you happen to be attending.</p>

<p><strong>UPDATE:</strong> You can find the slides from presentation <a href="http://www.slideshare.net/muhuk/django-ile-arsz-tehis-ve-tedavi">here</a>. Slideshare&#8217;s importer failed to import the file I&#8217;ve uploaded properly. So please download and view the slides with Acrobat Reader.</p>

<div style="width:425px" id="__ss_3613121"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/muhuk/django-ile-arsz-tehis-ve-tedavi" title="Django ile Ağrısız Teşhis ve Tedavi">Django ile Ağrısız Teşhis ve Tedavi</a></strong><object width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=freedays2010djangoileagrisizteshisvetedavi-100401090518-phpapp02&#038;stripped_title=django-ile-arsz-tehis-ve-tedavi" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=freedays2010djangoileagrisizteshisvetedavi-100401090518-phpapp02&#038;stripped_title=django-ile-arsz-tehis-ve-tedavi" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/muhuk">muhuk</a>.</div></div>


<p>Related posts:<ol><li><a href='http://www.muhuk.com/2009/05/django-formfieldset/' rel='bookmark' title='Permanent Link: django-formfieldset'>django-formfieldset</a></li>
<li><a href='http://www.muhuk.com/2010/03/whats-new-in-django-formfieldset-1-1/' rel='bookmark' title='Permanent Link: What&#8217;s New in django-formfieldset 1.1'>What&#8217;s New in django-formfieldset 1.1</a></li>
<li><a href='http://www.muhuk.com/2009/05/freedays09-videos/' rel='bookmark' title='Permanent Link: Freedays&#8217;09 Videos'>Freedays&#8217;09 Videos</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.muhuk.com/2010/03/free-software-linux-days-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Site Performance Optimizations</title>
		<link>http://www.muhuk.com/2010/02/web-site-performance-optimizations/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=web-site-performance-optimizations</link>
		<comments>http://www.muhuk.com/2010/02/web-site-performance-optimizations/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 12:01:43 +0000</pubDate>
		<dc:creator>Atamert Ölçgen</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.muhuk.com/?p=342</guid>
		<description><![CDATA[Recently I have done some optimizations to make telvee a little faster using django_compressor and making sprites for background images. Good news is substantial changes to development environment and the design wasn&#8217;t required. I&#8217;ll get into details below. But first I&#8217;d like to write about the theory a little bit. I follow (and read with [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I have done some optimizations to make <a href="http://www.telvee.com">telvee</a> a little faster using <a href="http://github.com/muhuk/django_compressor">django_compressor</a> and making sprites for background images. Good news is substantial changes to development environment and the design wasn&#8217;t required. I&#8217;ll get into details below. But first I&#8217;d like to write about the theory a little bit.</p>

<p>I follow (and read with great interest) Steve Souders&#8217;s blog <a href="http://www.stevesouders.com/blog/">High Performance Web Sites</a>. I must admit I was sceptical about it at first; spriting images, individual different loading behaviours of browsers&#8230; I thought they were <a href="http://en.wikipedia.org/wiki/Program_optimization">premature optimization</a>s. But I realized I was wrong as I continued to read. Steve Souders is an expert on high performance web sites and what he preaches are realistic techniques, backed by test results most of the time. If you are not following, I suggest you add it to your RSS reader.</p>

<h3>Optimization Techniques</h3>

<p>We can explore the techniques in two main categories:</p>

<ol>
<li>Techniques to reduce the data to be transferred.

<ul>
<li><strong>Minifying</strong>: Minification is removing comments and unneeded whitespace in CSS and JavaScript files. Compilers like <a href="developer.yahoo.com/yui/compressor/">YUI Compressor</a> and <a href="code.google.com/closure/">Closure</a> modifies JavaScript code to compress even further, without any changes to the functionality.</li>
<li><strong>Gzipping</strong>: Web browsers accept <a href="http://en.wikipedia.org/wiki/Gzip#Other_uses">gzip</a> encoded content for a long time. I have just compressed a 13 KB text file down to 4 KB. A two thirds compression ratio is not bad at all.</li>
</ul></li>
<li>Techniques to reduce the number of HTTP requests.

<ul>
<li><strong>Combining</strong>: CSS and JavaScript files can be combined together into a single file and therefore a single HTTP request. Gzip may be more efficient on these files. In a similar way background images can be merged into a <a href="http://en.wikipedia.org/wiki/Sprite_%28computer_graphics%29#Application">sprite</a> and then reconstructed again using their coordinates on that sprite.</li>
<li><strong>Data URI&#8217;s</strong>: Images (or other file types) can be embedded into CSS (or JavaScript or HTML) using <a href="http://en.wikipedia.org/wiki/Data_URI_scheme"><code>data: URI</code>&#8216;s</a>. Extra HTTP requests for those resources can be avoided this way.</li>
</ul></li>
</ol>

<p>You might think <em>it&#8217;s fine to perform all these optimizations, but what happens when I want to make some changes to my combined, minified JavaScript file?</em> Instead of applying these techniques blindly, it&#8217;s best to follow a sensible plan for implementing these optimizations:</p>

<ul>
<li>First of all <em>everything that can be automated should be automated</em>. Regarding the example above script files should stay uncombined and uncompressed in the development environment and optimizations should be applied when the application is published. Taking it a step further we can have the application detect changes in those files and update optimized versions automatically. (django&#95;compressor works this way)</li>
<li>I was worried that spriting would complicate managing the design. But I have seen, on the contrary; if images each sprite contain are choosen carefully it makes the process easier. Start combining images that belong to the same design element. Avoid complex arrangements, stick with horizontal or vertical stacking as much as possible. Don&#8217;t forget to leave transparent spaces between items and sprite border. Try to combine images that are loaded on the same page, avoid loading a sprite for only half of it&#8217;s elements. Don&#8217;t force yourself to combine all images, if you follow the guidelines I have mentione they won&#8217;t.</li>
<li>When performing optimizations don&#8217;t forget to use easily available tools. You can use <a href="http://developer.yahoo.com/yslow/">YSlow</a> for general analysis, <a href="http://spriteme.org/">SpriteMe</a> for image combining tips, <a href="http://compressorrater.thruhere.net/">CompressorRater</a> to compare different compilers&#8217; performance on your scripts. I would like to note that Steve Souders is the developer of first two.</li>
</ul>

<h3>Telvee Results</h3>

<p>I didn&#8217;t think about performance at all when I started developing <a href="http://www.telvee.com">telvee</a>. Too many CSS files and too many images were being loaded. Here is what it looked like before optimizations:</p>

<table>
  <tr><th>&nbsp;</th><th># of requests</th><th>load (KB)</th></tr>
  <tr><th>Homepage</th><td>25</td><td>~85</td></tr>
  <tr><th>Cup Detail</th><td>48</td><td>~80</td></tr>
</table>

<p>Then I have installed and configured <a href="http://github.com/muhuk/django_compressor">django_compressor</a>. I used YUI Compressor for both JavaScript and CSS. I have created sprites and modified CSS files manually<sup>1</sup>. Then I deployed these changes and measured again:</p>

<table>
  <tr><th>&nbsp;</th><th># of requests</th><th>load (KB)</th></tr>
  <tr><th>Homepage</th><td>12</td><td>~70 (~160)</td></tr>
  <tr><th>Cup Detail</th><td>14</td><td>~64</td></tr>
</table>

<p>In the load column of Homepage, the number in parens is the actual load. But the design of homepage is changed with this upgrade and a new 90 KB image is being loaded now. So I have accepted 70 KB in my calculations. The result of optimizations are as follows:</p>

<table>
  <tr><th>&nbsp;</th><th># of requests</th><th>load (KB)</th></tr>
  <tr><th>Homepage</th><td>52%</td><td>17%</td></tr>
  <tr><th>Cup Detail</th><td>70%</td><td>19%</td></tr>
</table>

<h3>Django&#95;compressor and Data URI&#8217;s</h3>

<p>Django&#95;compressor, developed by Christian Metts, helps you to apply optmizations I have mentioned above easily to your <a href="http://www.djangoproject.com/">Django</a> projects. You can see my fork <a href="http://github.com/muhuk/django_compressor">here</a> where I have merged some other branches and added a little bit of code myself.</p>

<p>Using <code>compressor.filters.datauri.CssDataUriFilter</code> in <code>data-uri</code> branch of this repository, you can embed linked files within your CSS files. It will only embed files less than or equal to 1024 Bytes (1 KB) by default. You can change this limit by setting <code>COMPRESS_DATA_URI_MIN_SIZE</code> in your <code>settings.py</code>.</p>

<p>There are a couple of things to pay attention when you convert your references to <code>data: URI</code>s. Firstly file contents are <code>base64</code> encoded which means approximately one third increase in size. It&#8217;s up to you to balance between increased bandwidth and reduced request counts<sup>2</sup>. Another thing to watch for is multiple references to the same file will end up embedding the same data many times. The solution to this problem is to reduce all references to one<sup>3</sup> but this might break your CSS arrangement strategy.</p>

<p>Please test django&#95;compressor&#8217;s <code>data: URI</code> support and tell me what you think. If you haven&#8217;t applied optimizations I mentioned above, you should. Thanks to django&#95;compressor they are quite easy to implement on Django projects.</p>

<hr />

<p><strong>1</strong>: I would like to add automatic sprite building/linking support to django&#95;compressor sometime.</p>

<p><strong>2</strong>: With Today&#8217;s modern connections 1~2 KB increase is a good price for 1 less HTTP request..</p>

<p><strong>3</strong>: <a href="http://meiert.com/en/blog/20090401/why-css-needs-no-variables/">http://meiert.com/en/blog/20090401/why-css-needs-no-variables/</a></p>


<p>Related posts:<ol><li><a href='http://www.muhuk.com/2009/05/sad-state-of-web-development-industry-in-turkiye/' rel='bookmark' title='Permanent Link: Sad State of Web Development Industry in Türkiye'>Sad State of Web Development Industry in Türkiye</a></li>
<li><a href='http://www.muhuk.com/2009/05/django-formfieldset/' rel='bookmark' title='Permanent Link: django-formfieldset'>django-formfieldset</a></li>
<li><a href='http://www.muhuk.com/2009/08/a-civilized-way-display-lots-of-data/' rel='bookmark' title='Permanent Link: A Civilized Way Display Lots Of Data'>A Civilized Way Display Lots Of Data</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.muhuk.com/2010/02/web-site-performance-optimizations/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>ProFORMA: Probabilistic Feature-based On-line Rapid Model Acquisition</title>
		<link>http://www.muhuk.com/2009/11/proforma-probabilistic-feature-based-on-line-rapid-model-acquisition/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=proforma-probabilistic-feature-based-on-line-rapid-model-acquisition</link>
		<comments>http://www.muhuk.com/2009/11/proforma-probabilistic-feature-based-on-line-rapid-model-acquisition/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 11:46:43 +0000</pubDate>
		<dc:creator>Atamert Ölçgen</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[3d reconstruction]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[share]]></category>
		<category><![CDATA[video tracking]]></category>

		<guid isPermaLink="false">http://www.muhuk.com/?p=310</guid>
		<description><![CDATA[I came across this amazing research project via @dogacan today. The technology described is a combination of video tracking and image-based reconstruction. Watch the video below, it&#8217;s awesome! The final model has some minor artifacts (especially in concave sections) but very nice looking otherwise. I wonder how well it handles complex geometries and deep cavities. [...]]]></description>
			<content:encoded><![CDATA[<p>I came across this <a href="http://mi.eng.cam.ac.uk/~qp202/">amazing research project</a> via <a href="http://twitter.com/dogacan">@dogacan</a> today. The technology described is a combination of <a href="http://en.wikipedia.org/wiki/Video_tracking">video tracking</a> and <a href="http://en.wikipedia.org/wiki/3D_reconstruction">image-based reconstruction</a>. Watch the video below, it&#8217;s awesome!</p>

<p><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/vEOmzjImsVc&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/vEOmzjImsVc&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>

<p>The final model has some minor artifacts (especially in concave sections) but very nice looking otherwise. I wonder how well it handles complex geometries and deep cavities.</p>

<p>They say, in <a href="http://mi.eng.cam.ac.uk/~qp202/">the project page</a>, there will be a Linux-based demo released in a few months. You can leave your e-mail there if you want to get notified.</p>


<p>Related posts:<ol><li><a href='http://www.muhuk.com/2009/10/science-fiction-text-to-movie/' rel='bookmark' title='Permanent Link: Science Fiction: Text-to-Movie'>Science Fiction: Text-to-Movie</a></li>
<li><a href='http://www.muhuk.com/2009/04/galfthw-style-tutorial-on-python-coroutines/' rel='bookmark' title='Permanent Link: GALFTHW Style Tutorial On Python Coroutines'>GALFTHW Style Tutorial On Python Coroutines</a></li>
<li><a href='http://www.muhuk.com/2009/05/django-formfieldset/' rel='bookmark' title='Permanent Link: django-formfieldset'>django-formfieldset</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.muhuk.com/2009/11/proforma-probabilistic-feature-based-on-line-rapid-model-acquisition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XING Türkiye Social Media Win</title>
		<link>http://www.muhuk.com/2009/11/xing-turkiye-social-media-win/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=xing-turkiye-social-media-win</link>
		<comments>http://www.muhuk.com/2009/11/xing-turkiye-social-media-win/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 12:41:39 +0000</pubDate>
		<dc:creator>Atamert Ölçgen</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[competence]]></category>
		<category><![CDATA[kindness]]></category>
		<category><![CDATA[social media]]></category>
		<category><![CDATA[social network]]></category>

		<guid isPermaLink="false">http://www.muhuk.com/?p=306</guid>
		<description><![CDATA[I had a small issue with XING recently. I had reported this stupid message sent to an unrelated group. I&#8217;ll try to translate a snipplet below: I have sent XING two messages to cancel my account, I don&#8217;t want to be a member. I would like to take advantage of XING&#8217;s unique potential to bring [...]]]></description>
			<content:encoded><![CDATA[<p>I had a small issue with <a href="http://www.xing.com/">XING</a> recently. I had reported this stupid message sent to an unrelated group. I&#8217;ll try to translate a snipplet below:</p>

<blockquote>
  <p>I have sent XING two messages to cancel my account, I don&#8217;t want to be a member.</p>
  
  <p>I would like to take advantage of XING&#8217;s unique potential to bring people together, until they cancel my account, to help homeless children and elders.</p>
</blockquote>

<p>WTF! This was supposed to be a business related group. If anybody and their aunt will spam all 15k members; thank you, but no, thank you. So I did what any responsible user would do and used the report spam thingy.</p>

<p>Here is what I had hoped to happen; my report is stored somewhere. Other people flags this as well. When a critical number is reached a moderator reviews if the message is really spam and takes the appropriate action.</p>

<p>Here is what happened; an hour later or so I got an e-mail. It said &#8220;if you don&#8217;t want to receive messages from this person do yak yak yak&#8221;. King-size WTF.</p>

<ol>
<li>First of all I had already done that. He should have checked if I did before writing an e-mail.</li>
<li>More importantly, he should have checked my profile for a second. It says <code>programmer</code>. So, if I&#8217;m a programmer I am supposed to know a thing or two about these computer thingies, right? Clicking, double-clicking, expertise on check boxes and stuff. Telling me how to block a user is the same thing as saying &#8220;hey muhuk, you&#8217;re an idiot&#8221;. Even if we suppose there are such morons<sup>1</sup>, you still don&#8217;t have to tell it to their face. <strong>If you don&#8217;t have anything useful to say, don&#8217;t say nothing</strong>.</li>
</ol>

<p>As a result, I got pissed of and sent <a href="http://twitter.com/muhuk/statuses/5197560623">this tweet</a>:</p>

<blockquote>
  <p>XING Türkiye Support is clueless. Make sure you know who you&#8217;re e-mailing + take a moment to check if your advice has already been applied.</p>
</blockquote>

<p>This is not the end of the story though. I received an e-mail from <a href="https://www.xing.com/profile/Fusun_Karaman">XING Community Manager</a> yesterday. It was a very polite message containing the acknowledgement of both issues<sup>2</sup>. Nothing out of the ordinary at first sight. But wait, the message mentioned my tweet. In the very beginning. Actually the first word was &#8220;Twitter&#8221;. And it was concluded with something along the lines of &#8220;keep sharing your comments&#8221;.</p>

<p>Well, of course my comments and ideas are worthless. Especially since I&#8217;m not a very active XING user. But don&#8217;t miss the important point here: XING basically, via it&#8217;s community representative, says &#8220;you tweeted a negative tweet about us, but we are cool with that&#8221;. Why is it so important?</p>

<ol>
<li>They seem to be really cool about that. That means they understand social web. Conventional thinking is &#8220;I&#8217;d prefer you told this to me directly&#8221;, &#8220;we could have solved it between you and me&#8221;, &#8220;why do you shout, you make me look bad&#8221;. I have seen supposedly social media aware brands do this. It doesn&#8217;t look good. <strong>Trying to silence people is a horrible idea</strong>.</li>
<li>You can win people easily. Beautiful thing about Internet (and online services in particular) is that no party has too much power over the other. You can&#8217;t intimidate someone because she doesn&#8217;t like your services and writes about it. On the other hand she can&#8217;t do much damage<sup>3</sup>. So <strong>instead of freaking out, try to be nice and convert naysayers to evangelists</strong>.</li>
</ol>

<p>Most of the time complaining customers want to know there is someone who can see things from the right perspective. Someone reasonable, agreeable, fair. Most of the time that&#8217;s all that is needed to turn &#8220;&lt;your brand&gt; sucks&#8221; to &#8220;sh*t happens, no big deal&#8221;. My perception changed from &#8220;clueless&#8221; to &#8220;hmm, I guess that was a misstep of an individual&#8221; to &#8220;wow, appereantly XING Türkiye knows social web very well&#8221;. And all it took was a simple e-mail<sup>4</sup>. It&#8217;s not that difficult.</p>

<p>Kudos to XING for being a good web2.0 citizen.<sup>5</sup></p>

<hr />

<p><strong>1</strong>: I mean programmers who couldn&#8217;t figure out how to use a web GUI. People from other professions might not know these and that&#8217;s not necessarily their problem.</p>

<p><strong>2</strong>: What more could a user/customer hope other than <em>acknowledgement</em>? The message also contained an apology. But, I personally don&#8217;t think brands should apologize to their customers. Especially regarding to freemium services.</p>

<p><strong>3</strong>: This is true even for big players like TechCrunch.</p>

<p><strong>4</strong>: I bet it&#8217;s instantiated from a draft, everybody gets more or less the same message. This makes it even cooler though.</p>

<p><strong>5</strong>: And special thanks for making me feel like a jerk. Just kidding, feelings are for losers. <img src='http://www.muhuk.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>


<p>Related posts:<ol><li><a href='http://www.muhuk.com/2009/05/sad-state-of-web-development-industry-in-turkiye/' rel='bookmark' title='Permanent Link: Sad State of Web Development Industry in Türkiye'>Sad State of Web Development Industry in Türkiye</a></li>
<li><a href='http://www.muhuk.com/2009/06/cvyollacom-its-not-ok-to-spam/' rel='bookmark' title='Permanent Link: CVyolla.com: It&#8217;s Not OK To SPAM!'>CVyolla.com: It&#8217;s Not OK To SPAM!</a></li>
<li><a href='http://www.muhuk.com/2010/02/top-5-untrends-according-to-me/' rel='bookmark' title='Permanent Link: Top 5 Untrends According To Me'>Top 5 Untrends According To Me</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.muhuk.com/2009/11/xing-turkiye-social-media-win/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Project: Telvee</title>
		<link>http://www.muhuk.com/2009/10/new-project-telvee/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=new-project-telvee</link>
		<comments>http://www.muhuk.com/2009/10/new-project-telvee/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 16:58:37 +0000</pubDate>
		<dc:creator>Atamert Ölçgen</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[telvee]]></category>

		<guid isPermaLink="false">http://www.muhuk.com/?p=303</guid>
		<description><![CDATA[I have been working on telvee for a few months. To be precise gitk tells the initial commit was at 2009-06-24 16:20:38. I have been meaning to write about it but just couldn&#8217;t find the time (or should I say couldn&#8217;t drag my lazy ass to do it). Anyway. I have marked version 0.3 for [...]]]></description>
			<content:encoded><![CDATA[<p>I have been working on <a href="http://www.telvee.com">telvee</a> for a few months. To be precise <code>gitk</code> tells the initial commit was at <code>2009-06-24 16:20:38</code>. I have been meaning to write about it but just couldn&#8217;t find the time (or should I say couldn&#8217;t drag my lazy ass to do it). Anyway. I have marked version 0.3 for telvee today and here it is.</p>

<p>Telvee is a social toy built around the idea of coffee grounds reading. No, it is not a fortunetelling application. Telvee is intentionally dumb in that sense. It generates an image of the remains inside a coffee cup. Looking at this image, users write fortunes for other users&#8217; cups. This is the basic idea.</p>

<p>What if you don&#8217;t know anything about coffee reading? Well, we have a 12 step program that&#8230; No, no. If you don&#8217;t have proper coffee reading skills just make something up. Telvee is after all nothing more than <strong>a social toy</strong>. I am very passionate about coffee reading. I can&#8217;t tell a fortune. But I can drink the coffee, turn the cup and listen to my fortunes. This has worked pretty well for me in real life. We&#8217;ll see how it works out on the Internet when telvee is launched.</p>

<p>As you might have guessed telvee is a Django project. I am happy to work on a well organized, clean and well tested (91% coverage) codebase.</p>

<h3>What Works?</h3>

<p>Basically all the main functions are in place:</p>

<ul>
<li>Cup image generated <big>&#x2714;</big></li>
<li>You can write fortunes <big>&#x2714;</big></li>
<li>You can moderate fortunes (but blocking is broken) <big>&#x2714;</big>

<ul>
<li>Deleting, recovering, liking, unliking&#8230;</li>
</ul></li>
<li>You can write comments <big>&#x2714;</big></li>
<li>You can delete comments (but blocking is broken) <big>&#x2714;</big></li>
<li>Friending works <big>&#x2714;</big></li>
<li>You can block users (but it doesn&#8217;t have any effect for now, hence broken) <big>&#x2714;</big></li>
<li>Invitations work (but, currently hidden from testers) <big>&#x2714;</big></li>
<li>Account management works (but, incomplete) <big>&#x2714;</big></li>
</ul>

<h3>What Needs To Be Done?</h3>

<p>Aside from critical functions I haven&#8217;t thought of:</p>

<ul>
<li>A blog</li>
<li>Groups</li>
<li>Improvements on many pages including homepage</li>
<li>Django goodies that has little to do with frontend experience.</li>
</ul>

<h3>When Will It Be Finished?</h3>

<p>Probably never. But I would like to initiate a proper beta this year. And then launch as soon as possible, maybe before summer. It is currently tested by a tiny group of people. I will start sending invites as soon as I decide it&#8217;s reasonably embarrasing.</p>

<p>If you would like to try telvee; please leave your e-mail at <a href="http://www.telvee.com">http://www.telvee.com</a>.</p>


<p>Related posts:<ol><li><a href='http://www.muhuk.com/2009/05/sad-state-of-web-development-industry-in-turkiye/' rel='bookmark' title='Permanent Link: Sad State of Web Development Industry in Türkiye'>Sad State of Web Development Industry in Türkiye</a></li>
<li><a href='http://www.muhuk.com/2009/07/django-renderformplain/' rel='bookmark' title='Permanent Link: django-renderformplain'>django-renderformplain</a></li>
<li><a href='http://www.muhuk.com/2009/09/django-fixtures/' rel='bookmark' title='Permanent Link: Django Fixtures'>Django Fixtures</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.muhuk.com/2009/10/new-project-telvee/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Science Fiction: Text-to-Movie</title>
		<link>http://www.muhuk.com/2009/10/science-fiction-text-to-movie/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=science-fiction-text-to-movie</link>
		<comments>http://www.muhuk.com/2009/10/science-fiction-text-to-movie/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 15:35:07 +0000</pubDate>
		<dc:creator>Atamert Ölçgen</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[pixar]]></category>
		<category><![CDATA[rendering]]></category>
		<category><![CDATA[sci-fi]]></category>
		<category><![CDATA[share]]></category>

		<guid isPermaLink="false">http://www.muhuk.com/?p=299</guid>
		<description><![CDATA[It&#8217;s a really strange feeling, what you read in sci-fi stories coming true. First they made it possible to generate believable images purely out of bits and pixels. And now you can create a complete animation just with a movie script. I have stumbled upon STATE via sjjh today. Check out the demo. I wonder [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s a really strange feeling, what you read in sci-fi stories coming true. First <a href="http://www.pixar.com/companyinfo/about_us/execs.htm">they</a> made it possible to generate <a href="http://www.imdb.com/title/tt0173840/">believable</a> <a href="http://www.imdb.com/title/tt0114709/">images</a> purely out of bits and pixels. And now you can create a complete animation just with a movie script.</p>

<p>I have stumbled upon STATE via <a href="http://unmethodical.posterous.com/response-to-danwtmoon-on-context-vs-content">sjjh</a> today. Check out the <a href="http://www.xtranormal.com/">demo</a>.</p>

<p>I wonder what will be possible next? Hopefully not immortality. There are too many cool things to discover before.</p>


<p>Related posts:<ol><li><a href='http://www.muhuk.com/2009/11/proforma-probabilistic-feature-based-on-line-rapid-model-acquisition/' rel='bookmark' title='Permanent Link: ProFORMA: Probabilistic Feature-based On-line Rapid Model Acquisition'>ProFORMA: Probabilistic Feature-based On-line Rapid Model Acquisition</a></li>
<li><a href='http://www.muhuk.com/2009/04/galfthw-style-tutorial-on-python-coroutines/' rel='bookmark' title='Permanent Link: GALFTHW Style Tutorial On Python Coroutines'>GALFTHW Style Tutorial On Python Coroutines</a></li>
<li><a href='http://www.muhuk.com/2009/05/django-formfieldset/' rel='bookmark' title='Permanent Link: django-formfieldset'>django-formfieldset</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.muhuk.com/2009/10/science-fiction-text-to-movie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Piracy Tax</title>
		<link>http://www.muhuk.com/2009/09/piracy-tax/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=piracy-tax</link>
		<comments>http://www.muhuk.com/2009/09/piracy-tax/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 12:26:31 +0000</pubDate>
		<dc:creator>Atamert Ölçgen</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[morality]]></category>
		<category><![CDATA[piracy]]></category>
		<category><![CDATA[pirate party]]></category>
		<category><![CDATA[share]]></category>
		<category><![CDATA[tax]]></category>

		<guid isPermaLink="false">http://www.muhuk.com/?p=282</guid>
		<description><![CDATA[There is a discussion going on about founding The Pirate Party in TürkiyeTurkish. Serdar Kuzuloğlu recently said what if there was a tax on sharing?Turkish. The idea is basically you pay a fixed amount of tax for the content you share, regardless of the amount or if you share at all. This might sound nice [...]]]></description>
			<content:encoded><![CDATA[<p>There is a discussion going on about founding <a href="http://www.piratpartiet.se/international/english">The Pirate Party</a> <a href="http://mserdark.com/genel/turkiye-korsan-partisi-kuruluyor">in Türkiye</a><sup>Turkish</sup>. Serdar Kuzuloğlu recently said <a href="http://mserdark.com/genel/paylasim-vergisi-olur-mu"><code>what if there was a tax on sharing?</code></a><sup>Turkish</sup>. The idea is basically you pay a fixed amount of tax for the content you share, regardless of the amount or if you share at all.</p>

<p>This might sound nice at first. If you are pirating music, movies or whatever, and feel guilty, this way you can say <code>I'm paying my tax, therefore my conscience is clear</code>. Pirating is suddenly legit, content is finally free as in free speech. Moreover there is a good sum of money in the Piracy Tax pool now. Yay! We saved the music industry (or content producers in general)! No, you didn&#8217;t. You just eased your conscience.</p>

<p>Let&#8217;s get real. Suppose you passed the bill of Piracy Tax at the parliament and a good number of people are paying this tax. That&#8217;s just one part of the equation. How will this money be distributed? What will determine the relative share between artists? Do we need distributors anymore? Do we even <strong>need</strong> producers anymore? And most importantly when you cap the total amount of earnings, will this have any negative effects on <em>creativity</em>? And finally <em>which problem exactly is this Piracy Tax solving?</em></p>

<p>In the comments of Serdar Kuzuloğlu&#8217;s post, several people stated that it should be <em>trivial</em> to gather reliable statistics on downloads. This is not true at all. Even if there was a single distributor (I hope we agree this is undesirable) there will be statistical errors. No system is 100% reliable. But HTTP, i.e. web sites are especially not suitable for transactional operations. Aside from this fact, there will likely be a dozen of services. Are you just planning on adding the figures to calculate the final share? How about the differences in these services&#8217; reach? Don&#8217;t you think simply adding the figures makes the system easy to game?</p>

<p>Something everybody seems to forget is <strong>there will be always piracy a.k.a P2P</strong><sup>1</sup>. It would take you to the wrong conclusion to assume everybody is the same. Not everybody is using Windows, not everybody has Flash, there are even people who doesn&#8217;t have a graphical browser. Do you even know what a text browser is?<sup>2</sup> It is not wise to ignore these people because they are the minority. These people are Internet residents, like it or not you are just tourists. They have practically invented the Internet. So please don&#8217;t make the mistake of ignoring the possible effects of technologies like <a href="http://www.torproject.org/">tor</a> and the culture of <a href="http://en.wikipedia.org/wiki/FLOSS">FLOSS</a>.</p>

<p>In any case, statistical errors are unavoidable. I would suggest 3% is an acceptable error margin. Then what happens to the independent artist or the small production company that should have 0.25% and ends up having 0.025% share? Is this fair now? The pirate tax pool would likely benefit the big players and crush the independents. Big players have already been employing <a href="http://en.wikipedia.org/wiki/Portfolio_management">portfolio management</a> strategies, independents just can&#8217;t do that. It is naive to think Piracy Tax could sweep so called <em>low-quality productions</em> away and elevate finer artists. It will be exactly the opposite.</p>

<blockquote>
  <p>Virtue consists, not in abstaining from vice, but in not desiring it. (George Bernard Shaw)</p>
</blockquote>

<p>Piracy Tax will severe the already severed bonds between the artists (the producers of art) and us (the consumers) even more. When we buy a DVD or CD it is not just bread on the tables. It is also sending the message &#8220;I like what you do. Here, I even choose to give my hard earned money willingly to support your art&#8221;. Emphasis on <strong>willingly</strong> and <strong>supporting art</strong>. It&#8217;s not a passive action like listening to the radio. You (consumer) take a conscious step. Your contributions are small materially, but it should mean something to the artist even at the individual level. We need art. It is not just listening to music or whatever. But we <strong>need art to compete in the neverending race of civilization</strong>. No art, no culture. No culture, no civilization. Lack of civilization is inevitable slavery. So, we need to learn to support our artists willingly and directly. Piracy Tax is an obstacle for this social goal.</p>

<p>What about opting-out? If I opted out will I still be able to use legal download services? If I am not allowed to opt out but I continue pirating<sup>3</sup> your download statistics will be further skewed. If this is being done to free the content then why do we have to give up our freedom<sup>4</sup>. If this is being done to increase the profits of content industry&#8230; Well, then it makes sense.</p>

<p>If the free market is a bad idea, why don&#8217;t we shift the whole economy to a controlled market? With pirate tax in effect, content industry&#8217;s income is not only centralized but <strong>falls under government control</strong>. The government controls the art. I don&#8217;t like that idea. Art should be free. In short I don&#8217;t think Piracy Tax is the way to go.</p>

<h3>What Is My Proposal Then?</h3>

<p>I have been thinking hard about Pirate Party and the problem of piracy. The question is not <em>what should we do about piracy</em>? Unless you want to treat the symptoms. The question is <em>how will content industry adapt to the information age</em>? We adapted to information age quite well, didn&#8217;t we? Why can&#8217;t they do the same? I don&#8217;t want to believe they are so stupid that they don&#8217;t really know how. As far as I can understand they don&#8217;t want to change. Because change has a price. And they don&#8217;t want to pay. They want <strong>us</strong> to pay the price for them stagnating like that. Let&#8217;s stop beating around the bush and see it as it is.</p>

<p>Smart artists are already making the move. They let you download their movies and songs for free, and find other channels of monetization. Lots of concerts for example. Not necessarily huge stadium concerts. If you take all those middlemen out of the equation you don&#8217;t have to be all that popular. All in all, it is much better than continuously whine about piracy.</p>

<p>My proposal is not to engage ourselves with Piracy Tax<sup>5</sup>. There has to be a better solution. At least a solution that doesn&#8217;t necessarily make big players more powerful than they are. Let&#8217;s support far-sighted artists who take the steps to adapt new conditions for now. And continue to discuss alternatives.</p>

<hr />

<p><strong>1</strong>: I know piracy doesn&#8217;t equal to P2P. It is possible to <a href="http://torrentfreak.com/elephants-dream/">share content legally</a> via P2P networks. Also P2P is not the only channel you can distribute pirate content. I just think they are interchangeable in the context of this post.</p>

<p><strong>2</strong>: It does matter. Let&#8217;s not go to the extreme. It would be a waste of time and energy for me to even subscribe to a web based service. Torrents are much easier and flexible for me. And I have a graphical browser with Flash capability.</p>

<p><strong>3</strong>: See <strong>2</strong> above.</p>

<p><strong>4</strong>: Money can buy freedom, any objections?</p>

<p><strong>5</strong>: I would like to remind those who would suggest Piracy Tax as a temporary solution; laws might end up being in effect for too long.</p>


<p>Related posts:<ol><li><a href='http://www.muhuk.com/2009/04/what-youth-needs-is-vision/' rel='bookmark' title='Permanent Link: What Youth Needs Is Vision'>What Youth Needs Is Vision</a></li>
<li><a href='http://www.muhuk.com/2009/04/galfthw-style-tutorial-on-python-coroutines/' rel='bookmark' title='Permanent Link: GALFTHW Style Tutorial On Python Coroutines'>GALFTHW Style Tutorial On Python Coroutines</a></li>
<li><a href='http://www.muhuk.com/2009/05/django-formfieldset/' rel='bookmark' title='Permanent Link: django-formfieldset'>django-formfieldset</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.muhuk.com/2009/09/piracy-tax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Psychic IRC Support In 10 Easy Steps</title>
		<link>http://www.muhuk.com/2009/06/psychic-irc-support-in-10-easy-steps/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=psychic-irc-support-in-10-easy-steps</link>
		<comments>http://www.muhuk.com/2009/06/psychic-irc-support-in-10-easy-steps/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 07:53:29 +0000</pubDate>
		<dc:creator>Atamert Ölçgen</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[irc]]></category>
		<category><![CDATA[share]]></category>

		<guid isPermaLink="false">http://www.muhuk.com/?p=253</guid>
		<description><![CDATA[This list is somewhat specific to Django and #django channel on freenode.net. Psychic support is what people are looking for when they expect others to just know their development environment and their code. If one doesn&#8217;t supply enough information on the problem, no matter how good a hacker the person on the other end of [...]]]></description>
			<content:encoded><![CDATA[<p>This list is somewhat specific to <a href="http://www.djangoproject.com/">Django</a> and <code>#django</code> channel on <a href="http://freenode.net/">freenode.net</a>.</p>

<p>Psychic support is what people are looking for when they expect others to <strong>just know</strong> their development environment and their code. If one doesn&#8217;t supply enough information on the problem, no matter how good a hacker the person on the other end of the conversation, it becomes a silly guessing game. So the following list is actually about avoiding psychic support and similar situations.</p>

<h3>What Not To Ask</h3>

<ul>
<li>Don&#8217;t ask to ask! Just ask your question. Don&#8217;t ever say &#8220;<em>I have a question about X, can anybody help me?</em>&#8220;. Even worse is &#8220;<em>Hello! Is anyone there?</em>&#8220;.</li>
<li>Don&#8217;t ask for <code>competency</code>. It&#8217;s unkind to try testing people whether they are worthy of your question or not. This&#8217;ll only decrease your chances to get an answer.</li>
<li>Don&#8217;t ask what&#8217;s already documented. This is the most frequent and the most disturbing problem in IRC support channels. Django is exceptionally well documented. Nobody wants to parrot docs just because you&#8217;re too lazy to read them.</li>
</ul>

<h3>Psychic Support? You&#8217;ll Have To Wait&#8230; Long.</h3>

<ul>
<li>Ideally you should supply related code with your question. But it&#8217;s understandable for beginners to not know what to paste. Even so it becomes annoying when the person asking the question has a <code>you-dont-need-to-know-that</code> attitude. If you know so much, why are you asking here?</li>
<li>Don&#8217;t paste in the channel. It&#8217;s unreadable, I can&#8217;t copy &amp; paste it for testing and worst of all you&#8217;re flooding the channel. If it&#8217;s more than 1 (in writing <code>one</code>) line, use a pasting service.</li>
<li>When pasting tracebacks always use the plaintext version. Don&#8217;t insist it&#8217;s plaintext when you have selected it with mouse from an HTML page and copied. Instead use <em>Switch to copy-and-paste view</em> link right next to <code>Traceback</code> header. Django is civilized.</li>
</ul>

<h3>Hit-N-Run</h3>

<ul>
<li>This is an unsolved mystery. Enter the chat room, send your question, leave as soon as you see it on screen&#8230; If you don&#8217;t get an answer immediately, don&#8217;t get discouraged. If there&#8217;s no activity, your message will be noticed when others check their clients<sup>1</sup>. If there&#8217;s activity and your message gets scrolled, you can repeat your question in reasonable intervals<sup>2</sup>. If you don&#8217;t have time to wait for and work through answers, you should postpone your question. Better not waste somebody else&#8217;s time for nothing.</li>
<li>IRC support is for practical problems. So if you are asking a question; please be kind enough to try out the proposed solutions and tell us about the results. Asking the same question again and again, even tough somebody has suggested a solution, won&#8217;t help you much. Instead try building on the topic, interact with whoever has joined the conversation and give feedback for their answers.</li>
</ul>

<h3>A Winning Effort Begins With Preparation</h3>

<ul>
<li>Django runs on Python. Python is a dynamic language. Just fire up the <em>Django shell</em><sup>3</sup> and try out different possibilities. Make this a habit and you&#8217;ll see it is much more effective to run a couple of commands than asking someone else to guess their result for you.</li>
<li>Again, read the relevant docs <em>before</em> you ask. Don&#8217;t expect the title of a documentation page to be your exact question. Just read whatever you can find on subject. If people see that you&#8217;ve done your homework they will be willing to give you more attention.</li>
<li>Google your question. If your question is generic enough there is probably a blog post about it somewhere. <a href="http://stackoverflow.com/">StackOverflow</a> has quite an impressive repertoire of Django related questions as well. In fact I suggest you to use SO for your non-trivial questions.</li>
</ul>

<hr />

<p><strong>1</strong>: Some of us have work to do you know. <img src='http://www.muhuk.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>

<p><strong>2</strong>: Reasonable depends on the number of messages and the number of joins/leaves. In my opinion you should wait 5 minutes at least.</p>

<p><strong>3</strong>: Use <code>manage.py shell</code> command to enter the <a href="http://docs.djangoproject.com/en/dev/ref/django-admin/#shell">Django shell</a>.</p>


<p>Related posts:<ol><li><a href='http://www.muhuk.com/2010/04/why-not-to-localize-community-support/' rel='bookmark' title='Permanent Link: Why Not To Localize Community Support'>Why Not To Localize Community Support</a></li>
<li><a href='http://www.muhuk.com/2009/05/django-formfieldset/' rel='bookmark' title='Permanent Link: django-formfieldset'>django-formfieldset</a></li>
<li><a href='http://www.muhuk.com/2009/07/django-renderformplain/' rel='bookmark' title='Permanent Link: django-renderformplain'>django-renderformplain</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.muhuk.com/2009/06/psychic-irc-support-in-10-easy-steps/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CVyolla.com: It&#8217;s Not OK To SPAM!</title>
		<link>http://www.muhuk.com/2009/06/cvyollacom-its-not-ok-to-spam/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=cvyollacom-its-not-ok-to-spam</link>
		<comments>http://www.muhuk.com/2009/06/cvyollacom-its-not-ok-to-spam/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 11:05:19 +0000</pubDate>
		<dc:creator>Atamert Ölçgen</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[competence]]></category>
		<category><![CDATA[identity theft]]></category>
		<category><![CDATA[netiquette]]></category>

		<guid isPermaLink="false">http://www.muhuk.com/?p=248</guid>
		<description><![CDATA[A regular surfer might not have proper netiquette. It is desirable, but I wouldn&#8217;t blame her if she makes something inappropriate. Learning rules and conventions of Internet takes time. As you get more and more exposed to different communities and tools and situations, you should pick it up. An Internet startup however is a completely [...]]]></description>
			<content:encoded><![CDATA[<p>A regular surfer might not have proper netiquette. It is desirable, but I wouldn&#8217;t blame her if she makes something inappropriate. Learning rules and conventions of Internet takes time. As you get more and more exposed to different communities and tools and situations, you should pick it up.</p>

<p>An Internet startup however is a completely different story. If you are doing business online you are supposed to know what you can and can not do. You can&#8217;t SPAM for instance. You just can&#8217;t. There&#8217;s no excuse for such an act from Internet companies. Correcting such mistakes is marginally harder than correcting technical mistakes. Once people mark you evil, it is painful to fix.</p>

<p>Here&#8217;s a summary what happened between a Turkish startup <a href="http://www.cvyolla.com/">CVyolla.com</a> and me last week. They are service that send your CV&#8217;s to companies.</p>

<h3>1. I Receive A CV From CVyolla.com</h3>

<p>This may not sound extraordinary, since that&#8217;s what they do. But I don&#8217;t have a corporate account with them, or any other kind of membership. I might have visited their homepage a couple of times, that doesn&#8217;t count as a sign up, does it? So <strong>CVyolla.com is SPAMming people</strong>.</p>

<p>I noticed a username (my email address) and a <a href="http://www.cvyolla.com/kurumsal/">login address</a> at the bottom of this message. So I thought I should check it out<sup>1</sup>.</p>

<h3>2. CVyolla.com Might Be Stealing Your Identity Too</h3>

<p>Before I could log in, I had to request my password via <em>forgot my password</em> link. I couldn&#8217;t possibly remember a password that I have never created, could I? It became clear once I logged in (see image below). Company name <em>Muhuk</em>, WTF? <strong>CVyolla.com is <a href="http://en.wikipedia.org/wiki/Identity_theft">creating accounts on your behalf</a></strong> to inflate their company portfolio. This is not just uncool, this is <em>immoral</em>. Shame on you CVyolla.com.</p>

<div id="attachment_250" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.muhuk.com/wp-content/uploads/2009/06/cvyolla.jpeg"><img src="http://www.muhuk.com/wp-content/uploads/2009/06/cvyolla-300x291.jpg" alt="CVyolla.com Stealing My Identity" title="CVyolla.com Stealing My Identity" width="300" height="291" class="size-medium wp-image-250" /></a><p class="wp-caption-text">CVyolla.com Stealing My Identity</p></div>

<p>I have never signed up in your service, I have never accepted your terms of service. How impudent of you to think you can just create a mock account on my behalf and start sending stuff to <em>my personal e-mail</em>!</p>

<h3>3. When Will Companies Learn Not To Reply With Stupid Anonymous E-mails</h3>

<p>Despite things being clear enough, I wanted to hear the story from their side. Maybe there has been a mistake of some sort. Or maybe they would understand what they have been doing is wrong. I would be writing a completely different post today if they had just accepted both SPAMming and identity theft were wrong and assured me that they&#8217;d stop doing it. But, no. Instead they have sent me some nonsense reply. Before I get into the contents of this reply, there&#8217;s one very important issue with this reply.</p>

<p>Just as many other Internet companies, <strong>CVyolla.com was lacking the decency to reply my message with a real name and a real e-mail address</strong>. See, I am sending you with my real name, as a person, naturally I expect to communicate with a person. It is simply rude to reply your visitors/customers with a faceless nameless e-mail. If you are having difficulty to figure out how to configure your e-mails, drop me a line and I&#8217;ll try to help, seriously. Show some respect to your correspondents.</p>

<p>OK, back to the contents of CVyolla.com&#8217;s reply to my inquiry, faceless representative says:</p>

<ol>
<li>They have taken my e-mail address from my webpage<sup>2</sup> or from a job listing<sup>3</sup> or a public source such as an union or trade chamber<sup>4</sup>.</li>
<li>They have sent me an e-mail telling me that I can opt-out before they started sending me SPAM.. erm, notifications.</li>
<li>Since I haven&#8217;t opt out, they have decided that they can send their SPAM. But now <em>upon my request</em> they have frozen my account.</li>
</ol>

<p>Let&#8217;s see;</p>

<ol>
<li>You probably found my e-mail address in an illegally collected list that you have bought. I seriously doubt you&#8217;d ever come read my blog and collect my e-mail address then. Anyway, regardless of how you found my e-mail address, you have no right to SPAM me.</li>
<li>&#8220;Oh, we have given you an opt-out option&#8221; is just such a miserable, lame excuse it makes me throw up. Hell with your opt-out, where have you been the last eight years? It&#8217;s probably marked as SPAM instantly, and you would find that convenient, wouldn&#8217;t you?</li>
<li>What account? I never signed up! It&#8217;s you deceiving yourself and those who entrusted their CV&#8217;s to you.</li>
</ol>

<p>I wish CVyolla.com handled this a little better. If you don&#8217;t manage your online conversations professionally, or if you try the same management strategy with offline customer relations, you fail. If you SPAM, you fail. If you tell people crap like <em>opt-out</em>, you fail. If you make up accounts on other people/entities without their consent, you fail big time. I hope they correct these wrongs soon.</p>

<p><strong>PS</strong>: Just as I was preparing to submit this post, I got another CV from CVyolla.com. So much from freezing my account upon my request, eh! Mega-fail, if you ask me.</p>

<hr />

<p><strong>1</strong>: Having a terrible memory, I though for a second, maybe I had signed up once and then I forgot about it. But that&#8217;s not the case, read on.</p>

<p><strong>2</strong>: I don&#8217;t display this e-mail in my work site, it is only displayed in my personal site. Where there is no mention to work related stuff.</p>

<p><strong>3</strong>: This e-mail is not mentioned in any job listing.</p>

<p><strong>4</strong>: Again, it&#8217;s not listed in such places.</p>


<p>Related posts:<ol><li><a href='http://www.muhuk.com/2009/05/sad-state-of-web-development-industry-in-turkiye/' rel='bookmark' title='Permanent Link: Sad State of Web Development Industry in Türkiye'>Sad State of Web Development Industry in Türkiye</a></li>
<li><a href='http://www.muhuk.com/2009/11/xing-turkiye-social-media-win/' rel='bookmark' title='Permanent Link: XING Türkiye Social Media Win'>XING Türkiye Social Media Win</a></li>
<li><a href='http://www.muhuk.com/2010/02/top-5-untrends-according-to-me/' rel='bookmark' title='Permanent Link: Top 5 Untrends According To Me'>Top 5 Untrends According To Me</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.muhuk.com/2009/06/cvyollacom-its-not-ok-to-spam/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Sad State of Web Development Industry in Türkiye</title>
		<link>http://www.muhuk.com/2009/05/sad-state-of-web-development-industry-in-turkiye/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=sad-state-of-web-development-industry-in-turkiye</link>
		<comments>http://www.muhuk.com/2009/05/sad-state-of-web-development-industry-in-turkiye/#comments</comments>
		<pubDate>Sun, 24 May 2009 09:14:03 +0000</pubDate>
		<dc:creator>Atamert Ölçgen</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[competence]]></category>
		<category><![CDATA[customer relations]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ruby on rails]]></category>

		<guid isPermaLink="false">http://www.muhuk.com/?p=219</guid>
		<description><![CDATA[I met the founders of kariyerGENÇ last week. It is job search service for new graduates. During our conversation Sinan asked told me I should sign up too. I must say I&#8217;ve found it flattering that he considered me young. So I signed up. The service is built around the main value of building your [...]]]></description>
			<content:encoded><![CDATA[<p>I <a href="http://blog.kariyergenc.com/14-mayista-etohumdayiz/">met</a> the founders of <a href="http://kariyergenc.com/">kariyerGENÇ</a> last week. It is job search service for new graduates. During our conversation Sinan asked told me I should sign up too. I must say I&#8217;ve found it flattering that he considered me <em>young</em>. So I signed up. The service is built around the main value of building your CV online easily. OK, let&#8217;s build a CV. Aren&#8217;t CV&#8217;s fun.</p>

<p>I have edited and edited and edited&#8230; Finally, last section; proficiencies. Huh, which proficiencies could a new graduate possibly have? Let&#8217;s make it the last part.<sup>1</sup> I scrolled through the dropdown of options to find Python and Django. No Python! Unsurprisingly no Django. But wait, the list doesn&#8217;t have Ruby, RoR, LISP either. But they included some <em>programming languages</em> I have never heard of; like <strong>HTML</strong>. What is this HTML programming language?</p>

<p>Basically I was left with the choices of Java and C. I couldn&#8217;t select them because neither is my main programming language. I can only select them after I select Python. So I left that section blank and sent them a contact form thing. It&#8217;s not cool not having an e-mail in your contact us section guys. If you are concerned about SPAM there are ways to evade e-mail harvesting bots. Please don&#8217;t be afraid of people who prefer using e-mail. I got a timely reply. From a <em>nobody</em>. Again, not cool. I am person and I&#8217;d like to communicate with another person. It&#8217;s OK to publish a generic e-mail on the site. But the reply should come from a employee e-mail and contain the employees name. I give you my name and e-mail when I contact you, right? You should have the decency to do the same when you reply.</p>

<p>Anyway, the reply I got was brief. In short it said &#8220;OK, we&#8217;ll do it.&#8221; Nice. Except they didn&#8217;t. I checked yesterday and they still had <strong>HTML programming language</strong> and not Python. Oh, well. So much for the orange ties. I deleted my account for the reason of being totally useless. It could be useful feedback if you asked why, when your users delete their accounts, you know?</p>

<p>In fact kariyerGENÇ is not doing it wrong. They&#8217;re just taking a picture of The Industry. The picture is correct, The Industry is doing it wrong. But that&#8217;s another topic for discussion<sup>2</sup>. What was disappointing for me was the lack of agile in kariyerGENÇ. I don&#8217;t mean <em>agile methodology</em> here, I mean <strong>agile technology</strong>. Technology and infrastructure that changes and adopts fast. For instance; how long would it take to make the change in a Django project? Yes, Django. The framework most people ignore or haven&#8217;t even heard of. You would just log-in the admin, add a new <em>proficiency</em>, save, optionally run a custom management command. 10 minutes at most.</p>

<p>It doesn&#8217;t matter much even if they add new proficiencies now. First of all a fixed list of options doesn&#8217;t work well where there are virtually unlimited possibilities. Second of all that dropdown is hideous, and increasing the number of options will only make it worse. Instead they should just let people tag themselves, WordPress style. Django-tagging does that automagically. You know, Django, the framework you don&#8217;t list in your proficiencies.</p>

<h3>What Most People Agree On Is Not Necessarily The Best</h3>

<p>The language for web development in Türkiye is PHP. Java is on the rise, in a couple of years it will be as popular as PHP. I am not kidding myself; these two and that horrible propriety thing that I don&#8217;t even want to name are industry standart in the world. But they also use other technologies. At least they experiment. At least they know that other alternatives exist. Here those minorities doesn&#8217;t even exist.</p>

<p>I frequently hear people saying &#8220;<strong>Python is a toy language</strong>&#8220;. Because for them there are <em>serious, proper programming languages for grown-ups</em> and <em>serious, proper frameworks for grown-ups</em> as <a href="http://www.youtube.com/watch?v=i6Fr65PFqfk">Cal Henderson</a> said &#8230;and everything else is a <em>toy</em>. You can&#8217;t use Python/Django for anything professional. Well, <a href="http://www.markafoni.com/">Markafoni</a> did, with much success.</p>

<p>Think about it for a second; if what the majority have generally chosen the best, wouldn&#8217;t we live in a better society &amp; environment than this? Just think about it.</p>

<p>Meanwhile I&#8217;ll be playing with my toys. <img src='http://www.muhuk.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>

<hr />

<p><strong>1</strong>: Actually kariyerGENÇ got it right here; in reality most of the new graduates have no proficiency. So, they&#8217;ll pick <strong>I know Word and Excel</strong> here even though they aren&#8217;t really proficient.</p>

<p><strong>2</strong>: &#8230;and flame wars.</p>


<p>Related posts:<ol><li><a href='http://www.muhuk.com/2010/02/web-site-performance-optimizations/' rel='bookmark' title='Permanent Link: Web Site Performance Optimizations'>Web Site Performance Optimizations</a></li>
<li><a href='http://www.muhuk.com/2009/11/xing-turkiye-social-media-win/' rel='bookmark' title='Permanent Link: XING Türkiye Social Media Win'>XING Türkiye Social Media Win</a></li>
<li><a href='http://www.muhuk.com/2009/05/serving-static-media-in-django-development-server/' rel='bookmark' title='Permanent Link: Serving Static Media In Django Development Server'>Serving Static Media In Django Development Server</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.muhuk.com/2009/05/sad-state-of-web-development-industry-in-turkiye/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
