This post introduces Optique, a new library created to address the pervasive problem of repetitive and often messy validation code in CLI tools. The author was motivated by the observation that nearly every CLI tool reinvents the wheel with similar validation patterns for dependent options, mutually exclusive options, and environment-specific requirements. Optique leverages parser combinators and TypeScript's type inference to ensure that CLI arguments are parsed directly into valid configura...| Hackers' Pub
In this final essay on Steve Meretzky's Leather Goddesses of Phobos, Drew Cook considers the difference between titillation and comic joy.| Gold Machine
In part 2 of Gold Machine's 3-part series about Infocom's Leather Goddesses of Phobos, we examine its worldbuiding and play.| Gold Machine
How typescript-eslint's new "Project Service" makes typed linting easier to configure, especially for large projects.| typescript-eslint Blog
The Gold Machine interprets and critiques interactive texts via literary and cultural analysis, beginning with Infocom’s games from the 1980’s.| Gold Machine
Hi! I'm excited to introduce Parcom, a parser combinators library for Zig. The main feature of Parcom...| Zig NEWS
In this final post about Infocom's Trinity, Drew considers philosophical responses to its rather bleak conclusion.| Gold Machine
When bad things happen to all sorts of people. The Tragic Plane Crash and Other Myths “Tragedy” is a word that gets repeated often in our media. When something horrific happens, it is called a tragedy. Plane crashes, we are told, are tragedies, and so are collapsing buildings. You might think I’m going somewhere pedantic […] The post The Dearth of Tragedy appeared first on Gold Machine.| Gold Machine
The best ending is not the ending. Depraved Indifference as a Cosmic Horror For the past handful of posts, I’ve maintained the position that humanity is, separate from humans as individuals, a kind of inexorable force, a destructive tendency or eventuality visited upon the earth. In fact, I’ve consistently preferred the term “creation” over “earth” […] The post Suffer the Children appeared first on Gold Machine.| Gold Machine
Another Pull at an Old Thread Recent discussions have attempted to bolster a few, key ideas. The first and most controversial, given the present critical landscape, is that while historical detail informs our understanding of humanity, it isn’t, in and of itself, a theme or interpretive “code wheel” that can unlock the meaning of Trinity. […] The post Now I Am Become Death appeared first on Gold Machine.| Gold Machine
Examining the Libra episode of Infocom's Trinity, which features a swarm of lemmings at a Soviet atomic test site.| Gold Machine
Reframing my current assessment of Infocom's Trinity. A controversial opinion regarding the construction and meaning of a beloved game.| Gold Machine
From nowhen to somewhen: narrative vignettes, cumulative storytelling, and a bad day at the beach. Further discussion of Narrative and Geographical Modularity In Trinity In a previous post, I discussed the wide, middle part of Trinity‘s structure. This so-called “Wabe” is a highly effective design, unifying both storytelling and mechanics. Narratively, it establishes Trinity as […] The post “Tell the Truth, but Tell It Slant:” Modularity and Sacrifice appeared first on Gold Machine.| Gold Machine
Are you going to be in Vegas during BlackHat / DEF CON? We’re hosting a mixer, sponsored by Observa! We have limited capacity, so please only register if you...| securitycryptographywhatever.com
The ruby parser gem is an implementation of a Ruby parser in Ruby itself, which allows for Ruby code to parse and introspect Ruby code. It’s used in a number of places, but perhaps most prominently by rubocop, a Ruby linter and style checker. In parser versions <= 2.3.0.4, the parser is quadratic in the length of the input string, for any input containing >0 unicode codepoints outside of the ASCII range. The problem arises initially in the lexer, which turns the source input into a sequence...| Accidentally Quadratic
In this second of two posts about critical reactions to Infocom's Trinity, Gold Machine considers content published after 2010.| Gold Machine
I wrote an IMAP parsing and serialization library and want to make it correct and misuse resistant by leveraging Rust's type system.| Duesee's Blog
Gold Machine takes a look at reviews of Trinity from years ranging from 1994 to 2010 before drawing some tentative conclusions.| Gold Machine
In the second part of this series about fast parsers for sequencing applications, I will review the code for the regex based parser. This is shown below (I use v5.38, as you should! because the year is 2023 and you should not have to type use strict; use warnings)| blogs.perl.org
Simplifying how many projects resolve their| typescript-eslint.io