Who/What is EastAurora.Org??
Like many who live in East Aurora New York, we believe that there is no finer place to raise a family. People are friendly, there is a small town look and feel here, and there is always someone ready to lend a helping hand.
Because of my interest in village affairs as well as my passion for technology (See Below) and the change that it brings, building and maintaining this site allows me to keep up with the latest changes in web development as well as keep abreast of the latest goings on here in East Aurora.
Back in 1995, East Aurora became the first village to successfully fight the proposal for a Wal-Mart on Olean Road. In 1999, WM again tried to come to town but this time near the Post Office on Quaker Road. The town subsequently has enacted a ban on new buildings larger than 55,000 sq. ft. Very few communities have had the fortitude to maintain the organized resistance as East Aurora. This has led to of course to increase values on residential properties as people all over the country search for a village that still has mom and pop stores lining Main Street.
To be honest, this initiative on my part was never intended to be controversial, but quickly one finds that sooner or later they need to get off the couch and get involved, even if you disagree with some. However I have received some positive feedback which seems to make it worthwhile from not only a technological standpoint but also from a community awareness perspective.
When I first started this site I was worried about keeping the pristine nature of the village in tact and most of the articles reflected that. However after getting to know more and more of my neighbors I have found that we all share common beliefs about what makes East Aurora so special.
Very few towns or villages have such a harmonious mix on the social economic ladder. Perhaps this is why East Aurora is the most desirable place to live based on the housing market right now.
Regarding the content you will see on the site I believe the best way to describe the editorial goal is to bring transparency to government. Ensuring that elected officials understand that if they step out of line with their new found power and political influence we will be sure to let you know about it.
Another goal is to support our locally owned shops and stores. We need to ensure that those businesses remain a vibrant part of Main Street and are not replaced by some national franchise selling cell phones. Please do all you can to help these vendors by patronizing their stores.
Join us in celebrating the most wonderful place to live in all of Erie County. East Aurora!
As mentioned above, one of the main reasons I enjoy working on this project is that it allows me to keep up with the latest techniques and practical theory in technology.
I imagine I am not the only one in this town who enjoys staying ahead of the technology curve, so I will use this forum to discuss how this site was built.
One thing anyone who has ever worked on IT projects will tell you is that if you fail to plan, you plan to fail. In the corporate world, business users want their technology fast. Speed requirements will outweigh quality requirements any day. Can you blame them? What ends up happening is the project teams cut corners. (which is not always a bad thing) But instead of making strategic decisions about how to finish the project faster, they end up with a procedural design that can't be easily maintained or modified. Moreover it is likely to have the dreaded tire bubble problem. (You push the inner tube back in the tire and it pops out somewhere else)
The problem is that unless the IT department is well structured with well defined processes in place on the development side, IT costs usually end up growing faster than revenue growth. Sooner or later a decision has to be made whether step back and look at ways to use technology to build some repeatable patterns and designs that can save time and money. Fortunately, the way to do this is to go back to things we learned in college. Most importantly, object oriented programming. (you know, the fruit object, the apple, the macintosh) That seems to be the first thing that gets deep sixed when developers rush through a project.
For EastAurora.Org I am under no pressure from business users to deliver a product before it could possibly be ready. I am able to design, architect and build things properly. Because of this, I have learned a tremendous amount in this endeavor, and have been able to apply it to my professional career. This is one reason I tell everyone who works for me to find a hobby or outside project that allows them to enhance their skills. It is the best way, and in my opinion the only way. This site is so modular right now that any change is easy to make and there is zero risk for regressive issues to other parts of the site.
I am a firm believer in the usage of Design Patterns. In essence, design patterns begin as theories designed to solve a problem in technology. They evolve over the years with thousands of developers participating in refining and fine tuning the pattern until it is recognized as a best practice for implementing the logic to solve the problem.
The over arching pattern I have used for this project is the Model View Controller (MVC) pattern. This governs the way I think about the site architecture and the entire body of code. It allows me to decouple the business logic from the user interface which gives maximum flexibility for porting the logic to other interfaces such as smart phones, web services, RSS feeds, and even screen readers. I employ this pattern in just about everything I do both professionaly and privately.
Other patterns I am using include the DAO (Data Access Object) or what is more commonly called the DAO Factory. This is the only thing I would consider using to access data sources. It allows me to again decouple the business logic from the data source. For example if for some reason in the future I need to change from a database table to retrieve my content I instead need to retrieve the data from a web service or an XML file. If the business logic is not cleanly and logically seperated from my data sources making this change would probably end up being a complete rewrite. Moreover, since it is a pattern, each time a create a new project, whether it was written in .NET or JAVA, I can pull out my code snippets and drop it in my project and it just works. How cool is that?
The entire site has been rewritten in Visual Studio 2008 using C# and utilizing the .NET 3.5 framework. Some of the new technology that I used to learn some new skills is the new Language Integrated Query (LINQ) which allows me to treat my SQL code in terms of objects instead of clear text strings passed to and from my data source. This allows me to find any issues during compile instead of runtime.
Finally, I have completed updated the front end code to be styled using CSS instead of tables. XHTML standards require that you only use tables for displaying tabular data, of which I have non on this site. Using CSS for positioning gives one the maximum power and control over the look and feel of your site. If you are still using tables to position your content it is critical for you to move away from that strategy.
I'd be happy to discuss technology and theory with anyone who has the stomach for it. Drop me a line if you have any insight that you would like to share. You can check out my blog where I discuss some general principles in sort of a guide to succeeding in a large corporate environment. One thing is certain. Companies are becoming less and less dependent on IT due to the tremendous advances in business software. Those who continue to thrive in the IT world will be those who understand the business side just as well as the IT side of things.