A Quick Guide To Classical Ciphers For Cryptography Puzzles

Over the past several months, I’ve started playing Google’s Ingress, a mobile-phone based video game which is cross between capture the flag and a militant version of foursquare. One of the key features of the game is “decoding” secret messages hidden in documents and media given to the players that can be redeemed for special supplies. This prompted an interest in what I call “puzzle cryptography”: identifying and solving puzzles which incorporate elements of classical cryptography systems. And as regular readers of this blog are aware, once we get interested: Python programs get written…

Puzzle cryptography is based on testing methods and spotting clues vs. a more formal “rigorous” approach to cryptography associated with military and security applications. You’re presented with a snippet of material – generally text or images containing text – and called upon to extract a code from that material. Many snippets would actually be viewed as unsolvable in traditional cryptography: they are too short for statistical techniques and usually designed to defeat letter frequency and word pattern analysis. They are, however, a lot of fun to fiddle around with. The purpose of this article is to walk you through some of the common types of “obfuscation” which can be done to a message using classical cryptography and introduce tools to make the process easier.

Continue reading “A Quick Guide To Classical Ciphers For Cryptography Puzzles”

Kids Coding Lesson Using Python Turtles: Today YOU be the computer…

My first serious contact with computer code occured in the early 80’s, using a drawing program known as Logo. Our elementary school had a small computer lab, which we were allowed to use a few times per week. The premise of Logo was simple: the user controls a “Turtle”, which was moved around the screen to draw lines and fill in shapes. Kids being kids, we started off drawing the nice shapes suggested by our teachers and things quickly devolved into a contest to see who could make the turtle move fastest…

One recent Saturday morning, I introduced my children to the ideas behind Logo, using Python’s turtles library. This is a good (free!) recreation of the program I remember and, better yet, is included as part of Python’s standard library. To use it, type “import turtles” at the interpreter prompt and you’re good to go…

Incidently, this was not a hardcore programming lesson. While I dearly hope my kids will someday debate the merits of using object oriented vs functional programming, we had a simpler set of goals. With young kids, you’ve got to keep the lesson fun and tangible. There were a couple of basic programming ideas I wanted to slip in along the way:

  • Using variables to store a value
  • Using if-then statements to control the flow of a program
  • Looping / Iteration (just for loops for now)
  • The importance of good comments…

Continue reading “Kids Coding Lesson Using Python Turtles: Today YOU be the computer…”

Unscrambling Words – Some Surprising Results…

It’s always interesting to find words lurking inside other words – so we went hunting. For this exercise, we used our word unscrambler to find anagrams and word fragments. We also used a word pattern analyzer to find words which contained that fragment. The results have been assembled in a narrative (more or less) for your general amusement.

Lets start with a handful of direct anagrams:

Continue reading “Unscrambling Words – Some Surprising Results…”

What Good Looks Like: The Expected Value of a Scrabble Rack

“Drat…..I just can’t make anything good with these tiles….”

If you haven’t muttered this under your breath a few times, you likely haven’t played Scrabble very much.But are you muttering this because of a mental block or truly bad tiles? Within the vast universe of possible Scrabble racks, what does “good” look like?

The serious Scrabble player would state that the effective value of a hand depends on where you are in the game. The early game favors scrabble racks that “play well with others”, giving you relatively large words with common letters that can easily be patched onto an open board. The end game favors prefixes, suffixes, and small words you can sneak into an open space. Bonus squares and the opportunity to build on large (5 – 7 letter) existing words also boost your score. All of this is true.

But here is a simpler way to approach the question: what if we look at the highest scoring word you can create using just the letters in your rack?

Mathematically, this question became: for a standard Scrabble rack, how many points of words (aka. the expected value) should the average Scrabble rack contain?

Continue reading “What Good Looks Like: The Expected Value of a Scrabble Rack”

Hacking Boggle: Designing A Fast Solver For A Timed Word Game

Zynga released the Android version of their Scramble with Friends game last weekend, which was our first contact with the game. It’s a social version of Boggle – the players take turns finding words in a 4×4 grid of letters, with a couple of additional elements Zygna threw in to spice things up. So naturally we decided to write a solver for it 🙂

Writing word game solvers has become something of a hobby for me. My first project was a Hangman Solver: this started off as a regex filter (Python) applied to a word file which we tweaked to make it more efficient. The next step was modify the program into a Hanging With Friends Solver: there are a few tweaks in Zynga’s rules which make it easier to guess a word (reduced number of possible answers). This website was built by taking these two Python functions and embedding them in a web framework.  The front end is HTML dressed up with some basic JQuery.

Continue reading “Hacking Boggle: Designing A Fast Solver For A Timed Word Game”

Good Hangman Words For Hanging With Friends

Looking for Good Hangman Words?

It has recently come to our attention that there are a large number of people in the world who cheat at online hangman. They use technology to crack good hangman words. Who knew? I swear, we built our hangman solver strictly as an academic exercise! To quote Captain Renault in Casablanca:

I’m shocked, shocked to find gambling going on here!

We at Hanging Hyena, as loyal guardians of the public morals, have launched a historic research project. Yup, we’ve already booked our tickets to Stockholm.

Our question: Are certain words for hangman harder to guess than others?

This specific question isn’t exactly unexplored. However, most of the available studies presume an unassisted human player will be using their findings. That’s just so 1995! We’re moving this analysis into the 21st century, and providing our participants with access to the finest hangman solver on the Internet! Our new question:

What words should you play in hangman if you suspect your opponent is cheating?

In other words, we want very HARD hangman words….

Continue reading “Good Hangman Words For Hanging With Friends”

Another Word For Crazy – 12 Insane Ideas!

Crazy’s a word, isn’t it? It does a lot of heavy lifting when it comes to describing a character or a scene. It’s funny, because crazy means so many things – but everyone gets the gist of what you’re saying if you drop it into a sentence. It’s an easy word to rely upon, and it can quickly become a crutch. Indeed, crazy is a word that’s incredibly overused. Once that happens, the word loses its power – and it becomes just another trite, useless bit of writing that marks you as a bad writer. That’s why every writer out there needs a few alternatives for that ever-useful word. It’s time to find another word for crazy.

The sheer number of synonyms for crazy exist because of the vague and often loaded nature of the term. Each of these terms means something slightly different, and they will probably serve your narrative better than the initial term. Unfortunately, the slightly different meaning of these words means they aren’t interchangeable. You can’t just copy and paste these terms in – so spend some time thinking about what they really mean, and how you can work with them. If you take the time to read over the definitions, you’ll be able to make better substitutions.

A Dozen Suggestions For Another Word For Crazy

Insane is the most clinical synonym for crazy, and it carries a weightier connotation. This is a great word to use when the situation calls for a bit more gravity.

On the other end of the spectrum, nuts is a great term to show that the scene in question is crazy in a slightly friendlier way. Nuts isn’t a term that should be used formally, of course, but it’s a more authentic term to use in casual speech.

Mad is a great synonym to use when attempting to write in historical prose or when talking specifically about insanity. Mad isn’t a particularly sensitive word to use when describing a character, but might be appropriate when describing a situation.

A psychosis is a very specific kind of insanity. While it’s not a synonm for the term in general, it does capture the essence of the word in many circumstances. Psychotic is a great way to describe a darkly insane character, while the related term “psychosis” can describe the manner in which a character is crazy.

Bonkers is a difficult term. You can’t slot it into a serious work, but it does describe a type of joyful craziness. Use it when you’re describing a childish or outlandish situation for a bit more impact.

Unhinged is a polite way of saying crazy for some, or a great way to describe a dementedly insane character for others. It isn’t a precise trade – no find and replace here – but describing a character as unhinged will often carry the same meaning as using crazy in the same sentence.

This is a violent, out-of-control type of crazy. A character who goes berserk is almost always engaging in violence, and be aware that this word almost always describes something living.

The cousin of bonkers and nuts, wacky definitely has a lighter connotation than most things on this list. Things that are cartoonishly out of control tend to fall under this heading.

When you say a situation is crazy because it’s out of control, you might as well practice an economy of words and just call it uncontrollable. If you aren’t directly talking about literal insanity, you might as well use this word in crazy’s place.

Mental is another word for crazy, and it’s definitely not a polite substitution. There’s a lot of weight attached to this word, so use it sparingly.

When a character’s described as unbalanced, it’s generally inferred that they are a bit insane. This term can be useful when writing period fiction as well, as an unbalanced mind is a great historic term.

This isn’t a friendly term, but it does mean the same thing as crazy. A lunatic is a historically accurate term for a crazy person, even if it isn’t used in polite company today.

Picking Another Word for Crazy

As you continue to look for alternative terms, try to hone in on what you really mean. Crazy’s a great term, but you can narrow down your words to be more specific. The more specific you can be, the better your descriptive writing. Finding alternative words isn’t just a way to stop repetition – it’s a way to help you better make your point.

Another Word For Good – 15 Great Ideas!

There’s nothing wrong with the word good. It’s an ok word. But, let’s be honest, telling someone their drawing is merely “good” isn’t exactly a big pat on the back. It’s half a notch above the dreaded “fine”. It shows you wish them well. You may get a nod in appreciation. But you’ll get a better reaction if you pick another word for good.

Below, we’ve come up with different synonyms for the word good. Sprinkle them into your next letter or speech of praise. They’ll add a little spice and your audience will appreciate it. Boring writing equals fewer readers. And a little emotion is often a good thing.

15 Suggestions for Another Word for Good

1 – Virtuous

Used to describe a person’s character or morals. Instead of saying he is a good person; try saying he is virtuous. This is a particular appropriate choice if you’re writing a formal speech or presentation.

2 – Kindhearted

Another word for good that describes a person’s character. Use this to praise someone for being nice or generous.

3 – Superior

Use this synonym for good if you’re describing qualities for a particular role. Instead of saying these are good tires; try these are superior tires. This says they stand out relative to the rest of the tires you could buy. See how easy it is to spice up your vocabulary by just changing one word?

4 – Delightful

Use when explaining an enjoyable or satisfying meal, show, or other experience. Instead of “the movie was good”, maybe try “the movie was delightful”. Yes, you may sound a tad snobby, but who cares? You’re broadening your vocabulary!

5 – Appropriate

Suitable for a particular purpose. Instead of saying this wine is good with spaghetti, try saying this wine is appropriate with spaghetti. And, now I’m craving spaghetti and wine.

6 – Tip-top

Meaning desired or approved of. We wouldn’t recommend using it often, but it’s a tip-top word to use sparingly when describing something or someone’s condition.

7 – Obedient

Follows rules or another word for good behavior. It can easily be used to describe a pet or child in the modern world. Obedience is a virtue in many religious orders and cultures.

8 – Significant

Out of all the synonyms for good, this is one of our favorites. Using significant instead of good often makes more of an impact. But use it sparingly, so the audience considers it as significant…

9 – Awesome

The perfect synonym of good for a younger audience. It’s definitely not a word you would find in Shakespeare’s writings.

10 – Proficient

Another word used to describe having the expertise needed for a particular role. Being told your driving is good may not strike you as well as being told it is highly proficient.

11 – Outstanding

Telling someone their play performance was good will not get the same smile and reaction as telling them their performance was outstanding. Particularly if you throw flowers at them afterwards!

12 – Charitable

One way to describe someone’s intentions or kind heart. Sometimes changing a simple word can show more emotion or show someone your sincere intent. Instead of saying, “You are such a good person”, try “You are such a charitable person”. They may look at you weird, but at least you’re being nice.

13 – Reputable

Deserving of respect. Honorable. Telling someone a company is reputable makes a better impact than saying it is good.

14 – Fine

A bit boring, but a perfectly acceptable synonym for good. It’s fantastic if you want to let someone know that while they performed acceptably, they have the opportunity to do better in the future.

15 – Wicked

Although informal, it’s the perfect descriptive word when you’re wanting to grab attention.

Searching for Synonyms of Good

There are many more words out there that work as another word for good. Just pick the best one that fits in the context. Words create strong and lasting impressions. So, remember the next time you praise your spouse for cleaning the house, don’t say, “good job”. Instead, say, “you did an outstanding job! The house looks tip-top”.

Another Word for Beautiful: 20 Pretty Ideas

Ahem….those love letters and texts you keep sending. Now I know you think the object of your affections is beautiful and they certainly want to think of themselves that way too. But variety is the spice of life (and a true sign of sincerity). Lets find another word for beautiful to spice things up a bit.

This is particularly true if you’re posting stuff on  Facebook or Reddit – when every picture is beautiful, dare I suggest that no picture is actually beautiful? Take this opportunity to stand out by finding and learning to use a few good synonyms for beautiful so your work is appreciated.

The list below shares another word for beautiful and some pointers on where it might best make sense to use it…..

1 – Adorable

Worthy of love and adoration… good for a romantic context or just referring to pure cuteness.

2 – Grand

There are two ways to use this one. There’s the traditional “grand” indicating you’re looking at the best. And there’s the folksy version “grand” (“a grand old time”) which refers to “the best you’re likely to find around here”.

3 – Statuesque

Best if used for pure physical beauty, ideally a person. Worthy of making that person into a statue. Generally suggests either height / power or some other form of physical perfection.



4 – Stunning

Offers the audience more than they expect. Works for both people and landscapes  (or buildings). Another good option along the same lines would be “breathtaking”.

5 – Splendid

Another good “quality” word, indicating we’re looking at the best and finest.

6 – Spectacular

Worthy of commanding attention; being the star of the show.

7 – Shapely

Best used to describe physical beauty of a person; indicates a pleasing shape.

8 – Alluring

Another suggestive physical one; suggests the scene is drawing the viewer in for a closer look.

9 – Impressive

Works for things which are distinctive; impressive suggests the viewer will remember it.

10 – Handsome

Best used when referring to a good looking man.

11 – Charming

Praising the personality of the recipient; works for both men and women, can sometimes work for places (“a charming little town”).

12 – Bewitching

A little naughtier and suggestive than the other words. Indicates a strange magic will compel the viewers to pay attention to the person or place being described.

13 – Enthralling

This works well if you’re able to draw the subject’s personality or wisdom into the discussion. An enthralling person is interesting and viewers can’t look away.

14  – Pretty

A perfectly good replacement 🙂

15 – “Purdy”

Use at your own risk, unless you’re at a country western line-dancing bar….

16 – Exquisite

Another quality reference; best used if we’re talking about something delicate and finely made…

17 – Gorgeous

I’ve always associated this one with brassy, over the top beauty rather than subtle perfection…

18 – Resplendent

This word is associated with being well dressed and groomed – wearing clothes which are richly colorful or sumptuous. Consider it a very “polished” form of beautiful that requires shopping and preparation.

19 – Dazzling

As if the object was throwing off light in all directions.

20 – Dainty

Not commonly used, but indicates a delicate beauty (as if finely made).

Finding Another Word For Beautiful:

These synonyms for beautiful is a small fraction of the potential options. The best suggestion we can make is to stop and think about WHAT qualities make your subject beautiful and write about that particular quality. Then pick another word for beautiful which aligns well with the rest of your context (people / place / thing, male / female subject, physical / platonic affection, etc.).

This approach will improve your writing. Instead of making a broad promise, you’re connecting your readers to the specific quality which attracted your attention in the first place. And that’s….


Another Word for Amazing – 20 Awesome Ideas

Is your essay or sales letter starting to sound boring? Need another word for amazing?

Let’s face it.  Even if your product or idea is actually AMAZING, there’s only so many ways you can say this before your reader starts to tune out and thinks you’re full of meaningless hype. This is also an overused title on article sharing sites and news stories (“10 amazing ways to say amazing! Yay!”). It’s time to find another word for amazing by looking at synonyms and alternatives.

The list below gives you the word (another word for amazing) and some context about when to use it. Ideally, you want to use a synonym for amazing which is a good match with the context of the topic; there’s always a small shift in meaning when you move between words so this is critical to good writing.

1 – Outstanding 

Best used if you can compare your topic to others; indicates your subject stands out from its peers.

2 – Remarkable

Indicates your product is worth sharing with others.

3 – Breathtaking

Indicates a sheer level of awesomeness that will cause the audience to suck in their breath….

4 – Spectacular

From the Roman concept of spectacles, big public events with lions and tigers. Indicates your product is worth being the star of the show.

5 – Splendid

A generic expression of quality; splendid points towards something being magnificent or impressive.

6, 7, 8 – Staggering, Stunning, Overwhelming

The audience will get more than they expect. Best if we’re talking about a deal of some kind.

9 – Impressive

The product or topic will surprise the visitors, giving them a reason to remember it.

10 – Bewildering

The product or solution is beyond the ability of average people to comprehend. This is a risky word for advertising copy writing – people are usually reluctant to purchase stuff they don’t understand. It is a great word you can slap on the competition’s solution (while promising that your product is easier).

11 – Prodigious

Indicates something is impressive in the sense there’s a whole lot of it or it’s super rare

12 – Colossal

The original old school cool, going back to the Romans and Greeks. They didn’t write five paragraph essays and sales letters, they built massive buildings out of stone and filled em up with lions, tigers, and bears.  Or gigantic statues (Colossus of Rhodes) that we still talking about two thousand years later.

13 – Wicked

This is a Northeast US thing, but wicked means extremely good in those parts.

14  – Sublime

Heavenly – best used when we’re talking about quality vs. quantity of benefits

15 & 16 – Marvelous, Magnificent

Worth looking at. Worthy of admiration.

17 – Legendary

I always think mythology or video games when we talk about this one, but it works for pop culture.

18 – Flawless

Another “success through quality” word – used properly, it can really set the item apart from the rest.

19 – Award winning

This leverages social proof, using the fact that someone else (in a perceived position of authority) approved the product or policy/proposal to build credibility with your audience.

20 – Top-Notch 

Another first class replacement for the word; indicates what you’re speaking about has high quality.

Finding Another Word For Amazing:

Our exploration of the synonyms for amazing only scratched the surface of the possibilities here. The real trick here is to stop and think about WHAT makes the subject you are writing about Amazing. The best way to find another word for amazing is to zoom in on the quality of the subject (eg. product, policy, proposal, etc.) which makes your subject amazing and select a word that features that particular quality. Once you understand what features you’re promoting (quality, volume, price/discount, uniqueness) then you can look for impressive words that describe those qualities.

This approach will actually make your writing better – rather than a generic indication your subject is impressive (Amazing!), you’re linking the reader back to a specific quality that you think is impressive!

Words That Make You Sound Smart – 12 Ideas

Getting ready for a job interview at a big company? Meeting your girlfriend’s parents, a couple of Harvard professors? Got a hot date with an English major? May we suggest using words that make you sound smart?

You’re gonna need to step up your game in the language department….

The trick to using words that make you sound smart like a pro is to make sure you’re completely on point and use them sparingly. Know that fool who managed to drop the word strategy in every paragraph at work? Yeah, we all think they’re a bozo too. Everything isn’t a strategy and you don’t need to demonstrate you can turn strategy into a verb, adjective, adverb, and pronoun (we’re pushing it with that one, but you get my point). Say it ONCE and be completely right….

So without further preening, her’s our list of a dozen words that make you sound smart:

Continue reading “Words That Make You Sound Smart – 12 Ideas”

Sitewide Redesign: Responsive Design To Improve Mobile Experience

We’re in the final stages of a site-wide redesign, focused on upgrading our solvers to deliver a better experience on mobile phones. The project used a web-design technique known as responsive design to rebuild our solver pages around several standard views (mobile phone, small tablet, larger tablet, desktop). We then modified the content shown in each of these views to better suit the expected audience.

Continue reading “Sitewide Redesign: Responsive Design To Improve Mobile Experience”

How To Solve A Cryptogram: Some Helpful Hints

We’ve moved forward with launching our first game this past month, a cryptogram game where players compete to solve puzzles based on famous quotes. The game is played on an interactive screen where you are presented with the secret message and can guess what different letters may mean. Scoring is based on the amount of time you need to figure out the puzzle and the number of hints (free letters) the player asks for.

Naturally, after hitting the hint button a couple of times, many new players are curious about how to solve a cryptogram puzzle. Here are some helpful hints…

Continue reading “How To Solve A Cryptogram: Some Helpful Hints”

Cub Scout Cryptography: Using Python For Puzzles & Codes

This site started as a casual programming project. Actually, the code behind our first word solvers wasn’t even intended as a website. It was a collection of small python scripts (”code doodles”) which I threw together to play with some word game ideas. It wasn’t until later that I realized these programs could be delivered as a website.
Continue reading “Cub Scout Cryptography: Using Python For Puzzles & Codes”