Half-assed COM server soon sent to the trash
-
I was complaining about a half-assed COM server a while ago. It's an API for a brand of credit card PIN-terminals. The COM server behaves like a bag'o'crap (random crashes, protocol against clients is a moving target, randomly misbehaves, poorly designed, etc). I got a hold of the PIN terminal vendor, and they sent me the protocol specifications. Woohoo! I'm also not out of scope of the PA DSS self assessments for EMV by talking with the PIN-terminal directly, so double Woohoo! My suspicions that the protocol is HDLC protocol was wrong. Turns out they don't use HDLC anymore (they moved out of the 80's in the 90's!). They use simple ASN.1 BER (Basic Encoding Rules) over both TCP/IP and RS-232, so it's not very hard to program. I think I'll even throw in support for RS-232 (something which the COM server really couldn't handle!) I will probably spend a little less than 3 weeks on this, but I'm sure my life will be 10 years longer by not having to support the COM server. I'm happy! (Despite the fact that I will have to do this PIN-terminal integration twice!)
-- Kein Mitleid Für Die Mehrheit
-
I was complaining about a half-assed COM server a while ago. It's an API for a brand of credit card PIN-terminals. The COM server behaves like a bag'o'crap (random crashes, protocol against clients is a moving target, randomly misbehaves, poorly designed, etc). I got a hold of the PIN terminal vendor, and they sent me the protocol specifications. Woohoo! I'm also not out of scope of the PA DSS self assessments for EMV by talking with the PIN-terminal directly, so double Woohoo! My suspicions that the protocol is HDLC protocol was wrong. Turns out they don't use HDLC anymore (they moved out of the 80's in the 90's!). They use simple ASN.1 BER (Basic Encoding Rules) over both TCP/IP and RS-232, so it's not very hard to program. I think I'll even throw in support for RS-232 (something which the COM server really couldn't handle!) I will probably spend a little less than 3 weeks on this, but I'm sure my life will be 10 years longer by not having to support the COM server. I'm happy! (Despite the fact that I will have to do this PIN-terminal integration twice!)
-- Kein Mitleid Für Die Mehrheit
Happy Days, man! Good on ya to go around the COM pile-o-shiite!
If your actions inspire others to dream more, learn more, do more and become more, you are a leader." - John Quincy Adams
You must accept one of two basic premises: Either we are alone in the universe, or we are not alone in the universe. And either way, the implications are staggering” - Wernher von Braun -
Happy Days, man! Good on ya to go around the COM pile-o-shiite!
If your actions inspire others to dream more, learn more, do more and become more, you are a leader." - John Quincy Adams
You must accept one of two basic premises: Either we are alone in the universe, or we are not alone in the universe. And either way, the implications are staggering” - Wernher von BraunHell yeah!
-- Kein Mitleid Für Die Mehrheit
-
I was complaining about a half-assed COM server a while ago. It's an API for a brand of credit card PIN-terminals. The COM server behaves like a bag'o'crap (random crashes, protocol against clients is a moving target, randomly misbehaves, poorly designed, etc). I got a hold of the PIN terminal vendor, and they sent me the protocol specifications. Woohoo! I'm also not out of scope of the PA DSS self assessments for EMV by talking with the PIN-terminal directly, so double Woohoo! My suspicions that the protocol is HDLC protocol was wrong. Turns out they don't use HDLC anymore (they moved out of the 80's in the 90's!). They use simple ASN.1 BER (Basic Encoding Rules) over both TCP/IP and RS-232, so it's not very hard to program. I think I'll even throw in support for RS-232 (something which the COM server really couldn't handle!) I will probably spend a little less than 3 weeks on this, but I'm sure my life will be 10 years longer by not having to support the COM server. I'm happy! (Despite the fact that I will have to do this PIN-terminal integration twice!)
-- Kein Mitleid Für Die Mehrheit