Ben BottoOAuth Replay Attack MitigationWhen working with developers on authentication and authorization, I find that the nonce and state parameters are two of the more difficult…Jul 8, 20203Jul 8, 20203
Ben BottoOpenGL and CUDA Applications in DockerTrying to run an OpenGL application in a Docker container? Want to containerize a program that uses CUDA or Tensorflow and has a graphical…Jun 6, 20204Jun 6, 20204
Ben BottoImplementing an Optimal Rubik’s Cube Solver using Korf’s AlgorithmAnd a Quick Solver Using Thistlethwaite’s AlgorithmMay 9, 202010May 9, 202010
Ben BottoMirroring Drawings: Symmetry with Affine TransformationsIn graphical applications flipping is common and useful. A flip transform can be used to show a mirror image, like a character in a 3D…Apr 15, 2020Apr 15, 2020
Ben BottoRotating and Orbiting with Affine TransformationsIn this article I’ll go over some algorithms for rotating and orbiting objects in a scene using affine transformations. I’ll provide some…Mar 26, 2020Mar 26, 2020
Ben BottoZooming at the Mouse Coordinates with Affine TransformationsProviding zoom functionality in a graphical application is as simple as applying a scale matrix. If, however, the scale operation should…Mar 21, 20204Mar 21, 20204
Ben BottoSecure Access Token Storage with Single-Page Applications: Part 2In my last article I went over some reasons for keeping access tokens out of the browser and presented a few attack vectors. In this…Aug 24, 201911Aug 24, 201911
Ben BottoSecure Access Token Storage with Single-Page Applications: Part 1We developers often have access tokens and other sensitive information flowing through our applications. Access tokens are needed so that…Aug 24, 20192Aug 24, 20192
Ben BottoSequentially Indexing Permutations: A Linear Algorithm for Computing Lexicographic RankRecently I wrote an optimal solver for the Rubik’s Cube that can solve any scrambled cube in 20 moves or fewer. Check it out if you’re…May 26, 20193May 26, 20193
Ben BottoWhat a Cluster: Deployment using Kubernetes and HelmHere at Benningfield Group, the systems that we develop have slowly migrated from monoliths to microsystems in the past decade or so. Our…May 23, 2019May 23, 2019