?

Log in

No account? Create an account

Previous Web | Next Web

ButterflyD

Started messing with C++, threads, sockets, etc today... the aim being to write something called ButterflyD... that'll act as a middleman between Any Mail Client(tm) and (initially) Hotmail... and eventually other webmail services that don't provide free POP3/SMTP access... Yahoo mail for one... I mean, I use an @yahoo.co.uk account, which does (well, did... ) support mail client access, but I used to have an account @yahoo.com... and they took away mail client support on that... so I don't really trust the UK one not to vanish...

I've actually been meaning to start this thing since Hotmail stopped letting new users use the Outlook Express "htmail" support... since the next logical step is to take it away from long-term users who are using it... like me.

And now I want to use Thunderbird as well... and I figure it'd be nice to have all my mail accounts accessed from one mail program instead of using a web browser for some and Thunderbird for the rest.

The only software I've come across that does something like what I want (iow allow a standard mail client to get at Hotmail), appears to use the htmail support (atleast the limitations on usage (except needing OE obviously) are the same)... which doesn't get around the first reason for writing ButterflyD. Or insulate me from Yahoo killing POP3 access either.

Anyway. from a coding point-of-view, the problem is that I wanna write this thing for Windows and Linux... I'm using Linux an awful lot more these days, but I also want to be able to run this for people like my parents who I've set up with OE+Hotmail in the past. But eing multi-platform means I'm gonna have to deal with Windows Services (non-trivial) as well as the Unixesque daemonic stuff... oh, and Windows doesn't support Posix Threads either.

Anyway, I came across a nice little something called GNU Common C++... its a framework of useful classes that insulate you from having to write platform-specific code... so I'm using that to implement ButterflyD... since it supports both Posix Threads and Win32 Threads :-)

I'm still gonna have to hack up some platform specific stuff: I need the Windows version to handle everything required of a Service... while the Unix version should just be able to fork like a traditional daemon... the daemonic fork can then do the threading (I hope! - no guarantees I've understood daemonics properly ;-) ).

Atleast it should only be a choice between platform=unix and platform=winnt... and it should run on Linux, Irix, Solaris, Any PosixThreads Unix without any problems thanks to the framework builder working out all the threading-specific implementation quirks...

I'm also kinda hoping that Visual C++.net (2003) will build both 32-bit and 64-bit code from the same source and do any/all the bit-width-specific stuff inside the compiler... not that I have a 64-bit box to play with and test it... but I suppose if I'm going to release this thing, I should build some Windows binaries for the "I just use my computer" brigade!

My brain's is now severely boggling... and I'm coming down with a cold too, so my head feels like it's been filled with cottonwool and jumped on repeatedly!!