<?xml version="1.0" encoding="UTF-8"?>
<rss 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" version="2.0">

<channel>
	<title>EdAndersen.com</title>
	<atom:link href="http://www.edandersen.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.edandersen.com</link>
	<description>Ed Andersen's musings</description>
	<pubDate>Mon, 05 Jan 2009 11:35:12 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>“Native” HD MKV playback in Windows 7</title>
		<link>http://www.edandersen.com/2009/01/05/native-hd-mkv-playback-in-windows-7/</link>
		<comments>http://www.edandersen.com/2009/01/05/native-hd-mkv-playback-in-windows-7/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 11:35:12 +0000</pubDate>
		<dc:creator>Ed Andersen</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.edandersen.com/2009/01/05/native-hd-mkv-playback-in-windows-7/</guid>
		<description><![CDATA[Everybody is messing around with the leaked Windows 7 build – and I mean everybody. One of the best new features is native DivX, AVCHD and mp4 video support. With the codec framework completely changed (as explained by Long Zheng here), usual MKV splitters for Windows Media Player no longer work and viewing HD MKV [...]]]></description>
			<content:encoded><![CDATA[<p>Everybody is messing around with the leaked Windows 7 build – and I mean <strong>everybody</strong>. One of the best new features is native DivX, AVCHD and mp4 video support. With the codec framework completely changed (as explained by Long Zheng <a href="http://www.istartedsomething.com/20081115/windows-7-new-decoders-encoders-transcoding/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.istartedsomething.com');">here</a>), usual MKV splitters for Windows Media Player no longer work and viewing HD MKV files now definitely requires VLC for now.</p>
<p><a href="http://www.edandersen.com/wp-content/uploads/2009/01/image.png" ><img style="border-bottom: 0px; border-left: 0px; margin: 0px auto 10px; display: block; float: none; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.edandersen.com/wp-content/uploads/2009/01/image-thumb.png" width="400" height="276" /></a> On my travels I found an application called <a href="http://forum.doom9.org/showthread.php?t=134104" onclick="javascript:pageTracker._trackPageview('/outbound/article/forum.doom9.org');">TSMuxer on the doom9 forums</a> – this has the ability to very quickly convert HD video files between formats with no quality loss whatsoever. This works by changing the container formats but keeping the video and audio streams the same.<img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://www.edandersen.com/wp-content/uploads/2009/01/image-thumb1.png" width="395" height="480" /></p>
<p>The screenshot above shows the settings I used to convert an episode of Heroes into an AVCHD .m2ts file. The process took about 2 minutes and resulted in a file that plays natively in Windows Media Player 12, Windows Media Center and even better – <strong>streams and plays in HD to an Xbox 360 Media Center Extender</strong>. No stupid codec packs and no dodgy DirectShow filters. Lovely.</p>
<img src="http://feeds.feedburner.com/~r/edandersen/~4/503301264" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.edandersen.com/2009/01/05/native-hd-mkv-playback-in-windows-7/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Back in Japan</title>
		<link>http://www.edandersen.com/2008/12/17/back-in-japan/</link>
		<comments>http://www.edandersen.com/2008/12/17/back-in-japan/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 22:32:07 +0000</pubDate>
		<dc:creator>Ed Andersen</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.edandersen.com/2008/12/17/back-in-japan/</guid>
		<description><![CDATA[For the forseeable future I’m back in Japan since finally finishing my Uni course. After working full time since May I’ve decided to have a bit of a gap year style break before I settle down somewhere. Expect this blog to become a bit more of a personal one with some photos etc.
My phone is [...]]]></description>
			<content:encoded><![CDATA[<p>For the forseeable future I’m back in Japan since finally finishing my Uni course. After working full time since May I’ve decided to have a bit of a gap year style break before I settle down somewhere. Expect this blog to become a bit more of a personal one with some photos etc.</p>
<p>My phone is back in action and my keitai address is ed.andersen at softbank.ne.jp <img src='http://www.edandersen.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> Feel free to drop me a line.</p>
<img src="http://feeds.feedburner.com/~r/edandersen/~4/488059912" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.edandersen.com/2008/12/17/back-in-japan/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Lines on the New Xbox Experience</title>
		<link>http://www.edandersen.com/2008/11/13/lines-on-the-new-xbox-experience/</link>
		<comments>http://www.edandersen.com/2008/11/13/lines-on-the-new-xbox-experience/#comments</comments>
		<pubDate>Thu, 13 Nov 2008 23:05:24 +0000</pubDate>
		<dc:creator>Ed Andersen</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.edandersen.com/2008/11/13/lines-on-the-new-xbox-experience/</guid>
		<description><![CDATA[Thanks to the ever-excellent Zman at The Z Buffer, I’ve been sent some screenshots of what Lines actually looks like on the New Xbox Experience. Awesome!
 
 

]]></description>
			<content:encoded><![CDATA[<p>Thanks to the ever-excellent Zman at <a href="http://www.thezbuffer.com" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.thezbuffer.com');">The Z Buffer</a>, I’ve been sent some screenshots of what Lines actually looks like on the New Xbox Experience. Awesome!</p>
<p align="center"><a href="http://www.edandersen.com/wp-content/uploads/2008/11/image.png" ><img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="257" alt="image" src="http://www.edandersen.com/wp-content/uploads/2008/11/image-thumb.png" width="454" border="0" /></a> </p>
<p align="center"><a href="http://www.edandersen.com/wp-content/uploads/2008/11/image1.png" ><img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="257" alt="image" src="http://www.edandersen.com/wp-content/uploads/2008/11/image-thumb1.png" width="454" border="0" /></a> </p>
<p align="center"><a href="http://www.edandersen.com/wp-content/uploads/2008/11/image2.png" ><img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="257" alt="image" src="http://www.edandersen.com/wp-content/uploads/2008/11/image-thumb2.png" width="454" border="0" /></a></p>
<img src="http://feeds.feedburner.com/~r/edandersen/~4/452289356" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.edandersen.com/2008/11/13/lines-on-the-new-xbox-experience/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Lines now on Xbox Live</title>
		<link>http://www.edandersen.com/2008/11/12/lines-now-on-xbox-live/</link>
		<comments>http://www.edandersen.com/2008/11/12/lines-now-on-xbox-live/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 22:29:51 +0000</pubDate>
		<dc:creator>Ed Andersen</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.edandersen.com/2008/11/12/lines-now-on-xbox-live/</guid>
		<description><![CDATA[So my grand plan to rewrite my game for the Community Games launch didn’t quite go according to plan, so I decided to polish up the original version as a bit of practice. It has now been approved and is on Xbox Live Community Games – NXE users can download the trial and buy it [...]]]></description>
			<content:encoded><![CDATA[<p>So my grand plan to rewrite my game for the Community Games launch didn’t quite go according to plan, so I decided to polish up the original version as a bit of practice. It has now been approved and is on <a href="http://catalog.xna.com/en-GB/GameDetails.aspx?catalogEntryId=bee7ac91-6a7e-473c-8879-672bf799319b&amp;type=2" onclick="javascript:pageTracker._trackPageview('/outbound/article/catalog.xna.com');">Xbox Live Community Games</a> – NXE users can download the trial and buy it now, while everyone on the old dashboard will have to wait until November 19th. The internet ranking site is up at <a href="http://www.edngames.com" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.edngames.com');">http://www.edngames.com</a> – by soliciting scores I should be able to get a decent idea of how many people are buying the full game which you need to do to get internet ranking passwords.</p>
<p align="center"><a href="http://www.edandersen.com/wp-content/uploads/2008/11/edbox7copy.jpg" ><img title="Edbox-7 copy" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="257" alt="Edbox-7 copy" src="http://www.edandersen.com/wp-content/uploads/2008/11/edbox7copy-thumb.jpg" width="454" border="0" /></a> </p>
<p>The Community Games community is just getting off the ground, and already establishing its own “ground rules” for peer review based on the very loose guidelines set forth by Microsoft (presumably so they cannot be held responsible for anything that gets passed). The most important points to watch out for, and the community WILL FAIL you for breaking are:</p>
<ul>
<li>Be able to use multiple controllers – much to the chagrin of some of the creators, the community will fail your game if you cannot play it with any controller plugged in. Don’t hardcode for PlayerIndex.One.</li>
<li>Test with more than one storage device – you have to be able to support memory cards as well as hard discs, and to be able to show the Guide selector asyncronously. I was caught out by the case where you can cancel the selection (which will cause EndShowStorageDeviceSelection to return null) so remember this is a valid input.</li>
<li>Small text and TitleSafeArea – many reviewers are using SD CRT tellies, not lovely HDTVs that many are now using and many creators use to test their games. Small text is a massive issue and SDTV users WILL fail your game if they can’t read anything crucial to gameplay (instructions etc). In addition, the area of the game screen you can see on a SDTV is much smaller due to the increased overscan, so use the TitleSafeArea property to make sure your text is within the overscan limits.</li>
<li>Make a “game” – the community has already had its fair share of drama, including one member simply submitting reskinned Starter Kits (templates from Microsoft) that didn’t meet the submission rules and one producing a Magic 8-Ball style game that requires the chatpad peripheral that simply <em>nobody owns</em> to play. Even if the game technically meets the submission criteria, the community can and will still fail it if they deem it unsuitable for the service (or increasingly if the submission will make the service look bad) either by trying their hardest to find a crash bug or simply not reviewing the game so it never passes peer review.</li>
</ul>
<p>Lines is available for 200 Microsoft Points which is about $2.50. I get 70% of this so I could get some beer money. Fingers crossed! </p>
<img src="http://feeds.feedburner.com/~r/edandersen/~4/451184254" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.edandersen.com/2008/11/12/lines-now-on-xbox-live/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Lines EX – rebuilding with XNA 3</title>
		<link>http://www.edandersen.com/2008/09/06/lines-ex-rebuilding-with-xna-3/</link>
		<comments>http://www.edandersen.com/2008/09/06/lines-ex-rebuilding-with-xna-3/#comments</comments>
		<pubDate>Sat, 06 Sep 2008 13:22:31 +0000</pubDate>
		<dc:creator>Ed Andersen</dc:creator>
		
		<category><![CDATA[Projects]]></category>

		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://www.edandersen.com/2008/09/06/lines-ex-rebuilding-with-xna-3/</guid>
		<description><![CDATA[
My dissertation project saw me making an XNA game (Lines) and website to go with it (edngames.com) which used web services to make essentially a cut down Xbox Live on the PC with rich presence support, automatic high score uploading etc. I feel it was very successful (and the markers agreed) but I didn’t get [...]]]></description>
			<content:encoded><![CDATA[</p>
<p>My dissertation project saw me making an XNA game (Lines) and website to go with it (<a href="http://www.edngames.com" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.edngames.com');">edngames.com</a>) which used web services to make essentially a cut down Xbox Live on the PC with rich presence support, automatic high score uploading etc. I feel it was very successful (and the markers agreed) but I didn’t get the time to spend on the game portion that I wanted to, instead concentrating mainly on the distribution scenarios and the user experience. With the Xbox Live Community Arcade coming up and the new CTP of XNA 3 released, I thought it would be the right time to rewrite the game using everything I’ve learnt over the last year since I began the project ready for the Community Arcade launch “this fall”.</p>
<p align="center"><a href="http://www.edandersen.com/wp-content/uploads/2008/09/image.png" ><img title="image" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="225" alt="image" src="http://www.edandersen.com/wp-content/uploads/2008/09/image-thumb.png" width="400" border="0" /></a> </p>
<p>Instead of using SpriteBatch, I’ve decided to place 2D flat quads in 3D space. While still getting free rotation, transparency etc, I now get resolution independence and extra effects such as being able to skew sprites. </p>
<p>I already have the main game code so am working on the menu system. By having sprites in a 3D space, changing the camera location means aspect ratio independence too by zooming out or changing the field of view – below shows the main menu in 16:9 and 4:3 (the zooming will work with all aspect ratios meaning no stretching).</p>
<p align="center"><a href="http://www.edandersen.com/wp-content/uploads/2008/09/image1.png" ><img title="image" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="170" alt="image" src="http://www.edandersen.com/wp-content/uploads/2008/09/image-thumb1.png" width="303" border="0" /></a> <a href="http://www.edandersen.com/wp-content/uploads/2008/09/image2.png" ><img title="image" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="170" alt="image" src="http://www.edandersen.com/wp-content/uploads/2008/09/image-thumb2.png" width="216" border="0" /></a></p>
<p>My favourite benefit however is the Smash Bros. style 3D effect you can achieve by moving the camera with the right stick. Completely pointless but very cool and can help you debug the locations of your sprites in the game world.</p>
<p align="center"><a href="http://www.edandersen.com/wp-content/uploads/2008/09/image3.png" ><img title="image" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="223" alt="image" src="http://www.edandersen.com/wp-content/uploads/2008/09/image-thumb3.png" width="400" border="0" /></a> </p>
<p align="left">And yes, I am aware of the hidden word in the title and it is purely accidental <img src='http://www.edandersen.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/edandersen/~4/385020749" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.edandersen.com/2008/09/06/lines-ex-rebuilding-with-xna-3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mail.app and iPhone encode Japanese as Korean</title>
		<link>http://www.edandersen.com/2008/07/27/mailapp-and-iphone-encodes-japanese-as-korean/</link>
		<comments>http://www.edandersen.com/2008/07/27/mailapp-and-iphone-encodes-japanese-as-korean/#comments</comments>
		<pubDate>Sun, 27 Jul 2008 16:36:21 +0000</pubDate>
		<dc:creator>Ed Andersen</dc:creator>
		
		<category><![CDATA[Apple]]></category>

		<category><![CDATA[Japanese]]></category>

		<category><![CDATA[Mobiles]]></category>

		<guid isPermaLink="false">http://www.edandersen.com/2008/07/27/mailapp-and-iphone-encodes-japanese-as-korean/</guid>
		<description><![CDATA[The latest of ridiculous bugs I have found after my switchover to Mac is that Korean takes precedence over Japanese when &#8220;Automatic&#8221; is selected as the encoding on Mail.app. It literally sees Japanese text as Korean and encodes emails as ISO-2022-KR (Korean) if both Japanese and Korean are selected under Languages.

Try it yourself: make sure [...]]]></description>
			<content:encoded><![CDATA[<p>The latest of ridiculous bugs I have found after my switchover to Mac is that Korean takes precedence over Japanese when &#8220;Automatic&#8221; is selected as the encoding on Mail.app. It literally sees Japanese text as Korean and encodes emails as ISO-2022-KR (Korean) if both Japanese and Korean are selected under Languages.</p>
<p style="text-align: center;"><img src="http://www.edandersen.com/wp-content/uploads/2008/07/200807271725.jpg" width="480" height="416" alt="200807271725.jpg" /></p>
<p>Try it yourself: make sure both Korean and Japanese are in the Languages list (so they show both show up in Mail.app&#8217;s Message &gt; Text Encoding) and send an email containing Japanese text when encoding is set to &#8220;Automatic&#8221;. View the full message source and see that it encodes the message as ISO-2022-KR, not ShiftJIS or UTF-8 which it should. You have to completely remove Korean from the list if you want to use Automatic encoding, or manually select the encoding yourself every time. I cannot find a setting to force an encoding (er, UTF-8) on every email you send.</p>
<p>This is not a problem if the recipient is a PC/Mac user since the mail client will sort it out - but sending mails to a Japanese phone, which obviously has no idea what to do with Korean text encoding (and can&#8217;t suss out that its actually Japanese text) means that the lucky recipient gets ばか文字、<em>bakamoji</em> literally &#8220;idiot text&#8221;, jumbled garbage.</p>
<h4>Its even worse on the iPhone</h4>
<p>If you ever decide to turn Korean keyboards on in the Language settings, or switch to Korean, iPhone appears to add Korean to the Languages list when choosing its own encoding. However, you cannot change the encoding manually on iPhone, or ever remove Korean from the list, even if you then disable Korean input.<br />
The net result? You can never send Japanese mails to Japanese mobile phones ever again on your iPhone, until you do a full system restore. Which I am now doing. If you reply to a mail that was sent to you in ShiftJIS, the iPhone is at least clever enough to reply in the same encoding type but you are SOL if you want to compose a new one.<br />
Rubbish. Windows Mobile has an option to &#8220;always send mail as UTF-8&#8243;. I wonder how many iPhone users in Japan have fallen foul of this?</p>
<img src="http://feeds.feedburner.com/~r/edandersen/~4/347554861" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.edandersen.com/2008/07/27/mailapp-and-iphone-encodes-japanese-as-korean/feed/</wfw:commentRss>
		</item>
		<item>
		<title>iPhone O2 - how to fix the image compression</title>
		<link>http://www.edandersen.com/2008/07/13/iphone-o2-fix-the-image-compression/</link>
		<comments>http://www.edandersen.com/2008/07/13/iphone-o2-fix-the-image-compression/#comments</comments>
		<pubDate>Sun, 13 Jul 2008 15:19:25 +0000</pubDate>
		<dc:creator>Ed Andersen</dc:creator>
		
		<category><![CDATA[Apple]]></category>

		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://www.edandersen.com/2008/07/13/iphone-o2-fix-the-image-compression/</guid>
		<description><![CDATA[O2 in the UK butcher images while using GPRS/3G/EDGE - seriously effecting the iPhone. Images are recompressed to horrendous levels - look at the App Store here:

As you can see, the Facebook and Super Monkey Ball banners have been recompressed. This effects webpages aswell - meaning downloading new wallpapers or browsing Flickr is a waste [...]]]></description>
			<content:encoded><![CDATA[<p>O2 in the UK butcher images while using GPRS/3G/EDGE - seriously effecting the iPhone. Images are recompressed to horrendous levels - look at the App Store here:</p>
<p style="text-align: center;"><img src="http://www.edandersen.com/wp-content/uploads/2008/07/photo1.png" width="320" height="480" alt="photo.jpg" /></p>
<p>As you can see, the Facebook and Super Monkey Ball banners have been recompressed. This effects webpages aswell - meaning downloading new wallpapers or browsing Flickr is a waste of time. However, if you change the username for the O2 access point under Settings &gt; General &gt; Network &gt; Cellular Data Network to &#8220;bypass&#8221; from the default &#8220;vertigo&#8221; like so:</p>
<div style="text-align: center;">
  <img src="http://www.edandersen.com/wp-content/uploads/2008/07/photo2.png" width="320" height="480" alt="photo.jpg" />
</div>
<div style="text-align: center;">
  
</div>
<p>The compression is now turned off! Now the &#8220;whole internet in your pocket&#8221; is actually the whole internet in your pocket.</p>
<p style="text-align: center;"><img src="http://www.edandersen.com/wp-content/uploads/2008/07/photo.png" width="320" height="480" alt="photo.jpg" /></p>
<img src="http://feeds.feedburner.com/~r/edandersen/~4/334322833" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.edandersen.com/2008/07/13/iphone-o2-fix-the-image-compression/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Symfony in Enterprise - Tips and Experiences</title>
		<link>http://www.edandersen.com/2008/07/02/symfony-in-enterprise-tips-and-experiences/</link>
		<comments>http://www.edandersen.com/2008/07/02/symfony-in-enterprise-tips-and-experiences/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 18:46:41 +0000</pubDate>
		<dc:creator>Ed Andersen</dc:creator>
		
		<category><![CDATA[Internet]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.edandersen.com/2008/07/02/symfony-in-enterprise-tips-and-experiences/</guid>
		<description><![CDATA[

At work I am currently tasked with redeveloping an intranet application used to track customers, products owned, support contracts, support records and all sorts of other CRM-esqué functions. The version used at the moment is a very fast Perl/MySQL/Mod_perl/Apache setup built over a few years. Its got to the point where the company needs more [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;"><img style="margin-bottom:10px;" src="http://www.edandersen.com/wp-content/uploads/2008/07/200807021841.jpg" alt="200807021841.jpg" width="480" height="250" /></div>
<div style="text-align: center;"></div>
<p>At work I am currently tasked with redeveloping an intranet application used to track customers, products owned, support contracts, support records and all sorts of other CRM-esqué functions. The version used at the moment is a very fast Perl/MySQL/Mod_perl/Apache setup built over a few years. Its got to the point where the company needs more functionality and hacking extra functions into the current code is getting more and more difficult.</p>
<h4>Why Symfony? Why PHP?</h4>
<p>The current trend for &#8220;rich internet applications&#8221; is Ruby on Rails. Ruby has very powerful Object Role Modelling features that completely abstract the database from your code - no more writing SQL queries once the initial database has been set up. Database tables become class generators and rows become class references, free to be instantiated, updated and saved. <a href="http://www.symfony-project.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.symfony-project.org');">Symfony</a> is probably the closest PHP Framework to Ruby, as it utilises the <a href="http://propel.phpdb.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/propel.phpdb.org');">Propel</a> ORM layer (so can use almost any RDMS) and has a full Model View Controller structure. PHP runs on the vast majority of Apache installations and requires no extra software installed on the server - in addition finding skilled PHP programmers is far easier (although this might change). Symfony is also probably one of the most well documented Open Source web framework projects that I have come across, featuring a whole book written by a member of the community very close to the development team, an expansive Wiki on the project homepage and hundreds of plugins to simplify everything from AJAX to RSS feed generation.</p>
<p>Symfony can be used in two ways - through config files (text files defined using YAML, a simple markup language) which are passed to Generators to create the final scripts, or by manually coding the actions and pages. In reality, a combination of the two will be used. Tweaking the included Administration Generator will yield respectable results for the standard CRUD (Create, Read, Update, Delete) functions and it is extremely simple to create modules and actions with the included command-line tool that creates skeleton templates for you to use.</p>
<p>No longer do you have to plug in debugging tools (such as the Xdebug php extension) to get decent errors and stack traces when your application fails - Symfony provides a development view of your application that will output extremely useful information (such as execution time, a list of all SQL queries made and globals) right in the page outputted to your browser. Debugging the application I&#8217;ve been working has been as easy as that of a desktop app (coming from my experience of Visual Studio) - Symfony will work in conjunction with many PHP debugging extensions for further information if you need it (I haven&#8217;t).</p>
<p>Plus, Symfony is good enough for <a href="http://www.symfony-project.org/blog/2006/10/28/yahoo-bookmarks-uses-symfony" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.symfony-project.org');">Yahoo to use it for a 20 Million user app, Yahoo Bookmarks</a>!</p>
<h4>Results</h4>
<p>I&#8217;ve been working alone for a month on the project and what strikes me is the huge amount of already achieved with no prior experience of Symfony:</p>
<ul>
<li><strong>A complete database redesign</strong> using the excellent <a href="http://dev.mysql.com/workbench/" onclick="javascript:pageTracker._trackPageview('/outbound/article/dev.mysql.com');">MySQL Workbench</a>. Adding many-to-many relationships where there were none before requires a good deal of thought but the results when the ORM classes are generated by Propel in Symfony are well worth the effort</li>
<li><strong>Database migration</strong> handled by the CLI features of Symfony. One command will generate a .php file you can run at the command line (or cron job) with automatic access to all the features of your main application. Where the database had been vastly redesigned to support relationships, custom migration code had to be written (but where tables have not changed, you can copy table data directly in one line of manual SQL). The migration script takes about half an hour to run (approx. 3,000,000 records).</li>
<li><strong>User security and session support</strong>, timeouts etc</li>
<li><strong>Full creation and editing</strong> of all the major record types with administration control panels</li>
<li><strong>AJAX views and manipulation</strong> of information with per-user rearrangeable panels ala iGoogle</li>
<li><strong>Full filtering functions for searches</strong> with auto-paginated results (soon with Excel export)</li>
<li><strong>Global per-user filters</strong> that effect all searches</li>
<li>&#8230;and lots of other actions specific to the application</li>
</ul>
<h4>Tips</h4>
<p>Some advice to newcomers to Symfony from my experience:</p>
<ul>
<li><strong>Don&#8217;t rewrite the wheel.</strong> Use the plugins available and tweak them if necessary.</li>
<li><strong>Use the Admin Generator, don&#8217;t fight it.</strong> Instead of writing custom create/edit/list actions when the Administration Generator does not meet your requirements (or altering the CSS won&#8217;t help), override templates with per-module versions of your own. Even better is creating a new Generator all together (although it is a headache writing PHP code that writes PHP code!) - check out the <a href="http://trac.symfony-project.com/wiki/sfAdvancedAdminGeneratorPlugin" onclick="javascript:pageTracker._trackPageview('/outbound/article/trac.symfony-project.com');">sfAdvancedAdminGenerator</a> plugin for inspiration.</li>
<li><strong>Don&#8217;t worry too much about performance</strong> especially if your application is running a bit sluggish on your local machine. On a proper server with a production installation of Apache and MySQL, the application I thought was a bit slow flew given the chance. You can optimise later.</li>
<li><strong>Don&#8217;t be scared of upgrading</strong> - I went up a symfony version during production without a hitch and without a change in my code (from 1.0 to 1.1 this will be different)</li>
<li><strong>Use a decent IDE.</strong> I use PDT Eclipse and it definitely speeds up development. You will frequently have to edit several files at once so at least use a text editor with tabs.</li>
<li><strong>Read the book!</strong> I can&#8217;t stress this one enough. It is extremely well written and is available for free on the website.</li>
</ul>
<p>I&#8217;ll post some more impressions and a brief postmortem when the project is finished.</p>
<img src="http://feeds.feedburner.com/~r/edandersen/~4/325108860" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.edandersen.com/2008/07/02/symfony-in-enterprise-tips-and-experiences/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Vista net problems? Disable auto-tuning</title>
		<link>http://www.edandersen.com/2008/05/05/vista-net-problems-disable-auto-tuning/</link>
		<comments>http://www.edandersen.com/2008/05/05/vista-net-problems-disable-auto-tuning/#comments</comments>
		<pubDate>Mon, 05 May 2008 18:53:03 +0000</pubDate>
		<dc:creator>Ed Andersen</dc:creator>
		
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.edandersen.com/2008/05/vista-net-problems-disable-auto-tuning/</guid>
		<description><![CDATA[I have been having a problem where I would get &#8220;This page cannot be displayed&#8221; errors the first time I tried to access a website. The odd thing was that hitting Refresh would solve the problem and I would get through to the site immediately. At first, I thought it was a DNS problem due [...]]]></description>
			<content:encoded><![CDATA[<p>I have been having a problem where I would get &#8220;This page cannot be displayed&#8221; errors the first time I tried to access a website. The odd thing was that hitting Refresh would solve the problem and I would get through to the site immediately. At first, I thought it was a DNS problem due to the Internet Connection Sharing setup, but turns out it is Vista messing around with the net connection with a process called &#8220;<a href="http://technet.microsoft.com/en-gb/library/bb878127.aspx" onclick="javascript:pageTracker._trackPageview('/outbound/article/technet.microsoft.com');">Receive Window Auto-Tuning</a>&#8221; (this alters the size of the packets on your network based on network conditions).</p>
<p>To turn this off, fire up an elevated command prompt window and type in &#8220;netsh interface tcp set global autotuninglevel=disabled&#8221; without the quotes. This solved all the problems I was having with my net connection in Vista SP1. Strange.</p>
<p align="center"><a href="http://www.edandersen.com/wp-content/uploads/2008/05/image.png" ><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="236" alt="image" src="http://www.edandersen.com/wp-content/uploads/2008/05/image-thumb.png" width="450" border="0"></a></p>
<img src="http://feeds.feedburner.com/~r/edandersen/~4/283940071" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.edandersen.com/2008/05/05/vista-net-problems-disable-auto-tuning/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Presentation Zen by Garr Reynolds</title>
		<link>http://www.edandersen.com/2008/04/07/presentation-zen-by-garr-reynolds/</link>
		<comments>http://www.edandersen.com/2008/04/07/presentation-zen-by-garr-reynolds/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 18:52:22 +0000</pubDate>
		<dc:creator>Ed Andersen</dc:creator>
		
		<category><![CDATA[Books]]></category>

		<category><![CDATA[Education]]></category>

		<category><![CDATA[Japanese]]></category>

		<guid isPermaLink="false">http://www.edandersen.com/2008/04/presentation-zen-by-garr-reynolds/</guid>
		<description><![CDATA[I&#8217;ve finally had the pleasure of getting a copy of Garr Reynolds&#8217; Presentation Zen: Simple Ideas on Presentation Design and Delivery. Garr Reynolds, for those of you that don&#8217;t know him, is the world&#8217;s Powerpoint guru and his Presentation Zen blog is essential reading for anybody in the business of delivering presentations or public speaking.
The [...]]]></description>
			<content:encoded><![CDATA[<p><iframe style="width: 120px; height: 240px" align="right" marginwidth="0" marginheight="0" src="http://rcm-uk.amazon.co.uk/e/cm?t=edandercom-21&amp;o=2&amp;p=8&amp;l=as1&amp;asins=0321525655&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" frameborder="0" scrolling="no"></iframe>I&#8217;ve finally had the pleasure of getting a copy of Garr Reynolds&#8217; <strong>Presentation Zen: Simple Ideas on Presentation Design and Delivery</strong>. Garr Reynolds, for those of you that don&#8217;t know him, is the world&#8217;s Powerpoint guru and his <a href="http://www.presentationzen.com" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.presentationzen.com');">Presentation Zen</a> blog is essential reading for anybody in the business of delivering presentations or public speaking.</p>
<p>The book is very visual, giving hundreds of examples of both good and bad Powerpoint design. Garr is of the &#8220;less is more&#8221; school of thought and he shows you how to turn horrific clip-art bullet point laden disasters into slick, to the point and punchy presentations that would make Steve Jobs proud. </p>
<p>Garr also touches on some aspects of Zen (of which he is very fond) and how it applies to the delivery and preparation of presentations. Be prepared for a bit of a Japanese lesson when reading about some of the concepts.</p>
<p>He is sympathetic with the current nightmare of slideshows shown in almost every lecture theatre and boardroom in the country, blaming slideware (Powerpoint, Keynote) for &#8220;guiding users toward presenting in outline form with subject titles and bullet points grouped under each topic heading&#8221; - basically the usual bullet point snoozes we have to endure every day. I really wish that this was compulsory reading for University lecturers.</p>
<p>Look at this slide from a lecture I was in today - I actually could not read the text from my seat in the room:</p>
<p align="center"><a href="http://www.edandersen.com/wp-content/uploads/2008/04/image.png" ><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="266" alt="image" src="http://www.edandersen.com/wp-content/uploads/2008/04/image-thumb.png" width="354" border="0"></a> </p>
<p>By quickly redesigning the slide based on the principles of Presentation Zen (in Powerpoint 2007), I get the following slide:</p>
<p align="center"><a href="http://www.edandersen.com/wp-content/uploads/2008/04/image1.png" ><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="265" alt="image" src="http://www.edandersen.com/wp-content/uploads/2008/04/image-thumb1.png" width="354" border="0"></a> </p>
<p>You might be wondering where all the information has gone - it is however the presenter&#8217;s job to present the information by speaking and explaining each point clearly and concisely, not reading from a slide. Streams of text copy and pasted from the net need to be in a seperate handout. The &#8220;watermarking&#8221; at the bottom of the slide is equally useless.</p>
<p>Teachers, please buy this book and start delivering engaging presentations that encourage students to come to the lecture. 5 people came to the class today - it started with 50. Engaging presentations will also teach the kids more!</p>
<img src="http://feeds.feedburner.com/~r/edandersen/~4/296854693" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.edandersen.com/2008/04/07/presentation-zen-by-garr-reynolds/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
