Keywords
Username: spencertipping
Location: United States, Los Angeles
Summary
I am a skilled developer with ten years of programming experience, ranging from web applications and Firefox plugin development to data analysis and simulation. I'm new to Elance, but some of the work that I've done is available on my website, http://www.spencertipping.com.
If you can specify a problem, then I can probably implement the solution. I'll give you honest feedback about whether I think I would be the right person for the job, and transparency during the development process to ensure that we're on the same page. Some of the things I'm best at are:
1. Taking an open-ended problem statement and providing a set of tools to build solutions.
2. Optimization-related problems, including numerical analysis and statistics.
3. Functional programming for complex algorithmic problems.
4. Web-based applications, especially those with client-side Javascript computation.
5. Domain-specific language and compiler development.
If you can specify a problem, then I can probably implement the solution. I'll give you honest feedback about whether I think I would be the right person for the job, and transparency during the development process to ensure that we're on the same page. Some of the things I'm best at are:
1. Taking an open-ended problem statement and providing a set of tools to build solutions.
2. Optimization-related problems, including numerical analysis and statistics.
3. Functional programming for complex algorithmic problems.
4. Web-based applications, especially those with client-side Javascript computation.
5. Domain-specific language and compiler development.
Experience
About Me
Profile Type: Individual
Number of Employees: 1
I'm a freelance developer living in Los Angeles. I enjoy computational research, learning about a better way to do almost anything, and writing application frameworks.
For large applications, I usually take a bottom-up approach to development; that is, write basic frameworks to reduce the tasks at hand to simpler ones, and then work downwards from the feature-level specifications. This results in a well-designed foundation for the application that rarely needs maintenance, and when changes are required they involve little code.
I also document my code meticulously. One of the principles I employ whenever possible is literate programming, which places an emphasis on documentation and encourages concise code. There are many advantages to this approach, one of the more important ones being that it is easy to write about how a particular module fits into the application as a whole, putting each element of the source into a larger context. This provides a much shorter learning curve for those maintaining the code in the future.
For an example of literate coding, see http://www.spencertipping.com/mathbio-yggdrasil.pdf, a research simulation I developed in C. The source for the PDF can be compiled both to a C source file and as a TeX document.
For large applications, I usually take a bottom-up approach to development; that is, write basic frameworks to reduce the tasks at hand to simpler ones, and then work downwards from the feature-level specifications. This results in a well-designed foundation for the application that rarely needs maintenance, and when changes are required they involve little code.
I also document my code meticulously. One of the principles I employ whenever possible is literate programming, which places an emphasis on documentation and encourages concise code. There are many advantages to this approach, one of the more important ones being that it is easy to write about how a particular module fits into the application as a whole, putting each element of the source into a larger context. This provides a much shorter learning curve for those maintaining the code in the future.
For an example of literate coding, see http://www.spencertipping.com/mathbio-yggdrasil.pdf, a research simulation I developed in C. The source for the PDF can be compiled both to a C source file and as a TeX document.

