
ETA
ETA is an ORM (object / relational mapper) built for .NET 2.0. It supports multiple storage devices (sql, xml, flat file, etc), using the provider pattern. It supports desktop or web applications. It doesn't require a table mapping file; uses only 1 line of configuration. Also supports tagging (think del.icio.us) out of the box. The syntax is simple and natural.
Not only that, unlike other systems that support html generation of admin pages, ETA comes with a desktop administration application for any entity types you can make.
The ETA system is a Middle Ware layer between your code and your storage mechanism. Reference it in your Business Logic Layer, and create your application on top of it.
I love this system because it's easy to use, totally dynamic, and flexible to change. In fact, it run's this website's back end. Each of my Blog Posts, Projects, etc are entities persisted by ETA.
Although I do love it, this system wouldn't be good for enterprise scale use. This is because in order to achieve the easy syntax that I wanted, every save/load operation consists of 2 layers of .NET Runtime Reflection and a hit to the database. If you have a high volume website or large application, this probably wouldn't be as performant as you need.
For version 2, I want to upgrade to .NET 3.0 and integrate with LINQ for my searching mechanism. Right now, it's all code based (very slow).
This project was done because: Wanted to learn about reflection
The team size was: 1
The role I played was: Sole Developer
That role gave me these responsibilites: Architect, Build, Test
The project was for the: Windows / .NET platform
It uses these technologies: .Net 2.0, SQL Server 2005, XML
It was written in : C# 2.0
The target users were: Developers
We used source control: True
It was started on: 10/1/2006 12:00:00 AM
And it ended on: 1/1/1900 12:00:00 AM
It is currently: 90.000000% complete


UMap Importer
Create an application to import complicated Excel product data into a complicated e-commerce backendCreate an application to import complicated Excel product data into a complicated e-commerce backend
This project was done because: The product data was too big to enter by hand, and the current importer didn't work
The team size was: 2
The role I played was: Team Lead
That role gave me these responsibilites: Design initial architecture, drive and deploy the project
It uses these technologies: ASP.NET, Dot Net Nuke, Portal Store
It was written in : C#
The target users were:
We used source control: True
It was started on: 6/1/2006 12:00:00 AM
And it ended on: 6/30/2006 12:00:00 AM
It is currently: 100.000000% complete
It cost: 0.000000 (approx)
The project was profitable: Yes
It was sold through: Artemis Solutions Group


Web Test Harness
A testing harness for web applications. Similar to nUnit but very limited in functionality.
This project was done because: Learn the waterfall process as well as reflection and C#
It was for: Kurt Stirewalt's CSE 435 - Software Engineering II course at Michigan State University
The grade was: 4.00
The team size was: 2
The role I played was: Student
That role gave me these responsibilites: Design overall system as well as write the logic for most of the application
It uses these technologies: .NET Runtime Reflection
It was written in : C#
The target users were: Marketing / business users
We used source control: True
It was started on: 1/1/2006
And it ended on: 5/5/2006
It is currently: 100.00% complete


Peer to Peer Chat
A peer-to-peer library built to support quick development of collaboration style application. Things like chat rooms, or instant message applications, or even chatting in a game. With custom Visual Studio project types, and GUI controls, you can build a p2p chat client in 10 minutes.
This project was a partnership with Microsoft's peer-to-peer platform team and my senior design team. We built on top of a managed version of the new peer-to-peer networking api's in Windows XP SP2 and later. The project was supposed to take two semesters but we finished it.
This project was done because: To get real world experience and a grade.
It was for: Dr. Wayne Dyksen's CSE 498 - Senior Design course at Michigan State University
The grade was: 4.00
The team size was: 4
The role I played was: Project Manager, Client Contact, Architect, Developer
That role gave me these responsibilites: Organize schedule and deadlines. Communicate progress to client. Help design class structure of system. Implimented object serialization as primary transmission format over p2p network.
It uses these technologies: .NET, Microsoft Peer-to-Peer Platform
It was written in : C# 2.0
The target users were: Developers
We used source control: True
It was started on: 1/1/2006
And it ended on: 5/5/2006
It is currently: 100.00% complete


SpartanBuy Inventory Database
An inventory database written in Prolog
This project was done because: To learn about Prolog and logical programming
It was for: Betty Cheng's CSE 452 - Organization of Programming Languages course at Michigan State University
The grade was: 4.00
The team size was: 1
The role I played was: Student
That role gave me these responsibilites: Design the rules and facts to support orders and inventory reporting
It uses these technologies: Prolog
It was written in : Prolog
The target users were: Developers
We used source control: False
It was started on: 12/12/2005
And it ended on: 12/16/2005
It is currently: 100.00% complete


ACD
A feature addon to a custom component to a CMS. Feature is to allow a super user to see all users private content.A feature addon to a custom component to a CMS. Feature is to allow a super user to see all users private content.
This project was done because: Wanted better managment of data
The team size was: 2
The role I played was: Developer
That role gave me these responsibilites: Write and test the logic for the feature
It uses these technologies: ASP.NET, Rainbow, SQL Server 2000, Access
It was written in : C#
The target users were: Managment
We used source control: True
It was started on: 11/1/2005 12:00:00 AM
And it ended on: 2/1/2006 12:00:00 AM
It is currently: 100.000000% complete
It cost: 0.000000 (approx)
The project was profitable: Yes
It was sold through: Artemis


AlphaSynth
An audio synthesizer and song editor.
This project was done because: To go beyond project requirements and create an application worth using
It was for: Charles Owen's CSE471 - Media Processing course at Michigan State University
The grade was: 4.00
The team size was: 3
The role I played was: Student
That role gave me these responsibilites: Write code for audio functions, create editors for functions, design website
It uses these technologies:
It was written in : C#
The target users were: General public
We used source control: False
It was started on: 10/15/2005
And it ended on: 11/15/2005
It is currently: 100.00% complete


SpartanBuy
An e-commerce store written in Python without a SQL backend. We created our own HTML rendering object model to support this.
This project was done because: Learn about functional programming in Python
It was for: Betty Cheng's CSE 452 - Organization of Programming Languages course at Michigan State University
The grade was: 4.00
The team size was: 1
The role I played was: Student
That role gave me these responsibilites: Design an e-commerce store written in Python with no SQL backend
It uses these technologies: Python, XML, XHTML
It was written in : Python
The target users were: Online Shoppers
We used source control: False
It was started on: 10/10/2005
And it ended on: 11/28/2005
It is currently: 100.00% complete


Relius Sync
A service that poll's irregular contact data from a legacy system, normalizes it in a staging SQL Server, then synchronizes it with Exchange public contacts.A service that poll's irregular contact data from a legacy system, normalizes it in a staging SQL Server, then synchronizes it with Exchange public contacts.
This project was done because: Wanted synchronized contact data between systems
The team size was: 3
The role I played was: Team Lead, Architect,Tester, Deployer
That role gave me these responsibilites: Design a system to migrate data on a timed basis. Test and deploy the application seamlessly.
It uses these technologies: .NET, SQL Server 2000, Web Services, Oracle 8i
It was written in : C# 2.0
The target users were: Mobile sales reps
We used source control: True
It was started on: 10/1/2005 12:00:00 AM
And it ended on: 7/1/2006 12:00:00 AM
It is currently: 100.000000% complete
It cost: 0.000000 (approx)
The project was profitable: Yes
It was sold through: Artemis


DKwon's Dance Grooves Video
The objective was to create a video from still images. I ripped the frames from my favorite movie, and added a couple special effects on top.
This project was done because: To learn how special effects are created for movies
It was for: Charles Owen's CSE 471 - Media Processing and Computing course at Michigan State University
The grade was: 4.00
The team size was: 1
The role I played was: Student
That role gave me these responsibilites: Impliment several special effects for a movie that I came up with
It uses these technologies:
It was written in : C++
The target users were: Humans
We used source control: False
It was started on: 9/5/2005
And it ended on: 11/10/2005
It is currently: 100.00% complete


Excel Clone
A program that evaluates expressions between cells in a spreadsheet. It uses a cross-platform GUI toolkit and text boxes to represent the cells.
This project was done because: To learn about the observer pattern
It was for: Kurt Stirewalt's CSE 335 - Software Engineering course at Michigan State University
The grade was: 3.00
The team size was: 1
The role I played was: Student
That role gave me these responsibilites: Design and impliment the GUI for an Excel-like backend
It uses these technologies: FLTK
It was written in : C++
The target users were: Spreadsheet Users
We used source control: False
It was started on: 8/22/2005
And it ended on: 9/6/2005
It is currently: 95.00% complete


EMR
A small practice management application taylored to specialty health care providers. This application has many modules and features that I cannot list, but it is all-inclusive. I came on board about 2 years into developmentA small practice management application taylored to specialty health care providers. This application has many modules and features that I cannot list, but it is all-inclusive. I came on board about 2 years into development
This project was done because: Doctors need electronic systems instead of paper
The team size was: 6
The role I played was: Team Lead
That role gave me these responsibilites: Consultant, Developer, Tester, Deployer
It uses these technologies: .NET, SQL Server 2000, OPF (ORM)
It was written in : C#
The target users were: Heath care providers and staff
We used source control: True
It was started on: 5/30/2005 12:00:00 AM
And it ended on: 11/30/2006 12:00:00 AM
It is currently: 100.000000% complete
It cost: 0.000000 (approx)
The project was profitable: No
It was sold through: Artemis


Hospice
Access application to run the business, that synchronizes with a CMS website backend. Custom features added to CMS to support integrationAccess application to run the business, that synchronizes with a CMS website backend. Custom features added to CMS to support integration
This project was done because: Wanted to upgrade current database and website
The team size was: 3
The role I played was: Consultant, Architect, Tester, Deployer
That role gave me these responsibilites: Design a system that would be easy to use but very quick to develop. Train and support users of the system.
It uses these technologies: ASP.NET, Rainbow CMS, Access, Python
It was written in : C#, VBScript, Python
The target users were: Staff of business
We used source control: True
It was started on: 5/1/2005 12:00:00 AM
And it ended on: 8/31/2005 12:00:00 AM
It is currently: 100.000000% complete
It cost: 0.000000 (approx)
The project was profitable: Yes
It was sold through: Artemis


Process Scheduler
An example of a process scheduler for operating system kernels
This project was done because: To learn how different operating systems will schedule processes
It was for: Mark McCullen's CSE 410 - Operating Systems course at Michigan State University
The grade was: 4.00
The team size was: 1
The role I played was: Student
That role gave me these responsibilites: Impliment several process scheduling algorithms, as well as emulated kernel
It uses these technologies:
It was written in : C
The target users were: Operating Systems
We used source control: False
It was started on: 4/11/2005
And it ended on: 4/25/2005
It is currently: 100.00% complete


Linux Shell
A shell program for Linux. This program has internal commands and also supports all standard Linux commands including piping.
This project was done because: To learn about common programs included in an operating system
It was for: Mark McCullen's CSE 410 - Operating Systems course at Michigan State University
The grade was: 4.00
The team size was: 1
The role I played was: Student
That role gave me these responsibilites: Write code to parse, interpret, and execute commands as well as keep a state and history
It uses these technologies:
It was written in : C++
The target users were: Users of Linux
We used source control: False
It was started on: 1/10/2005
And it ended on: 2/2/2005
It is currently: 100.00% complete


Search Engine in Assembly
Create an interface in C for a search engine implimented in SPARC Assembly language
This project was done because: Learn about assembly, registers, as well as interoperation between C and ASM
It was for: Mark McCullen's CSE 320 - Computer Organization and Architecture course at Michigan State University
The grade was: 3.00
The team size was: 1
The role I played was: Student
That role gave me these responsibilites: Write search engine and interface for it
It uses these technologies:
It was written in : SPARC Assembly, C
The target users were: Developers
We used source control: False
It was started on: 11/15/2004
And it ended on: 12/3/2004
It is currently: 100.00% complete


Huffman Compression Algorithm
Impliment a Huffman algorithm for compression of files
This project was done because: To learn about compression and algorithms
It was for: Moon Jung Chung's CSE 331 - Algorithms course at Michigan State University
The grade was: 3.50
The team size was: 1
The role I played was: Student
That role gave me these responsibilites: Impliment a huffman algorithm
It uses these technologies:
It was written in : C++
The target users were: Developers
We used source control: False
It was started on: 10/4/2004
And it ended on: 10/27/2004
It is currently: 100.00% complete


Bill Tracker
A multi-threaded, throtled, screen scraper application that watches bills move through the legislative process. A website that allows clients to monitor certain bills and get alerts on particular events.A multi-threaded, throtled, screen scraper application that watches bills move through the legislative process. A website that allows clients to monitor certain bills and get alerts on particular events.
This project was done because: Idea for a startup
The team size was: 1
The role I played was: Sole Developer
That role gave me these responsibilites: Design, build and test the application and web site.
It uses these technologies: .NET, PHP 4, MySQL
It was written in : C#, PHP
The target users were: Lobby'ing firms
We used source control: False
It was started on: 4/5/2004 12:00:00 AM
And it ended on: 9/30/2004 12:00:00 AM
It is currently: 75.000000% complete
It cost: 500.000000 (approx)
The project was profitable: Yes
It was sold through: Dan Lash


H-Net Reviews Managment
An online administration application for academic book review networks. This system integrates with a handheld barcode scanner, webservices for ISBN data, as well as a legacy email-only system. It supports importing from CSV as well as a recommendation system similar to Amazon. It was designed to be built in two parts, this is part one.An online administration application for academic book review networks. This system integrates with a handheld barcode scanner, webservices for ISBN data, as well as a legacy email-only system. It supports importing from CSV as well as a recommendation system similar to Amazon. It was designed to be built in two parts, this is part one.
This project was done because: To modernize a legacy email based network
The team size was: 2
The role I played was: Programmer
That role gave me these responsibilites: Design, impliment, and deploy the entire system
It uses these technologies: Barcode scanner, web services,
It was written in : PHP
The target users were: Academic Book Reviewers and Staff members
We used source control: True
It was started on: 12/15/2003 12:00:00 AM
And it ended on: 10/20/2004 12:00:00 AM
It is currently: 50.000000% complete
It cost: 0.000000 (approx)
The project was profitable: No
It was sold through: MATRIX


Agbib
An online searchable database of micro-film and historical presevations of agricultural publicationsAn online searchable database of micro-film and historical presevations of agricultural publications
This project was done because: To preserve historical argricultural publications
The team size was: 3
The role I played was: Programmer
That role gave me these responsibilites: Create website, search engine, and administration for website
It uses these technologies: MySQL
It was written in : PHP
The target users were: Librarians
We used source control: False
It was started on: 5/20/2003 12:00:00 AM
And it ended on: 11/5/2003 12:00:00 AM
It is currently: 100.000000% complete
It cost: 0.000000 (approx)
The project was profitable: Yes
It was sold through: MATRIX


StockAlerts.com
An online application to help track stocks. With custom watches, alerts, resets, and many other things this pre-etrade application was ahead of it's time.An online application to help track stocks. With custom watches, alerts, resets, and many other things this pre-etrade application was ahead of it's time.
This project was done because: To learn about Python, PHP, as well as help launch a startup
The team size was: 6
The role I played was:
That role gave me these responsibilites: Integrate a PHP bulletin board system with the Python website, as well as impliment some features for the system
It uses these technologies: MySQL, ORM, WebKit, MiddleKit, PHPBB, SMS
It was written in : Python, PHP
The target users were: Weekly-Monthly stock traders
We used source control: True
It was started on: 6/1/2002 12:00:00 AM
And it ended on: 12/31/2003 12:00:00 AM
It is currently: 95.000000% complete
It cost: 0.000000 (approx)
The project was profitable: No
It was sold through: SuperFly Software


Lab Instruction Help Queue
This application lets instructors in a lab setting know exactly which student "raised their hand" first.This application lets instructors in a lab setting know exactly which student "raised their hand" first.
This project was done because: I was tired of raising my hand for 20 minutes during class
The team size was: 1
The role I played was: Programmer
That role gave me these responsibilites: Design and build the application
It uses these technologies: Sockets
It was written in : VB
The target users were: Students and Teachers
We used source control: False
It was started on: 9/11/2000 12:00:00 AM
And it ended on: 10/11/2000 12:00:00 AM
It is currently: 100.000000% complete
It cost: 100.000000 (approx)
The project was profitable: Yes
It was sold through: Dan Lash


Featured Project
Name: ETA
Platform: Windows / .NET
Team Size: 1
Technologies: .Net 2.0, SQL Server 2005, XML
learn more
