Latest Articles

  • The estimated reading time for this article is about 1 minute.

    A few rounds of testing suggested that adding a “required” list of letters would be helpful. These are letters for which the position is unknown, but Wordle has identified as correct.

    The usage pattern is:

    wordle-solver.pl ...er wat ulc
    

    Also, the world list gets additional prefiltering. No words with capitals or apostrophes are considered.

    #!/usr/bin/env perl
    use strict;
    use warnings;
    
    sub main {
        my ($pattern, $exclude, $required) = @ARGV;
    
        if (!$pattern) {
            die("$0 [PATTERN] [EXCLUDE] [REQUIRED]");
        }
    
        if (length($pattern) != 5) {
            die("Pattern must be 5 characters\n");
        }
    
        $exclude //= "";
        $required //= "";
        my @required;
        if ($required) {
            @required = split //, $required;
        }
    
        open my $wordsFH, "<", "/usr/share/dict/words" or die("words: $!");
    
      NEXT_WORD:
        while (my $word = readline($wordsFH)) {
            chomp ($word);
            next NEXT_WORD if length($word) != 5;
            next NEXT_WORD if $word =~ /['A-Z]/;
    
            if ($word =~ /^$pattern$/i) {
                for my $r (@required) {
                    if ($word !~ /$r/) {
                        next NEXT_WORD;
                    }
                }
    
                if ($exclude) {
                    if ($word =~ /[$exclude]/) {
                        next NEXT_WORD;
                    }
                }
    
                print "$word\n";
            }
        }
        close $wordsFH;
    }
    
    main();
    

    I am thinking about making this functionality available through a web app. Drop me a note if you think this is a good idea.

    💬 Share a response to this post

    loading...
    loading...
  • The estimated reading time for this article is about 1 minute.

    Wordle, love it or hate it, has grabbed the popular imagination for many. It is a solo puzzle game that is like Mastermind, but with words and you have but six tries to figure out the 5 word puzzle.

    Of course, this is a task for Perl

    #!/usr/bin/env perl
    use strict;
    use warnings;
    
    sub main {
        my ($pattern, $exclude) = @ARGV;
    
        if (!$pattern) {
            die("$0 [PATTERN] [EXCLUDE]");
        }
        $exclude //= "";
    
        open my $wordsFH, "<", "/usr/share/dict/words" or die("words: $!");
        while (my $word = readline($wordsFH)) {
            chomp ($word);
            next if length($word) != 5;
            if ($word =~ /^$pattern$/i) {
                if ($exclude) {
                    if ($word =~ /[$exclude]/) {
                        next;
                    }
                }
                print "$word\n";
            }
        }
        close $wordsFH;
    }
    
    main();
    

    Give it a regex pattern to match like ‘gr.at’ and an optional list of letters you know are not in the solution to get back the list of possible words that fit the pattern.

    No, I didn’t take the fun out of this game — you did.

    💬 Share a response to this post

    loading...
    loading...
  • The estimated reading time for this article is about 3 minutes.

    Jon Stewart

    Jon Stewart appeared to be backing the racist, debunked idea that COVID-19 was made in a Wuhan science lab on the very first Late Show filmed in front of a full audience in more than 400 days.

    On the one hand, this is just a drop in the ocean that is “people being wrong in public” problem that is the scourge of our Information Economy times. Further, to speak unpopular or even wrong ideas is (in the U.S.) a fiercely protected right. Lastly, history has shown us enumerable examples of smart people holding odious beliefs. Humans are complicated, yet we seem to pretend that they are not.

    If you believe that the Chinese government manufactured COVID-19, there is little I can do change your mind. But, here is Rebecca Watson speaking about this very topic and why the consensus of virologists who have studied this pathogen do not see evidence of human manufacture.

    I am old enough to know this will change almost no one’s belief on this, but it is there for those with an open mind.

    But this particular person espousing this particular conspiracy theory is disquieting. Stewart was, during the Bush years, a fact-checking juggernaut. Sure, he had a research staff then and yes, I was happy to hear neo-conservative propaganda trashed. But it seemed then and seems even now that Stewart is a pro-little-guy and pro-truth crusader. His decades-long work for getting benefits for 9-11 first responders is a testament to this.

    Now, take that guy off the air, fire the fact-checking team and stick him on a farm for several years and you have a very ordinary rich guy free to consume media that feeds his preconceptions, just like Mike the MyPillow guy or Elon Musk or the former president. Then recall that, like all public figures, Stewart likes an audience and that “hot-takes” are the currency of the same, should we be that surprised to see him digging in on a controversial position?

    I hope that Stewart’s performance was a Kaufman-esque stunt. That Stewart wanted to point out the criticality of media literacy in a world where monied interests lie to the public. But I am not holding out a lot of hope for this outcome.

    Much is made on the political Right of how the Left is turning into Thought Police who mandate a party line (which is an irony so rich I trust I need not point it out). As Stewart gets called out for supporting a debunked idea promulgated mostly by zealot supporters of the former president, it is important to remember the challenge of epistemology. How do we know what we know? We all have to defer to the considered, professional opinions of those technocrats who study the subjects that we do not. Do these experts get it wrong sometimes? They do, but at a much lower frequency than non-experts do. If not, then there is no reason to have experts at all. An expert opinion can be and should be challenged in good faith. But most of the time, the experts are closer to the truth than anyone else. Reality is not obliged to agree with our preconceptions or crazy ideas.

    Still, this example of a dude being wrong in public hurts.

    💬 Share a response to this post

    loading...
    loading...
  • The estimated reading time for this article is about 6 minutes.

    Escape Room Roundup

    Even before the COVID-19 lockdown, my family and I enjoyed doing escape rooms. We are lucky enough to be a place with easy access to commercial escape rooms like Escapology Live Escape Games - Worldwide Escape Rooms, plus a few other smaller ones. However, we are not master puzzle breakers. Our track record for solving the puzzles is rather low. Still, the experience of doing escape rooms is so enjoyable for all involved the a string of loses, though galling, is not a deal-breaker.

    We are a natural market for “board game” versions of escape rooms and we have going through at least three of the following titles: Exit: The Game, Unlock!, and Deckscape. In this post, I would like to offer my impressions of each system and its suitability to casual family gaming.

    I will forego any pseudo-scientific rating system, but instead lay bare my biases. Each system has been judged by my experience playing the game with three people, one of which is a pre-teen. How well each delivered a memorable and pleasant gaming experience is my primary criterion.

    One last note: my family does not play with timers. These introduce FAR TOO MUCH drama into a process that is sufficiently fraught for the players. If you too are looking for casual fun, do discard any timing device. The game ends when the last puzzle is solved or your players are uninterested in continuing.

    DECKSCAPE

    Deckscape, as the name suggests, is merely a deck a cards! Puzzles are both visually based (meaning you have to find hidden figures in cards), and logic based. No additional device is needed.

    By far, this is the best series for casual escape room fun. No, these games will not impress you hard-core gamer friends, but they are all replayable and the stakes never feel too high. Aside from logic and math, you rarely need any outside knowledge to complete the puzzles. I only wish there were more of these!

    The only drawback to this system is the lack of an in-game hint system. However, I don’t find these puzzles rarely necessitate them.

    Great starter titles from this series: Test Time and The Fate of London.

    UNLOCK!

    These games require a tablet or mobile device to play. It is possible to disable the timer for most of these games, although a few specific titles do have timed events (like Tombstone Express and The Nautilus’ Traps), and I do not recommend those specifically.

    My family has had the best luck with this series. There are many titles to choose from, with a variety of fantasy settings that should appeal to many. Some real-world knowledge (especially for the Arabian Nights themed title) are very helpful for solving the puzzles. This is not typically the case.

    The app has a hint system, which works well. Some of the “figure out the weird device” type puzzles are less interesting to me, but I know these appeal to some (as this kind of thing is all over Interactive Fiction games).

    Great starter titles from this series: The House on the Hill and The Formula.

    EXIT

    The Exit series has the most of titles of any of the offerings mentioned in this post. Each title has self-contained game that is card-based with additional custom “feelies” and make this series extremely popular. The system consists a riddle deck, a solutions deck, and a hints deck. There are 10 puzzles per game. Puzzles are visual, logical, spatial, and may require some crafting skills, like precision cutting and measuring. By far, this series has the most creative puzzles and the most unique puzzle solving experiences. Why is this not my favorite series?

    Although we have done 3-4 of titles in Exit, we have never completed any title. We always quit before the end. Frequently, we get dead-ended in the game, where is it unclear what the puzzle is. In the last on we did, we got to a point where we need a “hidden feelies” to solve the puzzle, but we were never told by the game to obtain that. We just took the the thing anyway and moved on.

    Many of the puzzles require more careful crafting of cards or feelies items than my family (or me) is interested in doing. I’m not terrible with rotating objects in my head, but I am terrible at crafting in general and worse doing so under pressure. When you are a parent, you cannot give any one task 100% of your attention, but the Exit series, which often has a lot of “game state” to manage requires this.

    One last point, the production values of Exit games are very high. Each title is gorgeous. Although I find some of the puzzles rather opaque, I am inclined not to blame the game designers but my own limitations for this. I wish I could enjoy this series more.

    Great starter titles from this series: The Abandoned Cabin. If you do not like this one, do not bother with the rest of the series.

    Honorable Mention: Journal29

    One last entry that I recommend as an excellent family activity is Journal 29, which is a book-based “escape room” or series of puzzles. The fiction of this is that a group of researchers working on a secret project have disappeared, leaving behind one last journal filled with clues to suggest the nature of their work and the reason for their disappearance. This will be very familiar to X-Files fans.

    You do need an internet-enabled device to solve the puzzles, some of which require GPS look-ups, or special media files from journal29. Most of the puzzles are visual and logic based. Some may require light googling.

    On the other hand, I found these puzzles incredibly approachable (4 out of some 60 utterly stumped me). Doing this puzzles with your family over the course of several sessions is very enjoyable.

    I hope this helps you find the right escape room experience for your family. These games are a great way to keep your brain engaged while providing a unique (mostly non-digital) shared experience.

    💬 Share a response to this post

    loading...
    loading...
  • The estimated reading time for this article is about 5 minutes.

    Because I design and implement web applications, the issue of how people discover existing features in them and how easily they can accomplish their tasks is a daily concern. The most important rule of iterative interactive design is to believe user complaints. This may seem so obvious as to go without calling it out, but it should be the mantra of all app designers. It is not.

    I will quickly confess that I do not hold my user experience or design skills in the highest regard. But I have learned enough to know how grievous many of my earlier designs are and how hard it is to produce “invisible design.”

    Given this professional concern, you can imagine that when I run into badly designed user interfaces outside of my job that it rather sends me around the bend.

    Let’s talk toasters and stoves.

    I have a lovely toaster. Here is a close up of the controls on it:

    My toaster controls are confusing without glasses

    Aesthetically, it is a handsome bit of sculpture. It’s got that retro, Art Nouveau style that an aging, mid-century man like me enjoys. However, I have old man eyes. In the morning, when I am most likely to use the toaster, my eyes are particularly useless.

    Given that, let’s look at temperature controls on this unit. There are two dial controls. Dials are a fine way to translate heat intensity to a physical motion. However, look carefully at the position indicator on the dial. Do you see it? I suspect most of you can when you are looking this photo, but please note that small black dot is easily lost in the glare of the “chrome” bits of the design. Under lower light conditions (such as those common found in the morning when 100% of my breakfasts occur), it is possible to carelessly misidentify this indicator so that the control is set 180 degrees further into the “dark toast” settings that I want.

    Hold that thought because I have another kitchen application with similar controls that presents similar problems.

    Here are the controls for two burners on my stove top:

    My stove is trying to kill me

    Again, the aesthetics of this stove is pleasing to me. It too has a mid-century modern appearance with stainless steel bits. The dial controls are arranged intuitively enough for me. Unlike the toaster, the stove designers made the dial indicator a line rather than a dot.

    Since it is a gas stove, the 11 o’clock position causes a spark that sets the gas on fire. As you rotate the dial anti-clockwise past that the burner attenuates from full gas flow to its lowest setting (which is around 3 o’clock). A good amount of the time, I am cooking things with this dial at the 6 o’clock position.

    When you are paying attention, these stove controls are great and easy to use. The trouble comes at the end of dinner prep when you are transition from cook to waiter. At least for me, my attention shifts away from cooking concerns after I dump the food into a service container. I am hungry and prefer my food eaten hot. Many is the time I forget, in my rush to eat, to turn off the burner, especially when the dial is in the 3 o’clock or 6 o’clock position.

    When a burner is set to simmer there is hardly any flame visible. When the dial is at 6 o’clock the indicator appears similar to the off position.

    Either way from my table, I cannot see the flames of the burner and the dials do not stand out.

    For a long time I thought there was little to be done to help me with these problems. However, my wife is currently taking a design course. After discussing some of the challenges she was working through, it got me thinking again about my appliance UX problem. What is the core problem with the toast and stovetop controls? I submit that these controls do not offer clear enough indicators of their current state when viewed from normal, but sub-optimal positions.

    Taking a page out of early rocket design, it occurred to me that painting one hemisphere of the dial control would be enormously helpful. Observe:

    Never burn your toast again, sleepyhead

    And also:

    I dare you to ignore this indicator

    Now, before I get cancelled, let me assure you that this is a design idea. I am not literally going to take a highlighter and color these dials. Such a solution would cause “domestic inquietude”. However, the principal of making the two hemispheres of the dial visually distinct has been used in other places to great success. In the future, I hope appliance designers consider how their controls present in less than perfect conditions.

    The title of this post is a nod to the very excellent book The Design of Everyday Things by Don Normal. If this post tickled your fancy, read what a UX pro has to say about our designed world.

    • Tags:
    • ux

    💬 Share a response to this post

    loading...
    loading...