<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><!-- generator="wordpress/2.6.2" --><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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>http://blog.sLajax.com</title>
	<link>http://blog.slajax.com</link>
	<description>secure lightweight ajax solutions</description>
	<pubDate>Mon, 25 May 2009 17:22:13 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/slajax" type="application/rss+xml" /><item>
		<title>Cygwin + Ponderosa + Hack the registry!</title>
		<link>http://feedproxy.google.com/~r/slajax/~3/UNf6sOt9xNM/</link>
        <customfield>windows-reg-fail.jpg</customfield>
		<comments>http://blog.slajax.com/2009/05/25/cygwin-ponderosa-hack-the-registry/#comments</comments>
		<pubDate>Mon, 25 May 2009 17:22:13 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
		
		<category><![CDATA[applications]]></category>

		<category><![CDATA[windows]]></category>

		<category><![CDATA[x64 os]]></category>

		<category><![CDATA[cygterm]]></category>

		<category><![CDATA[cygwin]]></category>

		<category><![CDATA[ponderosa]]></category>

		<category><![CDATA[registry edit]]></category>

		<guid isPermaLink="false">http://blog.slajax.com/?p=106</guid>
		<description><![CDATA[Recently I&#160;got a new computer at work. It's pretty sweet, x64 os, 6gb ram, 250 sata hd. It works better then the last one, that's for sure. In sort of the same timeline, I&#160;was also forced to switch back to windows for a few reasons. Dual monitor (monitor 2 in vertical code view) was giving me a lot of issues on linux, and I'm also on a new Java project that uses liferay software.
So given these reasons, I've migrated back to windows, but had a very hard time giving up the environment. I&#160;have been using cygwin for a long time, then started using puttycyg, but I&#160;still wasn't happy, because I&#160;wanted a tabbed UI. I&#160;went searching around and found a few options, but the one that I decided on was ponderosa. It's a pretty slick tool that lets you split your console sessions vertically, horizontally etc. Think of it as a window manager for cygwin.
I installed it at home, and it worked great. When I&#160;came to work the next day and tried installing it, it couldn't find the cygwin registry key. I started comparing registry's and I found that on my home computer the key was installed in HKEY_LOCAL_MACHINE and on my work machine it was only installed to HKEY_CURRENT_USER. Obviously, as the error indicated, I&#160;needed to have this key in HKEY_LOCAL_MACHINE.
I haven't had a lot of experience editing the registry, so I&#160;was a little nervous but it turned out to be very simple.

    Export&#160;HKEY_CURRENT_USER/Software/Cygnus Solutions to a .reg file on my desktop
    Open with note pad
    Replace all instances of HKEY_CURRENT_USER with HKEY_LOCAL_MACHINE
    Re-import into registry
    Restart Ponderosa

Amazingly, it worked. I&#160;don't think I&#160;should suggest you edit your registry at work. But just remember. The biggest difference between windows and linux is the ideology that you need to accept faulty software in windows. I think more often you find that Linux users are accustomed to modifying their OS to meet their needs, while windows users are happy to just accept the issue. Well, this is me saying, don't accept the issue. Hell, if the software doesn't work, then maybe accept that it's crappy software, but if that is the case you should write better software or patch the software to fill the gap. If everyone did this, the windows software world would not be such a gong show.
&#160;]]></description>
			<content:encoded><![CDATA[<p>Recently I&nbsp;got a new computer at work. It&#8217;s pretty sweet, x64 os, 6gb ram, 250 sata hd. It works better then the last one, that&#8217;s for sure. In sort of the same timeline, I&nbsp;was also forced to switch back to windows for a few reasons. Dual monitor (monitor 2 in vertical code view) was giving me a lot of issues on linux, and I&#8217;m also on a new Java project that uses liferay software.</p>
<p>So given these reasons, I&#8217;ve migrated back to windows, but had a very hard time giving up the environment. I&nbsp;have been using cygwin for a long time, then started using puttycyg, but I&nbsp;still wasn&#8217;t happy, because I&nbsp;wanted a tabbed UI. I&nbsp;went searching around and found a few options, but the one that I decided on was ponderosa. It&#8217;s a pretty slick tool that lets you split your console sessions vertically, horizontally etc. Think of it as a window manager for cygwin.</p>
<p>I installed it at home, and it worked great. When I&nbsp;came to work the next day and tried installing it, it couldn&#8217;t find the cygwin registry key. I started comparing registry&#8217;s and I found that on my home computer the key was installed in HKEY_LOCAL_MACHINE and on my work machine it was only installed to HKEY_CURRENT_USER. Obviously, as the error indicated, I&nbsp;needed to have this key in HKEY_LOCAL_MACHINE.</p>
<p>I haven&#8217;t had a lot of experience editing the registry, so I&nbsp;was a little nervous but it turned out to be very simple.</p>
<ol>
    <li>Export&nbsp;HKEY_CURRENT_USER/Software/Cygnus Solutions to a .reg file on my desktop</li>
    <li>Open with note pad</li>
    <li>Replace all instances of HKEY_CURRENT_USER with HKEY_LOCAL_MACHINE</li>
    <li>Re-import into registry</li>
    <li>Restart Ponderosa</li>
</ol>
<p>Amazingly, it worked. I&nbsp;don&#8217;t think I&nbsp;should suggest you edit your registry at work. But just remember. The biggest difference between windows and linux is the ideology that you need to accept faulty software in windows. I think more often you find that Linux users are accustomed to modifying their OS to meet their needs, while windows users are happy to just accept the issue. Well, this is me saying, don&#8217;t accept the issue. Hell, if the software doesn&#8217;t work, then maybe accept that it&#8217;s crappy software, but if that is the case you should write better software or patch the software to fill the gap. If everyone did this, the windows software world would not be such a gong show.</p>
<p>&nbsp;</p><img src="http://feeds.feedburner.com/~r/slajax/~4/UNf6sOt9xNM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.slajax.com/2009/05/25/cygwin-ponderosa-hack-the-registry/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.slajax.com/2009/05/25/cygwin-ponderosa-hack-the-registry/</feedburner:origLink></item>
		<item>
		<title>Agile Communications</title>
		<link>http://feedproxy.google.com/~r/slajax/~3/YULp2bXZvHQ/</link>
        <customfield>skype_logo_online.gif</customfield>
		<comments>http://blog.slajax.com/2009/04/29/agile-communications/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 23:25:23 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
		
		<category><![CDATA[agile]]></category>

		<category><![CDATA[skype]]></category>

		<category><![CDATA[pamela]]></category>

		<guid isPermaLink="false">http://blog.slajax.com/?p=91</guid>
		<description><![CDATA[
Recently I started getting very frusterated with my lack of care in consumption. I started realizing that I was spending way too much on a bunch of services I didn't really need. I decided that I wanted a fresh start so I paid off the balance on my credit card and start accounting for my expenses to see where the money was going and how I could stop the bleeding. I realized that my comunnication services were accounting for between $300 - $400 a month. Basically if you break it down I was paying the following:

    Rogers Blackberry Voice and Data - Advertisted : $70 / mnth- Actual : $135-$225 /mnth
    Shaw Cable Bundle - $115 / Month (basic cable, land line phone, internet services)

At this point I had been reading a lot more about agile development practices and attempting to implement them in my web practices. The idea of being agile certainly didn't really apply to my operating costs. So I started thinking about business operations, how one can operate an infrastructure with agility and minimize the wastefulness of their consumption without impacting their day to day standards. I set a goal for myself. I wanted to replace my solution with a new solution that cost me less in a year then the amount of my highest monthly blackberry phone bill ($225.95)
Looking at this scenario specifically, I realized that the majority of my impact revolved around phone, internet and the combination of these. The cable package is sort of a mute point, because it doesn't really fluxuate. However my blackberry bill with Rogers was was all over the place. So I devised a plan to rid myself of the mobile phone service. This would reduce my expenses by over 200% in some months. I decided my solution would be to operate my phone services (including land line) using VOIP.  Now I've had a very little experience with VOIP but my impression is that there are a ton of Internet based communications companies who &#34;specialize&#34; in VOIP. To me these companies look like they were all reseller ISPs or hosting companies who jumped on the communications band wagon as another way to milk a client's contract with minimal service standards... I used to be in that industry, it doesn't appeal to me. Lets find an alternative that is popular and proven. Well what about SKYPE?
There's nothing really all that new about this conception. Skypes been around for a while now, and they just released Skype 4.0 which is a great improvement on their client. The beauty of this decisions is that it's not so astounding or original. Skype is proven, I've seen roughly 10 million people on the network on any given day. So that to me says that it's proven.  I looked at the prices, and at $2.95 CAD a month for unlimited calling in Canada and the US, I would say it also passes requirement 2. It's cheap. Roughly $17 a month cheaper then my current provider. So now how can I convert this service into something that is transparent to the outside world while maintaining flexibility?  The only things really needed in order to fully substitute alandline with this solution are...

    A phone number routed to the Skype account
    An answering machine service that is capable of recording missed calls
    A Skype handset to allow for me to pace while I talk

You would think that hte first option would be completely simple. Oh Skype sells those! Your right, they do. Just not in Canada. FTW! I searched around a little and found this [1] company. DID World Wide was able to sell&#160; activate immediately a local phone number for anywhere I wanted for $65. They let you route it to your skype for free! So do the math so far (12x2.95)+65 = $104.43
Answering machine next. EASY! Pamela [2] - $20 one time licensing fee. Comes with everything you need for any kind of Skype recording / answering / automating. Total: $124.43  The last thing is a handset. I went on craigslist and got the Vtech 7100 [3] for about $80. That puts me @ $204.43 - Success! Agile communications. I can even sign into Skype in multiple places and get the phone calls! Right now I'm signed in from home, work and my girlfriends place! If I don't want to answer it, it still goes to voice mail on my home computer and then emails me a copy of the message!
Now that I succeeded, the final task is to cancel my services. Shaw was no problem, they are no contract, so they will cancel it anytime. Rogers however request a $500 early cancellation fee. Now if I had to endure that charge I would not have achieved my original goal. So I moved to Nunavit. Yes, that's right. Nunavit. Where there is no Rogers service. I called them and let them know that I was moving there, and when they realized they had no service to offer me, they cancelled my contract with no cancellation fee.
... And that is the story of how I rided myself from over priced communications services and started a home phone system that costs me roughly $8.33 a month. Try it out for yourself.

[1] http://www.didww.com/
[2] http://blog.slajax.comwww.pamela.biz/
[3] http://www.vtechphones.com/vtechui/store/products/dsp_7100.cfm]]></description>
			<content:encoded><![CDATA[<p><img hspace="10" vspace="10" align="left" src="/wp-content/images/skype_logo_online.gif" alt="Skype" /></p>
<p>Recently I started getting very frusterated with my lack of care in consumption. I started realizing that I was spending way too much on a bunch of services I didn&#8217;t really need. I decided that I wanted a fresh start so I paid off the balance on my credit card and start accounting for my expenses to see where the money was going and how I could stop the bleeding. I realized that my comunnication services were accounting for between $300 - $400 a month. Basically if you break it down I was paying the following:</p>
<ul>
    <li>Rogers Blackberry Voice and Data - Advertisted : $70 / mnth- Actual : $135-$225 /mnth</li>
    <li>Shaw Cable Bundle - $115 / Month (basic cable, land line phone, internet services)</li>
</ul>
<p>At this point I had been reading a lot more about agile development practices and attempting to implement them in my web practices. The idea of being agile certainly didn&#8217;t really apply to my operating costs. So I started thinking about business operations, how one can operate an infrastructure with agility and minimize the wastefulness of their consumption without impacting their day to day standards. I set a goal for myself. I wanted to replace my solution with a new solution that cost me less in a year then the amount of my highest monthly blackberry phone bill ($225.95)</p>
<p>Looking at this scenario specifically, I realized that the majority of my impact revolved around phone, internet and the combination of these. The cable package is sort of a mute point, because it doesn&#8217;t really fluxuate. However my blackberry bill with Rogers was was all over the place. So I devised a plan to rid myself of the mobile phone service. This would reduce my expenses by over 200% in some months. I decided my solution would be to operate my phone services (including land line) using VOIP.  Now I&#8217;ve had a very little experience with VOIP but my impression is that there are a ton of Internet based communications companies who &quot;specialize&quot; in VOIP. To me these companies look like they were all reseller ISPs or hosting companies who jumped on the communications band wagon as another way to milk a client&#8217;s contract with minimal service standards&#8230; I used to be in that industry, it doesn&#8217;t appeal to me.<em> Lets find an alternative that is popular and proven. Well what about SKYPE?</em></p>
<p>There&#8217;s nothing really all that new about this conception. Skypes been around for a while now, and they just released Skype 4.0 which is a great improvement on their client. The beauty of this decisions is that it&#8217;s not so astounding or original. Skype is proven, I&#8217;ve seen roughly 10 million people on the network on any given day. So that to me says that it&#8217;s proven.  I looked at the prices, and at $2.95 CAD a month for unlimited calling in Canada and the US, I would say it also passes requirement 2. It&#8217;s cheap. Roughly $17 a month cheaper then my current provider. <em>So now how can I convert this service into something that is transparent to the outside world while maintaining flexibility?</em>  The only things really needed in order to fully substitute alandline with this solution are&#8230;</p>
<ol>
    <li>A phone number routed to the Skype account</li>
    <li>An answering machine service that is capable of recording missed calls</li>
    <li>A Skype handset to allow for me to pace while I talk</li>
</ol>
<p>You would think that hte first option would be completely simple. Oh Skype sells those! Your right, they do. Just not in Canada. FTW! I searched around a little and found <a title="DID World Wide" href="http://www.didww.com/" target="_blank">this</a> company. DID World Wide was able to sell&nbsp; activate immediately a local phone number for anywhere I wanted for $65. They let you route it to your skype for free! So do the math so far (12&#215;2.95)+65 = $104.43</p>
<p>Answering machine next. EASY! <a href="www.pamela.biz/" target="_blank">Pamela</a> - $20 one time licensing fee. Comes with everything you need for any kind of Skype recording / answering / automating. Total: $124.43  The last thing is a handset. I went on craigslist and got the <a href="http://www.vtechphones.com/vtechui/store/products/dsp_7100.cfm" target="_blank">Vtech 7100</a> for about $80. That puts me @ $204.43 - Success! Agile communications. I can even sign into Skype in multiple places and get the phone calls! Right now I&#8217;m signed in from home, work and my girlfriends place! If I don&#8217;t want to answer it, it still goes to voice mail on my home computer and then emails me a copy of the message!</p>
<p>Now that I succeeded, the final task is to cancel my services. Shaw was no problem, they are no contract, so they will cancel it anytime. Rogers however request a $500 early cancellation fee. Now if I had to endure that charge I would not have achieved my original goal. <em>So I moved to Nunavit.</em> Yes, that&#8217;s right. Nunavit. Where there is no Rogers service. I called them and let them know that I was moving there, and when they realized they had no service to offer me, they cancelled my contract with no cancellation fee.</p>
<p>&#8230; And that is the story of how I rided myself from over priced communications services and started a home phone system that costs me roughly $8.33 a month. Try it out for yourself.</p><img src="http://feeds.feedburner.com/~r/slajax/~4/YULp2bXZvHQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.slajax.com/2009/04/29/agile-communications/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.slajax.com/2009/04/29/agile-communications/</feedburner:origLink></item>
		<item>
		<title>Fotoglif api client on git-hub</title>
		<link>http://feedproxy.google.com/~r/slajax/~3/mdxZKHo6bbs/</link>
        <customfield>git-hub-blog.png</customfield>
		<comments>http://blog.slajax.com/2009/02/17/fotoglif-api-client-on-git-hub/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 07:24:24 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[fotoglif]]></category>

		<category><![CDATA[github]]></category>

		<category><![CDATA[javascript]]></category>

		<category><![CDATA[projects]]></category>

		<category><![CDATA[sLabfx]]></category>

		<category><![CDATA[sLedit]]></category>

		<guid isPermaLink="false">http://blog.slajax.com/?p=84</guid>
		<description><![CDATA[I haven't been blogging that much lately, but hopefully that will change now that I've adopted git hub. I think my goal is going to be to release smaller scripts and projects more often. Smaller projects are easier to maintain and actually have a better chance of fitting niche requirements. I'll be porting over both sLedit [1] and sLabFx [2] over to github along with my fotoglif-api-client project [3], the idea being that I might be able to get a nice repository of tools going, and interact with more developers who are interested in this sort of stuff. This is one tactic I've been using to keep myself passionate about coding, and it seems to be working. You see, if you don't know, github has revolutionized open source programming. It's added a social aspect on top of some amazingly powerful source control systems to give you something that could maybe be described as facebook meets darcs. I'm excited to start using it more. I've got a few new scripts planned, but first I'll be doing a bit more catching up on the new implementation of scenemap [4].

[1] http://blog.slajax.com/2007/04/26/mooedit-v-1/
[2] http://blog.slajax.com/2008/08/29/introducing-slabfx-beta/
[3] http://github.com/slajax/fotoglif-api-client/tree/master
[4] http://beta.scenemap.net]]></description>
			<content:encoded><![CDATA[I haven&#8217;t been blogging that much lately, but hopefully that will change now that I&#8217;ve adopted git hub. I think my goal is going to be to release smaller scripts and projects more often. Smaller projects are easier to maintain and actually have a better chance of fitting niche requirements. I&#8217;ll be porting over both <a title="sLedit v1" href="http://blog.slajax.com/2007/04/26/mooedit-v-1/" target="_blank">sLedit</a> and <a title="sLabFx " href="http://blog.slajax.com/2008/08/29/introducing-slabfx-beta/" target="_blank">sLabFx</a> over to github along with my <a title="fotoglif-api-client" href="http://github.com/slajax/fotoglif-api-client/tree/master" target="_blank">fotoglif-api-client project</a>, the idea being that I might be able to get a nice repository of tools going, and interact with more developers who are interested in this sort of stuff. This is one tactic I&#8217;ve been using to keep myself passionate about coding, and it seems to be working. You see, if you don&#8217;t know, github has revolutionized open source programming. It&#8217;s added a social aspect on top of some amazingly powerful source control systems to give you something that could maybe be described as facebook meets darcs. I&#8217;m excited to start using it more. I&#8217;ve got a few new scripts planned, but first I&#8217;ll be doing a bit more catching up on the new implementation of <a href="http://beta.scenemap.net">scenemap</a>.<img src="http://feeds.feedburner.com/~r/slajax/~4/mdxZKHo6bbs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.slajax.com/2009/02/17/fotoglif-api-client-on-git-hub/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.slajax.com/2009/02/17/fotoglif-api-client-on-git-hub/</feedburner:origLink></item>
		<item>
		<title>Hug A Developer</title>
		<link>http://feedproxy.google.com/~r/slajax/~3/DZpPtJYRuX8/</link>
        <customfield>developer_pain.jpg</customfield>
		<comments>http://blog.slajax.com/2008/09/12/hug-a-developer/#comments</comments>
		<pubDate>Fri, 12 Sep 2008 22:21:17 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
		
		<category><![CDATA[digg]]></category>

		<category><![CDATA[youtube]]></category>

		<category><![CDATA[developer]]></category>

		<guid isPermaLink="false">http://blog.slajax.com/?p=80</guid>
		<description><![CDATA[I found this video via digg today:





No one said life was easy.... Hug a developer, we're mis-managed and abused!
]]></description>
			<content:encoded><![CDATA[I found this video via digg today:

<p>
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/1lqxORnQARw&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/1lqxORnQARw&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object>
</p>

No one said life was easy&#8230;. Hug a developer, we&#8217;re mis-managed and abused!
<img src="http://feeds.feedburner.com/~r/slajax/~4/DZpPtJYRuX8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.slajax.com/2008/09/12/hug-a-developer/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.slajax.com/2008/09/12/hug-a-developer/</feedburner:origLink></item>
		<item>
		<title>MacOSX Skin on Ubuntu Linux</title>
		<link>http://feedproxy.google.com/~r/slajax/~3/iOQQwAcNL-k/</link>
        <customfield>linux-desktop/Screenshot-Desktop-preview.jpg</customfield>
		<comments>http://blog.slajax.com/2008/09/09/macosx-skin-on-ubuntu-linux/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 19:39:44 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<category><![CDATA[ubuntu]]></category>

		<category><![CDATA[mac]]></category>

		<category><![CDATA[skins]]></category>

		<guid isPermaLink="false">http://blog.slajax.com/?p=68</guid>
		<description><![CDATA[Anyone who has seen my desktops knows that I'm a big fan of the MacOSX sleek design, however much prefer the flexibility and freedom of Ubuntu [1]. Even on windows, I'd rather install cygwin and skin my operating system using FlyAKiteOSx [2]. That said, I had never been able to really emulate this feel on linux, and as much as I love the advanced compiz effects manager, I missed the sleakness of the window settings that come with Mac Designs. I found a really good walk through [3] however that shows how to customize your Ubuntu desktop to look like OSx leopard, and by the screen shots below, you can see it does a pretty decent job. It also looks really cool with the compiz cube effect [4], which I wasn't able to capture in a screenshot.   [5]   [6]   [7]  Not bad eh? Now I have that bandwagon feel, without the over head and lame usage of a proprietary operating system! So next time you think someone is on the 'mac bandwagon'. Think twice!

[1] http://blog.slajax.com/2008/08/12/why-i-only-use-linux-at-work/
[2] http://osx.portraitofakite.com/
[3] http://maketecheasier.com/turn-your-ubuntu-hardy-to-mac-osx-leopard/2008/07/23/
[4] http://www.youtube.com/watch?v=RaYqVrCfeHQ
[5] http://blog.slajax.com/wp-content/uploads/2008/09/screenshot-desktop.png
[6] http://blog.slajax.com/wp-content/uploads/2008/09/screenshot-desktop1.png
[7] http://blog.slajax.com/wp-content/uploads/2008/09/screenshot-desktop2.png]]></description>
			<content:encoded><![CDATA[<p>Anyone who has seen my desktops knows that I&#8217;m a big fan of the MacOSX sleek design, however much prefer the flexibility and <a target="_blank" href="http://blog.slajax.com/2008/08/12/why-i-only-use-linux-at-work/">freedom of Ubuntu</a>. Even on windows, I&#8217;d rather install cygwin and skin my operating system using <a href="http://osx.portraitofakite.com/">FlyAKiteOSx</a>. That said, I had never been able to really emulate this feel on linux, and as much as I love the advanced compiz effects manager, I missed the sleakness of the window settings that come with Mac Designs. I found a <a target="_blank" href="http://maketecheasier.com/turn-your-ubuntu-hardy-to-mac-osx-leopard/2008/07/23/">really good walk through</a> however that shows how to customize your Ubuntu desktop to look like OSx leopard, and by the screen shots below, you can see it does a pretty decent job. It also looks really cool with the <a target="_blank" href="http://www.youtube.com/watch?v=RaYqVrCfeHQ">compiz cube effect</a>, which I wasn&#8217;t able to capture in a screenshot.  <a href="http://blog.slajax.com/wp-content/uploads/2008/09/screenshot-desktop.png"><img height="358" width="574" alt="" src="http://blog.slajax.com/wp-content/uploads/2008/09/screenshot-desktop.png" title="screenshot-desktop" class="aligncenter size-thumbnail wp-image-69" /></a>  <a href="http://blog.slajax.com/wp-content/uploads/2008/09/screenshot-desktop1.png"><img height="354" width="568" alt="" src="http://blog.slajax.com/wp-content/uploads/2008/09/screenshot-desktop1.png" title="screenshot-desktop1" class="aligncenter size-thumbnail wp-image-70" /></a>  <a href="http://blog.slajax.com/wp-content/uploads/2008/09/screenshot-desktop2.png"><img height="355" width="570" alt="" src="http://blog.slajax.com/wp-content/uploads/2008/09/screenshot-desktop2.png" title="screenshot-desktop2" class="aligncenter size-thumbnail wp-image-71" /></a>  Not bad eh? Now I have that bandwagon feel, without the over head and lame usage of a proprietary operating system! So next time you think someone is on the &#8216;mac bandwagon&#8217;. Think twice!</p><img src="http://feeds.feedburner.com/~r/slajax/~4/iOQQwAcNL-k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.slajax.com/2008/09/09/macosx-skin-on-ubuntu-linux/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.slajax.com/2008/09/09/macosx-skin-on-ubuntu-linux/</feedburner:origLink></item>
		<item>
		<title>Introducing sLabFx alpha</title>
		<link>http://feedproxy.google.com/~r/slajax/~3/prmpJ5Suxfw/</link>
        <customfield>../uploads/2008/08/slabfx.jpg</customfield>
		<comments>http://blog.slajax.com/2008/08/29/introducing-slabfx-beta/#comments</comments>
		<pubDate>Fri, 29 Aug 2008 17:09:16 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
		
		<category><![CDATA[applications]]></category>

		<category><![CDATA[javascript]]></category>

		<category><![CDATA[mootools]]></category>

		<category><![CDATA[widgets]]></category>

		<category><![CDATA[downloads]]></category>

		<category><![CDATA[effects]]></category>

		<category><![CDATA[scripts]]></category>

		<guid isPermaLink="false">http://blog.slajax.com/?p=55</guid>
		<description><![CDATA[ [1]
Recently in my job at Blast Radius [2] I have been exposed to abstracted control methods. In my interview Loyal asked me if I know what &#34;inversion of control&#34; was. I assumed it was the opposite of version control, and we had a laugh. It so happens that inversion of control [3] is a very interesting concept that fits really well into my favorite javascript Mootools [4]. With this new concept in mind, I decided I would finally write a new plugin for mootools. It's been a while since I wrote anything [5] that anyone cared to download or comment on, so I thought I'd give this concept a go and see how people respond to it.

The plugin is called sLabFx and here is the Demo [6]. 

Basically it's a set of classes that when called, will reference a configuration file, preload and bind a set of motion effects and events, then fire them in which every timeline sequece you can event. The benefit to this plugin is that you can write highly animated effects without ever having to edit the actual code. You have a simple JSON configuration file that you structure to include all of your fx and chains, which essentially serves as sort of a timeline (like flash) for your application. 

So with that said, I am interested to hear what developers think, could this be useful if it were packaged with a javascript timeline application which allows the JSON config to be generated dynamically? All the sudden, we have a flash like javascript app on our hands. 

Please leave a comment with your thoughts!

[1] http://lab.slajax.com/sLabFx
[2] http://blastradius.com
[3] http://en.wikipedia.org/wiki/Inversion_of_control
[4] http://mootools.net
[5] http://blog.slajax.com/2007/04/26/mooedit-v-1/
[6] http://lab.slajax.com/sLabFx]]></description>
			<content:encoded><![CDATA[<center><a href="http://lab.slajax.com/sLabFx"><img height="71" width="300" alt="" src="http://blog.slajax.com/wp-content/uploads/2008/08/slabfx-300x71.jpg" title="slabfx" class="size-medium wp-image-57 alignright" /></a></center>
<p style="text-align: left;">Recently in my job at <a target="_blank" href="http://blastradius.com">Blast Radius</a> I have been exposed to abstracted control methods. In my interview Loyal asked me if I know what &quot;inversion of control&quot; was. I assumed it was the opposite of version control, and we had a laugh. It so happens that <a target="_blank" href="http://en.wikipedia.org/wiki/Inversion_of_control">inversion of control</a> is a very interesting concept that fits really well into my favorite javascript <a target="_blank" href="http://mootools.net">Mootools</a>. With this new concept in mind, I decided I would finally write a new plugin for mootools. It&#8217;s been a while since I wrote <a target="_blank" href="http://blog.slajax.com/2007/04/26/mooedit-v-1/">anything</a> that anyone cared to download or comment on, so I thought I&#8217;d give this concept a go and see how people respond to it.</p>
<p><br />
The plugin is called <strong>sLabFx</strong> and here is the <a target="_blank" href="http://lab.slajax.com/sLabFx">Demo</a>. <br />
<br />
Basically it&#8217;s a set of classes that when called, will reference a configuration file, preload and bind a set of motion effects and events, then fire them in which every timeline sequece you can event. The benefit to this plugin is that you can write highly animated effects without ever having to edit the actual code. You have a simple JSON configuration file that you structure to include all of your fx and chains, which essentially serves as sort of a timeline (like flash) for your application. <br />
<br />
So with that said, I am interested to hear what developers think, could this be useful if it were packaged with a javascript timeline application which allows the JSON config to be generated dynamically? All the sudden, we have a flash like javascript app on our hands. <br />
<br />
Please leave a comment with your thoughts!</p><img src="http://feeds.feedburner.com/~r/slajax/~4/prmpJ5Suxfw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.slajax.com/2008/08/29/introducing-slabfx-beta/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.slajax.com/2008/08/29/introducing-slabfx-beta/</feedburner:origLink></item>
		<item>
		<title>Why I only use Linux at work.</title>
		<link>http://feedproxy.google.com/~r/slajax/~3/X4-sp3j7TC4/</link>
        <customfield>ubuntu_logo.jpg</customfield>
		<comments>http://blog.slajax.com/2008/08/12/why-i-only-use-linux-at-work/#comments</comments>
		<pubDate>Tue, 12 Aug 2008 16:55:50 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<category><![CDATA[ubuntu]]></category>

		<category><![CDATA[custom]]></category>

		<category><![CDATA[desktop]]></category>

		<category><![CDATA[open source]]></category>

		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://blog.slajax.com/?p=45</guid>
		<description><![CDATA[Thanks to the awesome CTO [1] and Senior Python Programmer [2] at fotoglif.com [3] where I worked previously, Linux has become much more then a novelty in my tool set. While working there, I made the decision that I would go forth and adopt Ubuntu as my exclusive desktop of choice in all new projects simply because of how practical and customizable the operating system is.
Since then I have picked up more then a few new tricks, and have converted 3 (that I know of) below average windows users into fully functional members of the Linux community.
Now lets get down to the features that make Linux a much more flexible desktop for solving an ever changing number of work related issues, and red tape.

1) Workspace. Better Workspace.

Upon arriving at my new job, I was less then stoked to see that every person in the place had a second LCD monitor except for me. Desktop space can be a real pain in the ass for a UI programmer because of the constant refreshing required to see changes in the browser. Albeit I am a master of the alt tab, and have been known to ninja kick my way through a few builds this way, it's less then a good way to avoid carpel tunnel [4]. So the answer is simple in this case. Multiple desktops, which as you can see, can be easily integrated into the compiz window manager to make a pretty awesome cubic 3 dimensional desktop experience. From the following video, you'll be able to see the reason why I no longer care if I have a second monitor. I'm too busy flipping from desktop to desktop:


2) Software. Free Software.
This is a pretty good reason no matter what the situation is, however almost anyone who has worked in a larger company can tell you about the headache that its normally required to interface with the IT department so that you can get a piece of software that will assist you in your task. Well with Linux, the answer is as simple as sudo apt-get install software-package or if you can't find it, build it. The later being a motto that I have adopted more and more recently.
3) Security and piece of mind
I've worked at a few places where management is more then aggressive about banning and prohibiting any sort of IM, or un-work-related surfing activities. This often spawns rumors of packet sniffing, and other things that are less then desirable to me. The answer to this is simply an SSH tunnel. Very simply any Linux machine can be tunneled using the following ssh command:
ssh -D port username@hostname.com
Once this is done, you can then use System -&#62; Preference Network Proxy to point your connection to localhost:port using a SOCKS proxy.
I normally refrain from setting the proxy at this level however because it is fairly global. Instead I set the proxy in each application (mail, im, firefox) independently, allowing for better customization. For Firefox this is particularly important if you are running a localhost development environment. I suggest you use Foxy Proxy [5] to configure patterns for host names that use the proxy and host names that do not. Now that you are tunneling through your favourite remote server, you have the piece of mind knowing that your web traffic is not open to prying eyes.
And there you have it. These are the 3 main reasons why I have decided to exlcusively use Linux/Ubuntu for any work related project. It should be kept in mind that these reasons are much more particular to Linux in a whole then Ubuntu [6] itself, which is simply my perferred flavor of Linux. Also, there are many other great reasons, such as cron jobs, lynx, raggle and plain CLI that make Linux perfect as a work desktop, so I'd be happy to hear why you do you don't perfer Linux.

[1] http://walled.net
[2] http://agentultra.com
[3] http://fotoglif.com
[4] http://agentultra.comhttp://en.wikipedia.org/wiki/Carpal_tunnel_syndrome
[5] http://foxyproxy.mozdev.org/
[6] http://ubuntu.org]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Thanks to the awesome <a title="Walled.net" href="http://walled.net" target="_blank">CTO</a> and <a title="Agent Ultra" href="http://agentultra.com" target="_blank">Senior Python Programmer</a> at <a title="fotoglif.com - it pays to share" href="http://fotoglif.com" target="_blank">fotoglif.com</a> where I worked previously, Linux has become much more then a novelty in my tool set. While working there, I made the decision that I would go forth and adopt Ubuntu as my exclusive desktop of choice in all new projects simply because of how practical and customizable the operating system is.</p>
<p style="text-align: left;">Since then I have picked up more then a few new tricks, and have converted 3 (that I know of) below average windows users into fully functional members of the Linux community.</p>
<p style="text-align: left;">Now lets get down to the features that make Linux a much more flexible desktop for solving an ever changing number of work related issues, and red tape.</p>

<p style="text-align: left;">1) <strong>Workspace. Better Workspace.
</strong>
<p style="text-align: left;">Upon arriving at my new job, I was less then stoked to see that every person in the place had a second LCD monitor except for me. Desktop space can be a real pain in the ass for a UI programmer because of the constant refreshing required to see changes in the browser. Albeit I am a master of the alt tab, and have been known to ninja kick my way through a few builds this way, it&#8217;s less then a good way to avoid <a title="Carpal Tunnel" href="http://agentultra.comhttp://en.wikipedia.org/wiki/Carpal_tunnel_syndrome" target="_blank">carpel tunnel</a>. So the answer is simple in this case. Multiple desktops, which as you can see, can be easily integrated into the compiz window manager to make a pretty awesome cubic 3 dimensional desktop experience. From the following video, you&#8217;ll be able to see the reason why I no longer care if I have a second monitor. I&#8217;m too busy flipping from desktop to desktop:</p>

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/ZxfSwzhSn1c&amp;hl=en&amp;fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/ZxfSwzhSn1c&amp;hl=en&amp;fs=1" allowfullscreen="true"></embed></object>
<p style="text-align: left;">2) <strong>Software. Free Software.</strong></p>
<p style="text-align: left;">This is a pretty good reason no matter what the situation is, however almost anyone who has worked in a larger company can tell you about the headache that its normally required to interface with the IT department so that you can get a piece of software that will assist you in your task. Well with Linux, the answer is as simple as sudo <em>apt-get install software-package</em> or<em> if you can&#8217;t find it, build it</em>. The later being a motto that I have adopted more and more recently.</p>
<p style="text-align: left;">3) <strong>Security and piece of mind</strong></p>
<p style="text-align: left;">I&#8217;ve worked at a few places where management is more then aggressive about banning and prohibiting any sort of IM, or un-work-related surfing activities. This often spawns rumors of packet sniffing, and other things that are less then desirable to me. The answer to this is simply an <em>SSH tunnel</em>. Very simply any Linux machine can be tunneled using the following ssh command:</p>
<p style="text-align: left;">ssh -D port username@hostname.com</p>
<p style="text-align: left;">Once this is done, you can then use System -&gt; Preference Network Proxy to point your connection to localhost:port using a SOCKS proxy.</p>
<p style="text-align: left;">I normally refrain from setting the proxy at this level however because it is fairly global. Instead I set the proxy in each application (mail, im, firefox) independently, allowing for better customization. For Firefox this is particularly important if you are running a localhost development environment. I suggest you use <a title="Foxy Proxy" href="http://foxyproxy.mozdev.org/" target="_blank">Foxy Proxy</a> to configure patterns for host names that use the proxy and host names that do not. Now that you are tunneling through your favourite remote server, you have the piece of mind knowing that your web traffic is not open to prying eyes.</p>
<p style="text-align: left;">And there you have it. These are the 3 main reasons why I have decided to exlcusively use Linux/Ubuntu for any work related project. It should be kept in mind that these reasons are much more particular to Linux in a whole then <a title="Ubuntu" href="http://ubuntu.org" target="_blank">Ubuntu</a> itself, which is simply my perferred flavor of Linux. Also, there are many other great reasons, such as cron jobs, lynx, raggle and plain CLI that make Linux perfect as a work desktop, so I&#8217;d be happy to hear why you <strong>do</strong> you <strong>don&#8217;t</strong> perfer Linux.</p><img src="http://feeds.feedburner.com/~r/slajax/~4/X4-sp3j7TC4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.slajax.com/2008/08/12/why-i-only-use-linux-at-work/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.slajax.com/2008/08/12/why-i-only-use-linux-at-work/</feedburner:origLink></item>
		<item>
		<title>Javascript Cross Domain Ajax</title>
		<link>http://feedproxy.google.com/~r/slajax/~3/WbwZQRp_wEY/</link>
        <customfield>dojo.png</customfield>
		<comments>http://blog.slajax.com/2008/07/23/javascript-cross-domain-ajax/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 17:16:23 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
		
		<category><![CDATA[api]]></category>

		<category><![CDATA[blast radius]]></category>

		<category><![CDATA[frameworks]]></category>

		<category><![CDATA[javascript]]></category>

		<category><![CDATA[crossdomain]]></category>

		<category><![CDATA[http]]></category>

		<category><![CDATA[mashup]]></category>

		<category><![CDATA[x-domain]]></category>

		<guid isPermaLink="false">http://blog.slajax.com/?p=32</guid>
		<description><![CDATA[Since I joined Blast Radius [1] I have been introduced to a lot of new and interesting development practices, frameworks and designs that I have always read or heard about, but was never really forced or motivated to imply in my daily progression.
One such framework I wrote briefly about is Mojo [2]. Being a framework that has evolved from the Dojo Toolkit [3] my interest peaked this morning when I read a very interesting article on Ajaxian [4] about cross domain transport.


Originally as more of a low level technologist who only picked up ajax and interface development as a smooth view state for communicating with my middle tier controllers I found Javascript to be very much lacking the web services department. Very often the techniques that have been traditionally used consist of one of two strategies for x-domain communication;

1- A remote javascript include is served using:



[1] http://blog.slajax.com/2008/06/17/relocating-to-vancouver-senior-interface-developer/
[2] http://blog.slajax.com/2008/07/17/first-week-at-blast-radius-over/
[3] http://dojotoolkit.com
[4] http://ajaxian.com/archives/windowname-meet-dojoxiowindowname]]></description>
			<content:encoded><![CDATA[Since I <a href="http://blog.slajax.com/2008/06/17/relocating-to-vancouver-senior-interface-developer/" target="_blank">joined Blast Radius</a> I have been introduced to a lot of new and interesting development practices, frameworks and designs that I have always read or heard about, but was never really forced or motivated to imply in my daily progression.
One such framework I wrote briefly about is <a href="http://blog.slajax.com/2008/07/17/first-week-at-blast-radius-over/"  target="_blank">Mojo</a>. Being a framework that has evolved from the <a href="http://dojotoolkit.com"  target="_blank">Dojo Toolkit</a> my interest peaked this morning when I read a very interesting article on <a href="http://ajaxian.com/archives/windowname-meet-dojoxiowindowname" target="_blank">Ajaxian</a> about cross domain transport.
<br/><br/>

Originally as more of a low level technologist who only picked up ajax and interface development as a smooth view state for communicating with my middle tier controllers I found Javascript to be very much lacking the web services department. Very often the techniques that have been traditionally used consist of one of two strategies for x-domain communication;
<br/><br/>
1- <strong>A remote javascript include is served using:</strong><br/>
<div class='codeWrapper'><div class='codeTitle'>javascript<span class='codeInstruct'>hover edges to scroll</span></div><code><pre>&nbsp;
&lt;script type=<span style="color: #3366CC;">'text/javascript href='</span>http:<span style="color: #009900; font-style: italic;">//remotehost/js/api.js?param=1&amp;param2'&gt;</span></pre></code></div>
This is usually a server side script that generates the file contents based on the parameters, and then either renders content locally into your DOM, or provides you with a set of methods that will allow you to manipulate the content. This is not a very secure model and does not allow you to interact with raw xml data very robustly, but as long as you trust the source that is rending the content, it is quite efficient.
<br/><br/>
2- <strong>By matter of Proxy.</strong><br/>
This method I&#8217;ve used very often for direct communication with XML, SOAP, or REST gateways. Generally, I will develop the interface layer to communicate with a server side controller which will then use Curl to invoke the remote data, process and return as an JSON object. I find this method to be very robust, and allows you to create a very extensible gateway for your Javascript cross domain requests.
<br/><br/>

With that said, the post I read this morning is indicating that a new methodology for cross-domain scripting is emerging in the Dojo framework. By way of the property <i>window.name</i> one can make a remote request and retrieve data without exploiting the ever so wonderful cross domain security model that we are subject to in all our favorite browsers. This concept is very new but interesting. It opens up a whole new world of client side mash-up possibilities that are sure to get the creative juices flowing in the client side development space. Here is an example of it would be implemented:

<div class='codeWrapper'><div class='codeTitle'>javascript<span class='codeInstruct'>hover edges to scroll</span></div><code><pre>&nbsp;
dojox.<span style="color: #006600;">io</span>.<span style="color: #006600;">windowName</span>.<span style="color: #006600;">send</span><span style="color: #66cc66;">&#40;</span>method, args<span style="color: #66cc66;">&#41;</span>; <span style="color: #009900; font-style: italic;">// simple method</span>
<span style="color: #009900; font-style: italic;">// deferred result</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> deferred = dojox.<span style="color: #006600;">io</span>.<span style="color: #006600;">windowName</span>.<span style="color: #006600;">send</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">"GET"</span>, <span style="color: #66cc66;">&#123;</span>url:<span style="color: #3366CC;">"http://somesite.com/resource"</span><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
deferred.<span style="color: #006600;">addCallback</span><span style="color: #66cc66;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span>result<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
  <span style="color: #000066;">alert</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">"The request returned "</span> + result<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;</pre></code></div>


<img src="http://feeds.feedburner.com/~r/slajax/~4/WbwZQRp_wEY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.slajax.com/2008/07/23/javascript-cross-domain-ajax/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.slajax.com/2008/07/23/javascript-cross-domain-ajax/</feedburner:origLink></item>
		<item>
		<title>First week at Blast Radius over</title>
		<link>http://feedproxy.google.com/~r/slajax/~3/vVFR8b3ymY8/</link>
        <customfield>../uploads/2008/07/blast_front_door.jpg</customfield>
		<comments>http://blog.slajax.com/2008/07/17/first-week-at-blast-radius-over/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 00:52:49 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
		
		<category><![CDATA[blast radius]]></category>

		<category><![CDATA[blast]]></category>

		<category><![CDATA[javascript]]></category>

		<category><![CDATA[job]]></category>

		<category><![CDATA[radius]]></category>

		<guid isPermaLink="false">http://blog.slajax.com/?p=31</guid>
		<description><![CDATA[

So as of monday my first full week at Blast Radius [1] is completed. As you can see from the terribly pixelated photo above, I found it with no issues. It just so happens that my apartment is much closer then I originally thought. I literally have been leaving for work 2 minutes before I start, which still leaves enough time for an ever so terrible tasting 7/11 coffee.

Last week was full of a lot of orientation, but I did my best to take it in stride and quickly dive into learning the way things work here. I've started learning Mojo, which is an amazing interface development framework that uses the power of Dojo [2] to create a very robust and abstract environment for developers. The code is structured very strongly in a Java style pattern and I'm finding that I'm adapting to it very well. I'll have a post or two more very shortly about my experience learning it and it's details which might provide someone coming after me a starting place.

That all said, I'm happy to be settled and in my new work environment with some amazingly talented developers. It's been so long since I've worked with people who were as keen on interface development as I am. It was a long drive and a big decision to move out here, but I'm very glad I did it and cannot wait to continue to learn everything there is to learn about the experienced beast that is Blast. Tomorrow I'll start "OpX" training which will help me understand and adapt to the very agile and fast past development cycles that have made this company so successful.

[1] http://blastradius.com
[2] http://dojotoolkit.com]]></description>
			<content:encoded><![CDATA[<img class="aligncenter size-full wp-image-26" title="blast_front_door" src="http://blog.slajax.com/wp-content/uploads/2008/07/blast_front_door.jpg" alt="Blast Radius Sign" width="500" height="100" />
<br/><br/>
So as of monday my first full week at <a title="Blast Radius Website" href="http://blastradius.com" target="_blank">Blast Radius</a> is completed. As you can see from the terribly pixelated photo above, I found it with no issues. It just so happens that my apartment is much closer then I originally thought. I literally have been leaving for work 2 minutes before I start, which still leaves enough time for an ever so terrible tasting 7/11 coffee.
<br/><br/>
Last week was full of a lot of orientation, but I did my best to take it in stride and quickly dive into learning the way things work here. I&#8217;ve started learning Mojo, which is an amazing interface development framework that uses the power of <a title="Dojo Toolkit" href="http://dojotoolkit.com" target="_blank">Dojo</a> to create a very robust and abstract environment for developers. The code is structured very strongly in a Java style pattern and I&#8217;m finding that I&#8217;m adapting to it very well. I&#8217;ll have a post or two more very shortly about my experience learning it and it&#8217;s details which might provide someone coming after me a starting place.
<br/><br/>
That all said, I&#8217;m happy to be settled and in my new work environment with some amazingly talented developers. It&#8217;s been so long since I&#8217;ve worked with people who were as keen on interface development as I am. It was a long drive and a big decision to move out here, but I&#8217;m very glad I did it and cannot wait to continue to learn everything there is to learn about the experienced beast that is Blast. Tomorrow I&#8217;ll start &#8220;OpX&#8221; training which will help me understand and adapt to the very agile and fast past development cycles that have made this company so successful.<img src="http://feeds.feedburner.com/~r/slajax/~4/vVFR8b3ymY8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.slajax.com/2008/07/17/first-week-at-blast-radius-over/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.slajax.com/2008/07/17/first-week-at-blast-radius-over/</feedburner:origLink></item>
		<item>
		<title>BC or Bust - Halfway Point</title>
		<link>http://feedproxy.google.com/~r/slajax/~3/5Nkn1UXKhus/</link>
        <customfield />
		<comments>http://blog.slajax.com/2008/06/23/bc-or-bust-halfway-point/#comments</comments>
		<pubDate>Mon, 23 Jun 2008 08:55:08 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[relocating]]></category>

		<category><![CDATA[roadtrip]]></category>

		<category><![CDATA[vancouver]]></category>

		<guid isPermaLink="false">http://blog.slajax.com/?p=23</guid>
		<description><![CDATA[
I always knew that Canada was a very large country, but I never realized exactly how large until we passed Sault St Marie and lobbed ourselves around the Huron and Lake Superior. The truth is that northern Ontario doesn't have much to it. Lots of shoreline, a few Can-ops, and at least one or two places to stop that will make you regret rolling off the highway.

So far the trip has been pretty productive. For the cheesy details I suggest you read the elderly ramblings [1] of our senior passenger. Albeit bless him for starting a blog, but I think someone should install grammar check on his palm treo.



Tonight we're stopped in Brandon Manitoba. Approximately 490 km east of Regina. We're stopped in a Super 8 motel and the lot of them are snoring their faces off across the room. I'm glad their here, it wouldn't be the same alone.

So far we've made great time, and only been stopped by the cops once. The funny part is that it wasn't me driving. The van is holding up great, and I've gotten quite used to the trailer. We're going to be in the rockies in no time.

[1] http://crosscanada08.blogspot.com/]]></description>
			<content:encoded><![CDATA[<img style="float: left;" src="http://blog.slajax.com/wp-content/images/relocate/driving1.jpg" alt="" width="154" height="115" />
I always knew that Canada was a very large country, but I never realized exactly how large until we passed Sault St Marie and lobbed ourselves around the Huron and Lake Superior. The truth is that northern Ontario doesn&#8217;t have much to it. Lots of shoreline, a few Can-ops, and at least one or two places to stop that will make you regret rolling off the highway.<br/><br/><br/>

So far the trip has been pretty productive. For the cheesy details I suggest you read the <a href="http://crosscanada08.blogspot.com/" target="_blank">elderly ramblings</a> of our senior passenger. Albeit bless him for starting a blog, but I think someone should install grammar check on his palm treo.<br/><br/>

<img style="float: left;" src="http://blog.slajax.com/wp-content/images/relocate/portage_main.jpg" alt="" width="172" height="128" /><img style="float: left;" src="http://blog.slajax.com/wp-content/images/relocate/driving2.jpg" alt="" width="173" height="129" />

Tonight we&#8217;re stopped in Brandon Manitoba. Approximately 490 km east of Regina. We&#8217;re stopped in a Super 8 motel and the lot of them are snoring their faces off across the room. I&#8217;m glad their here, it wouldn&#8217;t be the same alone.<br/><br/>

So far we&#8217;ve made great time, and only been stopped by the cops once. The funny part is that it wasn&#8217;t me driving. The van is holding up great, and I&#8217;ve gotten quite used to the trailer. We&#8217;re going to be in the rockies in no time.<img src="http://feeds.feedburner.com/~r/slajax/~4/5Nkn1UXKhus" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.slajax.com/2008/06/23/bc-or-bust-halfway-point/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.slajax.com/2008/06/23/bc-or-bust-halfway-point/</feedburner:origLink></item>
		<item>
		<title>Relocating to Vancouver - Senior Interface Developer</title>
		<link>http://feedproxy.google.com/~r/slajax/~3/KtXPwws2_GA/</link>
        <customfield>blast.jpg</customfield>
		<comments>http://blog.slajax.com/2008/06/17/relocating-to-vancouver-senior-interface-developer/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 18:44:49 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
		
		<category><![CDATA[jobs]]></category>

		<category><![CDATA[blast radius]]></category>

		<category><![CDATA[career]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[vancouver]]></category>

		<guid isPermaLink="false">http://blog.slajax.com/?p=18</guid>
		<description><![CDATA[I've been working hard over the last few years in Toronto to perfect my craft, and I knew eventually I would be relocating to the west coat again for work. It had always been my dream to do what I'm doing now, only with the mountains and coast line by my side. It was all too hard to find good work starting out in this industry. I found Toronto to have a ton of opportunity, and I learned a whole lot from all of it, but regrettably even though I've enjoyed my time in Toronto, it never really felt like home. Maybe it's because I still at heart feel like I belong in a small town, or maybe coastal regions and mountains just put life into perspective for me but it has been a long time coming and I am filled with mixed emotions but happy to announce that I will be leaving Toronto next Friday  for a Senior Interface Developer position at 
.

   Blast is a very reputable company and from all of the talks I've had with them over the last year it sounds like I will be working with a really talented group of developers who I already have a lot in common with programmatically, and will be able to learn and share a lot with. This move is going to be amazing.

The over all plan is that I will be driving from Toronto to Vancouver in my van, with a trailer. I'm bringing along my brother and father for company, so it will be an amazingly good feeling to spend some time with them. I haven't spent much time with either of them since I moved here, and I am really excited for my little brother to see all the different parts of our beautiful Canadian countryside. With all that said, I'll be posting a lot more details here and at my music / tour blog http://giverhard.com as the trip moves along. 
]]></description>
			<content:encoded><![CDATA[I&#8217;ve been working hard over the last few years in Toronto to perfect my craft, and I knew eventually I would be relocating to the west coat again for work. It had always been my dream to do what I&#8217;m doing now, only with the mountains and coast line by my side. It was all too hard to find good work starting out in this industry. I found Toronto to have a ton of opportunity, and I learned a whole lot from all of it, but regrettably even though I&#8217;ve enjoyed my time in Toronto, it never really felt like home. Maybe it&#8217;s because I still at heart feel like I belong in a small town, or maybe coastal regions and mountains just put life into perspective for me but it has been a long time coming and I am filled with mixed emotions but happy to announce that <strong>I will be leaving Toronto next Friday</strong>  for a <strong>Senior Interface Developer</strong> position at <br/><br/>
<center><a href='http://blastradius.com/' target='_blank'><img src="http://blog.slajax.com/wp-content/images/blast_logo.jpg" alt="Blast Radius - Vancouver" border="0"/></a>.
</center>
 <br/> <br/> Blast is a very reputable company and from all of the talks I&#8217;ve had with them over the last year it sounds like I will be working with a really talented group of developers who I already have a lot in common with programmatically, and will be able to learn and share a lot with. This move is going to be amazing.

The over all plan is that I will be driving from Toronto to Vancouver in my van, with a trailer. I&#8217;m bringing along my brother and father for company, so it will be an amazingly good feeling to spend some time with them. I haven&#8217;t spent much time with either of them since I moved here, and I am really excited for my little brother to see all the different parts of our beautiful Canadian countryside. With all that said, I&#8217;ll be posting a lot more details here and at my music / tour blog http://giverhard.com as the trip moves along. 
<img src="http://feeds.feedburner.com/~r/slajax/~4/KtXPwws2_GA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.slajax.com/2008/06/17/relocating-to-vancouver-senior-interface-developer/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.slajax.com/2008/06/17/relocating-to-vancouver-senior-interface-developer/</feedburner:origLink></item>
		<item>
		<title>Re: PHP Obsolete</title>
		<link>http://feedproxy.google.com/~r/slajax/~3/XfWYxgfrfD8/</link>
        <customfield>agent_ultra.jpg</customfield>
		<comments>http://blog.slajax.com/2008/06/17/re-php-obsolete/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 18:27:26 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
		
		<category><![CDATA[php]]></category>

		<category><![CDATA[agent ultra]]></category>

		<category><![CDATA[rebuttle]]></category>

		<guid isPermaLink="false">http://blog.slajax.com/?p=20</guid>
		<description><![CDATA[My good friend Mr Ultra writes [1] that he believes PHP is soon to be an obsolete language because of it's late adoption of such ever so necessary concepts such as  namespaces. I personally will have to disagree.

I believe that the successful adoption of PHP being so high has a direct relation to the amount of new websites that have come to the forefront of this second web. Consider this, without marijuana, would anyone ever start using crack? The answer might be yes, but for the majority of people it's simply true that PHP is a gateway language and therefore an overabundance of things such as name spaces and public private methods were never really necessary in early cases because projects were simple and confined. I will agree that there certainly are enterprise situations where these rules come into effect, but for the majority of developers who use this platform, these things are not a necessity as they are often scripting more so the programming.

I firmly believe that an over abundance of environment functions, and flexibility with run-time compiled code makes PHP originally an agile function based development language that has only recently introduced object standards.  Traditionally it has been an entry point for just about anyone to learn web, and although I realize that we don't want just anyone behind the reigns of a monster, it has only recently been adopted in large scale projects that would require such low level pragmatic rules.

I am happy that PHP is adopting these properties, but I am even more happy that it will maintain it's high level ability for people to easily script in an object oriented fashion without being locked into these rules and properties that seem to almost define lower level languages.

With that said, as long as PHP maintains it's stable implementation curve unlike Actionscript 3, I believe that it will remain at the middle class of the programming eco-system as a very popular choice for developers and web hosting companies.

[1] http://agentultra.com/?p=108]]></description>
			<content:encoded><![CDATA[My good friend Mr Ultra <a href="http://agentultra.com/?p=108" target="_blank">writes</a> that he believes PHP is soon to be an obsolete language because of it&#8217;s late adoption of such ever so necessary concepts such as  <em>namespaces</em>. I personally will have to disagree.<br/><br/>

I believe that the successful adoption of PHP being so high has a direct relation to the amount of new websites that have come to the forefront of this second web. Consider this, without marijuana, would anyone ever start using crack? The answer might be yes, but for the majority of people it&#8217;s simply true that PHP <em>is</em> a gateway language and therefore an overabundance of things such as name spaces and public private methods were never really necessary in early cases because projects were simple and confined. I will agree that there certainly are enterprise situations where these rules come into effect, but for the majority of developers who use this platform, these things are not a necessity as they are often <em>scripting</em> more so the programming.<br/><br/>

I firmly believe that an over abundance of environment functions, and flexibility with run-time compiled code makes PHP originally an agile function based development language that has only recently introduced object standards.  Traditionally it has been an entry point for just about anyone to learn web, and although I realize that we don&#8217;t want just <em>anyone</em> behind the reigns of a monster, it has only recently been adopted in large scale projects that would require such low level pragmatic rules.<br/><br/>

I am happy that PHP is adopting these properties, but I am even more happy that it will maintain it&#8217;s high level ability for people to easily <em>script</em> in an object oriented fashion without being locked into these rules and properties that seem to almost define lower level languages.<br/><br/>

With that said, as long as PHP maintains it&#8217;s stable implementation curve unlike Actionscript 3, I believe that it will remain at the middle class of the programming eco-system as a very popular choice for developers and web hosting companies.<img src="http://feeds.feedburner.com/~r/slajax/~4/XfWYxgfrfD8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.slajax.com/2008/06/17/re-php-obsolete/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.slajax.com/2008/06/17/re-php-obsolete/</feedburner:origLink></item>
		<item>
		<title>Sutori and second hand consumer experiences</title>
		<link>http://feedproxy.google.com/~r/slajax/~3/p5nwKrflZbM/</link>
        <customfield>sutori.jpg</customfield>
		<comments>http://blog.slajax.com/2008/06/17/sutori-and-second-hand-consumer-experiences/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 17:30:04 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
		
		<category><![CDATA[brand recognition]]></category>

		<category><![CDATA[social epidemics]]></category>

		<category><![CDATA[social networking]]></category>

		<category><![CDATA[blast radius]]></category>

		<category><![CDATA[consumer experience]]></category>

		<category><![CDATA[sutori]]></category>

		<guid isPermaLink="false">http://blog.slajax.com/?p=19</guid>
		<description><![CDATA[ [1]
I've been pretty excited over the last week about the new experiences [2] coming up so I did some digging around and found Sutori.com [3] which is a Blast Radius [4] sponsored pro-sumer driven social network for people to connect and share their experiences and information about products and companies.

The whole concept behind Blast's success seems to be very much that the marketplace has changed. Consumers now hold the power and as a result, they believe companies need to get smarter in order to please this new level of connected consumer.

I read and responded to a particular blog post [5] on the Sutori blog, talking about second hand experiences and their worth to the community at large. This really intrigued me and I responded with my initial opinion:
I think that you bring up a very interesting point here.

Often people will consider second or third hand stories as a form of broken telephone, in which the content cannot be trusted.

I’d like to draw reference to a piece of literature called ‘Blink’ by Malcolm Gladwell in which he references to ‘thin-slicing’.

Often through word of mouth, context is diluted or changed, but generally in the first X amount of steps, the message will remain the same without the saturation of frustration that can be found in first person. The results highlight the original and (possibly?) make a more dense overall consumer experience to base future engagements with relation to the brand in question.

This being said, it could very well be that a second or third hand story can possibly be more directly helpful to a consumer looking to make a decision than a first hand encounter as long as the message maintains a an accurate ‘thin-sliced’ version of the original message.
With that said, I started thinking about the type of social network that Sutori really is in relation to another book by Malcom Gladwell entitled The Tipping Point [6] where Mr Gladwell goes on to dissect the reasons and motivations behind a true social epidemic, the kind that are often found in the natural wide scale adoption of a product or trend.  Gladwell describes three types of people who make these epidemics occur.

Connectors, people with a vast social circle who specialize in the 'weak tie'. Mavens, people with extraordinary product knowledge who have a natural need to help people get them the best based on their own personal experience, and Salesmen, the people who actually sell the idea that this product and experience lives up to the hype.

My thought is that Sutori is by nature a very "Maven"-esq network, however it seems that most of the content so far mostly relates to bad experiences with a brand and revolve around warning others. This raises the following question:

How could one use the power of a social network like Sutori to procure positive experiences that can then be shared to all three types of social pro-sumer so that the end result is a widely distributed word of mouth that is overall positive for a brand but also allows for the necessary warnings that protect the pro-sumer network?

Once I thought about this I remembered a site that a friend of mine started a little while ago called mywebvine.ca [7] and I realized that this is one example of how the social graph can really do a great job of promoting positive brand recognition through word of mouth.

So I guess that shows that there are people out there considering both sides of the puzzle. I'm interested to see different ways that the combination of both models can be incorporated so that not only can consumers warn other consumers, but they can also promote good products and in essence start their own little social epidemic around a product that really deserves it.

[1] http://sutori.com
[2] http://blog.slajax.com/2008/06/10/relocating-to-vancouver-senior-interface-developer/
[3] http://sutori.com
[4] http://blastradius.com
[5] http://blog.sutori.com/2007/02/16/what-are-your-thoughts-on-second-hand-experiences/
[6] http://books.google.ca/books?id=MMlxzMNkE_0C&#38;dq=the+tipping+point&#38;pg=PP1&#38;ots=hgZyMEkyF3&#38;sig=pdd9BP007hrW-d-JZQzOlrlGHHo&#38;hl=en&#38;prev=http://www.google.ca/search%3Fq%3Dthe%2Btipping%2Bpoint%26ie%3Dutf-8%26oe%3Dutf-8%26rls%3Dcom.ubuntu:en-US:official%26client%3Dfirefox-a&#38;sa=X&#38;oi=print&#38;ct=title&#38;cad=one-book-with-thumbnail
[7] http://mywebvine.ca]]></description>
			<content:encoded><![CDATA[<a href="http://sutori.com"><img style="float: left; margin: 5px 15px;" src="/wp-content/images/sutori.jpg" alt="" /></a>
I&#8217;ve been pretty excited over the last week about the <a href="http://blog.slajax.com/2008/06/10/relocating-to-vancouver-senior-interface-developer/">new experiences</a> coming up so I did some digging around and found <a href="http://sutori.com">Sutori.com</a> which is a <a href="http://blastradius.com">Blast Radius</a> sponsored pro-sumer driven social network for people to connect and share their experiences and information about products and companies.<br/><br/>

The whole concept behind Blast&#8217;s success seems to be very much that the marketplace has changed. Consumers now hold the power and as a result, they believe companies need to get smarter in order to please this new level of connected consumer.<br/><br/>

I read and responded to a particular <a href="http://blog.sutori.com/2007/02/16/what-are-your-thoughts-on-second-hand-experiences/">blog post</a> on the Sutori blog, talking about second hand experiences and their worth to the community at large. This really intrigued me and I responded with my initial opinion:<br/>
<blockquote>I think that you bring up a very interesting point here.

Often people will consider second or third hand stories as a form of broken telephone, in which the content cannot be trusted.

I’d like to draw reference to a piece of literature called ‘Blink’ by Malcolm Gladwell in which he references to ‘thin-slicing’.

Often through word of mouth, context is diluted or changed, but generally in the first X amount of steps, the message will remain the same without the saturation of frustration that can be found in first person. The results highlight the original and (possibly?) make a more dense overall consumer experience to base future engagements with relation to the brand in question.

This being said, it could very well be that a second or third hand story can possibly be more directly helpful to a consumer looking to make a decision than a first hand encounter as long as the message maintains a an accurate ‘thin-sliced’ version of the original message.</blockquote>
With that said, I started thinking about the type of social network that Sutori really is in relation to another book by <em>Malcom Gladwell</em> entitled <a href="http://books.google.ca/books?id=MMlxzMNkE_0C&amp;dq=the+tipping+point&amp;pg=PP1&amp;ots=hgZyMEkyF3&amp;sig=pdd9BP007hrW-d-JZQzOlrlGHHo&amp;hl=en&amp;prev=http://www.google.ca/search%3Fq%3Dthe%2Btipping%2Bpoint%26ie%3Dutf-8%26oe%3Dutf-8%26rls%3Dcom.ubuntu:en-US:official%26client%3Dfirefox-a&amp;sa=X&amp;oi=print&amp;ct=title&amp;cad=one-book-with-thumbnail" target="_blank">The Tipping Point</a> where Mr Gladwell goes on to dissect the reasons and motivations behind a true social epidemic, the kind that are often found in the natural wide scale adoption of a product or trend.  Gladwell describes three types of people who make these epidemics occur.<br/><br/>

Connectors, people with a vast social circle who specialize in the &#8216;weak tie&#8217;. Mavens, people with extraordinary product knowledge who have a natural need to help people get them the best based on their own personal experience, and Salesmen, the people who actually sell the idea that this product and experience lives up to the hype.<br/><br/>

My thought is that Sutori is by nature a very &#8220;Maven&#8221;-esq network, however it seems that most of the content so far mostly relates to bad experiences with a brand and revolve around warning others. This raises the following question:<br/><br/>

How could one use the power of a social network like Sutori to procure positive experiences that can then be shared to all three types of social pro-sumer so that the end result is a widely distributed word of mouth that is overall positive for a brand but also allows for the necessary warnings that protect the pro-sumer network?<br/><br/>

Once I thought about this I remembered a site that a friend of mine started a little while ago called <a href="http://mywebvine.ca">mywebvine.ca</a> and I realized that this is one example of how the social graph can really do a great job of promoting positive brand recognition through word of mouth.<br/><br/>

So I guess that shows that there are people out there considering both sides of the puzzle. I&#8217;m interested to see different ways that the combination of both models can be incorporated so that not only can consumers warn other consumers, but they can also promote good products and in essence start their own little social epidemic around a product that really deserves it.<br/><br/><img src="http://feeds.feedburner.com/~r/slajax/~4/p5nwKrflZbM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.slajax.com/2008/06/17/sutori-and-second-hand-consumer-experiences/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.slajax.com/2008/06/17/sutori-and-second-hand-consumer-experiences/</feedburner:origLink></item>
		<item>
		<title>Mushroom Life</title>
		<link>http://feedproxy.google.com/~r/slajax/~3/Od7l7PwyOBM/</link>
        <customfield />
		<comments>http://blog.slajax.com/2008/02/14/mushroom-life/#comments</comments>
		<pubDate>Fri, 15 Feb 2008 02:21:01 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
		
		<category><![CDATA[applications]]></category>

		<category><![CDATA[other]]></category>

		<category><![CDATA[stumbled upon]]></category>

		<category><![CDATA[widgets]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[mushrooms]]></category>

		<guid isPermaLink="false">http://blog.slajax.com/2008/02/14/mushroom-life/</guid>
		<description><![CDATA[Mushroom Life [1] is a very interesting flash application that requires a lot of clicking. The application shows a very nicely laid out 3d area that when you click mushrooms grow. However, there are rules to this game as follows:


For each generation,
a mushroom with 1 or 0 neighbor dies (loneliness),
a mushroom with 4 or more neighbors dies (overcrowding),
a mushroom with 2 or 3 neighbors survives (stability),
an empty space with 3 neighbors sprouts a new mushroom (birth). 

Try it out, see how much mush you can make.

[1] http://a.parsons.edu/~joseph/k2/gameoflife/]]></description>
			<content:encoded><![CDATA[<a href="http://a.parsons.edu/~joseph/k2/gameoflife/">Mushroom Life</a> is a very interesting flash application that requires a lot of clicking. The application shows a very nicely laid out 3d area that when you click mushrooms grow. However, there are rules to this game as follows:


For each generation,
a mushroom with 1 or 0 neighbor dies (loneliness),
a mushroom with 4 or more neighbors dies (overcrowding),
a mushroom with 2 or 3 neighbors survives (stability),
an empty space with 3 neighbors sprouts a new mushroom (birth). 

Try it out, see how much mush you can make.<img src="http://feeds.feedburner.com/~r/slajax/~4/Od7l7PwyOBM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.slajax.com/2008/02/14/mushroom-life/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.slajax.com/2008/02/14/mushroom-life/</feedburner:origLink></item>
		<item>
		<title>xentheon - where is my mind</title>
		<link>http://feedproxy.google.com/~r/slajax/~3/O8234hkxxjI/</link>
        <customfield />
		<comments>http://blog.slajax.com/2008/02/14/xentheon-where-is-my-mind/#comments</comments>
		<pubDate>Fri, 15 Feb 2008 00:43:36 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[source code]]></category>

		<guid isPermaLink="false">http://blog.slajax.com/2008/02/14/xentheon-where-is-my-mind/</guid>
		<description><![CDATA[This is probably one of the coolest source code visualizations I have ever seen. I'm not exactly sure how they did it. Points to whomever can explain it!read more [1] &#124; digg story [2]

[1] http://www.100mb.nl/
[2] http://digg.com/linux_unix/xentheon_where_is_my_mind]]></description>
			<content:encoded><![CDATA[This is probably one of the coolest source code visualizations I have ever seen. I&#8217;m not exactly sure how they did it. Points to whomever can explain it!<br/><br/><a href="http://www.100mb.nl/">read more</a> | <a href="http://digg.com/linux_unix/xentheon_where_is_my_mind">digg story</a><img src="http://feeds.feedburner.com/~r/slajax/~4/O8234hkxxjI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.slajax.com/2008/02/14/xentheon-where-is-my-mind/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.slajax.com/2008/02/14/xentheon-where-is-my-mind/</feedburner:origLink></item>
		<item>
		<title>Real Estate 2.0</title>
		<link>http://feedproxy.google.com/~r/slajax/~3/kvaxgb0hwpI/</link>
        <customfield>realestate-tag.jpg</customfield>
		<comments>http://blog.slajax.com/2007/11/12/realestate-2-0/#comments</comments>
		<pubDate>Mon, 12 Nov 2007 16:31:08 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
		
		<category><![CDATA[start ups]]></category>

		<category><![CDATA[ajax]]></category>

		<category><![CDATA[google maps]]></category>

		<category><![CDATA[real estate]]></category>

		<category><![CDATA[sLajax applications]]></category>

		<guid isPermaLink="false">http://blog.slajax.com/2007/11/12/the-state-of-real-estate-on-the-web/</guid>
		<description><![CDATA[

So here is something I was reading on Tech Crunch [1] this morning about real estate start ups on the web. Cyber Homes [2], a startup that I would loved to have been the founder of is a real estate mapping service that provides high level overviews and more specific statistics based information about real estate trends. Lets hope they release an API and blow MLS  [3]out of the water! From what the article says, they are using Microsoft's Silver Light [4] for most of their rich dashboard controls. My opinion of Silver Light sort of makes this an infrastructure that I don't really agree with and thus sort of ruins the service for me but at very least the article is reporting that while real estate markets are on the down, the number of people researching online is very much still on the rise. 




This is great news to sLajax developers because we are currently working on a product that will allow Toronto Real Estate Agents to automate the streaming of their MLS [5] listings data directly from the TREB servers, thus enabling the client to directly update their website with their listing data by logging into TREB just as they would normally. It is still undecided as to the presentation layer that will be developed to but we have been very eager to present some sort of highly interactive mapping application similar to housing maps, as a starting point for users to then select their area and get more information on the site. 



In any event, it's super great to see that Tech Crunch is reporting a rise in online-viewer-ship because this means that great tools like Cyberhomes [6] and the application that we are developing will bring lots of benefit to realtor's who are looking for a way to stand out with the listings on their website. 

[1] http://techcrunch.com
[2] http://cyberhomes.com
[3] http://mls.ca
[4] http://silverlight.net/
[5] http://mls.ca
[6] http://cyberhomes.com]]></description>
			<content:encoded><![CDATA[<img src="/wp-content/images/realestate-main.jpg" alt="real estate 2.0" />

So here is something I was reading on <a href="http://techcrunch.com">Tech Crunch</a> this morning about real estate start ups on the web. <a href="http://cyberhomes.com">Cyber Homes</a>, a startup that I would loved to have been the founder of is a real estate mapping service that provides high level overviews and more specific statistics based information about real estate trends. Lets hope they release an API and blow <a href="http://mls.ca">MLS </a>out of the water! From what the article says, they are using <a href="http://silverlight.net/">Microsoft&#8217;s Silver Light</a> for most of their rich dashboard controls. My opinion of Silver Light sort of makes this an infrastructure that I don&#8217;t really agree with and thus sort of ruins the service for me but at very least the article is reporting that while real estate markets are on the down, the number of people researching online is very much still on the rise. 

<br/>
<br/>

This is great news to sLajax developers because we are currently working on a product that will allow Toronto Real Estate Agents to automate the streaming of their <a href="http://mls.ca">MLS</a> listings data directly from the TREB servers, thus enabling the client to directly update their website with their listing data by logging into TREB just as they would normally. It is still undecided as to the presentation layer that will be developed to but we have been very eager to present some sort of highly interactive mapping application similar to housing maps, as a starting point for users to then select their area and get more information on the site. 

<br/>
<br/>
In any event, it&#8217;s super great to see that Tech Crunch is reporting a rise in online-viewer-ship because this means that great tools like <a href="http://cyberhomes.com">Cyberhomes</a> and the application that we are developing will bring lots of benefit to realtor&#8217;s who are looking for a way to stand out with the listings on their website. <img src="http://feeds.feedburner.com/~r/slajax/~4/kvaxgb0hwpI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.slajax.com/2007/11/12/realestate-2-0/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.slajax.com/2007/11/12/realestate-2-0/</feedburner:origLink></item>
		<item>
		<title>Open Social is finally here.</title>
		<link>http://feedproxy.google.com/~r/slajax/~3/4hap5clbjhQ/</link>
        <customfield>opensocial.jpg</customfield>
		<comments>http://blog.slajax.com/2007/11/09/open-social-is-finally-here/#comments</comments>
		<pubDate>Fri, 09 Nov 2007 19:49:17 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
		
		<category><![CDATA[api]]></category>

		<category><![CDATA[frameworks]]></category>

		<category><![CDATA[social networking]]></category>

		<guid isPermaLink="false">http://blog.slajax.com/2007/11/09/open-social-is-finally-here/</guid>
		<description><![CDATA[

So finally the powers that be [1] have chosen to use their voice [2] in an attempt to show the world what "open" really is. We've seen a lot of improvement in the social networking field over the last 2 years, with leadsers such as Linked In [3] and Sales Force [4] showing the world that social networking is not just for weirdos [5].

On Friday, November 02, 2007 at 1:15:00 AM [6] Google posted that Open Social is being lunched with this list of partners [7]. This is a huge step in the right direction for social networking and the internet in general. Now we can all play happily together while Facebook takes the ball and goes home.





[1] http://google.com
[2] http://code.google.com/apis/opensocial/
[3] http://linkedin.com
[4] http://salesforce.com
[5] http://www.encyclopediaofstupid.com/stupid/index.php/Myspace
[6] http://opensocialapis.blogspot.com/2007/11/web-is-better-when-its-social.html
[7] http://code.google.com/apis/opensocial/partners.html]]></description>
			<content:encoded><![CDATA[<img src="http://blog.slajax.com/wp-content/images/opensocial.jpg" alt="open social" />

So finally the <a href="http://google.com" target="_blank">powers that be</a> have chosen to use <a href="http://code.google.com/apis/opensocial/" target="_blank">their voice</a> in an attempt to show the world what &#8220;open&#8221; really is. We&#8217;ve seen a lot of improvement in the social networking field over the last 2 years, with leadsers such as <a href="http://linkedin.com" target="_blank">Linked In</a> and <a href="http://salesforce.com">Sales Force</a> showing the world that social networking is not just for <a href="http://www.encyclopediaofstupid.com/stupid/index.php/Myspace" target="_blank">weirdos</a>.

On <a href="http://opensocialapis.blogspot.com/2007/11/web-is-better-when-its-social.html" target="_blank">Friday, November 02, 2007 at 1:15:00 AM</a> Google posted that Open Social is being lunched with <a href="http://code.google.com/apis/opensocial/partners.html">this list of partners</a>. This is a huge step in the right direction for social networking and the internet in general. Now we can all play happily together while Facebook takes the ball and goes home.



<img src="http://feeds.feedburner.com/~r/slajax/~4/4hap5clbjhQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.slajax.com/2007/11/09/open-social-is-finally-here/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.slajax.com/2007/11/09/open-social-is-finally-here/</feedburner:origLink></item>
		<item>
		<title>Akelos - a pragmatic php framework</title>
		<link>http://feedproxy.google.com/~r/slajax/~3/_saUrwBuQ5k/</link>
        <customfield>akelos.gif</customfield>
		<comments>http://blog.slajax.com/2007/08/24/akelos-a-pragmatic-php-framework/#comments</comments>
		<pubDate>Fri, 24 Aug 2007 21:34:08 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
		
		<category><![CDATA[frameworks]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[agile]]></category>

		<category><![CDATA[akelos]]></category>

		<category><![CDATA[framework]]></category>

		<category><![CDATA[pragmatic]]></category>

		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://blog.slajax.com/2007/08/24/akelos-a-pragmatic-php-framework/</guid>
		<description><![CDATA[ [1]



I have recently discovered Akelos [2] a wonderfully efficient framework that allows you to control scaffolding and generate controllers in much the same way that you would in Ruby on Rails. Not only is the framework designed to cut corners, but it also has an amazingly useful version control system, that allows you to upgrade your applications without having to worry about new data impacting crashing the application. 



From my short experience with this software, I can see that it is going to be a very strong favorite in the open source world, in my opinion surpassing it's rival Symfony [3]. I am sure to make this framework an avid part of my tool box and do what I can to promote such a well structured software. Kudos to Bermi over at http://akelos.org [4]






[1] http://akelos.org
[2] http://akelos.org
[3] http://symfony-project.org
[4] http://akelos.org]]></description>
			<content:encoded><![CDATA[<center><a href="http://akelos.org" target="_blank"><img src="/wp-content/images/akelos_logo.jpg" border="0" /></a></center>

<br /><br />

I have recently discovered <a href="http://akelos.org" target="_blank">Akelos</a> a wonderfully efficient framework that allows you to control scaffolding and generate controllers in much the same way that you would in Ruby on Rails. Not only is the framework designed to cut corners, but it also has an amazingly useful version control system, that allows you to upgrade your applications without having to worry about new data impacting crashing the application. 

<br /><br />

From my short experience with this software, I can see that it is going to be a very strong favorite in the open source world, in my opinion surpassing it&#8217;s rival <a href="http://symfony-project.org" target="_blank" />Symfony</a>. I am sure to make this framework an avid part of my tool box and do what I can to promote such a well structured software. Kudos to Bermi over at <a href="http://akelos.org" target="_blank">http://akelos.org</a>


<br /><br />

<img src="http://feeds.feedburner.com/~r/slajax/~4/_saUrwBuQ5k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.slajax.com/2007/08/24/akelos-a-pragmatic-php-framework/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.slajax.com/2007/08/24/akelos-a-pragmatic-php-framework/</feedburner:origLink></item>
		<item>
		<title>Bash Installation Script</title>
		<link>http://feedproxy.google.com/~r/slajax/~3/LfaRzyY5Vqw/</link>
        <customfield>bash.gif</customfield>
		<comments>http://blog.slajax.com/2007/07/30/bash-installation-script/#comments</comments>
		<pubDate>Mon, 30 Jul 2007 21:53:05 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
		
		<category><![CDATA[bash]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[shell]]></category>

		<category><![CDATA[source code]]></category>

		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://slajax.com/blog/2007/07/30/bash-installation-script/</guid>
		<description><![CDATA[So I got bored of always manually installing the content management system, so i wrote a little bash script to take care of all the good stuff. I haven't written bash in a long time, but I really like it. It's some of the most useful code I've ever written. So powerful.


# !/bin/sh
# @title: CMS bash install script
# @dev: Kyle Campbell - kc@slajax.com
# @purpose: -simple walk through of cms installation tasks
#           -delete plesk generated directories and extract latest cms tar
#     -connect to mysql and load clean data structure
#     -generate unique lib/includes/db.php file for specific install
##################################################

##########################
# Step 1:  get domain for install #
########################

echo "[setup]: Please enter the domain you are configuring the cms for:"
 read domain

#####################
# Step 2: confirm spelling #
####################

echo "[setup]: Ok, installing for for domain: $domain, right? (y/n)"
 read confirmDomain

################################################
# Step 3: echo out the install path and confirm this install path #
################################################

if [ $confirmDomain == "y" ]
 then
         echo "[setup]: ok, here we go, installing to /var/www/vhosts/$domain/httpdocs/, ready? (y/n)"
 else
         echo "[setup]: installation aborted. go rtfm already."
  exit
fi
 read confirmDir

#####################################################################
# Step 4: if install path is confirmed, remove plesk generated files and dirs, then install cms #
#####################################################################

if [ $confirmDir == "y" ]
 then
  if [ -d "/var/www/vhosts/$domain/httpdocs" ]
   then
    echo "[setup]: cleaning directory and unpacking latest cms archive."

    if [ -f "/var/www/vhosts/$domain/httpdocs/index.html" ]
     then
                                                echo "[setup]: deleting file: index.html"
      sudo rm -R /var/www/vhosts/$domain/httpdocs/index.html
    fi
    if [ -f "/var/www/vhosts/$domain/httpdocs/favicon.ico" ]
     then
                                                echo "[setup]: deleting file: favicon.ico"
      sudo rm -R /var/www/vhosts/$domain/httpdocs/favicon.ico
    fi
    if [ -d "/var/www/vhosts/$domain/httpdocs/css/" ]
     then
                                                echo "[setup]: deleting dir: /css/"
      sudo rm -R /var/www/vhosts/$domain/httpdocs/css/
    fi
                         if [ -d "/var/www/vhosts/$domain/httpdocs/img/" ]
     then
                                                echo "[setup]: deleting dir: /img/"
      sudo rm -R /var/www/vhosts/$domain/httpdocs/img/
    fi
                                if [ -d "/var/www/vhosts/$domain/httpdocs/picture_library/" ]
     then
                                                echo "[setup]: deleting dir: /picture-library/"
      sudo rm -R /var/www/vhosts/$domain/httpdocs/picture_library/
    fi
                                if [ -d "/var/www/vhosts/$domain/httpdocs/plesk-stat/" ]
     then
                                                echo "[setup]: deleting dir: /plesk-stat/"
      sudo rm -R /var/www/vhosts/$domain/httpdocs/plesk-stat/
    fi
                                if [ -d "/var/www/vhosts/$domain/httpdocs/test/" ]
     then
                                                echo "[setup]: deleting dir: /test/"
      sudo rm -R /var/www/vhosts/$domain/httpdocs/test/
    fi
    if [ -f "/home/KyleC/cms/installCms.tar" ]
     then
      echo "[setup]: unpacking cms files..."
      sudo tar -xvf /home/KyleC/cms/installCms.tar
     else
      echo "[setup]: cms install archive not present. exiting."
      exit
    fi
   else
    echo "[setup]: this directory does not exist. have the domain created first."
    echo "[setup]: installation aborted. go rtfm already.  please continue manually."
    exit
  fi
 else
  echo "[setup]: installation aborted. go rtfm already. please continue manually."
  exit
fi


################################################
# Step 5:  set ownerships and permissions for new install path #
###############################################

echo "[setup]: ok done unpacking, now we need to set the correct permissions. Please provide directory user:"
 read userPerms

if [ $userPerms != "" ]
 then
  if [ -d "/var/www/vhosts/$domain/httpdocs/" ]
   then
    echo "[setup]: setting permissions $userPerms.psacln for core files"
     sudo chown -R $userPerms.psacln /var/www/vhosts/$domain/httpdocs/*
     sudo chown -R $userPerms.psacln /var/www/vhosts/$domain/httpdocs/.htaccess
     sudo chmod -R 0777 /var/www/vhosts/$domain/httpdocs/sql/
        sudo chmod -R 0777 /var/www/vhosts/$domain/httpdocs/uploaded/
     sudo chmod -R 0777 /var/www/vhosts/$domain/httpdocs/lib/includes/db.php

    echo "[setup]: done setting permissions."
  fi
 else
  echo "[setup]: invalid input, please continue manually from permissions step."
                echo "[setup]: installation aborted. go rtfm already.  please continue manually."
fi


######################################################
# Step 6: installing database and configuring constants for application #
#####################################################
echo "[setup]: please enter database name:"
 read database

echo "[setup]: please enter user name for database '$database':"
 read username

echo "[setup]: please enter password for databas user '$username':"
 read dbpass

echo "[setup]: ok, lets import the database structure now..."

 sudo mysql --verbose --host=mysql-host --user=$username --password=$dbpass $database < /var/www/vhosts/$domain/httpdocs/sql/installCms.sql

echo "[setup]: database configured, creating config file for cms now..."


sudo cat > /var/www/vhosts/$domain/httpdocs/lib/includes/db.php ]]></description>
			<content:encoded><![CDATA[So I got bored of always manually installing the content management system, so i wrote a little bash script to take care of all the good stuff. I haven&#8217;t written bash in a long time, but I really like it. It&#8217;s some of the most useful code I&#8217;ve ever written. So powerful.

<div class='codeWrapper'><div class='codeTitle'>bash<span class='codeInstruct'>hover edges to scroll</span></div><code><pre>&nbsp;
<span style="color: #808080; font-style: italic;"># !/bin/sh</span>
<span style="color: #808080; font-style: italic;"># @title: CMS bash install script</span>
<span style="color: #808080; font-style: italic;"># @dev: Kyle Campbell - kc@slajax.com</span>
<span style="color: #808080; font-style: italic;"># @purpose: -simple walk through of cms installation tasks</span>
<span style="color: #808080; font-style: italic;">#           -delete plesk generated directories and extract latest cms tar</span>
<span style="color: #808080; font-style: italic;">#     -connect to mysql and load clean data structure</span>
<span style="color: #808080; font-style: italic;">#     -generate unique lib/includes/db.php file for specific install</span>
<span style="color: #808080; font-style: italic;">##################################################</span>
&nbsp;
<span style="color: #808080; font-style: italic;">##########################</span>
<span style="color: #808080; font-style: italic;"># Step 1:  get domain for install #</span>
<span style="color: #808080; font-style: italic;">########################</span>
&nbsp;
<span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: Please enter the domain you are configuring the cms for:"</span>
 <span style="color: #000066;">read</span> domain
&nbsp;
<span style="color: #808080; font-style: italic;">#####################</span>
<span style="color: #808080; font-style: italic;"># Step 2: confirm spelling #</span>
<span style="color: #808080; font-style: italic;">####################</span>
&nbsp;
<span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: Ok, installing for for domain: $domain, right? (y/n)"</span>
 <span style="color: #000066;">read</span> confirmDomain
&nbsp;
<span style="color: #808080; font-style: italic;">################################################</span>
<span style="color: #808080; font-style: italic;"># Step 3: echo out the install path and confirm this install path #</span>
<span style="color: #808080; font-style: italic;">################################################</span>
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#91;</span> <span style="color: #0000ff;">$confirmDomain</span> == <span style="color: #ff0000;">"y"</span> <span style="color: #66cc66;">&#93;</span>
 <span style="color: #b1b100;">then</span>
         <span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: ok, here we go, installing to /var/www/vhosts/$domain/httpdocs/, ready? (y/n)"</span>
 <span style="color: #b1b100;">else</span>
         <span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: installation aborted. go rtfm already."</span>
  <span style="color: #000066;">exit</span>
<span style="color: #b1b100;">fi</span>
 <span style="color: #000066;">read</span> confirmDir
&nbsp;
<span style="color: #808080; font-style: italic;">#####################################################################</span>
<span style="color: #808080; font-style: italic;"># Step 4: if install path is confirmed, remove plesk generated files and dirs, then install cms #</span>
<span style="color: #808080; font-style: italic;">#####################################################################</span>
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#91;</span> <span style="color: #0000ff;">$confirmDir</span> == <span style="color: #ff0000;">"y"</span> <span style="color: #66cc66;">&#93;</span>
 <span style="color: #b1b100;">then</span>
  <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#91;</span> -d <span style="color: #ff0000;">"/var/www/vhosts/$domain/httpdocs"</span> <span style="color: #66cc66;">&#93;</span>
   <span style="color: #b1b100;">then</span>
    <span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: cleaning directory and unpacking latest cms archive."</span>
&nbsp;
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#91;</span> -f <span style="color: #ff0000;">"/var/www/vhosts/$domain/httpdocs/index.html"</span> <span style="color: #66cc66;">&#93;</span>
     <span style="color: #b1b100;">then</span>
                                                <span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: deleting file: index.html"</span>
      sudo rm -R /var/www/vhosts/<span style="color: #0000ff;">$domain</span>/httpdocs/index.html
    <span style="color: #b1b100;">fi</span>
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#91;</span> -f <span style="color: #ff0000;">"/var/www/vhosts/$domain/httpdocs/favicon.ico"</span> <span style="color: #66cc66;">&#93;</span>
     <span style="color: #b1b100;">then</span>
                                                <span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: deleting file: favicon.ico"</span>
      sudo rm -R /var/www/vhosts/<span style="color: #0000ff;">$domain</span>/httpdocs/favicon.ico
    <span style="color: #b1b100;">fi</span>
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#91;</span> -d <span style="color: #ff0000;">"/var/www/vhosts/$domain/httpdocs/css/"</span> <span style="color: #66cc66;">&#93;</span>
     <span style="color: #b1b100;">then</span>
                                                <span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: deleting dir: /css/"</span>
      sudo rm -R /var/www/vhosts/<span style="color: #0000ff;">$domain</span>/httpdocs/css/
    <span style="color: #b1b100;">fi</span>
                         <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#91;</span> -d <span style="color: #ff0000;">"/var/www/vhosts/$domain/httpdocs/img/"</span> <span style="color: #66cc66;">&#93;</span>
     <span style="color: #b1b100;">then</span>
                                                <span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: deleting dir: /img/"</span>
      sudo rm -R /var/www/vhosts/<span style="color: #0000ff;">$domain</span>/httpdocs/img/
    <span style="color: #b1b100;">fi</span>
                                <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#91;</span> -d <span style="color: #ff0000;">"/var/www/vhosts/$domain/httpdocs/picture_library/"</span> <span style="color: #66cc66;">&#93;</span>
     <span style="color: #b1b100;">then</span>
                                                <span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: deleting dir: /picture-library/"</span>
      sudo rm -R /var/www/vhosts/<span style="color: #0000ff;">$domain</span>/httpdocs/picture_library/
    <span style="color: #b1b100;">fi</span>
                                <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#91;</span> -d <span style="color: #ff0000;">"/var/www/vhosts/$domain/httpdocs/plesk-stat/"</span> <span style="color: #66cc66;">&#93;</span>
     <span style="color: #b1b100;">then</span>
                                                <span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: deleting dir: /plesk-stat/"</span>
      sudo rm -R /var/www/vhosts/<span style="color: #0000ff;">$domain</span>/httpdocs/plesk-stat/
    <span style="color: #b1b100;">fi</span>
                                <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#91;</span> -d <span style="color: #ff0000;">"/var/www/vhosts/$domain/httpdocs/test/"</span> <span style="color: #66cc66;">&#93;</span>
     <span style="color: #b1b100;">then</span>
                                                <span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: deleting dir: /test/"</span>
      sudo rm -R /var/www/vhosts/<span style="color: #0000ff;">$domain</span>/httpdocs/<span style="color: #000066;">test</span>/
    <span style="color: #b1b100;">fi</span>
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#91;</span> -f <span style="color: #ff0000;">"/home/KyleC/cms/installCms.tar"</span> <span style="color: #66cc66;">&#93;</span>
     <span style="color: #b1b100;">then</span>
      <span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: unpacking cms files..."</span>
      sudo tar -xvf /home/KyleC/cms/installCms.tar
     <span style="color: #b1b100;">else</span>
      <span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: cms install archive not present. exiting."</span>
      <span style="color: #000066;">exit</span>
    <span style="color: #b1b100;">fi</span>
   <span style="color: #b1b100;">else</span>
    <span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: this directory does not exist. have the domain created first."</span>
    <span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: installation aborted. go rtfm already.  please continue manually."</span>
    <span style="color: #000066;">exit</span>
  <span style="color: #b1b100;">fi</span>
 <span style="color: #b1b100;">else</span>
  <span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: installation aborted. go rtfm already. please continue manually."</span>
  <span style="color: #000066;">exit</span>
<span style="color: #b1b100;">fi</span>
&nbsp;
&nbsp;
<span style="color: #808080; font-style: italic;">################################################</span>
<span style="color: #808080; font-style: italic;"># Step 5:  set ownerships and permissions for new install path #</span>
<span style="color: #808080; font-style: italic;">###############################################</span>
&nbsp;
<span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: ok done unpacking, now we need to set the correct permissions. Please provide directory user:"</span>
 <span style="color: #000066;">read</span> userPerms
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#91;</span> <span style="color: #0000ff;">$userPerms</span> != <span style="color: #ff0000;">""</span> <span style="color: #66cc66;">&#93;</span>
 <span style="color: #b1b100;">then</span>
  <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#91;</span> -d <span style="color: #ff0000;">"/var/www/vhosts/$domain/httpdocs/"</span> <span style="color: #66cc66;">&#93;</span>
   <span style="color: #b1b100;">then</span>
    <span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: setting permissions $userPerms.psacln for core files"</span>
     sudo chown -R <span style="color: #0000ff;">$userPerms</span>.psacln /var/www/vhosts/<span style="color: #0000ff;">$domain</span>/httpdocs/*
     sudo chown -R <span style="color: #0000ff;">$userPerms</span>.psacln /var/www/vhosts/<span style="color: #0000ff;">$domain</span>/httpdocs/.htaccess
     sudo chmod -R <span style="color: #cc66cc;">0777</span> /var/www/vhosts/<span style="color: #0000ff;">$domain</span>/httpdocs/sql/
        sudo chmod -R <span style="color: #cc66cc;">0777</span> /var/www/vhosts/<span style="color: #0000ff;">$domain</span>/httpdocs/uploaded/
     sudo chmod -R <span style="color: #cc66cc;">0777</span> /var/www/vhosts/<span style="color: #0000ff;">$domain</span>/httpdocs/lib/includes/db.php
&nbsp;
    <span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: done setting permissions."</span>
  <span style="color: #b1b100;">fi</span>
 <span style="color: #b1b100;">else</span>
  <span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: invalid input, please continue manually from permissions step."</span>
                <span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: installation aborted. go rtfm already.  please continue manually."</span>
<span style="color: #b1b100;">fi</span>
&nbsp;
&nbsp;
<span style="color: #808080; font-style: italic;">######################################################</span>
<span style="color: #808080; font-style: italic;"># Step 6: installing database and configuring constants for application #</span>
<span style="color: #808080; font-style: italic;">#####################################################</span>
<span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: please enter database name:"</span>
 <span style="color: #000066;">read</span> database
&nbsp;
<span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: please enter user name for database '$database':"</span>
 <span style="color: #000066;">read</span> username
&nbsp;
<span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: please enter password for databas user '$username':"</span>
 <span style="color: #000066;">read</span> dbpass
&nbsp;
<span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: ok, lets import the database structure now..."</span>
&nbsp;
 sudo mysql --verbose --<span style="color: #0000ff;">host=</span>mysql-host --<span style="color: #0000ff;">user=</span><span style="color: #0000ff;">$username</span> --<span style="color: #0000ff;">password=</span><span style="color: #0000ff;">$dbpass</span> <span style="color: #0000ff;">$database</span> &lt; /var/www/vhosts/<span style="color: #0000ff;">$domain</span>/httpdocs/sql/installCms.sql
&nbsp;
<span style="color: #000066;">echo</span> <span style="color: #ff0000;">"[setup]: database configured, creating config file for cms now..."</span>
&nbsp;
&nbsp;
sudo cat &gt; /var/www/vhosts/<span style="color: #0000ff;">$domain</span>/httpdocs/lib/includes/db.php &lt;&lt;End-of-message
&lt;?
        global \<span style="color: #0000ff;">$db</span>;
        \<span style="color: #0000ff;">$database_server</span> = <span style="color: #ff0000;">'mysql-host'</span>;
        \<span style="color: #0000ff;">$database_user</span> = <span style="color: #ff0000;">'$username'</span>;
        \<span style="color: #0000ff;">$database_password</span> = <span style="color: #ff0000;">'$dbpass'</span>;
        \<span style="color: #0000ff;">$database_name</span> = <span style="color: #ff0000;">'$database'</span>;
        global \<span style="color: #0000ff;">$tbl_prefix</span>;
        \<span style="color: #0000ff;">$tbl_prefix</span> = <span style="color: #ff0000;">'cxcmscore_'</span>;
?&gt;
End-of-message
&nbsp;
sudo chmod -R <span style="color: #cc66cc;">0644</span> /var/www/vhosts/<span style="color: #0000ff;">$domain</span>/httpdocs/lib/includes/db.php
<span style="color: #000066;">echo</span> <span style="color: #ff0000;">""</span>
<span style="color: #000066;">echo</span> <span style="color: #ff0000;">""</span>
<span style="color: #000066;">echo</span> <span style="color: #ff0000;">"###############################################################################"</span>
<span style="color: #000066;">echo</span> <span style="color: #ff0000;">"#"</span>
<span style="color: #000066;">echo</span> <span style="color: #ff0000;">"# [setup]: configurationa file generated at: /var/www/vhosts/$domain/httpdocs/lib/includes/db.php"</span>
<span style="color: #000066;">echo</span> <span style="color: #ff0000;">"# [setup]: The CMS is now installed. if you have questions about this script please email kyle@slajax.com"</span>
<span style="color: #000066;">echo</span> <span style="color: #ff0000;">"#"</span>
<span style="color: #000066;">echo</span> <span style="color: #ff0000;">"###############################################################################"</span>
&nbsp;
<span style="color: #000066;">exit</span>
&nbsp;</pre></code></div>

There you have it. Not only can I write pretty AJAX scripts, but I&#8217;m a damn good system administrator too!<img src="http://feeds.feedburner.com/~r/slajax/~4/LfaRzyY5Vqw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.slajax.com/2007/07/30/bash-installation-script/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.slajax.com/2007/07/30/bash-installation-script/</feedburner:origLink></item>
		<item>
		<title>Scene Map - alpha sneak preview</title>
		<link>http://feedproxy.google.com/~r/slajax/~3/36fIKBGq2ao/</link>
        <customfield>scenemap.gif</customfield>
		<comments>http://blog.slajax.com/2007/06/07/scenemap-alpha-release-preview/#comments</comments>
		<pubDate>Thu, 07 Jun 2007 18:07:12 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
		
		<category><![CDATA[applications]]></category>

		<category><![CDATA[music]]></category>

		<category><![CDATA[projects]]></category>

		<category><![CDATA[scenemap]]></category>

		<category><![CDATA[sLajax applications]]></category>

		<category><![CDATA[social networking]]></category>

		<guid isPermaLink="false">http://slajax.com/blog/2007/06/07/scenemap-alpha-release-preview/</guid>
		<description><![CDATA[scenemap.net [1] is a new slajax project that combines the power of live maps with the data of facebook, to allow you to easily find directions to your favorite concert. Although it is only in alpha stages, it is promising to be quite a wonderfully useful mash up for scene kids around the world. Here is a little preview:






The service is planned to launch with support for end users and "fans" who are just looking for quick directions to an event, however the goal is to scale this application to support many different features.
Some of these features include:


tour itinerary management for bands - bands will plot their tours and be able to interact in real time with each stop on the tour
street team management and groups - fans will be able to subscribe to their favorite touring events and interact with them. event coordinators will be able to effectively manage their street teams.
ticket purchasing - ticket sales for sponsored tours and demographic reports indicating high sale areas
media and content sharing - blogs, video, photos and tons of great stuff that can be uploaded in real time directly to the application from any medium (cellphone, blackberry) and associated to the event geographically
DIY tour suggestion solution - a solution that will suggest specific tour dates for a DIY artist based on the weight that the venue or promoter records hold for their given areas of promotion


The alpha release has been issued @ http://apps.facebook.com/scenemap/ with the core site and premium service offerings planned to launch next spring. 


[1] http://scenemap.net]]></description>
			<content:encoded><![CDATA[<a href="http://scenemap.net" target="_blank">scenemap.net</a> is a new slajax project that combines the power of live maps with the data of facebook, to allow you to easily find directions to your favorite concert. Although it is only in alpha stages, it is promising to be quite a wonderfully useful mash up for scene kids around the world. Here is a little preview:<br/>

<center>
<img src="http://www.scenemap.net/blog/wp-content/images/scenemap.jpg" rel="lightbox" alt="Scene Map 1.0 Alpha Sneak Preview" />
</center>

<br />
The service is planned to launch with support for end users and &#8220;fans&#8221; who are just looking for quick directions to an event, however the goal is to scale this application to support many different features.
Some of these features include:

<ul>
<li>tour itinerary management for bands - bands will plot their tours and be able to interact in real time with each stop on the tour</li>
<li>street team management and groups - fans will be able to subscribe to their favorite touring events and interact with them. event coordinators will be able to effectively manage their street teams.</li>
<li>ticket purchasing - ticket sales for sponsored tours and demographic reports indicating high sale areas</li>
<li>media and content sharing - blogs, video, photos and tons of great stuff that can be uploaded in real time directly to the application from any medium (cellphone, blackberry) and associated to the event geographically</li>
<li>DIY tour suggestion solution - a solution that will suggest specific tour dates for a DIY artist based on the weight that the venue or promoter records hold for their given areas of promotion</li>
</ul>

The alpha release has been issued @ http://apps.facebook.com/scenemap/ with the core site and premium service offerings planned to launch next spring. 
<img src="http://feeds.feedburner.com/~r/slajax/~4/36fIKBGq2ao" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.slajax.com/2007/06/07/scenemap-alpha-release-preview/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.slajax.com/2007/06/07/scenemap-alpha-release-preview/</feedburner:origLink></item>
	</channel>
</rss>
