1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
<?xml version="1.0" encoding="ISO-8859-1" ?>
<?xml-stylesheet href="layout.xsl" type="text/xsl" ?>
<content>
<div class="blurb">
<div class="desc">
<h1>All About Facets</h1>
Facets was forged from need, but hewed with blood, sweat and tears.
Okay, blood? Maybe not so much :)
</div>
</div>
<div class="page">
<!--
<div style="text-align: center; margin-top: 10px; margin-bottom: 30px;">
<img src="img/SPYlights.png" style="padding-left: 30px;"/>
</div>
-->
<div class="section">
<h1>On Version 2.4</h1>
<p>Facets 2.4 developed out the lessons learned from earlier versions. The most important
lesson being that Facets touted "atomicity" isn't neccessarily beneficial. Facets
Core remains an <span class="red"><i>Atomic Library</i></span> becuase all methods are
organized into individual files, such that nearly each can be required independently of
any other. However atomicity can give a false sens of security. When cherry picking methods,
one must keep in mind another programmer might pick a different set of methods. So ensured
interoperbility depends on expecting an Facets method may be required. Nonetheless,
atomicity still allows for highly granular control over loaded features --useful to minimize
resource footprint.</p>
</div>
<div class="section">
<h1>On Version 2.0</h1>
<p>Facets 2.x serious is a much leaner library than the 1.x series. Where 1.x focused on
gathering large swaths of new functionally, 2.x is focusing on refinement. Along with this
came a new "definition" of what it is to be "MORE". MORE is the equivalent of Ruby's Standard
library. As such, only libraries one might reasonably conceive as part of Ruby's Standard lib
are included. This led to a number of libraries being moved to their own projects.
In particular, some web-related libraries were moved to <a href="http://blow.rubyforge.org">Blow</a>,
the Units system to <a href="http://stick.rubyforge.org">Stick</a>, and the inflection system to
<a href="http://english.rubyforge.org">English</a>. There were also a few libs removed simply
because they weren't stable and/or useful enough.</p>
</div>
<div class="section">
<h1>How Facets Was Born</h1>
<p>As programmers are wont to do, I started collecting reusable pieces of
Ruby long ago. At first it was just a small function here, a useful
module there. Eventually the collection became sizable and I called it <i>TomsLib</i>.
As time wore on and my library grew, I started to feel it worth a general
release and I had renamed it <i>Raspberry Lib</i>. But sometime shortly thereafter
I hit upon the idea of <i>atomicity</i>of the core extensions. And that's how the
name Facets came about -- it's all about the little things. Of course, that name
took a while to decide upon too. The library was almost called "Atomix & Trix"!<p>
<p>Facets has eveolved considerably over the years --and lessons were learned. Probably
the biggest lesson was the 2.0 release, where the idea of atomicity was eroded and
and alternate means of library requiring was attempted. Both were rectified by 2.4.</p>
<p>Much has changed since those first days. But time has been good to Facets.
Today, Facets is a more solid and leaner library than ever before and will
continue in the fashion for version to come.</p>
</div>
</div>
</content>
|