Procedural Invaders

Procedural Invaders

Procedural invaders are space invader like characters generated as 5 x 5 pixel characters from just 15 bits using symmetry. The earliest post on procedural invaders appears to be from a J Tarbell in 2003. Thanks go to Ross McKinlay for suggesting having a look.

Below are some sheets of randomly generated invaders with generated names that you can click on to generate a tweet with F# code that generates the invader as ASCII art when sent to Mathias Brandewinder’s @fsibot.

invaders

ocodeh kiau oyem ixuo ocuu cenot iyofec ale perguc jucjox noxeba tigzuya niti erey punefeg aa jusaa corgipci guwee jeqema ulai borruxu vawe dayamga sihhedlor ifua eli oi xejqa bexiqi iboqu aiwa zavviju zapbui ouxom poqqeson teui tocij wuwtal mufe fuysur buwpuj xorro irajjo kijgobfib qeeji oku sipo rixxo kajavgol coqel oo ovi wemis aguxo vegnujep fequp eu aiu toazel ei nijtirqen qae siozaw ufaf uaa vexuzum iu pomrije eqipo keea umeh moo ezu xixifih ohai cebyez boini okamu gucar

invaders

uler ai tupisur leyfopu pitqoh teero deguzoc

vunuj qerac aciu giktu fewkomi gepdu fuqwoe susa hawa yuyra yutix ezajex owus qixtom urexhaq uobep ruo magxii hoo kuzidom exi xiu qoqe koyohvi iuyu gajihak qubseq ewefic osepbi ee bafa ao uhee guqko ogamvab benpoa ouo ivif hives jee coiduv oo auu uve uwirig guqfoa kedzo ovog xekbaler okit uki limfit jeqarwo miia onopor gake tagmovu haru arobba nae puio daskue ajudpel uqo ejazo sowmea fivxu rero xoqrora luro tema ea ruu nafio nedqe lamfopi mukaga xesisciv usa maze zalafo wosan amut itoz unimi hodler dua iupi rufeni yakmo eu waneu jeboi siaso leutu serquwa zalif qukot jisaso jukniqe teje uxoc eme aqup jevke fewe rarzifa eyova reju

gui eio faqe qiqoy ilap hapao acor zowoi bavwosgo akugmux waho ewea kii zownaq oo timqam ufut ou limozi ecoy umuxu wubov ezoyno nitlar gusiy cibqu dubu eerun lecei siayo jaeho fayiru uu kecamay ua enebux movii gosyoyret luqmakir hufoy doru weibih alur eociy cokus zaano zounu quvofe nahyurez zeqhepev cagefhiz seu pivxigu lifohdol ea ugoy efag eoi ue menvuce xinuco layyiwbuz uwelu hivqumbiz evu geo ziu covixu fuwusem koluhik kuyki qindec culap ereyo iyiga muxomop peleo rawxun noqdax yuvo oa itue lugou feja yisoo tau wujzomo uu egu jefuba omepuv ope citobyoc talquf cirishus pijuti sagezu uzaya okob yejig omige oril lehbep soqe zojoyul upazu

uede noxzuscaf jiawe oetu fegi nukgixhos kimado gua lexnirmi rayapo faqafa uwivluw qikhid qewboe epi hihawud hebako ecoe kadgawer yegui ava depea lowagnuh uwav hoecu qihquva auwox tupo dengod becaza dopuo otad xiblabwe euza oqiq eje elus osis zohzor uhao ceuqi eya dibji nilim ufim rasyi zuqi ovop fayetu roqo biti ooa yezqoze iisic taufij yovtel ivasu vejea aio uo peteu hurisum xakqivuq ee cua vezdadu xiyi fawohju merkih pogquho qaxut tuvilu cewyup gohisfes qipcojdaf opof feduro aii ucadbi xufguve bisufat au fayses ruwa uyip ilus xiyalat gugerab xuo weuwu fumvad iere vicunu nofi pojeo fofo ue hilmorser

Techie bit

The sheets of invaders are drawn on to a bitmap image and saved as a png file (see invader bitmap generation F# snippet), with the bit pattern for each invader generated from the hash code of it’s generated name (see pseudoword generation F# snippet). At the same time a matching HTML image-map is generated with the coordinates of each invader with a link that generates a tweet for the specified name.

 

Happy New Year 2016 around the World

Happy New Year 2016 around the World

Just like last year and the
year
before, I wanted to participate in the
#FsAdvent
event, where someone writes a blog post about something they did with F# during December.
Thanks to Sergey Tihon for the organization of the English
version and the Japanese F# community for coming up with the
idea a few years ago!

As my blog post ended up on 31 December, I wanted to do something that would fit well with the
theme of ending of 2015 and starting of the new year 2016 and so I decided to write a little
interactive web site that tracks the “Happy New Year” tweets live across the globe. This is
partly inspired by Happy New Year Tweets
from Twitter in 2014, but rather than analyzing data in retrospect, you can watch 2016 come live!

A safer way to use F# with SQL CLR

A safer way to use F# with SQL CLR

Every blog post I’ve read about using F# with SQL CLR involves turning off SQL CLR security for the entire database like so: alter database mydatabase set trustworthy on This is because there is not currently a “safe” FSharp.Core, and so even when building with –standalone you must load the assemblies in to SQL as […]

Exploiting Generics in TypeScript

Exploiting Generics in TypeScript

Generic classes and functions are one way to create flexible, reusable classes and functions. But before you start creating your own generic functions, you should be clear on when they’re your best choice.

Look-and-say: F#

Look-and-say: F#

This holiday season my brief indulgence was solving the Advent of Code puzzles. One was about the look-and-say sequence. It starts with “1” and grows as follows: 1 is read off as “one 1” or 11. 11 is read off as “two 1s” or 21. 21 is read off as “one 2, then one 1” […]