<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
<?xml-stylesheet type="text/css" href="http://nanoblogger.sourceforge.net/styles/feed.css"?>
<title type="html">NanoBlogger</title>
<subtitle type="html">small weblog engine for the UNIX command line</subtitle>
<link rel="alternate" type="text/html" href="http://nanoblogger.sourceforge.net" />
<link rel="self" type="application/atom+xml" href="http://nanoblogger.sourceforge.net/atom.xml" />
<updated>2008-06-29T03:18:59-04:00</updated>
<author>
<name>n1xt3r</name>
<uri>http://nanoblogger.sourceforge.net</uri>
</author>
<id>http://nanoblogger.sourceforge.net/</id>
<generator uri="http://nanoblogger.sourceforge.net" version="3.4 RC1">NanoBlogger</generator>
<entry>
<title type="html">Interface: Visual Cues To The Rescue</title>
<author>
<name>n1xt3r</name>
</author>
<link rel="alternate" type="text/html" href="http://nanoblogger.sourceforge.net/archives/2008/06/28/interface_visual_cues_to_the_rescue/" />
<id>http://nanoblogger.sourceforge.net/archives/2008/06/28/interface_visual_cues_to_the_rescue/</id>
<published>2008-06-28T17:51:05-04:00</published>
<updated>2008-06-28T17:51:05-04:00</updated>
<category term="developer-notes" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<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>
</div>
</content>
</entry>
<entry>
<title type="html">NanoBlogger 3.4 RC1</title>
<author>
<name>n1xt3r</name>
</author>
<link rel="alternate" type="text/html" href="http://nanoblogger.sourceforge.net/archives/2008/06/14/nanoblogger_3_4_rc1/" />
<id>http://nanoblogger.sourceforge.net/archives/2008/06/14/nanoblogger_3_4_rc1/</id>
<published>2008-06-14T00:11:34-04:00</published>
<updated>2008-06-14T00:11:34-04:00</updated>
<category term="release" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<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>
</div>
</content>
</entry>
<entry>
<title type="html">Announcing 3.4 RC-1 Feature Freeze</title>
<author>
<name>n1xt3r</name>
</author>
<link rel="alternate" type="text/html" href="http://nanoblogger.sourceforge.net/archives/2008/05/23/announcing_3_4_rc-1_feature_freeze/" />
<id>http://nanoblogger.sourceforge.net/archives/2008/05/23/announcing_3_4_rc-1_feature_freeze/</id>
<published>2008-05-23T20:24:28-04:00</published>
<updated>2008-05-23T20:24:28-04:00</updated>
<category term="developer-notes" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<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>
</div>
</content>
</entry>
<entry>
<title type="html">Help Needed Updating Translations</title>
<author>
<name>n1xt3r</name>
</author>
<link rel="alternate" type="text/html" href="http://nanoblogger.sourceforge.net/archives/2008/05/13/help_needed_updating_translations/" />
<id>http://nanoblogger.sourceforge.net/archives/2008/05/13/help_needed_updating_translations/</id>
<published>2008-05-13T11:41:33-04:00</published>
<updated>2008-05-13T11:41:33-04:00</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<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>
</div>
</content>
</entry>
<entry>
<title type="html">Switched Version Control Systems</title>
<author>
<name>n1xt3r</name>
</author>
<link rel="alternate" type="text/html" href="http://nanoblogger.sourceforge.net/archives/2008/01/12/switched_version_control_systems/" />
<id>http://nanoblogger.sourceforge.net/archives/2008/01/12/switched_version_control_systems/</id>
<published>2008-01-12T17:02:13-04:00</published>
<updated>2008-01-12T17:02:13-04:00</updated>
<category term="developer-notes" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<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>
</div>
</content>
</entry>
<entry>
<title type="html">Save Time, Create Intermediate Previews</title>
<author>
<name>n1xt3r</name>
</author>
<link rel="alternate" type="text/html" href="http://nanoblogger.sourceforge.net/archives/2008/01/12/save_time_create_intermediate_previews/" />
<id>http://nanoblogger.sourceforge.net/archives/2008/01/12/save_time_create_intermediate_previews/</id>
<published>2008-01-12T15:27:18-04:00</published>
<updated>2008-01-12T15:27:18-04:00</updated>
<category term="tips-and-tricks" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<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>
</div>
</content>
</entry>
<entry>
<title type="html">Mutlitask</title>
<author>
<name>n1xt3r</name>
</author>
<link rel="alternate" type="text/html" href="http://nanoblogger.sourceforge.net/archives/2008/01/12/mutlitask/" />
<id>http://nanoblogger.sourceforge.net/archives/2008/01/12/mutlitask/</id>
<published>2008-01-12T14:54:37-04:00</published>
<updated>2008-01-12T14:54:37-04:00</updated>
<category term="tips-and-tricks" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<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>
</div>
</content>
</entry>
<entry>
<title type="html">Project Status</title>
<author>
<name>n1xt3r</name>
</author>
<link rel="alternate" type="text/html" href="http://nanoblogger.sourceforge.net/archives/2007/06/21/project_status/" />
<id>http://nanoblogger.sourceforge.net/archives/2007/06/21/project_status/</id>
<published>2007-06-21T17:03:36-04:00</published>
<updated>2007-06-21T17:03:36-04:00</updated>
<category term="developer-notes" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<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>
</div>
</content>
</entry>
<entry>
<title type="html">Not So Nano Anymore</title>
<author>
<name>n1xt3r</name>
</author>
<link rel="alternate" type="text/html" href="http://nanoblogger.sourceforge.net/archives/2007/04/19/not_so_nano_anymore/" />
<id>http://nanoblogger.sourceforge.net/archives/2007/04/19/not_so_nano_anymore/</id>
<published>2007-04-19T23:35:08-04:00</published>
<updated>2007-04-19T23:35:08-04:00</updated>
<category term="developer-notes" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<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>
</div>
</content>
</entry>
<entry>
<title type="html">Strange Logic</title>
<author>
<name>n1xt3r</name>
</author>
<link rel="alternate" type="text/html" href="http://nanoblogger.sourceforge.net/archives/2007/01/23/strange_logic/" />
<id>http://nanoblogger.sourceforge.net/archives/2007/01/23/strange_logic/</id>
<published>2007-01-23T01:17:02-04:00</published>
<updated>2007-01-23T01:17:02-04:00</updated>
<category term="developer-notes" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<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>
</div>
</content>
</entry>
</feed>
