HNHacker News
TopNewBestAskShowJobs

PaulGaspardo

28 karma · joined May 18, 2011

https://twitter.com/paulgaspardo
submissionscomments
PaulGaspardo··on PHP compile time generics: yay or nay?
Incidentally if you do what they're proposing for PHP in Java (where you define a non-generic subclass of a generic type), the actual generic type parameters actually are in the bytecode, and depending on the static type you use to reference it, may or may not be enforced...

   public class StringList extends java.util.ArrayList<String> {
       public static void main(String[] args) throws Exception {
           StringList asStringList = new StringList();
           java.util.ArrayList<Integer> asArrayList = (java.util.ArrayList<Integer>)(Object)asStringList;
           System.out.println("It knows it's an ArrayList<String>: " + java.util.Arrays.toString(((java.lang.reflect.ParameterizedType)asArrayList.getClass().getGenericSuperclass()).getActualTypeArguments()));
           System.out.println("But you can save and store Integers in it:");
           asArrayList.add(42);
           System.out.println(asArrayList.get(0));
           System.out.println(asArrayList.get(0).getClass());
           System.out.println("Unless it's static type is StringArrayList:");
           System.out.println(asStringList.get(0));
       }
   }
That prints out:

   It knows it's an ArrayList<String>: [class java.lang.String]
   But you can save and store Integers in it:
   42
   class java.lang.Integer
   Unless it's static type is StringArrayList:
   Exception in thread "main" java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String (java.lang.Integer and java.lang.String are in module java.base of loader 'bootstrap')
    at StringList.main(StringList.java:11)
PaulGaspardo··on The paper passport's days are numbered
Modern passports with RFID chips already support that actually - https://www.icao.int/Security/FAL/PKD/BVRT/Pages/Basics.aspx
PaulGaspardo··on NASA's Europa Clipper: Miles Down, Instruments Deploying
Maybe you're aware but NASA publishes lots of technical and scientific documents to https://ntrs.nasa.gov/

Like this technical memo about Apollo data network systems from 1966: https://ntrs.nasa.gov/citations/19670009662

JPL specifically has its own repository with similar content at https://dataverse.jpl.nasa.gov/dataverse/jor

Like this paper about file transfers with the Europa Clipper spacecraft: https://dataverse.jpl.nasa.gov/file.xhtml?fileId=72593&versi...

PaulGaspardo··on Vulnerable transistors threaten to upend Europa Clipper mission
Yeah, like 'baq said the data wasn't stored in a tabular form, it was actually XML. So sometimes you could just look at the textual diff and it would make perfect sense, although it wasn't expected users would work with XML at the source level.

There was also a semantic object-level diff we got for "free" by virtue of building on top of the Eclipse Modeling Framework. It was integrated into the Eclipse git UI and could help resolve merge conflicts without having to touch the XML directly, but merge conflicts were still annoying to deal with so generally engineers coordinated with each other to not touch the same part of the model at the same time.

Normally for review though I think users tended to compare reports generated from the model rather than trying to diff the source model files directly. There was a sort of automated build process that took care of that once you pushed your branch to Github.

PaulGaspardo··on Vulnerable transistors threaten to upend Europa Clipper mission
Oh, I used to work on this :)

For keeping track of power use and interfaces specifically it turns out doing it all with SysML diagrams wasn't so great. Aside from all the pointless futzing around with boxes and arrows the model eventually became so huge the authoring software could barely handle just opening it up. So it must have been shortly after these slides when all the power use tracking was shifted to a custom tool with a more tabular user interface that we were already using for tracking electrical interfaces (slide 15) with version control in git.

PaulGaspardo··on NASA officials sound alarm over future of the Deep Space Network
The Psyche mission launching in October (to the asteroid of the same name) will include a laser-based communication system technology demonstration, the first beyond the Moon.

https://en.wikipedia.org/wiki/Deep_Space_Optical_Communicati...

And here on Earth there's a new DSN antenna currently under construction at Goldstone (California) that will be capable of handling both radio and optical signals.

https://www.peraton.com/news/meet-dss-23-the-112-foot-wide-a...

So nothing operational yet, but stuff is happening.

PaulGaspardo··on NASA officials sound alarm over future of the Deep Space Network
CubeSats have gone all the way to Mars even

https://en.wikipedia.org/wiki/Mars_Cube_One

PaulGaspardo··on Anatomy of a QR Code
The best guide to this I've seen is here: http://code.google.com/p/zxing/wiki/BarcodeContents