?

Log in

No account? Create an account

Previous Web | Next Web

Computers and Geekery

Well, the modifications and improvements to my Linux box are all working nicely. I still haven't sorted out a motherboard that will handle dual-core, but there are financial reasons for that at the moment. The machine is sitting out of the racking still as I just can't be bothered to put the case back together...! (Originally that was because it was only going to be a little while before I had a new mobo... and then when that became a bit of a no-no, it was just too much like effort!).

The ex-Linux mobo/cpu/memory is eventually going to be dropped into the Firstclass server to boost that from being a Pentium (233 I think) MMX to an AMD K6 450 or 500 (I forget which that chip was...). With the Linux box taking up the floor in front of the FC machine, it's not happened...

And my laptop really needs me to sit down and sort out the 80Gb hard disk's OS installations... The 10Gb hdd with WinXP on it, well, XP is now seriously flaky at times, and the 10Gb hdd with Linux on it (that I'm currently using) has started bitching about SMART errors, so it may be dying.... neither has actually died just yet, but I'm sure its probably just a matter of time... I definitely and urgently need to back-up the data on both the 10Gb drives... -mental note made-

I'm finally starting to make major progress in C++ and on my 'butterfly' program for reading webmail accounts using a proper mail client via POP3 and/or IMAP. I now have the basic structure sorted out and functioning... the design is basically that there is a listener thread for each service's port (so the POP3 service has a thread running that waits for connections to port 13110). When a connection is made, a session thread is spawned that handles that specific connection and the listener goes back to listening. At the moment, there is no limit to the number of threads the program will spawn, but that's because I haven't written that bit of the code yet, not because its missing from the design.

The neat bit is that its working!!! Atleast, the POP3 service runs, listens, accepts and communicates... I haven't implemented all the bits of POP3 that I need just yet, but that's just a case of filling in the bits of a finite state machine... the bit of POP3 that I have implemented shows that the FSM is working properly :-)

The to-do list for butterfly is still pretty huge though... I need to:

  • add in way of limiting the number of threads that can be spawned

  • abstract my working POP3 service so I have a set of general service-related classes, then reimplement the POP3 classes with inheritance

  • complete the POP3 FSM

  • do the detailed design for the web side of things

  • implement that design

  • possiblyimplement a mail insertion agent (not sure if thats the correct term), so that the mail client can send email using the account as well as receiving it... its not possible (atleast with Hotmail) to send properly formed MIME mail using the compose window they provide, so an alternative way of sending mail is required...
  • build an IMAP service using the general service classes

  • possibly then add POP3S, IMAPS and SMTPS services too