Older blog entries for bowis (starting at number 6)

Well then. It's been some time. Well it certainly feels that way. I have currently made a concerted attempt at fixing ferite's namespace polution problems and defining a more conrete policy regarding namespaces - along with better name resolution. This is taxing my brain so I have decied to take a week off from coding it, this finished on monday.

In the mean times I have been doing a few more social things with my life - finally caught up with some mates from school I haven't seen for ages (spoken to them - but they are the animated sort of people that can only truely be appreciated in the person) in the pub - this was excellent. I then spent friday in London for a friends 21st birthday party and caught up with my flat mates and close friends from uni - this was also excellent. (the reason why I have been lazy is because I have spent most of my awake time at work).

Speaking of work, I wrote a small netware client for some people to mount the netware shares at work with a similar interface to that of the window's client. The app can be found here. I then found out that we no longer needed linux. Arse. Well at least the last week has been better than all the others (basically playing with Linux-Mandrake - which is better than redhat but by no means debian =p, coding and playing with my favorite OS). Incidently I still plan on working on the netware client - 0.2 is slowly coming along nicely (planned features: automounting on login, multiple mount points and servers, indepentdant mounting/unmounting). I finally finish work and amble back to university on friday (well go back on sunday) which I am really looking forware to doing.

So there we have it. Fun. I have also made some changes to darkrock which make it more fun and actually provide more. And having had 47,500 hits, that aint bad for a homepage :)

Well in my spare time I have done a number of things. 1: it snowed last night - and as is customary in this country - we had a snowball fight today which was fun, and then rapidly slid down hill to being just pretty darn cold :-). 2: watched Mission Impossible 2 again - I have to say that it's not as good as the first one, but I still like it. 3: been doing some hacking on ferite.I have added error handling , break, continue, and super to it's list of accolades. super, break, and continue work as you would expect. error handling is a some what different kettle of fish. Here is an example:

iferr {
   ... code to check for errors goes here ...
} fix {
   ... code to fix any errors goes here ...
   (there is an error object err that has two attributes errstr and errno)
} [ else {
   ... code to be run if there wasn't an error ...
} ]

The code within the square brackets is no compulsory to use the error handling. If an error occurs the error will be propogated up until an error handler catches it - if not the script will end. I am currently converting the rest of the engine to throw exceptions rather than hard errors.

Ok, I was up till 5am last night hacking in a CoolFeature(TM) into ferite. Basically you can now specify another script in the uses's line (surrounded by quotes). Ferite will take this and compile it into itself so you can use those functions and classes. There are a number of things that need to be cleaned up regarding this, better "this function already exists, guv'nor" - throw an error, the parser and lexer need to be made a little robust (only allows for one level of embedding -> requires alot more (easily done via a stack)), and finally search paths to allow the engine to load up the scripts in different paths (so libraries can be written in ferite :)

Sundays can be so much fun! :)

11 Dec 2000 (updated 11 Dec 2000 at 11:40 UTC) »

Ok, it's currently the earliest I have ever been up, I am facing a pile of Java work that has to be done by thursday or I can kiss good grades away. And for some reason I am sitting here doing some optimsations to ferite.

I have basically just converted a load of stuff that used to use a linked list to store information over to hashes (my new favourite data structure/algorithm FYI: i like the sheer simplicity of the idea and how with a few tweaks it's quite quick :)), which at the moment shouldn't make too much difference but when class's and object start having large number of methods they will come in handy. The next step is to make the scripts have there functions stored within hahes. yum. After this little escapade I shall add caching to the hashing so that items that get used regularily are quickly found. I have also made a number of fixes pertaining to class's which someone found. For those of you interested as to what a ferite script looks like, here is an example script.

And on that note, I am off to get ready to goto uni and hand in a Software Engineering essay.

Ok wicked, this rocks. I have been playing with class's in ferite now for a little while and they rock. There is alot of work that is needing to be done (ie make them more stable) but that shouldn't be too tricky because most of the class code has been battered about by the native code (internally they both look and feel exactly the same - this is nice because it means that a native class will be able to inheirit from a script class and a script class from a native class and mingle code about, toy++).

DEEP BREATH

The next step is to fudge with inheiritance so it a) works and b) is fast.

I have been working hard still on ferite. I finally moved the source code out of the enlightenment cvs tree and into it's own tree on sourceforge. The project home page is here and the project summary page here. As per usual I am looking for more people to join the development team. I have also been secretly working on bwm - boris's window manager and TruePath my little play with RPC.

bwm is a hack on pwm and adds theming via Imlib2, and better menu code, all in all it looks alot nicer. TruePath is a RPC lib that can switch it's messaing between TCP/IP, unix sockets/pipes and SHM. It was originally designed for another project but allows simple communication between two apps at the programming langauge level.

I have also updated my homepage :-)

Well life looks to be fun. I am off to YAPC::Europe this weekend, but before that I have to go downto london to meet attyz, and also hook up with giblet, and Jaded to goto the Lonix meetup. I also have to move all my stuff up to University Friday afternoon/evening, and then go back downto london first thing saturday for YAPC. I am looking forward to meeting other perl people just to see what they look like :)

ferite is coming along nicely - currently working hard on getting arrays up and running and writing a number of routines to make interaction clean, other than that switch(), break and continure statements come next and that is v1.0 of ferite's langauge specification done. Next comes the writing of documentation and modules. Then a release can be done.

For those of you unaware ferite is a highly embedable lightweight scripting engine. email me if you want more info :) (it's also object oriented - ... which is nice)

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!