Scrollable Grid with Just-in-Time Data Loading – Part 2: Storing and Restoring Scroll Position with React Window

On my current project, we’re using just-in-time loading on a grid that might render up to twenty thousand rows. Each of these rows represents a product and is clickable. On row click, the user is redirected to another page (a product detail page). A user might want to check out these product details and then […]

Asking for Things in SQL: Postgres Conditional Expressions and Window Functions

Recently, I worked on a project with a lot of complex data relationships. To abstract away some of this complexity, my team defined database views that summarized the information that matters to us. When building up those views in PostgreSQL, I found a couple of patterns particularly useful. I used conditional expressions (CASE and COALESCE) […]

Single Sign-On/Sign-Out With SAML 2.0

SAML 2.0 is an authentication protocol, an agreed-upon way to transfer authentication information between parties. It was approved as an OASIS standard in 2005, and there are SAML Protocol Documents with details about the protocol. The protocol is complex (the core document alone is 86 pages) and has a wide range of capabilities. In this post, I’ll scratch […]

Computer Science for Middle Schoolers – BOGO Sort, Insertion Sort, and Bubble Sort

Once every couple of months, I get an opportunity to teach middle schoolers/high schoolers about computer science. Computer science and software development are very broad disciplines, so I could cover anything from web styling to computer networks. Among all of those possible topics, I find that I like to work on sorting algorithms.