[HN Gopher] GPS
       ___________________________________________________________________
        
       GPS
        
       Author : todsacerdoti
       Score  : 1645 points
       Date   : 2022-01-18 16:06 UTC (6 hours ago)
        
 (HTM) web link (ciechanow.ski)
 (TXT) w3m dump (ciechanow.ski)
        
       | standardUser wrote:
       | On this topic, maybe someone can share the status of Galileo and
       | the Russian and Chinese systems?
        
       | SamBam wrote:
       | This is very nice. Very clear, and the 3D interactives are
       | excellent at guiding the explanation.
       | 
       | One thing that I thought was a little confusing was right at the
       | beginning, when we were estimating the position of the figurine
       | and there was an area of uncertainty shown by the yellow circle.
       | 
       | It isn't clear _how_ you 're estimating position, and why we have
       | an area of uncertainty. At first I figured it was going to
       | explain it using triangulation (measurement of angles) but
       | there's no reason triangulation wouldn't be exactly as accurate
       | as the tape measure method on a 2D surface, so wouldn't explain
       | the area of uncertainty.
       | 
       | The description merely says:
       | 
       | > Just by using these three reference points we can relate the
       | figurine's position in the environment to an approximate
       | placement on the map as show with the yellow shape on the right.
       | 
       | I worry that having this ambiguity so early on might put some
       | people off from reading the rest, because they figure they don't
       | understand that and so won't understand the rest of it.
        
         | kenjackson wrote:
         | I had the same question. I moved on in the article, and its
         | great, but this still puzzled me. If the author cleared this
         | up, this article would be an absolute masterclass.
        
         | thehappypm wrote:
         | Literally left the article to come here to see if anyone
         | addressed this yet. I can't figure out what it means.
        
           | tazjin wrote:
           | It's about literally looking at it (in 3D) and guessing the
           | exact position on the 2D map, which is easier closer to the
           | landmarks.
           | 
           | At least that's my interpretation.
        
             | thehappypm wrote:
             | Yeah, I suppose it's like "you are a human standing on a
             | flat plain looking at these 3 landmark towers. Where on the
             | map are you?
             | 
             | Intuitively you would be able to eyeball the angles between
             | the landmarks, and eyeball the relative distances. I don't
             | think I'd draw a circle though. I'd probably have way less
             | confidence for the landmark farther away and balloon out my
             | estimate.
        
         | justusthane wrote:
         | I think it's as though you were the yellow figure standing in
         | the landscape, and you were trying to position yourself on the
         | map by going "Okay, the red landmark is quite close to me to
         | the east, the blue landmark is a bit farther away to the north-
         | west, and the green landmark is way over to the south-west.
         | Now, where am I on the map?"
        
         | jessriedel wrote:
         | Yes, that section is poorly written.
         | 
         | More generally, the assumptions about what things were
         | uncertain and what could be taken as exact were poorly
         | motivated. The author should wither justify them with real-
         | world constraints ("satellites can host atomic clocks but
         | destroyers can't" -- not obvious!) or explicitly announce the
         | assumptions as unjustified, but he shouldn't make it seem like
         | the assumptions could have been reasoned to by the reader.
         | 
         | I also was disappointed the author used circles/spheres and
         | _guesses_ for the timing offset rather than the much more
         | edifying choice of hyperbolas. Just as you can think of a
         | sphere as points reachable by the end of a rope of fixed length
         | tied to a post, you can think about a hyperbola as the points
         | reachable by tying separate ropes to two posts and spooling out
         | equal amounts of rope.
        
       | indiantinker wrote:
       | So incredible!
        
       | arendtio wrote:
       | > What I find particularly remarkable is how...
       | 
       | ...Bartosz always manages to over-deliver despite very high
       | expectations.
       | 
       | Amazing!
       | 
       | Maybe we should give him an impossible task, like explaining
       | different types of neural networks ;-)
        
       | leeoniya wrote:
       | this guy is a legend: https://ciechanow.ski/archives/
       | 
       | (pretty sure each post has had its own HN submission)
       | 
       | also see 3Blue1Brown:
       | https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw
        
       | cromulent wrote:
       | GPS is fascinating, especially the development period.
       | 
       | Due to the complexity of the signal processing (relativity means
       | that the clocks onboard run faster than on earth) there was much
       | scepticism. The story I heard was that they only let them launch
       | 1 Block 1 satellite to prove that could work, and then the first
       | block of 10 satellites was used to validate the system before
       | spending enough to get the full 24 satellites needed.
        
         | jcadam wrote:
         | And the story about why the GPS satellites carry a NUDET
         | payload (NDS) is a fun one too.
        
       | TomVDB wrote:
       | If you're interested in the implementation details of a home made
       | GPS receiver, check out this fantastic writeup:
       | http://www.aholme.co.uk/GPS/Main.htm.
        
       | skzv wrote:
       | Amazing work.
       | 
       | I work on the Android location team at Google, and I sent this
       | article out to my team. GPS/GNSS is critical for accurate
       | location/context, and there's still plenty of innovations
       | happening in this field.
       | 
       | One of our directors is Frank Van Diggelen - none other than the
       | professor who taught the Stanford GPS MOOC referenced by the
       | article :) I'm sure he is going to appreciate seeing the course
       | called out there!
        
       | eminence32 wrote:
       | There's a lot of really great info in here. One random things I
       | learned from this:
       | 
       | > As that angle increases, the signal from a satellite travels
       | more sideways and its larger portion gets affected by the
       | atmosphere. To account for this, GPS receivers ignore ranges
       | measured from satellites at very low elevation angles. ...
       | atmospheric effects are primary source of GPS inaccuracies.
       | 
       | (I know GPS has inaccuracies, but I didn't really know what
       | caused them, but if I had to guess, the atmosphere wouldn't have
       | been on my list of guesses for the top causes)
        
         | mnw21cam wrote:
         | Not only that. You can use a ground-based fixed station to
         | listen to GPS signals and work out how much they have been
         | affected by the atmosphere. This then gets fed back into the
         | weather prediction models used by many weather forecasting
         | services.
        
           | brandmeyer wrote:
           | Even better, use a receiver in low-earth orbit. See also:
           | COSMIC, GeoOptics, Spire, and PlanetiQ.
        
         | ModernMech wrote:
         | For as long as this blog is, one thing that's missing is a
         | discussion of multipath errors. Multipath errors are when the
         | GPS signal reflects off of buildings or mountains, giving the
         | illusion that the satellite is further away than it is. This is
         | why it can sometimes be hard to get a precise location in
         | cities.
        
         | throw0101a wrote:
         | This is also true for celestial navigation with a sextant and
         | the light refracting in the atmosphere: the "Altitude
         | Correction Tables" give the combined correction for refraction,
         | semidiameter, and parallax under standard atmosphere
         | conditions.
         | 
         | * https://reginasailing.com/wp-
         | content/uploads/2020/04/Altitud...
         | 
         | *
         | https://thenauticalalmanac.com/Altitude_Correction_Tables.pd...
         | 
         | *
         | https://thenauticalalmanac.com/Altitude_Correction_Tables_fo...
        
         | JackMcMack wrote:
         | Something not mentioned: the "new" L5 signal at 1176Mhz,
         | combined with the existing L1 signal at 1575Mhz, allows the
         | receiver to estimate the atmospheric effects and reduce the
         | uncertainty, allowing for a much better position fix. Think
         | centimeters instead of meters.
         | 
         | One more thing I've wondered: the system depends on the
         | sattelites knowing and broadcasting their exact position, but
         | how do you determine this position? From ground stations, sure,
         | but how exactly? What's the margin of error on that?
         | 
         | And to add to this, how do you bootstrap this?
         | 
         | Galileo had an outage from 2019-07-11 to 2019-07-18 [0]. I've
         | not read much about the details what caused the outage, or why
         | it took an entire week to get back up & running.
         | 
         | [0] https://www.gsc-europa.eu/news/galileo-initial-services-
         | have...
        
           | structural wrote:
           | The knowledge of a satellite's orbit is taken by using the
           | prior parameters of the orbit, predicting where the satellite
           | will be, and pointing a combination of telescopes (for
           | precise angular measurements) and radars (for precise
           | distance measurements) at this location, and measuring the
           | error between where the satellite is and where it is expected
           | to be. A set of these observations are then used to update
           | the "known" orbit.
           | 
           | This known orbit is then provided back to the satellite so
           | that it can be broadcast. If this system of updates stopped
           | working, the quality of GPS position estimates would degrade
           | pretty quickly (think weeks, not years).
           | 
           | This also means that if a GPS satellite were to need to
           | maneuver for some reason -- either periodically boosting back
           | into its assigned orbit or for debris avoidance -- the normal
           | system of updates will catch this and users will never have
           | to know or care that the satellite moved.
        
       | Toutouxc wrote:
       | So who else spent five minutes playing with the flexible rope?
        
         | FR10 wrote:
         | I was totally inmersed in that animation. I only wish it was
         | longer, It must've account for half of my total reading time.
         | The author is genuinely great and every single one of their
         | posts are terrific.
        
         | picture wrote:
         | Gosh even the little drones are so adorable
        
       | progbits wrote:
       | Wonderful write up, as always from Bartosz!
       | 
       | Here are some fun GPS projects I've found in the past, maybe
       | others can add to this list.
       | 
       | GPS/Galileo/Beidou/Glonass status and error monitoring, open-
       | source community-ran project: https://galmon.eu/
       | 
       | DIY GPS receiver using minimal signal frontend, FPGA Forth CPU
       | for real-time processing and RPi running position solvers:
       | http://www.aholme.co.uk/GPS/Main.htm
        
       | jvanderbot wrote:
       | > Naturally, large range uncertainty increases the ambiguity of
       | position, but the relative position of the satellites also
       | matters. If they aren't well spread, the exactness of calculated
       | location also suffers.
       | 
       | (see the excellent example in OP)
       | 
       | Fun tidbit, the resulting error is known for the system in closed
       | form as Geometric Dilution of Precision, and is a 3x3 (edit: or
       | 4+x4+ if you are estimating bias or quantities like time, thx
       | brandmeyer) matrix that depends on all the locations of the
       | visible sats, and your position relative to them.
       | 
       | GDOP is a general relationship for _any_ estimator based only on
       | the equations used to derive something from sensor remote sensor
       | measurements. It 's possible to derive GDOP for any sensing
       | system using the Fisher Information Matrix (which is the inverse
       | of GDOP). Some minor caveats apply, but in general this is a
       | useful trick.
       | 
       | FIM is worth learning if you want to get into sensing &
       | estimation. https://en.wikipedia.org/wiki/Fisher_information
       | 
       | Another fun thing: FIM can be derived a number of ways, and
       | appears if you simply ask (mathematically) "What is the most
       | likely position of the gps sensor given sat locations" as the
       | hessian matrix of the system that you use while answering that
       | question using e.g., convex minimization.
       | 
       | All of sensing & estimation is just mostly convex optimization.
        
         | beerandt wrote:
         | Geometric quality is easy to consider in terms of using trig
         | and measured angles to solve for an (roughly) equilateral
         | triangle vs a triangle with a very small measured internal
         | angle.
         | 
         | Also, it's easier to understand variables vs uknowns of GPS if
         | you consider that direct measurement is of velocity and/or
         | acceleration, and position is the resultant derivative, after
         | taking into account the probabilities of various solutions.
         | 
         | (Velocity and acceleration can be measured directly without
         | making as many assumptions about various starting conditions.)
        
         | brandmeyer wrote:
         | The natural expression of the DOP matrix is 4x4, since the
         | receiver is computing a solution in 4D space-time. Its pretty
         | common for the dominant eigenvector to be along the time-
         | vertical axis for a terrestrial receiver.
        
           | jvanderbot wrote:
           | Great point, thanks. I edited.
        
         | jmnicolas wrote:
         | You and I have definitively a different notion of what is fun
         | ;)
        
         | galangalalgol wrote:
         | Interferometry isn't convex, even the kernel trick won't save
         | you. I don't think...
        
           | jvanderbot wrote:
           | In my experience, the usual trick is to do a few iterations
           | of "linearize and solve the new convex problem". Sometimes,
           | you can get super clever and use LM: https://sites.cs.ucsb.ed
           | u/~yfwang/courses/cs290i_mvg/pdf/LMA...
           | 
           | Look there in equation 6: That's the FIM being left
           | multiplied when solving these types of problems. (under
           | standard gauss-newton step, which is also common)
           | 
           | Another tidbit: If you apply matrix inversion lemma to eq 6,
           | you can get the (Extended)Kalman Filter update steps.
           | Somewhat related: https://robotics.stackexchange.com/question
           | s/1180/informatio...
        
       | mherdeg wrote:
       | I'd be interested to see an illustration of how selective
       | availability works -- if your goal is to ensure that a position
       | _cannot_ be determined accurately, how do you alter the signals
       | produced by your satellites to correctly introduce only the
       | desired amount of error?
        
         | garaetjjte wrote:
         | Selective availability worked by introducing pseudorandom
         | variation into satellite clock used to generate C/A signal,
         | which directly mapped into pseudorange errors.
         | 
         | http://www.nbmg.unr.edu/staff/pdfs/blewitt%20basics%20of%20g...
         | (page 8)
        
         | genewitch wrote:
         | Civilian GPS does this two ways, clock skew and how many digits
         | of resolution the timestamp is.
        
       | daveofdaves wrote:
       | I hear you.
        
       | ajsnigrutin wrote:
       | Here's gps from another perspective:
       | 
       | http://lea.hamradio.si/~s53mv/navsats/theory.html
       | 
       | This guy made his own gps receiver from scratch in 1991-1992
        
       | SomewhatLikely wrote:
       | From the toy model it seems like if in addition to distance you
       | could also get your angle to the landmark then you could get your
       | position from a single landmark. Is that something which is
       | practical? Knowing which angle a radio signal came from? It seems
       | like if you had several receivers you could use the timings of
       | when they receive a message to determine the approximate
       | direction of the satellite in the sky. Given receivers have
       | gotten much cheaper over time, is this a viable extra constraint
       | to improve accuracy?
        
         | scrumbledober wrote:
         | then you're basically just doing the triangulation backwards.
         | I'd think the accuracy would decrease the closer together your
         | multiple receivers were
        
       | gsibble wrote:
       | One of my favorite engineering tech interview questions is asking
       | an engineer how they think GPS works. You won't believe how many
       | people start with: "Well, your cell phone sends a signal to the
       | satellite......."
       | 
       | Amazing that even engineers don't understand that GPS receivers
       | don't talk to the satellites.
        
         | mellavora wrote:
         | You've received some flack for this, but I'm not sure the
         | context. If most of the questions in this round are of this
         | nature, then maybe it is a "why are manhole covers round"
         | thing.
         | 
         | But as a one-off, and if asked in a forgiving way to explore
         | how they think, then I'd consider this question valid.
         | 
         | Maybe "Have you ever thought about how GPS works?" if "yes",
         | then let them explain, if "no", then make it easy for them to
         | start reasoning about the system and then see how they might
         | design it.
         | 
         | Seems to me as fair as asking "have you ever thought about how
         | a double-linked list works?" or "a basic way to ensure database
         | consistency when the DB is replicated at two different physical
         | machines"?
         | 
         | It's not like GPS is something esoteric that they are unlikely
         | to have interacted with, odds are they used it to get to the
         | interview location.
        
           | daenz wrote:
           | I don't understand why you think linked lists and db
           | replication, which I think are both are very appropriate
           | questions for a software engineer (less relevant to FE engs),
           | are as relevant as how GPS works.
        
             | avianlyric wrote:
             | Depends on what you're evaluating the candidate on. If
             | you're evaluating the candidates ability to reason through
             | a problem, and communicate the reasoning, the. GPS is
             | arguably a better question for a software engineer as
             | they're unlikely to have studied it. Thus you can watch
             | them work through a problem they haven't thought about
             | before, but which should probably have the basic tools to
             | solve.
             | 
             | There should be no expectation of them coming up with the
             | "correct" answer. But they should be able come with _an_
             | answer and explain it clearly, warts, holes and all.
             | 
             | Using something real like GPS also ensures that the
             | candidate understands why the problem is a useful problem
             | to solve, and what the objective of the solution is I.e. a
             | system that lets you locate yourself on earth.
        
             | lazide wrote:
             | Only reason I can think of is it is a real world example of
             | distributed coherency/information problem and if you squint
             | hard could give insights into things like paxos (and why it
             | does what it does), why certain types of
             | keying/sharding/distributed computing are done the way they
             | are done.
             | 
             | But directly talking about those topics is probably handy.
        
         | littlecranky67 wrote:
         | Bonus/Followup question: Explain why GPS is not working very
         | well to determine _height_.
         | 
         | Once you understand the signals are timecoded, this boils
         | basically down on your ability to picture the intersection of
         | multiple sphere in 3D space and it will become obvious (amongst
         | other, very technical reasons that should not be an interview
         | question).
        
           | areyousure wrote:
           | Can you say a little more about this? This is a topic I am
           | interested in, and I was hoping that the OP went into it, but
           | it didn't seem like it did.
        
             | littlecranky67 wrote:
             | The linked article does neatly, but they use 2D projection
             | (so it's circles not spheres). Very simplified you use the
             | broadcasted position + timestamp of multiple GPS satellites
             | to find your location on the earth. So for a single
             | satellite, you can (using time-in-flight of the signal)
             | estimate the distance to that satellite at a point in time
             | when you received its data. Once you know the distance D to
             | that single satellite, you will know that your position
             | (within margin of error) is anywhere on a sphere with the
             | satellite as its center and radius D (of course this is a
             | bit silly as you know you are definitely not farther away
             | from earth surface as the satellite but rather somewhere
             | 6000-6500km away from Earth center). So when using multiple
             | satellites, you get a set of spheres and (simply viewed)
             | would intersect those spheres - you will be somewhere in
             | this intersection. Now if you can safely assume that your
             | are always on the surface of the earth, you would project
             | this (3d volume) intersection to 2d onto the earth surface
             | - this projection is rather "small" hence less error. But
             | if you would project this intersection using any other
             | 2dimensions, the resulting area would be "wider" in terms
             | of height/depth relative to the surface.
             | 
             | You have to picture those spheres given that the satellites
             | are roughly at same orbital height relative to earth center
             | and you always receive signals within your "field of view"
             | on the nightsky - and of course assume the earth is round.
        
         | jason0597 wrote:
         | I don't quite understand how such questions help in the hiring
         | process? It reminds me of the famous "why are pothole covers
         | round" question, still not sure what it achieves.
        
           | littlecranky67 wrote:
           | Actually this is a very good question for _engineers_ , as
           | the (wrong) idea that a smartphone regularly sends data to a
           | satellite shows fundamental lack of knowledge in some very
           | basic physical understanding. The basic understanding should
           | be: transmitting/sending = emitting energy (costly if a
           | device runs on batteries), receiving/listening for a signal =
           | almost for free nowadays.
           | 
           | I also like the question because even if you have no idea how
           | GPS actually works, you could quickly come up with the rough
           | idea yourself given that you have a bunch of satellites that
           | can emit arbitrary signals. Lots of room to show creative and
           | analytical thinking here.
        
             | dpark wrote:
             | > _Actually this is a very good question for engineers_
             | 
             | What kind of engineers are you interviewing?
             | 
             | > _I also like the question because even if you have no
             | idea how GPS actually works, you could quickly come up with
             | the rough idea yourself given that you have a bunch of
             | satellites that can emit arbitrary signals._
             | 
             | I find this really doubtful. Someone who doesn't already
             | understand how GPS works is unlikely to derive it from
             | first principals in a brief interview.
        
               | littlecranky67 wrote:
               | If you make some simplifications and assumptions such as
               | a GPS receiver has a highly-precise & synchronized clock
               | (it doesnt), you can conceive GPS basically as a system
               | where each satellite simply broadcasts its position & own
               | current timestamp and then determining your position of
               | the earth surface becomes basic triangulation calculating
               | the time-in-flight of the received signal from multiple
               | satellites. Of course a _lot_ of simplifications in there
               | (such as constant signal expansion time), but I would say
               | a system that you could design with basic geometry. The
               | required knowledge is basic physics and math that
               | everybody calling themselves _engineers_ should have
               | heard at uni (or even at school).
        
               | dpark wrote:
               | Ok, but feeding the candidate half of the information is
               | pretty different from coming up with the rough design
               | with "no idea" how it works. Yes, if you basically tell
               | them how it should work, then they can probably figure
               | out how to calculate the time difference and do some
               | trig.
        
               | littlecranky67 wrote:
               | I mean if the candidate would insist that the smartphone
               | sends a signal to the satellite, you can go on and ask
               | "what kind of data?" -"Nothing, just a PING to which the
               | satellite answers with a PONG that contains its
               | position". This is not at all how GPS works, but this
               | system would also work (in a sense you could determine
               | your position on earth based on the RTT + transmitted
               | satellite coordinate). It is not that the candidate
               | should come up with a perfectly correct solution
               | (actually this could be bad because he could just blindly
               | repeat what he/she read without understanding it) - its
               | whether he/she can come up with a solution for the
               | problem at all. In the interview you could still go into
               | discussion about that approach then (what about
               | undirected energy dissipation for contacting a thousands-
               | of-km away satellite, and problems with time-multiplexing
               | transmissions now on the satellite that has to answer
               | individual requests vs broadcast etc.).
        
             | wonnage wrote:
             | I have a hard time imagining engineers in any other field
             | (e.g a structural engineer) would be getting asked
             | questions about GPS as a proxy for general engineering
             | knowhow.
        
               | lazide wrote:
               | Do you have experience interviewing or seeing interview
               | questions in those fields?
        
               | littlecranky67 wrote:
               | Yes, you will be asked to showcase 2-3 side-projects such
               | as houses, bridges and tunnels you built & designed in
               | your backyard and discuss your design decisions on a
               | whiteboard.
        
               | lazide wrote:
               | Not sure if serious?
        
           | goodpoint wrote:
           | Some are silly, some are effective ways to measure curiosity
           | and ability to think through an abstract problem.
        
             | HeyLaughingBoy wrote:
             | Yes, but how many of them are relevant to determining if a
             | particular candidate is a good fit for a programming
             | position?
        
               | mhb wrote:
               | Engineers, not programmers.
        
               | dpark wrote:
               | What kind of "engineers"? I'm not aware of most engineers
               | going through this sort of interview. Mostly just
               | software engineers who are indeed programmers even if
               | they get uppity about the title
        
               | mellavora wrote:
               | Well, obviously if the candidate is round then they fit.
               | 
               | or was that the pothole cover? Sorry, I might have gotten
               | confused.
        
         | throwaway110535 wrote:
         | Unless you're hiring them to work in that domain, I don't
         | understand why you'd ask that question.
        
           | Mindless2112 wrote:
           | You either find out the candidate knows how GPS works or you
           | find out the candidate's willingness to say "I don't know".
           | 
           | It's valuable to know how someone will handle a question they
           | don't know the answer to -- whether they recognize their own
           | ignorance and whether they are willing to admit to it.
        
             | daenz wrote:
             | There are plenty of ways to get to the bottom of what a
             | candidate knows without resorting to unreasonable
             | questions. What you're really testing for is a candidate's
             | patience for being toyed with.
        
               | lazide wrote:
               | Or the candidates ability/willingness to bullshit in
               | order to not look ignorant or unskilled in something.
               | 
               | Which is actually useful to know, even if this method
               | would be a dickish way to do it.
        
           | teraflop wrote:
           | Off the top of my head, I can think of a couple of things it
           | tests for:
           | 
           | * Ability to reflect on and critique their own ideas, using
           | technical common-sense. If someone has never had a reason to
           | research or think too hard about how GPS works, then it might
           | be reasonable to initially assume that it sends a signal to a
           | satellite. But hopefully, when _prompted_ to think about it a
           | bit more, they would realize:  "Hey, if that's true, then
           | somehow these satellites that were launched in the 80's and
           | 90's were able to scale up their capacity and handle orders
           | of magnitude more demand, now that everyone has a smartphone
           | in their pocket. Maybe that's _not_ how it works? "
           | 
           | * General curiosity and interest in areas outside their field
           | of specialty. This might not be strictly necessary to get a
           | job done, but it probably has some correlation with other
           | measures of technical aptitude that are hard to probe
           | directly.
        
             | bobthechef wrote:
        
             | alesua93 wrote:
             | > _General curiosity and interest in areas outside their
             | field of specialty. This might not be strictly necessary to
             | get a job done, but it probably has some correlation with
             | other measures of technical aptitude that are hard to probe
             | directly._
             | 
             | I think this is a bit misguided, since the scope of things
             | outside of a candidate's field of specialty is tremendously
             | large. Picking a random piece of tech within that space and
             | drilling the candidate about it seems rather unfair.
             | 
             | A better way to handle this would be to actually ask the
             | candidate about what else interests them outside of their
             | specialty. But hey, maybe that doesn't stroke the
             | interviewer's ego enough (:
        
               | Unklejoe wrote:
               | > random piece of tech
               | 
               | IDK. GPS is probably one of the most prevalent
               | technologies used today besides the Internet itself.
        
               | alesua93 wrote:
               | Fair enough. I understand where you're coming from, at
               | the end of the day I guess it depends on the context and
               | the way the question is presented (left-field questions
               | such as this one can be somewhat fun to try to answer and
               | hypothesize about, if the interviewer creates a friendly
               | environment to do so)
        
               | Unklejoe wrote:
               | I hear ya. I would definitely not disqualify someone for
               | not knowing the answer.
               | 
               | In fact, someone who is able to sort of work through the
               | problem on the spot may even be preferable to someone who
               | just knows the answer because they happened to read
               | Wikipedia the week before.
        
               | daenz wrote:
               | Chip manufacturing is even more prevalent. Why not ask a
               | candidate about how silicon wafers are made?
        
               | avianlyric wrote:
               | Because that's not a problem you can solve with software
               | and algorithms. That a chemical and lithographic problem
               | that requires a knowledge that rarely overlaps with
               | software.
               | 
               | However GPS can be solved with some high school maths,
               | and applying solutions found on the software engineering
               | domain E.g. computing distance from latency,
               | communicating with a remote resource over a comms link,
               | broadcast vs unicast etc
               | 
               | It's not like the interviewer is going to ask them to
               | design the satellites and rockets themselves.
        
               | Unklejoe wrote:
               | Because that's a lot more obscure. A better example might
               | be asking something like "what's the difference between
               | cache and RAM" or "what is a CPU register", which I'm
               | starting to think will still catch objections from some
               | people on the grounds of it not being relevant to
               | Javascript.
               | 
               | Asking how GPS works (in general terms) is more like
               | asking how the Internet works. Anyone who has "engineer"
               | attached to their job title should at have a general
               | understanding of this, or at least be able to work
               | through it using common sense on the spot. I know we
               | covered it early on in college (maybe in Physics, I
               | forget).
               | 
               | Again, I'm not talking about low level details here.
               | Something like "your phone measures the time it takes the
               | signals to arrive and calculates a distance" indicates
               | some understanding. From there, most people can figure
               | out how that information could be used to calculate a 3d
               | position.
        
               | daenz wrote:
               | >Anyone who has "engineer" attached to their job title
               | should at have a general understanding of this
               | 
               | The fact that the interviewer finds so many candidates
               | who don't answer the GPS question to their satisfaction,
               | while companies complain about difficulty finding
               | software engineers, should tell you all that you need to
               | know about the question's relevancy as well as the
               | bizarre assumptions that some interviews hold.
        
           | [deleted]
        
         | u385639 wrote:
         | Not sure why you're getting flack it's a great question and you
         | can learn a lot about your candidate as you work through it.
        
           | mwfunk wrote:
           | I assume the responses are from people who didn't know that
           | and are now offended that they would've flubbed what the
           | interviewer considered common knowledge in their field. I
           | could see someone thinking it's not a relevant question for
           | certain types of positions, but anyone getting defensive
           | about it is a little bit of a red flag. Anyone doing
           | development relying on location services or navigation
           | systems should have a general baseline intuition for how
           | those things work, even if it's only the broadest strokes. If
           | someone feels angry about not knowing this, well
           | congratulations, you now know this and no longer have
           | anything to get defensive about.
        
             | hk__2 wrote:
             | Please don't fall into the strawman argument of "if people
             | criticize the idea it's because they're offended".
        
         | HeyLaughingBoy wrote:
         | Why do you think it's a good question?
        
         | [deleted]
        
         | daenz wrote:
         | This is going to come across as harsh, but if that is your
         | favorite interviewing question, and you are not hiring GPS
         | engineers, then it is a ridiculous question to ask and serves
         | no purpose but to "haze" candidates.
        
           | woofcat wrote:
           | I'll firmly disagree. I find logic questions, and how they
           | solve a problem vastly more important than other aspects of
           | the interview.
           | 
           | I'm often looking for someone I can give a problem to and
           | they return with a potential solution. That involves thinking
           | through problems, how they work, how they can't work, etc.
           | 
           | Asking someone how they think GPS works, or asking them a
           | question about how they'd try to track down a defect based on
           | what a customer is reporting to me are very important skill
           | sets to have.
        
             | zaidf wrote:
             | The overarching skillset that really smart people use
             | everyday to explain how x works or investigate a customer
             | issue is...google
        
           | Unklejoe wrote:
           | I think it depends on the job. If this was for an
           | embedded/firmware engineering position, I'd expect a level of
           | EE knowledge that would at least make the concept of
           | everyone's phone sending data to a satellite be a non-
           | starter.
           | 
           | I think it's more relevant than asking an embedded engineer
           | which sorting algorithm is the fastest.
        
           | Youden wrote:
           | I think you're unfairly assuming something about how the
           | question was used.
           | 
           | If the intent was to find out if people __knew__ how GPS
           | worked when they didn't need it for the position, sure.
           | 
           | However I see two other possibilities:
           | 
           | - How does a candidate react when they don't know something?
           | Do they try to bullshit their way through? Do they admit it
           | and ask what you'd like them to do?
           | 
           | - Can a candidate, __with guidance__, come to a basic
           | understanding of how GPS works and come up with a reasonable
           | (note: not necessarily correct) suggestion for how to
           | implement it?
        
             | daenz wrote:
             | I agree with the meta interview concept, but I don't think
             | that applies here because of the OP's last sentence:
             | 
             | >Amazing that even engineers don't understand that GPS
             | receivers don't talk to the satellites.
             | 
             | They're amazed at the lack of knowledge, not that a
             | candidate wasn't able to talk it out, or that they bs-ed
             | through it. That tells me the question is asked in bad
             | faith.
        
               | Youden wrote:
               | Again, that's not necessarily how that's intended. The
               | observation on its own is just an observation, it doesn't
               | indicate anything about how interview performance was
               | evaluated.
               | 
               | For example when I interview, I have a question related
               | to chess, which requires a basic understanding of how the
               | pieces move. I was amazed that even engineers don't
               | understand the basic movement rules of chess.
               | 
               | However as far as the interview went, it was a non-issue.
               | It took about 30 seconds to explain, not a single
               | candidate had a problem with it, and it never came up
               | when I was giving my verdict.
        
           | seanw444 wrote:
           | Not harsh. Sounds reasonable to me.
        
       | gunshai wrote:
       | This blog turns around high quality explorations for things so
       | quickly. It is astonishing.
        
       | ragona wrote:
       | I'm weirdly impressed by the "switch to metric/imperial" button
       | that updates the article text. It's just so helpful.
        
       | seanalltogether wrote:
       | How feasible is it to speed up the bitrate used by GPS? This
       | really helped explain why it takes so long to get a position
       | based on how slowly these satellites are sending information.
        
         | mpmpmpmp wrote:
         | I think the slowness of the bitrate is about making sure any
         | errors in transmission caused my the atmosphere can be detected
         | and accounted for.
        
         | modeless wrote:
         | Most receivers these days get that information from the
         | internet so there is no need to wait minutes for the data
         | transmission.
        
       | picture wrote:
       | The transition from the white background of "theory" to the black
       | background of "space" is so satisfying for some reason
        
       | CaliforniaKarl wrote:
       | One of the things I love about GPS is: Since you know your exact
       | position, you can pick a good GPS satellite (one of the
       | satellite's you're using to calculate your position), look at the
       | timestamp from that satellite, and use it as a highly-accurate
       | time source!
       | 
       | Purpose-built GPS time servers (like those from Meinberg) give
       | you an option to enter the length of the coax cable connecting
       | the receiver and the antenna, so that it can correct for the
       | extra time it takes for the signal to travel over the cable (for
       | example, see
       | https://www.meinbergglobal.com/download/docs/manuals/english...
       | page 19).
        
         | withinboredom wrote:
         | Then you'd have a Stratum 0 source for a stratum 1 NTP server!
        
           | AceJohnny2 wrote:
           | Which is what Google did to have a quality time-source for
           | synchronized time for their global database:
           | 
           | https://www.wired.com/2012/11/google-spanner-time/
        
         | jcrawfordor wrote:
         | It's a bit more complex than this, the entire GPS fix is 4D
         | since position depends on time and vice versa. The time
         | reported by a GPS receiver, once fix is attained, is not just
         | the time from one of the satellites but the time resulting from
         | the 4D fix in space and time. This eliminates (to within a
         | certain precision) the latency.
         | 
         | A lot of discrete GPS receivers have some nonvolatile storage
         | where they "cache" fixes to reduce fix time. This has the
         | amusing result that when you buy a GPS receiver and monitor its
         | output immediately you usually find out the time and location
         | where QA was performed, as the first fixes emitted without the
         | quality flag.
        
         | floatrock wrote:
         | My car does this. Unfortunately, it's a Honda/Acura, and
         | there's a downstream bug in the way the receiver sends the info
         | to the clock display that this year, almost all older
         | Hondas/Acura's are reporting the wrong time:
         | 
         | https://didhondafixtheclocks.com/
         | 
         | > Honda's head unit receives a GPS signal for date and time
         | including a number representing a week, coded in binary. These
         | digits count from 0-1024 and rollover to 0 after the completion
         | of week 1024. Honda's head unit supplier did not code their
         | head units to account for the rollover and, on January 1, 2022,
         | reverted to a date and time 1024 weeks in the past [1024/52 =
         | 19.7, so 20 years in the past or 2002]
         | 
         | So despite all the almost-magic level of engineering that has
         | gone into the GPS system that has stayed consistent for
         | 40-some-odd years, a classic integer overflow has ruined it all
         | because some subcomponent test engineer didn't think to check
         | the inputs against the expected lifetime duration of the car's
         | equipment.
         | 
         | Another fun issue with these is DST databases. The satellites
         | will tell you the time, but it's up to you know how your
         | location translates into a DST zone. And if you have long-
         | running offline equipment (say, a car), and the DST dates
         | change, well, your smarts are only as smart as the update
         | procedure.
        
       | causality0 wrote:
       | Considering GPS was originally created for military purposes, I
       | find it fascinating that the largest holes are over the north and
       | south poles. The northern polar region is where the US-launched
       | missiles and bombers would travel. Does the lesser orbital
       | coverage in that area not negatively affect GPS precision?
        
         | [deleted]
        
         | cronix wrote:
         | I don't believe ICBM's are using GPS. They're programmed like
         | they always have been and follow a very predictable path and
         | don't change course (unlike hypersonic missiles). It's the
         | "smart weapons" that are usually plane/ship dropped/launched
         | that are gps guided as they are smaller munitions that have a
         | much smaller blast radius and need to be more precise to be
         | effective (as opposed to just carpet bombing the whole area).
         | Those are "close" range weapons. You don't need to be very
         | precise with an ICBM to obliterate the target, as it's usually
         | city-sized. A mile off here or there will still destroy the
         | target. Planes can and do still fly without GPS. There also
         | haven't been too many wars involving the poles as basically no
         | one lives there except science teams and no one wants the
         | "land" as you can't do anything economically practical with it.
         | Most of our ICBM's are still ancient Minuteman III's which were
         | manufactured in the 1960's (my dad launched one in 68 out of
         | Minot AFB, ND) and recently updated in 2015 to extend their
         | useful life.
        
         | chipsa wrote:
         | ICBMs don't use GPS. The almost universally use a inertial
         | guidance system. For example: https://en.wikipedia.org/wiki/Adv
         | anced_Inertial_Reference_Sp....
         | 
         | Bombers use a similar inertial guidance system, but with
         | updates from GPS and star trackers as applicable. The reduced
         | precision from GPS doesn't matter too much, as the inertial
         | guidance systems are pretty good now.
        
           | jcrawfordor wrote:
           | A surprising number of ICBMs have used star trackers as well!
           | It's somewhat surprising that ICBMs used star trackers
           | _before_ inertial guidance was sufficiently precise. The idea
           | of an automated, high-precision star tracker is not so
           | surprising today but back in the  '60s it was quite an
           | achievement.
        
           | jcadam wrote:
           | The assumption is that in a nuclear conflagration, expect GPS
           | to become... unavailable.
        
         | detaro wrote:
         | It does affect precision, but it also isn't needed that much in
         | an area you travel over.
        
       | ChrisMarshallNY wrote:
       | That is a really well-done page!
       | 
       | Kudos to the author.
        
       | jcadam wrote:
       | Very nice primer. I worked on the GPS program (first at Boeing,
       | then at a small subcontractor when Lockheed won the GPS III work)
       | - though I worked on the software simulator for the satellites
       | (focused on the operational side of the constellation) so didn't
       | get much into the weeds of how the PNT actually works for clients
       | on the ground :)
        
       | cwt137 wrote:
       | Best non-rocket scientist explanation of GPS ever!
        
       | hwers wrote:
       | This person deserves to get filthy rich off of their patreon.
        
         | whiteboardr wrote:
         | Not just filthy rich i guess.
         | 
         | Bartosz is a one of a kind explainer of things - no matter what
         | topic he touches, he always manages to outright nail the
         | communication of the core concepts in a manner almost anyone
         | can understand.
         | 
         | Let alone the interactive visualizations.
         | 
         | There should be some sort of Nobel Prize for people that
         | contribute to humanity's education - and methods therof.
         | 
         | Kudos!
        
           | fikama wrote:
           | I like this idea much also I would say that Ben Eater also
           | deserve such a prize if one will exists
        
           | epaulson wrote:
           | A MacArthur Fellowship would be a good award for him.
        
             | anon_123g987 wrote:
             | That's for Americans only.
        
         | nielsbot wrote:
         | Thought I'd link Patreon, here:
         | https://www.patreon.com/ciechanowski
        
           | arendtio wrote:
           | Thanks, I created a Patreon account just to support him :-)
           | 
           | For anyone who is still hesitant: Just do it, it feels so
           | good to put your money where you mouth is ;-)
        
         | marai2 wrote:
         | This guy is a (inter-)national treasure!
        
         | DaltonCoffee wrote:
         | Agreed, amazing content and presentation! The article covers
         | much of what you'd learn in an advanced positioning course.
        
         | hwers wrote:
         | @dang Why was this suddenly pushed to the bottom of the
         | comments? (After being second in rank.) Possibly a bot
         | detection false positive. Hope this is fixed so the author gets
         | the reward he deserves for this amazing work
        
         | drawkbox wrote:
         | Yes what an absolute solid educational interactive, from
         | presentation to code to writing and simplicity.
         | 
         | Additionally the code level, If you view the source you can
         | see, nice clean, non-minified code that is clear and has no
         | dependencies other than browser/render standards. The project
         | simply has a base.js and a gps.js, base for common canvas tools
         | and gps for the project/interactives.
         | 
         | Very nicely done and very refreshing to see and experience. We
         | need to get back to this level, it was a simpler higher level
         | with more innovation. Even HN's code is this way, partially why
         | this site is great besides the contributors and curation.
         | 
         | Engineering/creative and good value creation is ultimately
         | taking complexity and making it simple, this is right along
         | those lines in every aspect.
         | 
         | Simple is beautiful and very difficult to achieve in a
         | cluttered/distracting/dependency/minimal context overload
         | world. This interactive nails it. Solid work Bartosz
         | Ciechanowski!
        
       | Accacin wrote:
       | Wonderful, I learnt a lot!
        
       | mNovak wrote:
       | If you want to explore deeper, there's some fun (and well
       | commented) open source GPS processing codes in Octave/Matlab [1],
       | coming from the excellent book [2]. Those are compatible with
       | cheap RTL-SDRs. [3] also looks nice, but as I recall is Linux
       | only.
       | 
       | [1] https://github.com/kristianpaul/SoftGNSS
       | 
       | [2]
       | https://www.ocf.berkeley.edu/~marsy/resources/gnss/A%20Softw...
       | 
       | [3] https://gnss-sdr.org/
        
       | AlexanderTheGr8 wrote:
       | I never understood what motivates these people to spend so much
       | time and effort making such an amazing blog to educate so many
       | people in such a nice way....It's incredible!
        
         | ranit wrote:
         | Likely out of love to educate. And/or if you are inclined to
         | look for less altruistic reasons, just his blog presence in HN
         | could bring him a lot of visibility. Every of his amazing posts
         | appeared on first page (disclaimer: I have seen and enjoyed a
         | few, I don't know that for certain.)
        
         | VHRanger wrote:
         | Similar ones:
         | 
         | - https://www.redblobgames.com/
         | 
         | - https://ncase.me/
        
         | anonporridge wrote:
         | Legacy?
         | 
         | Organization and presenting information in a uniquely useful
         | way can cement your life as having a major impact on the
         | memetic evolution of human colossus, to a much greater degree
         | than making babies ever will in most cases, even if no one ever
         | knows or remembers your name.
         | 
         | There's a certain satisfaction in knowing that you've made an
         | impact on millions of minds and that that impact will ripple
         | into the future for as long as the light of consciousness
         | burns.
        
         | whiteboardr wrote:
         | Bartosz is a one of a kind explainer of things - no matter what
         | topic he touches, he always manages to outright nail the
         | communication of the core concepts in a manner almost anyone
         | can understand.
         | 
         | Let alone the interactive visualizations.
         | 
         | There should be some sort of Nobel Prize for people that
         | contribute to humanity's education - and methods therof.
         | 
         | Kudos!
        
         | npollock wrote:
         | https://www.patreon.com/ciechanowski
        
         | HeyLaughingBoy wrote:
         | Some people really like teaching and are very good at it.
        
       | mavci wrote:
       | As someone who learned about GPS and was impressed by its
       | structure, I used to tell my friends around me, whenever I had
       | the opportunity, how great GPS was.
       | 
       | Now I saw this article and I got goosebumps, well done, thank you
       | very much! It's really fantastic. From today it will be enough
       | for me to just share this article with my friends, or I will tell
       | along with this article.
        
         | pauldavis wrote:
         | What a debt your friends have to OP! :)
        
       | tails4e wrote:
       | Thoroughly enjoyable read, and explained a complex system
       | excellently. Well done.
        
       | MajorSauce wrote:
       | Anyone else got the concept by conducting probe scanning in the
       | MMO Eve Online?
        
       | js2 wrote:
       | As a complement to this amazing explanation of GPS, let me
       | recommend this documentary about GPS's creation:
       | 
       |  _The Lonely Halls Meeting a GPS Documentary_
       | 
       | https://scpnt.stanford.edu/news/tom-sylvester-video-lonely-h...
       | 
       | https://www.amazon.com/Lonely-Halls-Meeting-GPS-Documentary/...
        
       | taubek wrote:
       | If all of the teaching materials would be so good... I've
       | encountered first GPS devices back 1997.i remember when my
       | coulegues were explaining them to me. At that time you wouldn't
       | get precise measurements right away. You had to wait for
       | correction factors or something like that. The GPS signal was
       | scrambled at that time.
        
         | jandrese wrote:
         | In order to determine where you are you need to know where all
         | of the satellites are. For a standalone receiver this involves
         | downloading a almanac of the satellites from the signal, but
         | GPS receivers have small antennas and the satellites don't
         | blast out at tremendous power so the available bandwidth is
         | very low. This means the effective bitrate of a GPS signal is
         | only 50 bits per second so it takes twelve and a half minutes
         | to transmit the entire list.
         | 
         | Cell phones get around this by downloading the almanac from the
         | internet. Standalone receivers also keep the almanac in
         | nonvolatile storage, but the almanacs eventually go stale if
         | you leave the receiver off for too long.
        
         | modeless wrote:
         | The article explains the delay. The satellites transmit their
         | ephemeris data and other important data very slowly, 50 bits
         | per second, so you have to listen to the signals for a long
         | time to get all of it. Not explained in the article is that
         | modern GPS receivers in phones download this data separately
         | from the internet, so they can calculate positions instantly
         | without waiting for the data to finish transmitting.
        
         | kccqzy wrote:
         | Modern cell phones use A-GPS (Assisted GPS):
         | https://en.wikipedia.org/wiki/Assisted_GNSS I also remember
         | back in the early 2000s we were using a GPS-quipped PDA as a
         | turn-by-turn navigation device, and for the first ten minutes
         | the device simply asked us to wait.
         | 
         | At that time the signal was intentionally degraded in a process
         | called Selective Availability
         | (https://www.gps.gov/systems/gps/modernization/sa/). I didn't
         | have any experience with that.
        
       | gfd wrote:
       | Dumb question, but how does this deal with security? Can't anyone
       | broadcast valid but malicious data on 1575.42 MHz? (e.g. to crash
       | planes/missiles etc)
       | 
       | EDIT: found wiki from some quick googling
       | https://en.wikipedia.org/wiki/Spoofing_attack#Global_navigat...
        
       | [deleted]
        
       | eDameXxX wrote:
       | I'm so much impressed by the fact that all these graphics are in
       | fact interactive animations created/written by Bartosz himself.
       | Well done.
        
       | skilled wrote:
       | What even is this explanation!
       | 
       | Holy crap. I wish I knew more people to share it with.
        
       | masswerk wrote:
       | However, I do like the role GPS plays as a plot device in all
       | kind of stories, where it's an _active_ device, with GPS-enabled
       | devices giving away position or there 's no GPS in the
       | wilderness, as mobile connections fail. So there are two versions
       | of GPS, the popular plot device and the actual navigation device.
       | 
       | (The more sinister version is that this has actually been planted
       | as a cover-up for more realistic electronic intrusions, as this
       | is also a trope in popular media and news.)
        
         | FabHK wrote:
         | Related:
         | 
         | When I fly, I like to cache a map of the region I fly over on
         | my phone, particularly the airport region at the destination.
         | Then, you can hold your phone to the window for a few minutes
         | and get a GPS fix, even if in airplane mode, because as you say
         | GPS is purely passive.
         | 
         | Then you can follow along nicely where you are, at the
         | resolution you want. (Sure, many airlines have moving maps, but
         | they're not as good as Apple maps or Google maps.)
        
         | beerandt wrote:
         | There are way more (real-world) versions than two, with quite a
         | few arrangements that can cancel out some of the systematic
         | error, both with and without inputs requiring a data
         | connection, and with some augmented solutions passively
         | broadcast as "one-way" data.
         | 
         | The funny thing is that the James Bond/ Tomorrow Never Dies
         | plot device has turned out to be the most realistic, but
         | doesn't actually require the theft of some encoding device,
         | with various record and delay replay attacks.
         | 
         | Other _underused_ plot device: lots is made out of over
         | reliance on GPS and what would happen in the event of an attack
         | on the system. But most ignores the fact that the US NAVSTAR
         | GPS constellation is multipurpose, and is also a (confirmed)
         | primary component of worldwide nuke detection, with some (afaik
         | unconfirmed) claims of a missile launch detection capability,
         | as well.
        
         | Rebelgecko wrote:
         | The original study by Woodford and Nakamura (which laid the
         | foundations for what eventually became NAVSTAR/GPS) has a
         | really fascinating slide where they consider the tradeoffs of
         | alternative configurations. _What if_ GPS receivers had
         | transmitters? What if the mathy computation was offloaded to a
         | nearby ground station? What if every GPS receiver had an atomic
         | clock? Or just a cheap quartz clock? How does that impact the
         | quality of the signal and the number of satellites you need to
         | get a fix?
         | 
         | I think we're really fortunate that they made the choices they
         | did. If they hadn't take the route that was the most
         | complicated technically, GPS wouldn't have become as ubiquitous
         | as it is today.
        
           | jcrawfordor wrote:
           | There's good reason for them to have considered these
           | questions too, as a lot of the satellite-based positioning
           | systems prior to GPS, such as the Navy's TRANSIT, involved
           | both a more active receiver and offloading parts of the work
           | to ground stations. This was very practical at the time, as
           | is TRANSIT fixes were so complex that GE had to design a
           | special computer with a cylindrical chassis so that it would
           | fit through the porthole for installation in submarines. This
           | replaced the previous situation of the submarine having to
           | send its TRANSIT observations to a ground station for fix
           | calculation.
           | 
           | You can still do this with GPS if you want. In the surveying
           | community, it's not unusual to collect an extended period of
           | raw GPS observations (e.g. 48 hours) and then submit them to
           | NOAA's offline GPS computation service OPUS which will return
           | a fix by email a while later. This can result in a more
           | accurate fix but perhaps more importantly a more consistent
           | fix, since OPUS will apply the exact same sophisticated
           | solver used for other government geodetics like survey
           | benchmarks. The tradeoff is that OPUS is slow enough that it
           | tends to run on a queue.
           | 
           | In any case modern GPS involves surprisingly active receivers
           | since smartphones commonly use AGPS over IP to accelerate
           | receiving ephemera.
        
       | jakub_g wrote:
       | Auto-upvoted based on domain name. See all submissions from
       | Bartosz: https://news.ycombinator.com/from?site=ciechanow.ski
        
         | [deleted]
        
         | masswerk wrote:
         | Yes, great educational content and great interactive
         | animations!
         | 
         | (Also, a constant reminder to learn WebGL. ;-) )
        
       | zeeb wrote:
       | GPS applies the theory of relativity directly to your everyday
       | life... pretty cool!
        
         | jandrese wrote:
         | GPS is great because it has to take into account both special
         | and general relativity. Very few consumer goods can make this
         | claim.
        
           | ModernMech wrote:
           | Indeed, GPS is the technology I always point to for people
           | who don't believe in relativity. If relativity isn't real,
           | then explain how GPS works!
        
       | vladstudio wrote:
       | If you have not yet seen the other articles by Bartosz, I am
       | jealous :-)
       | 
       | https://ciechanow.ski/archives/
        
         | copperx wrote:
         | Why are you jealous of someone not reading the other articles?
         | Are they factually incorrect? I found them to be amazingly
         | accurate.
        
           | _Microft wrote:
           | The ones new to them can still experience the wonder of
           | discovering these articles for the first time.
        
           | vladstudio wrote:
           | sorry for not being clear. Yes I referred to the joy of
           | discovering them for the first time.
        
       | NKosmatos wrote:
       | Another excelent post with very detailed explanation and step by
       | step information for GPS. Check out also the other posts by
       | Bartosz.
        
       | juxtaposicion wrote:
       | How are these interactive visualizations made? As a senior
       | machine learning engineer (with only rudimentary JS skills) it
       | would be fantastically fun to make something like these.
        
         | pahn wrote:
         | not what he/she uses, but if you are interested in these kind
         | of things, check out https://cables.gl/ .
         | 
         | it provides you with an in-browser, graphical, node based
         | interface where you can just connect boxes together and it will
         | output js-code ready to implement in your website.
         | 
         | (disclosure: i know the dev plus am a huge fan!)
        
         | vbezhenar wrote:
         | https://ciechanow.ski/js/base.js
         | https://ciechanow.ski/js/gps.js
         | 
         | Looks like WebGL to me.
        
           | dt3ft wrote:
           | Beautiful. I also checked the archives on that blog and every
           | article is a work of art. I would love to work with this dev!
        
         | openfuture wrote:
         | Someone told me that apparently they aren't made, they are
         | discovered.
        
         | onion2k wrote:
         | It's WebGL in a <canvas>, written by hand by the looks of the
         | source - https://ciechanow.ski/js/gps.js
        
         | tiborsaas wrote:
         | The author wrote his own WebGL library. If you don't have much
         | knowledge about 3D, then https://threejs.org/ is a fantastic
         | library to learn. It abstracts away much of the tedious part.
         | 
         | Not sure what's the best starting point to learn, but there's
         | lots of videos on YT to help you get started.
        
       | tfsh wrote:
       | What an interesting read, it feels like a privilege to have free
       | and open access to such well presented curiosity-led work.
        
         | spicybright wrote:
         | For every handful of crappy sites people use as examples for
         | why the modern web sucks, we get fantastic sites like this one.
         | 
         | There's amazing stuff out there, you just have to spend time
         | looking around!
        
       ___________________________________________________________________
       (page generated 2022-01-18 23:00 UTC)