About Me

Information

Skills

ASP.NET MVC

SQL Server

JavaScript

ASP.NET

XML

CSS3

HTML5

Telerik UI

C#

Design Patterns

Angular

NodeJs

MongoDB

Microsoft Azure

Typescript

Description

Web Developer

I custom-build ASP.NET MVC applications for clients based on their specific needs. I use the latest technologies such as Telerik's KendoUI components to provide a rich user-experience and to provide me with rapid-application-development.


All my applications are database driven using either the code-first or database-first concepts. I follow the Agile methodology when building the applications to allow for greater flexibility in development during the entire life-cycle.


I can completely design the architecture of the web application for my client if necessary. Based on my discussion with the client as to their needs for the application, I design an appropriate infrastructure for the application that allows for scalability and change over time.


I've built my own custom code-generator that generates 95% of the CRUD logic in seconds, saving hours of development time, sometimes days. This allows me to concentrate on proprietary concerns for the application, rather than redundant "monkey-code".


Graphic Design

I'm proficient in Photoshop, although I wouldn't consider myself a great graphic designer. That I leave to those who are much more talented and capable.




Tools

This is a list of web-related tools I created to make my life simpler.

Condor

This is an open-source, custom-built code-generator that allows me to generate ALL of the CRUD operations for an application, in all layers of the application from the Presentation Layer down to the Data Layer, in a matter of seconds. I just point Condor to my database and it generates all the necessary classes in their respective locations automatically.

Get it: https://github.com/kahanu/CondorXE

See it in action: Condor Overview Video

MvcInstaller - NuGet Package

MvcInstaller is a NuGet package which gets plugged into your ASP.NET MVC application and it allows administrators to easily deploy their application to their staging or production server and have their database schema and ASP.NET Membership system installed for them with a button click.

Just enter your settings into a config file and you're all set.

Get it: https://github.com/kahanu/MvcInstaller

See it in action: MvcInstaller Video

SecurityGuard - NuGet Package

SecurityGuard is a COMPLETE ASP.NET MVC Membership web-based Dashboard!

Since it is a NuGet Package you can easily plug it into your ASP.NET MVC application with little effort. In a matter of minutes you can have a complete way of managing your membership system through a web-based interface.

Get it: https://github.com/kahanu/Security-Guard

See it in action: SecurityGuard Video

When I'm not on the golf course, I'm either working on a client's project, or one of my own.

The OnCentral Network is one of the latest projects I've built.  This is my own project. It consists of many satellite sites such as MVC Central, Code Gen Central, Design Patterns Central, and more.  All the satellite sites use a single code-base which makes updating very easy.

The entire project was built to provide a central location for articles and videos on specific programming technologies, where it's easy to find what you are looking for without having to search through large content sites to filter out the content you are looking for.

An example would be if you are looking for content on MVC, the Model-View-Controller programming pattern.  You would go to MVC Central.  You won't find information about Desktop programming, or WebForms programming, or mobile applications, just MVC related content.  The same with the other sites.  Only pertinent content would be found in those sites, which makes your life easier in finding what you need.

I have many other projects that I intend to build when I have time, such as Golf related applications, mobile applications, etc.

Web Developer

For over 13 years I've been a developer of some kind.  My focus has always been on web development and for the past 5 years I've been building ASP.NET MVC applications for many clients.  The MVC framework has allowed me to build rich web applications that are testable and easy to maintain.  I've soaked in all the information I can able the framework to provide me with all the knowledge needed to build stable and robust applications for myself and my clients.

Web Host

In 1999 I started my own small web hosting business called Gizmo Beach (http://www.gizmobeach.com).  I did this out of frustration over the poor support that I got with every host I moved to.  I did some research and found out that it wasn't that hard or expensive to own a server and start my own hosting company.

Well I quickly found out it's not that easy or cheap to be a web host.  But at least I could build my server to work that way I wanted it to work for me.  Then I was able to have my web development clients move to my server which offset the cost of the ownership in the server.

Now I'm expanding a little to provide Cloud-based server and other similar products for my customers.  For the most part, the company runs itself. I have a semi-automated billing system set up, and a control panel for my customers to manage their sites.  I just need to stay on top of the always advancing technologies to I make sure my system is as secure as possible.

My server is all Microsoft-based.  Since I build ASP.NET MVC applications, which is a Microsoft technology, I make sure that my server is completely capable of handling all the latest Microsoft technologies, that I can afford.  :^)

That's the beauty of having my own servers, I can configure them to the exact specifications I need to make sure my applications just work!  I haven't been able to do that with other shared hosting companies, because they can't simply install something to make my life easier, but I can, now.

Golf

2003 through 2006 were my best years playing amateur events.  I was a +2.0 golfer and I qualified for many SCGA (Southern California Golf Association) championships with the best amateurs around, and also qualified for the 2003 USGA Mid-Amateur Championship that was played in Wilmington, Delaware.  I didn't play as well as I would have wanted in that tournament, but qualifying was a nice step.

Then in 2008 I quit golf. I was going through a rough patch with my game where I had a hard time shooting below 74.  It may sound arrogant to hear me talking this way, but I just didn't feel like I wanted to play anymore if I can't shoot par or better.  So I quit.  I still loved the game, and I did play once or twice a year, but I really didn't care what I shot, and it was good since my scores were never very good.

Then at the end of 2012, I moved to La Quinta, California, where it's hot in the Summer and there are more golf courses than I could play in a year, well almost.  ;^)  Then in 2013 I decided to try taking up the game again and I'm growing to like the game again, so I'm playing a little more and actually trying to get better. 

My index is going up from a +0.4 to 1.4, which is definitely in the wrong direction, but I feel I'm close to getting some consistency and playing better to bring down my index.

With this new site, I'm going to be posting articles on every new golf course I play, and they will have the tag "Golf Quest" on it.  In these articles, I'll be describing the courses and giving them a rating.  These will be solely my subjective opinion and nothing to do with anyone else's judgement.  My plan is to play every golf course here in the Coachella Valley, which I'm told there are around 140 golf courses.  Many of them are private so I'm hoping to find members who will invite me to play on their course.

The Tips

When I play on any golf course, I always try to play from the tips, meaning the very back tees.  I find this the most challenging and a more worthy reason to play the course. Personally, I don't find much enjoyment out of playing the white tees.  I also generally don't play that well from the white's for some reason.

If I'm playing in a special tournament that requires me to play from a forward tee, I will, but I prefer to play from the tips.

So I have a rule, that when I play a course for the very first time, I will ALWAYS play from the tips!  This way, the course will never be any longer when I play it again, and it gives me a good indicator as to the difficulty.

There are a few times when I've broken par the first time out from the tips.  Sometimes it's because I've played very well, and other times it's because the course just wasn't that difficult.  One of my main goals right now is to shoot at or better than the course rating when I play.  I've had a few rounds where I've been right on the number, when the rating is around 73.x or 74.x, and I've had some bad rounds where I've shot 75 on a course rating of 68.5, so there's still room for improvement.

For me golf is more enjoyable when I play well, not just that I'm playing golf.  In 2008 I wasn't qualifying for any amateur events I entered, and I was real frustrated with my game, so I quite, for a while.  So now that I'm in my mid-50's, I'm going to try to get back to where I was at a +2.0, and maybe enter some Senior competitions.

Whatever happens, I'll be writing about my golf rounds here.  So if you want some subjective comments on a golf course, not necessarily my round of golf, come and read my articles.  I hope you find them entertaining and/or useful.