You can open this Box - it has just code in it

On and off, in our lives we get the urge to do things that we might have never done before. Well, most of us curb that urge (I have not yet been up to it for sky diving, though I might have had the urge plenty of times). Development is one of those urges, kids read about a 14 yo and feel inspired, then there is news of another 12 yo that used Silverlight.

Being human, we are all faced with the urge to create at least once, as kids we try to think up of inventions, things that make life easy (however ridiculous it might sound at the time) some take that further and become inventors, some developers, and so on. The real challenge is while developing, I day real challenge because while developing, because this is an organically evolving field. A new framework or language is used while it is being developed, so the rules and syntax, etc are all subject to change. It is very rare to find a standard written in stone that does not require to change or does not change.

So, how does one go about learning to develop? The article is not about How to learn to develop, it is about a tool that will assist in the process. From Vadim Shpakovski comes a simple but elegant looking utility application called CodeBox. As the name suggests, it is where you would collect code. While developing there are two methods that I have found most commonly used by people, 1. Patterns and 2. Copy Paste block code. What these involve is placing templated code into the project and tweaking it accordingly. Patterns would be based off a template and for the not so organised, the so called patterns are copy pasted in blocks.

Developers, at what ever stage and expertise, do want to save blocks of code that they can reuse, or use for illustration in blogs, articles, or just for their own projects. So CodeBox presents a simple window view, nothing complicated, three columns view. The snippet preview is perhaps quite intuitive and pleasing to the eye. It has space for the snippet name, tags or keywords that identify with this snippet (useful for searching).

The syntax highlighting works quite well, and has support for over 104 syntax. A neat feature that I love is that the developer has separated this into actively used and available. So the ones that are chosen as active are displayed in the drop down to choose from, where as the entire list in displayed in the check mark button.

Some of the things that are possible for organising the snippets (called assets by the developer) are creating folders to hold snippets, creating groups and smart groups. Snippets can be created from text on the clipboard or a blank one. The snippets can be edited in an external editor, and the syntax can be changed at any time (as mentioned earlier there is support for over 104 types)

The first time around, the application requests to save a file which shall contain the snippets, this is a XML format with binary data, so it is not editable using a text editor from outside of CodeBox, it is a CoreData database saving data in binary form in a XML format.

The utility of CodeBox could have ended here, but the developer added the "and one more thing..." it registers a menu bar app called CodeBar, which is the quick and easy way to use the snippets into the editor of choice. To insert a snippet into code all it requires is selecting the file that houses the snippets, selecting the group/smart group that has the snippets or select all snippets (for a very large list, when there are a lot of snippets) and just select the snippet name. Voila! Code inserted in to the current active editor. Alternatively there is a searchbar to locate snippets quickly which is really handy when dealing with large numbers of snippets.

I must admit that getting this to work was a bit of an issue at first, the reason being very simple, Preferences settings. There are three tabs for preferences, Settings, CodeBar and Advanced. Settings has two options the source text size and the Editor font. It is in the codebar section where the Paste selected Snippet immediately has to be ticked for the functionality to work. and to show the CodeBar on the MenuBar, there is a setting Show CodeBar in menubar. I have enough screen space on my screen so I am fine with Menubar icons, but if there is an issue with space like on the MacBookPro, this is definitely one icon I would want as a serious developer. The Advanced section is for specifying the default name for a new asset. It is here that the developer explains that Assets and Snippets are not interchangeable terms, A Snippet can have multiple assets. The asset names can be changed. This is helpful specially when a snippet is dependent on multiple files, rather than place all the data in one file with place holders that indicate breaks, it is easier to manage them into their own little classes or sections. These assets can be edited with an external editor which can be picked from the system default or set from the menu by selecting the alternative editor to use.

For those that love themes and darker backgrounds with coloured syntax text, the window can be set to themes, (these conform to the TextMate format of themes) there are four themes already included.

CodeBox is priced at $4.99 on the Mac App Store, for under a fiver, this is a utility that is a must for anyone that works with computers, not just developers. The possibilities of this utility are endless and it can resolve other uses that were not originally envisaged while developing this software. To give an example, let's take the scenario of a student that is writing a project. The Groups/Folders could form the assignment name/subjects. The snippets could be the specific assignment and since there can be more than one asset associated with the snippet, one asset can be References or links, the others can be articles picked up from the net or magazines. The only limitation is that CodeBox was created for code snippets (read as TEXT only) if the assets could be various filetypes, the power of the utility would increase exponentially, there is no other software that does something similar. It can save Webpages as assets (linking them to the asset tab, very useful for quick reference).

Even with what it can do with version 1.2 it is worth the fiver paid to make life quite easy and increase productivity. The developer shall obviously be updating the software so it is a long term low investment into awesomeness. This is one utility that may be low in price but not at all in features, it has more features and utility than some $50 applications.


Software : CodeBox
Version : 1.2
Publisher : Vadim Shpakovski
Website :
Twitter : @vadimshpakovski
Platform : Mac OS X (10.6.x or higher)
Demo : NONE
Price : $4.99
Mac App Store :

And we have a copy of CodeBox for one lucky winner, all you need to do
1. Follow @whatsin4me
2. Retweet the message "Read, follow @whatsin4me and RT this msg. You might win a copy of #CodeBox from @vadimshpakovski"