Off topic, but god I just wish Facebook would disappear. It's ironic that such a popular company with such a huge valuation would produce an immediate and significant benefit to me if it just disappeared overnight.
It begs the question, do you mean Facebook the social network, or Facebook the company? Because there are surely many benefits coming from the company that don't necessarily depend on the social network.
Why not create one but never post onto it? That's what I did. I don't see any detrimental effects if I create an account but never use it to its full capabilities.
Yeah, this. Especially for something like regexes where a large amount of your users will be more technical, and facebook is becoming less and less popular among technical people.
Personally, I don't have a facebook account and I will not create one just so I can log in on your website. The disability to save my progress also made me give up on trying to progress since it'd just be lost anyway.
My main problem with this is telling the difference between O and 0, the clue O's look more like 0 so I have to copy paste them. (Although I don't think I've had any numbers required for solutions yet).
Well, that sure cured me of the intuition that these square grid regexp crossword puzzles were inherently easier than the original hexagonal grid version!
Just a heads-up though: There are some typos and grammar mistakes in your explanations, so if you plan to share professionally, you might want to have someone proofread it. Also, your Facebook OAuth window that pops up upon page load is being caught by Chrome's built-in popup blocker. Either way though, I'm always disappointed when Facebook OAuth is the only login method. I get that it's easy to implement, but I can't imagine this is a very security-sensitive app in terms of user-accounts. I would like to save my progress, but it's not worth the risk or analysis required to hook up my Facebook.
Nice, but the answers being phrases ruins it for me, because you start seeing the answers without needed to check the regular expressions.
Really nicely designed though. Clean UI. Wouldn't mind if it was enlarged to use more of the screen real estate (tiny fonts are hard to read). I had fun with this.
+1. This is especially true for "Experienced #5" which required me to figure out about 4 letters out of 16 using the regex, the rest being obvious from the clue and the other 4 letters.
All the hitchhikers ones are pretty obvious though.
I thought about this too- the phrases- but, isn't that how normal crossword puzzles are? You can gather clues from the context of surrounding words when doing one of those puzzles.
Not really, because rather than using an entire coherent phrase that goes from the top to the bottom of the puzzle, crossword puzzles use discrete and often unrelated words throughout.
It's most like a theme clue -- in an American-style crossword you often have 1 to 4 extra-long answers, almost always horizontal, that are related to a theme (they might be puns, or proverbial sayings, or together spell out a longer quote). It's sometimes possible to solve a theme clue in a crossword when you have only a few letters, if you understand the theme well enough.
In this case, the "suddenly solving the whole thing given only 40% or 50% of the letters" effect can be kind of cool, or annoying if you were enjoying the logic puzzle aspect. In the original MIT Mystery Hunt hexagonal regular expression crossword, most of the grid did not spell anything recognizable, so it was clearly a logic puzzle through-and-through. I guess whether people appreciate that depends on whether they were expecting a pure logic puzzle or a combined logic+word puzzle.
The MIT puzzle (from the 2013 Mystery Hunt) was called "A Regular Crossword" and its credit says "Dan Gulotta, based on an idea by Palmer Mebane".
(Just so it's not credited to MIT in general; each year's Mystery Hunt is written by a specific puzzle team, and indeed each puzzle is written by specific puzzlers!)
This new site is super-awesome and challenging, but a great thing about the hexagonal grid in "A Regular Crossword" was that each hexagon was constrained by three intersecting regular expressions rather than two. That meant that the constraints could be trickier or vaguer in some ways, and comparatively more dependent on the sequence of elements within a regular expression rather than on the process of elimination between two intersecting sets.
Elsewhere in this thread, a commenter points out that the square grid regular expression puzzle can encode 3SAT instances, so I was wrong to call these easier than the hexagonal version.
I liked this puzzle too and I also made a web based version: http://stardrifter.org/regexp/ . Yours looks nicer but I do miss one feature from my version which is the ability to click a clue to rotate it into view.
Thanks, that was fun and not as tricky as the blank grid initially made it appear! And the implementation was nice (although a little twitchy if you rotate twice quickly).
I really dislike that patterns using * wildcard required using the letters beforehand. The game requires A* to match a row with zero or more A's, but this is absolutely incorrect, as A* will gladly match ANY string, like QQQQ.
I have no idea what you're talking about. My point is more pragmatic the regex /A/ will match the string "QQQQ" and this tool doesn't take that into account. E.g., I type this into my javascript console:
No, it doesn't. It matches the empty string at the beginning of 'QQQQ', not the Qs themselves:
/A*/.exec('QQQQ')
[""]
When computer scientists discuss what a regular express does and does not "match", they are saying that strings which are "matched" by a regex are those strings which are members of the regular language defined by the regex. QQQQ is not a string in the language defined by /A* /, so /A* / does not match QQQQ.
If we look at things your way, we would have to say that the regex /A/ matches "AQQQQ". It does not. It matches "A".
Actually this is wrong, when you use A* in vim for example you're not looking exactly for A* but for substring containing an A* since this also matches "" programs like vim will match anything.
Just because these tools use regex this way doesn't mean that's how regex really works.
Fun! When I saw the title, I was expecting the opposite: a normal cross word with the usual "42 Across (4): It gets things done" style hints, but the answers were valid regex's. Someone make that too!
Pretty cool but I don't feel like I am actually learning regex. I think the explanations/definitions need to be more clear and probably the answers less easy to guess.
That was fun (in a really nerdy way)!
I'm currently trying to educate one of my team member about regular expressions, this could be a fun way to get him practicing.
It's not mentioned explicitly, but the given patterns should match the entire answer, not just part of it. In your screenshot, "O+" means "one or more letters `O`" , it does not mention any `E` s, so OE is not a valid answer.
When you're testing your answers, add explicit start/end anchors and implicit grouping to get better results:
var r = /^(?:HE|LL|O+)$/;
console.log("OE".match(r));
console.log("OO".match(r));
I had a lot of fun writing a solver in Haskell for a crossword like this a few months ago. Apologies for the self promotion but here's a link to the article I wrote about it http://almostobsolete.net/regex-crossword/part1.html
I learned regex this way about a year ago. First I went through the tutorials on http://regexone.com/, then started working the puzzles to burn it in. Really easy and useful once you understand it!
This highlights how crossword puzzles are a valuable way to stretch the mind laterally. This is a way to think about regexes that rarely comes up in practice: comparing one regex against another unrelated one.
No in this case the regex on the bottom only applies the . to the square in question while the \sSAI in question applies to the second square. It seems that it could be a I or a T.
This is fun! I feel like it is also good practice for logic programming too. Combine the regexes and put one or all possible solutions into each cell of the matrix :)
They already do. They have Like buttons everywhere on the web.
But Facebook does have a good security track record. This random website does not. I don't trust them with any more information than needed. In this case, that is only a single anonymized token.
There is a good chance that Facebook already knows you visited a particular site because that site is already serving Facebook content (via a like button, for example).
This is exactly why I use a different browser for Facebook than any other web browsing. As far as they are concerned, the only site I ever visit is Facebook.
Same with Google properties. I only use Chrome to visit Google properties.
As crazy as it sounds, I actually like the other trackers, because then I get more relevant ads. I'm also one of those crazy people that things adblock ruins the web (this opinion may be because I worked for a website that survived on ad revenue for a long time).
I'm sorry to be rude, but that strikes me as legitimately paranoid. Why do you care so much if Facebook knows that you visit sites other than Facebook?
I guess it depends on why someone uses Facebook. I (finally) got an account a while ago in order stay in contact with friends and former colleagues. My usecase of Facebook does not include me wanting Facebook to know everything I do.
Hence, Facebook lives in its own VirtualBox machine.
You might find this hard to believe, but I don't have a Facebook account.