<?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>zytzagoo's den. &#187; Reality check</title>
	<atom:link href="http://zytzagoo.net/blog/categories/reality-check/feed/" rel="self" type="application/rss+xml" />
	<link>http://zytzagoo.net/blog</link>
	<description>On life, web dev and everything in between.</description>
	<lastBuildDate>Fri, 03 Feb 2012 18:00:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>The Facebook ads of the (imminent) future</title>
		<link>http://zytzagoo.net/blog/2010/11/25/the-facebook-ads-of-the-imminent-future/</link>
		<comments>http://zytzagoo.net/blog/2010/11/25/the-facebook-ads-of-the-imminent-future/#comments</comments>
		<pubDate>Thu, 25 Nov 2010 11:55:11 +0000</pubDate>
		<dc:creator>zytzagoo</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[Reality check]]></category>

		<guid isPermaLink="false">http://zytzagoo.net/blog/?p=353</guid>
		<description><![CDATA[The present Internet advertising works. It generates profit (everyone knows the famous and often quoted moment of Internet advertising spending surpassing TV in the UK back in 2009). Shitload of business models revolve around one form of advertising or another. Facebook&#8217;s revenues come from (surprise!) advertising. They only serve stuff from Microsoft&#8217;s advertising inventory. The [...]]]></description>
			<content:encoded><![CDATA[<h2>The present</h2>
<p>Internet advertising works. It generates profit (everyone knows the famous and often quoted moment of Internet advertising spending surpassing TV in the UK back in 2009). Shitload of business models revolve around one form of advertising or another.</p>
<p>Facebook&#8217;s revenues come from (surprise!) advertising. They only serve stuff from Microsoft&#8217;s advertising inventory. The CTR is awful compared to most major websites. So, basically, advertising on facebook.com generally sucks. It generates revenues due to sheer volume. But from an advertiser&#8217;s perspective it sucks. From the user&#8217;s perspective too. They don&#8217;t care about ads <em>on</em> facebook. <a href="http://en.wikipedia.org/wiki/Facebook#Company">Source</a>.</p>
<h2>The future</h2>
<p>Simple. Start serving that same inventory everywhere, as in, all over the web. Maybe even remove standard banner advertising altogether from facebook.com.<br />
Yes, they can even make the advertisers bid for placements in pretty much the same way Google is auctioning their ad slots. Or not, it doesn&#8217;t really matter.</p>
<h2>Wait, what?</h2>
<p>Facebook&#8217;s technical infrastructure for dominating the advertising market is already built: one has to try really, really hard to find a page on the Web today that hasn&#8217;t got a Like, Share or some other type of Facebook&#8217;s Javascript widget. Through that widget they can place <strong>whatever</strong> they want. Not just the boring (con)textual ads &#8212; think standard banner formats, floaters, takeovers (interstitials), expanders, wallpapers or any other new form of promotion that&#8217;ll eventually be developed.</p>
<p>The user/visitor of an external site doesn&#8217;t even have to know that the ad came via Facebook. He doesn&#8217;t really care &#8212; it&#8217;s highly targeted, caters to his every need and desire, and was just what he was thinking of, or searched for, or browsed for, or [insert your advertising wet dream here] recently anyway.</p>
<h2>And then there was data&#8230;</h2>
<p>Facebook&#8217;s edge over every other ad platform today is: <em>data</em>. Tons of organic attention data, the social graph data, combined with detailed demographics as a cherry on top. Think about that for a second. OK, now consider that even AdWord&#8217;s demographic targeting is <a href="http://adwords.google.com/support/aw/bin/answer.py?hl=en&#038;answer=33743">limited to users from the United States only</a>. Now consider <a title="from the Facebook statistics page" href="http://www.facebook.com/press/info.php?statistics">this</a>: <em>About 70% of Facebook users are outside the United States</em>, <em>More than 150 million people engage with Facebook on external websites every month</em>&#8230; You get the picture.</p>
<p>I don&#8217;t have to remind you that Facebook knows <em>everything</em> about their users, even when they&#8217;re not on Facebook directly, but just browsing a page that has the Like button on it. Combined with the fact that every page/website is automatically an ad publisher (without anyone doing any extra work on the publishing end), we have ourselves a recipe for advertising domination satisfying every advertiser&#8217;s wet dream.</p>
<h2>What&#8217;s missing?</h2>
<p>Basically nothing. Perhaps just a few tiny changes in Facebook Platform Policies. You&#8217;ve read those before using the platform, right? :)<br />
<a href="http://developers.facebook.com/policy/">They currently state</a>: &#8220;We can change these Platform Policies at any time without prior notice as we deem necessary. Your continued use of Platform constitutes acceptance of those changes.&#8221;</p>
<h2>P.S.</h2>
<p>Yes, other major players have their own widgets, but nowhere near the numbers of Facebook&#8217;s &#8220;installed userbase&#8221;, and nowhere near the amount of data about their users. Quick recap as best as I can recall right now:</p>
<ul>
<li>Google Analytics &#8212; doable, but I&#8217;m not sure they have the demographic data. No social graph either. Not at the Facebook scale anyway. And I don&#8217;t think there are quite as many GA script tags out there as there are Like buttons. 2 million websites use it, according to <a href="http://trends.builtwith.com/analytics/Google-Analytics">this</a>. The new Facebook Like debuted in April this year (at f8 conference), and according to <a href="http://mashable.com/2010/09/29/facebook-like-stats/">this</a> it is also in the 2 million range already.</li>
<li>Youtube (which is Google&#8217;s) has the potential due to volume of users and data, but they&#8217;re trapped within Flash, and can basically serve ads only inside the Flash container. They do that, partnering with big copyright owners. They&#8217;re <a href="http://www.nytimes.com/2010/09/03/technology/03youtube.html">&#8220;hovering near profitability&#8221;</a> &#8212; which is a polite way of saying they&#8217;re still loosing money with Youtube.</li>
<li><a href="http://www.readwriteweb.com/archives/add_to_my_foursquare_button.php">Forsqure is giving the idea an interesting spin</a>, although it remains to be seen how many web pages will &#8220;install&#8221; the widget &#8212; Facebook can probably act <em>right now</em>.</li>
<li>Myspace could maybe use their audio player, but it would still constrain the ad placement to the myspace.com profile pages. So not that interesting to advertisers (compared to pushing your ad automatically to the whole www)</li>
<li>Yahoo bet outside the browser with Konfabulator/Widgets back in 2005. Cool platform, but ultimately not very useful (from a revenue-generating online advertising perspective), the original authors left Yahoo, and the future is <em>in</em> the browser anyway. Right now, I can&#8217;t think of any massively deployed javascript widgets running in the browser that belong to Yahoo (in one way or another). There&#8217;s YUI, but that&#8217;s an entirely different game. Maps maybe, but again, not so widely spread.</li>
]]></content:encoded>
			<wfw:commentRss>http://zytzagoo.net/blog/2010/11/25/the-facebook-ads-of-the-imminent-future/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The importance of peers at the work place</title>
		<link>http://zytzagoo.net/blog/2009/11/19/the-importance-of-peers-at-the-work-place/</link>
		<comments>http://zytzagoo.net/blog/2009/11/19/the-importance-of-peers-at-the-work-place/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 02:04:16 +0000</pubDate>
		<dc:creator>zytzagoo</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Reality check]]></category>
		<category><![CDATA[Webdev]]></category>

		<guid isPermaLink="false">http://zytzagoo.net/blog/?p=307</guid>
		<description><![CDATA[tl;dr: What? I cannot stress how important it is to have someone to share your accomplishments / suffering with at work. Often overlooked, this is one of the most important feats to look for in your future employer&#8217;s offering. Make no mistake about it. Case in point I was having a really hard time today [...]]]></description>
			<content:encoded><![CDATA[<h2>tl;dr: What?</h2>
<p>I cannot stress how important it is to have someone to share your accomplishments / suffering with at work. Often overlooked, this is one of the most important feats to look for in your future employer&#8217;s offering. Make no mistake about it.</p>
<h2>Case in point</h2>
<p>I was having a really hard time today with some of Croportal&#8217;s partner feeds. Two unrelated issues came up, both having something to do with parsing Atom feeds using Zend_Feed:<br/><br/></p>
<ul>
<li>A certain site published it&#8217;s feed in Atom format using non-absolute URIs within the <code>&lt;content&gt;</code> element. That&#8217;s not a problem <em>per se</em>, since the spec allows it (and <a href="http://www.atomenabled.org/developers/syndication/atom-format-spec.php#atom.documents">defines</a> how to deal with that). However, Zend_Feed has no knowledge of what&#8217;s going on (and that&#8217;s probably ok, since it&#8217;s a general purpose lib). However, publishers place whatever HTML content they want within their <code>&lt;content&gt;</code> element and expect the same behaviour from aggregators as they get from browsers when they open their feed URLs in them (ie. Firefox). This means you have to do a shitload of &#8220;magic&#8221; on your end. And <strong>that shit ain&#8217;t trivial</strong>.</li>
<li>Another site published their feed using Atom as well, except they decided to use the (rarely used) <code>&lt;content type="xhtml"&gt;</code> feature of the Atom protocol. Which is all fine and dandy untill you actually have to pull the content and display it on your end (being an aggregator). The spec is <a href="http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.1.3.3">somewhat vague and yet pretty specific at the same time</a>. Except it doesn&#8217;t cover what to do in cases such as this:

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;">...
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;content</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;xhtml&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;http://www.w3.org/1999/xhtml&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;p<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Paragraph with an <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;img</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">&quot;whatever.jpg&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span><span style="color: #339933;">&lt;![CDATA[This is &lt;strong&gt;XHTML&lt;/strong&gt; content.]]&gt;</span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/p<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/content<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
...</pre></div></div>

<p>Which kind of sucks, since you&#8217;re on your own now. I have an actual publisher with such a feed. And the feed validates. What does one do? Well, you start introducing crap code into your codebase. Shit such as this, to handle the case described above:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">...</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$item</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">content</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$item</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">content</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$item</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">content</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'xhtml'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$item_simple</span> <span style="color: #339933;">=</span> <span style="color: #990000;">simplexml_import_dom</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$item</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">content</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getDOM</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$item_summary</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$item_simple</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">asXML</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #666666; font-style: italic;">// end-tag is fixed in form so it's easy to replace</span>
    <span style="color: #000088;">$item_summary</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&lt;/content&gt;'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #000088;">$item_summary</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #666666; font-style: italic;">// remove start-tag, possibly including attributes and white space</span>
    <span style="color: #000088;">$item_summary</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/&lt;content[^&gt;]*&gt;/i'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #000088;">$item_summary</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #339933;">...</span></pre></div></div>

<p>This sucks on so many levels it&#8217;s not even funny. Zend_Feed&#8217;s <code>$item->content()</code> method returns only the raw text, but my use case requires the surrounding elements as well (images etc). So, I hack my way around all this using SimpleXML which allows me to (somewhat) easily dump the structure into a somewhat acceptable form of HTML.</p>
<p>Of course, later on you have to call <code>strip_tags()</code> on content such as this (to display it safely on your end), but &#8212; surprise, surprise &#8212; you run into another issue: if you have a <code>&lt;![CDATA[</code> string anywhere within a larger string that you call <code>strip_tags()</code> on, you&#8217;re gonna get an empty string back as a result. How&#8217;s that for fun, eh? This is where you start pulling your hair out and thinking male prostitution ain&#8217;t such a bad line of work after all.</li>
</ul>
<p>Folks, I&#8217;m not making this shit up. This is real world PHP on a (relatively) large scale project.</p>
<h2>End result</h2>
<p>Several hours and hundreds of lines of code later &#8212; both issues are fixed. And everything works flawlessly. Except no one but me is aware of the fact. </p>
<p>No one in the entire company hasn&#8217;t got a fucking clue about what has transpired today. Or why shit like that matters. Or how much future money it has saved. Or that I&#8217;ve written an URL parser library that can be used generically for any possible scenario that deals with relative/absolute URL conversion, URL joining, URL parsing etc.</p>
<p>Worst of all, no one could hear (and understand) my cries about how horribly broken Zend_Feed, parse_url(), strip_tags(), DOM etc. are.</p>
]]></content:encoded>
			<wfw:commentRss>http://zytzagoo.net/blog/2009/11/19/the-importance-of-peers-at-the-work-place/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Twitter lists &#8212; what they&#8217;re really about</title>
		<link>http://zytzagoo.net/blog/2009/11/02/twitter-lists-what-theyre-really-about/</link>
		<comments>http://zytzagoo.net/blog/2009/11/02/twitter-lists-what-theyre-really-about/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 17:26:39 +0000</pubDate>
		<dc:creator>zytzagoo</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[Reality check]]></category>
		<category><![CDATA[twitter tagging people data]]></category>

		<guid isPermaLink="false">http://zytzagoo.net/blog/?p=280</guid>
		<description><![CDATA[Twitter lists have hit the interwebz recently. Cool, I guess. Everyone&#8217;s talking about whether they should be public or private, if it&#8217;s all just another pissing popularity contest, how the &#8220;a-list&#8221; is getting even more popular, if it means this or that&#8230; None of it matters. What everyone hasn&#8217;t yet picked up on (but they [...]]]></description>
			<content:encoded><![CDATA[<p>Twitter lists have hit the interwebz recently. Cool, I guess. </p>
<p>Everyone&#8217;s talking about whether they should be public or private, if it&#8217;s all just another <del datetime="2009-11-02T16:42:09+00:00">pissing</del> popularity contest, how the &#8220;a-list&#8221; is getting even more popular, if it means this or that&#8230; None of it matters.</p>
<p>What everyone hasn&#8217;t yet picked up on (but they will, eventually) is this: <strong>Twitter just added people tagging</strong>. What? Yes, people tagging.</p>
<p>And it couldn&#8217;t be easier, and the users aren&#8217;t even aware they&#8217;re doing it, and practically every existing and future twitter user will do it at some point. Just imagine the power of having that kind of data. Every user tagged with their interests, location, whatever you need. It&#8217;s priceless.</p>
<p>Think about it. Twitter is (mostly) about people. To create a list, you need to name it. Adding someone to that created list is just a click away, and you&#8217;ve just made a &#8220;tagging&#8221; statement about that person. You&#8217;ve assigned a topic/name/whatever (a tag) to a person.</p>
<p>Now Twitter will know how (what/who/when/with etc.) others associate with you. And they&#8217;ll know what you associate with others. Those tags describe you, and your group to the point of being practically exact science (after a while of gathering data). That means your and actions of those around you become easily predictable &#8212; or at the very least &#8212; &#8220;guidable&#8221;.</p>
<p>Once they have that kind of data, getting a 1$ or 10$ revenue <em>per user</em> (that&#8217;s Twitter&#8217;s &#8220;plan&#8221;) is peanuts. No one else has that kind of data. It&#8217;s no wonder every major player in the business decided to strike a deal about &#8220;real-time data&#8221; with them.</p>
<p>P.S.<br />
What they&#8217;ve done with the API ecosystem is equally amazing. The Twitter experience has nothing to do with the twitter.com website, and everything to do with applications built by third-party developers. That&#8217;s for a reason too &#8212; you can&#8217;t focus on the core of your business while you&#8217;re being pestered with phone X not supporting feature Y or browser Z not playing nice on platform W.</p>
<p>The core business is gathering and munging incredible amounts of structured data about people, not relaying 140-character-long messages. Don&#8217;t forget that.</p>
]]></content:encoded>
			<wfw:commentRss>http://zytzagoo.net/blog/2009/11/02/twitter-lists-what-theyre-really-about/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to make sure your web-related project FAILs</title>
		<link>http://zytzagoo.net/blog/2009/01/05/how-to-make-sure-your-web-related-project-fails/</link>
		<comments>http://zytzagoo.net/blog/2009/01/05/how-to-make-sure-your-web-related-project-fails/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 21:04:59 +0000</pubDate>
		<dc:creator>zytzagoo</dc:creator>
				<category><![CDATA[Reality check]]></category>

		<guid isPermaLink="false">http://zytzagoo.net/blog/?p=85</guid>
		<description><![CDATA[A quick checklist of what to do when you want your web project to FAIL (if not instantly, then over a prolonged period of time during which no one involved will be happy): under no circumstances are you to acquire a staging/testing server with the same setup as the production machine(s) &#8212; what a waste [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.manast.com/2007/10/17/study-fail/"><img class="aligncenter size-full wp-image-94" style="border:0" title="Image taken from http://www.manast.com/2007/10/17/study-fail/" src="http://zytzagoo.net/blog/wp-content/uploads/2009/01/study-equals-fail.png" alt="Image taken from http://www.manast.com/2007/10/17/study-fail/" width="400" height="308" /></a></p>
<p>A quick checklist of what to do when you want your web project to FAIL (if not instantly, then over a prolonged period of time during which no one involved will be happy):</p>
<ul>
<li>under no circumstances are you to acquire a staging/testing server with the same setup as the production machine(s) &#8212; what a waste of resources! The bang-for-buck ratio clearly steers in the branded coffee mugs and t-shirts direction;</li>
<li>outsource your office IT infrastructure;</li>
<li>make sure your dev team is understaffed and make sure you over-budget in the bullshit departments &#8212; after all, they&#8217;re the cream of the crop, bringing in the money with every little thing they do;</li>
<li>tolerate a lot of bullshit, incompetence and poor quality work for sustained periods of time &#8212; that way you&#8217;ll make sure that anyone actually worth a damn within the team/company &#8212; leaves.</li>
<li>make sure to add additional hoops &amp; hurdles which get in the way of your developers getting things done; These include, but aren&#8217;t limited to:
<ul>
<li>have them work behind very restrictive firewalls and/or proxies;</li>
<li>do not enable VPN access into the company network;</li>
<li>while you&#8217;re at it, make sure to limit their mailbox sizes too, so they cannot access work stuff from home with <acronym title="Outlook Web Access">OWA</acronym> either;</li>
<li>for God&#8217;s sake, never give them administrative or power user privileges on their machines;</li>
</ul>
</li>
<li>don&#8217;t do any usability tests/studies, focus groups, alpha/beta previews and other silly shenanigans (which require experts in their respective fields and time to process properly) &#8212; have sales, marketing and other departments chime in with what they know &#8220;just works and looks great&#8221;;</li>
<li>have a strong business plan somewhere along the lines of: &#8220;we&#8217;ll sell advertising space&#8221;. Then proceed to evaluate the project&#8217;s success on the number of banners sold, their CTRs, page views, bounce rate and similar minutiae that are completely irrelevant and easily faked/bought anyways;</li>
<li>keep looking over your shoulder constantly in fright of competition; if you look hard and often enough, there&#8217;s a strong chance you won&#8217;t get any; If God hates you and decides to strike down upon You (with Furious Vengeance), absolutely make sure to completely ignore them. Ignore the mistakes they&#8217;ve made, do not learn from what they did right, and stick to your (time and time again) proven business plan from above; If that doesn&#8217;t work, try adding extra banner positions.</li>
<li>ignore real users&#8217; feedback;</li>
<li>invest in or bet on a software solution / technology that you know nothing about, that your developers haven&#8217;t had a chance to work with / test fully yet (or for which you&#8217;re unable to hire additional (proficient) developers); bonus points awarded for the software/technology still being in the concept stages (with nothing but .pps slides to show for and a vague alpha/beta release date) and you committing your team to an impossible go-live deadline;</li>
<li>make sure non-technical people are managing technical people;</li>
<li>ignore backups;</li>
<li>have looong, boring, unproductive meetings;</li>
<li>institute weekly and/or monthly reporting on as many levels as possible; it doesn&#8217;t really matter that the report contents are bullshit and no real work was done; Make sure to explain that it&#8217;s not because you have no confidence, or that you&#8217;re afraid to relinquish control (your strong urge to know and micro-manage everything) &#8212; it&#8217;s because the higher-ups said so, and that&#8217;s just how it&#8217;s done.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://zytzagoo.net/blog/2009/01/05/how-to-make-sure-your-web-related-project-fails/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The new rtl.hr &#8212; 0wned by yours truly</title>
		<link>http://zytzagoo.net/blog/2008/11/14/the-new-rtlhr-0wned-by-yours-truly/</link>
		<comments>http://zytzagoo.net/blog/2008/11/14/the-new-rtlhr-0wned-by-yours-truly/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 02:03:16 +0000</pubDate>
		<dc:creator>zytzagoo</dc:creator>
				<category><![CDATA[Reality check]]></category>
		<category><![CDATA[Webdev]]></category>

		<guid isPermaLink="false">http://zytzagoo.net/blog/?p=87</guid>
		<description><![CDATA[The new RTL Hrvatska website has been redesigned recently. And re-coded. It&#8217;s looking fresh and whatnot, but I&#8217;m not gonna talk about the site&#8217;s design. Well, not visual design anyway. I&#8217;d like to talk about the importance of knowing what the f**k you&#8217;re doing if you&#8217;re getting paid to do it. Why? Here&#8217;s why: http://www.rtl.hr/data/zyt.was.here.html [...]]]></description>
			<content:encoded><![CDATA[<p>The new <a href="http://www.rtl.hr">RTL Hrvatska</a> website has been redesigned recently. And re-coded. It&#8217;s looking fresh and whatnot, but I&#8217;m not gonna talk about the site&#8217;s design. Well, not visual design anyway.</p>
<p>I&#8217;d like to talk about the importance of <strong>knowing what the f**k you&#8217;re doing if you&#8217;re getting paid to do it</strong>.</p>
<p>Why? Here&#8217;s why: <a href="http://www.rtl.hr/data/zyt.was.here.html">http://www.rtl.hr/data/zyt.was.here.html</a></p>
<p><a href="http://zytzagoo.net/blog/wp-content/uploads/2008/11/wwwrtlhrzytwashere.png"><img class="alignnone size-medium wp-image-88" title="RTL.hr remote code exploit executed" src="http://zytzagoo.net/blog/wp-content/uploads/2008/11/wwwrtlhrzytwashere-300x187.png" alt="" width="300" height="187" /></a></p>
<p>Big deal, eh? Well, here&#8217;s another gem:</p>
<pre><code>total 84
drwxrwxr-x  14 trikoder trikoder 4096 Nov 13 12:23 .
drwxrwxr-x   5 trikoder trikoder 4096 Sep  3 13:49 ..
-rw-rw-r--   1 trikoder trikoder  266 Nov 13 12:23 .htaccess
drwxrwxr-x  17 trikoder trikoder 4096 Sep 12 17:13 _templates
drwxrwxr-x   2 trikoder trikoder 4096 Sep  8 12:42 admin
</code><code>...</code></pre>
<p>That&#8217;s the begging of rtl.hr&#8217;s public_html directory listing in case you&#8217;re wondering. No, I don&#8217;t have FTP access. Yes, I did manage to run a remote code execution exploit. With nothing else but a web browser.</p>
<p>Takeaway lessons for the <a href="http://www.trikoder.net/">Trikoder</a> crew (the guys responsible for the new site):</p>
<ul>
<li>disable register_globals</li>
<li>keep your external libraries up to date!</li>
</ul>
<p>Good luck and Godspeed, you&#8217;ll need it!</p>
<p>P.S.<br />
The Trikoder crew has been contacted with full details on what&#8217;s wrong, how to fix it etc.</p>
]]></content:encoded>
			<wfw:commentRss>http://zytzagoo.net/blog/2008/11/14/the-new-rtlhr-0wned-by-yours-truly/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Masters of Zango: Click OK to cancel</title>
		<link>http://zytzagoo.net/blog/2008/08/30/masters-of-zango-click-ok-to-cancel/</link>
		<comments>http://zytzagoo.net/blog/2008/08/30/masters-of-zango-click-ok-to-cancel/#comments</comments>
		<pubDate>Sat, 30 Aug 2008 14:51:55 +0000</pubDate>
		<dc:creator>zytzagoo</dc:creator>
				<category><![CDATA[Reality check]]></category>

		<guid isPermaLink="false">http://zytzagoo.net/blog/?p=74</guid>
		<description><![CDATA[Imagine the horror of regular users having this nicely designed modal dialog shoved to their face upon arriving to a website: Those fortunate enough to know better go for the cancel button immediately. But Zango takes care of them! Upon hitting cancel, the unsuspecting masses are presented with this lovely confirm dialog box: The confirm [...]]]></description>
			<content:encoded><![CDATA[<p>Imagine the horror of regular users having this nicely designed modal dialog shoved to their face upon arriving to a website:</p>
<p><a href="http://zytzagoo.net/blog/wp-content/uploads/2008/08/zango-bullshit-1.png"><img class="alignnone size-full wp-image-75" title="Zango modal dialog" src="http://zytzagoo.net/blog/wp-content/uploads/2008/08/zango-bullshit-1.png" alt="" width="500" height="332" /></a></p>
<p>Those fortunate enough to know better go for the cancel button immediately.<br />
But Zango takes care of them! Upon hitting cancel, the unsuspecting masses are presented with this lovely confirm dialog box:</p>
<p><a href="http://zytzagoo.net/blog/wp-content/uploads/2008/08/zango-bullshit-2.png"><img class="alignnone size-full wp-image-76" title="Zango confirm dialog" src="http://zytzagoo.net/blog/wp-content/uploads/2008/08/zango-bullshit-2.png" alt="" width="500" height="332" /></a></p>
<p>The confirm dialog states:</p>
<blockquote><p>Are you sure you want to cancel? Zango content on this and other websites is free if you install Zango programs. You can easily uninstall Zango via Add/Remove Programs. Click &#8220;OK&#8221; to cancel, or click &#8220;Cancel&#8221; to continue the installation and get free access to Zango premium content and websites.</p></blockquote>
<p>Brilliant.</p>
]]></content:encoded>
			<wfw:commentRss>http://zytzagoo.net/blog/2008/08/30/masters-of-zango-click-ok-to-cancel/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>HRT vs BBC</title>
		<link>http://zytzagoo.net/blog/2008/05/15/hrt-vs-bbc/</link>
		<comments>http://zytzagoo.net/blog/2008/05/15/hrt-vs-bbc/#comments</comments>
		<pubDate>Thu, 15 May 2008 09:28:19 +0000</pubDate>
		<dc:creator>zytzagoo</dc:creator>
				<category><![CDATA[Elsewhere]]></category>
		<category><![CDATA[Reality check]]></category>

		<guid isPermaLink="false">http://zytzagoo.net/blog/?p=61</guid>
		<description><![CDATA[HRT (Croatian National Television) redesigned their web site. One thing is certain: IT FAILS. This post is just to make sure that the shame and evidence of blatant ripoff never go away or get forgotten. Seeing anyone do stuff like this in the year 2008 when (almost) everyone has Internet access is leaving me speechless: [...]]]></description>
			<content:encoded><![CDATA[<p>HRT (Croatian National Television) redesigned their web site. One thing is certain: IT FAILS.</p>
<p>This post is just to make sure that the shame and evidence of blatant ripoff never go away or get forgotten. Seeing anyone do stuff like this in the year 2008 when (almost) everyone has Internet access is leaving me speechless:</p>
<p><a href="http://www.flickr.com/photos/zytzagoo/2493750555/" title="hrt.hr-bbc.co.uk-ripoff by zytzagoo, on Flickr"><img src="http://farm3.static.flickr.com/2170/2493750555_a334115c70.jpg" width="500" height="156" alt="hrt.hr-bbc.co.uk-ripoff" /></a></p>
<p>It goes without saying that:</p>
<ul>
<li>the implementation sucks</li>
<li>it&#8217;s nowhere near the functionality or aesthetics of the original BBC version</li>
</ul>
<p>I could go on and on about various technical stuff that sucks, but I just don&#8217;t have the strength to do it anymore. Resignation is slowly kicking in&#8230; </p>
<p>Mi3dot.org&#8217;s <a href="http://www.mi3dot.org/forum/viewtopic.php?t=13245">Plagiarism forum thread</a> has the inside scoop on who&#8217;s responsible, who profited and whatnot. <a title="HRT.hr i BBC.co.uk ko brata dva!" href="http://marketingservis.com/internet/hrt-hr-i-bbc-co-uk/">Aljoša&#8217;s post</a> illustrates the similarities even more.</p>
<p>Some other (Croatian) sources:</p>
<ul>
<li><a href="http://www.business.hr/">business.hr</a>: <a href="http://business.hr/Default2.aspx?ArticleID=69b6d829-c28f-4f4c-b245-fe938b34d254&#038;open=sec">HRT u izradi novog portala plagirao BBC</a></li>
<li><a href="http://www.tportal.hr/">T-portal</a>: <a href="http://www.tportal.hr/tehnologija/internet/page/2008/05/15/0242006.html">HRT ‘posudio’ dizajn od BBC-ja?</a></li>
<li><a href="http://www.index.hr">Index</a>: <a href="http://www.index.hr/vijesti/clanak/iz-koda-hrtove-stranice-najednom-nestalo-ime-tvrtke-koja-ju-je-radila/386937.aspx">Iz koda HRT-ove stranice najednom nestalo ime tvrtke koja ju je radila</a></li>
<li><a href="http://www.index.hr">Index</a>: <a href="http://www.index.hr/vijesti/clanak/hrtova-nova-web-stranica-besramni-plagijat-bbccouk/386887.aspx">HRT-ova nova web stranica besramni plagijat bbc.co.uk</a></li>
<li><a href="http://www.index.hr">Index</a>: <a href="http://www.index.hr/vijesti/clanak/hasim-bahtijari-pitat-cu-na-vijecu-koliko-je-novaca-utroseno-na-izradu-novih-stranica-hrta/386919.aspx">Hašim Bahtijari: Pitat ću na Vijeću koliko je novaca utrošeno na izradu novih stranica HRT-a</a></li>
<li><a href="http://www.index.hr">Index</a>: <a href="http://www.index.hr/vijesti/clanak/dizajneri-slozni-hrt-je-pokrao-bbc-i-to-lose/386912.aspx">Hašim Dizajneri složni: HRT je pokrao BBC, i to loše</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://zytzagoo.net/blog/2008/05/15/hrt-vs-bbc/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Damn comment spammers&#8230;</title>
		<link>http://zytzagoo.net/blog/2008/04/24/damn-comment-spammers/</link>
		<comments>http://zytzagoo.net/blog/2008/04/24/damn-comment-spammers/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 19:08:49 +0000</pubDate>
		<dc:creator>zytzagoo</dc:creator>
				<category><![CDATA[Reality check]]></category>

		<guid isPermaLink="false">http://zytzagoo.net/blog/?p=47</guid>
		<description><![CDATA[The amount of spam is just o_O If you need to contact me, there&#8217;s an email address in the source files, or you can use my domain-at-gmail address &#8212; I&#8217;m turning off comments for now&#8230; UPDATE: activated akismet&#8230; we&#8217;ll see how it goes]]></description>
			<content:encoded><![CDATA[<p>The amount of spam is just o_O</p>
<p>If you need to contact me, there&#8217;s an email address in the source files, or you can use my domain-at-gmail address &#8212; I&#8217;m turning off comments for now&#8230;</p>
<p><strong>UPDATE</strong>: activated akismet&#8230; we&#8217;ll see how it goes</p>
]]></content:encoded>
			<wfw:commentRss>http://zytzagoo.net/blog/2008/04/24/damn-comment-spammers/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>On truncating abstracts, descriptions, excerpts, whatever you want to call them&#8230;</title>
		<link>http://zytzagoo.net/blog/2008/04/21/on-truncating-abstracts-descriptions-etc/</link>
		<comments>http://zytzagoo.net/blog/2008/04/21/on-truncating-abstracts-descriptions-etc/#comments</comments>
		<pubDate>Mon, 21 Apr 2008 15:28:57 +0000</pubDate>
		<dc:creator>zytzagoo</dc:creator>
				<category><![CDATA[Reality check]]></category>
		<category><![CDATA[Webdev]]></category>

		<guid isPermaLink="false">http://zytzagoo.net/blog/?p=46</guid>
		<description><![CDATA[TLDR version: You can not, must not &#8212; and hence &#8212; will not truncate any larger body of text in the middle of a word. Let the people read the whole sentence, or at least the whole word&#8230; God forbid you add an ellipsis indicating more stuff is there&#8230; The scenario is pretty stupid (and [...]]]></description>
			<content:encoded><![CDATA[<p><strong>TLDR version</strong>: You can not, must not &#8212; and hence &#8212; <strong>will not</strong> truncate any larger body of text in the middle of a word. Let the people read the whole sentence, or at least the whole word&#8230; God forbid you add an ellipsis indicating more stuff is there&#8230;</p>
<p>The scenario is pretty stupid (and unfortunately all too common these days): A web site decides to publish certain parts of their content in an RSS feed. The stupid part being that they decide to limit the amount of content in the feed in hopes of folks clicking the link and reading the whole thing on the site.  OK &#8212; resistance is futile &#8212; that&#8217;s just the way it is.<br />
<small>[Yes, I know there are sites that have valid reasons for such an approach. We're not talking about those here]</small></p>
<p>But, how stupid do you have to be to <strong>not</strong> realize that with code along the lines of:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$abstract</span> <span style="color: #339933;">=</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$body_of_text</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> ABSTRACT_LENGTH_LIMIT<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>you&#8217;re bound to end up with chopped up: words, sentences, dates, times, people&#8217;s names, god-knows-what-else?<br />
<small>[replace the above PHP code with any language you want, the principle is the same]</small></p>
<p>Does that thought never cross anyone&#8217;s mind? Is that an advanced concept people cannot grasp? If it is I need to find a way to make money of it&#8230;</p>
<p>Anyway, <strong>crap like that</strong> gets served to the &#8220;readers&#8221;. Worse yet, the web site proudly displays their RSS 2.0 (oh, look, 2.0!) badge on the footer of every page on the site (BTW, how hard is it to add a bloody autodiscovery &lt;link&gt;? You can slap a badge in the footer, but not in the &lt;head&gt;? I don&#8217;t get it.), the CMS generating that crap is happily adding a &#8220;generated by&#8221; comment in the feed itself&#8230; Pathetic.</p>
<p><img class="size-full wp-image-53" title="sucky-abstracts" src="http://zytzagoo.net/blog/wp-content/uploads/2008/04/sucky-abstracts1.png" alt="Don\'t do this, please..." width="563" height="453" /></p>
]]></content:encoded>
			<wfw:commentRss>http://zytzagoo.net/blog/2008/04/21/on-truncating-abstracts-descriptions-etc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WTF is it with the whole &#8220;quit smoking&#8221; thing lately?</title>
		<link>http://zytzagoo.net/blog/2008/02/01/wtf-is-it-with-the-whole-quit-smoking-thing-lately/</link>
		<comments>http://zytzagoo.net/blog/2008/02/01/wtf-is-it-with-the-whole-quit-smoking-thing-lately/#comments</comments>
		<pubDate>Fri, 01 Feb 2008 10:20:30 +0000</pubDate>
		<dc:creator>zytzagoo</dc:creator>
				<category><![CDATA[Reality check]]></category>

		<guid isPermaLink="false">http://zytzagoo.net/blog/2008/02/01/wtf-is-it-with-the-whole-quit-smoking-thing-lately/</guid>
		<description><![CDATA[Anyone else noticing the high influx of &#8220;quit smoking&#8221;, &#8220;stop smoking&#8221;, &#8220;you can do it&#8221;, &#8220;X patch&#8221;, &#8220;Y patch&#8221; type of campaigns recently? Like, the moment the word got out that new legislation is about to be pushed here in Croatia (banning smoking in public places), they started rampaging. It&#8217;s like El Dorado. The ad [...]]]></description>
			<content:encoded><![CDATA[<p>Anyone else noticing the high influx of &#8220;quit smoking&#8221;, &#8220;stop smoking&#8221;, &#8220;you can do it&#8221;, &#8220;X patch&#8221;, &#8220;Y patch&#8221; type of campaigns recently? Like, the moment the word got out that new legislation is about to be pushed here in Croatia (banning smoking in public places), they started rampaging. It&#8217;s like El Dorado. The ad agency owners feel all warm and fuzzy. From what I hear it&#8217;s almost as good as the old days: The Golden Age of Croatian Telecom Monopoly (HT, the one and only) Days.</p>
<p>Outdoor advertising, tv commercials, print commercials, promotional websites, radio shows, &#8220;experts&#8221; having tv and radio guest appearances in <em>anything</em> even remotely connected to &#8220;lifestyle&#8221; (quoted for general hate towards anything with that fancy-sounding-meaning-nothing name) or health&#8230; New <strong>brands</strong> keep showing up on a daily basis. It just doesn&#8217;t stop.</p>
<p>Now, if you&#8217;ve ever been involved in the production part of any of the above-listed things, you <strong>know</strong> that it takes a certain amount of time to actually <em>produce</em> them. Even if you&#8217;re just supposed to translate crap given to you by some franchise office. And yet, the <em>big companies</em> launched their campaigns <em>the following morning</em>.</p>
<p>I&#8217;ll leave the simple addition of 2 + 2 as an exercise for the reader.</p>
]]></content:encoded>
			<wfw:commentRss>http://zytzagoo.net/blog/2008/02/01/wtf-is-it-with-the-whole-quit-smoking-thing-lately/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

