/Hillel Wayne

I Am Disappointed By Dynamic Typing tl;dr: "I think dynamic typing is itself really neat and potentially opens up of really powerful tooling. It’s just… I’m not actually seeing that tooling actually exist, which makes me question if it’s possible in the first place."

featured in #371


Why Do We Call It "Boilerplate Code?" tl;dr: "Why do we have the term “boilerplate code”? It comes from the peculiar interplay of two industrial revolution technologies: steam engines and hot metal typesetting."

featured in #369


How To Solve The Sudoku Puzzle With Programming tl;dr: "Sudoku is an example of a constraint problem. Most “solving sudoku” tutorials use either backtracking or constraint propagation. These same techniques apply to all constraint problems, and since such problems are so widespread, it doesn’t make sense to custom build an algorithm for every single one. Rather, we want general-purpose constraint solvers we can apply to arbitrary problems."

featured in #354


Software Mimicry tl;dr: "Mimicry is when software X reimplements at a higher level a core feature of software Y. The produced facsimile has some, but not all, of the same properties, enough to “look like” it’s the same thing but missing many of the nuances. This exists in every kind of software. One language can mimic another, a library can mimic a language, a database engine can mimic a product, etc."

featured in #348


I Have Complicated Feelings About TDD tl;dr: "The difference is that I treat it as a useful technique, one of many, while the very strongest advocates consider it transformational... I practice “weak TDD”, which just means “writing tests before code, in short feedback cycles”. Hillel explains why he holds complicated feelings for TDD.

featured in #344


Excel Is Pretty Dang Cool tl;dr: "Also I don’t think most users, or even most “power users”, use many of these features. The same is true for devs, most of whom don’t really use the features of their editors. It’s good to explore these things!" 

featured in #343


Search Less, Browse More tl;dr: "My best explanation for this is that most people learn a tool through searching, not browsing. When you search, you’re trying to find information that solves your specific need. When you browse, you’re systematically going through information for learning or later lookup."

featured in #341


Crimes With Python's Pattern Matching tl;dr: "The pattern matching feature is, on the whole, pretty reasonably designed, and people will expect it to behave in reasonable ways. Whereas \_\_subclasshook\_\_ is extremely dark magic. This kind of chicanery might have a place in the dark beating heart of a complex library, certainly not for any code your coworkers will have to deal with." Hillel guides us though pattern matching and \_subclasshook\_\_. 

featured in #340


You Can Automate More Than You Think tl;dr: "I don’t need to burn any of my limited focus on something menial anymore. It matters even more when automating something I don’t know by heart, like my Zoom URL or my EIN. Then it takes focus to find it ;and then copy it over."

featured in #308


Regexes Are Cool And Good tl;dr: People hate regexes for 2 reasons: (1) They’re hard to read, so it's hard to tell what a regex does. (2) They’re fragile an a slight change to the input can break it and making them more robust is tough. Hillel argues that the best use cases for regexes is in "interactive use" - when you’re trying to substitute in a single file you have open, or grep a folder. "Readability doesn’t matter because you’re writing a one-off throwaway, and fragility is fine because you’re a human-in-the-loop."

featured in #290