April 30, 2017

Quick GitHub Tutorial

There are tons of great GitHub tutorials out there:


Which are super great, the thing is though, it can be somewhat intimidating and it can get confusing and sometimes you just want to make something do something quick and work from there instead of learning all the things and only then doing something.

So, for the purposes of reminding myself how to do these things as well as helping those who comment that they'd like to get to learning some GitHub but don't know where to start- hopefully this helps!

1. I have a file/folder/project I want to track- what do I do?!!

Calm down. Download git and install. It's not gonna do anything, so don't fret if you don't see a pop-up.

Open your Command Line Interpreter (terminal if osx, powershell if win) and navigate to the folder you want to track with git, here are some tools (type these in the command line to do things):

ls => lists all folders/files your terminal is currently at
cd => changes directory of where your terminal is currently pointed at
cd ~ => goes back (mind the blank space)

*click here for a crash course with the command line

Are you at the folder where your file is? Here's what mine looks like; I'm trying to track this brief list of water pokemon on my desktop: waterPokemon.rtf

Cool, now to begin tracking that file, you first need to initialize git!
Type: git init

Now, we need to add the list of water pokemon to the "Staging Environement". It's just something you need to do. If you try make git register (commit) without first adding, it's just not gonna do it, it needs to track it first!:
Type: git add <fileName>

After typing that, the CLI isn't going to do anything, so get the status on the current directory to see what's up:
Type: git status

You'll notice the file is ready to be committed, so commit it:
Type: git commit -m "super descriptive commit message!" <fileName>

Here's what you should see:

That's it! Now you're playing with power! :)

2. I want it to be on GitHub.com tho!

So you don't just want to track this thing locally? Then make a GitHub account.

On the front page of GitHub.com you should a green "New repository" button, click it:

If not, just go here

Fill out the details on the form and click the green "Create repository" button

After that GitHub.com will give you some options and since we already have a local repo that we just want to "push" into GitHub, copy and paste that option into your CLI:

Check your GitHub.com, your file should now be listed in the new project you created

That's it! Your folder/files whatever it was you were working on, are now on GitHub!

3. Interesting, but I thought GitHub/Git was about version control, not just putting your stuff online!

True true, so then...make a new branch!

Type: git branch <branchname>

It won't look like git did anything but,
Type: git branch <branchname>

This shows you a list the branches on the file you're tracking. The asterisk tells you the current branch you're on (master branch in my case). To switch to that new branch we made:
Type: git checkout <branchname>

Type: git branch

You'll see we're now in your new branch where you can make local edits to that file then push your edits to the remote version on GitHub by making a "Pull Request".

4. What's this whole pull request deal?!!

Well, it's how you push your local repository of a project to the "master" project. So say your friend was working on a file, you downloaded it, made changes to the file, "staged" it, "committed" it, and after you did all that locally, you finally decided to push it to the remote repository where the master is- so push your branch!

I've already saved my changes on the txt file, and staged & committed locally, now I'm just pushing remotely to make the pull request:
Type: git push origin <branchname>

Go to your GitHub and you'll now see an option to create a new Pull Request on the project:

After you make the pull request, the owner of project (you in this case) will be able to review it and merge it to their master copy if they want to:

That's pretty much all there is to it!

Well actually not, there's tons more to this. Many commands and methods approaches to version control on git (which is what makes it super powerful) but, there are way better tutorials out there to get you acquainted with those.

Thanks for reading!

March 1, 2017

Amoeba Colony!

Had a lot of fun with this one. I actually spent most of my weekend trying to figure out how to implement a JComboBox, cause I thought it would be super rad if the user didn't have to type all the things and they could go back and manipulate the amoeba colony numbers but as I went into it I found I'd probably need to implement a while loop which we were instructed to not do right now. Also JComboBoxes are just hard.

I just settled with this rather basic program, tried to keep everything neat and organized cause it's just nice to look at easier to debug if there's something odd going on. That's pretty much it...insert into your favorite compiler and watch it go! Take the class that goes with it!

February 2, 2017

Lottery Game!

Here's another program! This one generates random lottery and fantasy 5 numbers. Getting a hang of the whole "reference variable" and class stuff, I can see how totally useful it's going to be later on, but I guess I just need more practice making this stuff since the whole parameter, constructor thing has got me a bit a confused as to when and how I'd want to use. Made in netbeans!!:

January 6, 2017

Uber Scholarship

Diverted from my 2D platformer a bit after I got the opportunity to submit for this Uber scholarship bootcamp with Ironhack in Miami.

After a series of interviews, they finally brought the top 10% of us into their campus to take a very basic technical test in ruby. They gave a refresher on ruby before the test and then told us to code a FizzBuzz game! FizzBuzz being that great childhood number game to help kids with their math skills.

If you don't know, the "teacher" will point at every kid in the room one at a time, (the rules vary depending on what you're learning) and assign some value to Fizz (like multiples of three) and another to Buzz (like multiples of five) and thus make FizzBuzz multiples of 15!

So, [1, 2, Fizz, 4, Buzz, Fizz, 7, ..., 14, FizzBuzz]

Below is the code for that! Run it in your favorite ruby compiler and watch it go!

December 16, 2016

Basic 2D Platformer

Been a while my friends, took a pretty long break from blogging, but really excited to be back at it. Looking forward to posting experiments in game development here and my general journey in programming.

Here's the first personal project I'm working on (in unity) :

More in the coming weeks, wrapping my head around some discrete math right now (finals!!), but looking to get lots done over the break.

Unreal Explosion Test

Just a quick vfx dev post explaining this effect I made a few months ago:

I first rendered out a fluid simulation from maya onto photoshop (with separate color channels for variance), made my grey-packs in after effects, then set those up in blueprint and did the rest of the fine-tuning inside of cascade.

Definitely a steeper learning curve than just painting flipbooks by hand in photoshop but after you get the hang of it it's definitely quicker and great for naturalistic effects.

December 14, 2016

Career Pivot

Now programming/vfx'ing and tech-art'ing... obligatory: system.out.print("Hello World");