Picked up the new C++
Network Programming Volume 1 - Mastering Complexity with
ACE and Patterns by Schmidt and Huston yesterday. I
knew about ACE but I'd never really looked into it too
closely. Now I think I might. I'm always much happier to
use a third party library if I know about the "philosophy"
behind it. I'm always pretty cautious about adding
dependencies on third party software to Suneido. It really is
a "dependency" - if they have bugs or don't support what
you need you can be in trouble. Even if it's open source,
that doesn't mean you've got the time or understanding to
fix it yourself. But at the same time, leveraging off
other people's work can have major benefits. Suneido uses
Scintilla for
source
code editing. We could have rolled our own, but we got a
lot nicer component for a lot less effort. Of course,
something like that is not too serious a dependency - it
could be replaced fairly easily. If I rewrote Suneido's
networking to use ACE, that wouldn't be so easy to change.
My other concern is size. ACE is large! I don't
want to double the size of Suneido just to get a little
better networking! I'll have to play around and see what
kind of size increase it would entail.
The other nice part about getting a "good" computer book
is that it tends to really motivate me, not just in the
area of the book, but all over. Maybe because
it's "inspiring" to read about other people doing a really
excellent job. It makes you want to raise your own
standards, do better work, improve stuff. I started
thinking about multi-threading Suneido's database server -
something I've always been nervous about. And I thrashed
out how to clean up the database history mechanism to be
cleaner and more complete.
I spent a little time playing with VMware the other day. I
really like the idea of being able to run multiple
operating systems without re-booting. It would be really
useful for testing. And it would let me run Linux as well
as Windows. (Too much of my work is Windows based to run
Linux most of the time.) In fact when I recently got a
new computer I deliberately put more memory (512mb) and
more disk (80gb) in order to have space for VMware.
But ... as soon as I installed it, Windows XP
started to act flaky. Strange delays, networking
problems, video problems. All intermittent and
unrepeatable. So, much as I like the idea, VMware had to
go - Windows is flaky enough as it is. Besides, how much
use would it be for testing if it's flaky? Who knows what
the source of the problems was, but I don't have the time
to try to track it down. Maybe it isn't fully compatible
with Windows XP? Or my hardware? Another aspect that
scares me away is that there doesn't seem to be any way
to "turn it off". Even when you're not using it, it's
got all kinds of stuff running - yuck! I wonder if using
Linux as the host OS would be better? Maybe I'll give
that a try at some point. It's too bad, the idea is cool.
I wonder if I'll ever make Master on Advogato? Without
sounding too egotistical, I think my experience,
expertise, and investment in open source is as great as
many of the other people rated as Master. But I don't
know anyone "important", and I'm not working on a highly
visible project. (I know that "major project" is part of
the criteria, but many of the masters don't seem to be
working on "major" projects.) I guess in a way it's a
weakness of the
rating system - people have to know you. Of course, it
doesn't really matter - it
is just an ego thing - everyone likes recognition :-)
Enough thinking out loud - time to do a little work!