<?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"?><rss version="2.0"><channel><title>Artisan System Framework Blog</title>
<link>http://artisansystem.com</link>
<description>Artisan System is a new Object Oriented PHP5 Framework built for quick E-Commerce development and Event Management.</description>
<language>en-us</language>
<generator>Artisan System Framework</generator>
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/ArtisanSystemFrameworkBlog" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>New Posts Comin'</title>
<description>&lt;p&gt;
I suppose there comes a time in every blogger where they promise more content. This is one of those posts. I've been very busy recently, and promise to write more this weekend. My Moleskine notebook is full of ideas.
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Tue, 31 Mar 2009 20:04:37 -0700</pubDate>
<link>http://artisansystem.com/blog/entry/44</link>
</item>
<item><title>Artisan System PHP5 Framework - 0.3beta</title>
<description>&lt;p&gt;
	I am &lt;strong&gt;very&lt;/strong&gt; pleased to announce the release of Artisan System PHP5 Framework
	0.3beta. The 0.3beta brings many new features and bug fixes. While 0.3beta is not the
	finalized 0.3 release, it can be considered stable and ready for production use.
&lt;/p&gt;
&lt;p&gt;
	Artisan System 0.2 was released on January 6th, 2009, so this release was a while in the making.
&lt;/p&gt;
&lt;p&gt;
	In addition to the base release, the Subversion repository is reopened. The base URL 
	for the repository is:
&lt;/p&gt;
&lt;p align="center"&gt;&lt;strong&gt;http://svn.leftnode.com/svn/artisan_system/&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
	The repository for the 0.3beta release is found at the URL:
&lt;/p&gt;
&lt;p align="center"&gt;&lt;strong&gt;http://svn.leftnode.com/svn/artisan_system/tags/v0.3beta/&lt;/strong&gt;&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Sun, 22 Mar 2009 05:07:54 -0700</pubDate>
<link>http://artisansystem.com/blog/entry/43</link>
</item>
<item><title>Artisan System Download Numbers</title>
<description>&lt;p&gt;
	It has been 4 months since I started to track download counts for Artisan System and
	other software products released through this site. I'm always interested in basic statistics
	and download counts, so following the download counts has been entertaining. This article
	will analyze some of the usage statistics through the last several months.
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Fri, 20 Mar 2009 19:02:02 -0700</pubDate>
<link>http://artisansystem.com/blog/entry/41</link>
</item>
<item><title>On Vacation</title>
<description>&lt;p&gt;
I will be on vacation starting today, March 14th (Pi day) and will return on March 18th. I will most likely have Internet access, but will probably not have any time or desire to write any lengthy updates.
&lt;/p&gt;
&lt;p&gt;
Thank you.
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Sat, 14 Mar 2009 05:03:19 -0700</pubDate>
<link>http://artisansystem.com/blog/entry/40</link>
</item>
<item><title>Update: On Building an Efficient Search Indexer</title>
<description>&lt;p&gt;
	This article is a short update to &lt;a href="http://artisansystem.com/blog/entry/38" target="_blank"&gt;my article&lt;/a&gt;
	on building a fast search indexer for a simple search engine I recently wrote with
	&lt;a href="http://orangakin.com" target="_blank"&gt;a fellow programmer&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
	I wrote the article entirely by myself and made a large mistake. First, the indexer
	does not run in O(n&lt;sup&gt;3&lt;/sup&gt;) time. It actually runs in O(N) time where N is the number
	of documents. Because for each document, there are Z number of Zones and within
	each zone there are T tokens, I mistakenly though it ran in O(n&lt;sup&gt;3&lt;/sup&gt;) time.
	It's embarrassing to me that I made such an elementary mistake in
	computer science. I do have a degree in computer science from a
	&lt;a href="http://utdallas.edu" target="_blank"&gt;respectable university&lt;/a&gt; and I feel that I did
	a disservice by not ensuring my writing was correct before publishing it. I apologize.
&lt;/p&gt;
&lt;p&gt;
	Other commenters were correct in saying I should focus my efforts in writing the
	algorithm to take parallelization into account, or to simply insert the index into a
	memory/heap table. I will certainly consider both alternatives.
&lt;/p&gt;
&lt;p&gt;
	I thank the commenters who pointed out my errors as it only helps. Thank you.
&lt;/p&gt;
&lt;p&gt;
	Happy programming.
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Fri, 13 Mar 2009 18:55:54 -0700</pubDate>
<link>http://artisansystem.com/blog/entry/39</link>
</item>
<item><title>On Building an Efficient Search Indexer</title>
<description>&lt;p&gt;
	In the &lt;a href="http://artisansystem.com/blog/entry/36"&gt;first article&lt;/a&gt; on building a fast search engine
	I was criticized for needing to speed up the indexer. 
	&lt;span style="text-decoration: line-through;"&gt;The indexer runs in O(n&lt;sup&gt;3&lt;/sup&gt;) time,
	which is pretty inefficient for any algorithm. Matrix multiplication also runs in O(n&lt;sup&gt;3&lt;/sup&gt;),
	unless you use a &lt;a href="http://en.wikipedia.org/wiki/Coppersmith%E2%80%93Winograd_algorithm"&gt;highly specialized algorithm&lt;/a&gt;.
	However, we simply can not get the indexer down to a running time less than O(n&lt;sup&gt;3&lt;/sup&gt;).&lt;/span&gt;
	&lt;strong&gt;Update:&lt;/strong&gt; Please see &lt;a href="http://artisansystem.com/blog/entry/39" target="_blank"&gt;my followup entry&lt;/a&gt;
	correcting the mistakes I made in this entry.
&lt;/p&gt;
&lt;p&gt;
	While working on the indexer though, we did manage to get the total indexing time for 300,000 documents from
	3 hours (on professional grade hardware) to 10 minutes (on consumer grade hardware).
	This article will describe how that was done.
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Thu, 12 Mar 2009 03:37:16 -0700</pubDate>
<link>http://artisansystem.com/blog/entry/38</link>
</item>
<item><title>Amazon S3 Simple Backup Script - s3backup</title>
<description>&lt;p&gt;
	Recently, I've begun to use Amazon S3 for storing backups of files for both my
	clients and myself. It works amazingly well, its fast, and very simple to use.
	There's a great &lt;a href="http://undesigned.org.za/2007/10/22/amazon-s3-php-class" target="_blank"&gt;PHP class&lt;/a&gt;
	for accessing it through cURL. This small piece of software I've written uses it extensively.
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Mon, 09 Mar 2009 08:36:08 -0700</pubDate>
<link>http://artisansystem.com/blog/entry/37</link>
</item>
<item><title>On Building an Efficient, Indexed Search Engine With a Word Proximity Algorithm</title>
<description>&lt;p&gt;
  This article describes how to build a very fast, index based search engine for a group of documents
  taking word proximity into account with a very basic algorithm. Actual coding will be left to the
  reader, however, the basic algorithms will be presented, along with the theory behind them.
  Additionally, the 0.4 version of Artisan System will have the search engine described in this article 
  built into it.
&lt;/p&gt;
&lt;p&gt;
  The searching algorithm is actually quite simple. It uses very little memory and processing power. It
  is even possible to have the entire algorithm take place within a database using SQL. The algorithm
  uses a weight based approach, where the resulting items are weighted against the search query. Thus,
  the overall weight for each item is computed at runtime, rather than at index time.
&lt;/p&gt;
&lt;p&gt;
  To create the speed of the search engine, an index must be built first. The time to index
  the entire set of documents, called the universe, is directly proportional to the number
  of documents within the index.
&lt;/p&gt;
&lt;p&gt;
	Pieces of this algorithm are derived from the Apache Lucene Project.
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Thu, 05 Mar 2009 03:06:40 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/36</link>
</item>
<item><title>Consolidation of 0.3 Roadmap</title>
<description>&lt;p&gt;
As a result of the 0.3a1 release being pushed, back, there will be no 0.3a1 release, and instead, the entire roadmap will be consolidated into a single 0.3 release as the latest stable release. I aim to have Artisan System be very stable at each release, and the 0.3 release will be no different. 
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Tue, 03 Mar 2009 08:30:08 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/35</link>
</item>
<item><title>Versioned Objects in Artisan System</title>
<description>&lt;p&gt;
	A new feature in Artisan System 0.3a1 are versioned objects. Versionable objects have
	been mentioned in several previous posts, however I am officially announcing them now.
	Additionally, I want to hear if the community in general believe they are
	a neat or useful idea.
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Mon, 02 Mar 2009 03:21:58 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/34</link>
</item>
<item><title>Framework Driven Development or Development Driven Frameworks?</title>
<description>&lt;p&gt;
	When I started to write Artisan System, I did so for selfish reasons. I knew there were already 
	a lot of competent PHP Frameworks out there, however I wanted one that was &lt;em&gt;my own&lt;/em&gt;.
	After starting several times without much direction, I realized how difficult it is, which had
	me asking the question: are frameworks development driven, or is development framework driven?
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Wed, 18 Feb 2009 06:30:23 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/32</link>
</item>
<item><title>Finally - Artisan System 0.3a1 Updates</title>
<description>&lt;p&gt;
It's been a while since I last talked about Artisan System itself because I've been busy actually using it on a project I'm working on. That'll be released later this month/early March.
&lt;/p&gt;
&lt;p&gt;
The 0.3a1 tag is coming along very nicely and when released, will replace the current stable version. The 0.3a1 tag is very stable and only continues to get better.
&lt;/p&gt;
&lt;p&gt;
The e-commerce side of Artisan System is taking place. A little restructuring of the roadmap will take place because of the side project using Artisan System. The new 0.3 release will have Payment and Shipping classes for credit card transactions through Authorize.net, Payflowpro and Paypal, and shipping calculations through UPS.
&lt;/p&gt;
&lt;p&gt;
Downloads are continuing to pick up too, which is encouraging. I still haven't received much mail about Artisan System directly, but if you're using it/have viewed the source, I'm interested in hearing what you have to say.
&lt;/p&gt;
&lt;p&gt;
As a final note, I put an online source viewer at &lt;a href="http://svn.artisansystem.com/" target="_blank"&gt;http://svn.artisansystem.com&lt;/a&gt; to check things out.
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Tue, 17 Feb 2009 09:26:26 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/31</link>
</item>
<item><title>How HTML Templates Should Work</title>
<description>&lt;p&gt;
	There appears to be a bit of a stir recently on the correct way to do templates in web applications.
	I am a huge proponent of templates as I try to use them as much as possible, and when set up
	properly, it makes coding so much easier. However, getting templates "right" is difficult to do. 
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Sat, 14 Feb 2009 05:25:21 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/30</link>
</item>
<item><title>A Situation Not So Unique</title>
<description>&lt;p&gt;
	Often, programmers will make assumptions as to how a system will work, either based on good
	evidence or on their past history with how the system previously worked. Recently, I made
	one such assumption about the uniqueness of the products in a shopping cart that 
	lead to some interesting results.
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Sat, 07 Feb 2009 06:05:25 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/29</link>
</item>
<item><title>Programmers, Promise Yourself This</title>
<description>&lt;p&gt;
	It is easy to get lost in programming as you spend countless hours hacking away at your most 
	precious code. Unfortunately, this can lead to some problems regarding your health.
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Mon, 02 Feb 2009 18:35:40 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/28</link>
</item>
<item><title>Blog Code</title>
<description>&lt;p&gt;
  I'm often asked for the code that makes up the ArtisanSystem.com website. Now that it's been slightly redone, I finally feel slightly better in releasing it because I know it really needs some peer review.
&lt;/p&gt;
&lt;p&gt;
	The blog code can be downloaded from the link on the right hand side or by
	&lt;a href="http://artisansystem.com/download/_file/artisan_system_blog_0.1.tar.gz"&gt;&lt;strong&gt;downloading the Artisan System Blog&lt;/strong&gt;&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
	I'm really anxious to recieve some feedback on how it's recieved (both the framework and blog), so please
	let me know at &lt;a href="mailto:vcherubini@gmail.com"&gt;&lt;strong&gt;vcherubini@gmail.com&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Fri, 30 Jan 2009 03:06:04 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/27</link>
</item>
<item><title>Artisan System Gets Result Aggregators</title>
<description>&lt;p&gt;
	Starting with the 0.3a1 tag, Artisan System now supports aggregators with the database
	result class. This allows for easily returning a set of aggregate data from a database
	result based on the methods in Artisan_Db_Result_Aggregate class.
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Sun, 25 Jan 2009 08:05:14 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/25</link>
</item>
<item><title>0.3a1 Updated - Iterators, Aggregates, and Caches</title>
<description>&lt;p&gt;
	Over the past few days, a lot of development has been happening on the 0.3a1 tag (svn_root/tags/v0.3a1/). I started developing
	all of the new code in the tag rather than the trunk. That way, the tag contains all of the very freshest code that is
	extremely unstable. When its more fleshed out, it'll be pushed into the trunk and more tests will be executed on it.
	There has been a lot of development with Iterators, Aggregates, and Caches recently.
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Tue, 20 Jan 2009 21:00:15 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/24</link>
</item>
<item><title>Artisan System Framework Manifesto</title>
<description>&lt;p&gt;
	Inspired by the &lt;a href="http://djangoproject.com" target="_blank"&gt;Django Project&lt;/a&gt;, a few things will be changing with how
	the Artisan System PHP Framework is developed. This will be known as the Artisan System PHP Framework Manifesto
	and it contains the following items:
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Thu, 15 Jan 2009 19:06:49 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/21</link>
</item>
<item><title>Customer Revision Control in Artisan System</title>
<description>&lt;p&gt;
  One of the coolest new features of Artisan System 0.3 is the new Customer class. I've been working on it a lot this weekend
  and got some pretty neat things going. By far, the nicest feature is having revision control over every thing that is
  updated about the customer. For example:
&lt;/p&gt;
&lt;pre class="fixed"&gt;
// Configuration for using a customer, requires a few
// tables for best support.
$config_cust = new Artisan_Config_Array(array(
  'table_list' =&gt; array(
    'customer' =&gt; 'customer',
    'comment' =&gt; 'customer_comment_history',
    'history' =&gt; 'customer_history',
    'field' =&gt; 'customer_field',
    'field_type' =&gt; 'customer_field_type',
    'field_value' =&gt; 'customer_field_value',
  ),
  'db_adapter' =&gt; $db // $db object created elsewhere
  )
);
$C = new Artisan_Customer_Adapter_Db($config);

// Load up customer ID 15
$C-&gt;load(15);
$C-&gt;firstname = 'Vic';
$C-&gt;lastname = 'Cherubini';
$C-&gt;age = 24;

// Write the updated values to the `customer` table of the database
// but not before writing the previous values to the `customer_history`
// table and creating a revision number.
$C-&gt;write();

// Or, we can do...
// This loads customer 97 at revision 3, so the value in $C-&gt;firstname
// is the value it was before revision 4 was made.
$C-&gt;load(97, 3);

// So, to revert everything back...
// Simply load up the customer at the revision you want
// and then write them back to the database.
$C-&gt;write();
&lt;/pre&gt;
&lt;p&gt;
  I think it's pretty neat and will help with things like bank software or e-commerce software that has to be PCI compliant
  by keeping a record of all updates to specific tables.
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Sun, 11 Jan 2009 19:44:32 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/20</link>
</item>
<item><title>Why Writing Software Is So Hard</title>
<description>&lt;p&gt;
	Writing software, no matter what level, or how much, is very difficult. The most difficult thing about writing any piece of software is finishing it.
	Writing good software is even harder. It takes hours upon hours of time invested in the smallest of details to ensure each piece works together
	smoothly. It is precisely this that makes software such a rewarding and most difficult occupation.
&lt;/p&gt;
&lt;p&gt;
	Update at end of article on January 10th, 2009 7:56am.
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Sat, 10 Jan 2009 20:26:47 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/19</link>
</item>
<item><title>Subversion Hooks Best Practices - Part 2</title>
<description>&lt;p&gt;
	In this second part of the Subversion Hooks Best Practices series, we'll go into the post-commit hook, or the hook that is executed after 
	a commit is successfully made to the repository. It is rare to find a software project (open source or not) that does not have some type 
	of bug database. However, having to write what you are doing in the bug database for a bug and manage the checkins of your code can be
	time consuming and wasteful. Thus, this hook will add your commit message and changed files to a comment on a specific ticket in your bug database.
	This tutorial will use the Mantis Bug Tracker, however, it can easily be updated to work on other bug trackers as well.
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Sat, 03 Jan 2009 15:35:46 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/16</link>
</item>
<item><title>Moving Forward</title>
<description>&lt;p&gt;
The new 0.3 Roadmap has been written and can be found &lt;a href="http://docs.artisansystem.com/index.php/Artisan_System_Roadmap_-_0.3"&gt;in this Wiki article&lt;/a&gt;.
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Wed, 31 Dec 2008 04:54:57 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/15</link>
</item>
<item><title>Even Tom Thumb Supports Artisan</title>
<description>&lt;p&gt;
Even Tom Thumb is supporting Artisan System.
&lt;/p&gt;
&lt;p align="center"&gt;
&lt;img src="http://artisansystem.com/Controllers/images/artisan_loaf.jpg" alt="Artisan Loaf" /&gt;
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Sun, 28 Dec 2008 20:58:44 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/14</link>
</item>
<item><title>Artisan System 0.2 Release</title>
<description>&lt;p&gt;
	&lt;strong&gt;The Artisan System developers are happy to announce the 0.2 Release of Artisan System Framework.&lt;/strong&gt; The new release has a completely rewritten Database model and 
	Model-View Controller layout.
&lt;/p&gt;
&lt;p id="download"&gt;
	&lt;a href="/download/_file/release" class="link-btn"&gt;Download ASFW&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
	As well, a lot of documentation was written for this release. Please see the &lt;a href="http://docs.artisansystem.com/"&gt;online documentation&lt;/a&gt; for the updated
	class docs.
&lt;/p&gt;
&lt;p&gt;
	You can easily download the latest version from the homepage link or from the &lt;a href="/blog/entry/4"&gt;Download Page&lt;/a&gt;
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Sat, 27 Dec 2008 23:07:34 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/13</link>
</item>
<item><title>Artisan System RSS Feeder</title>
<description>&lt;p&gt;
	It appears that there is a lot more traffic recently which is a great thing! The 0.2 release is just about ready to go, but a few things got added in at the last second.
&lt;/p&gt;
&lt;p&gt;
	A new RSS class is being added to allow easy creation of RSS feeds from a database. Essentially you'll create a mapping between the database tables and fields and the array to create the XML for the feed. Then that can be outputted via a controller to a specific URL. Instant RSS feed. To do this requires fixing a bug in the XML creation code.
&lt;/p&gt;
&lt;p&gt;
	A lot of the PHP XML libraries (either the ones written as a module in PHP or written using PHP) are broken in that they can't take an array and convert it back to XML.
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Thu, 25 Dec 2008 11:12:49 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/12</link>
</item>
<item><title>Subversion Hooks Best Practices - Part 1</title>
<description>&lt;p&gt;
	Artisan System makes extensive usage of Subversion, and for it to be a successful project, the use of Subversion hooks is necessary. Writing a good hook takes some time, but once it's done, it will make your project much more robust. Rather than simply discussing how to install hooks, this article will explain how to use two of them in a production environment. Keep in mind, this Article will be aimed at PHP developers, but can easily be adapted to other programmers. This article is the first of a two part series on Subversion hooks.
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Mon, 22 Dec 2008 21:04:24 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/11</link>
</item>
<item><title>New Bug Database</title>
<description>&lt;p&gt;
One of the earliest complaints I received about Artisan System is the fact that it had a private bug database, but not by choice. I initially used &lt;a href="http://eventum.mysql.org/wiki/index.php/Main_Page"&gt;Eventum&lt;/a&gt; (from MySQL) which is a very nice, open source bug tracking system. Unfortunately, it had no public bug listing that I could see (without me requiring any code changes).
&lt;/p&gt;
&lt;p&gt;
As a result, Artisan System is now using Mantis as the bug tracker of choice, and the URL has changed from issues.artisansystem.com to &lt;a href="http://bugs.artisansystem.com"&gt;http://bugs.artisansystem.com&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
You can browse the public bug database at any time and create bugs and write comments. Each new bug is sent to the developers, so you'll be sure they see it.
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Mon, 22 Dec 2008 20:42:50 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/10</link>
</item>
<item><title>Artisan System 0.2b1 Release</title>
<description>&lt;p&gt;
The Artisan System team is proud to announce the beta release of 0.2. Because the 0.2 release is small in terms of actual development, this will be the last release before the 0.2 release.
&lt;/p&gt;
&lt;p&gt;
Please take a moment to download &lt;a href="/download/_file/artisan_system_0.2b1.tar.gz"&gt;the Artisan System 0.2b1&lt;/a&gt; release. The current stable release is still 0.1. It is recommended if you are using 0.1 in any type of production environment, you stop for the time being as the 0.2 release has a tremendous amount of integral changes to the controller and database classes.
&lt;/p&gt;
&lt;p&gt;
As always, we're happy to hear feedback from you! Thanks!
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Fri, 19 Dec 2008 23:12:36 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/9</link>
</item>
<item><title>Artisan System Codeswarm</title>
<description>&lt;p style="text-align: center"&gt;
	&lt;object width="400" height="300"&gt;&lt;param name="allowfullscreen" value="true" /&gt;
		&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=2580094&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;
		&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=2580094&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;
	&lt;/object&gt;
&lt;/p&gt;
&lt;p&gt;
	Here is the codeswarm for Artisan System. I always love doing things like this. Represents the last 7 months of work.
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Fri, 19 Dec 2008 08:26:00 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/8</link>
</item>
<item><title>Development and MVC</title>
<description>&lt;p&gt;
	Development on Artisan System has continued very strongly. The whole Model-View Controller system has been rewritten from scratch and works much much better and faster. The Controller Translation Table (see &lt;a href="http://docs.artisansystem.com/index.php/Artisan_Controller"&gt;the Controller Translation Table docs&lt;/a&gt;) has been removed in favor of allowing exceptions to be thrown when a specified controller/method called does not exist.
&lt;/p&gt;
&lt;p&gt;
	Most of the last weekend was spent working on a few side projects using Artisan System and I'm happy that its maturing.
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Fri, 19 Dec 2008 05:00:00 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/7</link>
</item>
<item><title>New Website Up</title>
<description>&lt;p&gt;
This is a newly launched website. Although it looks similar, the behind the scenes code has changed dramatically. Now the entire site is a blog system written in Artisan System. I'll post a link to download the code that it uses in the future. As well, I have a few other blog posts that I want to post about development and the PHP community. Stay tuned. Thanks for the interest so far.
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Wed, 17 Dec 2008 00:00:00 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/6</link>
</item>
<item><title>Artisan System - Open Source PHP5 Framework</title>
<description>&lt;p&gt;
The Artisan Framework is a new PHP5 Framework that allows developers to quickly build robust web software. However, it can be used to build command line and non-web software quickly as well. Like other PHP5 frameworks, it makes use of the Model-View Controller design pattern to operate. Artisan System is fully Object Oriented, and all of the objects that can be built with it interact with each other nicely.
&lt;/p&gt;

&lt;p&gt;
Artisan System is released under the &lt;a href="/blog/entry/2"&gt;zlib License.&lt;/a&gt;
&lt;/p&gt;

&lt;p id="download"&gt;
	&lt;a href="/download/_file/release/" class="link-btn"&gt;Download ASFW&lt;/a&gt;
&lt;/p&gt;

&lt;p class="dl-txt"&gt;
	Current Stable Release: 0.2
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Sat, 15 Nov 2008 00:00:00 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/1</link>
</item>
<item><title>Artisan System Framework License</title>
<description>&lt;p style="font-family: monospace"&gt;
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
&lt;br /&gt;&lt;br /&gt;
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
&lt;br /&gt;&lt;br /&gt;
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.&lt;br /&gt;
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.&lt;br /&gt;
3. This notice may not be removed or altered from any source distribution.
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Sat, 15 Nov 2008 00:00:00 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/2</link>
</item>
<item><title>History and Name</title>
<description>&lt;p&gt;
	Artisan System has been in development for about a year and has gone through
	two distinct rewrites from scratch. The rewrites were as the result of 
	underestimating the complexity of a framework. The version released today has been
	in development for 6 months. Development has been slow, but deliberate. Artisan System
	was written to be fast, small, and with an emphasis on good PHP coding standards.
&lt;/p&gt;
&lt;p&gt;
	Where did the name come from? Why Artisan System? In it's first revision, the framework
	was named Artisan. Clearly, an Artisan is a master of their craft, and we envision PHP
	programmers using Artisan System as a tool to perfect their craft. After the initial versions
	of Artisan were written, they were named simply Artisan. Because it severely lacked a lot of features,
	development on this version began. The framework was renamed to Artisan System because it
	is meant to be used as system level libraries for web applications. In the end, a group
	of applications will be written with the name Artisan and they will use the Artisan System
	framework for their underlying structure.
&lt;/p&gt;
&lt;p&gt;
	Finally, we want to improve the image of PHP and PHP Programmers. Yes, there are a lot of
	very poorly written PHP software for myriad of reasons. However, we feel that great software
	can be written in PHP and we want Artisan System to prove that.
&lt;/p&gt;
&lt;p&gt;
	Questions, comments, and help offers can be redirected to &lt;strong&gt;vmc@leftnode.com&lt;/strong&gt;
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Sat, 15 Nov 2008 00:00:00 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/3</link>
</item>
<item><title>Download Artisan System Framework</title>
<description>&lt;p&gt;
You can download Artisan System Framework two ways, either through Subversion or through a file archive.
The Subversion repository has been reopened.
&lt;/p&gt;


&lt;h2&gt;Subversion&lt;/h2&gt;
&lt;p&gt;
	The preferred method of downloading Artisan System is through	Subversion.
	This way, you can easily receive updates and easily commit changes back to the project if you so desire.
&lt;/p&gt;
&lt;p&gt;
	You can easily checkout Artisan System from the link below. If you do not wish
	to take any advantages that Subversion offers and simply want the source code, you'll have to use export rather than checkout, as shown below:
&lt;/p&gt;
&lt;p align="center"&gt;&lt;strong&gt;svn co http://svn.leftnode.com/svn/artisan_system/trunk/ artisan_system_trunk/&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
	Or to export:
&lt;/p&gt;

&lt;p align="center"&gt;&lt;strong&gt;svn export http://svn.leftnode.com/svn/artisan_system/trunk/ artisan_system_trunk/&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;Tarball&lt;/h2&gt;
&lt;p&gt;
	Alternatively, you can download the latest tarball by the link below.
&lt;/p&gt;
&lt;p id="download"&gt;
	&lt;a href="/download/_file/release"&gt;Download ASFW 0.3beta&lt;/a&gt;
&lt;/p&gt;

&lt;h3&gt;Archive - Artisan System Framework&lt;/h3&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href="/download/_file/artisan_system_0.3beta.tar.gz"&gt;Artisan System 0.3beta&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="/download/_file/artisan_system_0.2.tar.gz"&gt;Artisan System 0.2&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="/download/_file/artisan_system_0.2b1.tar.gz"&gt;Artisan System 0.2b1&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="/download/_file/artisan_system_0.2a1.tar.gz"&gt;Artisan System 0.2a1&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="/download/_file/artisan_system_0.1.tar.gz"&gt;Artisan System 0.1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Sat, 15 Nov 2008 00:00:00 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/4</link>
</item>
<item><title>Contact Us</title>
<description>&lt;p&gt;
	Tell the Artisan System developers what you think. Use the Comment form below to contact us, or contact the project lead, Vic Cherubini, directly at &lt;strong&gt;vmc@leftnode.com&lt;/strong&gt;
&lt;/p&gt;</description>
<author>Vic Cherubini</author>
<pubDate>Sat, 15 Nov 2008 00:00:00 -0800</pubDate>
<link>http://artisansystem.com/blog/entry/5</link>
</item>
</channel>
</rss>
