So I remembered I didn't actually mention what I am doing...
Don't laugh- yes, this little squirrel is fixing their f**kups.
Here is the story:
So a leading bank wants to kick this outfit to the kerb, because, transactions take waaaaay too long to be processed. So you can see where I am going with this right?
The code is in C, which is to be expected, it is, after all, an embedded system at the end of the day.
Unfortunately, the people who have worked on it in the past, are all "graduates", so they have basically taken already bad code from the vendor (vendors don't care in this game) and mashed that up even worse. Its basically them trying to make C do C++, and not knowing that there is no garbage collection, no OS, and certainly no object orientation.
So basically it has grown, to around 120 source files, some of which serve no purpose, and in many cases they didn't even know that header files are required, so when I got here, they would copypasta from some mainline version of a project, and modify that to taste. And because they have no clue about how the linker script works, or the fact that this is sde-gcc doing the work underneath the Eclipse bling bling, the stuff has to be copied to the exact correct path on a hard disk, or it doesn't compile.
So what did the Squirrel do?
I fixed a lot of this tripe, because it drove me crazy.
Firstly I fixed the linker script, wrote a new one, so now... OMG, the project can actually be checked out of subversion (another thing I had to build when I got here) and it can be copied anywhere the SDE-GCC compiler just works fine.
Secondly I spent two weeks fixing up all the missing header file issues... From 600+ compile time warnings we are now down to 57.
So good, that is all done, and I call a spade a spade, told them their code is shyte. So time comes to implement a small project.. Guess what, I run into issues with communications, takes too bloody long, and it is hard to get working. So yes... I get given permission to rewrite some of the code...
OMFG... the code I saw in there.... ladies and gentlemen.. when I say its for the books, its for the books... whomever wrote that crap has no clue and should not be allowed near a computer.
So it has taken me 2 1/2 weeks to rewrite an ENTIRE communications library, and because these idiots don't know that in a file, they neglected to use, there are static symbols that you can use to access the circular buffer in hardware, they used a function somewhere to read socket data, byte at a time.
So now, we read an entire PACKET at a time, and guess what else, I have implemented the standard C function read() to read stuff from the socket... and hazard a guess at the speed this all takes place... 10-15mS at most.. basically now the terminal is up against the speed of the GPRS/3G network. Opens a socket to my test Amazon AWS instance in less than 1s...
And of course, by boss just doesn't understand a bloody thing I have done... all he is interested in is seeing stuff on the LCD display...

These guys don't know anything about OSS or Linux, or even what a class/object really is.