└── README.md
/README.md:
--------------------------------------------------------------------------------
1 | #1. *Tasks*
2 | =================
3 |
4 |
5 | #Initial Sensible [ well, for software developers ] Mac *Defaults*
6 | ———————————————————————————————————————————————————————————————
7 |
8 |
9 | ###Mandatory:
10 |
11 |
12 | ####*[ Make an obligatory code path!! ] !!*
13 |
14 | mkdir ~/code
15 |
16 |
17 |
18 |
19 |
20 | ###Recommended:
21 |
22 | [ Organize your Favorites in the Finder’s sidebar ]
23 |
24 | * [ Apple Guide ](http://support.apple.com/kb/PH10918)
25 | * Organize according to your own current personal tastes*
26 | * *My preference is to sort Finder Favorites in descending order based on the folders I already am or am planning on accessing most frequently
27 |
28 |
29 |
30 |
31 | ####Setting *zsh* as your default shell [Or, “The Radical Beginnings of an Extremely Superior Terminal Experience”]
32 |
33 | * ####[It’s actually quite easy to join the master race! Visit this nice Github repo to see!](https://github.com/robbyrussell/oh-my-zsh)
34 | * [ Here’s a useful site ](http://explainshell.com/) — for *typing in commands and getting back detailed explanations of what they do, for various UNIX shell programs*
35 | * [Slide presentation on the benefits of using zsh over other options](http://www.slideshare.net/jaguardesignstudio/why-zsh-is-cooler-than-your-shell-16194692)
36 |
37 |
38 |
39 |
40 | ###Optional:
41 |
42 |
43 | *[ Show all hidden files — note: this might be annoying for you on the Desktop ]*
44 |
45 | defaults write com.apple.finder AppleShowAllFiles YES
46 |
47 | *[ Disable key press hold/**Enable key press repetition** — note: kkkkkkkkkkkkkeeeeeennnnnyyyyyyyy rockkkkkkkssssssssssssss!!!!! andddddddd so do youuuuuuuu!!!! (it may be annoying to read, but that would have been **really** annoying to type without this keyboard modification) ]*
48 |
49 | defaults write -g ApplePressAndHoldEnabled -bool false
50 |
51 |
52 |
53 |
54 |
55 | ##Setup SSH [ secure, passwordless identification and connection protocol ]
56 | ——————————————————————————————————————————————
57 |
58 | * [ First, *learn about SSH* if you don’t know what it is yet](http://en.wikipedia.org/wiki/Secure_Shell), because chances are you **will** need to use it in *some* way, at *some* point in your development career.
59 | * A common example is [ connecting to Amazon EC2 Servers using the ( free and pre-installed ) command-line program ```ssh``` ](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html)
60 |
61 | ####*[ Make a default path in your *Home* folder to store SSH keys ]*
62 |
63 | mkdir ~/.ssh
64 | cd ~/.ssh
65 |
66 |
67 | #####*[ Create a default local public SSH key pair (of the [ RSA ](http://en.wikipedia.org/wiki/RSA_%28cryptosystem%29) type) ]*
68 |
69 | * Using [ ssh-keygen ](http://en.wikipedia.org/wiki/Ssh-keygen), which comes pre-installed on all Macs
70 | * ``ssh-keygen -t rsa``
71 | > [ Command Explanation — ExplainShell ](http://explainshell.com/explain?cmd=ssh-keygen+-t+rsa)
72 |
73 |
74 | *[ Learn how to use the command line program ```ssh``` and SSH in general ]*
75 |
76 | * Documentation
77 | * Type ``man ssh`` to read the manual within your terminal, *orrrr…*
78 | * ….[ View the manual pages online on Apple’s site ](https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/ssh.1.html)
79 |
80 | * Guides
81 | * [ Quick overview on Tutsplus ](http://code.tutsplus.com/tutorials/ssh-what-and-how--net-25138)
82 | * [ Hey, you! Overachiever! Click me, I’m a much deeper guide!! ](http://www.linuxjournal.com/article/4412?page=0,0)
83 |
84 |
85 |
86 |
87 | #Git Setup
88 |
89 | ###*[ Install Git ]*
90 |
91 | * *Easy Mode*: [ Using Homebrew ](http://brew.sh/)
92 | * run ``brew install git`` in the command line. that’s it.
93 | * *Takes a bit more time Mode*: [ Using native installer package ](http://git-scm.com/download/mac)
94 |
95 | ####*[ Init your Git configuration with some sensible (and open-source) defaults ]*
96 |
97 | run ```curl -O https://raw.githubusercontent.com/nicolashery/mac-dev-setup/master/.gitconfig```
98 |
99 | ####*[ Setup personal Git configuration ]*
100 |
101 | git config --global user.name “Your Name”
102 |
103 | git config --global user.email “youremail@domain.com”
104 |
105 | git config --global credential.helper osxkeychain
106 |
107 | Vim Setup
108 | -
109 | * Defer to [the Vim section in nicolashery’s mac-dev-setup repo](https://github.com/nicolashery/mac-dev-setup#vim) for now*
110 |
111 | Python Setup
112 | -
113 |
114 | *[ Install the recommended package manager ]*
115 |
116 | sudo easy_install pip
117 |
118 | sudo pip install --upgrade distribute
119 |
120 | sudo pip install --upgrade pip
121 |
122 | *[ Install a better interactive Python interpreter console ]*
123 |
124 | sudo pip install ipython[zmq,qtconsole,notebook,test]
125 |
126 | *[ Make path to store virtual environments in ]*
127 | mkdir ~/envs
128 |
129 | *[ Install virtuenv module globally to create virtual Python environments ]*
130 | sudo pip install virtualenv
131 |
132 | Heroku Setup *[ if you’re using Heroku ]*
133 | -
134 | *[ Install the Heroku Toolbelt ]*
135 |
136 | [Found here!!](https://toolbelt.heroku.com/)
137 |
138 | *[ Setup SSH Keys support ]*
139 |
140 | heroku keys:add
141 |
142 |
143 | Java *[Development Environment]* Setup
144 | -
145 |
146 | *[ Install the Java Development Kit (a.k.a. JDK) ]*
147 |
148 | * Type ```java``` in the terminal to check and see if you have **any** form of *JDK* installed
149 | * If you *don’t* have a JDK installed
150 | * OS X will show a pop-up dialog informing you that you need to install a JDK in order to use this ```java``` command-line tool
151 | * It should have a *More Info …* option. Click this to go to the download page for the JDK …. *orrrr*….
152 | * …[ Take this shortcut to the JDK Download page ](http://www.oracle.com/technetwork/java/javase/downloads/index.html) — Valid as of January 15, 2015 ….*ORRRR*….
153 | * …[ Save this shortcut to the JDK v8.25 download link ](http://download.oracle.com/otn-pub/java/jdk/8u25-b17/jdk-8u25-macosx-x64.dmg) — Valid as of January 15, 2015
154 | * If you *do* have a JDK installed, and you **know** it’s the official JDK, but you want to install an **open-source version of the JDK**, see below
155 |
156 | * If you want to use an **open-source** Java Development Kit
157 | * [ Follow these instructions from Oracle themselves on installing OpenJDK, an open-source JDK alternative](https://wikis.oracle.com/display/OpenJDK/Mac+OS+X+Port) …. *orrrr* ….
158 | * …[ check out this Github repository if you prefer to use an installer ](https://github.com/alexkasko/openjdk-unofficial-builds)
159 |
160 | * Run this in the terminal to list the JDK distributions you have installed on your Mac
161 | * ```ls /System/Library/Frameworks/JavaVM.framework/Versions```
162 | * Run either of these in the terminal to check the version of ```java``` your environment is currently using
163 | * `java -version`
164 | * `javac -version`
165 |
166 |
167 |
168 |
169 |
170 | Applications
171 | =
172 |
173 | Security
174 | * [ Hands Off - Free version works fully for a set time period, can re-enable](https://www.oneperiodic.com/products/handsoff/) — [ protect your Mac’s internet and disk access ]
175 | * I prefer this over the more popular and well-known *Little Snitch*, because *Hands Off* also helps protect against file tampering.
176 |
177 | Development
178 |
179 |
180 |
181 | Core
182 | ————
183 |
184 | Terminal
185 |
186 | * [ iTerm 2 ](http://iterm2.com/) — [ lightyears ahead of the default Mac Terminal ]
187 | * [Bonus points: The awesome and easy-on-the-eyes Solarized color schemes](http://ethanschoonover.com/solarized)
188 | * [Old but still relevant OS X terminal customization thread on Arstechnica](http://arstechnica.com/civis/viewtopic.php?t=1215355)
189 |
190 | * [ Homebrew ](http://brew.sh/) — [ install tailored Mac ports of UNIX software ]
191 | * Also install Homebrew Cask to use Homebrew to manage native Mac apps in addition to UNIX ports
192 | * Install with ```brew cask install google-chrome```
193 | * [ Homepage ](http://caskroom.io/)
194 |
195 |
196 |
197 |
198 | Browsers
199 |
200 | * [Firefox Developer Edition [ Beta Firefox geared specifically toward web developers ] ](https://www.mozilla.org/en-US/firefox/developer/)
201 | * Or Chrome Canary, if that’s your style, smh
202 |
203 | Virtualization [or, How to Disgrace Your Mac and Shame Your Family and Friends by Running Operating Systems That Aren’t the OS X Master Race
204 |
205 | * Bootcamp [ for Windows ]
206 | * [Support](http://www.apple.com/support/bootcamp/)
207 | * [Guide](http://manuals.info.apple.com/MANUALS/1000/MA1519/en_US/Boot_Camp_Install-Setup_10.6.pdf)
208 |
209 | * VirtualBox [ for everything else, including GNU/Linux distributions ]
210 | * [Homepage](https://www.virtualbox.org/)
211 | * [Lifehacker Guide: Installing Ubuntu](http://lifehacker.com/5938332/how-to-run-mac-os-x-on-any-windows-pc-using-virtualbox)
212 |
213 | Database Management
214 |
215 | * [ Sequel Pro ](http://www.sequelpro.com/) — [ for SQL, freely available ]
216 |
217 |
218 |
219 | IDEs
220 |
221 | * [ Xcode - Free ](https://developer.apple.com/xcode/) — [ the industry standard IDE for native **iOS** and **Mac** software development ]
222 | * Main languages are **Objective-C** and [ **Swift** ](https://developer.apple.com/swift/)
223 | * Plus good support for C/C++ and more — *[ thanks to Clang/LLVM, the whole toolset now even supports most C++11 and C++14 features ]*
224 | * **Great** Git integration *(though I do still prefer to use the command line [ I do whenever I can ], this is still nice to have )*
225 | * Also [ install the Command Line Tools for extra brownie points ](http://railsapps.github.io/xcode-command-line-tools.html)
226 | * To install, simply run this in your terminal — ```xcode-select --install```
227 | * *I mean, you’ll need them to install many Homebrew packages anyways..Save yourself some frustration by getting it out the way now. :)*
228 | * Registering as an iOS and Mac developer both cost a separate $99/year
229 | * Allows you to publish apps on each respective App Stores
230 | * [ Apple provides free Beta releases for registered developers ](https://developer.apple.com/support/resources/prerelease-software.php)
231 | * This includes betas access for — *[ iOS, OS X, Xcode and Safari ]*
232 | * [ Extend Xcode with Alcatraz, an easily installable (just paste 1 command in the terminal) extension ](http://alcatraz.io/)
233 | * *Built-in* plugin/theme management that fits right into Xcode
234 | * Access in the standard menu — [ Window **->** Package Manager ]
235 | * Shortcut — [ Shift *+* Command *+* 9 ]
236 | * > ****Subjective Opinion:***
As a registered developer who is currently using **Xcode 6.2 beta 4**, I can say that Xcode has *vastly* improved since, say, the dreaded days of **Xcode 4-5**.
It’s grown into quite a respectable IDE that I’ve come to really enjoy working with on a daily basis. It’s especially nice when using **Swift** as your main language. Swift is technically still a beta language, and It has its quirks, but Apple is quickly fixing them, and ***I highly suggest you learn Swift and use it for all new, non-legacy iOS/Mac development. It’s more than developed enough to be production-ready for most apps’ cases, IMHO. It’s only the icing on the cake that it’s exponentially more pleasurable to use and look at, and *much* quicker to develop in, than Objective-C.***
237 |
238 |
239 |
240 | * [ Android Studio - Free, Open-Source ](http://developer.android.com/sdk/index.html) — [ open-source **Android** **Java** IDE ]
241 | * Also, ****Google themselves now recommend using Android Studio for all _modern_ Android development***
242 | * Git *and* Github integration!!
243 | * See Section on Java Development Environment Setup to prepare your Mac for Android Java development
244 |
245 | * > ****Subjective Opinion:***
Haven’t hacked Android in a bit, ****but even when I was using Android Studio in pre-release *it absolutely crapped all over Eclipse.**
246 |
247 |
248 | * [ Sublime Text - Free w/ license bugging ](http://www.sublimetext.com/) — [ code editor for pretty much everything else ]
249 | * Free version gives pretty much *full-featured access to stable versions*, just bugs you to pay for a license after so many amounts of file saves
250 | * Full license gives you access to development versions, *but they honestly aren’t released that often* * Technically, mainly a code editor, **but the massive amount of plugins available for it allow you to easily transform it into a fully-functional custom-tailored IDE**
251 | * *Can code your own plugins in Python*
252 | * Install [Package Control](https://packagecontrol.io/) for plugin discovery and management
253 | * Create a symbolic link to the automatically installed supplementary shell program ```subl``` ….
254 | * ….*which can be used to quickly open Sublime sessions with a folder you’re in inside a terminal*
255 | * ```ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/sublime```
256 | * This creates the link to be called from your command line with ```sublime``` …
257 | ….Rename this word [at the end in the ```ln``` call] to whatever you’d like in order to customize this.
****Subjective Opinion:*** It may be longer, but I prefer to type ```sublime``` instead of ```subl``` purely for the sake of explicitness.
258 | * Quick directions:
259 | * [ Open current directory in Sublime Text ] — ```sublime .```
260 | * [ *Stupid Example:* Opening my code folder in Sublime Text ] — ```subl ~/code```
261 |
262 |
263 |
264 |
265 | ####Homebrew Packages [ All Free ]
266 | ———————————————————
267 |
268 | Core [Or, The Programs Usually Named with 3-4 Letters for some reason]
269 |
270 | * ```git``` [ industry-standard version control system ]
271 | * Is now used all across the software development field
272 | * It is *obligatory and commonly expected* of a modern software developer to know how to use *at least* the basic commands, *so….*
273 | * …[Git gud.](http://www.git-scm.com/book/en/v2) — [official book]
274 | * **Fun Fact: It’s the underlying technology and driving force behind Github** *(which you’re most likely reading this on right now)* ]
275 | * Can be used to manage version control for much more than software
276 | * ***Example:*** The new hotnesses on Github seem to be *”awesome-“* compilations — *[ curated meta-lists of resources for specific topics ]*
277 | * [ A very meta list of “awesome” Github repos ](https://github.com/emijrp/awesome-awesome)
278 | * ``vim --override-system-vi`` [ installs fresher vim release ]
279 | * The ``—-override`` flag does what you might think — [ it overrides the *out of date default* Vim distribution Apple provides with OS X ]
280 |
281 |
282 |
283 | * ``wget`` [ download files from terminal ]
284 | * [Noob’z Guide](http://www.regravity.com/documents/Wget%20%96%20A%20Noob%92s%20guide%20-%20Regravity.com.pdf)
285 | * [Examples](http://ssh-commands.blogspot.com/2013/01/the-ultimate-wget-download-guide-with.html)
286 | * [Manual](http://www.gnu.org/software/wget/manual/wget.html)
287 |
288 | * ``tmux``[ manage terminal sessions ( *a.k.a. [multiplexer](http://linuxcommand.org/lc3_adv_termmux.php) )* ]
289 | * [Quick Start](https://myhumblecorner.wordpress.com/2011/08/30/screen-to-tmux-a-humble-quick-start-guide/)
290 | * [Crash Course](http://robots.thoughtbot.com/a-tmux-crash-course)
291 | - [Noob’z Guide](http://blog.hawkhost.com/2010/06/28/tmux-the-terminal-multiplexer/)
292 | * [Manual](http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man1/tmux.1?query=tmux&sec=1)
293 |
294 |
295 |
296 |
297 | * ``ffmpeg`` [ video processing power house ]
298 | * to add libfaac support, run ``brew reinstall ffmpeg --with-faac``
299 | * ``gifsicle`` [ gif processing power house ]
300 |
301 |
302 |
303 |
304 | * ``cask`` [ manage native Mac app installations/removals in the terminal, through a Homebrew extension ]
305 | * [Homepage](http://caskroom.io/)
306 |
307 |
308 | Python
309 |
310 | * Python Distributions
311 |
312 | * ```python3``` [it’s newer than Python 2]
313 | * ```pypy``` [it’s faster than Python 3]
314 |
315 |
316 |
317 | * Essential Frameworks ````TODO: Move the recommended frameworks/libs to more sensible sections; they don’t belong here! (holy shit I’m tired) — or develop a visual indicator for Homebrew packages so they can be under any heading````
318 | * Web Development
319 | * [Django, a powerhouse web framework](https://www.djangoproject.com/)
320 | * Provides most the bells and whistles and has its own set of rules and ways it thinks things should be done
321 | * Better for fuller feature-set for content-based websites
322 | * More jobs available for it
323 | * Disclaimer: This is the first web framework I truly learned and became proficient in
324 | * *Tons* of freelance projects completed and delivered on time [or, if not, close enough at the very least] using it and, thus, *tons* of money made with it
325 | * Also see my [**old** [ remember this key fact before you laugh at any line of code or bad decision in it; I was like 15 years old and my skillset, practices and general proficiencies as a good engineer have since grown much, much higher in quality ! ] open-source media platform (began as Youtube clone) hosted right here on Github](https://github.com/kennyledet/emp) . It was *my first relatively sizable Django project*, **and** *my first web application project that was more complex than the usual traditionally beginner-friendly blogs, todo lists, one-off script wrappers and Twitter clone implementations in general.* It taught me TONS about web development, and I have the utmost respect for its developers and everyone in the community contributing plugins and learning resources. **HOWEVER**: These days I prefer to use Flask for most tasks.
326 |
327 | * [Flask, a minimalist web framework](http://flask.pocoo.org/docs/0.10/api/)
328 | * My go-to web framework when a specific language isn’t a requirement
329 | * Not even just because Python is my favorite lang *[and even then, Swift is swiftly becoming my new favorite!]*
330 | * Because it objectively sets the bar of how a modern minimalist web framework should look and act
331 | * Provides a nice core API along with an easily extensible architecture;
332 | * [*Many* plugins](https://github.com/humiaozuzu/awesome-flask) that solve most common web development problems are now available for you to pick, choose and freely combine in your application’s architecture, interchangeably *[dat decoupling]*
333 | * Along with [Blueprints](http://flask.pocoo.org/docs/0.10/blueprints/), the extensibility of the plug-in system essentially allows you to ultimately form your own specialized, domain-specific web frameworks, optimized for each of your projects’ specific intents and purposes.
334 | **This is a bit more difficult to pull off in Django (at least at the core level)**
335 | * Better-suited and much quicker for developing APIs and web services
336 | * Easier to deploy
337 |
338 | * GUI Toolkits
339 | * [PyQt](https://wiki.python.org/moin/PyQt)
340 | * Homebrew package: ```pyqt```
341 | * Necessary for building some other Homebrew packages
342 | * [Pyside](http://qt-project.org/wiki/PySide_Binaries_MacOSX)
343 | * I **highly** prefer using Pyside over the original PyQt module for developing GUIs in Python
344 | * More lenient licensing than PyQt policy, **especially important for commercial applications** [ [See comparison](http://www.devilsan.com/blog/choosing-between-pyside-or-pyqt-license-consideration) ]
345 | * They’re mostly interchangeable other than that; [here is a list of more differences](http://qt-project.org/wiki/Differences_Between_PySide_and_PyQt) *(note that PySide is limited to PyQt API 2, if that matters for you)*
346 |
347 | * Automation
348 | * [selenium](http://docs.seleniumhq.org/) [ web testing *(see: automation, scraping)* ]
349 | * If I can get away with only using Python, I love and highly prefer to use [splinter](http://splinter.cobrateam.info/en/latest/) a lot more — especially in my own projects
350 | * Cross-platform, higher-level wrapper around selenium’s core functionality
351 | * It’s lesser-known and, by extension, used less and has much less documentation and online support available for it, **buttttt—**
352 | * It benefits from a *much more respectably Pythonic interface* which helps in making it **simpler to use, more comfortable to learn for experienced Python developers and ``MUCH`` quicker for development** *(think C relative to Python, C being selenium and Python being splinter)*
353 | * selenium and its multi-platform library distributions are still used more often across the industry *(since more people know it, of course)* — *so if you want better chance at jobs involving web testing and/or automation, you’ll still be learning selenium*
354 |
355 | Node.js
356 |
357 | * Node.js Distributions
358 | * ```node``` — [ [node.js, the exponentially popular, asynchronous, event-driven Javascript platform based on Google’s V8 engine *(which is Chrome’s runtime)*](http://nodejs.org/) ]
359 |
360 | * Installing the core ```node``` package also installs [ ```npm```, the default package manager for Node.js](https://www.npmjs.com/)
361 |
362 | * Essential Tooling
363 | * ```nvm``` — [ [Node.js version management script ](https://github.com/creationix/nvm) ]
364 |
365 |
366 |
367 | * Essential Frameworks ````TODO: Move the recommended frameworks/libs to more sensible sections; they don’t belong here!````
368 |
369 | * Web Development
370 | * [Meteor](https://www.meteor.com/)
371 | * I used this when it first came out, before it was the *hot new Javascript framework of the month(s)*, and while it was nice back then too it really has grown up into quite the powerhouse node.js based web framework
372 | * Geared towards real-time web applications
373 | * [Derby](http://derbyjs.com/)
374 | * Similar to Meteor in that it’s meant for real-time apps, but I like Meteor much better ;)
375 | * [Express](http://expressjs.com/)
376 | * Minimalist node.js framework — gets out your way but provides the basics necessary for modern most web applications
377 | * Still in heavy use in the industry
378 |
379 | Ruby
380 |
381 | * Tooling
382 | * ```rbenv``` [virtualenv, but for Ruby]
383 | * [Add ```ruby-build``` as a plugin for compiling/installing different Ruby versions](https://github.com/sstephenson/ruby-build)
384 |
385 | * ```bundler``` [gem manager for ruby]
386 |
387 | * Web Development
388 | * [Ruby on Rails [ industry-standard Ruby webdev powerhouse ] ](http://rubyonrails.org/)
389 | * [Sinatra [ for smaller web apps ] ](http://www.sinatrarb.com/)
390 |
391 | Databases
392 |
393 | * [```mongo``` [ MongoDB: open-source document-based database, the leading [NoSQL](http://www.mongodb.com/nosql-explained) db ] ](http://www.mongodb.org/)
394 |
395 | * [```redis``` [ open-source key-value cache and store (or data structure server) ] ](http://redis.io/)
396 |
397 | * [```postgres``` [ SQL db superior to *MySQL* ] ](http://www.postgresql.org/)
398 |
399 | * [```mysql``` [ inferior SQL db that’s **still** used more than *postgres* for *some* reason *(I blame PHP development)* ] ](http://www.mysql.com/)
400 |
401 |
402 | Misc
403 |
404 | * [```xquartz``` [ open-source Mac port of X.Org X Window System *found on GNU/Linux* ] ](http://xquartz.macosforge.org/landing/)
405 |
406 | * [```zeromq``` [ distributed message queue platform ] ](http://zeromq.org/)
407 |
408 | * [```the_silver_searcher``` [ search files on your drive in the terminal, like ack, but *faster* ] ](https://github.com/ggreer/the_silver_searcher)
409 |
410 |
411 |
412 |
413 |
414 |
415 | General Helpers
416 | -
417 |
418 | * [ ClipMenu 1.0.0a1 alpha - Free ](http://www.clipmenu.com/blog/2014/11/11/clipmenu-1-0-0a1-released/) — [ awesome clipboard management tool ]
419 | * Access extensive clipboard history
420 | * Image and code previews ( *code previews have syntax highlighting* )
421 | * [ Caffeine - Free ](https://itunes.apple.com/us/app/caffeine/id411246225) — [ keeps your Mac awake ]
422 | * Unobtrusive; simply sits in menubar
423 | * [ Flux - Free ](https://justgetflux.com/) — [ changes screen warmth based on the time of day ]
424 | * [Helps you sleep by making your screen *not* mimick the sun](https://justgetflux.com/research.html)
425 | * [ Bartender - Paid w/ free trial ](http://www.macbartender.com/) — [ Organizes menubar app icons (*can hide them for cleaner look*) ]
426 |
427 |
428 |
429 |
430 |
431 |
432 | Productivity
433 | -
434 |
435 | * **General**
436 | * [ Alfred - Free w/ paid upgrade ](http://www.alfredapp.com/) — [ swiss army knife style Mac productivity shortcut **beast** ]
437 | * [ Paid “Powerpack” upgrade ](http://www.alfredapp.com/powerpack/) provides even more features and extensions named *“Workflows”*
438 | * [ Official Alfred Workflows Overview](http://support.alfredapp.com/workflows)
439 | * [ Can create and share your own Workflows!! ](http://support.alfredapp.com/workflows#creating-first)
440 | * Workflow Collections
441 | * [ zenorocha/alfred-workflows Github repo](https://github.com/zenorocha/alfred-workflows)
442 | * [ willfarrell/alfred-workflows (for developers) Github repo ](https://github.com/willfarrell/alfred-workflows)
443 |
444 | * > ****Subjective Note***: I mainly just use it for quickly emptying the Trash since Yosemite brought a Spotlight pop-up that can search files and the web in much the same way Alfred does, but natively*
445 |
446 |
447 | * **Mail**
448 | * [ Mailbox - Free ](http://www.mailboxapp.com/) — [ awesomely productive Gmail management ]
449 | * Can sort your mail for you in smart and actually useful ways
450 | * > ****Subjective Opinion***: Could really use support for more than just Gmail*
451 |
452 |
453 |
454 |
455 | * **Cloud Notes**
456 | * [ Simplenote - Free](https://itunes.apple.com/us/app/simplenote/id692867256?mt=12) — [ Like the name says, it’s simple (much more-so than Evernote) ]
457 | * [ Evernote - Free w/ premium subscription ](https://evernote.com/) — Cloud notes powerhouse
458 | * Supports tons of media options and scanning from app
459 | * More widely supported and integrated into 3rd party applications, if that matters to you
460 |
461 |
462 |
463 |
464 | * **Markdown Editors**
465 | * [ Markdown - Free ](https://itunes.apple.com/us/app/id727484953) — [ free Markdown editor with live preview pane ]
466 | * [ Mou Beta - Free ](http://25.io/mou/) — [ like above, is a bit better *when it actually works and isn’t crashing* ]
467 |
468 |
469 |
470 |
471 | * **Password Managers**
472 |
473 | * [ 1Password - Free w/ paid desktop licenses](https://agilebits.com/onepassword) — [ beautiful and functional cross-platform password management (including iOS), if you’re into that sort of thing ]
474 | * [ Lastpass ](https://lastpass.com/misc_download2.php) — [ password manager with apps and extensions for most platforms ]
475 | * > Lastpass works, but less attractively so than 1Password. I’m still using it alongside 1Password for purely legacy reasons, though I do plan on transferring all my logins to *1Password*
476 | * Has mobile apps, **but you gotta pay for a premium subscription ($11.99 / year) to use them**
477 |
478 |
479 |
480 |
481 | * **Ambient Noise** *[ for when you want to listen to something other than music while programming ]*
482 | * [ Sleep Pillow - Free ](https://itunes.apple.com/us/app/sleep-pillow/id597419160?mt=12) — [ nice presets ]
483 | * [ Relax Melodies - Free w/ IAP](http://www.ipnossoft.com/app/relax-melodies/) — [ more customizable ]
484 |
485 |
486 |
487 |
488 | * **Misc**
489 | * [ CheatSheet - Free ]() — [quick shortcut to pull up guide of *all* shortcuts along with their associated keyboard combinations
490 | * Works for *any* Mac app you have open
491 |
492 |
493 |
494 |
495 |
496 |
497 | Entertainment and Media Content
498 | -
499 |
500 | * **Music**
501 | * [ Spotify - Free w/ premium subscriptions ](https://www.spotify.com/us/) — [ awesome streaming music player ]
502 | * **HUGE** catalog, radio features, playlists and tons of plugins for Desktop *(called apps)*
503 | * *Now has a neat built-in remote feature for controlling the Desktop apps from the Mobile apps*
504 | * > ****Protip:*** *“Save” feature* [ free for all users ] can technically be used to organize a cloud-based iTunes-like library
505 | * > ****Protip:** Download feature* [ requires a Premium subscription ($9.99 / month) ] can be used for **actually saving** songs to local drive, on both Desktop and Mobile
506 |
507 | * **Videos**
508 | * [ MplayerX - Free ](http://mplayerx.org/) — [ top-notch video player ]
509 | * Can play most **any** type of video file you can throw at it (hasn’t failed me yet!!)
510 | * Faster *and* more aesthetically pleasing than *VLC*
511 |
512 |
513 |
514 |
515 |
516 |
517 |
518 | Connectivity
519 | -
520 |
521 | * [ Transmission - Free (just asks for donations) ](https://www.transmissionbt.com/) — [ top-notch torrent downloader ]
522 | * [ Colloquy - Free ](http://colloquy.info/) — [ for chatting on IRC ]
523 | * [ Cyberduck - Free ](https://cyberduck.io/) — [ connectivity powerhouse for *everything else* ]
524 | * Supports *FTP/SFTP, WebDAV, Amazon S3, Google Cloud Storage and Rackspace Cloud Files*
525 | * [ VPNReactor - Pro and Free (Limited) Options](https://www.vpnreactor.com/) — [ Virtual Private Network with native Mac app ]
526 | * Browse the internet securely and safely with a private IP address.
527 |
528 |
529 |
530 |
531 | Maintenence Tools
532 | -
533 |
534 | * [ Appcleaner - Free ](http://www.freemacsoft.net/appcleaner/) — [ remove *ALL* **(well, usually it’s *most*)** core files associated with a Mac Application, not just the .app file ]
535 | * [ Onyx - Free ](http://www.titanium.free.fr/onyx.html) — [ Mac maintenance power house ]
536 | * It seriously kicks extensive ass, get it
537 | * [ The Unarchiver - Free ](http://wakaba.c3.cx/s/apps/unarchiver.html) — [ unarchives compressed files + support for tons more extensions than the native OS X solution ]
538 | * [ Disk Inventory X - Free ](http://www.derlien.com/) — [ nice tool to visualize how your Mac’s storage is being used, file by file ]
539 |
540 |
541 |
542 |
543 | *[ Office / Home ]* Content Production
544 | -
545 |
546 | Apple
547 |
548 | * [ Keynote - $19.99 ](https://itunes.apple.com/us/app/keynote/id409183694?mt=12) — [ better than *Microsoft’s PowerPoint* for making presentations ]
549 | * [ Pages - $19.99 ](http://www.apple.com/mac/pages/) — [ better than *Microsoft’s Word* for **some** word processing *(like cool and stylish flyers and resumes)* ]
550 |
551 | * [ Logic Pro X / Garageband - $199.99 ](https://itunes.apple.com/us/app/logic-pro-x/id634148309?mt%3D12) — [ professional and amateur *DAWS(Digital Audio Workstations)*, respectably, for producing music on Apple platforms ]
552 |
553 |
554 |
555 |
556 | Microsoft - $99.99
557 |
558 | * Word [ better than *Apple’s Pages* for **most** word processing ]
559 | * Excel [ better than *Apple’s Numbers* for processing spreadsheets ]
560 |
561 |
562 |
563 |
564 | Other Companies (yes, they’re still relevant in this space)
565 |
566 | * [ Ableton Live - $79.99 - $599 ](https://www.ableton.com/en/shop/) — [ professional music production tool with features for live performances, loved by a lot of Electronic producers ]
567 | * [ Extension Packs ](https://www.ableton.com/en/packs/)
568 |
569 |
570 |
571 |
572 | Design-Specific
573 |
574 | * [ Sketch - $99.99 w/ free trial ](http://bohemiancoding.com/sketch/) — [ hot new vector tool ]
575 | * Heavily used in the *iOS and Android app design communities* nowadays
576 | * [ Photoshop CC - Fucking Subscriptions ](http://www.adobe.com/products/photoshop.html) — [ industry standard bitmap-based design & editing tool ]
577 | * [ Pixelmator - $29.99 ](http://www.pixelmator.com/) — [ cheaper version of *Photoshop*, **with a one-time payment..** ]
578 | * [ Paintbrush - Free](http://paintbrush.sourceforge.net/) — [ Mac equivalent for *Microsoft Paint* and spiritual successor to *Apple’s own MacPaint* ]
579 | * [ Paintcode 2 - $99.99 ](http://www.paintcodeapp.com/) — [ for designing graphic elements translatable into **code for Apple’s platforms** ]
580 |
581 |
582 |
583 |
584 | Browser Plugins
585 | =
586 | * [ Microsoft Silverlight - Free ](http://www.microsoft.com/silverlight/) — [ used for watching Netflix ]
587 |
588 | * [ Adobe Flash - Free, at the cost of hogging your processor and battery power](http://get.adobe.com/flashplayer/) — [ if absolutely necessary..ugh ]
589 |
590 |
591 |
592 |
593 | Misc
594 | =
595 | * [ Mactracker - Free ](https://itunes.apple.com/us/app/mactracker/id311421597?mt=8) — [ a neat library-like application for exploring the entire catalog of Apple product releases throughout history up to the current iterations ]
596 | * ***Very** nice to have for die-hard Apple fanboys(or girls!) such as myself :)*
597 |
598 |
599 |
600 |
601 | Gaming [Or, SHIT I really should get back to work!!]
602 | =
603 |
604 | * **Bookmark [the Humble Bundle homepage](https://www.humblebundle.com/) and check back frequently**
605 | * [ They regularly add great new deals on games to their Store ](https://www.humblebundle.com/store) — *for [Windows, Mac, and Mobile]*
606 | * They also release a [ **weekly** bundle ](https://www.humblebundle.com/weekly), as well as a *less frequent, but usually better bundle [ The “Main” Humble Bundle ] on the homepage*
607 | * Proceeds go to different charities!
608 | * **Choose what you want to pay; *but you have to pay a minimum of $1 to receive Steam keys* **
609 |
610 | Platforms
611 |
612 | * [ Steam - Free platform, Free and Paid games ](http://store.steampowered.com/) — [ like the App Store for Mac games, plus social/community features and achievements (ok, ok, *so it’s more like Xbox Live for Mac*) ]
613 |
614 | * [ OpenEmu - Free ](http://openemu.org/) — [ bomb ass, open source, extensive collection of emulators for every *relevant* past-gen gaming platform, wrapped up in one nice Mac application ]
615 |
616 | * **I’ve been supporting them since near day one, and the initial devs are a great group of engineers. [ Check out the Github repo! ](https://github.com/OpenEmu/OpenEmu)**
617 |
618 |
619 |
620 | Games
621 |
622 | * [ League of Legends - Free to play w/ IAP ](http://na.leagueoflegends.com/) — [ most popular MOBA out, [ now has native Mac client ](https://signup.leagueoflegends.com/en/signup/redownload) ]
623 | * Extremely fun, rewarding and addicting time-waster
624 | * **Add me:** KennyTheHitman93
625 |
626 | * [ Hearthstone - Free to play w/ IAP ](http://us.battle.net/hearthstone/en/) — [ popular trading card game based in Warcraft universe ]
627 | * I’ve downloaded it, and plan on playing it, but I’m much too busy right now to give my actual opinion. Everyone says it is a must-have so I’m still listing it here
628 |
629 |
630 |
--------------------------------------------------------------------------------