Comments

  • By varenc 2025-09-2322:40

    site now offline:

    > In rare lightning speed, the SF government changed their site within hours of this site going live. I can't get data from it anymore.

  • By geor9e 2025-09-2321:564 reply

    "each possible ticket number follows a pattern: add 11, except add 4 if the last digit is 6…Only God knows why"

    That pattern feels suspiciously like how a tacked-on modulo check-digit would act.

    It seems the real citation number, x, excludes the last digit, and you only needed to +1 increment to it.

    Then they tack on a last digit, a check-digit, of (x+1) mod 7. That would be the same pattern.

    The contract for the system does have the clause "validate the data transcribed from handwritten Citations…a check-digit algorithm to control errors in the Citation number field" https://www.sfmta.com/sites/default/files/reports-and-docume...

    • By xvedejas 2025-09-240:021 reply

      In college we discovered everyone's ID number was evenly divisible by 13. Presumably it's because that's the smallest number you'd need so that you could detect any one digit being incorrect, or two adjacent digits being swapped (I think?). Or that it's just very easy to implement the increment when assigning new numbers.

      • By nielsole 2025-09-241:252 reply

        Isn't 11 the smallest divisor that gives those guarantees?

        • By consp 2025-09-247:441 reply

          It's what quite a few banks used to use as a check digit, maybe that where you remember it from. But it depends on the size of the number you want to verify and exactly what system is employed. Lots of banks used 9 or 10 digit numbers which worked with a "11 check". Nine was also often used on smaller numbers.

          You can use any prime afaik for this example but your number space will be limited.

          • By andruby 2025-09-247:56

            For 2 digit checks it's often mod 97 (largest prime < 100) because it can detect all single-digit errors and most adjacent digit transpositions.

            Used in IBAN bank account numbers, EU VAT numbers (UK, FR, BE), etc

    • By Aloisius 2025-09-2323:231 reply

      It's just x % 7.

      They started their example pattern with an citation number 984,946,606 they earlier said wasn't valid rather than 984,946,605 given initially (and shown in the image).

      • By pertsix 2025-09-2323:262 reply

        But why?

        • By dragontamer 2025-09-2421:30

          Because it means that 85.7% of all mistakes will be caught by very simple software checks before getting to your system. (85.7% == 6/7).

          Check digits in your userdata is an old trick and is very useful in practice. Maybe modern systems should aim for something better than %7 but it's a good starting point as a system design concept.

        • By Aloisius 2025-09-2323:30

          Just a mistake, I imagine. Probably just typed the pattern out starting with the last number they wrote, which unfortunately was invalid.

          > I was looking at ticket 984,946,605. When I type in 1 higher, 984,946,606, no ticket is found. ... So the ticket after 984,946,606 is actually 984,946,610

    • By refurb 2025-09-2322:28

      Nice observation!

  • By alexchantavy 2025-09-2319:435 reply

    Oh wow this is from the same author as https://walzr.com/bop-spotter -- love these projects

    • By rconti 2025-09-2319:491 reply

      I knew that domain name (which is blocked at work, for some reason) sounded familiar.

      So wait.

      cop-spotter is brought to you by the people who brought you bop-spotter?

    • By montag 2025-09-2323:29

      Good Lord this is cool, gorgeous Nokia UI

    • By _giorgio_ 2025-09-244:401 reply

      In interested in the hardware part. A microphone constantly listening. Not for the microphone, but for the IP protection, batteries etc

    • By samtheDamned 2025-09-2421:15

      Oh I remember this website nice to be reminded of this!

    • By barbazoo 2025-09-2320:311 reply

      Odd detail about the page, on the left it says "Audio feed courtesy of Orchestra" but the link goes to some dystopian panopticon kinda surveillance app.

      • By hundchenkatze 2025-09-2321:141 reply

        I think they're being cheeky. I assume Orchestra is the dystopian company providing the "ShotSpotter" service to SF, and bop spotter is piggy backing on the api.

        • By galaxy_gas 2025-09-2321:19

          They are separate dystopian that have public video and audio feed of SF on front page 4K

          Shotspotter not related co.

HackerNews