<commit_before>---
layout: post
title: "Tool of the Month - Atom!"
description: "The ongoing monthly series begins and this month we're covering Atom"
author: <NAME>
date: 2016-01-18
twitter_card: summary
header_image: http://tylerramsey.net/assets/201512/atom.jpg
include_math: false
tags:
- troubleshooting
- .NET 3.5
- Windows 10
---

![Atom Text Editor]({{ site.url }}/assets/201512/atom.jpg "Atom Text Editor")
{: style="text-align: center"}

As an excuse to play around with some new development frameworks and tools I'm starting a new ongoing monthly series, Tool of the Month! Each month I'm going to provide a basic overview of a development tool or framework that I've been playing around with including my initial impressions and recommendations. So, with that introduction complete let's get started! This month's tool is [Atom - a hackable text editor](https://atom.io/)!


## What is it?

Atom is a text editor that boasts multi-language support, auto-completion, a package manager, cross-platform support and deep extensibility. Beyond basic syntax highlighting and formatting users can add intellisense, compilation and auto-completion by extending the editor with core and community developed packages that integrate third-party utilities. It runs on [Electron](http://electron.atom.io/) which allows cross-platform applications to be developed with html5, javascript and CSS. This makes it easy to extend and stylize Atom using the web technologies that many people use Atom to work with. It is also completely [open source](https://github.com/atom/atom).

<!-- excerpt -->

## What's good about it?

Full disclosure, I haven't used Atom on any large projects yet so my impressions only go skin deep. That said, I've been using it exclusively while working through some simple react/redux applications along with some existing typescript code and I think there is a lot to like in Atom. For web development specifically I can see it becoming a main contender as my editor of choice for foreseeable future. For being a relatively new product Atom provides a nice set of features.

### The package manager

As a [Sublime](http://www.sublimetext.com/) and [Visual Studio](https://www.visualstudio.com) user I've been spoiled by development tools sporting a well integrated package manager. A package manager coupled with a large, mature repository can allow seamless extensibility to a product and Atom's package manager [apm](https://github.com/atom/apm) delivers well on this account. So far it's been one of the highlights of my experience with Atom so far.

#### APM in Atom
![Atom Package Manger GUI]({{ site.url }}/assets/201512/apm.jpg "Atom Package Manager in Atom")
{: style="text-align: center"}<commit_msg>Few article corrections...<commit_after>---
layout: post
title: "Tool of the Month - Atom!"
description: "The ongoing monthly series begins and this month we're covering Atom"
author: <NAME>
date: 2016-01-18
twitter_card: summary
header_image: http://tylerramsey.net/assets/201512/atom.jpg
include_math: false
tags:
- development
- atom
- editors
- TotM
---

![Atom Text Editor]({{ site.url }}/assets/201512/atom.jpg "Atom Text Editor")
{: style="text-align: center"}

As an excuse to play around with some new development frameworks and tools I'm starting a new ongoing monthly series, Tool of the Month! Each month I'm going to provide a basic overview of a development tool or framework that I've been playing around with including my initial impressions and recommendations. So, with that introduction complete let's get started! This month's tool is [Atom - a hackable text editor](https://atom.io/)!

<!--excerpt-->
<a name="start" />

## What is it?

Atom is a text editor that boasts multi-language support, auto-completion, a package manager, cross-platform support and deep extensibility. Beyond basic syntax highlighting and formatting users can add intellisense, compilation and auto-completion by extending the editor with core and community developed packages that integrate third-party utilities. It runs on [Electron](http://electron.atom.io/) which allows cross-platform applications to be developed with html5, javascript and CSS. This makes it easy to extend and stylize Atom using the web technologies that many people use Atom to work with. It is also completely [open source](https://github.com/atom/atom).

<!-- excerpt -->

## What's good about it?

Full disclosure, I haven't used Atom on any large projects yet so my impressions only go skin deep. That said, I've been using it exclusively while working through some simple react/redux applications along with some existing typescript code and I think there is a lot to like in Atom. For web development specifically I can see it becoming a main contender as my editor of choice for foreseeable future. For being a relatively new product Atom provides a nice set of features.

### The package manager

As a [Sublime](http://www.sublimetext.com/) and [Visual Studio](https://www.visualstudio.com) user I've been spoiled by development tools sporting a well integrated package manager. A package manager coupled with a large, mature repository can allow seamless extensibility to a product and Atom's package manager [apm](https://github.com/atom/apm) delivers well on this account. So far it's been one of the highlights of my experience with Atom so far.

#### APM in Atom
![Atom Package Manger GUI]({{ site.url }}/assets/201512/apm.jpg "Atom Package Manager in Atom")
{: style="text-align: center"}
{'fraction_non_alphanumeric': 0.08007989831124024, 'fraction_numerical': 0.010532050118031596, 'mean_word_length': 4.631901840490798, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 8, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4793732', 'n_tokens_mistral': 1495, 'n_tokens_neox': 1374, 'n_words': 747}