<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="/templates/default/atom.css" type="text/css" ?>

<feed 
   xmlns="http://www.w3.org/2005/Atom"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <link href="http://www.toddesposito.com/index.php?/feeds/atom.xml" rel="self" title="Opening Up" type="application/atom+xml" />
    <link href="http://www.toddesposito.com/"                        rel="alternate"    title="Opening Up" type="text/html" />
    <link href="http://www.toddesposito.com/rss.php?version=2.0"     rel="alternate"    title="Opening Up" type="application/rss+xml" />
    <title type="html">Opening Up</title>
    <subtitle type="html">My Journey Running an Open Source Company</subtitle>
    <icon>http://www.toddesposito.com/templates/default/img/s9y_banner_small.png</icon>
    <id>http://www.toddesposito.com/</id>
    <updated>2010-08-26T22:31:32Z</updated>
    <generator uri="http://www.s9y.org/" version="1.1.2">Serendipity 1.1.2 - http://www.s9y.org/</generator>
    <dc:language>en</dc:language>

    <entry>
        <link href="http://www.toddesposito.com/index.php?/archives/40-Yet-another-distraction-how-I-love-them!.html" rel="alternate" title="Yet another distraction (how I love them!)" />
        <author>
            <name>Todd D. Esposito</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2010-08-26T22:31:32Z</published>
        <updated>2010-08-26T22:31:32Z</updated>
        <wfw:comment>http://www.toddesposito.com/wfwcomment.php?cid=40</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.toddesposito.com/rss.php?version=atom1.0&amp;type=comments&amp;cid=40</wfw:commentRss>
    
            <category scheme="http://www.toddesposito.com/index.php?/categories/6-Crazy-Making" label="Crazy-Making" term="Crazy-Making" />
            <category scheme="http://www.toddesposito.com/index.php?/categories/1-Open-Source" label="Open Source" term="Open Source" />
    
        <id>http://www.toddesposito.com/index.php?/archives/40-guid.html</id>
        <title type="html">Yet another distraction (how I love them!)</title>
        <content type="xhtml" xml:base="http://www.toddesposito.com/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>So I <a href="index.php?/archives/39-Serendipity.html">mentioned before</a> about a WordPress plugin I've written for a friend. &#160;Turns out, she's moved the target a bit, so the plugin isn't really what she needs any longer, but it's still a nice bit of work (IMHO), so I went ahead and submitted it to the <a href="http://wordpress.org/extend/plugins/simple-seller/" target="_blank">WordPress community</a> and created a site for it. &#160;It's called <a href="http://wpsimpleseller.com" target="_blank">WP Simple Seller</a> and I'm trying to stay true to the name. &#160;There are a few e-commerce plugins already available, all of which do more than I needed and fail to do at least one thing I needed. &#160;Of course, the basics are that you should put an item for sale on your blog, and subsequently sell it. &#160;Duh. &#160;But the problem spec called for there to be multiple sellers, each with individual PayPal (or whatever) accounts. &#160;And, the blog owner should not have to get involved in the sale process at all, other than approving the seller to sell on the site. &#160;No current plugin had that capability, that I could find.</p><p>So that's what I set out to build, and I'm pretty happy with the results. &#160;There ARE a few steps to getting it all set up, but that's to be expected. &#160;Of course, my first release had a bug which probably threw a few people off, so earlier today I fixed the bug and updated the plugin to version 1.1, which should be available on the <a href="http://wordpress.org/extend/plugins/simple-seller/" target="_blank">WordPress plugins</a> site by now. &#160;&#160;</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.toddesposito.com/index.php?/archives/39-Serendipity.html" rel="alternate" title="Serendipity" />
        <author>
            <name>Todd D. Esposito</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2010-05-25T23:50:37Z</published>
        <updated>2010-05-26T01:43:20Z</updated>
        <wfw:comment>http://www.toddesposito.com/wfwcomment.php?cid=39</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.toddesposito.com/rss.php?version=atom1.0&amp;type=comments&amp;cid=39</wfw:commentRss>
    
            <category scheme="http://www.toddesposito.com/index.php?/categories/5-Flotsum" label="Flotsum" term="Flotsum" />
    
        <id>http://www.toddesposito.com/index.php?/archives/39-guid.html</id>
        <title type="html">Serendipity</title>
        <content type="xhtml" xml:base="http://www.toddesposito.com/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>I'm frequently amused to find that something I need will appear just about when I need it. &#160;The engineer in me knows that it's just coincidence, and that the fact that it happens A LOT doesn't change the odds of it having happened or happening again. &#160;The engineer figures that it's probably just that I notice more when I magically find what I need than when I don't.&#160; But the mystic side of me thinks that's flawed. &#160;After all, it happens A LOT.&#160; Something I don't have I go looking for, and the web being what it is, I usually find what I'm after pretty quickly.&#160; </p><p>But I'm talking about stuff that COMES TO MY DOOR, so to speak. &#160;It happened with the <a href="index.php?/archives/37-Goofin-with-CSS-and-jQuery.html">logo-fade-over thingy</a>, which wasn't really an immediate need, per se, but suddenly the solutions shows up in my RSS reader just a few weeks after I thought about it. Tivo-ed serendipity, but serendipity nonetheless. </p><p>I just helped my church build <a href="http://www.loveandjustice.org" target="_blank">a new website</a> these past few weeks.&#160; It gave me the opportunity to stretch my CSS skills just a little bit.&#160; The design, done by a very talented member of the church, didn't really require that much by way of CSS-fu, but it was another lesson in what works on which browsers, and how to fix others (IE, we really need to talk, ok?).&#160; I was having a problem with the rendering in Opera (by all accounts, the most standards compliant browser), but with no clear way to selectively target just Opera, I was resigned to just ignoring it.&#160; Opera, after all, accounts for just 1% of our visitors.&#160; Then this <a href="http://rafael.adm.br/css_browser_selector/" target="_blank">nifty little css browser selection hack</a> showed up unbidden, and two lines of code later, Opera is fixed.&#160; See, serendipity.</p><p>I'm also working on a project for a friend who wants to add an e-commerce-esqe feature to her Wordpress-powered site.&#160; I looked around and determined that everything already out there is either not well supported or way too well supported (read: way too many features for her minimalist needs).&#160; None were a very good fit.&#160; So I start crafting a plugin for her, and the biggest problem is that I really need to create a new type of post that she and her guest authors can use to enable the e-commercy stuff she needs, but in the simplest way possible.&#160; It's an uphill struggle, then serendipitously,&#160; Wordpress 3.0 (and stubbed in 2.9) offers up exactly what I need.&#160; Just that quick, I'm back on track and soon to release the plugin.&#160; (I'll link to her site in a future entry when I get her upgraded and the plugin installed.)</p><p>This blog is run on a blogging platform called, um, ready?... Serendipity.&#160; But all this work on Wordpress of late has me thinking I may have to change over.&#160; It's serendipity, I think. </p><p>&#160;</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.toddesposito.com/index.php?/archives/38-NArchivist-Marches-on....html" rel="alternate" title="NArchivist Marches on..." />
        <author>
            <name>Todd D. Esposito</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2010-02-28T02:17:35Z</published>
        <updated>2010-02-28T02:41:20Z</updated>
        <wfw:comment>http://www.toddesposito.com/wfwcomment.php?cid=38</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.toddesposito.com/rss.php?version=atom1.0&amp;type=comments&amp;cid=38</wfw:commentRss>
    
            <category scheme="http://www.toddesposito.com/index.php?/categories/14-NArchivist" label="NArchivist" term="NArchivist" />
    
        <id>http://www.toddesposito.com/index.php?/archives/38-guid.html</id>
        <title type="html">NArchivist Marches on...</title>
        <content type="xhtml" xml:base="http://www.toddesposito.com/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>I released version 0.4 of <a href="http://narchivist.sourceforge.net/" target="_blank">NArchivist, my cloud-based backup/archiving solution</a>, about a week ago. &#160;I should have made a blog entry about it then, but I've been tied up with other things. &#160;Plus, I wasn't entirely sure I wasn't going to have to make another quick-fix release. &#160;This is largely because I gutted the encryption sub-system to satisfy two requirements. &#160;First, it needed to support streaming of very large files to and from the data stores, and second, it had to work on my older CentOS5 servers. &#160;Version 0.3 was built with a tool called m2secret, which I used to encrypt the files I was backing up. &#160;Ok, no worries, except I found out the hard way that m2secret needed Python 2.5 and, alas, my CentOS5 servers only had Python 2.4. &#160;Upgrading wasn't really a good option. &#160;Plus, m2secret operates by reading the entire file into memory, then encrypting it, then sending it to the target. &#160;Fine, for small(-ish) files, but for larger files this could be a real problem. &#160;I knew this going in, but wanted a quick solution that I could fix later. &#160;Bumping into the Python 2.4/2.5 problem made it later. &#160;So I fixed it.</p><p>This has pushed back my Windows support a bit, and my creation of a web-based interface for the system. &#160;But that'll be along fairly soon. &#160;No choice, really; I need the thing myself.&#160;</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.toddesposito.com/index.php?/archives/37-Goofin-with-CSS-and-jQuery.html" rel="alternate" title="Goofin' with CSS and jQuery" />
        <author>
            <name>Todd D. Esposito</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2010-02-19T07:32:14Z</published>
        <updated>2010-02-19T07:32:14Z</updated>
        <wfw:comment>http://www.toddesposito.com/wfwcomment.php?cid=37</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.toddesposito.com/rss.php?version=atom1.0&amp;type=comments&amp;cid=37</wfw:commentRss>
    
            <category scheme="http://www.toddesposito.com/index.php?/categories/5-Flotsum" label="Flotsum" term="Flotsum" />
    
        <id>http://www.toddesposito.com/index.php?/archives/37-guid.html</id>
        <title type="html">Goofin' with CSS and jQuery</title>
        <content type="xhtml" xml:base="http://www.toddesposito.com/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>I just put up a site at <a href="http://www.espositoholdings.com" target="_blank">espositoholdings.com</a>.&#160; I've had the domain for a while now.&#160; I got it on a whim, because I thought it would be kinda funny, the first step in building a massive empire of web properties.&#160; One of my cousins does graphic design as a hobby (he's quite good, really, when he can put the time in), so he whipped up a logo for thing, also because he thought it was kinda funny.&#160; It's this: </p><p><img src="http://www.espositoholdings.com/images/esposito_holdings_logo.jpg" border="0" width="302" height="203" /> </p> <h2>So I had this domain and this logo just sitting there. </h2> <p>I had this idea that each of the little squares should hold a logo for  one of the &quot;web properties&quot; and it would animate in some way when you  moused over it.&#160; A couple of months ago, I can across a <a href="http://css-tricks.com/silhouette-fadeins/" target="_blank">neat little effect</a> on Chris Coyier's <a href="http://css-tricks.com/" target="_blank">CSS Tricks site</a> where moving your mouse over a &quot;black&quot; image &quot;reveals&quot; the portion the  mouse is over.&#160; Which reminded me of my earlier notion, but it still took me until today to jump in and actually try to get it done. &#160; I started off with the techniques in Chris' article, but it wasn't quite what I wanted.&#160; Let's examine what he did, and how I differed, shall we?</p><p>The basics are a set of regions, defined by CSS to have a particular size and position over the image, with jQuery used to catch the mouse hover event over each region and then turn on and off the correct &quot;revealed&quot; image.</p><p>Chris' method was to create five different images, one for each &quot;state.&quot;&#160; There was the regular &quot;nothing highlighted&quot; image, and since he had four &quot;hot spots,&quot; there were four more images, each with three parts black and one revealed.&#160; Since each element in his image was basically the same width, and all lined up horizontally, the CSS placement was really pretty simple.</p><h2>My Way or the Highway <br /></h2><p>I didn't really want to create four different versions of my logo (I have only three &quot;hot-spots&quot; rather than the four Chris has), partly out of laziness, partly because I wanted to be able to swap those images out whenever I felt like it. So I set about to define the area above each square in the logo which would be my hotspot.&#160; This was pretty simple to calculate, and a bit of trial-and-error got it looking OK.&#160; Then I created the small (54x54) logos which would appear magically inside their respective squares.&#160; These are PNGs with transparent backgrounds, so they look natural when revealed.</p><p>The HTML markup is a dead ripoff of Chris's, as is most of the CSS and jQuery code. But I made a couple of changes.&#160; First, Chris used absolute positioning for his elements, but since they stack next to each other, that wasn't such a big deal, and he could give them each the same basic styling.&#160; Where he had just one selector for those elements:</p><p>&#160;</p> <pre>.home-roll-box { position: absolute; z-index: 1000; display: block;  height: 334px; top: 0; width: 25%; }</pre> <p>I made a generic one, and then picked out each area using the <a href="http://css-tricks.com/attribute-selectors/" target="_blank">clever Attribute Selector technique</a> (boy, that Chris Coyier is a handy guy!), thus:</p> <pre>.rollover { <br />  display: block;<br />  height: 54px;<br />  position: absolute; <br />  width: 54px; <br />  z-index: 1000; <br />}<br />.rollover[id=&quot;tcms&quot;] { top: 18px; margin-left: 72px; }<br />.rollover[id=&quot;narchivist&quot;] { top: 74px; margin-left: 18px; }<br />.rollover[id=&quot;openingup&quot;] { top: 128px; margin-left: 72px; }&#160; </pre><p>That got my rollover areas positioned, but since I have three images to fade in and out in three different locations, and they are all smaller than the main logo image, I couldn't just superimpose them on the main logo.&#160; So a bit more JS does the job:</p><pre>&#160;&#160;&#160; $(&quot;.rollover&quot;).each(function (i) {<br />&#160;&#160;&#160;&#160;&#160; // move the logo into the corresponding rollover area<br />&#160;&#160;&#160;&#160;&#160; var logo = &quot;#&quot; + $(this).attr(&quot;id&quot;) + &quot;_logo&quot;;<br />&#160;&#160;&#160;&#160;&#160; $(logo).css (&quot;top&quot;, $(this).css(&quot;top&quot;));<br />&#160;&#160;&#160;&#160;&#160; $(logo).css (&quot;margin-left&quot;, $(this).css(&quot;margin-left&quot;));<br />&#160;&#160;&#160;&#160;&#160; });</pre><p>This walks through each &quot;rollover&quot; area, grabs it's top-position and left margin, and then applies them to the corresponding image.</p><p>I like the results, but of course that's always subjective.&#160; I'm open to other opinions. </p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.toddesposito.com/index.php?/archives/36-The-other-half-of-the-equation.html" rel="alternate" title="The other half of the equation" />
        <author>
            <name>Todd D. Esposito</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2010-01-16T03:49:35Z</published>
        <updated>2010-01-16T03:49:35Z</updated>
        <wfw:comment>http://www.toddesposito.com/wfwcomment.php?cid=36</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.toddesposito.com/rss.php?version=atom1.0&amp;type=comments&amp;cid=36</wfw:commentRss>
    
            <category scheme="http://www.toddesposito.com/index.php?/categories/14-NArchivist" label="NArchivist" term="NArchivist" />
    
        <id>http://www.toddesposito.com/index.php?/archives/36-guid.html</id>
        <title type="html">The other half of the equation</title>
        <content type="xhtml" xml:base="http://www.toddesposito.com/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Well, after a bunch of non-NArchivist work, I finally got back to my current pet project (though I'm really itching to get back to my REAL pet project, the <a href="http://www.turtolcms.org" target="_blank">TurtolCMS</a>), and now <a href="http://sourceforge.net/projects/narchivist" target="_blank">NArchivist, my backup software</a>, will not only back files up, but it can actually RESTORE them as well.&#160; One would hope that would be a standard feature.&#160; I've just &quot;released&quot; version 0.3 on SourceForge. &#160; New features include:</p><ul><li>A basic desktop client from which you can select files to restore.&#160; Of course, any file you would overwrite via a restore is first backed up (if necessary).&#160;</li><li>RackSpace CloudFiles support, so now you can store your backups to two truly distinct clouds, thus making your data a bit more secure.&#160;</li><li>After every backup session it backs up its own database.&#160; You might think this would only be needed after a backup session in which files were uploaded, but since we also record &quot;last-seen&quot; data to catch file deletions, the database goes up every time.&#160; Versioned, of course. &#160;</li></ul><p>Next, I'll have to make the website a bit more complete.&#160; Which is to say complete at all.&#160; After that, I'll try to get it running on Window, and flesh out the web-based interface I started. </p><p>&#160;</p> 
            </div>
        </content>
        
    </entry>

</feed>