I would like to congratulate Serenarules on becoming member of the month, for his great contributions to the forum and thank him for taking the time to answer a few questions for us
Can you tell us a bit about yourself? Who is Serenarules?
Well, my real name is Drew Jones. I’m 42, have been married for 18 years, and have six kids. I began programming in 1991 and continued professionally until about two years ago. I have since retired, and now do this for fun (and the occasional contract).
Why the name Serenarules? Any special meaning?
Actually, it’s a reference to Sailor Moon. Serena was the main characters name in the American dub. I really like anime and manga. I have a notepad document on my desktop that I use just to keep up with what I’ve read or watched. Sailor Moon just happened to be my first, years ago.
Retired at 42 you say? Any specific reason for retiring at such a young age?
This was a mutual decision between my wife and I. Shortly after the 9-11 incident the firm I was working for let go all employees without college training. At that time, I became self-incorporated and worked for several more years. The IT industry in my area has severely waned however. Last year, I decided to return to college. While in my first semester there, I wound up having a stroke. My wife insisted that she take a turn.
What do you do for fun outside of programming? Any hobbies?
Well, I’ve been playing World of Warcraft since release and have a good number of toons on several servers. My favorite so far is the little Blood Elf paladin I rolled on Quel’dorei a few days ago. I also have Starcraft II, but haven’t played it as much. Since my stroke, my xbox has gotten REALLY lonely. I’ve all but forgotten my first person shooters. I just don’t have the reaction time for them anymore. May Master Chief and the Arbiter rest in peace.
What attracted you to programming?
This is an interesting story actually. In the first part of 1991 I got my first real computer. As a musician, I installed a sound blaster pro card in it. The stock sounds were ok for their time, but I wanted a way to create my own sounds, much like you can now with sound font editors.
After finding an FM chip registry editor on the internet, and playing around with it, I got an interesting idea. The logo image in the editor used very contrasting colors that really hurt my eyes, so I decided to see if I could change it. I hit the internet again and found a resource extractor, which I then used to save the logo to it’s own file.
Using Paint, I created a much nicer image, using the same dimensions as the original. I then loaded it into WordPad (which at that time was allowed to load any binary file), saved the whole thing to the clipboard. Again using WordPad, I loaded the executable, located the original image pattern, and pasted in the new. When I save the executable, it ran perfectly with my image in it.
What I took away from that, however, was not that I’d jus done something cool, but remembering having seen “Borland C++/OWL" in the header for the executable. I did some research and purchased the tools within the week, along with a copy of Appleman’s API bible. The rest is history.
Any technologies that you would suggest to other users getting started?
There are a lot of great products out there, but it really depends on their personality and how they learn best. Ultimately, I’d suggest something free, that way there’s less loss if they find they don’t enjoy it. PHP tends to be more procedural (though is in no way restricted to it) and might cater to those who have problems with the abstract, while ASP.NET drops you off right in the middle of OOP.
Whatever choice is made though, I suggest reading, and lots of it! There are many good books, available right here at SitePoint, that can help people with their endeavors.
Any pet peeves about programming or any tech you use?
Everybody has these. I think mine stem more from the fact the I am a purist at heart and fully believe in the K.I.S.S principle, than it does my OCD, but there’s certainly an element of that mixed in. I mentioned above that sometimes things depend on how one learns, and that is true in my case as well. According to family stories, when I was child of five, I completely dismantled a toy fire engine I had been given, and then totally rebuilt it. To everybody’s surprise, it still worked. I’ve always learned best by tearing something apart, supported by subsequent reading. One of the things I have a real time with is learning something new when there aren’t proper example around for me tear down. One example of this is unit testing. I still do not use it completely as intended. Some things are just no-brainers to me, so I skip those steps. It’s just the way I’m wired.
I noticed a lot of your threads involve MVC. What do you like about MVC?
As an OOP developer, it just follows that I would want a framework that adheres to similar concepts. Being able to separate my models, logic, and presentation is a real boon to the realization of an application.
How did you find sitepoint and what keeps you around?
It was several years ago now, so I don’t recall the exact reason I performed the internet search, but it was a PHP related issue. My introduction to this community was through the PHP folk here.
Anything else you want to tell sitepoint about
I don’t have any one thing in particular, except to get involved. If you see a topic that interests you, participate. Share your knowledge, and read with an open mind so that you can also learn. I know that if people like you (NightStalker) had never responded to my earlier queries, I might not be where I am now.
SitePoint has a policy against self-promotion, but this is a special occasion. Do you have a personal website, Facebook page, Twitter account, etc. that you would like to let others know about?
Well, I’ve recently been doing a lot of research, mostly based on projects I’ve done, and create a really nice library that I think other might like to know about. I call it the Enterprise Foundation Block. I’ve been developing it for a while, and is now in version 3. It promotes DDD and TDD, without the added complexity so many of todays libraries have. It can be found, along with a simple tutorial, on my website, http://fluentengine.com.
Currently, there isn’t much in the way of support tools for the application layer, besides some stock specification classes. I hope to expand that in the future to include logging and email service wrappers, but not all apps need those so I’ve shied away from including them. I tried really hard to make this suite as slim as possible without sacrificing flexibility or behavior.
The biggest thing about this suite, is that the different layers are in their own dlls, unlike other compilations which assume you are going to be using the web.