Wednesday, September 26, 2012

An Amature's Experience with github

I have a few--not great--projects I threw on github, but what is most surprising to me is which one generates interest. Brief description after the jump break.

First, I like github. It took me a little while to get the command lines down, but once I did I have to admit the over all experience is enjoyable. Seeing line by line changes is a wonderful thing, and someday I hope to work collaboratively on a project. As a former IT guy for a software development company, most of my experiences with revision control has not been fun (it might have had something to do with being an all .NET development place--couldn't say I had no development experience at the time).

Some quick advice for anyone who wants to learn git, go to try.github.com. That could have saved me at least 6 hours--I'm a slow learner. It could save a real developer at least 30 minutes.



A brief overview:

ExampleBlog - I found a book on PHP and the author creates a blog. It was a fun little exercise. To be completely honest the part about .htaccess is still a little over my head but it's nice have a basic idea of what it can do. No one in the githubiverse knows this exists. Can't blame them because it's over all boring and I used it to learn all the git commands.

UserAuthenticationSystem - My attempt at a login system, despite what some recommend. For the record that guy's blog is an interesting read too. I don't disagree with his statements, on the other hand I still ignored him. I didn't see a php login system as a right of passage, I saw it as a way of learning and understanding. Would I recommend anyone use my version of a login system in production? Absolutely not. Did I learn a bit about PHP, databases, and security? Heck yeah. For that matter I might even have to go so far as to say I'd recommend new developers to make their own login system (PHP or otherwise), but when you are ready to use one for a real project refer to the experts who have already developed one. It's true a lot of code gets reproduced, but my theory is that happens because we're all trying to figure out how it works.

CloneableElements - Possibly the pinnacle of my coding ability. The only one of the lot I am not afraid to share with people. It's could be improved, but it works as intended. With this I can make an HTML form and add a class to  DOM container called cloneable and then the user of that form can duplicate it by clicking a button. For example, you are gathering phone numbers. People might have more than one. A user can click "add" and enter a second phone number. The "add" button, input, and name values are all added and incremented automatically. It's almost slick. The only thing I'd like to do to it is give it the ability to put a cloneable element inside of a cloneable element. In it's current state that causes problems.

wordHelps - This was a fun little project that makes a word cloud on the fly as you type in a box. My hope is someday it will be a small part of a larger project (a project with a good name).

Of those four, the only project to garner any attention at all is the login system. The one I could care less about and wouldn't recommend for anyone. The one I'd encourage others to re-create on their own for the purposes of learning. Go figure.

No comments: