Member of the Month for December 2013

I couldn’t think of a better way to end this year than by congratulating our newest Member of the Month winner, Hall of Famer. Hall of Famer has been leaving his mark in our forums for a few months now and in that brief time he has caught the attention of the staff for his thought provoking questions and his contributions at helping others.

Please join me in congratulating Hall of Famer and the opportunity he allowed me to have to divulge a little more about him through the following interview.

cpradio:
Let me start off with the million dollar question, were you surprised and how do you feel?

Hall of Famer:
To be honest I am surprised, I believe there are other posters more worthy of this title but I am honored that it came to be me in the end. I am glad I can contribute something to this amazing community.

cpradio:
More worthy posters eh? Did we choose wrongly? :stuck_out_tongue: Who might these individuals be that seem to have earned your respect here on these forums? Seriously, don’t answer that! I see you’ve been around these forums for a fairly short amount of time, what brought you to Sitepoint, what made you stay?

Hall of Famer:
Initially I was attracted here after hearing about the event ‘Talk Object-oriented PHP with the Experts(Lorna Mitchell)’. I was late unfortunately, it was already a month over when I registered at SitePoint. Since then I decided to hang around at SitePoint, there are several reasons to keep me stay as opposed to a random lurker. The posters on this forum are generally friendly and open for discussions of advanced topics. On SitePoint you can get answers for not only newbie questions, but also trickier and tougher problems. Come to think about it, in my web application I had a glitch with Ajax Tabs that I wasn’t able to find a solution until I asked on SitePoint.

cpradio:
Well we’re glad you joined and stuck around. Your username is very intriguing, is there a good story (or any story ;)) behind the name?

Hall of Famer:
‘Hall of Fame’ is part of the name of a fanmade video game I used to work on, I went by the username Hall of Famer since I was the leader of that project. Although the game is no longer under active development, I’ve used this username for a long time and pretty much all my internet pals refer to me by Hall of Famer or HOF. Nowadays I use it on pretty much every forum I am active on. I know it’s by no means a ‘good story’, but hey it’s at least a story isn’t it?

cpradio:
Definitely, in fact, I’d still argue it is a good story (one not too far from my own). Your profile indicates you are a graduate student, which school, what field are you pursuing, and if someone were to follow your footsteps, what advice would you give them?

Hall of Famer:
I am a graduate student at Cornell University (does the location Ithaca imply any of this?). My major is actually chemical/petroleum engineering, but nowadays I am quite into computer science so I’d love to find a full-time job at computer science industry too if I get a chance. If there’s one advice I can give to anyone following a similar path as I’ve taken, I’d say ‘Let Your Interests Guide You To the Career of Your Dreams’(quoted from Laura Day’s book title). As a non-computer scientist to begin with, I learned programming primarily through interest and enthusiasm(thanks to the web application I work on). When there’s a will, there’s a way.

cpradio:
Wow, that was definitely unexpected. Majoring in Chemical/Petroleum Engineering sounds, well… boring (at least to me :p). Do you have any other interests outside of web programming?

Hall of Famer:
I am also interested in video gaming, game development, watching sports/movies, and parties that everyone loves.

cpradio:
What games are you currently working through and who are amongst your favorite teams?

Hall of Famer:
I mostly play RPG and Sports/Racing games, recently played Growlanser 4 on PSP and it was great. Sports games like FIFA, NBA2K, Need For Speed are games that I play every now and then. They are a bit different from RPG as there’s no such thing called Game Over and you can play online with your friends anytime you want. I am no longer developing fan-made games nowadays, it was a great experience a few years ago when most people were developing 2D Games, now that the demand for 3D games grows it becomes a serious problem for those who are not artists or 3D designers.

I follow many sports, Football, Baseball, Basketball, Ice Hockey, Tennis and Soccer, they are always fun to watch and I normally don’t pick a side nowadays. I used to root for some teams a long time ago, but since I tend to get way too emotionally involved (mood heavily affected when my teams lost, sometimes even hard to sleep at night) my parents and friends advised me to enjoy the games just for fun instead.

cpradio:
I’m a RTS person myself and have had a lot of fun with Starcraft and its sequels/continuations and have never really followed sports (I don’t mind watching them, just never got interested in following any of them). You seem to have a great passion for PHP, what drives you to PHP, what has intrigued you to ask some of the thought provoking questions as of late?

Hall of Famer:
I was driven to PHP after taking over a web application/software from someone who no longer had time and passion to develop it. It was written in PHP and already had about 20 client users actively following its update, so I decided to stick with PHP as rewriting it in other languages would be difficult and time-consuming. You meant those questions I randomly came out with about OOP, MVC and ORM?

cpradio:
Yep, those are the ones! They have really been refreshing to see in the PHP forum as of late, I really enjoy some higher level discussions that you may typically find in a speaking forum or panel.

Hall of Famer:
Guess that’s just the way I am? After all you are talking to someone whose mind is always filled with weird ideas like how we can make antimatter weapons, or transfer electric fish gene into human. XD Seriously, I read advanced PHP articles from sites like PlanetPHP and [url=http://www.devshed.com/]DevShed, there are times when I partially grasp a concept but still seem to be confused a little bit, especially when it comes down to how to actually implement a beautifully looking idea in actual coding practice. This is why I raise such questions on SitePoint, in fact most of the time I am already very close to getting the point before I ask. I am always a curious person, I know curiosity kills the cat but I just cant help it. On the other hand, don’t you think the forum is better off with more intermediate to advanced level problems than beginners syntax questions?

cpradio:
In the development world, curiosity is rarely a bad thing (from beginner question to the intermediate/professional ones). What can really get you into trouble is being overly creative, but I digress, that’s a discussion for another day. On a similar note, you seem to really be vetted into OOP practices, how did you get there and are there any interesting aspects to your studies, job, projects, whatever it may be that lead you to this point?

Hall of Famer:
Good question, it is indeed somehow related to the software I am working on. As I briefly mentioned earlier, it was originally owned by someone else, but the old code was spaghetti procedural code. The very first few months when I took it over, I did not decide to refactor the code but instead simply worked on new features by extending the application. As the application grew, it became progressively harder to keep adding new stuff. I eventually decided to refactor the script step by step using object oriented practices, it did not start well at first but the code did became much neater nowadays. During this refactoring process I was able to learn advanced OO programming and instantly fell in love with it. Some experts say that once the concept of OOP clicks it will be difficult to ever let go, they are absolutely right. Right now I am overhauling it again with MVC/ORM architecture, I hope it will be another worthwhile experience for me and my software.

cpradio:
Yes, OOP is definitely addicting once you get into and you’ve seen what it can do (that’s actually how I got hooked on .NET). What other languages do you like to get into and what drove you to those languages?

Hall of Famer:
There are four other languages I’d like to get into. The first one is C#, I believe it has the nicest syntax for someone so used the C-family/style syntax like me, it also has powerful support for OOP, almost a pure object oriented language. The second one is Objective-C, its not a user-friendly language but don’t you think mobile programming is the way of future? The third is Scala, people on Reddit’s PHP section claimed that it would be the go to language for future web programming, so I’d be curious at learning this language and seeing if it will indeed live up to this hype. The last one is C, I definitely don’t like procedural languages but learning C can lead me into modify PHP’s native code that I’ve always been striving for, maybe someday I can even create my own interpreted language if I know how to program in C. I know it sounds crazy and beyond my skills at the moment, but hey you never know what will happen 10 years from now do you?

cpradio:
If the past 10 years are any kind of guide, I imagine we’ll continue to see big shifts in how our languages are interacted with, but I definitely have no idea what that may be. Knowing C# will help you dive down into C++ and C, for anyone new to those languages, I like to think going from C# down to C++/C is more beneficial. C# is more forgiving than C++/C, so you can learn the basics there and slowly convert your programs to C++/C to learn the more unforgivable components (memory management and dynamic pointers, for example). One last advantage is you can mix C++/C with .NET, so you can actually write the same examples/programs in both languages in the same solution and compare them.

Seeing how other languages are also an interest to you, which language would you pick as your “go to” language and why (come on, deep down you know we all have a “go to” language)?

Hall of Famer:
This is a hard question to answer actually. My first and primary programming language is PHP, but I won’t consider PHP a ‘go to’ language since it has many problems. At this point I’d say C# is the ‘go to’ as it has one of the most elegant syntax for a programmers comfortable with C-family languages, and its support for object oriented features is quite powerful and complete. In the future, Scala may be a very good candidate for ‘go to’ language, I heard that it’s considered the future for web programming and after taking a brief look at Scala examples I am already starting to like it. If PHP’s poor support of many object oriented features gets resolved in future it may become a ‘go to’ language, there are many possibilities.

cpradio:
I too use C# a lot when I want to do a proof of concept (especially on a Windows machine), if I’m at home, I typically utilize Bash as it is usually quick enough for me to write a test in. Are there features you’d like to see implemented from one language to another (example: return types from C# into PHP to improve the use of Interfaces)?

Hall of Famer:
Of course there are quite a lot I can think of, especially considering PHP is my primarily programming language to use and the fact that PHP is lacking so many needed OO features. C# definitely is a much more complete object oriented language, it will be nice if PHP can implement features such as autoboxing, property accessors/mutators syntax, return type hinting, inner/nested classes and operator overloading. I hope to see metaprogramming and multithreading in PHP too, as well as some changes made to namespaces ('cause you have to admit it, PHP’s namespace implementation is ugly and incomplete). Good news is that most of them are possible with PECL and patches from PHP RFC, but if you are developing freeware/open-source software with most of your users/customers on LAMP servers, you are stuck with the default PHP so there’s not much you can do. It’s only achievable if someday I start my own hosting service with a heavily modified PHP, but hey does it still even look like PHP at all if it’s so extensively patched? Maybe I call it P# instead. :lol:

cpradio:
Very interesting. I not sure we’d ever see those sort of changes in PHP since the target for PHP is entirely different than that of C#, but who knows. Thanks for taking the time to for this interview, we’ve now come to the point where you have your chance at blatant self promotion. Is there anything that you would like to promote?

Hall of Famer:
Oh sure, I appreciate that. As you may have already know, I am developing a piece of software right now, the name is called Mysidia Adoptables. The current version is in fact not that good, but the new version will be overhauled with more object oriented design/code, and in fact I am even writing my own framework to support its architecture. It would be nice for non-programmers/beginners to take a look since it’s very easy to install/use, while advanced coders are always welcomed to participate as they can be helpful making addons/plugins for the script. Also I sometimes contribute classes to [url=http://www.phpclasses.org/]PHPclasses.org, under the name [url=http://www.phpclasses.org/browse/author/1034738.html]Ordland. For those who use/download scripts from [url=http://www.phpclasses.org/]PHPclasses.org, take a look at my packages if you don’t mind.

cpradio:
I want to thank you again for taking the time to be a part of this interview, it was great getting to know more about yourself. So let’s give it up one more time for Hall of Famer, December 2013’s Member of the Month!

Hehe, majoring in Chemical/Petroleum Engineering doesn’t sound boring to me. Sounds impressive. :smiley: Well done on a great interview, guys. Thanks for being such a good member, Hall of Famer, and congratulations. :slight_smile:

Congratulations and a very good interview.

As far as your interest in languages are concerned then take a look at Golang, just over four years old and I think it will be become even more successful.

I am pleased you clarified the location of Ithaca. Previously I read your profile, had never heard of Ithaca, Googled and was curious to know if you were from Greece or USA :slight_smile:

Great interview!

And please do persist with the OOP/MVC/ORM topics, for someone that cut his teeth on BASIC, I have such a deeply entrenched procedural mindset that I need all the exposure I can get if there’s ever to be a “click”
GOTO 1

Speaking of 2D -> 3D games reminded me of the time when tube etching pong was all the rage. :shifty:

I’m a bit confused

The script allows you to create an adoptables/pets site of your choice

Is this for “animal shelter” type stuff?

Congratulations and interesting Interview :slight_smile: (although parts of it went whoosh above my head )

Me too. On a C64. Talking about “goto” languages :lol:

Congratulations @Hall_of_Famer; , and a good job on the interview from both of you.

Me three. On a ZX Spectrum 48k
How the world has changed!

Great interview guys and congratulations Hall of Famer on the well-deserved award.

Wow this comes out already, thank you so much everyone, I am honored to become Member of the Month for Dec 2013.

@ralph_m ;
I try to be helpful as I can. Glad you find Petroleum/Chemical engineering interesting, not everyone feels this way but its not a bad thing(yeah, diversity!). Come to think about it, if 10x more people find Petrochemicals intriguing we’d have a real hard time finding jobs. XD

@Mittineague ;
lol I try my best, and since I will soon begin writing the ORM library for my own application you will likely to find quite a few topics about it. Some people say ORM are bad practices, but what if your software’s client users are stuck with relational databases and cannot use the more ‘modern’ approach like OO database or NoSQL?

My application started as a virtual pet browser game, but has evolved from it since 2011. Your adoptables/pets can grow through clicking/feeding, and you can breed baby adoptables from two parents. You can also purchase items and other useful things from shops, the next version will have even more than these. If you are interested, check out the Mysidia Adoptables official site for a full features-list. Its hard to describe them all with a few words here.

@John_Betong ;
I am not quite familiar with GoLang but I heard it was not an object oriented language? I’d rather stick to Object Oriented Programming myself, although I may keep an eye on it since its rapidly growing in features and popularity. After all, PHP started as a templating language so you never know what a new language will look like 10 years from now.

@Paul_O_B ;
Pardon me for being curious, but if you dont mind would you please give a hint of what went whoosh above your head? XD

@guido2004 ;
Thanks for mentioning me, otherwise I wouldnt’ve found out this thread so easily.(as my Firefox Browser opens with one of its tabs pointing directly to the PHP subforum of SitePoint). XD

@Pullo ;
I appreciate this award and will try to be as helpful as I can, although I am no expert/legendary coders like many of you so I can make mistakes.

Great interview and congratulations to both of you (interviewer and interviewee) clap clap clap

I wouldn’t consider a major in Chemical/Petroleum boring. More like a lot of hard work and lots of studying and perserverance. And I like chemistry anyway. So I guess it is a question of taste :slight_smile:

As far as Object Oriented Language is concerned according to a Google search, Golang has an updated version which I am sure you will like.

@molona ;
Thanks for your comment. And yeah it requires quite a bit of learning, we pretty much have to possess knowledge from more than half of the major engineering fields to be a proper chemical engineer, that includes Mechanical Engineering, Material Science, Electrical Engineering, Computer Science and Biological Engineering etc. Its a tough but useful experience to me. I like Chemistry too, but Chemical Engineering is actually closer to Physics/Applied Physics than Chemistry. XD

@John_Betong ;
I’ve read the description in detail, and at this point it is not a very good object oriented language, not even comparable to PHP. It’s syntax is close to C-family language syntax, but still does not feel as comfortable as Java/C#/PHP to me. If it gets popular I will probably learn it just to build up my skills, but as a go-to language Id say GoLang will have a long way to go. Sure there may be an updated version that is more object oriented than the current one, but if object is added as an afterthought rather than appearing as the core/basis of the language it will not be attractive enough for me to switch from PHP over. For now I say it has the potential, but only time will tell whether it will become as good an object oriented language like Java, C#, Ruby or Scala.

I came to realise—while I was a teacher—that every subject is inherently interesting if you approach it the right way. The world is full of fascinating things to learn and discover. Everything is basically a mystery. What could be more fascinating than that you can turn black goop out of the ground into the amazing range of things they are turned into (plastics etc.)?

Congratulations @Hall_of_Famer on the well-deserved award! Kudos to you and @cpradio for a nicely conducted, interesting interview.

oops :slight_smile: or is it OOP.

Some experts say that once the concept of OOP clicks it will be difficult to ever let go, they are absolutely right. Right now I am overhauling it again with MVC/ORM architecture, I hope it will be another worthwhile experience for me and my software.

It’s a foreign language to me :slight_smile:

Congratulation Hall of Famer for earning December’s Member of the Month, and please keep up the good work.

Wow good choice! Congrats cpradio!

And Hall of Famer, too, surely?
:slight_smile:

Oh boy! I need to not post when I have more than 5 windows open. How embarrassing! You can just go ahead and shoot me now.

:bang:

Don’t worry, I know the feeling.

Nice work Hall of Famer :slight_smile:
Thanks for being such a valuable member of the community.