Flatiron School Logo

Flatiron School, Online Software Engineering Bootcamp – Day 0

Today the Flatiron School Online Software Engineer track opened up and the 10 month journey to become a software engineer is finally starting.

Up until this point I have been working to complete the Web Development Fundamentals track, which is a preparatory course for the actual software engineering program. Some of the preparatory track actually carries over into the Software Engineer track, so this week looks like it will be review with a few new quizzes and a couple of labs.

Software Engineering Track, Week 1
Software Engineering Track, Week 1

Environment Setup

I bought a desk mount from Amazon so I could have three monitors to work off of. So far, during the prep. work at least, I have enjoyed being able to have VS Code on one screen, Chrome on another and Slack on the third.

Workspace Setup
Workspace Setup (click to enlarge)

I chose to transition to a local development environment when I was about 1/3 of the way through the prep. work. If you are still using the Learn IDE I would recommend that you switch. Flatiron has a good setup guide available that walks you through the entire process.

The only issue I encountered while setting up the local environment was this error that popped up some time during the process:

objc[81924]: +[__NSPlaceholderDictionary initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.

or this one:

objc[1942]: +[__NSPlaceholderDictionary initialize] may have been in progress in another thread when fork()was called.
objc[1942]: +[__NSPlaceholderDictionary initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process.Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.

After a bit of Googling, I found this article that talked about my exact issue and provided a solution. The cause seems to be the newly released Mojave OS, which did not work perfect with the current Learn setup. I think the Flatiron team is aware, so it may or may not be an issue for you when setting up your environment.

If you encounter this error, you can add the code below to your .bash_profile located in your home directory to fix the issue.

export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES

  1. Open your terminal
  2. Navigate to your home directory by typing cd ~
  3. Open .bash_profile in an editor (code for VS Code, atom for Atom, vim, etc.) code .bash_profile
  4. Copy and paste in export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES in your file (be sure it is above the RVM section at the bottom of the file!)
  5. Save the file and quit all editor and terminal sessions.
  6. Reopen your editor and everything should now work normally.

Your .bash_profile should look something like this:

Bash Profile Fix
Bash Profile Fix (click to enlarge)

One thought on “Flatiron School, Online Software Engineering Bootcamp – Day 0”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.