<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="http://nanoblogger.sourceforge.net/styles/feed.css"?>
<rss version="2.0" 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:atom="http://www.w3.org/2005/Atom">
<channel>
<title>NanoBlogger</title>
<atom:link href="http://nanoblogger.sourceforge.net/rss.xml" rel="self" type="application/rss+xml" />
<link>http://nanoblogger.sourceforge.net</link>
<description>small weblog engine for the UNIX command line</description>
<dc:language>en-us</dc:language>
<dc:creator>n1xt3r</dc:creator>
<dc:date>2008-06-29T03:19:20-04:00</dc:date>
<admin:generatorAgent rdf:resource="http://nanoblogger.sourceforge.net" />
<item>
<link>http://nanoblogger.sourceforge.net/archives/2008/06/28/interface_visual_cues_to_the_rescue/</link>
<guid isPermaLink="true">http://nanoblogger.sourceforge.net/archives/2008/06/28/interface_visual_cues_to_the_rescue/</guid>
<title>Interface: Visual Cues To The Rescue</title>
<dc:date>2008-06-28T17:51:05-04:00</dc:date>
<dc:creator>n1xt3r</dc:creator>
<dc:subject>developer-notes</dc:subject>
<description>
<![CDATA[<p>Having received next to zero feedback from the first release candidate of 3.4,
I've taken the liberty as lead developer and decided to fix what I perceive to
be, vague and confusing "add", "edit" and "delete" commands.</p>

<p>Somewhere in the transition from a dash-based only command line interface to a
more flexible action-based one, some clarity has been lost. Having narrowed it
down to the "add", "edit" and "delete" commands, I found the obvious solution
was to clarify the subject of the action. Basically, employing strong visual
cues which help provide the necessary distinction.</p>

<p>I think the results speak for themselves:</p>

<p>Now instead of:</p>

<pre><code>nb edit n
</code></pre>

<p>or more confusing vagaries such as:</p>

<pre><code>nb tag n delete n
</code></pre>

<p>We have nicely clarified commands, such as:</p>

<pre><code>nb edit entry n
</code></pre>

<p>nice separation between what's a tag and what's an entry:</p>

<pre><code>nb tag n delete entry n
</code></pre>

<p>in some cases we see an elimination of redundancy:</p>

<pre><code>nb delete tag n
</code></pre>

<p>where before it was:</p>

<pre><code>nb tag n delete tag
</code></pre>

<p>and in other cases we see an elimination of complexity:</p>

<pre><code>nb --title example add tag
</code></pre>

<p>where before it was:</p>

<pre><code>nb --title example add tag new
</code></pre>

<p>For the translators this will only require minor changes to the syntax of the
effected commands.</p>

<p>I'd like to get the final release out before September or sooner, but also
believe such a change warrants a second release candidate, so expect a second
one soon.</p>]]>
</description>
</item>
<item>
<link>http://nanoblogger.sourceforge.net/archives/2008/06/14/nanoblogger_3_4_rc1/</link>
<guid isPermaLink="true">http://nanoblogger.sourceforge.net/archives/2008/06/14/nanoblogger_3_4_rc1/</guid>
<title>NanoBlogger 3.4 RC1</title>
<dc:date>2008-06-14T00:11:34-04:00</dc:date>
<dc:creator>n1xt3r</dc:creator>
<dc:subject>release</dc:subject>
<description>
<![CDATA[<p>NanoBlogger 3.4 RC1 released! Download the
<a href="http://nanoblogger.sourceforge.net/downloads/nanoblogger-3.4-rc1.tar.gz">tarball here</a>.</p>

<p>This release sees a significant overhaul in the code base, user contributed
patches, improved language support, and lots of bug fixes, including many from
the <a href="http://sourceforge.net/projects/nanoblogger/">SF.net project page</a>.</p>

<p>Thanks goes to everyone who encouraged me and in some cases even contributed
their own time and efforts to make this release possible.</p>

<p><strong>Changes (since 3.3)</strong>:</p>

<ul>
<li>New action based command line interface.</li>
<li>Updated documentation for new command line interface.</li>
<li>Improved support for creating and storing various metadata variables.</li>
<li>Updated default configuration with sensible defaults.</li>
<li>Improves Articles plugin support for multiple directories.</li>
<li>Enhanced support and important fixes for Atom and RSS syndication, including
support for enclosures and better compliance with standards.</li>
<li>Improved plugins facility allows disabling or replacing specific global
plugins per weblog and ability to load plugins individually instead of a
group.</li>
<li>Configurable levels of archiving (e.g. disable month and day archives).</li>
<li>Much improved tracking and updating of relative weblog archives.</li>
<li>Reverts default layout provided by CSS and templates to simple and clean
design and removes several previously included CSS styles.</li>
<li>New functionality adds more reliable management of flat-file databases.</li>
<li>Usable Bash Completion examples.</li>
<li>Several other bug fixes and minor improvements.</li>
</ul>]]>
</description>
</item>
<item>
<link>http://nanoblogger.sourceforge.net/archives/2008/05/23/announcing_3_4_rc-1_feature_freeze/</link>
<guid isPermaLink="true">http://nanoblogger.sourceforge.net/archives/2008/05/23/announcing_3_4_rc-1_feature_freeze/</guid>
<title>Announcing 3.4 RC-1 Feature Freeze</title>
<dc:date>2008-05-23T20:24:28-04:00</dc:date>
<dc:creator>n1xt3r</dc:creator>
<dc:subject>developer-notes</dc:subject>
<description>
<![CDATA[<p>I'm imposing a feature freeze on NanoBlogger, effective immediately.
Mainly for the benefit of the translators and as a reminder to myself to
stop tweaking and tinkering the code. The freeze will remain in effect
until June 13.</p>

<p>As is often the case, once I start focusing on fixing one bug or one
feature it often leads to several other seemingly unrelated changes.
For example, I'll notice some neglected code or documentation and feel
compelled to tweak and tinker even more. And that's indeed what has
happened since. So, translators will especially want to take advantage
of this code freeze to synchronize their translations with the changes I
made up until this freeze. I should note, if it wasn't for the advice of
one Denis Bernard, I probably would've been satisfied with just making a
release candidate or two. Also, I should note that, the Spanish
translation is still in dire need of an update.</p>

<p><em>Usted hablo Espanol?</em>  <img src="http://nanoblogger.sourceforge.net/moods/wink.gif" alt=";)" /> </p>

<p>We'll see how 3.4 RC-1 goes to determine whether the need exists for
another future release candidate before making the final release. And if
all goes well, hopefully NanoBlogger 3.4 RC-1 will be released around
mid-June.</p>]]>
</description>
</item>
<item>
<link>http://nanoblogger.sourceforge.net/archives/2008/05/13/help_needed_updating_translations/</link>
<guid isPermaLink="true">http://nanoblogger.sourceforge.net/archives/2008/05/13/help_needed_updating_translations/</guid>
<title>Help Needed Updating Translations</title>
<dc:date>2008-05-13T11:41:33-04:00</dc:date>
<dc:creator>n1xt3r</dc:creator>
<description>
<![CDATA[<p>I sent a request out to all those who have contributed translations in
the past to synchronize their translations with my latest development
revision. The response was tremendous considering the recent lull in
development. At a minimum, I wanted the Spanish, French, and German
translations ready for the next release. Well, I seem to have hit a wall
with the former.</p>

<p>The good news is that many of the original translators
were willing to reprise their role including, to my delight, one Turkish
translator.</p>

<p>The bad news is that NanoBlogger's Spanish translation still needs to be
updated.</p>

<p>At this point, I may decide to just press ahead, make a release candidate
and mark the Spanish translation as outdated, in the hope of gaining
more exposure.</p>

<p>Thank you to all who have graciously given of their time to update their
respective language translations! Your efforts are encouraging.</p>]]>
</description>
</item>
<item>
<link>http://nanoblogger.sourceforge.net/archives/2008/01/12/switched_version_control_systems/</link>
<guid isPermaLink="true">http://nanoblogger.sourceforge.net/archives/2008/01/12/switched_version_control_systems/</guid>
<title>Switched Version Control Systems</title>
<dc:date>2008-01-12T17:02:13-04:00</dc:date>
<dc:creator>n1xt3r</dc:creator>
<dc:subject>developer-notes</dc:subject>
<description>
<![CDATA[<p>Hi folks!</p>

<p>I finally made the switch to Subversion. With instructions provided by
<a href="http://www.sourceforge.net">SF.net</a>, I exported my CVS repository and converted
it to an SVN dump suitable for import. Since I saw no errors and was careful to
remove CVSROOT, I made the error in assuming that the import would go without a
hitch. After about a few days of waiting on tech support they gave me the
information I needed to hear. The problem was on my end. Of course that
"problem" was with all my CVS tags. Not surprising, seeing how they mention that
as one of the most common problems that arises when switching from CVS to
Subversion. So, I took the road most traveled and left those tags behind.</p>

<p>All of this time spent around my code, lead me to tinkering, which lead to some
changes. It's still fun to work on, even if I really should be working on more
important things. So, if you're feeling frisky check out the new code! I'm
running a Subversion shop now, baby!  <img src="/moods/devil.gif" alt=":devilish:" /></p>]]>
</description>
</item>
<item>
<link>http://nanoblogger.sourceforge.net/archives/2008/01/12/save_time_create_intermediate_previews/</link>
<guid isPermaLink="true">http://nanoblogger.sourceforge.net/archives/2008/01/12/save_time_create_intermediate_previews/</guid>
<title>Save Time, Create Intermediate Previews</title>
<dc:date>2008-01-12T15:27:18-04:00</dc:date>
<dc:creator>n1xt3r</dc:creator>
<dc:subject>tips-and-tricks</dc:subject>
<description>
<![CDATA[<p>You don't have to wait for the entire update process to finish before you can
preview your work. Use the <em>draft</em> and <em>make-page</em> actions to create an
intermediate preview of your work.</p>

<ol>
<li><p>Create the new entry or article with <em>draft</em>.</p>

<pre><code>nb draft preview.txt
</code></pre></li>
<li><p>Create the preview with <em>make-page</em>.</p>

<pre><code>nb make-page preview.txt preview.html
</code></pre></li>
<li><p>When you're satisfied with the preview, initiate the update sequence.</p>

<p>for an entry:</p>

<pre><code>nb file preview.txt add entry
</code></pre>

<p>for an article (from the <em>articles</em> directory):</p>

<pre><code>nb query main update
</code></pre></li>
</ol>]]>
</description>
</item>
<item>
<link>http://nanoblogger.sourceforge.net/archives/2008/01/12/mutlitask/</link>
<guid isPermaLink="true">http://nanoblogger.sourceforge.net/archives/2008/01/12/mutlitask/</guid>
<title>Mutlitask</title>
<dc:date>2008-01-12T14:54:37-04:00</dc:date>
<dc:creator>n1xt3r</dc:creator>
<dc:subject>tips-and-tricks</dc:subject>
<description>
<![CDATA[<p>Did you know that NanoBlogger can multitask?</p>

<ol>
<li><p>Apply changes immediately after changing configuration.</p>

<pre><code>nb configure query all update
</code></pre></li>
<li><p>Edit a new article and have it generated immediately.</p>

<pre><code>nb draft [blog_dir]articles/example.txt query main update
</code></pre></li>
<li><p>Publish changes immediately after an edit or delete action.</p>

<pre><code>nb edit entry n publish
nb delete entry n publish
</code></pre></li>
<li><p>Combining preview and publish (when "add" is not invoked).</p>

<pre><code>nb edit entry n preview publish
nb draft [blog_dir]articles/example.txt query main update preview publish
</code></pre></li>
</ol>

<p>Some notes:</p>

<ul>
<li>As of this writing, both "preview" and "publish" are already ran
automatically whenever the "add" action is invoked.</li>
<li>You can use the "--interactive 0" option to prevent NanoBlogger from
stopping and asking a lot of questions.</li>
</ul>]]>
</description>
</item>
<item>
<link>http://nanoblogger.sourceforge.net/archives/2007/06/21/project_status/</link>
<guid isPermaLink="true">http://nanoblogger.sourceforge.net/archives/2007/06/21/project_status/</guid>
<title>Project Status</title>
<dc:date>2007-06-21T17:03:36-04:00</dc:date>
<dc:creator>n1xt3r</dc:creator>
<dc:subject>developer-notes</dc:subject>
<description>
<![CDATA[<p>Thanks for all the nice comments in support of the project. After reading
through some of the comments, I realize that I have not explained myself
all that well. I've been very busy pursuing career goals of late and
have not been able to respond to every comment or email, but please
don't think that NB is subject to bit rot. Perhaps, instead, I should
have said that I'm putting the project on hold for an indefinite time,
but at the <a href="/archives/2007/04/19/not_so_nano_anymore/">time</a>,
I was feeling rather envious of vee's simplicity. I'd agree now that my
comparison was unfair in light of all the time and work that I and others
have put into this project. NB for the most part has remained modular
in terms of functionality. So, if someone wanted to they could strip the
code down to it's bare essentials and still have a simple weblogging tool.</p>

<p>If and when I have time, I will be working on rewriting CSS, redesigning
the layout, and dealing with bug reports. Seeing how these tasks are
currently low priority for me, I was thinking now might be a good time
for anyone that wants to join the project to get involved and keep it
moving forward. Just drop me a line if you're interested and I'll be
happy to set you up.</p>

<p>Best Regards!</p>]]>
</description>
</item>
<item>
<link>http://nanoblogger.sourceforge.net/archives/2007/04/19/not_so_nano_anymore/</link>
<guid isPermaLink="true">http://nanoblogger.sourceforge.net/archives/2007/04/19/not_so_nano_anymore/</guid>
<title>Not So Nano Anymore</title>
<dc:date>2007-04-19T23:35:08-04:00</dc:date>
<dc:creator>n1xt3r</dc:creator>
<dc:subject>developer-notes</dc:subject>
<description>
<![CDATA[<p>Recently I came across this little gem, <a href="http://www.0x743.com/vee/">vii</a>,
it's a simple command line blog tool written in bourne shell. It reminded
me of MicroBlogger, which inspired me to write NanoBlogger. It also
reminded me of why I named my project the way I did, but NanoBlogger's
not so nano anymore. With a great project like vii in development I'm
tempted to abandon development of NB. As vii matures, my itch for a
better command line blog tool may be finally alleviated. From now on,
I think I'll just focus on bug fixes.</p>

<p><strong>update</strong>: I even found an
<a href="http://www.0x743.com/.vee/1173710350.2007-03-12T10:39:10.html">article</a>
from the developer of vii that shares my sentiment about NB.</p>

<p><strong>update</strong>: vii has been renamed to vee.</p>]]>
</description>
</item>
<item>
<link>http://nanoblogger.sourceforge.net/archives/2007/01/23/strange_logic/</link>
<guid isPermaLink="true">http://nanoblogger.sourceforge.net/archives/2007/01/23/strange_logic/</guid>
<title>Strange Logic</title>
<dc:date>2007-01-23T01:17:02-04:00</dc:date>
<dc:creator>n1xt3r</dc:creator>
<dc:subject>developer-notes</dc:subject>
<description>
<![CDATA[<p><strong>The problem:</strong> In 3.3 a new flat-file database was created with the
simple objective of tracking an entry's assigned categories, which was
essentially tacked on as an afterthought and poorly implemented. It's
worth noting, that the categories themselves have always used a
flat-file database, but already had code to manage them. Unfortunately
the code for managing these flat-file databases in a more unified way
has never been fully realized.</p>

<p><strong>The solution:</strong> The databases must be easily maintained and be able to
grow without negative impact to overall performance. So, update_db,
update_maindb, delete_db, resort_db, and resort_catdb were created
as new library functions that provide a unified approach to managing
flat-file databases. The last two are probably the most involved,
running the sort command on the database, but still far more efficient
than globbing through a for loop.</p>

<p>So far, I'm satisfied with the results and the obvious gain in speed.
Although, I imagine anything would beat having to regenerate a database
of a thousand entries or more everytime you want to change a weblog
entry. I also had the joy of discovering some strange logic behind the
build_weblog, paginate and delete functions.</p>]]>
</description>
</item>
</channel>
</rss>
