I’d blogged earlier about reading the command line of another process.
Raymond Chen points out that this approach still has its gotchas.
You have to understand what you are getting is non-authoritative information. In fact, it’s worse. It’s information the application itself may have changed in order to try to fool you, so don’t use it to make important decisions.
Ever wonder about the relative sizes of the Solar System, or the Universe, or the cells?
For those who’ve been consuming the interim FIXatdl builds leading up to v1.1 and haven’t upgraded to the latest internal build v2.6.5, be aware that there are several breaking changes which will require you to update the algo xml.
Some of the changes are cosmetic only (proper case vs camel case attributes) but others changes are major. Additionally, there are values that the xsd won’t validate but as a developer, it’s your responsibility to check the algo xml.
- The latest build separates the data contract (over the wire) from the UI components. As a result:
- Parameters are now defined separately from the layout and no longer have attributes like initValue, minValue or maxValue.
- They are referenced by name from a control’s parameterRef attribute.
- It’s your responsibility to confirm that the names specified in parameterRef are actually tied to Parameters.
- Although the “id” attribute on an Edit is marked as optional, without it, the rule cannot be referenced by any control. Therefore, treat “id” as a required attribute.
- Olson TimeZones referenced in localMktTz attribute should now map to the LocalMktTz_t simple type defined in atdl-timezones-1-1.xsd. Regions are also referenced similarly via atdl-regions-1-1.xsd
- When validating a list parameter (with EnumPairs) that are mapped to a list control with its own ListItem, or defining a rule on such elements, normalize the values back to the EnumPair’s wireValue. However, if the ui widget is display-only (that is, it’s not tied to a Parameter_t and is just used for StateRule), then normalize to the Control’s value.
- Avoid using spaces in wireValues associated with EnumPairs as in the case of MultipleCharValue_t and MultipleStringValue_t data types, extra spaces will cause parsing to fail on the other side of the wire.
- Unless you’re using RepeatingGroups, treat “fixTag” attribute on Parameter_t as required.
- FIXatdl treats RadioButton_t and CheckBox_t identically in terms of functionality. However, treat a RadioButton_t which is not present in RadioGroupButton_t as a CheckBox_t since you can’t unselect a radioButton after selecting it without writing additional code.
- FIXatdl does not support the use case where you might need to reset a control after its value is set by a StateRule. You might want to handle this case explicitly by setting up a StateRule to null out the control in order to prevent erroneous wireValues to be generated. For example, if you have a StateRule defined as
<val:Edit field=”Posting” operator=”EQ” value=”e_NOPOST”/>
Then you may want to also add a rule to clear the field when Posing is changed from e_NOPOST to something else.
<val:Edit field=”Posting” operator=”NE” value=”e_NOPOST”/>
No, this isn’t from The Onion.
Further investigation into the failure of a cryogenic cooling plant revealed an unusual impediment. A piece of crusty bread had paralysed a high voltage installation that should have been powering the cooling unit.
Interesting move by Bloomberg to release BSYM.
Bloomberg, however is making their robust BSYM identifiers, (originally developed for the BLOOMBERG PROFESSIONAL service and Bloomberg’s enterprise data products) available through Bloomberg’s website at no charge to users, with no material impediments on use.
Since the site allows download to CSVs, an API is not immediately needed, but it sure would’ve been nice. I’m not a fan of rummaging through source to figure out the calls, even if it were ethical to do so.
- BSYM site seems to have been developed with ExtJS.
- The export contains BSIDs for the symbols as well which should make it easier to map a symbol over to their BPOD feed.