Older blog entries for bowis (starting at number 8)

Wow. It's been a long time coming. I have been working very hard and since the last post I have got myself a girlfriend, passed my second year of university with 1st class honours (highest attainable in the uk), probably written over another 10K lines of code for ferite, changed job, changed house, and drank several drinks :).

ferite is coming along very nicely indeed it's actually usable and it waiting for me to bite the bullet and say "yes we shall release it". Please go see http://www.ferite.org and get a copy of ferite and let me know of your mileage - it's very important and you never know, you may just like it :), Anyways I am off to france later (well tomorrow) so goodbye for another period of time :).

Have fun. boris.

Well, hi. I am currently nearing the end of a 3 hour break between two very pointless lectures at uni, so I decied to come have a groan, and a cheer around here. Ewww. That rhyhmed.

Anyways, I am currently bored beyond all recognition - the uni machines dont have a) autoconf, b) automake, c) libtool, or d) cvs - so i am unable to work on ferite, and this annoys me. It annoys me even more when the university refuses point blank to install these onto the systems here. (it woulnd't be a big deal as it would simply be a case of installing it once - then eveyr work station has it due to the nice NFS mounted root file system). Nevermind, it stumps the work i could be doing (I could go home - but by the time I have got there and back it's not worth the effort and time). So I am stuck here.

...but I am looking forward top this evening. It's that night that crops up everyso often called VODBULL. So, I hear you cry, wtf is it? Vodbull = a night some enterprising student came up with in birmingham (and it soon spread) where you go along, a buy double vodkas and redbull for one enligsh pound. This is wicked - and susually ends up everyone in the group of friends i go with, drinking excessive amounts in the order of 16 drinks (read: 32 shots of vodka and 16 shots of redbull) - and what can i say? it's wicked fun :-) - but you do tend to leave the building fairly early on :-). Friday night and Saturday night were also a great laugh - spent most of friday in the pub with everyone, and Saturday night was spent at our student union getting very drunk, dancing to cheesy mousic and have a nutty time. Sunday was spent doing sweet fa, and then i worked a load on the namespace cleanup stuff on ferite.

ferite is coming along nicely, I am currently removing duplicate code and cleaning up the logic within the system (it's currently stupidly complex to see whats happeneing - which makes it 1000% more tricky for anyone bar me to hack on atm). Also the code is being more generalised and lots of the internal code is using more of the same routines - which is wicked as optimasations help all of it. I am also thinking about sitting down and writing a white paper on my OS design I have been planning for the last 5 months or so, hopefully I shall start real work on this system for my final year project - or once ferite has matured and I have slightly more free time.

Anyways, carry on smiling people, until the next intrepid adventure update. And please forgive the typing, the sun keyboards here are evil - half the reason i dont do work that much here at uni is because i find i can work for much longer using my natural keyboard at home (my arms actully physically hurt after about 20 minutes of hard typing here - at home i can go on for hours ;))

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++).


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!