Robert GrosseImproving compile speed: the dark artsSo you’re designing a statically typed programming language. You recognize the importance of fast compilation to adoption of your language…Apr 1, 2020Apr 1, 2020
Robert GrosseSolution to the besquare crypto challengeIn 2014, I wrote a bunch of cryptography challenges for a competition at my college, and also posted them online in case anyone else was…Dec 17, 2018Dec 17, 2018
Robert GrosseRef patterns, destructuring, and invisible borrowsNote: The behavior of match patterns in Rust has been changed since this post was written, making it largely obsolete.Jan 17, 20183Jan 17, 20183
Robert GrosseHow ES6 classes really work and how to build your ownThe 6th edition of ECMAScript (or ES6 for short) revolutionized the language, adding many new features, including classes and class based…Dec 29, 20173Dec 29, 20173
Robert GrosseSolving the Traveling Pacman ProblemWhen I was in college, one class assignment gave us a set of Pacman mazes and asked us to write an A* search heuristic that would find the…Jul 26, 20172Jul 26, 20172
Robert GrosseGenerating 64 bit hash collisions to DOS PythonHash tables are one of the most commonly used data structures in computer science, due to their O(1) access time. However, this assumes a…Mar 2, 20171Mar 2, 20171
Robert GrosseHow copying an int made my code 11 times fasterRecently, after refactoring some Rust code, I noticed that it had suddenly become four times slower. However, the strange part is that I…Feb 19, 20174Feb 19, 20174
Robert GrosseOptimizing Rc memory usage in RustRecently I tried to optimize some memory intensive Rust code. It turned out to be harder than I expected, but I learned some interesting…Feb 11, 20171Feb 11, 20171
Robert GrosseParallelizing Enjarify in Go and RustLast year, I rewrote Enjarify in Go and Rust in order to learn more about the languages and compare the difficulty, verbosity, performance…Jan 22, 20174Jan 22, 20174