Dan's user page

All about Dan
Member since: February 01, 1991 2:14 Total comments: 0
Real name: Dan Fuhry
Dan's latest comments
This user has not posted any comments.
Get in touch
You could send Dan a Private Message if you were logged in.
Dan in real life
Dan hasn't posted any real-life contact information.

Old user page

My horribly outdated old user page is here.

In a nutshell

  • Project manager for Enano CMS
  • Professional IT consultant since 2006
  • Specialty: web programming (imagine that!) and Windows installer development using NSIS
  • Information Security and Forensics major at RIT (as of September 2009)

A lot of people take a look at a project like Enano and wonder how someone could have developed that as a 16-through-18-year-old. Yes, there were places where I put small amounts of 3rd-party code to use, particularly in components like TinyMCE and jQuery where it would have been impractical to implement something similar. The end product, however, is my own work.

Enano is not developed as any academic or research project. In a way, Enano - like all open source projects that strive to innovate - can be used to provide a fair amount of insight. But that's not its primary purpose. Enano's primary purpose is to be a CMS, suitable for everything from the smallest dev wiki to a large-scale production website.

In a related note, I should also like to briefly remind you that because Enano is not an academic project, it does not have any of the potential licensing conflicts associated with such software. I own and aggressively enforce copyright on Enano's source code, so that people who modify or redistribute it know that they have an obligation to respect the GPL. In that sense, I run a pretty tight ship - I've studied copyright and trademark laws a little bit, and have done a considerable amount of work to ensure that Enano always remains a free-as-in-freedom project.

I wrote a pretty good sized blog post that addresses the abilities of teenagers that can code, and the related issue of age discrimination. I ask respectfully that you look past the fact that I'm a mere first-year college student and observe for yourself the attention to detail I've poured into Enano.

The goal of Enano throughout its development is to build a CMS that I can use for my own personal websites. Therefore, just about everything in Enano is designed to address some real-world need I have. Of course I work hard to make it all portable enough that anyone can use it. As you can see, I'm picky as to my what my user interfaces look like, and prefer to use more text rather than less when necessary.

Historically I've always had a mind for interface design. I try to think of how I would like something to act, and add in animation and eye candy in a way that makes what the software is doing obvious. I believe in branding, sleekness, and verbosity, but place understandable layouts at the top of my priority list. That's why there are a ton of different Javascript UI functions and CSS classes in Enano: when I can't think of a good way to design a UI using what's already there, I go crazy and drop in something new. If it looks good and responds nicely, maybe other components eventually get redesigned to use it.

My code isn't always the most efficient, but it is very well formed. I adhere strictly to one coding standard: that code should be readable. There are a number of specific rules I follow too, of course: braces on their own line, always nest XHTML, etc. But I also think that if the rules have to be broken to make a better experience, then it should be done.

That's a CMS designed by a teenager: if the rules don't work, break 'em and make up new ones. I think it's worked so far; give it a try and decide for yourself. »