Bohemian Blog

  1. About This Blog
  2. Archives
  3. Download Artwork
  4. Home

Archive for the 'Software' Category

Big Buck Bunny

Tuesday, June 3rd, 2008

If you don’t know, Big Buck Bunny is a free movie published under a Creative Commons license and created with the open source 3-D animation program Blender. Learn more at bigbuckbunny.org and you can watch a decent-res version right here:


Big Buck Bunny from Blender Foundation on Vimeo.

Fresh OpenOffice Templates

Saturday, April 26th, 2008

I was recently installing Ubuntu on an old Dell for a friend. I don’t try to push Linux on people, but if they want something cheap on an old machine I just tell them what a new version of Windows costs. At that point they either go buy a new machine instead or ask me more about Linux.

Once we get to that point I ask a them a few questions about how they use their personal computer. This recent situation called for compact disc booklet templates and a greeting card making application. In order to avoid complexity I rarely tell non-designers/tech geeks to give Inkscape, Scribus or the GIMP a try. What this means is finding some specialized application that makes the desired task super simple. If that isn’t available I turn to OpenOffice.

OpenOffice is surprisingly versatile and effective at the same time. There are also hidden benefits to using it, like dynamically generating letters for a small company with the power of OO’s mail merge tools or using embedded spreadsheets to create tables of data within a layout. Cool stuff that the professional-focused graphics tools leave to more specialized programs.

The end result, anyway, is that I decided to create some templates for OpenOffice. The related templates that the usual search engines pointed me to were not very good, so I thought providing these as free downloads might be helpful to some folks out there. What I have is a CD Booklet and Tray template and a Greeting Card template for OpenOffice Draw. Enjoy.

  1. Compact Disc Booklet + Tray template
  2. Greeting Card template

Subversion Commands

Sunday, April 6th, 2008

This glossary of Subversion commands is a work in progress.

My primary interest in creating this is to help people like me, that are not formally educated in programming. The abstract concept of version control is not difficult to understand or appreciate, but I have found that learning to use version control applications like Subversion or GIT without guidance is difficult.

You DO have to be familiar with command line basics. Remind me to write a glossary for the command line similar to this one. :D

Don’t forget the excellent Subversion book that is FREE: Version Control with Subversion. There is also the very useful act of typing svn help into the terminal.

Create a Repository
svnadmin create /home/jason/mySVNrepo
Create an SVN repository named “mySVNrepo” in my user directory.
Adding a New Project (Set of Files) to Your Repository
svn import /home/jason/genweb [one space] file:///home/jason/mySVNrepo -m "initial import"
Add/Import the directory “genweb” to the “mySVNrepo” repository with the log message (-m) of “initial import”
Log Message
A Log Message is a description of the changes associated with a particular action. A log message can be
A brief statement: -m "initial import"
An entire text file: -F MyLogMessage.txt
Check Out a Copy from the Repository
svn checkout file:///home/jason/mySVNrepo [one space] /home/jason/MyWorkingCopy
You cannot work directly on the files saved in the repository. To make changes you must first Check Out a copy (like a Public Library) of the files in the repository. The checked out copy will be saved in the directory “MyWorkingCopy”
Command Line Basics
Before you go any further it is important that you understand how to use the command line.

  • The Command Line Interface (C.L.I.) is a way of interfacing with a computer operating system by way of commands that are expressed with lines of text. This is in contrast with the much more common Graphical User Interface (G.U.I.), a way of interfacing with a computer operating system by way of commands that are expressed with graphical menu selections or the movement of the mouse.
  • The CLI generally operates in a certain context: a file directory (or “folder” for those of you coming in from a GUI :D ). In the world of *NIX the most common CLI is called the “Bash Terminal”. In this terminal the context is stated before the flashing cursor: jason@NEWHOTNESS:∼$ This means that the user is jason, the machine is NEWHOTNESS and the is shorthand for the active user’s home directory.
  • You can change the directory in which you are working with the change directory command. For example:
    cd ∼/Desktop will move the CLI context to my desktop directory and indicate that it has done so like this: jason@NEWHOTNESS:∼/Desktop$
  • Similar to HTML, the CLI can refer to files in two ways: absolute locations and relative locations. The change directory command allows you to move to the directory where the files you wish to act on are located. This saves you the trouble of typing out the entire absolute file path every time you execute a command.
  • To accomplish the following, it is necessary to change to the directory of your working copy. Some of these Subversion commands need context.
Check Status
svn status
Will retreive feedback on the status of your working copy files in relationship to those in the repository.
Status/Attribute Shorthand
  • A = Added
  • C = Conflicted
  • D = Deleted
  • I = Ignored
  • M = Modified
  • U = Update
  • R = Replaced
  • X = item is unversioned
  • ? = item is not under version control
  • ! = item is missing
  • ∼ = versioned item obstructed
Subversion uses letters to represent the relationship of your files to those in the repository. The ones that say a file is “unversioned” or not under version control illustrate that the actions of adding, moving or deleting files in the repository must be accomplished with the SVN application rather than your operating system’s file browser.
Update to Match Repository
svn update
Update your source to match the latest version in the repository, notifying you of every updated/added/deleted file as well as updates that may conflict with your own changes to the source.
Resolve Resulting Conflicts from Update
svn resolved '~/DevFolder/sourceFile.py'
After you have resolved the conflicts identified by Subversion, you have to tell it that you have done so.
Create Patch File
svn diff >> PatchName.patch
If you are not on the developer list for a project, you will most likely not be able to commit your changes directly to the repository. In this situation you can email or post a ‘patch’ file. The patch file is a very concise text file containing a description of the changes you have made, what file they are in and where in that file they can be found.

GRAMPS 3.0 Coming Soon!

Saturday, March 15th, 2008

I am dabbling in software development with the GRAMPS (Genealogical Research and Analysis Management Programming System) project. It is a genealogical database building program that is available for Linux.

I got involved with the developer group after struggling to make my genealogy site look great. The markup techniques were outdated or wrong and nothing had an ‘id’ or ‘class’. After recommending the change to the devs, they let me know that it wasn’t a top priority and recommended that if I wanted to improve the output, I would have to do it myself. This would involve working with Python and also looking stupid asking dumb questions about version control and compiling GRAMPS myself to check my work. With a little time and patience (as well as being unemployed for three months in Nashville with just my wife for company) I put myself to the task.

I have been updating the ‘Narrative Web’ plugin, written in Python, that exports your genealogical data into a web site. Mostly I just corrected and updated the XHTML markup that was present amidst the Python. I did hack up the code a little so that the navigation could be styled to indicate the active page or section.

My primary focus was to make the sites more accessible to CSS. In the process I created a few style themes to be distributed with the application. I am quite proud of them and excited to hear feedback from the user community once GRAMPS 3.0 is released. Following is a few screen shots of the site output as it was and the four primary styles that I developed so far.

GRAMPS 2.2 Narrative Web Plugin Output

‘Modern’

GRAMPS 2.2 Modern Style

‘Tranquil’

GRAMPS 2.2 Tranquil Style

GRAMPS 3.0 Narrative Web Plugin Output

‘Basic - Ash’

Basic comes in a variety of color schemes and is based on the original ‘Modern’ style. I hate using the word ‘modern’ outside of discussions of philosophy or fine art. The general public in the U.S. is convinced that it means ‘contemporary’. No doubt this is thanks to decades of marketing professionals trying to make their products sound impressive.

GRAMPS 3.0 Basic Style

‘Nebraska’

I named this after my home state. It was my original stylesheet for the new markup. For that reason a lot of id and class solutions in the markup came out of challenges created by this design. I wanted this design to look fresh and inviting while being very easy to read.

GRAMPS 3.0 Nebraska Style

‘Mainz’

Named so for Gutenberg’s birthplace, this design was created to show off the potential of the new markup. It’s a bit repetitious of me, but for some reason the vision of the website as a sheet of paper is very appealing. I started this one based on the name of one of the original GRAMPS styles: Certificate. The original style didn’t really look like a certificate, but this one does.

GRAMPS 3.0 Mainz Style

Default Print Style

This is probably the style that will be the most overlooked. With XHTML + CSS there is the potential for the browser to automatically switch stylesheets based on the media of representation. You can define one stylesheet as ’screen’ and another as ‘print’ (there’s actually quite few different defined mediums according to the W3C, including ‘mobile’ and ‘projection’). GRAMPS is the first project where I could form a strong argument for using this feature to its full potential. Now anytime someone prints a page from a Narrative Web site, the output will be well designed for print with an emphasis on efficiency and legibility.

GRAMPS 3.0 Default Print Style

There’s still more work to do, but I wanted to get the word out on this great update to GRAMPS that’s just around the corner. Along with my relatively minor contributions, the other developers have been working very hard to make 3.0 an impressive and powerful update. If you are interested in trying it out, do keep in mind that in the open source world ‘.0′ means ’submit final work to users and fix a lot of reported bugs’. So, if you are looking for a perfect application, I recommend waiting for GRAMPS 3.1. ;)

Embed Flash Videos with FlowPlayer

Sunday, January 20th, 2008

I just stumbled across the free FlowPlayer Flash player for embedding videos in a web page. I can’t imagine a more simple solution. It’s just one SWF file and some specific markup for putting it to work on a web page.

Let me know if there is a friendlier open source solution out there. This seems to work well enough.