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 »
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.
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 »
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.Read more »
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.
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 »