Just go and have a look at when I posted my last few posts, you'll probably get to see the same trend as I am seeing. I am willing to change the trend, but I am not 100% sure that will mean I will. We'll just see and will try to improve upon my posting, making it either irregular again (not ever longer between two posts, but truly irregular again) or by making it truly regular again (not declining, but stable).
So, now, onto everything I have to tell... please bear in mind that it is a total random grab bag with all kinds of completely unrelated matters.
First off the bat I will continue on the issue I started about last post. My nose has had a successful cut-and-paste operation. I had very little pain, in the hospital they even let me skip some of the pain killers - if ain't broken, don't fix it, but not being able to do much at all was a pain all by itself. In the three days I was in the hospital and the week after that in which I was at my parents' I did not a single book from the big pile I had assembled - I just didn't feel like reading too much. I did play through a large part of my brother's Pokemon Crystal (what a brilliance had pokemon as a game - sad it had to become such a merchandise centered brand at the hands of nintendo).
When I got back home my room was still the same mess it had been when I had left it. I decided I wouldn't put my computer (I had taken it with me to my parents) on my desk till I had cleaned up my desk, but as you might be able to guess, I can't do without my computer, so I had to set it up again anyway... on the ground.
Next thing up was me working on my computer's setup. I want to reinstall everything, after having had all hard-disks empty and having reorganized my partitions. In order to do all of this, I wanted to make both my hard-disks bootable, so I wouldn't have to worry about being able to boot into old OSes after installing something aggressive as windows XP (finally no more x64 :D). This led to my system being unbootable for quite some time. However I had/knew (getting my hands on a newer version of the Paragon Bootdisk did go a long way - the cd is one of the best I have) led to me being able to solve everything again, eventually giving me what I wanted, a system that was completely bootable from both disks. I guess I became an authority on the windows bootloader (ntldr, ntdetec.com and boot.ini) purely by experimenting - that's what you can do when your other hard disk can always serve as a "backup booter" for your system. I installed windows xp on, but that is not the OS I am typing this from (nor is it linux or any other altertive) - I am still working from (a copy of) my old windows install, because of my following point...
I dropped most of my other activities, because of the insane amount of work I had to do for school. I had missed a couple of lessons, but most of the work did not stem from that. The problem was that the year is drawing near its end, the exams are coming in sight, and all subjects want to focus on the exams / the last test period before that and thus everything that still had to be done, had to be finished by that week (or a bit later), including a number of things of which you ought to spread the work of over the year. There is still a large number of things I need to finish, but luckily I currently have a long weekend (friday till monday) and I have enough time to do all I should do, relax some and clean up the mess in my room (that only increased during the period I had time for nothing but my school work). At least, I hope I can get all of it done.
My next comment is about the comment I made in my last post. It is by no means final yet - but I do have a new name for the tyemplating system - and it's so obvious... lookingGood will now be called goodLooking instead. With the good in front you have a lot more options for the other word, which is what my aim was.
I think I do have some other stories for you, but I don't feel like typing more here right noe, so they will be for another day.
Friday, March 21, 2008
Friday, February 22, 2008
Cut and paste
It's been ages since I last posted anything (a month, really). So, anybody is reading this, you'd better get used to my irregular posting or stop reading here.
Monday I'll be cut up in pieces and the pieces will be put together again. By a qualified person, mind you.
Seriously, my nose is going to be set straight so I can get more air. And no more post-nasal drip. I'll not explain that last term, in order to prevent any potential readers, if you wanna know what it means, google it.
So, that's basically all I want to say - no wait, there's another thing. It's about lookingGood, the templating system I am building. I am not satisfied with it's name. I like the looking part, but I want a second part which I really put different verbs in front of, thus creating names for my other web products, ultimately leading to the the "Good suite" (if I would decide to stick with good anyway), I just think Good is to restrictive. So... I am thinking about a new name.
Monday I'll be cut up in pieces and the pieces will be put together again. By a qualified person, mind you.
Seriously, my nose is going to be set straight so I can get more air. And no more post-nasal drip. I'll not explain that last term, in order to prevent any potential readers, if you wanna know what it means, google it.
So, that's basically all I want to say - no wait, there's another thing. It's about lookingGood, the templating system I am building. I am not satisfied with it's name. I like the looking part, but I want a second part which I really put different verbs in front of, thus creating names for my other web products, ultimately leading to the the "Good suite" (if I would decide to stick with good anyway), I just think Good is to restrictive. So... I am thinking about a new name.
Wednesday, January 30, 2008
Giving it a name
I was doing some work on my Templating Engine again, and I wanted a name for a variable that nobody else would ever use. What's the usual way to do that? Right, include the name of your application. Easy enough, right?
The only problem I came across was the fact that I had no real name for the engine. So that's why I had to think of one. I came up with... LookingGood. It may or may not be the final name, it may or may not mean that I use similar names for my similar scripts (though I must say you can do a lot of things with the Good postfix).
Just thought I would drop that by - as I really want to be posting more I can just keep you informed (not caring whether you are interested or not :P) about such things. So, LookingGood is what I am working on right now. And maybe, just maybe all of you will be using LookingGood some day. (Probably not, though - this is just my project for my work, which others may use, but are not advised to.)
The only problem I came across was the fact that I had no real name for the engine. So that's why I had to think of one. I came up with... LookingGood. It may or may not be the final name, it may or may not mean that I use similar names for my similar scripts (though I must say you can do a lot of things with the Good postfix).
Just thought I would drop that by - as I really want to be posting more I can just keep you informed (not caring whether you are interested or not :P) about such things. So, LookingGood is what I am working on right now. And maybe, just maybe all of you will be using LookingGood some day. (Probably not, though - this is just my project for my work, which others may use, but are not advised to.)
Monday, January 28, 2008
Reinventing The Wheel? (To Run Myself Over)
I have been working on a templating system for quite some time now. It's one of the reasons I have not been posting. Shame on me for that, by the way. Anyway, there are probably people who are reading this and now wonder what a templating system is. Well, it's definition can differ slightly, but in this case it's a system that separates the layout from the programming logic completely.
Take for example the syntax of my templating system... anything normally typed is html and is not touched by the engine at all (okey, it's touched, but left in tact completely). Anything between <: :="" and=""> is handled by the templating system, however. Any value between the two script-delimiters (that's what they are called) will be printed to the output. So if the programming logic of a page gives the page access to a 'username' I can write "Hello <:username:>" to have it say hello Jasper to me and fill it with another name.
Besides printing values the scripts can be used to call functions, I planned two functions so far, include("page.html") and nameForCounter(varName), which can execute certain tasks. Include will insert a certain file in that location, and nameForCounter will assign a variable name to the counter of the topmost for or foreach loop (which I will explain more on later), giving you a handle to refer to it in the rest of your template.
The third thing a script can do is define a control structure. Planned of these are if, else, (possibly elseif as well), for, foreach and end ... . These work on script and plain text alike, if (statement) only considers the following content if statement is true, otherwise it will simply ignore it. An if anything that occurs before the next end if or else. Likewise else only considers the content if the last if evaluated to false - and it also ends at end if. for (value1 ++>/--> value2) will repeat the content enclosed by it and end for - starting at value1, increasing (++>) or decreasing (-->) it until value2 is reached. foreach (variableName in array). Array should be one of these variables supplied by the programming logic, but it has to be an array (surprise, surprise) then we will repeat the content (ended by end foreach, you guessed it) for each element the array has, the element always being accessible through variableName.
Multiple actions can be done in one script, in such a case they must be seperated by semicolons (;).
There is another kind of delimiter the engine recognises, <:- -:="" and="">. Anything between those two is regarded as a comment and will be removed from the document. Comments can be inside and outside script tags.
So that's what my engine is supposed to do - what does it have to do with reinventing the wheel?
(warning: technical terms - unexplained - ahead)
Now, while my syntax is different, there are other templating systems around already. None of them what I wanted though, simply take your template at real time and turn it in the website you want the users to see. I discovered this is for a reason, when making my own system. Because this costs way too much time and thus is very processor intensive. So what's the alternative? I looked into the source of the most notable templating engines, Smarty (it's open source as well, really). It simply compiles the userfriendly template to a (normally) unseen php script, which runs a lot faster, the first time a page is requested since it has been modified. I decided I would have to use a similar system to come closest to my wishes. Also I learned the trick of looking at the last time modified attribute of a file to see if it needs to be recompiled. However, when looking through Smarty's source code, it made me wonder what this new choices leave as reasons to actually make my own templating system.
It took me a while to figure out if I wanted to continue development of my engine, but I decided I would. Firstly, this script is mine, so other people may use it, but I can tweak it to my needs and make it the way I want to behave. Secondly, the syntax of my system is "better" (read as: I like it more). Thirdly, I will provide some functionality that Smarty does not provide. For now, this functionality would be: reading templates from a database and writing compiled files to a database. So yes, I will make my own system, and yes I have my reasons for it. Just drop me a line if you would be interested in using my system as well.
Now, for anyone wondering about the title, try googling that phrase. Say you would not find anything (which I cannot believe, but anyway) try finding the unrelated label for this post and look in that area.
Take for example the syntax of my templating system... anything normally typed is html and is not touched by the engine at all (okey, it's touched, but left in tact completely). Anything between <: :="" and=""> is handled by the templating system, however. Any value between the two script-delimiters (that's what they are called) will be printed to the output. So if the programming logic of a page gives the page access to a 'username' I can write "Hello <:username:>" to have it say hello Jasper to me and fill it with another name.
Besides printing values the scripts can be used to call functions, I planned two functions so far, include("page.html") and nameForCounter(varName), which can execute certain tasks. Include will insert a certain file in that location, and nameForCounter will assign a variable name to the counter of the topmost for or foreach loop (which I will explain more on later), giving you a handle to refer to it in the rest of your template.
The third thing a script can do is define a control structure. Planned of these are if, else, (possibly elseif as well), for, foreach and end ... . These work on script and plain text alike, if (statement) only considers the following content if statement is true, otherwise it will simply ignore it. An if anything that occurs before the next end if or else. Likewise else only considers the content if the last if evaluated to false - and it also ends at end if. for (value1 ++>/--> value2) will repeat the content enclosed by it and end for - starting at value1, increasing (++>) or decreasing (-->) it until value2 is reached. foreach (variableName in array). Array should be one of these variables supplied by the programming logic, but it has to be an array (surprise, surprise) then we will repeat the content (ended by end foreach, you guessed it) for each element the array has, the element always being accessible through variableName.
Multiple actions can be done in one script, in such a case they must be seperated by semicolons (;).
There is another kind of delimiter the engine recognises, <:- -:="" and="">. Anything between those two is regarded as a comment and will be removed from the document. Comments can be inside and outside script tags.
So that's what my engine is supposed to do - what does it have to do with reinventing the wheel?
(warning: technical terms - unexplained - ahead)
Now, while my syntax is different, there are other templating systems around already. None of them what I wanted though, simply take your template at real time and turn it in the website you want the users to see. I discovered this is for a reason, when making my own system. Because this costs way too much time and thus is very processor intensive. So what's the alternative? I looked into the source of the most notable templating engines, Smarty (it's open source as well, really). It simply compiles the userfriendly template to a (normally) unseen php script, which runs a lot faster, the first time a page is requested since it has been modified. I decided I would have to use a similar system to come closest to my wishes. Also I learned the trick of looking at the last time modified attribute of a file to see if it needs to be recompiled. However, when looking through Smarty's source code, it made me wonder what this new choices leave as reasons to actually make my own templating system.
It took me a while to figure out if I wanted to continue development of my engine, but I decided I would. Firstly, this script is mine, so other people may use it, but I can tweak it to my needs and make it the way I want to behave. Secondly, the syntax of my system is "better" (read as: I like it more). Thirdly, I will provide some functionality that Smarty does not provide. For now, this functionality would be: reading templates from a database and writing compiled files to a database. So yes, I will make my own system, and yes I have my reasons for it. Just drop me a line if you would be interested in using my system as well.
Now, for anyone wondering about the title, try googling that phrase. Say you would not find anything (which I cannot believe, but anyway) try finding the unrelated label for this post and look in that area.
Subscribe to:
Posts (Atom)