I am a software developer from Washington, DC. I enjoy working on D projects in my free time, and for customers (when the opportunity presents itself). When I'm not coding, I'm spending time with my lovely wife, making sushi in the kitchen, or just enjoying the company of good friends at the local pub (which includes my wife's DJ gigs).
My music interests include Electronica, Industrial, Metal, Goth, and EBM music - but I also listen to Geek-core, Video Game/Nostalgia, and Demoscene from time to time.
My current crop of projects all center around web development. While they're in various stages of completion, they all will add up to a set of capabilities that should mean faster, cleaner, and stronger online applications. I've had a vision in my head that will amount to a stack of libraries that meet this challenge:
- DSP - dynamic compliation of code at runtime, with web-templating
- DDL - dynamic loading of compiled code at runtime
- ??? - servlet framework
- ??? - web server (I've tossed around 'Sumac' for this part)
- Tango - enterprise-class runtime library, complete with server-ready parts (was Ares and Mango)
DDL: D Dynamic Libraries
Why should Java programmers have all the fun? DDL aims to provide a runtime module-loading and linking facility similar to what Java and Unix C programmers have enjoyed for a while now.
What has made this project such a challenge was managing to handle most of the OMF specification, to enable runtime linking on windows DMD. Composing the linker was second to that task. Both combined made for some very hard-to-debug situations that I wasn't able to tackle without some serious help (thanks H3r3tic!)
DSP is planned to be a JSP-like language written entirely in D, that allows D code to be mixed with HTML. I'm presently re-evaluating the design, as I'm not completely sold a traditional templating mechanism is really what's needed these days. Between end-to-end solutions like Rails, and true (non-mixed code) templating systems, DSP may merely be the start of something much larger.
If the success of dsource.org proves anything, it's that a forum is indespensible when it comes to coordinating with both a development team, or your user community. There is just something powerful about asynchronous collaboration in the large, that enforces a timeline/log view of events - something that both wikis and chat interfaces fail to do. So much to my chagrin, I find that Trac has every possible form of project collaboration built in *except* a forum.
To that end, I took up the task of re-inventing the old tracforums plugin as a PHPBB replacement. So far, the results have been very encouraging. The tango project is presently running a Beta of this plugin, and I plan on releasing it formally after the kinks are worked out.
Presently, Tracforums is undergoing an overhaul to poise it for integration with Trac 0.11. It now features a full-fledged ORM architecture and a very rich display, complete with forum categories, profile icons, watch lists and more. The end of this beta cycle should be something to really look forward to!
D really hit the sweet spot for me when it hit version 0.86. At the time, I was developing a garbage-collected framework in C++, dubbed "Aristotle". It had some features I was proud of (custom threaded collector, dll mangement with gc hooking, custom RTTI, and LOTS of macros), but it was plagued by impossible bugs and multithreading never seemed to work quite right.
I saw what D was offering and decided that this new language offered me everything Aristotle ever could be and then some.
Besides, you gotta love a language that makes arrays so nice to use.
So far I have noticed the effects that D has had on the developer community world-round. The impact has been a small one overall, but nonetheless profound. D is becoming proven as a usable unicode capable language, as some non-english speaking developers have done wonderful things with it already.
It's also attracted, and changed, just about every kind of programmer imaginable. I've seen seasoned c++ developers (*coughmatthewwilsoncough*) become enamored with it despite a rich history and considerable investment in the former. I've seen novice programmers become much better at programming in general due to D's enforcement of good design, and easy syntax. And I've seen perfectly mediocre developers, like myself, become much more knowledgable about OSS, good design and how to communicate with your fellow developer.
After all, D is not just a language. It's a phenomenon.
- Map (associative array) Literals
- Formal Reflection Interface (runtime)
Eric, welcome. Feel at home. -- HelmutLeitner