While waiting until I downgrade to VS 2013 let me indulge myself as I ramble on about who I am.
I'm a 58 year old computer geek who was laid off with a good severence package 8 years ago less than
a year before the company went bankrupt.
The proprietary system I worked on used Motorola 68k, 88k and powerpc cpus. I was most familiar with
the unpopular 88k. My claim to fame was discovering a bug in the branch prediction which ironically
improved performance once it was disabled. Apparently the BP conflicted with a compiler optimization
even if it had been working properly. The 88k, Moto's first venture into RISC, however, was short lived.
The software system was an integrated development system consisting of a run time real time operating system,
it's applications, a Linux based (originally IBM mainframe) multi-site program and documentation library,
and compiler all written in and for a proprietary high level language with similarities (ie strict type checking) with Pascal.
I really learned to love the language and it has some great features, with OO added later. One of my favorite quirks
in the language was the guzinta: "->". This is unlike similar c++ operator. It is the assigment operator
and works like this: "value -> variable;". Some of your may recognize it.
it had some important features like not defining the null pointer as 0. nul always pointed off to invalid address high
up in the address space. Address 0 was also invalid and would throw an exception if accessed. The languange
also had array index protection built into the compiler. An index out of range also would throw an exception.
There was also a built in data structure (nice to own your own compiler) called a descriptor that was essentially
a pointer to an array. It also had index protection. c++ probably has a class similar to the descriptor but without
index protection. That feature alone made the system so much more resilient to memory corruption and easier
to debug, but most importantly the concept of a buffer overflow did not exist. The compiler would not allow it.
Imagine how many fewer exploits there would have been had c/c++ had such protection (at a slight performance
cost).
I've never done any Linux or c++ development although I had some exposure to c++ at work. Many of the concepts
are so different that what I am familiar with and that slows me down a lot. I've used HP-UX, solaris and linux as
desktop workstations at work and used linux at home since Redhat 5.2.
Although I'm comfortable with assembly code I haven't touched Intel since the 8000 series. That will make the assembly
language files tough to work with. I have a couple of optimization thechniques I've used in the past but they require
intimate knowledge of the Intel architecture such as memory interface, cache organization, execution environment,
instruction issue and retirement throughput, and things I'm probably not aware exist. I have a lot to learn, but that's why
I'm here.
I know nothing about cryptographic algorithms so don't expect me to code new algos. I'll leave that up to others.
I had heard of Bitcoin but didn't get involved until very late (too late) in the darkcoin frenzy in April 2014. I started
with just one CPU but unknown to me at the time ASICS had taken over bitcoin and scrypt was next. And GPUs were taking
over the altcoin algos. I bought a gt730, a nice little card that performed on par with my i7-4790K. I bought a 750ti shortly
after that and a few other cards since then.
Well that's how I got here. I'm bored with lots of time on my hands so I've been poking around at miner code here and there.
I'm even less familiar so I took a shot with a cpuminer and was surprised. It is a credit to Pooler's design that I was able to
pull together code from 3 different miners and make it work smoothly and efficiently in a short time.
VS is still installing but I think it's time for a break.
I must be getting tired I just tried to post this to the wrong thread. I giess i don't have the stamina I did 25 years ago.
Thanks for reading and taking an interest in my project.
Good read (: