Natural Language in Small Wide World


Sept 1, 2016

Yesterday I published a small piece of software to Small Wide World's git to very little fanfare. It was a generalization of a bad piece of software I wrote the day before. It uses NLTK to perform a simple task: parse a simple sentence which follows the form "subject verb object" with optional additional information starting with "because". Examples of this grammar include:

GnuPG is software
IRC is a protocol
software implements a protocol
Javantea is human
AI3 is software
Javantea wrote AI3
Javantea writes software
Javantea writes English
Javantea reads German
Javantea reads Japanese
Javantea reads Portuguese
Javantea reads Spanish

nlp1.py creates this graph of the relationships:

Read more »

Cosplaying Luffy and Doc Ido

Aug 13-14, 2016

Today I spent a few hours sewing a piece in my Luffy costume. It isn't completely finished but you can see the results below. What needed to be sewn? The shirt was originally a tank top from American Apparel. While Luffy wearing a red tank top is absolutely acceptable in a pinch, it needs to be a 3 button vest to suit say Season 3 Episode 78 where they leave the island of the giants and Nami is sick, so they go to the winter island.

Javantea in Luffy cosplay
Javantea in Luffy cosplay

If you're incredibly lazy, sewing isn't necessary for this cosplay. If you don't intend to wash the shirt or wear it more than a handful of times (shame, shame!), then a cut shirt will actually look reasonably authentic. A really good reason to sew a cosplay is to reduce the likelihood of fraying. Many fabrics when cut will fray. The cotton from this shirt almost certainly will fray in the washer. If you've never sewn a garment, you probably didn't know that because a part of the professional sewing business is ensuring that doesn't happen. Exceptions exist, but Luffy's shirt is most certainly not frayed and you won't want yours to be either.

Read more »

Repair, Don't Replace

by Javantea
Dec 27, 2015

Today I sewed two holes in two shirts. Both shirts have survived a long time but both had become unwearable. By coincidence both shirts were a few sizes too small. Both shirts were worn hundreds of times despite not being the perfect shirt for the task and that is certainly the reason why they came apart after so many years of service. The blue work shirt was made in India in the previous decade and sold by Gap with their brand on it. My brother bought me it so that I would have one dress shirt that I could wear it to interviews. The white ringer was made in Los Angeles by good ol' American Apparel in the previous decade. I bought it from Scarecrow Video in Seattle in the early 2000's. Both are probably a decade old at least. Vintage surely.

Neck of stiched ringer

Read more »

A Short Classic Cryptography Blog


Dec 21, 2015

A certain game reminded me of a cryptography trick that I learned years ago and haven't had the opportunity to share. First, let's talk substitution ciphers. I'll give two challenges, one with spaces and one without.

GZKH YOQU TKP QY QB BKOB Q OATOPY KOWE BZ TXQBE O AZHF 
QHBXZUSCBQZH TKEHEWEX QV BXPQHF BZ ENJAOQH YZVEBKQHF 
YQVJAE COHB JEZJAE GSYB YBOXB XEOUQHF TKEXE VP VQHU 
YBOXBY TXQBQHF
PKCCAMSVCNSLADUYDUCLQUFDTCAFZSGDPFNTFSCCNXSTFKGDTXADUMM
SKLSMPODUCLXSFVKPFFZSJNMPFVKMKXMKVZXNISFZSMSPFDJFZSODMC
LKYZKTYSOMNFSKJSOPSTFSTYSPFDLSPYMNQSOZKFADUKMSOMNFNTXKQ
DUFJNMPFBDZT

The trick for the first one is to look at the list of possible two-letter words. Here is the top 101 words in order of occurrence in AI3.

of
in
to
is
as
by
on
at
an
In
or
it
he
be
He
It
no
up
On
fr
As
es
so
St
if
At
do
An
US
By
No
UK
uk
To
TV
we
If
id
Dr
go
BC
Mr
Of
My
my
OF
Jr
We
me
Me
CD
us
Is
am
Co
So
Al
AD
Up
DC
al
io
cm
Ed
FM
PC
Be
Do
hi
EP
Go
kg
FC
NY
yo
3D
AM
DJ
SS
LP
UN
co
Op
ad
os
Sr
Ma
SR
EU
mg
CA
Or
Wu
IP
MA
Oz
Oh
Am
HD
un
kW

There are plenty of two letter words in both challenges, so it should be fairly straightforward how to solve those. Once you've tried values for the two letter words, see what substituting the rest of the characters does to other words. You might find obvious words. If you have a dictionary on your system, you can use grep to find a word automatically. If you have the AI3 wordlist, you automatically get the results in order of likeliness which improves the search many times. It also contains words that a normal dictionary doesn't have.

Read more »

next »