Posts about Learn

Resolving Git Conflicts from the Command Line

September 8, 2016

One of the most challenging yet common activities development teams run into with Git is resolving merge conflicts. This happens when multiple developers are making changes in a repository at the same time.

This post provides a walkthrough of how to get through two typical Git conflict scenarios. To set the scene, Grant and I are two developers working on a simple web page. We’re starting out with two files, index.html and styles.css. Our repository is hosted at GitHub, and in this case we are both working directly on the master branch.


7 Keys to Unlock Your Full Gmail Potential

September 2, 2016

These tips will make you the master of your inbox

Do unread messages make your skin crawl? Does the thought of setting up email filters make you break into a cold sweat? Did accidentally hitting ‘reply all’ send you into a mental tailspin? If you replied ‘YES!’ to any (or maybe all) of the above, you’re not alone.

With nearly 1 billion active users around the world, it’s safe to say that Gmail is one of the most popular email services out there. Google’s email powerhouse is relied upon by businesses, universities and everyday people. What is the reason for such widespread popularity you ask? With a killer mobile app and sensational plugins, features and settings, Gmail allows users to create an inbox experience that is unique to them. But true Gmail masters are few and far between. Such a feat takes years of careful practice, preparation and a borderline obsessive amount of labeling. No matter if you’re looking to become a Gmail deity or just looking to add a little extra productivity to your day, here are a few tips to help you tackle your inbox.


How to Mingle (Not) Like a Five Year Old

July 27, 2016

One of my many roles at Grand Circus was Director of Marketing and Admissions. This meant it was my job to create ways for people to learn more about Grand Circus, our work and ultimately decide if a coding bootcamp was right for them. So about a year and a half ago, I started organizing Open Houses where Grand Circus staff and former students would answer questions, tour people around our space and introduce people to our community.

Here’s the thing that I noticed during these Open Houses: people are awkwardincluding all of my coworkers. Now, I’m not falling into that usual stereotype trap that pigeonholes “techies” as nerds unable to make eye contact or carry on a conversation. No. The coworkers I’m referring to are actually all of our non-technical people.

mingling at a Grand Circus event

Here’s what would happen as people would walk into our space:

“Welcome to Grand Circus! Are you here for the Open House?”
“Uh, yes.”
“Great! We’re so happy you’re here. After you sign in, feel free to grab coffee or tea around the corner and sit wherever you’d like. We’ll start in about 10 minutes.”

This would happen every. Single. Time. So, I decided to do something about this. I created a training for the staff at Grand Circus that we’ve now integrated into all of our bootcamps.

I call it The Chioke Principle. (Hey. I created it. Why can’t I name it after myself? Plus, it helps you remember the steps.) So get ready to learn how to mingle, network and meet some new folks like a boss.


10 Things to Know About the .NET Programming Language

July 22, 2016

If you are considering becoming a .NET developer through our .NET (C#) Development Bootcamp, here are 10 things to know about the language you should know before you embark on our bootcamp:

1. I heard that .NET was only for Windows or PC users. Is that true?

Not anymore! Thanks to .NET Core, a set of tools consisting of the runtime, library and compiler components, you can create apps that run on Windows, Mac OS X and Linux. .NET Core runtime, libraries, and compiler are all open source on GitHub and are taking contributions. (more…)

Front-End Alumni Spotlight: Yasmine Abdulhamid

June 16, 2016

One of my favorite parts about working at Grand Circus is getting to know students as they begin the process of changing careers. As the Director of Learning, I’m lucky enough to get to hang out with all of the students in all of the programs. Getting to know Yasmine was especially exciting for me though, not just because she’s amazing, but because we both share a background in teaching. So when I was given an opportunity to put the spotlight on an alumni, she was my obvious choice!

Yasmine is originally from Farmington Hills, MI and took our Front-End Bootcamp in October of 2015. I’m so excited to share more about her background, her bootcamp experience, and her incredible advice to prospective students.

Grand Circus Alumni Yasmine Adbulhamid


10 Things You Can Build with JavaScript

April 22, 2016

According to a recent survey conducted by Stack Overflow, JavaScript is the most popular language on earth. What is interesting about these survey results, is that even for developers whose primary responsibility is the back-end (server-side code) they are still more likely to research questions about JavaScript than any other language. That’s largely because JavaScript is inescapable. Ask any of our Java or .NET bootcampers and they will tell you that for their final projects they had to get to a basic level of proficiency with JavaScript. This is also true in the working world. Any teams that do not have dedicated front-end developers, have to do it themselves.

build this with javascript

Atwood’s Law states that: “Any application that can be written in JavaScript, will eventually be written in JavaScript.”

Jeff Atwood was making a joke at JavaScript’s expense, but it has turned out to be more true than not. With advances in browser technology and JavaScript having moved into the server with NodeJS, JavaScript is capable of so much more than it was just a few years ago. Here’s a quick run-down of what you can do with JavaScript. Some of it is pretty obvious, other things less so.

10 Things You Can Build with JavaScript


My Top 5 Tools for Building Websites

April 7, 2016

You know that a website is made with HTML, CSS and JavaScript. Maybe you even know how to write in all three of those languages and put them together into a site, but something’s missing. Developers are supposed to be lazy, right? If all you’re using is plain old HTML, CSS and JavaScript to build more than the very simplest of projects, you’re doing too much work. Tools help us use solutions that already exist for common problems every developer faces. They let us strip out a lot of “coding overhead” and get down to the nitty gritty of actually writing our apps.

5 tools for building websites

Five great tools for building websites:


You’re Never Too Obtuse to Learn AngularJS

February 10, 2016

AngularJS is the most popular JavaScript framework currently being used. The only other JavaScript anything that sees more use is JQuery, but JQuery is more of a library. The fact that Angular is so popular means it’s a desirable skill to have on your resume. Bearing that in mind, let’s take a very high-level look at what makes Angular tick and some cool things you can do it you learn AngularJS.

What is AngularJS?

Learn to Code

At its core, Angular is a web application framework. The whole point of a framework is to streamline common tasks to make the whole process go more quickly.

Think of it this way: if you’re building a house (or any building, really), there are certain things you know you’re going to need: a frame, walls, electrical, plumbing. If there were a way to make creating a plumbing infrastructure quicker and easier, every construction company would be lining up to use it for their projects. Application frameworks work similarly. Let’s take a look at each of the major components that streamlines the app-making process in Angular.

Major Components of Angular:

Search Trends of AngularJS


The basic building block of an angular application is the module. A module is any collection of smaller angular components that come together to make up the features of a web app. Some simple web applications can be made up of a single module, but it’s generally good practice to try to break up your code into multiple modules so they can be easily reused.


Angular is a sort of subspecies of MVC framework, which stands for Model-view-controller. MVC is a standardized pattern for web applications. As MVC became more popular, it has morphed into a number of variations. Angular is one such mutation. Angular is most commonly referred to as an MV* or MVVM (Model-view-viewmodel). The reason for the confusion has to do with the fact that Angular doesn’t really have the key elements that go into an MVC. It doesn’t really have models. It has controllers, but they operate quite different from traditional controllers in an MVC. Controllers in Angular are all about interacting with the $scope, which is feature that gives Angular part of its special sauce. In brief, $scope is the part of Angular that allows two-way data binding to happen. What is two-way data binding? Big topic, short answer is: it’s what makes this possible.

JS Bin on

The example seems simple enough, but what’s happening under the hood is that the model and the heading are bound so that when one changes so does the other. When you type in the input box, it changes the model. The heading, which is displaying the model, automatically changes also. Magic! A controller’s primary responsibility is to interact with the view.


Angular services are where the traditional business logic happens. Services are used to interact with external services via AJAX. They are also used for information sharing internal to the application. Controllers cannot share information with one another directly. We can use services as intermediaries. These are often the real workhorses of an Angular application.


Directives in Angular are a way to extend the native HTML. By default, Angular has a number of built-in directives. It’s also possible to create custom directives to further extend the language and functionality of HTML. Directives are a very deep topic. In brief, directives are responsible for DOM manipulation and creating more clarity in the markup itself.


While not a part of the core Angular framework anymore, routing is a major part of many web applications. Routing is what allows a single-page-application to switch between controllers and views dynamically. The advantages of using routes and single-page application really come down to improving the end-user’s experience.  Angular originally shipped with a routing solution that is still available as an add-on.

Angular is a big framework. There’s a lot going on in it. It can be intimidating to step into. Hopefully this overview will help clarify some of the more important pieces you should focus on when learning to use Angular. You can find out more about each of these components by going through an introductory course on angular like this one from Code School. It’s free and a good introduction to some of the concepts we’ve discussed.  Happy learning!


Student Spotlight: Alex Bozinovic

January 14, 2016

Alex took our Intro to Web Development Course Series – Part I, covering HTML & CSS, and Part II, covering JavaScript & JQuery. Get to know Alex and learn what his thoughts on the class!

Man coding with a dog

What keeps you busy during the day?

I work for Quicken Loans on the Marketing Team (specifically the email team) as a Front-End Email Developer. I write the HTML code for all of the emails that we send at QL.

Why’d you take the class in the first place?

I was interested in updating my HTML skills with HTML5 and getting a stronger understanding of Javascript and JQuery to hopefully move into more of a web developer role possibly.

Did you have any experience in coding or programming before?

Yes I did. I began taking Computer Science courses at Wayne State University 3 years ago and got about halfway through the program. I’ve also made WordPress websites for friends and family in the past.

What was the most surprising thing you learned about yourself during the class?

It has been a while since I’ve written higher level code, and working with Javascript surprised me how many general coding “best practices” I retained.

Do you look at technology differently now?

Technology is a little less intimidating now, but on the downside, some of the “magic” was also lost.

What’d you end up building?

I built a website for me to display show dates for my fledgling stand up comedy career. [You can check it out here or a snapshot below.]

A snapshot of Alex's website

Now that you’re done and created a website, any plans to continue?

I want to clean up the site I built in class and make it better, but also I want to start dipping my toes into the pool of becoming a professional web developer.

Have you used your skills since the class ended?

I use the HTML portion of the class daily in my current role with Quicken Loans. I still tinker with Javascript and JQuery in my free time at home.

What are your thoughts on Grand Circus?

Grand Circus is a great low pressure place for people to kick start their careers in IT!

Part 2: Using the Command Line for Beginners

January 11, 2016

You’ve already learned the basics of using the command line for beginners in Part 1. It’s time to get a bit more advanced. Now that we can move around and see where we are in our file system, we can use the file systems to create new files and directories. Personally, this is one set of commands that I find to be much faster than any method of creation offered by the operating system.

Typing into the Command Line

Setting up new directories & files

mkdir <new-directory-name> – This command is short for Make Directory. It may come as no surprise to you that this command creates a new directory. Like cd, mkdir needs an argument to use for the name of the new directory.

CMD-Demo - MKDIR make directory example
touch <new-file-name>
– Similar to mkdir, touch creates a new file. Also similar to mkdir, touch requires an argument to use for the new file’s name, including its suffix.

CMD-Demo - Touch or creating a new file

Terminal Commands

Now we have made files and directories and now we can move freely among them we can actually manipulate them with a new host of terminal commands.

cp <source-file> <destination-file> – The cp command is short for Copy. This command allows a user to make copies of current files. This commands needs two arguments. The first is to designate the file we wish to copy. The second is to name the file that we wish to copy to. That file may not currently exist and that’s okay. Like touch, cp will create the new file then copy the source file’s contents into it.  

CMD-Demo - Copy Filemv <source-file> <renamed-file-or-location> – The mv (Move) command allows for a couple of different applications. Firstly, we can, as the name implies, move a file to another destination. The other, less obvious, usage for this command is to rename files and folders.

CMD-DEMO - MV Source File example

rm <file-or-directory> – Finally if we need to get rid of a file we can use the rm command. Like cd, rm accepts an argument that is the path to the file you want to delete.  

CMD-Demo - RM File or Directoryflags – As if all of this wasn’t enough, each of these commands can be modified through the cunning use of flags. A flag modified or changes the behavior of a command. Flags are applied after the command. For instance, if you use the –l command in conjunction with the ls command, so ls –l, the command still lists all of the directory’s contents, but in list form. Additionally, if we include a a flag with our ls command it will list all files, even hidden ‘dot’ files. We can even combine them to do both!

CMD-Demo - Flags example

That’s a lot! But we’ve barely even had a taste of working with the terminal. Maybe in the future we can look a little deeper at commands like top, more,  and tail. Working with the terminal can be a great skill to become fluent with. Many great software tools are best operated from the command line (see: git). It is my opinion that fluency with the command line is non-negotiable, essential skill for the modern developer. For some other information and practice check out Code Academy’s course on the subject or this e-book called, fittingly, The Command Line Crash Course.