Skip to main content

Chinese Satellites Complete First High-Altitude Rendezvous For Possible Groundbreaking Refueling

2 months 1 week ago
Two Chinese satellites, SJ-25 and SJ-21, have reportedly completed the first autonomous high-altitude orbital docking. "Although unconfirmed, this is thought to be the first orbital refueling at such a height -- the two satellites are currently over 20,000 miles from Earth," reports ExtremeTech. From the report: Orbital refueling is an important component in keeping satellites and space stations in low Earth orbit flying, but any efforts beyond that have been merely speculative until the past few years, when serious efforts from a range of private and national entities have explored its possibilities. China may have gotten ahead of the curve with this latest docking, though, in an impressive world first that raises serious concerns for satellites from nations and entities that align themselves differently from China's goals and ambitions. In January, a satellite designated SJ-25 was launched "for the verification of satellite fuel replenishment and life extension service technologies," according to the Chinese state-owned designer, Shanghai Academy of Spaceflight Technology (via Ars Technica). Sometime last week, it matched orbits with the SJ-21 satellite, which previously conducted space debris maneuvering tests in 2021 and has remained in a geosynchronous orbit ever since. Last week, the two satellites matched orbits and seemingly docked together. Analysts believe the newer SJ-25 has likely proven refueling is possible even for geosynchronous satellites without the need for a manned crew to facilitate it. In an effort to prove this, two US Space Force's inspector satellites have positioned themselves in closer orbits to SJ-25 and SJ-21 for improved optics. [...] China continues to suggest these missions are part of a debris clean-up program, though it hasn't publicly made any statements about the recent alleged docking and refueling to celebrate its successes. If it doesn't, the only way we'll know if a refueling maneuver was successful is if the SJ-21 satellite unshackles from its younger sibling and performs fuel-demanding maneuvers that its previously estimated fuel levels shouldn't allow for.

Read more of this story at Slashdot.

BeauHD

CodeSOD: The XML Dating Service

2 months 1 week ago

One of the endless struggles in writing reusable API endpoints is creating useful schemas to describe them. Each new serialization format comes up with new ways to express your constraints, each with their own quirks and footguns and absolute trainwrecks.

Maarten has the "pleasure" of consuming an XML-based API, provided by a third party. It comes with an XML schema, for validation. Now, the XML Schema Language has a large number of validators built in. For example, if you want to restrict a field to being a date, you can mark it's type as xsd:date. This will enforce a YYYY-MM-DD format on the data.

If you want to ruin that validation, you can do what the vendor did:

<xsd:simpleType name="DatumType"> <xsd:annotation> <xsd:documentation>YYYY-MM-DD</xsd:documentation> </xsd:annotation> <xsd:restriction base="xsd:date"> <xsd:pattern value="(1|2)[0-9]{3}-(0|1)[0-9]-[0-3][0-9]" /> </xsd:restriction> </xsd:simpleType>

You can see the xsd:pattern element, which applies a regular expression to validation. And this regex will "validate" dates, excluding things which are definitely not dates, and allowing very valid dates, like February 31st, November 39th, and the 5th of Bureaucracy (the 18th month of the year), as 2025-02-31, 2025-11-39 and 2025-18-05 are all valid strings according to the regex.

Now, an astute reader will note that this is a xsd:restriction on a date; this means that it's applied in addition to ensuring the value is a valid date. So this idiocy is harmless. If you removed the xsd:pattern element, the behavior would remain unchanged.

That leads us to a series of possible conclusions: either they don't understand how XML schema restrictions work, or they don't understand how dates work. As to which one applies, well, I'd say 1/3 chance they don't understand XML, 1/3 chance they don't understand dates, and a 1/3 chance they don't understand both.

[Advertisement] Picking up NuGet is easy. Getting good at it takes time. Download our guide to learn the best practice of NuGet for the Enterprise.
Remy Porter