<?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>mFabrik - web and mobile development &#187; Mikko Ohtamaa</title>
	<atom:link href="http://blog.mfabrik.com/author/moo/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mfabrik.com</link>
	<description>Freedom delivered.</description>
	<lastBuildDate>Thu, 02 Sep 2010 13:25:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Plone 4 released &#8211; the best open source CMS of 2010?</title>
		<link>http://blog.mfabrik.com/2010/09/01/plone-4-released-the-best-open-source-cms-of-2010/</link>
		<comments>http://blog.mfabrik.com/2010/09/01/plone-4-released-the-best-open-source-cms-of-2010/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 11:32:57 +0000</pubDate>
		<dc:creator>Mikko Ohtamaa</dc:creator>
				<category><![CDATA[plone]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[release]]></category>

		<guid isPermaLink="false">http://blog.mfabrik.com/?p=720</guid>
		<description><![CDATA[The long awaited version 4 of enterprise grade Plone CMS has been released. Plone 4 is up to 5x times faster than  Joomla!, Drupal or WordPress systems Plone is secure &#8211; it has no known site breaches &#8211; it even runs on fbi.gov and cia.gov Plone has the best user experience and easiest to use [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://plone.org/products/plone/features/">The long awaited version 4 of enterprise grade Plone CMS has been released</a>.</p>
<ul>
<li><a href="http://plone.org/products/plone/features/faster">Plone 4 is up to 5x times faster than  Joomla!, Drupal or WordPress systems</a></li>
<li><a href="http://plonemetrics.blogspot.com/2009/04/plone-security.html">Plone is secure &#8211; it has no known site breaches &#8211; it even runs on fbi.gov and cia.gov</a></li>
<li><a href="http://plone.org/news/plone-4-released">Plone has the best user experience and easiest to use of open source CMSes &#8211; Alexander Limi,  the usability experts, also works on Firefox on Mozilla corporation</a></li>
</ul>
<p><a href="http://www.reddit.com/r/programming/comments/d855t/proggit_we_just_released_plone_4_our_open_source/">Vote Plone 4 release news on reddit</a>.</p>
<p>Yeah, yeah&#8230; it is a linkadvertisement <img src='http://blog.mfabrik.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />
<p>
<a href="http://blog.mfabrik.com"><img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/mfabrik-24.png"></img></a> <a href="http://blog.mfabrik.com">Read our blog</a> <a href="http://twitter.com/mfabrik"> <a href="http://feeds.feedburner.com/mFabrikWebAndMobileDevelopment" rel="alternate" type="application/rss+xml"><img valign="middle" src="http://www.feedburner.com/fb/images/pub/feed-icon16x16.png" alt="" style="vertical-align:middle;border:0"/></a> <a href="http://feeds.feedburner.com/mFabrikWebAndMobileDevelopment" rel="alternate" type="application/rss+xml">Subscribe mFabrik blog in a reader</a> <img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/twitter-24.png"></img></a> <a href="http://twitter.com/mfabrik">Follow us on Twitter</a> <a href="http://www.linkedin.com/in/ohtis"><img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/linkedin-24.png"></img></a> <a href="http://www.linkedin.com/in/ohtis">Mikko Ohtamaa on LinkedIn</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mfabrik.com/2010/09/01/plone-4-released-the-best-open-source-cms-of-2010/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Testing if hostname is numeric IPv4</title>
		<link>http://blog.mfabrik.com/2010/08/31/testing-if-hostname-is-numeric-ipv4/</link>
		<comments>http://blog.mfabrik.com/2010/08/31/testing-if-hostname-is-numeric-ipv4/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 14:51:44 +0000</pubDate>
		<dc:creator>Mikko Ohtamaa</dc:creator>
				<category><![CDATA[iphone]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[hostname]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[ipv4]]></category>
		<category><![CDATA[regex]]></category>

		<guid isPermaLink="false">http://blog.mfabrik.com/?p=716</guid>
		<description><![CDATA[I had to resort this hack when testing a hybrid web/mobile site which uses site hostname based device discrimination. In production mode we can have m.yoursite.com and www.yoursite.com hostnames. However, when running the site locally, on your development computer and in LAN this does not work very well: one cannot spoof hostnames for web browsers [...]]]></description>
			<content:encoded><![CDATA[<p>I had to resort this hack when testing a hybrid web/mobile site which uses site hostname based device discrimination. In production mode we can have <em>m.yoursite.com</em> and<em> www.yoursite.com</em> hostnames. However, when running the site locally, on your development computer and in LAN this does not work very well: one cannot spoof hostnames for web browsers in devices like iPhone/iPod/other mobile phone unless you install a DNS server. And installing a DNS server for LAN is something you don&#8217;t want to do&#8230;</p>
<p>So, I figured out that I can use  hostname spoofing on desktop computers (/etc/hosts file) and I always access the site via numeric IP (IPv4 over ethernet) when testing over WLAN on mobile devices.</p>
<ul>
<li>The site is rendered in web mode when it is being accessed via textual hostname (localhost, yourpcname)</li>
<li>The site is rendered in mobile mode when it is being accessed via IPv4 numeric hostname (127.0.0.1, 196.168.200.1)</li>
</ul>
<p>And,&#8230; dadaa,&#8230; here is my magical code to test whether hostname is numeric IPv4. I couldn&#8217;t find a ready function from Python standard library</p>
<pre>import re

ipv4_regex_source = "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"
ipv4_regex = re.compile(ipv4_regex_source)

def is_numeric_ipv4(str):
    """

http://answers.oreilly.com/topic/318-how-to-match-ipv4-addresses-with-regular-expressions/

    @param str: Hostname as a string.

    @return: True if the given string is numeric IPv4 address
    """
    # ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
    return ipv4_regex.match(str)</pre>
<p>
<a href="http://blog.mfabrik.com"><img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/mfabrik-24.png"></img></a> <a href="http://blog.mfabrik.com">Read our blog</a> <a href="http://twitter.com/mfabrik"> <a href="http://feeds.feedburner.com/mFabrikWebAndMobileDevelopment" rel="alternate" type="application/rss+xml"><img valign="middle" src="http://www.feedburner.com/fb/images/pub/feed-icon16x16.png" alt="" style="vertical-align:middle;border:0"/></a> <a href="http://feeds.feedburner.com/mFabrikWebAndMobileDevelopment" rel="alternate" type="application/rss+xml">Subscribe mFabrik blog in a reader</a> <img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/twitter-24.png"></img></a> <a href="http://twitter.com/mfabrik">Follow us on Twitter</a> <a href="http://www.linkedin.com/in/ohtis"><img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/linkedin-24.png"></img></a> <a href="http://www.linkedin.com/in/ohtis">Mikko Ohtamaa on LinkedIn</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mfabrik.com/2010/08/31/testing-if-hostname-is-numeric-ipv4/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Xcode and iPhone simulator: The application won&#8217;t launch</title>
		<link>http://blog.mfabrik.com/2010/08/26/xcode-and-iphone-simulator-the-application-wont-launch/</link>
		<comments>http://blog.mfabrik.com/2010/08/26/xcode-and-iphone-simulator-the-application-wont-launch/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 10:05:42 +0000</pubDate>
		<dc:creator>Mikko Ohtamaa</dc:creator>
				<category><![CDATA[ios]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[kill]]></category>
		<category><![CDATA[launch]]></category>
		<category><![CDATA[main]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[sibabrt]]></category>
		<category><![CDATA[simulator]]></category>
		<category><![CDATA[xcode]]></category>
		<category><![CDATA[__springboard_unimplemented]]></category>

		<guid isPermaLink="false">http://blog.mfabrik.com/?p=698</guid>
		<description><![CDATA[This is another migration issue from iOS 3.x to iOS 4.x projects. The application does not launch in XCode when running Simulator &#8211; Debug. Instead it dies (SIGABRT) before entering main(). #0 0x91a02ef6 in __kill #1 0x91a02ee8 in kill$UNIX2003 #2 0x91a9562d in raise #3 0x91aab6e4 in abort #4 0x0245e8c9 in __springboard_unimplemented #5 0x0246d6b2 in mcount [...]]]></description>
			<content:encoded><![CDATA[<p>This is another migration issue from iOS 3.x to iOS 4.x projects.</p>
<p>The application does not launch in XCode when running Simulator &#8211; Debug. Instead it dies (SIGABRT) before entering main().</p>
<pre>#0     0x91a02ef6 in __kill
#1     0x91a02ee8 in kill$UNIX2003
#2     0x91a9562d in raise
#3     0x91aab6e4 in abort
#4     0x0245e8c9 in __springboard_unimplemented
#5     0x0246d6b2 in mcount
#6     0x00002298 in main at main.m:11</pre>
<p>The answer lies <a href="https://devforums.apple.com/message/242588">here</a>. mcount() function is profiling function. Profiling is available only on iPhone device build. The setting &#8220;Generate Profile Code&#8221; somehow gets into foobar state when you migrate the project from older XCode. Note the setting is present under both Project and Target settings so you might need to fix it under the both sections.
<p>
<a href="http://blog.mfabrik.com"><img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/mfabrik-24.png"></img></a> <a href="http://blog.mfabrik.com">Read our blog</a> <a href="http://twitter.com/mfabrik"> <a href="http://feeds.feedburner.com/mFabrikWebAndMobileDevelopment" rel="alternate" type="application/rss+xml"><img valign="middle" src="http://www.feedburner.com/fb/images/pub/feed-icon16x16.png" alt="" style="vertical-align:middle;border:0"/></a> <a href="http://feeds.feedburner.com/mFabrikWebAndMobileDevelopment" rel="alternate" type="application/rss+xml">Subscribe mFabrik blog in a reader</a> <img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/twitter-24.png"></img></a> <a href="http://twitter.com/mfabrik">Follow us on Twitter</a> <a href="http://www.linkedin.com/in/ohtis"><img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/linkedin-24.png"></img></a> <a href="http://www.linkedin.com/in/ohtis">Mikko Ohtamaa on LinkedIn</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mfabrik.com/2010/08/26/xcode-and-iphone-simulator-the-application-wont-launch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open source contribution agreement template</title>
		<link>http://blog.mfabrik.com/2010/08/24/open-source-contribution-agreement-template/</link>
		<comments>http://blog.mfabrik.com/2010/08/24/open-source-contribution-agreement-template/#comments</comments>
		<pubDate>Tue, 24 Aug 2010 19:08:17 +0000</pubDate>
		<dc:creator>Mikko Ohtamaa</dc:creator>
				<category><![CDATA[open source]]></category>
		<category><![CDATA[phonegap]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[contribution agreement]]></category>
		<category><![CDATA[opensolaris]]></category>
		<category><![CDATA[template]]></category>

		<guid isPermaLink="false">http://blog.mfabrik.com/?p=691</guid>
		<description><![CDATA[We are looking for creating contribution agreements for few new open source projects. IANAL, but hiring a real lawyer is freaking expensive. The thing is that we, us a company, want to guarantee that all code coming into the project is &#8220;clean&#8221;. We also want to guarantee our right to change the license in the [...]]]></description>
			<content:encoded><![CDATA[<p>We are looking for creating contribution agreements for few new open source projects. <a href="http://en.wikipedia.org/wiki/IANAL">IANAL</a>, but hiring a real lawyer is freaking expensive.</p>
<p>The thing is that we, us a company, want to guarantee that all code coming into the project is &#8220;clean&#8221;. We also want to guarantee our right to change the license in the future (GPL -&gt; BSD, GPL -&gt; Apache, etc.)</p>
<p>Thus far, the best free, as in freedom and in beer, contribution agreement template we have found is <a href="http://forge.mysql.com/wiki/Sun_Contributor_Agreement">Sun Contribution Agreement 1.5</a> which is available under  Creative Commons Attribution-Share Alike 3.0 license. It is at least used by high profile <a href="http://www.phonegap.com/">Phonegap</a> project (Nitobi as the company) if you don&#8217;t count OpenSolaris anymore as open source project.</p>
<p>IANAL, but if I understood correctly, the agreement basically says</p>
<ul>
<li>the company can do whatever it wish with your contributions (joint ownership)</li>
<li>the company is entitled to release your contributions under open source license &#8211; perfect for GPL&#8217;ed projects. The exact wording is terms. Any contribution we make available under any license will also be made available under a suitable FSF (Free Software Foundation) or OSI (Open Source Initiative) approved license.</li>
</ul>
<p>Since I couldn&#8217;t find the orignal document in editable form (PDF was the best I could get) I made OpenOffice.org ODS document out of it with easily replaceable identification information.</p>
<ul>
<li><a href="http://blog.mfabrik.com/wp-content/uploads/2010/08/open_source_project_contribution_agreement_template.odt">open_source_project_contribution_agreement_template</a></li>
</ul>
<p>Comments welcome.</p>
<p>The agreement text pasted below.</p>
<pre>YOURPROJECT Contributor Agreement

These terms apply to your contribution of materials to the YOURCOMPANY ("us"/"our"), and set out the intellectual property rights you grant to us in the contributed materials.  If this contribution is on behalf of a company, the term "you" will also mean the company you identify below. If you agree to be bound by these terms, fill in the information requested below and provide your signature. 

Read this agreement carefully before signing. 

1.  The term "contribution" means any source code, object code, patch, tool, sample, graphic, specification, manual, documentation, or any other material posted or submitted by you to the project. 

2.  With respect to any worldwide copyrights, or copyright applications and registrations, in your contribution: 

you assign to us joint ownership through this document, and to the extent that such assignment is or becomes invalid, ineffective or unenforceable, through this document you grant to us a perpetual, irrevocable, non-exclusive, worldwide, no-charge, royalty-free, unrestricted license to exercise all rights under those copyrights. This includes, at our option, the right to sublicense these same rights to third parties through multiple levels of sublicensees or other licensing arrangements;
you agree that each of us can do all things in relation to your contribution as if each of us were the sole owners, and if one of us makes a derivative work of your contribution, the one who makes the derivative work (or has it made) will be the sole owner of that derivative work;
you agree that you will not assert any moral rights in your contribution against us, our licensees or transferees;
you agree that we may register a copyright in your contribution and exercise all ownership rights associated with it; and
you agree that neither of us has any duty to consult with, obtain the consent of, pay, or give an accounting to the other for any use or distribution of your contribution. 

3.  With respect to any patents you own, or that you can license without payment to any third party, through this document you grant to us a perpetual, irrevocable, non-exclusive, worldwide, no-charge, royalty-free license to: 

make, have made, use, sell, offer to sell, import, and otherwise transfer your contribution in whole or in part, alone or in combination with or included in any product, work or materials arising out of the project to which your contribution was submitted, and
at our option, to sublicense these same rights to third parties through multiple levels of sublicensees or other licensing arrangements. 

4.  Except as set out above, you keep all right, title, and interest in your contribution.  The rights that you grant to us under these terms are effective on the date you first submitted a contribution to us, even if your submission took place before the date you sign these terms. Any contribution we make available under any license will also be made available under a Free Culture (as defined by http://freedomdefined.org)  or Free Software/Open Source licence (as defined and approved by the Free Software Foundation or the Open Source Initiative).

5.  With respect to your contribution, you represent that it is an original work and that you can legally grant the rights set out in these terms; 

it does not to the best of your knowledge violate any third party's copyrights, trademarks, patents, or other intellectual property rights; and
you are authorized to sign this contract on behalf of your company (if identified below). 

6.  The place of performance is the registered seat of

	YOURCOMPANYNAME
	YOURCOMPANYADDRESS1
	YOURCOMPANYADDRESS2
	YOURCOUNTRY
	YOURCOMPANYBUSINESSID	

Any disputes concerning this agreement including the issue of its valid conclusion and its pre and past contractual effects are exclusively decided by the competent court in YOURHOMECITY, YOURCOUNTRY or, at our discretion, also by the competent court is whose district you may have your residence, your registered seat, an establishment or assets.

If available, please list your YOURPROJECT username(s) for the YOURPROJECT systems.

Username(s): __________________________________________________________________

_______________________________________________________________________________

Your contact information (Please print clearly) 

Your name: ____________________________________________________________________

Your company's name (if applicable): __________________________________________

Mailing address: ______________________________________________________________

Telephone, Fax and Email: _____________________________________________________

Your signature: _______________________________________________________________

Date: _________________________________________________________________________

To complete this agreement:
email a scanned copy of a signed agreement to
fax a signed copy to + .....; or
post a signed copy to:

	YOURCOPMANYNAME
	YOURCOMPANYADDRESS1
	YOURCOMPANYADDRESS2
	YOURCOUNTRY

This agreement is based on version 1.5 of the Sun Contributor Agreement, which
can be found at:

http://www.sun.com/software/opensource/contributor_agreement.jsp

This document is licensed under a Creative Commons Attribution-Share Alike 3.0
Unported License http://creativecommons.org/licenses/by-sa/3.0</pre>
<p>
<a href="http://blog.mfabrik.com"><img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/mfabrik-24.png"></img></a> <a href="http://blog.mfabrik.com">Read our blog</a> <a href="http://twitter.com/mfabrik"> <a href="http://feeds.feedburner.com/mFabrikWebAndMobileDevelopment" rel="alternate" type="application/rss+xml"><img valign="middle" src="http://www.feedburner.com/fb/images/pub/feed-icon16x16.png" alt="" style="vertical-align:middle;border:0"/></a> <a href="http://feeds.feedburner.com/mFabrikWebAndMobileDevelopment" rel="alternate" type="application/rss+xml">Subscribe mFabrik blog in a reader</a> <img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/twitter-24.png"></img></a> <a href="http://twitter.com/mfabrik">Follow us on Twitter</a> <a href="http://www.linkedin.com/in/ohtis"><img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/linkedin-24.png"></img></a> <a href="http://www.linkedin.com/in/ohtis">Mikko Ohtamaa on LinkedIn</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mfabrik.com/2010/08/24/open-source-contribution-agreement-template/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>How people perceive Plone outside Plone community</title>
		<link>http://blog.mfabrik.com/2010/08/21/how-people-perceive-plone-outside-plone-community/</link>
		<comments>http://blog.mfabrik.com/2010/08/21/how-people-perceive-plone-outside-plone-community/#comments</comments>
		<pubDate>Sat, 21 Aug 2010 18:01:49 +0000</pubDate>
		<dc:creator>Mikko Ohtamaa</dc:creator>
				<category><![CDATA[cms]]></category>
		<category><![CDATA[joomla]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[attidude]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[dickheads]]></category>
		<category><![CDATA[forums]]></category>
		<category><![CDATA[freenode]]></category>
		<category><![CDATA[irc]]></category>
		<category><![CDATA[mailman]]></category>

		<guid isPermaLink="false">http://blog.mfabrik.com/?p=686</guid>
		<description><![CDATA[Our company does business with multiple CMS systems, like Joomla, Plone and Drupal.  They all have their advantages, they all have their disadvantages. We do not want to make CMS a religion. It&#8217;s a tool. You can argue with the client which tool is a right job for a task. Joomla is lightweight solution for [...]]]></description>
			<content:encoded><![CDATA[<p>Our company does business with multiple CMS systems, like Joomla, Plone and Drupal.  They all have their advantages, they all have their disadvantages. We do not want to make CMS a religion. It&#8217;s a tool. You can argue with the client which tool is a right job for a task. Joomla is lightweight solution for non-critical systems, Plone is good with lots of content, editors and workflows flying around. etc. etc.</p>
<p>I had this curious piece on conversation on #joomla channel on freenode. Though it is an individual case, I hope it will bring some light to the fact how people perceive Plone outside Plone community and what Plone should to do fix it.</p>
<p>I think it would be beneficial for Plone to finally close mailman for the site administration / user support and move to real web forums / Google Groups / whatever which would be usable.</p>
<p>Also, there is an example how unprofessionalism is not good for the community.</p>
<pre>[20:23:29] x: Biggest problem so far is finding competent ("I will deliver on this schedule) joomla consulting experts. Second biggest problem is security, our site has been hacked 3 times in the past 6 months
[20:25:18] me: have you considered any alternative CMS with better security track record?
<strong>[20:25:50] x: moo: we moved from Plone to Joomla. 3 years on Plone with no hacks.</strong>
<strong>[20:26:04] x: Problem with plone is no forums with email support</strong>
[20:26:21] me: you pay for support
[20:26:30] z: did you do basic joomla security guidelines?
[20:26:39] me: also check http://plone.org/support
[20:26:40]  Title: Support options for Plone — Plone CMS: Open Source Content Management (at plone.org)
[20:26:51] x: moo: I'm fine with paying for support. We're paying SiteGround $200-$300/month on average when you add the support costs.
[20:26:58] z: ie using a key to access admin, changing default sql prefix
[20:27:01] AngryPerson: who cares about plone
[20:27:10] AngryPerson: its an ancient cms thats clearly past its time
[20:27:20] AngryPerson: its only privately supported with little community support
[20:28:34] AngryPerson: Moo^_^: why are you even in here?
[20:28:40] AngryPerson: you just want to piss on joomla?
[20:28:43] me: we do business on drupal, joomla and plone
[20:28:48] me: different tool for different job
[20:28:51] -*- y shrugs
[20:29:01] AngryPerson: just seems to me like you want to push ppl away from joomla
[20:29:11] x: z: After 6 months I'm still a Joomla noob. I need a consulting services company that will do the security patching, maintenance, service on the site, and host it.
[20:29:25] me: not true
[20:29:36] AngryPerson: Moo^_^: well regardless of what you say, tahts how it seems to me
[20:29:54] z: actually I've had good luck just following a few blog posts
[20:30:10] me: I don't defend myself, as I don't want to engage such a conversation with you
[20:30:22] AngryPerson: thats good, why dont you fuck off too
[20:30:22] &lt;-* jools has kicked y from #joomla (Please watch your language) [20:30:22] --&gt; y (dgdf@unaffiliated/anti-mttr/x-9384728) has joined #joomla
[20:30:27] z: nothing is impervious, but you drastically reduce your attractiveness to hackers by a few simple steps
[20:30:32] AngryPerson: stop giving ppl your shitty advice</pre>
<p>
<a href="http://blog.mfabrik.com"><img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/mfabrik-24.png"></img></a> <a href="http://blog.mfabrik.com">Read our blog</a> <a href="http://twitter.com/mfabrik"> <a href="http://feeds.feedburner.com/mFabrikWebAndMobileDevelopment" rel="alternate" type="application/rss+xml"><img valign="middle" src="http://www.feedburner.com/fb/images/pub/feed-icon16x16.png" alt="" style="vertical-align:middle;border:0"/></a> <a href="http://feeds.feedburner.com/mFabrikWebAndMobileDevelopment" rel="alternate" type="application/rss+xml">Subscribe mFabrik blog in a reader</a> <img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/twitter-24.png"></img></a> <a href="http://twitter.com/mfabrik">Follow us on Twitter</a> <a href="http://www.linkedin.com/in/ohtis"><img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/linkedin-24.png"></img></a> <a href="http://www.linkedin.com/in/ohtis">Mikko Ohtamaa on LinkedIn</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mfabrik.com/2010/08/21/how-people-perceive-plone-outside-plone-community/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Why people hate Adobe (and have now headache with sports-tracker.com)?</title>
		<link>http://blog.mfabrik.com/2010/08/21/why-people-hate-adobe-and-have-headache-now-with-sports-tracker-com/</link>
		<comments>http://blog.mfabrik.com/2010/08/21/why-people-hate-adobe-and-have-headache-now-with-sports-tracker-com/#comments</comments>
		<pubDate>Sat, 21 Aug 2010 11:35:08 +0000</pubDate>
		<dc:creator>Mikko Ohtamaa</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[series 60]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[cpu]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[run-time]]></category>
		<category><![CDATA[slow]]></category>
		<category><![CDATA[speed]]></category>
		<category><![CDATA[sports tracker]]></category>

		<guid isPermaLink="false">http://blog.mfabrik.com/?p=673</guid>
		<description><![CDATA[sportstracker.nokia.com was a GPS based sports tracking service for Nokia phones. Around a year ago it spun off as independent company, which was a good move if you really want to develop your service business. Now sports-tracker.com has launched a new website. You can upload your runs and photos there and share your sports results [...]]]></description>
			<content:encoded><![CDATA[<p>sportstracker.nokia.com was a GPS based sports tracking service for Nokia phones. Around a year ago it spun off as independent company, which was a good move if you really want to develop your service business. Now sports-tracker.com has launched a new website. You can upload your runs and photos there and share your sports results through social media.</p>
<p>It was delightful to see the new site opened and having the features been missing so long time ago. However, I was not totally happy with what I saw.</p>
<p><a href="http://blog.mfabrik.com/wp-content/uploads/2010/08/Screen-shot-2010-08-21-at-1.32.14-PM.png"><img class="alignnone size-full wp-image-674" title="Screen shot 2010-08-21 at 1.32.14 PM" src="http://blog.mfabrik.com/wp-content/uploads/2010/08/Screen-shot-2010-08-21-at-1.32.14-PM.png" alt="" width="867" height="552" /></a></p>
<p>The <strong>whole</strong> new site is built on top of Adobe Flash run-time technologies. There are no traditional web pages per se.</p>
<p>The problem is that full page Flash is resource hog. In the picture above you see that opening this web site in my Safari web browser spikes CPU to 100% usage &#8211; and it actually stays there indefinitely (note: on front page, see remarks below). This means that my computer is working to barely survive under the stress caused by this one web site &#8211; and my computer is powerful iMac. This means that if I have this site open background in my web browser my laptop battery would die very very fast. This means that all programs I try to simultaneously use on my computer become sluggish.</p>
<p>I assume that when sports-tracker.com was spun off from Nokia they contracted some digital advertisiment agency to built the new site for them. Digital advertisement agencies are often, not always, companies focused on the brand and visual appearance. They love to work with Flash because it gives good authoring tools to build nice looking, bling bling filled, animations.  Flash is a great tool for animations. Flash is a great tool for building browser based games. However, it is not good for building the whole web site where the user experience criteria could include 1) the site actually to responds to clicks 2) the site does not bring down to the whole computer. The decision makers probably drink cool-aid &#8220;hey let&#8217;s built the site with the Adobe&#8217;s latest tools &#8211; have you seen the demos how coooooool they look like&#8221;.</p>
<p>The thing is, I want to just see my sports tracking results. I don&#8217;t care whether the diagrams have blurred drop shadows with state of the art Web 3.0 mouse over effects. Now I can enjoy the effects, points for the artistic leader for that, but doing the actual task, accessing my sports results, have become irritating task to do. Things respond sloooow &#8211; that&#8217;s the main reason. In-flash scrolls bars have noticeable lag.</p>
<p>There exists an <a href="http://en.wikipedia.org/wiki/Uncanny_valley">uncanny valley</a> how normal web sites behave and how 100% Flash site behave. My right click does not work. I cannot right click a link and open it in new tab. I cannot right click a link to copy it to my friend. I cannot access the site on my N900 web browser (which even has Flash). I coudn&#8217;t even send feedback to sports-tracker.com team without first installing a desktop email client, as the email address cannot be copied from Flash to web mail. Text boxes are little different.</p>
<p>I cannot hold my horses to see Adobe conquering mobile phones with Flash and doing the same thing for mobile browsing experience it has now done for sports-tracker.com.</p>
<p>The site is not bad. Usability guidelines have been followed carefully when building the site. The developers seem to have gone into great details to make the operations smooth as possible. For example, <a href="http://www.whatwg.org/specs/web-apps/current-work/#scroll-to-fragid">URL fragment identifies </a>are used to make sure bookmarking works even though Flash is present on the site. Social media features, not present in old sport tracker, are finally there. The results of design decision to built the whole site on Flash, instead of using Flash for some components only, might not have been seen by the time this decision was taken.</p>
<p>When Nokia Sports Tracker was first introduced 3-4 years ago with the first Series 60 GPS phones it was ahead of the competition. Wow effect had no limits &#8211; can you <em>really</em> do that with your mobile phone &#8211; in real-time and live?</p>
<p>It is funny how time passes.</p>
<p>It is <a href="http://www.mapmytracks.com">definitely possible to build a sports tracking site</a>, which looks cool, but does not have issues mentioned here.</p>
<p>Note: With little more research it seems that CPU usage stays 100% is specific to front page only and it has issues of not winding down action when you move away from your browser. However, rendering of other pages still uses vast amount of CPU, causing lag you do not see when opening web pages. The background CPU consumption on sports-tracker.com page is aroud 8% per tab when should be 0%.</p>
<p>Note 2: I am using the latest 10.1  Flash Player.
<p>
<a href="http://blog.mfabrik.com"><img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/mfabrik-24.png"></img></a> <a href="http://blog.mfabrik.com">Read our blog</a> <a href="http://twitter.com/mfabrik"> <a href="http://feeds.feedburner.com/mFabrikWebAndMobileDevelopment" rel="alternate" type="application/rss+xml"><img valign="middle" src="http://www.feedburner.com/fb/images/pub/feed-icon16x16.png" alt="" style="vertical-align:middle;border:0"/></a> <a href="http://feeds.feedburner.com/mFabrikWebAndMobileDevelopment" rel="alternate" type="application/rss+xml">Subscribe mFabrik blog in a reader</a> <img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/twitter-24.png"></img></a> <a href="http://twitter.com/mfabrik">Follow us on Twitter</a> <a href="http://www.linkedin.com/in/ohtis"><img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/linkedin-24.png"></img></a> <a href="http://www.linkedin.com/in/ohtis">Mikko Ohtamaa on LinkedIn</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mfabrik.com/2010/08/21/why-people-hate-adobe-and-have-headache-now-with-sports-tracker-com/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Setting Google Apps hosted email as your browser&#8217;s default email client for mailto protocol</title>
		<link>http://blog.mfabrik.com/2010/08/21/setting-google-apps-hosted-email-as-your-browsers-default-email-client-for-mailto-protocol/</link>
		<comments>http://blog.mfabrik.com/2010/08/21/setting-google-apps-hosted-email-as-your-browsers-default-email-client-for-mailto-protocol/#comments</comments>
		<pubDate>Sat, 21 Aug 2010 10:23:30 +0000</pubDate>
		<dc:creator>Mikko Ohtamaa</dc:creator>
				<category><![CDATA[browser]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[googls apps]]></category>
		<category><![CDATA[hosted]]></category>
		<category><![CDATA[mailto]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[protocol handler]]></category>
		<category><![CDATA[send]]></category>
		<category><![CDATA[web mail]]></category>
		<category><![CDATA[webmail]]></category>

		<guid isPermaLink="false">http://blog.mfabrik.com/?p=666</guid>
		<description><![CDATA[Would it be nice that when you click email link (maito) in your browser you could directly send email from your organizations&#8217;s Google Apps hosted service? (Google Apps is GMail + Google Docs for corporate/organizations with own domain name). Here are instructions how to achieve it. Firefox Follow instructions by Steve Novoselac. Opera Here are [...]]]></description>
			<content:encoded><![CDATA[<p>Would it be nice that when you click email link (maito) in your browser you could directly send email from your organizations&#8217;s Google Apps hosted service? (Google Apps is GMail + Google Docs for corporate/organizations with own domain name).</p>
<p>Here are instructions how to achieve it.</p>
<h2>Firefox</h2>
<p><a href="http://blog.stevienova.com/2008/05/18/firefox-3-and-google-apps-email-default-mailto-handling/">Follow instructions by Steve Novoselac</a>.</p>
<h2>Opera</h2>
<p>Here are instructions for Opera 10:</p>
<ul>
<li> You have file webmailproviders.ini where web mail backends are lsited</li>
<li>This file is located in <em>Applications/Opera (</em>you need to right click and choose Show package contents) and <em>Resources/defaults/webmailproviders.ini</em> (on OSX, for Windows Linux follow the instruction links below)</li>
<li>Add the email provider description as below. Note that you need to change Google Apps domain name to your link. After saving the file you need to restart opera. You don&#8217;t need icon if you don&#8217;t have one.</li>
<li>Then restart Opera, choose <em>Preferences -&gt; Advanced -&gt; Programs -&gt; mailto</em> -&gt; your email account.</li>
</ul>
<pre>[DOMAIN_NAME]
ID=8
URL=https://mail.google.com/hosted/DOMAIN_NAME?extsrc=mailto&amp;url=%s
ICON=https://mail.google.com/favicon.ico</pre>
<p><a href="http://operawiki.info/WebMailto">Web mailto in OperaWiki</a></p>
<p><a href="http://my.opera.com/Rijk/blog/2006/07/11/mailto-to-webmail?cid=6108121&amp;startidx=50">More HTTP links to trigger email send for various email providers</a>
<p>
<a href="http://blog.mfabrik.com"><img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/mfabrik-24.png"></img></a> <a href="http://blog.mfabrik.com">Read our blog</a> <a href="http://twitter.com/mfabrik"> <a href="http://feeds.feedburner.com/mFabrikWebAndMobileDevelopment" rel="alternate" type="application/rss+xml"><img valign="middle" src="http://www.feedburner.com/fb/images/pub/feed-icon16x16.png" alt="" style="vertical-align:middle;border:0"/></a> <a href="http://feeds.feedburner.com/mFabrikWebAndMobileDevelopment" rel="alternate" type="application/rss+xml">Subscribe mFabrik blog in a reader</a> <img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/twitter-24.png"></img></a> <a href="http://twitter.com/mfabrik">Follow us on Twitter</a> <a href="http://www.linkedin.com/in/ohtis"><img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/linkedin-24.png"></img></a> <a href="http://www.linkedin.com/in/ohtis">Mikko Ohtamaa on LinkedIn</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mfabrik.com/2010/08/21/setting-google-apps-hosted-email-as-your-browsers-default-email-client-for-mailto-protocol/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python 2.3, Python for Series 60 1.4.5 still in use&#8230; and insight into Symbian deployment process and user experience</title>
		<link>http://blog.mfabrik.com/2010/08/18/python-2-3-python-for-series-60-1-4-5-still-in-use-and-insight-into-symbian-deployment-process-and-user-experience/</link>
		<comments>http://blog.mfabrik.com/2010/08/18/python-2-3-python-for-series-60-1-4-5-still-in-use-and-insight-into-symbian-deployment-process-and-user-experience/#comments</comments>
		<pubDate>Wed, 18 Aug 2010 20:36:46 +0000</pubDate>
		<dc:creator>Mikko Ohtamaa</dc:creator>
				<category><![CDATA[nokia]]></category>
		<category><![CDATA[pys60]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[series 60]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[dll]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[pyside]]></category>
		<category><![CDATA[sis]]></category>
		<category><![CDATA[smart installer]]></category>
		<category><![CDATA[static]]></category>

		<guid isPermaLink="false">http://blog.mfabrik.com/?p=660</guid>
		<description><![CDATA[Nokia&#8217;s Python for Series 60 has a long history. It is a Python interpreter, originally escaped from Nokia prototype labs, running in your phone. It is said to been awesome to show mobile/embedded developers, who were love with their static C compilers and 4 hours built times, opening a Python prompt in your phone and [...]]]></description>
			<content:encoded><![CDATA[<p>Nokia&#8217;s Python for Series 60 has a long history. It is a Python interpreter, originally escaped from Nokia prototype labs, running in your phone. It is said to been awesome to show mobile/embedded developers, who were love with their static C compilers and 4 hours built times, opening a Python prompt in your phone and typing <em>import audio; audio.say(&#8220;your phone loves Python&#8221;) </em>by keypad (Nokia Series 60 phones come with a speech synthetizer). Python for Series 60 is the best tool of building a simple proof of concept mobile applications. The lack of speed, lack of good UI libraries and difficult deployment problems makes it challenging to use it in production grade environments.</p>
<p>PyS60 has also a history of staying in archaid Python version &#8211; namely Python 2.3. It was not until this February when stable PyS60 2.0.0 with Python 2.5 was released (1.9.x was considered experimental according to the release notes). Luckily looks like new winds are blowing (Qt acquisition, Meego/Maemo) and Python is getting higher priority. For example, <a href="http://www.pyside.org/">PySide</a> Qt bindings is very high profile project. Based on this, we hope to expect Python to the first class citizen in the future Meego and Symbian devices.</p>
<p>My company had a little side venture with <a href="http://blog.mfabrik.com/2008/09/01/introducing-python-for-series-60-community-edition/">PyS60 Community Edition</a> when we were still betting that Symbian and Python would rock the world &#8211; the era before iPhone changed the game.  PyS60 community edition was effectively a revamped PyS60 1.4.x with Python 2.3 toolchain which actually made PyS60 application production deployment <em>possible</em>. Possible&#8230;? -you ask. Madness&#8230; no. It is Symbian. It is certification and signing and<a href="http://www.newlc.com/en/Why-the-fuck-won-t-my-SIS-file.html"> obscure error messages</a>. Basically vanilla PyS60 is being shipped as an external SIS (Symbian package format) and Symbian platform security makes it impossible to deploy two production signed applications using vanilla PyS60 on the same device. The only cure was statically building Python for both apps from the scratch, which is exactly what PyS60 Community Edition was doing.</p>
<p>But this all was long long time ago. Aeons in mobile time. So I was today surprised when I got email from a person (David) using PyS60 Community Edition. We never upgraded PyS60 Community Edition to Python 2.5 . In fact we haven&#8217;t touched the project about two years. David was effectively using Python 2.3 and asked questions about the tool chain internals.</p>
<p>My first answer was a question <em>Why on Earth you are still using Python 2.3</em>? I thought maybe the guy had somehow missed the last two years or was a stuck with an old phone.</p>
<p>However&#8230; this was not the case and the answer was very insigtful.</p>
<p><em>Yes, I&#8217;m aware of PyS60 2.0.0, but I prefer PythonCommunity, at least for the moment: no OpenC neither Platform Services dependencies; smaller .SIS size and memory footprint. I think that the final .SIS produced with PythonCommunity, with everything necessary to run contained in it and with a clean installation without multiple dependencies, is a better fit for a mass-market than the files produced by PyS60 2.0.0, above all taking into account that people don&#8217;t know what S60 or Symbian are. </em></p>
<p><em>Also, the runtime deployment on the new PyS60 isn&#8217;t automatic for S60_3rd and S60_FP1 devices, so in the worst case scenario, users may end having to learn to install the different files (pips.sis, ssl.sis, stdioserver.sis, Python_2.0.0.sis, PythonScriptShell_2.0.0.sis) in the correct order, which is a big no-no for a mass-market deployment.</em></p>
<p>So&#8230;. I hope someone in Nokia is reading this blog entry carefully. Do it like Apple does. <strong>Make your application deployment static.</strong> Make OpenC static. Make every freaking library which is not shipped with the device statically buildable. It should be possible now when everything is open source. It will consume precious device RAM, but at least it will make mass market application development possible. SIS hell is worse hell than deb hell, or DLL hell, as the end user cannot fix it due to device security.</p>
<p>In the related news <a href="http://wl4.peer360.com/b/KYm12M46kGV2H2UO89lZ/main.asp?hl=80257660">SIS smart installer was announced few weeks ago.</a> Personally I wouldn&#8217;t bet it can deal with all the problems of versioning and Symbian platform security. <a href="http://discussion.forum.nokia.com/forum/forumdisplay.php?235-Nokia-Smart-Installer-for-Symbian">Forum reports aren&#8217;t promising</a> and looks like very Symbianish user experience can be expected. In positive light, it seems that Python is <a href="http://discussion.forum.nokia.com/forum/showthread.php?205584-Please-add-Python-runtime-to-dependencies-supported-by-Smart-Installer">being considered for this process</a>.
<p>
<a href="http://blog.mfabrik.com"><img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/mfabrik-24.png"></img></a> <a href="http://blog.mfabrik.com">Read our blog</a> <a href="http://twitter.com/mfabrik"> <a href="http://feeds.feedburner.com/mFabrikWebAndMobileDevelopment" rel="alternate" type="application/rss+xml"><img valign="middle" src="http://www.feedburner.com/fb/images/pub/feed-icon16x16.png" alt="" style="vertical-align:middle;border:0"/></a> <a href="http://feeds.feedburner.com/mFabrikWebAndMobileDevelopment" rel="alternate" type="application/rss+xml">Subscribe mFabrik blog in a reader</a> <img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/twitter-24.png"></img></a> <a href="http://twitter.com/mfabrik">Follow us on Twitter</a> <a href="http://www.linkedin.com/in/ohtis"><img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/linkedin-24.png"></img></a> <a href="http://www.linkedin.com/in/ohtis">Mikko Ohtamaa on LinkedIn</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mfabrik.com/2010/08/18/python-2-3-python-for-series-60-1-4-5-still-in-use-and-insight-into-symbian-deployment-process-and-user-experience/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Peek-a-boo &#8211; Python logo spotted in outdoor advertisement!</title>
		<link>http://blog.mfabrik.com/2010/08/17/peek-a-boo-python-logo-spotted-in-outdoor-advertisement/</link>
		<comments>http://blog.mfabrik.com/2010/08/17/peek-a-boo-python-logo-spotted-in-outdoor-advertisement/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 19:29:46 +0000</pubDate>
		<dc:creator>Mikko Ohtamaa</dc:creator>
				<category><![CDATA[plone]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[series 60]]></category>
		<category><![CDATA[symbian]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[advertisemetn]]></category>
		<category><![CDATA[logo]]></category>
		<category><![CDATA[mini]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[nokia n97]]></category>
		<category><![CDATA[python for series 60]]></category>
		<category><![CDATA[skype]]></category>
		<category><![CDATA[sports tracker]]></category>
		<category><![CDATA[veikkaus]]></category>

		<guid isPermaLink="false">http://blog.mfabrik.com/?p=636</guid>
		<description><![CDATA[This caught my eye when coming home from the work. The finger points straight to the snake&#8230; Kudos to Nokia for this. Nokia&#8217;s phones are the best platform if you wish to have pleasant rapid mobile application development in Python &#8211; just stay away from Symbian and Series 40 models. Read our blog  Subscribe mFabrik [...]]]></description>
			<content:encoded><![CDATA[<p>This caught my eye when coming home from the work.</p>
<p><a href="http://picasaweb.google.com/miohtama/PythonInAds#5506452409414984274"><img src="http://lh3.ggpht.com/_k6ZWjTOvMXw/TGrZSrvGIlI/AAAAAAAAAqM/6XDS9Qtmls4/s512/20100817_002.jpg" /></a></p>
<p>The finger points straight to the snake&#8230;</p>
<p><a href="http://picasaweb.google.com/miohtama/PythonInAds#5506452396396761234"><img src="http://lh5.ggpht.com/_k6ZWjTOvMXw/TGrZR7PT0JI/AAAAAAAAAqA/CrdvJnFQ3bc/s512/20100817_001.jpg" />
</p>
<p>
<img src="http://lh4.ggpht.com/_k6ZWjTOvMXw/TGraYVW0ZMI/AAAAAAAAAqc/X9AwQwGEL9Y/s512/python_logo.jpg" />
</p>
<p>
Kudos to Nokia for this. Nokia&#8217;s phones are the best platform if you wish to have pleasant rapid mobile application development in Python &#8211; just stay away from  Symbian and Series 40 models.
</p>
<p>
<a href="http://blog.mfabrik.com"><img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/mfabrik-24.png"></img></a> <a href="http://blog.mfabrik.com">Read our blog</a> <a href="http://twitter.com/mfabrik"> <a href="http://feeds.feedburner.com/mFabrikWebAndMobileDevelopment" rel="alternate" type="application/rss+xml"><img valign="middle" src="http://www.feedburner.com/fb/images/pub/feed-icon16x16.png" alt="" style="vertical-align:middle;border:0"/></a> <a href="http://feeds.feedburner.com/mFabrikWebAndMobileDevelopment" rel="alternate" type="application/rss+xml">Subscribe mFabrik blog in a reader</a> <img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/twitter-24.png"></img></a> <a href="http://twitter.com/mfabrik">Follow us on Twitter</a> <a href="http://www.linkedin.com/in/ohtis"><img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/linkedin-24.png"></img></a> <a href="http://www.linkedin.com/in/ohtis">Mikko Ohtamaa on LinkedIn</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mfabrik.com/2010/08/17/peek-a-boo-python-logo-spotted-in-outdoor-advertisement/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CodeSign error: a valid provisioning profile is required problem in XCode</title>
		<link>http://blog.mfabrik.com/2010/08/17/codesign-error-a-valid-provisioning-profile-is-required-problem-in-xcode/</link>
		<comments>http://blog.mfabrik.com/2010/08/17/codesign-error-a-valid-provisioning-profile-is-required-problem-in-xcode/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 13:59:02 +0000</pubDate>
		<dc:creator>Mikko Ohtamaa</dc:creator>
				<category><![CDATA[iphone]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[certificate]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[profile]]></category>
		<category><![CDATA[provisioning]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[signing]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://blog.mfabrik.com/?p=631</guid>
		<description><![CDATA[The above error pop-ups when you try to build iPhone application for the device. It means that the provision name in XCode project settings does not match .provision file installed in XCode Organizer (device manager). Usually this happens when you have downloaded XCode project created by someone else. It should be possible just to go [...]]]></description>
			<content:encoded><![CDATA[<p>The above error pop-ups when you try to build iPhone application for the device. It means that the provision name in XCode project settings does not match .provision file installed in XCode Organizer (device manager). Usually this happens when you have downloaded XCode project created by someone else.</p>
<p>It should be possible just to go to XCode -&gt; Project -&gt; Project settings and chose a valid code signing profile (Code signing -&gt; Code signing identity drop down should have been populated from the choices available in XCode organizer). However, it seems that<a href="http://www.frogameleon.com/blog/iphone-sdk-codesign-error-a-valid-provisioning-profile-is-required-for-product-type-application-in-sdk-device-iphone-os-22"> there is a bug and always changing this setting does not have effect</a>. Based on reports, it looks XCode project setting updater is confused about something and does not update the setting correctly.</p>
<p>The hardcode workaround is to edit your XCode project .xcodeproj file manually. You do not need to close down XCode for this (it will automatically ask to reload after the file is saved). You may see duplicate entries of  XCBuildConfiguration. You need to hunt down one with old (incorrect) values and manually copy-paste in correct values. You can get the correct values from XCode organizer.</p>
<p>For example, I had to edit in :</p>
<pre>
	CODE_SIGN_IDENTITY = "iPhone Developer: Mikko Ohtamaa (XXXYYY)";
	"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Mikko Ohtamaa (XXXXYYY)";
...
                PROVISIONING_PROFILE = "7572BAC6-4F0C-46D3-B96F-XXXXXYYY";
	"PROVISIONING_PROFILE[sdk=iphoneos*]" = "7572BAC6-4F0C-46D3-B96F-XXXXXYYYY";
</pre>
<p>manually to the file, replacing the old values for these settings. Note that values may be in many lines.</p>
<p>Hope this helps someone.
<p>
<a href="http://blog.mfabrik.com"><img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/mfabrik-24.png"></img></a> <a href="http://blog.mfabrik.com">Read our blog</a> <a href="http://twitter.com/mfabrik"> <a href="http://feeds.feedburner.com/mFabrikWebAndMobileDevelopment" rel="alternate" type="application/rss+xml"><img valign="middle" src="http://www.feedburner.com/fb/images/pub/feed-icon16x16.png" alt="" style="vertical-align:middle;border:0"/></a> <a href="http://feeds.feedburner.com/mFabrikWebAndMobileDevelopment" rel="alternate" type="application/rss+xml">Subscribe mFabrik blog in a reader</a> <img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/twitter-24.png"></img></a> <a href="http://twitter.com/mfabrik">Follow us on Twitter</a> <a href="http://www.linkedin.com/in/ohtis"><img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/linkedin-24.png"></img></a> <a href="http://www.linkedin.com/in/ohtis">Mikko Ohtamaa on LinkedIn</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mfabrik.com/2010/08/17/codesign-error-a-valid-provisioning-profile-is-required-problem-in-xcode/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
