Software
Projects
PharosPHP is a lightweight MVC PHP framework to make developing PHP applications quicker and easier. The project is hosted on Github, and there is plenty of example code to go along, so download the framework and use it in your next project!
That’s What She Said Jokes is the only application for iPhone & iPod Touch delivering user contributed and feature jokes several times a day! Read more on the That’s What She Said Jokes website or grab your copy for 0.99 cents in the iTunes Store now!
Shit Boots is my first attempt at creating a game. A twist on traditional card games, be sure to check it out.
Biologically Inspired Computation Series
See the original post about the series here.
Activation/Inhibition Cellular Automaton
This is a simulator written in Cocoa for running a series of experiments and creating Excel files with the results. Activation/Inhibition CAs are similar to how a cell on a zebra determines if it should be white or black. There is no overall governing authority, yet patterns arise naturally. Intermediate example of using Cocoa classes such as open/save panels, notifications and the file manager. Excellent for examining how to code complex mathematical formulas and summations in C code.
Hopfield Network
This is a simulator written in Cocoa to test the relationship between the number of stored patterns in a Hopfield Network and the accuracy with which they are remembered. A very interesting exercise making use of NSOperation and NSOperationQueue for simple multithreading and general Cocoa design patterns such as using a delegate.
Back Propagation Neural Network
Another Cocoa simulator written to investigate the relationship between parameters for a network. Given a set of data, can train the network to recognize that data. Then from there, the network can ‘solve’ a problem. In this simulation, there are two mathematical equations that are solved with this network. Illustrates custom views, multithreading, and more.
Genetic Algorithms
The last Cocoa simulator in the series, written to investigate the relationship between input parameters for a given population of organisms over several generations. Parameters include the probability of mutation in the offspring’s chromosomes, number of chromosomes per individual, how much sharing of chromosomes occurs when two individuals mate, and creating your own fitness function to quantify the ‘best fit’ individual based upon the DNA. Multithreading and general Cocoa design patterns.
Source Code
I have put some source code online demonstrating some examples of various Cocoa techniques. There is also some code available for Javascript. There are always more examples by choosing the “Code” category and viewing all the posts there, but here are some specific files you can open and read through.
MB Stepper TextField
I created this as a subclass of NSTextField so that when the user uses the up/down arrows while in the field, the int number will increment/decrement accordingly. The field grabs the upper and lower bounds for cycling through from the NSStepper, so you have to hook this up to one of those for great functionality, or tweak it a bit on your own to use without. This comes with a small example application as well.
MB Swap Linked Images
I created this because I wasn’t able to find any well written solutions available online. Basically, you call a function LoadImages(directory_name) on page load in your HTML document and this set of Javascript functions will load your images into three containers (left, middle, and right). Each image has it’s own corresponding link, and the images each rotate out 9 seconds, 3 seconds apart from one another. You would most certainly have to adapt this code to your needs, but it’s clean with decent documentation and you’re free to ask me questions. It’s used on the site for the swapping big banner images near the top of every page.
Winner Generator
This is a short C program that I created to determine the winner of a contest I had here on the website. A great working example of how to use a random number generator.
Playlist Generator
This is the hardest program I’ve had to code to date and makes extensive ues of recursion, red-black trees, doubly-linked lists and more. Heavily documented and includes the original program description/prompt so you can write your own if you wish. Sample input files included. Read more about this code from this post.
