<?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>Mostly undocumented stuff</title>
	<atom:link href="http://phaser.gfxile.net/wp/feed/" rel="self" type="application/rss+xml" />
	<link>http://phaser.gfxile.net/wp</link>
	<description>and some other stuff too</description>
	<lastBuildDate>Sat, 10 Mar 2012 11:43:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Xcode, NSOpenGLView, internal crash</title>
		<link>http://phaser.gfxile.net/wp/2012/03/xcode-nsopenglview-internal-crash/</link>
		<comments>http://phaser.gfxile.net/wp/2012/03/xcode-nsopenglview-internal-crash/#comments</comments>
		<pubDate>Sun, 04 Mar 2012 15:10:09 +0000</pubDate>
		<dc:creator>simo</dc:creator>
				<category><![CDATA[Informative]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://phaser.gfxile.net/wp/?p=1457</guid>
		<description><![CDATA[<div id="fb-root"></div>I&#8217;ve been encountering a frequent problem with Xcode interface builder with NSOpenGLViews &#8211; whenever you add one, connect it to a class, and touch something, interface builder starts crashing like mad. First, you try to save everything hitting continue, then you realize saving, restarting, loading, deleting the control, creating it again, nothing helps. You just &#8230;]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been encountering a frequent problem with Xcode interface builder with NSOpenGLViews &#8211; whenever you add one, connect it to a class, and touch <em>something</em>, interface builder starts crashing like mad. First, you try to save everything hitting <em>continue</em>, then you realize saving, restarting, loading, deleting the control, creating it again, nothing helps. You just -can&#8217;t- add OpenGL views anymore.</p>
<p>This happens once per project, and for me it seemed there&#8217;s no other solution than to create a completely new XIB.</p>
<p>Today, I found a workaround:</p>
<ol>
<li>Remove the NSOpenGLView that&#8217;s causing the crash</li>
<li>Restart Xcode, reload the project</li>
<li>(never touch NSOpenGLView in the interface builder again)</li>
<li>Add a &#8220;Custom NSView&#8221; and move it into place, set all the NSView settings for it as you would with the OpenGLView</li>
<li>Set the class for that custom view to NSOpenGLView or a class derived from that</li>
<li>For the view controller, add an IBOutlet NSOpenGLView *object or the derived class</li>
<li>Connect that outlet to the Custom NSView in interface builder</li>
<li>Add some proper initialization code for the view (straight from Cocoa API documentation) &#8211; this is what you don&#8217;t have to do when using the NSOpenGLView but now it&#8217;s necessary:</li>
</ol>
<pre>// in the controller class .m
- (void)awakeFromNib {
 // set the pixel format and depth buffer and other parameters as you wish
 NSOpenGLPixelFormatAttribute attrs[] = {
 NSOpenGLPFADoubleBuffer,
 NSOpenGLPFADepthSize, 32,
 0
 };
 NSOpenGLPixelFormat *pf = [[NSOpenGLPixelFormat alloc] initWithAttributes:attrs];

 // assuming your class has an IBOutlet NSOpenGLView *m_gl
 [m_gl initWithFrame:[m_gl frame] pixelFormat:pf];
}</pre>
<p>&#8230; and you&#8217;re set. No crashing.</p>
<p>Edit: this only seems to happen on an Xcode older than 4.2 or on 4.2 that&#8217;s not a clean install but updated from 4.1 or older.
<div class="ptl_div"><script>
					//<![CDATA[
					document.write('<g:plusone size="standard" annotation="none" href="http://phaser.gfxile.net/wp/2012/03/xcode-nsopenglview-internal-crash/"></g:plusone>');
				        //]]&gt;
					</script><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://phaser.gfxile.net/wp/2012/03/xcode-nsopenglview-internal-crash/" data-text="Xcode, NSOpenGLView, internal crash" data-count="vertical">Tweet</a>
<div class="ptl_fb"><script>
							//<![CDATA[
							document.write('<fb:like href="http://phaser.gfxile.net/wp/2012/03/xcode-nsopenglview-internal-crash/" show_faces="true" width="225"  action="like" font="" colorscheme="light"></fb:like>');
							//]]&gt;
							</script></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://phaser.gfxile.net/wp/2012/03/xcode-nsopenglview-internal-crash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Orchestral tracks from the past</title>
		<link>http://phaser.gfxile.net/wp/2012/02/orchestral-tracks-from-the-past/</link>
		<comments>http://phaser.gfxile.net/wp/2012/02/orchestral-tracks-from-the-past/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 10:59:40 +0000</pubDate>
		<dc:creator>simo</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[music]]></category>

		<guid isPermaLink="false">http://phaser.gfxile.net/wp/?p=1448</guid>
		<description><![CDATA[It&#8217;s already a long time since I removed the online jukebox from these pages, so here&#8217;s some of the old orchestral music from those times (along with some new). Cabo Blanco Cabo Blanco Running Running Train Roof RundownTrain roof rundown Africa &#8220;Flyover Cliché&#8221; track Africa Light Light Adventure Legend Legend Chest of Tales Chest of &#8230;]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s already a long time since I removed the online jukebox from these pages, so here&#8217;s some of the old orchestral music from those times (along with some new).<span id="more-1448"></span></p>
<p>Cabo Blanco<a href="http://phaser.gfxile.net/music/caboblanco3.mp3"><br />
Cabo Blanco</a></p>
<p>Running<a href="http://phaser.gfxile.net/music/categories/orchestral/Running%20(suspense).mp3"><br />
Running</a></p>
<p>Train Roof Rundown<a href="http://phaser.gfxile.net/music/categories/orchestral/Train%20roof%20rundown%20(suspense).mp3">Train roof rundown</a></p>
<p>Africa &#8220;Flyover Cliché&#8221; track<a href="http://phaser.gfxile.net/music/categories/orchestral/Africa.mp3"><br />
Africa</a></p>
<p>Light<br />
<a href="http://phaser.gfxile.net/music/categories/orchestral/Light.mp3">Light</a></p>
<p>Adventure Legend<br />
<a href="http://phaser.gfxile.net/music/categories/orchestral/Legend%20(adventurous).mp3">Legend</a></p>
<p>Chest of Tales<br />
<a href="http://phaser.gfxile.net/music/categories/orchestral/Chest%20of%20Tales.mp3">Chest of Tales</a></p>
<p><strong>More &#8220;electronic&#8221; stuff:</strong></p>
<p><strong></strong>Access Denied<br />
<a href="http://phaser.gfxile.net/music/categories/orchestral/Access%20denied%20(action).mp3">Access Denied</a></p>
<p>Sneak<br />
<a href="http://phaser.gfxile.net/music/categories/suspense/Sneak.mp3">Sneak</a>
<div class="ptl_div"><script>
					//<![CDATA[
					document.write('<g:plusone size="standard" annotation="none" href="http://phaser.gfxile.net/wp/2012/02/orchestral-tracks-from-the-past/"></g:plusone>');
				        //]]&gt;
					</script><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://phaser.gfxile.net/wp/2012/02/orchestral-tracks-from-the-past/" data-text="Orchestral tracks from the past" data-count="vertical">Tweet</a>
<div class="ptl_fb"><script>
							//<![CDATA[
							document.write('<fb:like href="http://phaser.gfxile.net/wp/2012/02/orchestral-tracks-from-the-past/" show_faces="true" width="225"  action="like" font="" colorscheme="light"></fb:like>');
							//]]&gt;
							</script></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://phaser.gfxile.net/wp/2012/02/orchestral-tracks-from-the-past/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://phaser.gfxile.net/music/caboblanco3.mp3" length="3375437" type="audio/mpeg" />
<enclosure url="http://phaser.gfxile.net/music/categories/orchestral/Africa.mp3" length="2200554" type="audio/mpeg" />
<enclosure url="http://phaser.gfxile.net/music/categories/orchestral/Light.mp3" length="4294529" type="audio/mpeg" />
<enclosure url="http://phaser.gfxile.net/music/categories/orchestral/Chest%20of%20Tales.mp3" length="3123722" type="audio/mpeg" />
<enclosure url="http://phaser.gfxile.net/music/categories/suspense/Sneak.mp3" length="1604440" type="audio/mpeg" />
		</item>
		<item>
		<title>Dashcode, part II</title>
		<link>http://phaser.gfxile.net/wp/2012/02/dashcode-part-ii/</link>
		<comments>http://phaser.gfxile.net/wp/2012/02/dashcode-part-ii/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 10:15:20 +0000</pubDate>
		<dc:creator>simo</dc:creator>
				<category><![CDATA[Informative]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://phaser.gfxile.net/wp/?p=1328</guid>
		<description><![CDATA[After using Dashcode for almost a year now, this is the bottom line: &#8220;Don&#8217;t make any big projects with it.&#8221; – A random Dashcode user After a while, when the project gets bigger, you&#8217;ll have some 20+ Javascript files, thousands of lines of code, several data sources (which are great, btw), it gets really slow. &#8230;]]></description>
			<content:encoded><![CDATA[<p>After using Dashcode for almost a year now, this is the bottom line:</p>
<blockquote><p>&#8220;Don&#8217;t make any big projects with it.&#8221;<br />
– A random Dashcode user</p></blockquote>
<p>After a while, when the project gets bigger, you&#8217;ll have some 20+ Javascript files, thousands of lines of code, several data sources (which are great, btw), it gets really slow. First, basic things like moving controls to places starts to take time. Then saving the project becomes really painful, not even mentioning deploying the project. If you want to use <strong>undo</strong>, just forget about it &#8211; for some reason, each undo takes as much time as saving the project.</p>
<p>Then, debugger stops working. The Dashcode&#8217;s small embedded fake HTTP server can&#8217;t handle the simultaneous requests made by the main page to load all the scripts. You might circumvent this by making a script loader that somehow loads them gradually, one by one. I tried it but it didn&#8217;t work, instead started giving way more exotic error messages.</p>
<p>This is until the project grows even bigger and you reach the point where Dashcode crashes when autoloading your project.</p>
<div id="attachment_1442" class="wp-caption alignright" style="width: 310px"><a href="http://phaser.gfxile.net/wp/wp-content/uploads/2012/02/Screen-Shot-2012-02-22-at-12.04.26.png"><img class="size-medium wp-image-1442" title="Screenshot" src="http://phaser.gfxile.net/wp/wp-content/uploads/2012/02/Screen-Shot-2012-02-22-at-12.04.26-300x133.png" alt="" width="300" height="133" /></a><p class="wp-caption-text">Dashcode preferences</p></div>
<p>It didn&#8217;t happen on Snow Leopard, though, so I guess this is some random incompatibility problem with OSX Lion. Even choosing the setting &#8220;Do nothing when Dashcode starts&#8221; doesn&#8217;t disable the autoload completely. This is probably because closing the big project on Dashcode crashes it and it reloads the last project when starting again.</p>
<p>I found a workaround for that:</p>
<ol>
<li>Open Dashcode</li>
<li>Quickly press CMD-W when the project loads up</li>
<li>Quickly press CMD-Q when the project is closed</li>
<li>Open Dashcode again</li>
<li>Open the project from the Recent projects menu</li>
</ol>
<p>Handy and easy.</p>
<p>Another possible solution for this could be if someone figured out a way to include JavaScript files to the main page in a way that Dashcode wouldn&#8217;t understand them and wouldn&#8217;t load and parse the sources every time you open the project. I guess that is what crashes the editor.</p>
<p>Anyway, it&#8217;s a shame that it seems this program has been neglected by Apple for some time now. Hope they&#8217;ll get more active on it one day again.
<div class="ptl_div"><script>
					//<![CDATA[
					document.write('<g:plusone size="standard" annotation="none" href="http://phaser.gfxile.net/wp/2012/02/dashcode-part-ii/"></g:plusone>');
				        //]]&gt;
					</script><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://phaser.gfxile.net/wp/2012/02/dashcode-part-ii/" data-text="Dashcode, part II" data-count="vertical">Tweet</a>
<div class="ptl_fb"><script>
							//<![CDATA[
							document.write('<fb:like href="http://phaser.gfxile.net/wp/2012/02/dashcode-part-ii/" show_faces="true" width="225"  action="like" font="" colorscheme="light"></fb:like>');
							//]]&gt;
							</script></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://phaser.gfxile.net/wp/2012/02/dashcode-part-ii/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wonderful null character</title>
		<link>http://phaser.gfxile.net/wp/2012/02/wonderful-null-character/</link>
		<comments>http://phaser.gfxile.net/wp/2012/02/wonderful-null-character/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 09:51:54 +0000</pubDate>
		<dc:creator>simo</dc:creator>
				<category><![CDATA[Informative]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://phaser.gfxile.net/wp/?p=1425</guid>
		<description><![CDATA[I recently programmed a lengthy piece of online software with PHP and JavaScript, utilizing server-side PHP/MySQL queries. But there was a problem that just popped out of nowhere &#8211; all but one data entry worked perfectly. This one row, when observed from the SQL server side (with a great tool called Sequel Pro), looked perfectly &#8230;]]></description>
			<content:encoded><![CDATA[<p>I recently programmed a lengthy piece of online software with PHP and JavaScript, utilizing server-side PHP/MySQL queries. But there was a problem that just popped out of nowhere &#8211; all but one data entry worked perfectly. This one row, when observed from the SQL server side (with a great tool called <a href="http://www.sequelpro.com/">Sequel Pro</a>), looked perfectly fine, it came up in queries, appeared normal, everything ok.</p>
<p>But there&#8217;s a PHP script on the server side that makes the appropriate query and returns the data as XML for the JavaScript side to parse. And every time a query contained this one particular entry, it broke. The XML was returned normally, but it didn&#8217;t work. Empty set.</p>
<p>So, I decided to make the query manually, giving it as Base64-encoded SQL query to check what&#8217;s wrong.</p>
<p>It returned a nice set of XML &#8211; with one exception: the browser said there&#8217;s a 0&#215;0 character on row 15. That would explain a lot, so I checked row 15. Just normal written text as UTF-8 string in the database. I copied the text and pasted it to Skype for the person who wrote it, with a note after the text.</p>
<div id="attachment_1427" class="wp-caption alignright" style="width: 310px"><a href="http://phaser.gfxile.net/wp/wp-content/uploads/2012/02/750px-BH_LMC.png"><img class="size-medium wp-image-1427" title="Black hole" src="http://phaser.gfxile.net/wp/wp-content/uploads/2012/02/750px-BH_LMC-300x240.png" alt="" width="300" height="240" /></a><p class="wp-caption-text">Black hole, galactic representation of a NULL character. Photo by Alain Riazuelo.</p></div>
<p>The note disappeared. Found the null character.</p>
<p>After a quick search I learned that it is <strong>actually possible</strong> to write a <a href="http://en.wikipedia.org/wiki/Null_character">NULL character</a> from the keyboard. Didn&#8217;t know that. This brings up a whole bunch of new problems that everyone should keep in mind when writing software. Especially when dealing with HTTP servers, as they, sometimes when it&#8217;s possible, also send the size of the page in the headers, and the client side then downloads everything but doesn&#8217;t expect a NULL character, and sometimes, when no size is sent, client may stop at a NULL. Both times you&#8217;ll probably end up mishandling the data.
<div class="ptl_div"><script>
					//<![CDATA[
					document.write('<g:plusone size="standard" annotation="none" href="http://phaser.gfxile.net/wp/2012/02/wonderful-null-character/"></g:plusone>');
				        //]]&gt;
					</script><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://phaser.gfxile.net/wp/2012/02/wonderful-null-character/" data-text="Wonderful null character" data-count="vertical">Tweet</a>
<div class="ptl_fb"><script>
							//<![CDATA[
							document.write('<fb:like href="http://phaser.gfxile.net/wp/2012/02/wonderful-null-character/" show_faces="true" width="225"  action="like" font="" colorscheme="light"></fb:like>');
							//]]&gt;
							</script></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://phaser.gfxile.net/wp/2012/02/wonderful-null-character/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MacRuby and (too) persistent objects</title>
		<link>http://phaser.gfxile.net/wp/2011/12/macruby-and-persistent-objects/</link>
		<comments>http://phaser.gfxile.net/wp/2011/12/macruby-and-persistent-objects/#comments</comments>
		<pubDate>Fri, 16 Dec 2011 15:15:17 +0000</pubDate>
		<dc:creator>simo</dc:creator>
				<category><![CDATA[Informative]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://phaser.gfxile.net/wp/?p=1414</guid>
		<description><![CDATA[If you&#8217;re starting with MacRuby and Xcode, you might stumble upon the same problem I did: If you deploy the project even once, those precompiled ruby object files (.rbo) stick to the deployment directory and you have to clean it up each time before testing any new code. Here&#8217;s a simple script you can put &#8230;]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re starting with <a href="http://www.macruby.org/" target="_blank">MacRuby</a> and <a href="http://developer.apple.com/xcode" target="_blank">Xcode</a>, you might stumble upon the same problem I did: If you deploy the project even once, those precompiled ruby object files (.rbo) stick to the deployment directory and you have to clean it up each time before testing any new code.</p>
<p>Here&#8217;s a simple script you can put in your non-deployment target, just click Add Build Phase (+) / Add Run Script and copy/paste the following code:</p>
<pre>cd $CONFIGURATION_BUILD_DIR/$CONTENTS_FOLDER_PATH/Resources
for a in `find . -name "*.rbo"`; do rm -f $a; done</pre>
<p>This isn&#8217;t pretty, but does the trick.</p>
<p>Also, you will probably want to go ahead and disable <strong>gdb</strong> for the development target. There&#8217;s no use in observing the ruby binary in case of its errors. Disabling gdb speeds up the launch of ruby tenfold.
<div class="ptl_div"><script>
					//<![CDATA[
					document.write('<g:plusone size="standard" annotation="none" href="http://phaser.gfxile.net/wp/2011/12/macruby-and-persistent-objects/"></g:plusone>');
				        //]]&gt;
					</script><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://phaser.gfxile.net/wp/2011/12/macruby-and-persistent-objects/" data-text="MacRuby and (too) persistent objects" data-count="vertical">Tweet</a>
<div class="ptl_fb"><script>
							//<![CDATA[
							document.write('<fb:like href="http://phaser.gfxile.net/wp/2011/12/macruby-and-persistent-objects/" show_faces="true" width="225"  action="like" font="" colorscheme="light"></fb:like>');
							//]]&gt;
							</script></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://phaser.gfxile.net/wp/2011/12/macruby-and-persistent-objects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amplify multiple mp3s from command line</title>
		<link>http://phaser.gfxile.net/wp/2011/08/amplify-multiple-mp3s-from-command-line/</link>
		<comments>http://phaser.gfxile.net/wp/2011/08/amplify-multiple-mp3s-from-command-line/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 10:47:26 +0000</pubDate>
		<dc:creator>simo</dc:creator>
				<category><![CDATA[Informative]]></category>
		<category><![CDATA[amplify]]></category>
		<category><![CDATA[ffmpeg]]></category>
		<category><![CDATA[mp3]]></category>

		<guid isPermaLink="false">http://phaser.gfxile.net/wp/?p=1390</guid>
		<description><![CDATA[This is quite easy to do, actually, just another case of bad (or missing) documentation. First, get an ffmpeg binary. This can be done by either compiling it by yourself or googling for a ready compiled binary. If you&#8217;re on a Mac, you probably have it already, as many of the video converters from Mac &#8230;]]></description>
			<content:encoded><![CDATA[<p>This is quite easy to do, actually, just another case of bad (or missing) documentation.</p>
<p>First, get an <a href="http://www.ffmpeg.org/">ffmpeg</a> binary. This can be done by either compiling it by yourself or googling for a ready compiled binary. If you&#8217;re on a Mac, you probably have it already, as many of the video converters from Mac App Store come with the ffmpeg binary hidden inside their directories. Just open a terminal, type:</p>
<pre>cd /Applications
find . -name "ffmpeg"</pre>
<p>&#8230;and you&#8217;re set. Copy the found binary to /usr/bin or wherever you want it.</p>
<p>If you&#8217;re on Windows, <a title="I want to find a google binary for Windows ME or whatever I might have!" href="http://www.google.com/search?client=windows_me&amp;rls=en&amp;q=ffmpeg.exe" target="_blank">google for ffmpeg.exe</a>, copy it anywhere and it&#8217;ll work, unless it doesn&#8217;t, which is pretty much a 50/50 possibility.</p>
<p>On Linux, using any repository system you use, install the package <em>ffmpeg</em>, only to realize it doesn&#8217;t support mp3, because mp3 is apparently not an industry standard.</p>
<p>Not depending on if it&#8217;s a good standard or not, you&#8217;ve got 1072 mp3 files you&#8217;ve recorded for some reason, and they&#8217;re all too silent. By a factor of 10.</p>
<p>Go to the directory with the files, and type (example):</p>
<pre>cd SilentMP3s
mkdir LouderFiles
for a in *.mp3; do ffmpeg -i $a -vol 2560 LouderFiles/$a; done</pre>
<p>Now you&#8217;ll see a lot of text flowing through your terminal for a while, and when it&#8217;s done, you&#8217;ll find all of the files, 10 times louder in a subfolder named LouderFiles.</p>
<p>The ffmpeg -vol parameter amplifies the sound. The default value is 256 (no amplification), and you can adjust the number accordingly. Here it&#8217;s 2560, as it&#8217;s 10 times louder. Note that these are not decibel values or anything that sophisticated, but just an integer value. 512 equals to twice the volume, 768 three times, 1024 four times, etc.</p>
<p>The best way to find the correct amplification might be to look at the actual waveform in an audio editor, e.g. Audacity, and then try the amplification on one file. You&#8217;ll quickly see what is the appropriate value for the -vol parameter.
<div class="ptl_div"><script>
					//<![CDATA[
					document.write('<g:plusone size="standard" annotation="none" href="http://phaser.gfxile.net/wp/2011/08/amplify-multiple-mp3s-from-command-line/"></g:plusone>');
				        //]]&gt;
					</script><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://phaser.gfxile.net/wp/2011/08/amplify-multiple-mp3s-from-command-line/" data-text="Amplify multiple mp3s from command line" data-count="vertical">Tweet</a>
<div class="ptl_fb"><script>
							//<![CDATA[
							document.write('<fb:like href="http://phaser.gfxile.net/wp/2011/08/amplify-multiple-mp3s-from-command-line/" show_faces="true" width="225"  action="like" font="" colorscheme="light"></fb:like>');
							//]]&gt;
							</script></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://phaser.gfxile.net/wp/2011/08/amplify-multiple-mp3s-from-command-line/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HALion Symphonic Orchestra on OSX Lion</title>
		<link>http://phaser.gfxile.net/wp/2011/07/halion-symphonic-orchestra-on-osx-lion/</link>
		<comments>http://phaser.gfxile.net/wp/2011/07/halion-symphonic-orchestra-on-osx-lion/#comments</comments>
		<pubDate>Sat, 30 Jul 2011 20:41:36 +0000</pubDate>
		<dc:creator>simo</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://phaser.gfxile.net/wp/?p=1386</guid>
		<description><![CDATA[This page at Steinberg&#8217;s website claims that Halion Symphonic Orchestra won&#8217;t work on OSX Lion. It says &#8220;Plug-in not detected by host. No update planned but runs as VST Sound Instrument Set based on HALion Sonic on Lion.&#8221; Not true. I just finished installing Cubase Studio 5 on Lion, with HSO working just fine, both as &#8230;]]></description>
			<content:encoded><![CDATA[<p><a href="https://www.steinberg.net/en/support/knowledgebase_new/free_articles/kb_show/mac-os-x-107-lion-information-on-compatibility-with-steinberg-products.html">This page</a> at Steinberg&#8217;s website claims that Halion Symphonic Orchestra won&#8217;t work on OSX Lion. It says <em>&#8220;Plug-in not detected by host. No update planned but runs as VST Sound Instrument Set based on HALion Sonic on Lion.&#8221;</em></p>
<p>Not true.</p>
<p>I just finished installing Cubase Studio 5 on Lion, with HSO working just fine, both as a VST plugin and through ReWire.</p>
<p>As the script for copying the samples from the DVDs is made for PPC and needs Rosetta, it probably won&#8217;t run. But if you already have the samples loaded on a Mac, you can just copy the samples to their place from the other Mac after installing the plugin (<a href="http://www.steinberg.net/en/support/downloads/halion_symphonic_orchestra.html">latest from the Steinberg website</a> &#8211; not the one that comes on the discs).</p>
<p>The path to look for is <strong>/Library/Application Support/Steinberg/ReWire/HALion Symphonic Orchestra</strong>. For the 16-bit edition, there should be approx. 11 GB of data, for the 24-bit version probably some 50% more.</p>
<p>This is not recent news, as it also worked on Lion Developer Preview and Cubase Studio 5.5.0, which was also not supposed to work on Lion&#8230;
<div class="ptl_div"><script>
					//<![CDATA[
					document.write('<g:plusone size="standard" annotation="none" href="http://phaser.gfxile.net/wp/2011/07/halion-symphonic-orchestra-on-osx-lion/"></g:plusone>');
				        //]]&gt;
					</script><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://phaser.gfxile.net/wp/2011/07/halion-symphonic-orchestra-on-osx-lion/" data-text="HALion Symphonic Orchestra on OSX Lion" data-count="vertical">Tweet</a>
<div class="ptl_fb"><script>
							//<![CDATA[
							document.write('<fb:like href="http://phaser.gfxile.net/wp/2011/07/halion-symphonic-orchestra-on-osx-lion/" show_faces="true" width="225"  action="like" font="" colorscheme="light"></fb:like>');
							//]]&gt;
							</script></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://phaser.gfxile.net/wp/2011/07/halion-symphonic-orchestra-on-osx-lion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UBV Beach Volley 2011</title>
		<link>http://phaser.gfxile.net/wp/2011/07/ubv-2011/</link>
		<comments>http://phaser.gfxile.net/wp/2011/07/ubv-2011/#comments</comments>
		<pubDate>Fri, 22 Jul 2011 17:22:52 +0000</pubDate>
		<dc:creator>simo</dc:creator>
				<category><![CDATA[Informative]]></category>
		<category><![CDATA[Nostalgy]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[beach volley]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[publish]]></category>
		<category><![CDATA[ubv 2011]]></category>

		<guid isPermaLink="false">http://phaser.gfxile.net/wp/?p=1379</guid>
		<description><![CDATA[I&#8217;m happy to announce the first version of UBV 2011 is now available for buying in the Mac App Store. Link to Mac App Store Here&#8217;s a short trailer: Tweet]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m happy to announce the first version of <strong>UBV 2011</strong> is now available for buying in the Mac App Store.</p>
<p><a href="http://itunes.apple.com/us/app/ubv-volley-2011/id452076500?ls=1&amp;mt=12">Link to Mac App Store</a></p>
<p>Here&#8217;s a short trailer:</p>
<p><p><a href="http://www.youtube.com/watch?v=ObTwQoaEiLo"><img src="http://img.youtube.com/vi/ObTwQoaEiLo/2.jpg"></a></p>
<p><a href="http://www.youtube.com/watch?v=ObTwQoaEiLo">Click here</a> to view the video on YouTube.</p>

<div class="ptl_div"><script>
					//<![CDATA[
					document.write('<g:plusone size="standard" annotation="none" href="http://phaser.gfxile.net/wp/2011/07/ubv-2011/"></g:plusone>');
				        //]]&gt;
					</script><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://phaser.gfxile.net/wp/2011/07/ubv-2011/" data-text="UBV Beach Volley 2011" data-count="vertical">Tweet</a>
<div class="ptl_fb"><script>
							//<![CDATA[
							document.write('<fb:like href="http://phaser.gfxile.net/wp/2011/07/ubv-2011/" show_faces="true" width="225"  action="like" font="" colorscheme="light"></fb:like>');
							//]]&gt;
							</script></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://phaser.gfxile.net/wp/2011/07/ubv-2011/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>4 new tracks</title>
		<link>http://phaser.gfxile.net/wp/2011/07/4-new-tracks/</link>
		<comments>http://phaser.gfxile.net/wp/2011/07/4-new-tracks/#comments</comments>
		<pubDate>Fri, 22 Jul 2011 08:16:25 +0000</pubDate>
		<dc:creator>simo</dc:creator>
				<category><![CDATA[Music]]></category>

		<guid isPermaLink="false">http://phaser.gfxile.net/wp/?p=1351</guid>
		<description><![CDATA[Here&#8217;s some new music: Vector Strongly influenced by Tron: Legacy soundtrack. Vector HD1 Tried to capture the classic feeling of Vangelis&#8217; Chariots of Fire. HD1 Bronze Tries to be like the stuff they play in saunas at Impuls+. Bronze Puzzle Older track, found it lying around unfinished. Puzzle Tweet]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s some new music:</p>
<h4><strong>Vector</strong></h4>
<p><strong></strong>Strongly influenced by Tron: Legacy soundtrack.<br />
<a href="http://phaser.gfxile.net/wp/wp-content/uploads/2011/07/phaser-vector.mp3">Vector</a></p>
<h4><strong>HD1</strong></h4>
<p>Tried to capture the classic feeling of Vangelis&#8217; Chariots of Fire.<br />
<a href="http://phaser.gfxile.net/wp/wp-content/uploads/2011/07/phaser-hd1.mp3">HD1</a></p>
<h4><strong>Bronze</strong></h4>
<p><strong></strong>Tries to be like the stuff they play in saunas at <a href="http://impuls.lt/en/kareiviu">Impuls+</a>.<br />
<a href="http://phaser.gfxile.net/wp/wp-content/uploads/2011/07/phaser-bronze.mp3">Bronze</a></p>
<h4><strong>Puzzle</strong></h4>
<p><strong></strong>Older track, found it lying around unfinished.<br />
<a href="http://phaser.gfxile.net/wp/wp-content/uploads/2011/07/phaser-puzzle.mp3">Puzzle</a>
<div class="ptl_div"><script>
					//<![CDATA[
					document.write('<g:plusone size="standard" annotation="none" href="http://phaser.gfxile.net/wp/2011/07/4-new-tracks/"></g:plusone>');
				        //]]&gt;
					</script><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://phaser.gfxile.net/wp/2011/07/4-new-tracks/" data-text="4 new tracks" data-count="vertical">Tweet</a>
<div class="ptl_fb"><script>
							//<![CDATA[
							document.write('<fb:like href="http://phaser.gfxile.net/wp/2011/07/4-new-tracks/" show_faces="true" width="225"  action="like" font="" colorscheme="light"></fb:like>');
							//]]&gt;
							</script></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://phaser.gfxile.net/wp/2011/07/4-new-tracks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://phaser.gfxile.net/wp/wp-content/uploads/2011/07/phaser-vector.mp3" length="4322115" type="audio/mpeg" />
<enclosure url="http://phaser.gfxile.net/wp/wp-content/uploads/2011/07/phaser-hd1.mp3" length="2341615" type="audio/mpeg" />
<enclosure url="http://phaser.gfxile.net/wp/wp-content/uploads/2011/07/phaser-bronze.mp3" length="6145879" type="audio/mpeg" />
<enclosure url="http://phaser.gfxile.net/wp/wp-content/uploads/2011/07/phaser-puzzle.mp3" length="6641161" type="audio/mpeg" />
		</item>
		<item>
		<title>Javascript, Base64, PHP, UTF-8</title>
		<link>http://phaser.gfxile.net/wp/2011/07/javascript-base64-php-utf-8/</link>
		<comments>http://phaser.gfxile.net/wp/2011/07/javascript-base64-php-utf-8/#comments</comments>
		<pubDate>Sun, 10 Jul 2011 10:09:16 +0000</pubDate>
		<dc:creator>simo</dc:creator>
				<category><![CDATA[Informative]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[base64]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[utf-8]]></category>

		<guid isPermaLink="false">http://phaser.gfxile.net/wp/?p=1339</guid>
		<description><![CDATA[I&#8217;m working on a small application that communicates through JavaScript to a PHP script, and usually the data contains text in UTF-8 format to make everything as compatible as possible. The text in UTF-8 format doesn&#8217;t go too well into an AJAX call GET URL. So it has to be further encoded with an encoding &#8230;]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m working on a small application that communicates through JavaScript to a PHP script, and usually the data contains text in UTF-8 format to make everything as compatible as possible.</p>
<p>The text in UTF-8 format doesn&#8217;t go too well into an AJAX call GET URL. So it has to be further encoded with an encoding that can be used as a parameter. BASE64 is one such.</p>
<p>There&#8217;s a handy JavaScript BASE64 encoder available at <a href="http://www.webtoolkit.info/javascript-base64.html">webtoolkit.info</a>. It handles the UTF-8 encoding / decoding properly. In the PHP script, you can use the built-in <em>base64_decode</em> to decode back to UTF-8. But there&#8217;s one caveat using this method: BASE64 encoding contains sometimes the plus (+) sign. This, usually, is transformed into a space in URLs. So when the server gets the AJAX call with a BASE64 encoded parameter containing a +, it can no longer decode it, <em>base64_decode </em>only returns an empty string. This can be worked around:</p>
<pre>$result = base64_decode(str_replace(" ","+",$_REQUEST['base64encodedparameter']));</pre>
<p>And you have your UTF-8 encoded string in $result.</p>
<p>Also, <em>base64_decode</em> doesn&#8217;t care if the trailing = characters get lost on the way, so this method should be safe to use.</p>
<p>There are probably a hundred better way to do this, but I found it working great.
<div class="ptl_div"><script>
					//<![CDATA[
					document.write('<g:plusone size="standard" annotation="none" href="http://phaser.gfxile.net/wp/2011/07/javascript-base64-php-utf-8/"></g:plusone>');
				        //]]&gt;
					</script><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://phaser.gfxile.net/wp/2011/07/javascript-base64-php-utf-8/" data-text="Javascript, Base64, PHP, UTF-8" data-count="vertical">Tweet</a>
<div class="ptl_fb"><script>
							//<![CDATA[
							document.write('<fb:like href="http://phaser.gfxile.net/wp/2011/07/javascript-base64-php-utf-8/" show_faces="true" width="225"  action="like" font="" colorscheme="light"></fb:like>');
							//]]&gt;
							</script></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://phaser.gfxile.net/wp/2011/07/javascript-base64-php-utf-8/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

