Tuesday, November 3, 2009



Welcome to the overcoded! blog. My name is Winheim Raulsh. I am the writer of this blog and will be your guide, that you may better navigate this trove of information I periodically gather together and spill onto pages. I am a Delphi programmer by birth, and have come to know many languages like C++, Lua, and others, but mainly I will stick to my native language: Delphi.

Delphi is my default choice, as I have been programming in it for years, and it has served me well. Delphi is a systems and desktop programming language available for developing on the Win32 platform, hence it is very fast (comparable to C++) so that programs can scale without having to be rigorously optimized, yet it is a more high-level language. Delphi, ah, Delphi. It has its limitations, and isn’t anything particularly spectacular, but it can do many good things. I’ve learned most everything I ever would need to know about Delphi, and then some — all this knowledge wrapped up in my head, with nothing to do with it, so I started this blog for really no reason, except simply to kill time and do fun things with Delphi, just because I can. That’s where the name for this blog comes from: excess pointless Delphi coding for no great, grand reason — my life is overcoded.

Sometimes, I wish I could program in Lua instead. Lua is different; it doesn’t scale; you can’t write 20k LOC programs in it, you run very complex or tight computations in it, without the speed bogging down; nor is it a systems programming language with access to all of the Win32 api, nor does it come with all the useful, pre-developed gui libraries, database access, and other stuff that comes with Delphi. It’s only a scripting language, all by itself, so I’m stuck with Dephi. And that, ladies and gentlemen, is a classic case in a high barrier-to-entry, in the world of software development.

Now, where was I? Ah, yes: let me give a grand tour of how we do things around here. As I was thinking about what kinds of articles to do, I liked the idea of having different series of ongoing articles, so pretty much all articles are a part of one series or another. How did I come tho that? Basically, I narrowed down the basic purposes of different articles I would write to only a handful. It really helps one to quickly determine what the articles are throwing at you. As a blogger, I will stick close to the purpose and subject of my entries, so don’t expect much philosophical discussion, unless you’re forewarned with a title or section header, ’cause I’ll be keepin’ it on-topic.


The following is a tour-guide of the different types of entries I’ll write.

Be Advised

These articles contain relatively refined knowledge and experience of practical things pertaining to software development. If I have been there, studied the issues, and have a well-developed knowledge of the situation, then consider these articles as troves of useful information to take into consideration while making decisions, or for future reference.

Power Tip

These articles contain various useful coding tricks and practical techniques for improving your development experience. They are very narrow, focused, specific things you can do. These tips are straightforward and easy to wrap your head around; they don’t require pondering to understand.


These articles introduce free code libraries & other such stuff that I provide online! They will document such things as why, basic usage, and a download link. Feel free to use the code according to the license embedded within its downloaded version, otherwise it implicitly falls under the Create Commons Attribution-ShareAlike 3.0 License.


These articles are an opportunity for me to ask you, the reader, to enlighten me with valuable insight or information on something I can’t quite seem to grok. Explain away! Comments welcome! (Not that they’re unwelcome in other situations.) BTW, thanks in advance!


Obviously, if I have something I feel is very important to say — something I’ve reflected upon, probably theoretical or philosophical, that helps me understand or achieve insight into the vastly complex world of programming or programming languages — I will put it in this category. Feel free to express your thoughts (on-topic, of course). I guess I would really only expect two types of responses: affirmations & critiques. ‘Course, you can criticize the ideas all you like (I don’t mind). If you find the ideas useful, please comment on how exactly so.

Programming Recipes

Unlike Power Tips, these entries get deep into the nitty-gritty of larger code solutions to various problems — recipes to code. Perhaps some of the problems can be requested by you. First, I’ll start off with an explanation of the problem, followed by an overview of the solution, followed by a laid-out, detailed walkthrough of the coding. Think of the programming version of a chef show on TV, and you have a good idea of what these articles are for. Please feel free to evaluate my solutions and suggest corrections! All your constructive feedback will especially help!


Enlightenment is my explanations of concepts when I finally grok them, that is, not just what they are, but why they are, where they come from, and what they do for us. These are the kinds of things I wished computer scientists and instruction materials (all on the internet) had explained to me in terms that are familiar and clear, so feel free to learn new things, and hopefully, you can find enlightenment as well!


So, that’s the tour! Thanks for stopping in, now, enjoy the journey as your life becomes overcoded!

No comments:

Post a Comment