User Profile Edit with Autoform and SimpleSchema in Meteor JS

The steps to creating a form with autoform for editing user profile information are simple but not obvious when trying to tie everything together for the first time.

The first step is the set up the Schema. You need to set it correctly for the user data but the profile object is free form where you can add anything you want. Remember that all the things in the profile object are editable by the user. After you craete the schema be sure to attach it to the users collection.

Next you just need to create the form. The autoform quickform helper will spit out a form for all the user data, most of which you probably don’t want the user to be editing. Instead we can easily just show the fields we want to let users edit:

And that’s it. In the autoForm helper the collection accepts either a template helper (no quotes) or a global variable (quotes). For users you need to pass in the “Meteor.users” collection. To set what data to load the doc attribute needs an object with a _id property which the currentUser helper has.

How to use Gem CLI commands in Supervisor on Ubuntu

Supervisor is a great unix program that lets you run persistant long-running programs. In general it’s easy to use and DigitalOcean ($5 a month hosting) has a great tutorial on how to set it up here.

I was interested in Supervisor because I wanted to run the mispy/twitter_ebooks repo for building some twitter bots. It gives you a great command line interface for both creating new bots (ebooks new <reponame>) and starting the bots (ebooks start).

For whatever reason you can’t just point Supervisor at a directory and call that command. You’ll need to find where the gem wrapper is located and run the command from there.

First find the path of the executable gem:

which ebooks

For me it was located here: /home/shayden/.rvm/gems/ruby-2.2.2/bin/ebooks

Then we can switch the /bin/ dir to the /wrappers/ dir which is the packaged file you will tell Supervisor to run.

/home/shayden/.rvm/gems/ruby-2.2.2/wrappers/ebooks

In Supervisor the .conf file should now look like this:

[program:ebooks] command=/home/shayden/.rvm/gems/ruby-2.2.2/wrappers/ebooks start directory=/home/shayden/ebooks_bot/ autostart=true autorestart=true stderr_logfile=/var/log/ebooks.err.log stdout_logfile=/var/log/ebooks.out.log

Now Supervisor should have no problems keeping your twitter bots alive and tweeting.

Unity C# – Torque Look Rotation in 2D

Getting one object to look at another object in Unity can be a very math intensive project.  In 3D there is an easy way to do this by use the transform to look at another object with a simple call:

Quaternion.LookRotation(target.position - transform.position)

In 2D Unity doesn’t hold your hand and you have to figure it out yourself. Most look rotation guides for Unity focus on simply modifying the transform even when talking about moving a Ridgedbody with physics.

If you want to use physics on Ridgedbody to add torque to turn toward another object then the unifycommunity wiki has a guide for 3D. With slight modifications we can get this same code working for Ridgedbody2D: