Command-Line blog posts

So, it only seems fitting that I should talk about a command-line interface to posting on this blog. No, I do not mean using links or the like, but a way to post from the command line.

So, this post is being typed up in vim on my Fedora 8 laptop. I will use this great little tool I found called wppost to post. wwpost is part of the perl module WordPress::Post.

A brief summary of its commands are bellow:

 -c category, can be a list separated by commas, no spaces
-t title
-i description, main body of post, if it has a slash, it is interpreted as a file to slurp
like a text or html file
-D iso formatted date for post, can be left out
-T if there are image attachments, place them as thumbnails only, with link, not just resized

Some usage examples taken from the man page:

 Most basic of usage, (provided you have a ~/.wppost file) wppost -t 'hi everyone' -i 'i just wanted to say hello' If you want to specify two different categories: wppost -t 'Another Apple' -i 'Apples are really great. I do love them so.' -c food,rant -D 20071231 If the body of the post is in a file wppost -t 'title here' -i ./content.txt If the content of the post is in a file and you want to use the file
name as the title wppost -i ./Title_Here.txt If you want to have file attachments: wppost -t 'recent photos' -i 'these are recent pictures i took' ./*jpg

Pretty cool, huh?

Peace out!

Pacman for Console

Pacman for Console

You are tired of hearing your GUI friends talking about their games? Tired of playing simple Adventure? Why not try Pacman for Console?

The game play is just like the old quarter game you played long ago, and the best part, you can develop your own maps! Check out the screen shot:

Screen – terminal multiplexer

Screen – terminal multiplexer

I usually have one screen running at all time, and in that screen session, I ssh to various hosts that I am working, and have screen running on those hosts.

Additional Links

GNU Screen – GNU Project – Free Software Foundation (FSF)
GNU Screen – Summary [Savannah]
GNU Screen – Wikipedia, the free encyclopedia
Screen User’s Manual
start [GNU screen]
Remote terminal session management using screen How to use screen to detach from and share terminal sessions A Brief Introduction to Screen! Linux, Home Automation, VoIP, Radio Scanning, PMR446, CB Radio, Cryptography, Handspring Visor, Psion Series 3 and much more. screen – The Terminal Multiplexer
[Power Sessions with Screen

iKog – the simple todo list

iKog – the simple todo list

iKog – the simple todo list

So I am looking for a good to-to list manager, and I stumbled across ikog.  ikog stands for “It Keeps On Growing”, and it is a pretty nice todo manager which has been influenced by the GTD school of thought. Currently, I am using it for my daily todo manager, and using the python gtd tool for my long term list management.  Give it a whirl, you might like it!

BINS Photo Album

Edit Note 2018-03-24: I am now using sigal for this, and I am not sure if BINS is still maintained.

The BINS Photo Album is a package to generate static web pages from the command line. Why would you want to do this? Well, most of the dynamic web photo albums require that the server do all the work when the client requests the images, thus either slowing it down, or requiring a very beefy server. Also, you introduce the chance for a script-kiddie from hacking your site. Not good.

Enter BINS. Some of its features include:

  • generated album is static : it’s just plain HTML/CSS/Javascript files (Javascript is not mandatory to view the album), no need of any dynamic language (php, asp, etc.) nor database on server-side. Album can be burned on CD or DVD.
  • album can contain other albums (sub albums): the album can have a tree structure ;
  • generation of a thumbnail and of scaled images for each picture ;
  • generated album appearance is fully customizable by using HTML templates (5 different templates sets are currently provided) and configuration parameters: colors, number and size of thumbnails per page, number and size of scaled pictures (in pixels or percentage of the original image for the size), fields to display, etc. Those parameters can be set globally (system wide or per user), per album or sub album or per picture (such as, you can change the colors of one sub album or one just one picture page in an album by editing its description file) ;
  • several description fields (date, location, etc…) can be associated with the pictures (in text or HTML format). You can easily add or customize these fields ;
  • description fields can be set or modified via a command line interface or a GTK+/GNOME-based GUI ;
  • A search engine is included in the album : you can find some pictures by searching keywords in their description fields.
  • Album can be generated from pictures managed by Zoph.
  • speed up album browsing by performing a clean up of HTML code to reduce its size and by pre-loading thumbnails in browser cache using JavaScript code ;
  • Exif information and Digital camera support :
    • use the EXIF data structure found on some image files (usually, those produced by digital cameras) to fill automatically some fields (date and time for example).
    • BINS use the Orientation EXIF tag (which is normally set when you rotate a image on you DigiCam) to rotate the picture to correct orientation.
    • For each image, a page provides all information available on the picture and the DigiCam settings when the photo was taken.
    • Additional information are provided for Canon DigiCams.
    • Tooltips provide information about the meaning of some of the fields.
    • All EXIF information is saved in the XML description file, preventing they disappear when the image is modified ;
  • internationalization (generation of album in different languages) using gettext. Current languages supported are Catalan, Dutch, English, Esperanto, Finish, French, German, Hungarian, Italian, Japanese, Polish, Russian, Spanish and Traditional Chinese ;
  • customizable charset encoding for HTML generation, including UTF-8 (Unicode) support by default. Generation of the Apache .htaccess file for correct encoding charset in HTTP headers ;
  • use of XML files to save user description of pictures and albums/subalbums and Exif data from image file ;
  • handle correctly file and directory names with spaces or other odd characters (excepted ‘/’), and create valid escaped URLs ;
  • generate valid HTML/XHTML code. The level of HTML depends of the style used. Some of the styles are valid, table free XHTML.

The web site has some great examples. Go check them out.

Strayed from the path

In two ways…first, I have not updated the site in a while, and I
need to get back to updating it.

Second, because I have not been true to my cli roots. I have moved
from my default MUA of the last, oh, 8 years, and flirted with a GUI
MUA, thunderbird. It was pretty.
It was sexy. It let me see everything then and now. It tried to
seduce me into using a GUI for more…

But, then I got behind in my email, and it was taking longer and
longer to catch up. sigh Two days ago, I switched back, and now, I
am fully caught up on my inbox, and making headway on my actionable

cli bug/issue/task tracking system?

cli bug/issue/task tracking system?

Fresh from freshmeat:

What is DITrack? DITrack is a free, open source, lightweight, distributed issue (bug,
defect, ticket) tracking system using a [Subversion]( repository instead
of a backend database. It is written in Python and runs in UNIX
environment (*BSD, Linux, MacOS X). The project is inspired by the idea of [Subissue]( issue tracking system. However, while Subissue aims in merely replacing the traditional
database storage with Subversion repository, DITrack is a major
rethought of the issue tracking system paradigm. The main difference
is that instead of sticking to the centralized model (one database,
one web interface, one mail integration machinery), DITrack treats
underlying Subversion storage as a versioned distributed file system
which enables benefits of truly distributed operation mode.

Window Manager for tty?

Window Manager for tty?

The package screen is
something that has been around for a long time.

With screen, you can have many session running on tty, and you can switch to another session without touching a mouse. With the proper configuration, you can get notified if there is some change (like if you have a IM client up) or if there is no output (say, if you are watching a compile session).

You are in the zone working, and then you notice the time, and you have to log out and go home. Is this a problem? No, with a simple d, you can disconnect the screen session, log out, go home, log back into that machine, and resume your session just where you left off.

One of the other really features feature that screen has is cut and paste between sessions. The is very handy when adapting code (or articles) into a new file.

Screen References