Today I needed to work from a coffee shop since my cable modem went on the fritz last night.  I use virtual box to virtualize a Kazoo cluster on my laptop with 10 linux servers.  I kicked around a complicated NAT’ing scheme for port range forwarding, but I wanted to keep things simple at the networking level at the early stage in the game of the testing some new feature development.  So, instead of changing 10 static IP configurations, I brought my own router.

 

IMG_3908

IMG_3909

I work on a product called Kazoo.  Kazoo is written in erlang.  Lately at work, those of us on the Platform team have been having a conversation about a language feature known as ETS (erlang term storage). The end of the conversation pretty much always concludes that

Erlang ETS == Magical

I have been down the road of finding a magical language feature (not in erlang) for a specific use case, only later to find out that when I switch the conditions of the use case, it totally and completely falls apart.  With that in mind, this weekend I did a little reading / researching / googling to find the source of the magic.

Thanks for Erlang Solutions for posting the Videos from the latest Erlang Factory in Sweden, had a talk specifically about benchmarking ETS.  This was really awesome, and anyone who cares about ETS should watch it.

tl;dw – ETS is MAGIC, however, if you are trying to scale a product using ETS, be VERY aware of the number of physical chips on the server vs. the number of cores on those chips.  There are runtime flags to pin process schedulers to individual cores, but there are tradeoffs.

Screen Shot 2013-12-09 at 10.19.30 AM

 

 

 

 

grace-hoppers-107th-birthday-5447077240766464.4-hp220px-Commodore_Grace_M._Hopper,_USN_(covered)

Thanks for the awesome doodle logo Google!  Anyone who does not know the scope to which Grace Hopper affected all of our lives, should read her wikipedia page.  Ending with the rank of Navy Rear Admiral, she coined the phrase “debugging” by getting a moth to be removed from one of the early computers (they liked the circuits apparently!).  She invented the compiler, and argued (to much resistance at time) that programs should use english language to be more expressive.  Any CompSci friends out there pining for writing in binary or hexadecimal still?  It was cool also to read in that article that she tried to influence the DOD to move away from large centralized systems and use smaller distributed systems.  Grace Hopper, we salute you and all your contributions to humanity!