4 ms·
Just wanted to point out that this has affected software revolving around finance for some time now. Historical data goes back into the 1800s and there are bond
by apaprocki 14y ago
Just wanted to point out that this has affected software revolving around finance for some time now. Historical data goes back into the 1800s and there are bonds with very, very long horizons (100-year or approaching it). The last time I checked on Bloomberg I believe the latest maturity date I could find in the system was sometime in 2089. I think the industries that have had to deal with this already will not be very affected by 2038.
edit: Link to C++ N3344 paper we wrote, describing how we represent dates (times/datetimes are similar): http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3344.pdf http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n334...
edit2: Anyone interested in examples -- on the early side:
ISIN GB0000436070, UK Gilt, issued 1853, perpetual annuity
On the future side, things have changed since I last looked. Example bonds with the latest dates I can find are:
ISIN XS0560190901, Dong Energy A/S, callable 06/01/3010
ISIN US786581AA66, HSBC Holdings Luxembourg SA, callable 10/15/2997
- deleted 14y ago[deleted]
- kevindication 14y agoRight, but just because you have a data type that can handle a date that far in the future does not imply that you have fixed your OS and supporting software to be able to handle the day when the system time rolls over.
- apaprocki 14y agoYes, it really just depends how much your software stack depends on the OS and higher level OS-related services. If your software is not coupled with other points of failure in OS user-land, then you really only need a single entry point to get network-sync'd 64-bit time_t and then everything else in the stack can be built around vocabulary data types such as these. These are the types that are transmitted in protocols, serialized to files, etc.
- HorizonXP 14y agoThat is insanely cool. How does that even work? Does the original bond issuer even exist anymore? If I'm holding a bond with a call date of 3010, what do you even do with that?
- apaprocki 14y agoThese bonds have scheduled payments so the idea is that you are earning yield on your investment for 1,000 years. You're getting paid as time rolls on -- you're not waiting for the maturity date. All the parameters of the bond indicate how risky the market sees the investment. If Joe Nobody wants to issue a 1,000 year bond, the market would demand an appropriate rate given the risk involved. Most likely, it would never be issued because no one would be safe with that level of risk. I'm guessing the market considers HSBC Luxembourg pretty safe.
- twistedpair 14y agoThe 2070 problem is going to be much more serious. The only stuff still running code then will be stuff we're terrified to touch like reactor control systems and such. I hope I live to see it.
- Someone 14y agoNot bonds, but http://en.wikipedia.org/wiki/999-year_lease http://en.wikipedia.org/wiki/999-year_lease shows leases of land that run for 999 years.