<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Thieves Like Us]]></title><description><![CDATA[Opinions and code. But mostly opinions.]]></description><link>http://brianmajewski.com/</link><generator>Ghost 0.6</generator><lastBuildDate>Wed, 08 Apr 2026 11:42:31 GMT</lastBuildDate><atom:link href="http://brianmajewski.com/tag/mac/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[(Re)Learning Backbone Part 2]]></title><description><![CDATA[<blockquote>
  <p>Opinions are like birthdays: everyone has one and I heard about yours on Facebook.</p>
</blockquote>

<p><strong>Tool Sets and Libraries</strong></p>

<p>This is easily the most opinionated part of this process. I am always open to code changes; hearing the viewpoints of other developers who may have more experience or a different perspective</p>]]></description><link>http://brianmajewski.com/2015/02/13/relearning-backbone-part-2/</link><guid isPermaLink="false">7625c66a-c76c-42cd-9b86-2f382fbdbb44</guid><category><![CDATA[backbone]]></category><category><![CDATA[javascript]]></category><category><![CDATA[intellij]]></category><category><![CDATA[mongodb]]></category><category><![CDATA[node]]></category><category><![CDATA[brew]]></category><category><![CDATA[mac]]></category><dc:creator><![CDATA[Brian Majewski]]></dc:creator><pubDate>Fri, 13 Feb 2015 16:36:57 GMT</pubDate><media:content url="http://brianmajewski.com/content/images/2015/02/construction408661.jpg" medium="image"/><content:encoded><![CDATA[<blockquote>
  <img src="http://brianmajewski.com/content/images/2015/02/construction408661.jpg" alt="(Re)Learning Backbone Part 2"><p>Opinions are like birthdays: everyone has one and I heard about yours on Facebook.</p>
</blockquote>

<p><strong>Tool Sets and Libraries</strong></p>

<p>This is easily the most opinionated part of this process. I am always open to code changes; hearing the viewpoints of other developers who may have more experience or a different perspective often lead me to change my code. We call it <em>software</em> for a reason. It should be malleable. It should adapt. When it comes to my tools, however, that's a different story.</p>

<p><strong>OS - Mac OS X</strong></p>

<p>Let's get the holy war out of the way. If you use Windows, more power to you. You must like the extra challenges of playing on <em>Expert</em> mode. For me, there are three key reasons I develop on the Mac.</p>

<dl>  
<dt>Environment</dt>  
<dd>Most every environment I am going to deploy to is a *nix variant. Having a BASH (or similar) shell integrated into the OS allows me to create workflows that work everywhere I do.</dd>  
<dt>The Cool Kids Use It</dt>  
<dd>Most of the developers and designers that I read and learn from are using it. This isn't simply a case of "me too!" This is a case where I want zero impediments in my way of completing my task. If they recommend a tool or a library or even some non-web-dev related utility, I'd rather be able to copy them than go searching for an equivalent.</dd>  
<dt>Comfort</dt>  
<dd>I've worked on Apple hardware since the Apple][ days. It just makes more sense to me.</dd>  
</dl>

<p>So, yeah, use Windows if you want. Good luck with that.</p>

<p><strong>IDE - Jetbrains IntelliJ IDEA (or Webstorm)</strong></p>

<p>I'm maybe a little bit more flexible on this issue, but not by much. As a professional developer who works with a number of different languages and technologies, having a tool that works across all of them is something I find is worth my investment in time and money. I've been using it since Version 1 when I met the original developers at a conference in Prague. It has been my <a href="https://www.jetbrains.com/idea/">IDE of choice</a> ever since. Any good text editor like <a href="http://www.sublimetext.com/">Sublime</a> or <a href="https://atom.io/">Atom</a> can be a useful tool with the right setup and plugins. IDEA mostly works out of the box with deep support for things like Node, Angular, Grunt, and the like.</p>

<p><strong>Brew</strong></p>

<p><a href="http://brew.sh/">Brew</a> is "The missing package manager for OS X" and allows you to install and maintain the tools used to develop and build. Get it. Install it. If you like GUIs, get <a href="https://www.cakebrew.com/">Cakebrew</a>.</p>

<p><strong>Node</strong></p>

<p>We're going to use <a href="http://nodejs.org/">Node</a> to stand up a web server to serve our REST endpoints and access the database. <strong>DO NOT</strong> simply go to the website, download the package and install it. You'll end up in a world of hurt, having to run everything as <em>sudo</em>. Use Brew (see above). <code>$ brew install node</code>  Should we switch over to <a href="https://iojs.org/en/index.html">io.js</a>? Maybe? This is one of those rat holes I wanted to avoid with this project. Investigating io.js is an endeavor for another day.</p>

<p><strong>MongoDB</strong></p>

<p>Is <a href="http://www.mongodb.org/">MongoDB</a> the right database for your application? Who knows? For this project, we want a simple document datastore that has some easy integration with javascript. We could serve up JSON files instead of hitting a datastore, but that doesn't meet the requirements of having a fully functional application from soup to nuts to build off. We can always swap it out for another technology. Again, use Brew to install it.</p>

<p><strong>Next Steps</strong></p>

<p>At this point, we have the makings for a web server that can serve up data. Well, we have the tools anyways. In the next installment, we'll create a project structure and web server we'll use throughout the project.</p>]]></content:encoded></item></channel></rss>