# Simon and Daniel Shiffman

Today is one of the most beautiful days in Simon’s life: NYU Associate Professor and the creator of Coding Train Daniel Shiffman has been Simon’s guarding angel, role model and source of all the knowledge Simon has accumulated so far (in programming, math, community ethics and English), and today Simon got to meet him for the first time in real life!

Daniel Shiffman posted:

# Squared Square Puzzle

Simon came up with an idea to make a puzzle of “squared squares”, a concept he learned via Numberphile. One square of 112 by 112 cm (the smallest possible of the squared squares) is made up of squares that each form a sum of two or more neighboring squares. Simon later completed the whole puzzle, together with his little sis. They had to pick up the tiniest square with a pair of tweezers!

Simon drew all the exact pieces of the puzzle on a sheet of paper first, but then – open source minded as he is – he decided to create a website where the pieces would be available for everyone to print out. We’ll post the link here once the website is online (I sometimes literally beg Simon to put projects online, as he always considers them unfinished or not good enough). He also wrote a webpage about the concept of squared squares, but (surprise!) hasn’t hosted it on GitHub yet either. Here comes a screenshot of the webpage:

As the last exercise with this concept, Simon also calculated the area of the smallest possible squared square on his desktop calculator:

# Simon Proposes a Community Project in Procedural Design

Inspired by the Processing Community Day projects, Simon came up with an idea to launch his own community project – in procedural design. He used the Coding Train Community Cloud page as inspiration, trying to guess the code used to build it. The videos below show Simon in process of creating the interface.

Simon later presented his project on the Coding Train Slack channel where other members (including Daniel Shiffman) suggested that Simon narrowed down the theme (originally, it was procedural design projects in general and that was too broad). Simon was very upset as he was afraid his “big project” would become too small and couldn’t come up with a theme. Two days later we agreed that he would make several examples for the projects and publish them on the project’s website to give everyone a better idea of what he was looking for.

At the moment, Simon has already published the first example but there seems to be a bug in it, so please view it as work in progress. (Simon originally wrote the code for the Community Cloud project and it worked when he shared it in Processing JS, but on his own project page, using instance mode, the cloud looks like a circle).

# Text Generating Machine that Posts to Twitter

A milestone in server side programming here, as Simon has built a text generating machine that posts to Simon’s Twitter account! Essentially, it’s website where anyone can enter his own text for the machine to make a “poem” from using an acrostic algorithm; the machine simultaneously posts that “poem” to Simon’s Twitter.

This project falls under the topic of building an interface for Twitter. The original inspiration came from Daniel Shiffman. Simon writes:

You can try my Acrostic machine at http://acrostic-tweeter.herokuapp.com/ and it tweets to my account at https://twitter.com/simontigerh/

In this scenraio, I’m feeding in some text and a word. I’m clicking a button, to tweet the acrostic. I used node to create the server. I later put that server on heroku.

I’m also using a couple of packages:
– express – to host my interface
– socket.io – for the server and the client to talk to eachother
– twit – to tweet the acrostic

In the previous video, I got everything working, except that after I try to use heroku (by typing `heroku login` in git bash), What appeared was:
Later we solved this issue by using command prompt:

Simon got positive feedback on his project from Daniel Shiffman, who asked Simon to give some explanation about what the machine on the webpage and also to give a link to Simon’s Twitter:

# Simon’s Superellipse tutorial on Thimble

Simon has created a beautiful little website with a tutorial (that he wrote completely on his own, from scratch) on how to build a superellipse in JavaScript.

(it’s on this new thimble.mozilla.org online code editor)

What specially delights me about Simon’s works lately is the subtle sense of humour he writes with (probably acquired through both watching Daniel Shiffman’s videos and reading Murderous Math books):

The project isn’t finished yet as the example Simon is linking to the website is only for an ellipse and a superellipse yet:

Simon also plans to add other shapes to the website later.

# Simon’s Lecture on Programming Languages

In this video, Simon gives an introduction to the basics of programming languages (what languages there are, which ones are front end and which ones are back end and what libraries and data interchange formats go with different languages):

# Analysis and generation of text-based data. What else to do on vacation?

During the vacation, Simon worked on several programming projects playing with language and grammar, from Daniel Shiffman’s Programming from A to Z course at New York University. Those included creating a new context free grammar sentence generator, using a markov chain in a Google form, creating a diastic machine with JQuery and making a regular expressions tester in JavaScript.

# Simon making his own text editor with Ace.js and Firebase

This project got strangled somewhere along the way, but Simon got quite far with the interface. Hopefully, he will continue some day. he was thinking of calling the editor something like “tiger editor”.