Harnessing the Power of Zenserp for Advanced Search Engine Parsing
null Learn about Zenserp, a powerful tool for developers looking to enhance their projects with real-time, accurate search data. Continue reading Harnessing the Power of Zenserp for Advanced Search Engine Parsing on SitePoint.
Read moreComputing inverse factorial
I needed the inverse factorial function for my previous post. I was sure I’d written a post on computing the inverse factorial, and intended to reuse the code from that earlier post. But when I searched I couldn’t find anything, so I’m posting the code here for my future reference
Read moreSquare root factorial
What factorial is closest to the factorial of 2024? A good guess would be 1012, based on the idea that √(n!) might be near (n/2)!. This isn’t correct—the actual answer is 1112—but it’s not wildly off. Could it be that (2n)! is asymptotically (n!)²? No, Gauss’ duplication formula shows that
Read moreBuild Your Own AI Tools in Python Using the OpenAI API
Learn how to integrate the OpenAI/ChatGPT API into your Python scripts, from initial setup to real-world, practical examples of using it. Continue reading Build Your Own AI Tools in Python Using the OpenAI API on SitePoint.
Read moreComputing square root floor
Given an integer n, suppose you want to compute ⌊√n⌋, the greatest integer less than or equal to the square root of n. One reason you may want to compute ⌊√n⌋ is to know when you can stop trial division when factoring n. Similarly, ⌊√n⌋ gives you a starting point
Read moreGroups of order 2024
This time last year I wrote about groups of order 2023 and now I’d like to do the same for 2024. There are three Abelian groups of order 2024, and they’re not hard to find. We can factor 2024 = 8 × 11 × 23 and so the Abelian groups
Read moreWeak encryption and surveillance
Two of the first things you learn in cryptography are that simple substitution ciphers are very easy to break, and that security by obscurity is a bad idea. This post will revisit both of these ideas. Security depends on your threat model. If the threat you want to protect against
Read moreRandomize, then humanize
Yesterday I wrote about a way to memorize a random 256-bit encryption key. This isn’t trivial, but it’s doable using memory techniques. There’s a much easier way to create a memorable encryption key: start with something memorable, then apply a hash function. Why not just do that? There are two
Read moreAn unusual introduction to manifolds
Here is an introduction to manifolds (PDF, 23 MB) unlike any I’ve seen before. These notes by Brian Beckman devote a substantial amount of time to thinking about the problem of describing a location on a manifold, including an unexpected diversion into What3Words. The notes are in the form of
Read moreExample of memorizing a 256-bit private key
There are techniques that can enable anyone to memorize much more than may seem possible. This post will show how I generated and memorized a 256-bit encryption key this morning using the approach explained here. TANSTAAFL There ain’t no such thing as a free lunch. This saying is abbreviated TANSTAAFL
Read more