Jason Stredwick

jason.stredwick@gmail.com

Current Residence:
Bothell, WA 98011
me


Home
CV / Resume
Masters Work
WhirlingDervish
Programming
   Projects
   Various Code
   Additional
   Ideas
Misc. Ideas
Personal
All source code under Programming that I wrote falls under the license given at the bottom of the page, unless otherwise specified. A copy of the license can also be found at http://www.boost.org/LICENSE_1_0.txt.

Updates

November 17, 2009
I have posted a updated version of my Endian component. It now includes additional specializations of the ReverseBytes methods to improve performance. One addition is the use of SIMD extensions for hardware byte swapping.

May 8, 2008
Thanks to Andrew Ford for supplimenting my endian class, which is used during run time, with a compile time version (plus a few features).

August 6, 2006
Added a couple more topics to my ideas page. I have also been thinking about moving the ideas page to my new forum. However, the forum is new enough, that I am not sure if I will keep it yet, so I will keep the page for now.

July 19, 2006
Added the Comm subsystem, which currently only holds the signal/slot management class called Connection. This class utilizes the Functor subsystem to imitate the QT signal/slot mechanism.

I also changed iStorageType slightly, created a new functor called ReturnlessMemFunWrap, and changed the way the parameters are passed and stored by a functor. Previously, I enforced a pass by reference for pointers, but the discontinuity between the template parameter and the function parameter was causing me issues with utilizing functors in other classes. So now I changed it to throw exceptions instead of enforcing non-null input.

July 18, 2006
Fixed ParmX typedefs in functor classes in Functor subsystem.

July 13, 2006
Added a modified version of the Functor and Type subsystems.

July 5, 2006
Added a extended version of the Loki::Functor and broke the TypeInfo headers into their own group. Both groups of code are available under Various Code.

May 29, 2006
Added an simple, first-stage version of an Endian class. I also added licensing information. I also changed the #define in QuantityUnits.h, hopefully for the last time.

May 28, 2006
Added better source code documentation and cleaned up zip file. The information is under Programming::Projects::VariousGraphics.

May 27, 2006
Revised the Monte Carlo Raytracer page.

May 26, 2006
Performed some clean up and documentation of the TempleAndFountain project. I documented most of the code files, but a few remain. A portion of the code was originally stripped out of another of my projects and I plan to unite those pieces. Also, I plan to return to this project and improve it once I complete some of the cross-platform, cross-compiler GUI work I started recently.

May 7, 2006
Added typedef T type as a public member of Ref and tested that boost::addressof function can also determine the address of a Ref.

May 5, 2006
Figured out I needed to be able to take the address of the Ref<T> and ReRef<T> classes, so I added the Address method.

May 5, 2006
Added a short rant about templates in Ideas.

May 5, 2006
Modified Ref and ReRef classes
Decided how I wanted to handle the Ref<const T> and const Ref<T>.

April 18, 2006
Added my Ref and ReRef classes to the various code section
These classes are intended to be transparently used in place of an actual reference. However, they still have two issues to be resolved.

April 18, 2006
Added my Quantity classes to the various code section.
These header files are intended to not only unify the naming of builtin types across platforms but also provides builtin types in class form that should be transparent to the programmer.

Spring 2004
Graphics project - polygon meshes and Catmull-Rom curves

Spring 2004
A Monte Carlo based ray tracer

Spring 2004
A graphics project - Temple and Fountain

Fall 2003
High mutation rates

Spring 2003
Socket shifting

License

Boost Software License - Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following:

The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.