<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Technology Kills &#187; Coding</title>
	<atom:link href="http://technologykills.com/category/computers/coding/feed/" rel="self" type="application/rss+xml" />
	<link>http://technologykills.com</link>
	<description>Deconstructing technology, one piece at a time...</description>
	<lastBuildDate>Fri, 13 Jan 2012 19:56:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Choosing an Open Source License</title>
		<link>http://technologykills.com/2010/12/14/choosing-an-open-source-license/</link>
		<comments>http://technologykills.com/2010/12/14/choosing-an-open-source-license/#comments</comments>
		<pubDate>Wed, 15 Dec 2010 05:27:07 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[commercial libraries]]></category>
		<category><![CDATA[Common Development and Distribution License]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[development model]]></category>
		<category><![CDATA[dual license]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[GNU General Public License]]></category>
		<category><![CDATA[GNU Lesser General Public License]]></category>
		<category><![CDATA[gpl v3]]></category>
		<category><![CDATA[LGPL]]></category>
		<category><![CDATA[lgpl license]]></category>
		<category><![CDATA[Libraries]]></category>
		<category><![CDATA[MIT]]></category>
		<category><![CDATA[MIT License]]></category>
		<category><![CDATA[Multi-licensing]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[open source code]]></category>
		<category><![CDATA[open source developers]]></category>
		<category><![CDATA[Open Source License]]></category>
		<category><![CDATA[open source licenses]]></category>
		<category><![CDATA[proprietary code]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Source Code]]></category>

		<guid isPermaLink="false">http://technologykills.com/?p=205</guid>
		<description><![CDATA[There really isn't a right answer. The GPL v3 is great for developers of GPL'd software, but requires that all derived software keep the same GPL license. That simply won't fit my development model. I don't want every product I create that uses the libraries to have to be GPL as well, nor do I [...]]]></description>
			<content:encoded><![CDATA[<p>There really isn't a right answer. The <a class="zem_slink" title="GNU General Public License" rel="wikipedia" href="http://en.wikipedia.org/wiki/GNU_General_Public_License">GPL v3</a> is great for developers of GPL'd <a class="zem_slink" title="Computer software" rel="wikipedia" href="http://en.wikipedia.org/wiki/Computer_software">software</a>, but requires that all derived <a href="http://technologykills.com/tag/software/" class="st_tag internal_tag" rel="tag" title="Posts tagged with software">software</a> keep the same GPL license. That simply won't fit my <a href="http://technologykills.com/tag/development-model/" class="st_tag internal_tag" rel="tag" title="Posts tagged with development model">development model</a>. I don't want every product I create that uses the <a class="zem_slink" title="Library" rel="wikipedia" href="http://en.wikipedia.org/wiki/Library">libraries</a> to have to be GPL as well, nor do I want that for other developers using the code.</p>
<p>So there is the <a class="zem_slink" title="GNU Lesser General Public License" rel="wikipedia" href="http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License">LGPL</a>, which might be a good choice for my libraries, but has similar restrictions to the GPL that I simply don't want to require people to adhere to.</p>
<p>I then found the <a class="zem_slink" title="Common Development and Distribution License" rel="wikipedia" href="http://en.wikipedia.org/wiki/Common_Development_and_Distribution_License">CDDL</a>, and I really liked the way it was written. It's unfortunate that it's <a class="zem_slink" title="License compatibility" rel="wikipedia" href="http://en.wikipedia.org/wiki/License_compatibility">incompatible</a> with the GPL or it would be my top choice for pretty much everything. But it's not compatible, and I don't want to keep my software out of the hands of developers of GPL'd software.</p>
<p>None-the-less, the CDDL is one of the few file-based <a class="zem_slink" title="Open Source" rel="wikinvest" href="http://www.wikinvest.com/concept/Open_Source">open source</a> <a class="zem_slink" title="License" rel="wikipedia" href="http://en.wikipedia.org/wiki/License">licenses</a>, and one of my requirements for some of my software is that I need to mix in some <a href="http://technologykills.com/tag/commercial-libraries/" class="st_tag internal_tag" rel="tag" title="Posts tagged with commercial libraries">commercial libraries</a> which are obviously not open source. The best answer might be a <a class="zem_slink" title="Multi-licensing" rel="wikipedia" href="http://en.wikipedia.org/wiki/Multi-licensing">dual-license model</a>, but as far as I can tell, I wouldn't be able to mix in proprietary code with a GPL license, so the GPL version of those products would need to be severely crippled, which might not make sense to do at all.</p>
<p>The only course I can see clearly working is releasing the following:</p>
<ul>
<li>For libraries containing only <a class="zem_slink" title="Open-source software" rel="wikipedia" href="http://en.wikipedia.org/wiki/Open-source_software">open source code</a>, dual-licensing the CDDL and LGPL (allowing GPL developers to choose the LGPL license, making it compatible)</li>
<li>For applications containing only <a href="http://technologykills.com/tag/open-source-code/" class="st_tag internal_tag" rel="tag" title="Posts tagged with open source code">open source code</a>, dual-licensing the CDDL and GPL, for the same reason as above</li>
<li>For libraries or applications containing open source and proprietary code, licensing only under the CDDL is the only option. Nothing compatible with the GPL can contain proprietary code in my understanding.</li>
</ul>
<p>For this reason, I will try to keep as much of my code as possible in the dual-licensed projects and available for all open source developers. However, many of my applications themselves will be mixed in with proprietary code, and this will be released only under the CDDL (with the proprietary code released under its own license, all fully documented).</p>
<p>Of course, all of my past work up until this point is still available and can continue to be used under the <a class="zem_slink" title="MIT License" rel="wikipedia" href="http://en.wikipedia.org/wiki/MIT_License">MIT license</a> it came with. Most of my future code, however, will not be released under an <a href="http://technologykills.com/tag/mit-license/" class="st_tag internal_tag" rel="tag" title="Posts tagged with MIT License">MIT license</a>. None-the-less, if you opt for the CDDL license on my future projects, it has the handy addition of allowing you to mix it in with any proprietary, <a class="zem_slink" title="Proprietary software" rel="wikipedia" href="http://en.wikipedia.org/wiki/Proprietary_software">closed source</a> code that you want, as long as you keep the original code and any modified files based off of the original code under the CDDL.</p>
<p>Due to all the confusion and incompatibilities surrounding the <a href="http://technologykills.com/tag/current/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Current">current</a> crop of <a class="zem_slink" title="Open-source license" rel="wikipedia" href="http://en.wikipedia.org/wiki/Open-source_license">open source licenses</a>, I was very tempted to simply write my own. But that would just add to the confusion, so the best choice right now seems to be to play along while being as open as possible.</p>
<p>I will be sure to fully document on each project homepage the licensing model of the project and what it means for others wishing to redistribute the <a class="zem_slink" title="Source code" rel="wikipedia" href="http://en.wikipedia.org/wiki/Source_code">source code</a>.</p>
<h6 class="zemanta-related-title" style="font-size: 1em;">Related articles</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://intridea.com/posts/is-copyleft-really-right-for-open-source">Is Copyleft Really Right for Open Source?</a> (intridea.com)</li>
<li class="zemanta-article-ul-li"><a href="http://spf13.com/post/my-take-on-open-source-licenses">My take on open source licenses</a> (spf13.com)</li>
<li class="zemanta-article-ul-li"><a href="http://avdi.org/devblog/2010/12/08/why-the-gpl-matters/">Why the GPL Matters</a> (avdi.org)</li>
<li class="zemanta-article-ul-li"><a href="http://www.gnu.org/philosophy/open-source-misses-the-point.html">Why Open Source misses the point of Free Software</a> (gnu.org)</li>
</ul>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=7361c628-79e3-4be6-8d17-c1631fc9e024" alt="Enhanced by Zemanta" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
]]></content:encoded>
			<wfw:commentRss>http://technologykills.com/2010/12/14/choosing-an-open-source-license/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePHP Project: WebManager</title>
		<link>http://technologykills.com/2010/06/11/cakephp-project-webmanager/</link>
		<comments>http://technologykills.com/2010/06/11/cakephp-project-webmanager/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 17:27:34 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Cake]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[domain]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[MochaUI]]></category>
		<category><![CDATA[mootools]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[SaaS]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[site]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[webmanager]]></category>
		<category><![CDATA[websites]]></category>

		<guid isPermaLink="false">http://technologykills.com/?p=148</guid>
		<description><![CDATA[I have started work on a solution to a problem I have been searching for for quite a while. Finding nothing that satisfied me, a while back I started development on a new CakePHP project titled WebManager (DE WebManager to be precise).
The functionality will include the ability to manage the entirety of a business or [...]]]></description>
			<content:encoded><![CDATA[<p>I have started work on a solution to a problem I have been searching for for quite a while. Finding nothing that satisfied me, a while back I started <a href="http://technologykills.com/tag/development/" class="st_tag internal_tag" rel="tag" title="Posts tagged with development">development</a> on a new <a href="http://technologykills.com/tag/cakephp/" class="st_tag internal_tag" rel="tag" title="Posts tagged with CakePHP">CakePHP</a> project titled WebManager (DE WebManager to be precise).</p>
<p>The functionality will include the ability to manage the entirety of a business or individual's web presense, from <a href="http://technologykills.com/tag/domain/" class="st_tag internal_tag" rel="tag" title="Posts tagged with domain">domain</a> names and websites to providers, datacenters, <a href="http://technologykills.com/tag/servers/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Servers">servers</a>, and more. Manage them all in one place and interact with them in intelligent ways--get renewal reminders, login links to all services, relevant contact information displayed on related pages, and much more.</p>
<p>This project came about because I was tired of having to manage my various web assets in all different disconnected places--my registrar for domain names, my various hosting providers and control panels, all of my websites, pages, and projects around the web, and more. It was all just getting to be too much, and while there are a <a href="http://technologykills.com/tag/lot/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Lot">lot</a> of organizational tools, none of them seemed to be designed for this specific type of management. In this, I saw a way to make something that works better for me.</p>
<p>The project is built with CakePHP 1.3, the <a href="http://technologykills.com/tag/mootools/" class="st_tag internal_tag" rel="tag" title="Posts tagged with mootools">MooTools</a> Javascript framework, and the <a href="http://technologykills.com/tag/mochaui/" class="st_tag internal_tag" rel="tag" title="Posts tagged with MochaUI">MochaUI</a> interface to give users a full desktop-like experience on the web.</p>
<p>I am not sure yet what different versions I will offer, and whether this will be a locally-hosted product or <a href="http://technologykills.com/tag/saas/" class="st_tag internal_tag" rel="tag" title="Posts tagged with SaaS">SaaS</a> (Software as a Service) hosted and provided by the Digital Empire. Only time will tell, and I should hopefully have some screenshots and more information posted soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://technologykills.com/2010/06/11/cakephp-project-webmanager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FOMS 2 Development Help</title>
		<link>http://technologykills.com/2009/09/08/foms-2-development-help/</link>
		<comments>http://technologykills.com/2009/09/08/foms-2-development-help/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 17:21:49 +0000</pubDate>
		<dc:creator>madzoombax</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Adobe Illustrator Format]]></category>
		<category><![CDATA[Backend]]></category>
		<category><![CDATA[Expression]]></category>
		<category><![CDATA[Fallout]]></category>
		<category><![CDATA[Icon]]></category>
		<category><![CDATA[Icons]]></category>
		<category><![CDATA[Job]]></category>
		<category><![CDATA[Maintainer]]></category>
		<category><![CDATA[Marketing Advertising]]></category>
		<category><![CDATA[New Release]]></category>
		<category><![CDATA[New Template]]></category>
		<category><![CDATA[Official Debut]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[Vector Graphics]]></category>

		<guid isPermaLink="false">http://technologykills.com/?p=63</guid>
		<description><![CDATA[I am almost finished with FOMS 2 Alpha 2 (Keep an eye on falloutmodsorter.com for details), but it's been requiring more time than I have available to give it.
If anyone is interested in assisting with FOMS, here are the things I most need assistance with:

Vector graphics - preferably in .xaml format (eg. MS Expression Design), but  .ai [...]]]></description>
			<content:encoded><![CDATA[<p>I am almost finished with FOMS 2 Alpha 2 (Keep an eye on <a href="http://falloutmodsorter.com">falloutmodsorter.com</a> for details), but it's been requiring more time than I have available to give it.</p>
<p>If anyone is interested in assisting with FOMS, here are the things I most need assistance with:</p>
<ul>
<li><a href="http://technologykills.com/tag/vector-graphics/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Vector Graphics">Vector graphics</a> - preferably in .xaml format (eg. MS Expression Design), but  .ai (<a href="http://technologykills.com/tag/adobe-illustrator-format/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Adobe Illustrator Format">Adobe Illustrator format</a>) is fine too.</li>
<li><a href="http://technologykills.com/tag/icons/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Icons">Icons</a> - FOMS has one <a href="http://technologykills.com/tag/icon/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Icon">icon</a> -- it needs more themed <a href="http://technologykills.com/tag/icons/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Icons">icons</a> for its various components</li>
<li>Website work - falloutmodsorter.com needs a <a href="http://technologykills.com/tag/lot/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Lot">lot</a> of work on its theme (css and graphics), and a webmaster or maintainer who can help me keep content fresh, manage the "community" (non-existent so far), etc.</li>
<li>Marketing/advertising - FOMS 2 is open-<a href="http://technologykills.com/tag/source/" class="st_tag internal_tag" rel="tag" title="Posts tagged with source">source</a> and will always be free, but we still need to let people know it's out there--without a large user base, FOMS can never grow to the one-stop Fallout 3 mod sorting application it could be.</li>
<li>C# and/or XAML (WPF) coding--I'm currently doing everything in this field, but it is taking up all of my time and not allowing me to focus on any of the other aspects of the app (see above)</li>
</ul>
<p>On another note, plurliquid is doing a <strong>great</strong> <a href="http://technologykills.com/tag/job/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Job">job</a> on the <a href="http://technologykills.com/tag/new-template/" class="st_tag internal_tag" rel="tag" title="Posts tagged with New Template">new template</a> so far, and it will make its official debut in FOMS 2 Alpha 2. This has given me a lot more time to work on the <a href="http://technologykills.com/tag/backend/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Backend">backend</a> and get FOMS ready for the next release.</p>
<p>You will be seeing the new release very soon (as usual, several weeks late)!</p>
]]></content:encoded>
			<wfw:commentRss>http://technologykills.com/2009/09/08/foms-2-development-help/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DOM and SAX and File Streams&#8230;</title>
		<link>http://technologykills.com/2009/06/08/dom-and-sax-and-file-streams/</link>
		<comments>http://technologykills.com/2009/06/08/dom-and-sax-and-file-streams/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 16:34:20 +0000</pubDate>
		<dc:creator>madzoombax</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[Core Classes]]></category>
		<category><![CDATA[Core Dom]]></category>
		<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Dom Level 3]]></category>
		<category><![CDATA[File Stream]]></category>
		<category><![CDATA[Functionality]]></category>
		<category><![CDATA[Implementation]]></category>
		<category><![CDATA[Late At Night]]></category>
		<category><![CDATA[Libraries]]></category>
		<category><![CDATA[Nbsp]]></category>
		<category><![CDATA[Sax Parser]]></category>
		<category><![CDATA[Sax Xml]]></category>
		<category><![CDATA[Sit]]></category>
		<category><![CDATA[Status Updates]]></category>
		<category><![CDATA[Streams]]></category>
		<category><![CDATA[Xml Development]]></category>
		<category><![CDATA[Xml Parser]]></category>

		<guid isPermaLink="false">http://technologykills.com/2009/06/08/dom-and-sax-and-file-streams/</guid>
		<description><![CDATA[Sometimes I sit up late at night starting at my screen and wondering, is it worth coding all of these advanced libraries for something as high-level as AHK? Will people understand such “cryptic” functionality who are used to simple Batch-like commands?
Regardless, I’m doing it… here are some status updates:

DOM Level 3 Interfaces: complete
DOM Level 3 [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes I <a href="http://technologykills.com/tag/sit/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Sit">sit</a> up <a href="http://technologykills.com/tag/late-at-night/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Late At Night">late at night</a> starting at my screen and wondering, is it worth coding all of these advanced <a href="http://technologykills.com/tag/libraries/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Libraries">libraries</a> for something as high-level as <a href="http://technologykills.com/tag/ahk/" class="st_tag internal_tag" rel="tag" title="Posts tagged with AHK">AHK</a>? Will people understand such “cryptic” functionality who are used to simple Batch-like commands?</p>
<p>Regardless, I’m doing it… here are some <a href="http://technologykills.com/tag/status-updates/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Status Updates">status updates</a>:</p>
<ul>
<li><a href="http://technologykills.com/tag/dom-level-3/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Dom Level 3">DOM Level 3</a> Interfaces: complete</li>
<li>DOM Level 3 Core Module: complete (in testing)</li>
<li>DOM Level 3 Load and Save Module: in <a href="http://technologykills.com/tag/development/" class="st_tag internal_tag" rel="tag" title="Posts tagged with development">development</a> (waiting on SAX parser)</li>
<li>SAX 2 Interfaces and Core Classes: complete (in testing)</li>
<li>SAX2 XMLReader <a href="http://technologykills.com/tag/implementation/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Implementation">Implementation</a>: in development</li>
<li>File class (with Windows function wrappers): in development</li>
<li><a href="http://technologykills.com/tag/file-stream/" class="st_tag internal_tag" rel="tag" title="Posts tagged with File Stream">File Stream</a> Support: in development</li>
</ul>
<p>As you can see, there’s a lot to be done—but just having the <a href="http://technologykills.com/tag/core-dom/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Core Dom">core DOM</a> complete (per se) is enough of a driving factor to keep me going with everything else…</p>
<p>The XML parser (XMLReader implementation) is turning out to be a bit complex, however.</p>
<p>I’ll post links to <a href="http://technologykills.com/tag/documentation/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Documentation">documentation</a> and discussion as they become available.</p>
]]></content:encoded>
			<wfw:commentRss>http://technologykills.com/2009/06/08/dom-and-sax-and-file-streams/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Portland, the city of weirdness</title>
		<link>http://technologykills.com/2009/04/24/portland-the-city-of-weirdness/</link>
		<comments>http://technologykills.com/2009/04/24/portland-the-city-of-weirdness/#comments</comments>
		<pubDate>Fri, 24 Apr 2009 18:59:11 +0000</pubDate>
		<dc:creator>madzoombax</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[AHK]]></category>
		<category><![CDATA[autohotkey]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[Dom Implementation]]></category>
		<category><![CDATA[Fallout]]></category>
		<category><![CDATA[fallout 3]]></category>
		<category><![CDATA[Foms]]></category>
		<category><![CDATA[Girlfriend]]></category>
		<category><![CDATA[Having A Great Time]]></category>
		<category><![CDATA[Lot]]></category>
		<category><![CDATA[Neighborhood]]></category>
		<category><![CDATA[New House]]></category>
		<category><![CDATA[Portland]]></category>
		<category><![CDATA[Prerequisite]]></category>
		<category><![CDATA[Sorter]]></category>
		<category><![CDATA[Steam]]></category>
		<category><![CDATA[SteamLab]]></category>
		<category><![CDATA[SteamWin]]></category>
		<category><![CDATA[Weirdness]]></category>

		<guid isPermaLink="false">http://technologykills.com/?p=55</guid>
		<description><![CDATA[Well, my girlfriend and I finished our move to Portland, OR. So far we're having a great time in the new house and exploring around the neighborhood.
Now that I'm back at work again, and actually working from the office, I'm anxious for the weekend to get here. I have a lot of work to finish [...]]]></description>
			<content:encoded><![CDATA[<p>Well, my girlfriend and I finished our move to <a href="http://technologykills.com/tag/portland/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Portland">Portland</a>, OR. So far we're having a great time in the new house and exploring around the <a href="http://technologykills.com/tag/neighborhood/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Neighborhood">neighborhood</a>.</p>
<p>Now that I'm back at work again, and actually working from the office, I'm anxious for the weekend to get here. I have a lot of work to finish up.</p>
<p>FOMS (The Fallout 3 Mod <a href="http://technologykills.com/tag/sorter/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Sorter">Sorter</a>) is being rewritten, as I've said, and as a prerequisite I'm working on completing my <a href="http://technologykills.com/tag/dom/" class="st_tag internal_tag" rel="tag" title="Posts tagged with DOM">DOM</a> <a href="http://technologykills.com/tag/implementation/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Implementation">implementation</a> in AutoHotKey. Expect that next week, and hopefully a new FOMS version shortly thereafter.</p>
<p>After that, and several other currently in-<a href="http://technologykills.com/tag/development/" class="st_tag internal_tag" rel="tag" title="Posts tagged with development">development</a> <a href="http://technologykills.com/tag/ahk/" class="st_tag internal_tag" rel="tag" title="Posts tagged with AHK">AHK</a> classes, hopefully my heavily-neglected SteamWin and SteamLab rewrites will be underway.</p>
<p>Look for more news about that soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://technologykills.com/2009/04/24/portland-the-city-of-weirdness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Object-Oriented Scripting (OOP or OOS)</title>
		<link>http://technologykills.com/2009/03/02/object-oriented-scripting-oop-or-oos/</link>
		<comments>http://technologykills.com/2009/03/02/object-oriented-scripting-oop-or-oos/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 09:40:37 +0000</pubDate>
		<dc:creator>madzoombax</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[Writing]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[Empty Space]]></category>
		<category><![CDATA[Factories]]></category>
		<category><![CDATA[Falling From The Sky]]></category>
		<category><![CDATA[Fender]]></category>
		<category><![CDATA[Look At It This Way]]></category>
		<category><![CDATA[Newcomer]]></category>
		<category><![CDATA[Object Oriented Programming]]></category>
		<category><![CDATA[Oop]]></category>
		<category><![CDATA[Oos]]></category>
		<category><![CDATA[Power Button]]></category>
		<category><![CDATA[Programmer]]></category>
		<category><![CDATA[Programming Languages]]></category>
		<category><![CDATA[Quite Some Time]]></category>
		<category><![CDATA[Rain Drop]]></category>
		<category><![CDATA[Ray Of Light]]></category>
		<category><![CDATA[Scripters]]></category>
		<category><![CDATA[Scripting Languages]]></category>
		<category><![CDATA[Short Answer]]></category>
		<category><![CDATA[Single Thing]]></category>
		<category><![CDATA[Snowflake]]></category>
		<category><![CDATA[Space Debris]]></category>

		<guid isPermaLink="false">http://technologykills.com/?p=48</guid>
		<description><![CDATA[Programming languages have been using Objects for quite some time. Popular languages like Java are heavily based on the concept. Lately, scripting languages have also been swooping in and picking up aspects of Object-Oriented Programming, integrating them into their own language.
The problem is that many scripters don't have a good grasp of what OOP (Object-Oriented Programming) [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://technologykills.com/tag/programming-languages/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Programming Languages">Programming languages</a> have been using Objects for quite some time. Popular languages like Java are heavily based on the concept. Lately, <a href="http://technologykills.com/tag/scripting-languages/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Scripting Languages">scripting languages</a> have also been swooping in and picking up aspects of Object-Oriented Programming, integrating them into their own language.</p>
<p>The problem is that many <a href="http://technologykills.com/tag/scripters/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Scripters">scripters</a> don't have a good grasp of what OOP (Object-Oriented Programming) really involves, and admittedly it can seem like a daunting concept to the <a href="http://technologykills.com/tag/newcomer/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Newcomer">newcomer</a>. This short explanation and tutorial will explain exactly what OOP means, and how to use it in everyday scripting tasks.</p>
<p>--</p>
<p><strong>What is an object in real terms?</strong></p>
<p><strong></strong>The short answer: anything and everything</p>
<p>I like objects. The world is built with objects. In fact, you could think of <strong>every single thing</strong> in the world, including the world itself, as an object. In fact, this is the basis of OOP. It is modeled around the concept of objects and their interactions with each other.</p>
<p><a href="http://technologykills.com/tag/look-at-it-this-way/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Look At It This Way">Look at it this way</a>: The screen you're reading this on is an object; so it its Power button. So is the chair you're sitting in. You're an object, and so is your nose, and your left thumbnail. The <a href="http://technologykills.com/tag/ray-of-light/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Ray Of Light">ray of light</a> that is (or was) shining in your window is (or was) an object. That car driving by by was a passing object. So were its wheels, and its left <a href="http://technologykills.com/tag/fender/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Fender">fender</a>, and its passengers. Each rain-drop, snowflake, or ice-ball falling from the sky is an object.</p>
<p>Factories manufacture objects. But the factory itself is an object, too. So is each piece of machinery used to create the objects, and each of the workers that run the machinery. The ground the factory is built on is an object, and the whole planet itself is an object, along with each of the other planets, stars, and <a href="http://technologykills.com/tag/space-debris/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Space Debris">space debris</a> out there. Hell, you can even think of <a href="http://technologykills.com/tag/empty-space/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Empty Space">empty space</a> as an object.</p>
<p> </p>
<p><strong>But if they're all objects, what makes them different?</strong></p>
<p><strong></strong>The short answer: attributes</p>
<p><strong></strong>Simply put, each object has certain properties, or attributes, which describe it. For this document, attributes and properties can be considered the same thing.</p>
<p>Think about a person's attributes. They might have brown hair--that's an attribute (a property that describes them). Their hair may be long--that's another attribute. They may be generally nice (a property that describes their behavior). They may prefer a certain brand of clothing, or enjoy a certain type of food. They might have high aspirations for the future, or think that we're doomed because of today's financial crisis. Those are <em>all</em> properties which describe a person.</p>
<p>Every object has properties. A car has a color, a shape, a number of cylinders, certain features are either available or unavailable in certain models... the list goes on. The planets are round. The sun is bright. The sky is blue. The winter wind is cold. The rain is wet, and transparent. Every object can by described by listing all of its properties.</p>
<p>Obviously, for real world objects this list of properties can be ridiculously extensive. In programming terms, it is usually manageable. But this is how objects in OOP are described.</p>
<p>If you have an Invoice object, it might have the following properties:</p>
<ul>
<li>seller</li>
<li>buyer</li>
<li>items</li>
<li>subtotal</li>
<li>tax</li>
<li>shipping</li>
</ul>
<p>Notice that most of the things you would normally see on an invoice are there. That's because they're part of the invoice--they describe it. That invoice wouldn't be that invoice if it didn't have that exact seller, or that exact buyer, or subtotal. That's what makes it a unique invoice.</p>
<p>But not everything on the invoice is necessarily a property. Notice there is no <strong>total</strong> property defined. That's because the total changes depending on other things--<strong>subtotal, tax, </strong>and<strong> shipping</strong>. Since you already know those three things, you can instead instruct the invoice to add the three fields together and calculate the total. We'll cover that next.</p>
<p> </p>
<p><strong>So you have all these colorful objects, how do they actually do what they do?</strong></p>
<p><strong></strong>The short answer: methods</p>
<p>Your neighbor's drive to work every day is a method, or function. Their car merging into another lane in traffic is a method. Every action performed anywhere can be thought of as a method. In fact, often the term <strong>action</strong> is used instead of method, which makes the concept even easier to understand.</p>
<p>Every object has (or doesn't have) one or more methods (actions) it can perform which allow it to do what it does.</p>
<p>When you walk to the store, it could be described in programming terms by a call to a mythical walkTo("Corner grocery store") function. The sun might be performing a shineOn("Earth") function right now, just as the earth may be performing it's rotateOn("Axis") and rotateAround("Sun") functions at this very moment. NASA has been performing a goTo("Mars") method for an extraordinarily long time.</p>
<p>You see, a method, or function, could describe every action performed--anywhere--by anyone--ever.</p>
<p>This is how objects in OOP perform actions. Let's take our Invoice object example from above. It needs some actions, too:</p>
<p> </p>
<ul>
<li>calculateTotal() - this will figure out the total to print on the invoice</li>
<li>send() - This will send the invoice</li>
</ul>
<p> </p>
<p><strong>So what the hell's a Class?</strong></p>
<p><strong></strong>Think of it as a template for a single object. A wrapper that describes a generic object. It defines what properties an object has, and what methods an object can perform.</p>
<p>The class is how your program or script and make use of the object. For our Invoice object, we would have an Invoice class that defines what an invoice is.</p>
<p>When your program creates an invoice, it might look something like this, in pseudo-<a href="http://technologykills.com/tag/code/" class="st_tag internal_tag" rel="tag" title="Posts tagged with code">code</a>:</p>
<p style="padding-left: 30px; ">myInvoice = new Invoice</p>
<p>We now have created an <strong>instance</strong> of the Invoice class, meaning we have created a new object that represents a single Invoice. </p>
<p>Now, let's set the invoice properties:</p>
<p style="padding-left: 30px; ">myInvoice-&gt;seller = bob smith<br />
myInvoice-&gt;buyer = gordon freeman <br />
myInvoice-&gt;subtotal = 10.00<br />
myInvoice-&gt;tax = 0.00<br />
myInvoice-&gt;shipping = 5.00</p>
<p>The invoice is no longer a generic invoice. This is now a unique object that has the properties youv'e given it.</p>
<p>So now you have an object sitting there. How do you use it? You access its methods. Again, in pseudo-code, you might do something like this:
</p>
<p style="padding-left: 30px; ">myInvoice-&gt;calculate() <em>- determine and save the total<br />
<span style="font-style: normal;">myInvoice-&gt;validate() </span>- make sure the invoice is proper<br />
<span style="font-style: normal;">myInvoice-&gt;send() </span>- send the invoice to the recipient. </em></p>
<p>Normally there would be more, and more useful, actions than this, but hopefully you get the gist.</p>
<p><strong>Is that it?</strong></p>
<p>That can be it. With that concept of objects, you can start with a tutorial in your OOP language or package of choice. There are many, many more advanced topics to get into, but that is for you to discover as a new Object-Oriented programmer.</p>
<p><strong>So go program with objects, you object!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://technologykills.com/2009/03/02/object-oriented-scripting-oop-or-oos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FOMS &#8211; Fallout 3 Mod Sorter</title>
		<link>http://technologykills.com/2009/02/10/foms-fallout-3-mod-sorter/</link>
		<comments>http://technologykills.com/2009/02/10/foms-fallout-3-mod-sorter/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 22:59:10 +0000</pubDate>
		<dc:creator>madzoombax</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[AHK]]></category>
		<category><![CDATA[autohotkey]]></category>
		<category><![CDATA[Backup Manager]]></category>
		<category><![CDATA[Beta Release]]></category>
		<category><![CDATA[Bug Tracking]]></category>
		<category><![CDATA[Conflict]]></category>
		<category><![CDATA[Current]]></category>
		<category><![CDATA[fallout 3]]></category>
		<category><![CDATA[Source Code]]></category>
		<category><![CDATA[Tray Features]]></category>
		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://technologykills.com/?p=42</guid>
		<description><![CDATA[I have recently released an AutoHotKey utility for Fallout 3 called FOMS (Fallout 3 Mod Sorter).
Links:
FOMS on Fallout3Nexus
FOMS Wiki
FOMS Trac site (Development and bug tracking)
FOMS Source Code (SVN)
Current major beta release is 0.5.0, which support mod sorting, conflict and dependency tracking and resolution, user messages, backups, and more.
Coming soon: GUI and tray features, a Backup [...]]]></description>
			<content:encoded><![CDATA[<p>I have recently released an AutoHotKey utility for <a href="http://technologykills.com/tag/fallout-3/" class="st_tag internal_tag" rel="tag" title="Posts tagged with fallout 3">Fallout 3</a> called <a href="http://technologykills.com/tag/foms/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Foms">FOMS</a> (<a href="http://technologykills.com/tag/fallout-3/" class="st_tag internal_tag" rel="tag" title="Posts tagged with fallout 3">Fallout 3</a> Mod <a href="http://technologykills.com/tag/sorter/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Sorter">Sorter</a>).</p>
<p>Links:<br />
<a href="http://www.fallout3nexus.com/downloads/file.php?id=3596">FOMS on Fallout3Nexus</a><br />
<a href="http://wiki.singularityshift.com/wiki/foms">FOMS Wiki</a><br />
<a href="http://trac.singularityshift.com/projects/foms">FOMS Trac site (Development and bug tracking)</a><br />
<a href="http://svn.singularityshift.com/svn/foms">FOMS Source Code (SVN)</a></p>
<p>Current major <a href="http://technologykills.com/tag/beta-release/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Beta Release">beta release</a> is 0.5.0, which support mod sorting, conflict and dependency tracking and resolution, user messages, backups, and more.</p>
<p>Coming soon: GUI and <a href="http://technologykills.com/tag/tray-features/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Tray Features">tray features</a>, a <a href="http://technologykills.com/tag/backup-manager/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Backup Manager">Backup manager</a> and Template manager, and more!</p>
]]></content:encoded>
			<wfw:commentRss>http://technologykills.com/2009/02/10/foms-fallout-3-mod-sorter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>All I want for Christmas is the Torque Game Engine Advanced</title>
		<link>http://technologykills.com/2008/12/19/all-i-want-for-christmas-is-the-torque-game-engine-advanced/</link>
		<comments>http://technologykills.com/2008/12/19/all-i-want-for-christmas-is-the-torque-game-engine-advanced/#comments</comments>
		<pubDate>Fri, 19 Dec 2008 20:02:20 +0000</pubDate>
		<dc:creator>madzoombax</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[all i want for christmas]]></category>
		<category><![CDATA[christmas game]]></category>
		<category><![CDATA[development tools]]></category>
		<category><![CDATA[fruition]]></category>
		<category><![CDATA[game development]]></category>
		<category><![CDATA[game ideas]]></category>
		<category><![CDATA[holidays]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[source development]]></category>
		<category><![CDATA[tgea]]></category>
		<category><![CDATA[torque]]></category>
		<category><![CDATA[torque game engine]]></category>

		<guid isPermaLink="false">http://technologykills.com/?p=36</guid>
		<description><![CDATA[I have been just itching to put some of my more recent game ideas into fruition. While I love the Source engine and the Source development tools, and still plan to use it to release the Consumed Episodes (and probably Consumed itself), I am very interested in giving the TGEA a try.
Unfortunately I don't have [...]]]></description>
			<content:encoded><![CDATA[<p>I have been just itching to put some of my more recent <a href="http://technologykills.com/tag/game-ideas/" class="st_tag internal_tag" rel="tag" title="Posts tagged with game ideas">game ideas</a> into <a href="http://technologykills.com/tag/fruition/" class="st_tag internal_tag" rel="tag" title="Posts tagged with fruition">fruition</a>. While I love the <a href="http://technologykills.com/tag/source/" class="st_tag internal_tag" rel="tag" title="Posts tagged with source">Source</a> engine and the <a href="http://technologykills.com/tag/source/" class="st_tag internal_tag" rel="tag" title="Posts tagged with source">Source</a> <a href="http://technologykills.com/tag/development/" class="st_tag internal_tag" rel="tag" title="Posts tagged with development">development</a> tools, and still plan to use it to release the Consumed Episodes (and probably Consumed itself), I am very interested in giving the <a href="http://technologykills.com/tag/tgea/" class="st_tag internal_tag" rel="tag" title="Posts tagged with tgea">TGEA</a> a try.</p>
<p>Unfortunately I don't have $295 available to purchase an Indie license, which is what I'd need.  Maybe after the <a href="http://technologykills.com/tag/holidays/" class="st_tag internal_tag" rel="tag" title="Posts tagged with holidays">holidays</a>, I'll be able to start saving up for a license. I just hope it doesn't take too long, dammit!</p>
]]></content:encoded>
			<wfw:commentRss>http://technologykills.com/2008/12/19/all-i-want-for-christmas-is-the-torque-game-engine-advanced/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePHP 1.2 RC3 upgrades coming</title>
		<link>http://technologykills.com/2008/10/23/cakephp-13-upgrades-coming/</link>
		<comments>http://technologykills.com/2008/10/23/cakephp-13-upgrades-coming/#comments</comments>
		<pubDate>Thu, 23 Oct 2008 16:28:01 +0000</pubDate>
		<dc:creator>madzoombax</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[Cake]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[caveats]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[fingers]]></category>
		<category><![CDATA[inconsistencies]]></category>
		<category><![CDATA[speed improvements]]></category>
		<category><![CDATA[upgrade]]></category>

		<guid isPermaLink="false">http://technologykills.com/?p=20</guid>
		<description><![CDATA[Luckily all of my Cake projects are still under development, because I'm going to be upgrading them all to CakePHP 1.2 RC3 over the weekend.
I'll report any caveats I find during the upgrade process here for others if interested; I don't anticipate many problems, however, as I am not using deprecated functions and I believe [...]]]></description>
			<content:encoded><![CDATA[<p>Luckily all of my <a href="http://technologykills.com/tag/cake/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Cake">Cake</a> projects are still under <a href="http://technologykills.com/tag/development/" class="st_tag internal_tag" rel="tag" title="Posts tagged with development">development</a>, because I'm going to be upgrading them all to <a href="http://technologykills.com/tag/cakephp/" class="st_tag internal_tag" rel="tag" title="Posts tagged with CakePHP">CakePHP</a> 1.2 RC3 over the weekend.</p>
<p>I'll report any <a href="http://technologykills.com/tag/caveats/" class="st_tag internal_tag" rel="tag" title="Posts tagged with caveats">caveats</a> I find during the <a href="http://technologykills.com/tag/upgrade/" class="st_tag internal_tag" rel="tag" title="Posts tagged with upgrade">upgrade</a> process here for others if interested; I don't anticipate many problems, however, as I am not using deprecated functions and I believe my <a href="http://technologykills.com/tag/code/" class="st_tag internal_tag" rel="tag" title="Posts tagged with code">code</a> is clean enough to track down any <a href="http://technologykills.com/tag/inconsistencies/" class="st_tag internal_tag" rel="tag" title="Posts tagged with inconsistencies">inconsistencies</a> quickly.</p>
<p>Here's crossing my <a href="http://technologykills.com/tag/fingers/" class="st_tag internal_tag" rel="tag" title="Posts tagged with fingers">fingers</a>, and hoping that the upgrade to RC3 brings the promised <a href="http://technologykills.com/tag/speed-improvements/" class="st_tag internal_tag" rel="tag" title="Posts tagged with speed improvements">speed improvements</a> to my projects!</p>
]]></content:encoded>
			<wfw:commentRss>http://technologykills.com/2008/10/23/cakephp-13-upgrades-coming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching using disk: basic
Object Caching 3540/3930 objects using disk: basic

Served from: technologykills.com @ 2012-02-05 16:46:47 -->
