Older blog entries for Excalibor (starting at number 11)

OK, Date/Time managing in C (with both glib and time.h) is dominated... (ah, hacking nights! :)

It's time for the libxml stuff (as soon as I solve why the GPtrArray is not doing what I thought it was supposed to do... or change my suppositions about it)

This weekend is the III Hispalinux Congress, and both RMS and Miguel de Icaza are coming! Whoah! I'll be finally meeting (hopefully) someone from the Elite... :)

I'll report more later...

Phew...

Long time... busy with work, sleep deprivation and a nasty cold I'm incubating right now...

Been working on my bookmarks idea, things are going OK, although the toughest is yet to come: the XML parser... Still have a lot to read on libxml before starting that one...

Anyway, glib is absolutely fantastic... Chapeau to the GNOME team for it!

After all is done, I'll integrate it on Encompass as a proof of concept, and we'll see... One problem is, should I do it GPL or LGPL? I'd go for the GPL, but then Mozilla gang wouln't probably use it if they liked it, and even though I'm not looking for fame, it would be a nice enhancement, IMHO... LGPL should be OK, but I'm actually for freedom, and LGPL would mean non-proprietary systems would be able to use it as well... IE? Argh!

So if anyone is reading this diary, I'd appreciate your comments and help on this issue...

Not much more, I'm coming to love GNOME more and more everyday, although I find the CORBA architecture a bit too fuzzy and complicated... We'll see...

BTW, I am using a documentation tool called doxygen, at http://www.stack.nl/~dimitri/doxygen/ It's OK, far from perfect, but still very useful... I don't understand why it needs Qt-2.1.0 if it's a CLI app... I'll have to ask the author... I'm looking at other utilities as well, I'd prefer to stick to GNOME libs so people don't have to install Qt and Qt-devel if they don't want... Maybe Doc++, which is GPL is ok, and looks really mature and powerful, who knows? Any advice on this?

Well, another day...

After 2+ hours compiling mozilla_M15, I tried gzilla, but I need a later release of mozilla, or so it seems as there are two .h files not present in the source tree... darn... Well, it was fun to play around with the mozilla viewer and Pokemon, Yellow Edition in my Pokemon Stadium transfer pack... Gotta love those little things :-)

On a happier side, I finally made it and got encompass 0.2.0 working... Had to hack the makefile a bit and some gnome *Conf.sh file in order to get the right libraries to link... It's a bit annoying that with 150+ Mb of rpm files for Helix GNOME, I have to fight and fiddle to get the needed *-devel packages and hack them to get something working... I'll talk with encompass author and see what can be done...

Something I found surprising is the speed of the rendering. Yes, it didn't really read all of the CSS2 stylesheet (or at least understood it, but, alas, I am not using the latest version of gtkhtml anyway, libraries conflicting, and I am not worried about it at this moment anyway) the GtkHTML gang is doing a wonderful job... congrats, pals! It was a bit late by then and I couldn't really read the code, but encompass seems to be very well written, adding really little overhead to the widget and already usable... That's perfect to implement my ideas, as I won't have to fight over kilolines of code to find the right spots to add my contribution to... Then, it will be up to the author and devel equipment to love or hate my idea and use it...

My intention, actually, is implementing a dirty hack of the idea so people can see ho it works and then implementing the Right Way in their own browsers... I'll try to do an early release and see how people reacts...

And not much more... Tomorrow's bank holiday in Spain and I won't have computer access (nor INet) until Sunday/Monday, so this will have to wait for a while, tonight I have a dinner with the gang at the fencing salle d'armes, one of our maestros is leaving and we're gonna tell him goodbye a la spanish way :-)

Sometimes things suck big time... Others not.

Been really busy changing customer, mind set and location, etc... Thus this diary's been left adrift for a long while... Good thing is that I'm going to go deep into CORBA and C++ :-)

I've discovered glib! It's a wonderful C library, really, look for it at the GNOME Project or GTK+ Project. I have to think very hard to find a situation in GNU software where I'm gonna use char * instead of GString!!

I'm tinkering with some ideas. Got introduced to NetCaptor. It's a WinX application that groups all browser windows in a tabbed notepad. A good idea, it's much easier to have 20+ browsers in a single app bar icon that to have the damned bar crowded with icons. Unfortunately, the Mozilla version is working badly (ie, only M$ IE) and it will use the ActiveX, which means no NetCaptor for GNU for a while... I've sent them an email asking about the patent pending on NetCaptor, what they really patented and what not, etc... Just to know if I am looking big trouble if I implement something similar for GNU... So far, no reply, but my email's been dead brain for almost a week, I'll give them some more days before insisting...

Also got a good idea, I think, to implement for browsers, a new kind of bookmark that allows more information to be saved for later review... As soon as I manage to get Encompass working, I will try to implement it on it (or maybe on the gnome-help-browser) as a proof-of-concept and let others implement it on their browsers... I'd love to have an early release on this, but I am still dealing with some GTK+ issues, I'm sure I'll have something understandable soon...

And that's all for now, some interesting articles on this place, some interesting entries on Wiki and some interesting announces on LinuxToday. We are living interesting times!

Wow, long time since I last wrote for this diary.

Been working on my LinuxFromScratch installation; it's pretty interesting to see how much stuff you need to have a working Linux system! I'm getting closer to a multi-user runnable box, cool! :-) And learning a lot in the process... not the fastest installation distro available, but really valuable...

Also been working in laying out the Physics class for Fleets and how to make the user interface something usable instead of a mesh of dots, lines and colors... Not easy to put a 4-dimensional environment into a 2D screen and get something barely adecuate, now I see why most games prefer the conical or isometric projection and don't worry about the 3rd dimension. That way you get a 2+1D game with 3D-like little figures for the ships/soldiers/monsters... but movement is basically 2D... Much easier to put into a screen and for the user to play...

Been working on some compactation techniques of R^3, but I'd need just the opposite, having all space in the surface of a hypersphere is not much help in this case... <g> Yes, I can develop the 2D view of the 3D surface, but how the heck may players find such a thing intuitive??? We are still, and basically, surface animals... I'd have to discuss this with a whale or a dolphin... Oh, well, anyway, it would make the Physics weird, as the Infinite would be a well defined point in the hypersphere... If anyone has any idea of how 'decompact' space into 2D's, and getting something that is adecuate to get 3D-like motion, please talk to me...

In the meantime, I'll concentrate into the classes, still lots of work to do...

Not much hacking, I am terribly tired and the hot is not helping...

Math::Vector et al don't seem to be very welcome in the CPAN family. They are right, there are other modules which handle vectors, but these are my vectors, after all... :-) Oh, well... I'll look for fame and fortune anywhere else...

I'm thinking very seriously about a class Physics which describes all the Physics of the Universe in Fleets. It may seem a bit silly, but this way I can simply make every object in the system to ask the class how they should move (ie, for each time iteration, what their new position will be). That way, we can implement ships, but also asteroids, space stations, planets, etc if we like; or put ships orbiting a planet, etc... They just ask what's their new position and the Universe replies and moves them. Just like it happans in the Real Life(tm) :-)

It's elegant, but maybe not too efficient, I'll investigate it and we'll just see. I've been thinking about new ship design and some cool ideas for the UI I still ahve to further develop, I'll keep everybody up to date :-)

Did not hack a lot yesterday, but my lunge in fencing is slowly getting better :-)

Fixed some missing things in Math::Vector class and now I think it's ready for prime time, let's wait and see if anybody else thinks it's a good idea... I'll post it to CPAN anyway, but it will probably remain in my personal directory unless people show some interest in the module... oh, well, it'll be handy for Fleet.

Also finished The Sentiment of the Sword, by CAPT. Sir Richard Francis Burton and published by the Journal of Non-lethal Combatives. Really cool, been a difficult reading, all that victorian english, old french and latin, but well worth the effort...

Things are a bit stopped with Fleet until I manage to put into the design some physical constraints... I may design a Physics class all the rest will inherit from... :-) It's like creating the Universe again ;-)

OK, been working in Math::Vector and Math::Vector::Vector3D and it's almost ready to submit to CPAN.

I've sent an RFC to comp.lang.perl.modules to know the opinion of people about it... I've checked there's a Bit::Vector package, but it seems overkilling to me for what I wanted to implement, a metric space through a vector space and a norm (R^n). I'll wait and see how people respond to it. I wanted to reuse Math::Polynomial, a very nicely written package, but there were too many 'dangerous' functions to disable or modify, and so I started it from scratch...

Vector3D provides vector cross product in R^3, which will be useful for Fleet to make the physics of movement for ships and missiles and "slow" proton beams (laser and electron beams move at light speed).

Not much more hacking, as I was working on the self-defense sprays article for JNC. I'm almost ready for another submission, hopefully almost the last one... :-)

Been reviewing Force Commander, by Lucasart, at my co-worker's place. Interesting, but there are not too many things we can take for the project, which will probably be called Fleet. Also helped him to setup CVS and get the source (from a floppy, no net access as of yet...)

Been hacking for a while late in the night, improving base Ship class and creating mutators and other methods. Have found I need Vectors and Perl does not provide any fairly complete package with them... Found one with Matrices and another with Polynomials, but both have very poor support for vector operations... I'll probably change one of them and extend it to have at least support for all vectorial space operations... that way we'll be able to implement a ship's position, speed and acceleration fairly easily :-) Movement, within the time grain will be choosing, should be as realistic as possible... I'd go towards a full Newton Physics support, but I'm afraid it would make things too complex to play (imagine you are manning 30+ ships of different sizes and displacements in a formation to change course maintaining the formation... a 100% realistic thing would be total chaos! But by providing a constant acceleration within a small time frame, things are simpler and movement still fairly realistic... still, people will probably need traing to do that without a Frigate collisioning against a Line Ship... :-)

3D is yet another thing... Human brain is not really ready to deal with full 3D sensorial information (that's why we get disoriented when diving and flying takes so long to learn... compared to driving a car, or walking), we are used to a 'fat 2D' world, or to a "stack of planes" at best... Moving basically 2 degrees-of-freedom objects in an isometric view in StarCraft or even the more complex thing of Force Commander or a "3D" simulator like X-Wing, etc is very different to manning a fleet of N ships against some other M ships in a real space, with accelerations, gravitational fields, etc... I don't think there's an easy-for-the-brain interface to 3D (even if we draw a rotating cube on the screen, which is probIaby the best approach nowadays... well, we'll see when we have to assault the GUI...

I was thinking on implementing the interface in C^3 (ie, three dimensional complex vectors) with info about position and speed at the same time... but it won't help, people is not used to phase spaces, either... and drawing C^3 in a 2D screen would be... a big challenge :-)

Despite there's FTL communications and travel in this Universe, intership communication will probably go by light and we are thinking about implementing that delay into the game, making it much more interesting... <eg> :-)

Not much more hacking and thinking, except some blueprints of some of the ships classes (Satellite Hunter and Destroyer), because I was also watching Ally Mcbeal, and was somewhat distracted ;-) There'll be more on Monday, I hope...

Not been hacking a lot as of late, with my b-day and all... Today's my first sister's b-day.. she's not hooked to the Internet, but here goes my happy birthday, Cristina! :-)

Been working on a revision on my self-defense sprays for the Journal of Non-lethal Combatives, I hope next submission will be closest to the last one...

Nants is gonna have to wait for a while, as I'm gonna start a new project and try to finish it this time... Space Realms hasn't gone too far, actually has not gone, stop. This will be different, more strategy oriented toward space battles... I already have an interested programmer (actually one of my co-workers) which is good, as I started yesterday late night :-)

Core will be in Perl 5, which is cool for this, then the GUI will be GTK+ or some other, we'll see when it's the time... Actually GUI independence is a part of the overall design phylosophy... As soon as there's more than shiptypes, a pic of ships silouettes and a skeleton base Ship class, we'll post it to the Net for collaborators... GPL, btw...

2 older entries...

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!