Hi Allen, welcome back!

And low5545, Allen is right about the connection. However, I'm not sure whether the PIC used in PR9-B has weak pull-up but apparently the diy project uses resistor to pull-up the lines.
Refer to Listing 3: All
columns are pulled-up and the corresponding PIC pins are set as
outputs. All PIC pins connected to
rows are set as
inputs. The process to detect button press is conducted column-by-column. If you want to detect any button in
Column 1 (eg: Button 1), you'll have to set RA0 to LOW. Then test the input pins (RE1, RE0, RA5 and RA4). If Button 1 is pressed,
Column 1 is connected to
Row 1. Since
Column 1 is set to LOW,
Row 1 will get LOW signal and RE1 will detect LOW too.