Skip to content

Commit 5caf09b

Browse files
committed
blog images
1 parent 0b8949e commit 5caf09b

12 files changed

+58
-27
lines changed

_includes/blog/head.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,5 @@
2929
<script async src="/js/jquery-1.11.0.js"></script>
3030
<script async src="https://cdn.ampproject.org/v0.js"></script>
3131
<script async src="/js/bootstrap.min.js"></script>
32+
<script async src="/js/png2gif.min.js"></script>
3233
</head>

_posts/blog/2016-03-15-better-coding-education.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
---
22
layout: post
3-
title: Better Coding < Education />
3+
title: Better Coding <Education />
44
categories:
55
- blog
66
---
77

8-
The road to better coding education becomes less bumpy each year; but the speed limit hasn't changed much. Online education schools such as *Codecademy* & *CodeSchool* provide an effective and efficient learning experience often referred to as **interactive learning**:
8+
The road to better coding education becomes less bumpy each year; but the speed limit hasn't changed much. Online education schools such as *Codecademy* & *CodeSchool* provide an effective and efficient learning experience often referred to as **interactive learning**. Students take on a more hands on role, essentially teaching themselves. Interactive learning often involves:
99

10-
* step by step tasks
1110
* quick feedback on success and failures
11+
* step by step goals and instructions
1212
* helpful hints
1313
* gamification
1414

1515
Interactive learning doesn't replace the classroom. Most beginner Bootcamp’s actually make *Codecademy* a large part of the curriculum, with teachers on hand to help. That's right, students are paying for Bootcamps like Galvanize where students do free online courses. Interactive learning doesn't replace teachers - it empowers them.
1616

1717
But sites like *Codecademy* leave room for improvement. How so? They could:
1818

19-
- Accelerate Content Development
20-
- Make Tutorials Improvable
19+
- Accelerate content development
20+
- Make tutorials that get better with time
2121
- Move from the browser to offline
22-
- Lower the cost
22+
- Eliminate costs
2323

2424
I've created a free service, [*CodeRoad*](https://coderoad.github.io), which I believe offers several improvements over what's out there. I think it's pretty awesome, and I hope you will, too.
2525

@@ -47,41 +47,41 @@ There are no restrictions on:
4747

4848
##### 1. The number of creators or contributors
4949

50-
As any open-source project, there can be any number of creators or contributors. In fact, a state-wide high school curriculum could be developed in tandem by it's many coding teachers.
50+
As any open-source project, there can be any number of creators or contributors. In fact, a state-wide high school curriculum could be developed in tandem by its many coding teachers.
5151

5252
##### 2. The programming language
5353

5454
*CodeRoad* can make tutorials for any number of programming languages, provided the language has an available testing framework. Just create a new [test runner](https://coderoad.github.io/docs/#test-runner), which gets called through a command-line process behind the scenes.
5555

5656
##### 3. The size of your project
5757

58-
Since *CodeRoad* runs in the Atom editor, it can be used to teach users how to create large projects. How large? Consider the kind of projects that go beyond what would crash a browser-based editor.
58+
Since *CodeRoad* runs in the Atom editor, it can be used to teach users how to create large projects. How large? Consider the kind of projects that go beyond what would crash a browser-based editor. Hypothetically, you could create a year long course tracing students through the step by step creation of entire sites or applications, such as the creation of a search engine or social networking platform.
5959

6060

6161
## Improving Tutorials
6262

63-
Video & most interactive tutorials face the same issue: they are static.
63+
Video & most interactive tutorials face the same issue: the cost of change is too high. They often remain static.
6464

6565
> Most online learning content becomes a snapshot in time of a dynamic and evolving system of technologies.
6666
67-
These lessons don’t take pull requests or issues; they don’t update with software or APIs. It's hard to fix errors or add updates or changes. Courses should get better with time.
67+
These lessons don’t take pull requests or issues; they don’t update with software or APIs. They rarely fix errors or add updates, instead choosing to completing redo courses for the next release. Courses need to iterate to get better with time.
6868

6969
##### 1. Versioned tutorials
7070

7171
CodeRoad tutorials are version controlled, with new versions published to NPM.
7272

7373
##### 2. Issues & Pull Requests
7474

75-
Open source software works on a spirit of collaboration. See a problem, post an **issue**. Want to fix something? Submit a **pull request**.
75+
Open-source software works on a spirit of collaboration. See a problem, post an **issue**. Want to fix something? Submit a **pull request**.
7676

7777
##### 3. Student edits & issues
7878

79-
*CodeRoad* provides optional one-click access for students post issues or submit reviewable edits. After all, they better learn about git somewhere.
79+
*CodeRoad* provides optional one-click access for students to post issues or submit reviewable edits. After all, they better learn about git somewhere.
8080

8181

8282
## Moving Tutorials Offline
8383

84-
During the weekend of March 4-6th, *CodeSchool* generously offered it’s courses for free. Unfortunately, increased demand led to peak time network issues & slow performance.
84+
During the weekend of March 4-6th, *CodeSchool* generously offered it’s courses for free. Unfortunately, increased demand led to peak-time network issues & slower performance.
8585

8686
Putting tutorials online not only increases server costs, but also creates unnecessary issues. *CodeRoad*, on the other hand, downloads tutorials in their entirety and runs them locally on your computer.
8787

@@ -103,9 +103,9 @@ Even when I taught coding in South Korea, internet connectivity on campus was an
103103

104104
At the end of the day, online education companies have to pay the bills. There are server costs, salaries, investors, etc.
105105

106-
*CodeRoad*'s only cost is my time. It is hosted on Github & distributed via NPM. The editor and tutorial building tools are open-source and will remain free.
106+
*CodeRoad* is hosted on Github & distributed via NPM. The editor and tutorial building tools are open-source and will remain free. Any tutorials built are the work of the creators.
107107

108-
Any tutorials built are the work of the creators. If the project becomes popular, I'll create a marketplace for tutorial creators who wish to charge for their efforts. However, if there isn't much interest, I'll just have to get a real job.
108+
If *CodeRoad* becomes popular, I'll create a marketplace for tutorial creators who can charge whatever they'd like for their efforts.
109109

110110
---
111111

@@ -115,4 +115,4 @@ I developed *CodeRoad* out of a love for online education that inspired me not j
115115

116116
*CodeRoad* doesn't aim to compete with *Codecademy* or *CodeSchool*, but rather to supplement their great lessons with a greater variety of interactive content.
117117

118-
There is a long road ahead.
118+
We know how people learn best. Interactive learning is not just more fun - its a better use of student time with better results. Coding education can get better. There is a long road ahead.

_posts/blog/2016-03-15-building-atom-plugins-with-react.md

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Outline
1+
# The Future of Editor Plugins
22

33
Ask a coder where he or she works, and you'll hear a variety of answers: at home, a coffeeshop, in an office. The reality: location isn't important, programmers work in an editor. You can customize your editor just as you might customize your workspace.
44

@@ -10,15 +10,31 @@ What if you could use modern javascript tools & frameworks to create plugins and
1010

1111
There is a lot of untapped potential in the area of plugin development. A lot of this is due to the learning curve involved in creating a plugin.
1212

13-
Let's look at some interesting UI dependent plugins in Atom:
13+
## UI Plugins
14+
15+
Let's look at some interesting plugins that rethink UI in Atom:
1416

15-
* [Regex Railroad Diagram](https://atom.io/packages/regex-railroad-diagram) - regex visualizer
1617
* [Color Picker](https://atom.io/packages/color-picker) - select Hex colors
18+
19+
![Color Picker plugin](/img/blog/gif/color-picker.png){: .gif}
20+
21+
* [Regex Railroad Diagram](https://atom.io/packages/regex-railroad-diagram) - regex visualizer
22+
23+
![Regex Railroad plugin](/img/blog/gif/regex-railroad.png)
24+
1725
* [Git Time Machine](https://atom.io/packages/git-time-machine) - visualize your Git history
26+
27+
![Git Time Machine plugin](/img/blog/gif/git-time-machine.png){: gif}
28+
1829
* [Floobits](https://atom.io/packages/floobits) - video chat in Atom
19-
* [IMDone](https://atom.io/packages/imdone-atom) - Trello style TODO lists
2030

21-
What kind of renaissance might happen when simple & modern UI comes to Atom? Here's to the future.
31+
![Floobits screen share plugin](/img/blog/gif/floo-bits){: gif}
32+
33+
34+
> What kind of renaissance might happen when simple & modern UI comes to Atom?
35+
36+
You can build Atom plugins using *React*, *Angular 2*, or your favorite UI framework. But first you have to understand Atom.
37+
2238

2339
## Fixing Some Atom Misconceptions
2440

@@ -28,21 +44,21 @@ Atom utilizes [Electron](https://github.com/atom/electron), a cross-platform des
2844

2945
Recognize the dev tools in the image above? Yes, Electron is built on top of Chromium using Chrome's V8 Engine. In other words, you can check Atom's ES2015 support by finding:
3046

31-
* [Atom's Electron version](https://github.com/atom/atom/blob/master/package.json) (currently 0.36.8)
32-
* [Electron's Chrome version](https://github.com/atom/electron/releases/tag/v0.36.0) (currently Chrome 47)
47+
* [Atom's Electron version](https://github.com/atom/atom/blob/master/package.json) (0.36.8)
48+
* [Electron's Chrome version](https://github.com/atom/electron/releases/tag/v0.36.0) (Chrome 47)
3349
* [Chrome's ES2015 support](https://kangax.github.io/compat-table/es6/#chrome47) (65% ES2015 coverage)
3450

3551
Short answer: you'll be targeting ES5 for a while.
3652

3753
#### X You must use CoffeeScript. X
38-
Internally Atom source code, documentation and most plugins are written in CoffeeScript. Not a fan of CoffeeScript? Well, CoffeeScript isn't necessary to hack Atom, only a good understanding of how `.coffee` and `.cson` files compile to JS.
54+
Internally Atom source code, documentation and most plugins are written in CoffeeScript. Not a fan of CoffeeScript? Well, CoffeeScript isn't necessary to hack Atom, but you will require a good understanding of how `.coffee` and `.cson` files compile to JS.
3955

40-
I'd recommend learning the basics from the [CoffeeScript Guide](http://coffeescript.org/) combined with using an online transpiler like [js2.coffee](http://js2.coffee/)). Personally, I transpile my code from TypeScript, but there are plenty of options.
56+
I'd recommend learning the basics from the [CoffeeScript Guide](http://coffeescript.org/) combined with using an online transpiler like [js2.coffee](http://js2.coffee/)). Personally, I transpile my code from TypeScript; Atom allows for a lot of JS options.
4157

4258
#### X Atom is built with React. X
43-
Although there was an experimental effort to [move atom to React](http://blog.atom.io/2014/07/02/moving-atom-to-react.html) back in 2014, [performance concerns](https://github.com/atom/atom/pull/5624) lead to removing React.
59+
Although there was an experimental effort to [move atom to React](http://blog.atom.io/2014/07/02/moving-atom-to-react.html) back in 2014, [performance concerns](https://github.com/atom/atom/pull/5624) lead to React's removal.
4460

45-
The framework of choice for Atom continues to be an [older version of Space-Pen](https://github.com/atom-archive/space-pen/tree/3.x). I suppose if it ain't broke, don't fix it. Don't worry, you can opt in or out of using space-pen for your plugins.
61+
The framework of choice for Atom continues to be an [older version of *Space-Pen*](https://github.com/atom-archive/space-pen/tree/3.x). I suppose if it ain't broke, don't fix it. Again, don't worry, you can opt in or out of using *Space-Pen* 3.x for your plugins.
4662

4763

4864
## Creating Packages
@@ -54,6 +70,8 @@ Atom provides fairly comprehensive resources including a [Flight Manual](https:/
5470
##### The bad news:
5571
None of these examples, and only a small fraction of these packages utilize more modern web tools or frameworks.
5672

73+
### Boilerplate
74+
5775

5876

5977
## Separating concerns

img/blog/gif/color-picker.gif

1.87 MB
Loading

img/blog/gif/color-picker.png

9.9 KB
Loading

img/blog/gif/floo-bits.gif

2.83 MB
Loading

img/blog/gif/floo-bits.png

48.1 KB
Loading

img/blog/gif/git-time-machine.gif

1.81 MB
Loading

img/blog/gif/git-time-machine.png

45.9 KB
Loading

img/blog/gif/regex-railroad.png

84.4 KB
Loading

0 commit comments

Comments
 (0)