Skip to content

Commit

Permalink
some fixups
Browse files Browse the repository at this point in the history
- get rid of property drawers in top levels
  • Loading branch information
tamouse committed Nov 4, 2018
1 parent 9f5d780 commit 36754d8
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 140 deletions.
14 changes: 3 additions & 11 deletions about.org
@@ -1,30 +1,22 @@
* About
:PROPERTIES:
:CUSTOM_ID: about
:END:

** Welcome to my SWaaC blog!
:PROPERTIES:
:CUSTOM_ID: welcome-to-my-swaac-blog
:END:

What is SWaaC? Software as a Craft!

I am a firm believer that software development is primarily a craft, that is, it involves skills, knowledge, creativity, problem-solving and critical thinking skill, and a deeply personal desire to make things.

I [[file:%7B%7B%22/swaac/2013/08/03/programmers-creativity/index.html%22%20%7C%20prepend:%20site.baseurl%7D%7D][wrote a post on this]] back in 2013:
I [[./posts/2013/08/programmers-creativity.org][wrote a post on this]] back in 2013:

#+BEGIN_QUOTE

#+BEGIN_QUOTE
I think most people think programming is cold, precise, and mechanical. It's actually creative, perplexing and deeply personal. --- Unknown (from [[http://discordianquotes.com/quote/think-people-thing-programming-cold-precise-mechanical-actually]])
I think most people think programming is cold, precise, and mechanical. It's actually creative, perplexing and deeply personal. --- Unknown (from [[http://discordianquotes.com/quote/think-people-thing-programming-cold-precise-mechanical-actually][Discordian Quotes]])
#+END_QUOTE

I've said similar words many times. I wish more people understood them.
#+END_QUOTE

#+BEGIN_QUOTE
What does it mean to be creative? It usually means making something that other's can see as beautiful, or as unique, but also it means applying your mind to making something real that exists only at first in your mind.
#+END_QUOTE
What does it mean to be creative? It usually means making something that other's can see as beautiful, or as unique, but also it means applying your mind to making something real that exists only at first in your mind.

Several of the posts you'll find here were originally in my personal blog and copied over here. I've decided what I really want is a curated set of my writing on SWAAC, so here we are.
40 changes: 2 additions & 38 deletions learning.org
@@ -1,6 +1,6 @@
* Resources for learning how to program, especially how to program in Ruby and Rails

- last updated Time-stamp: <2018-11-04 00:39:36 tamara>
- last updated Time-stamp: <2018-11-04 01:04:37 tamara>

** Introduction

Expand All @@ -17,7 +17,7 @@ I've been finding things around the 'net that can greatly help people new to pro

--------------

*UPDATE:* I've created a section for the [[./beginner.org][Absolute Beginner]] as well, you might find it useful.
*UPDATE:* I've created a section for the [[./beginner-section.org][Absolute Beginner]] as well, you might find it useful.

This is a quick, short list of things. I urge you to seek them out, and seek out others as well, and create your /own/ list of learning resources. People will begin to ask you, and it's nice to have something handy.

Expand All @@ -30,9 +30,6 @@ Also, [[https://www.codefellows.org/blog/this-is-why-learning-rails-is-hard][lea
--------------

** Books
:PROPERTIES:
:CUSTOM_ID: books
:END:

- [[https://www.goodreads.com/book/show/13590009-think-like-a-programmer][*Think Like a Programmer: An Introduction to Creative Problem Solving*]] by V. Anton Spraul.

Expand Down Expand Up @@ -65,18 +62,12 @@ Also, [[https://www.codefellows.org/blog/this-is-why-learning-rails-is-hard][lea
This book, published in 1975, and a subsequent volume dedicated to the Pascal language published in 1979, were essential to me back when I was in university learning computer science. They're out of print now, so I'm starting a blog series covering them. [[file:%7B%7Bsite.baseurl%7D%7D%7B%%20link%20_posts/2017-07-23-pp-introduction.markdown%20%%7D][Programming Proverbs: Introduction]]

*** Object-Oriented Programming
:PROPERTIES:
:CUSTOM_ID: object-oriented-programming
:END:

- [[https://www.sandimetz.com/99bottles][*99 Bottles of OOP*]] by Sandi Metz and Katrina Owen.

A recent book, representing the absolute best by two teachers of software engineering. Sandi has been teaching Object-oriented programming for decades, and Katrina brings in her expertise with refactoring, resulting in a deep book that stretches beyond the basics and deep into the structures and understanding of object systems and idioms. It brings up to date the actual concepts of refactoring, test-driven development, naming things, reducing code "smells" and making code more easily and economically maintainable and sustainable. They take all the buzzwords and unbuzzify them into practical, useful methodologies and techniques.

*** Ruby-specific
:PROPERTIES:
:CUSTOM_ID: ruby-specific
:END:

- [[https://www.goodreads.com/book/show/9364729-eloquent-ruby][*Eloquent Ruby*]] by Russ Olsen.

Expand All @@ -95,9 +86,6 @@ Also, [[https://www.codefellows.org/blog/this-is-why-learning-rails-is-hard][lea
This book provides a deeply-needed introduction to object-oriented design, specifically targeted to the Ruby language. Ruby is one of the richest languages in which to express object-oriented patterns, but it is easy to fall of the OO wagon and start to get things messed up. Sandi provides the thinking tools necessary to decide how to structure your code for better maintainability, extensibility and testability. Comprehension and forward communication of the choices made during software design are crucial to programming, and Sandi is one of the very best at explaining things.

*** Rails-specific
:PROPERTIES:
:CUSTOM_ID: rails-specific
:END:

- [[http://www.manning.com/bigg2/][*Rails 4 in Action*]] by Ryan Bigg, Yehuda Katz, Steve Klabnik, and Rebecca Skinner.

Expand All @@ -110,9 +98,6 @@ Also, [[https://www.codefellows.org/blog/this-is-why-learning-rails-is-hard][lea
The first chapter alone (free!) is worth a download and very thorough read. Justin has provided one of the most effective strategies for learning just about /anything/ skill based, and it's especially effective for learning software skills. The focus of the book and the examples and such are obviously Rails, but the first chapter is applicable to anything.

*** JavaScript-specific
:PROPERTIES:
:CUSTOM_ID: javascript-specific
:END:

- [[https://www.goodreads.com/book/show/2998152-javascript][*JavaScript: The Good Parts*]] by David Crockford.

Expand All @@ -127,18 +112,12 @@ Also, [[https://www.codefellows.org/blog/this-is-why-learning-rails-is-hard][lea
When I was more naive about JS, I wrote a bit of a negative review of this book. Subsequently, I've learned of it's true eloquence and meaning in giving a model of how to organize and implement modern JS. The subtitle "A modern introduction to programming" is still a bit misleading, perhaps, because you have to understand a fair bit of JavaScript /and/ programming to get the message, I feel. But that's just a quibble at this point. Read this before you strike out on creating a client-based JS application; you won't regret it.

*** HTML and CSS Specific
:PROPERTIES:
:CUSTOM_ID: html-and-css-specific
:END:

- [[https://www.amazon.com/HTML-CSS-Design-Build-Websites/dp/1118008189?ie=UTF8&*Version*=1&*entries*=0][*HTML and CSS Design and Build Websites*]] by Jon Duckett.

This book has been recommended by several people in the [GDI] courses I've been helping in. A very visual approach, using full-colour photographs to explain the two declarative languages.

** Web sites
:PROPERTIES:
:CUSTOM_ID: web-sites
:END:

This is just going to be a list of sites I've found or been pointed at for helping people learn to program. These are most definitely biased towards Ruby and Rails, as that is my current area of concentration, and generate the most requests that come to me.

Expand Down Expand Up @@ -169,9 +148,6 @@ Also, [[https://www.codefellows.org/blog/this-is-why-learning-rails-is-hard][lea
- [[http://www.rubykoans.com/][*Ruby Koans*]] -- "koans" are an Eastern discipline tradition: small, repeated exercises to learn skills and build them into your muscles and memory, so you can use them without thinking consciously about them. In this sense, the ruby koans are small exercises intended to lead you on the way to learning ruby. I can't say if they're that successful, but some people definitely enjoy this progressive way of learning. The ruby koans definitely guide you in the way of test-first development, which is a beneficial practice for all to know.

** Podcasts
:PROPERTIES:
:CUSTOM_ID: podcasts
:END:

I am not such a big fan of podcasts, but that has more to do with my personal learning style. Nevertheless, there are some great pocasts out there.

Expand All @@ -182,9 +158,6 @@ Also, [[https://www.codefellows.org/blog/this-is-why-learning-rails-is-hard][lea
- [[http://www.codenewbie.org/][*CodeNewbies*]] -- started off as a twitter chat, and grew into a thing, CodeNewbies offers podcasts on topics that range far and wide. Recent topics have included Scrum/Agile methods, maintaining your mental health while programming, interviews with folks who have created significant web sites (Gina Trapani of LifeHacker!!), mobile, databases, single-page apps, you name it. One of the best aspects I can see directly is that this is a /very/ open, diverse collaboration.

** Teaching Organizations
:PROPERTIES:
:CUSTOM_ID: teaching-organizations
:END:

These are the ones I'm familiar with at this point in time (late 2015) in the Twin Cities area:

Expand All @@ -195,16 +168,10 @@ Also, [[https://www.codefellows.org/blog/this-is-why-learning-rails-is-hard][lea
- [[http://www.meetup.com/Girl-Develop-It-Minneapolis/][*Girl Develop It! Minneapolis*]] serves up training courses mainly in the HTML, CSS, and JS arena, and is focused on bringing this training to women and other underrepresented groups. The training sessions are focused on beginners, which rather fills the gap between the beginner and intermediate. There are GDI chapeter in several other cities as well. The parent organization is at [[https://www.girldevelopit.com/]].

** Bootcamps
:PROPERTIES:
:CUSTOM_ID: bootcamps
:END:

These are becoming quite popular, if expensive, but they seem to provide what's being offered: intensive training in the skills necessary to become a web application developer, with experience and skills in the entire lifecycle of modern software development. I can't really provide much information on them, as I've never experienced them. [[http://www.bootcamps.in/][Bootcamps.in]] provides at least a first-glance at several bootcamps.

** Conferences and Meetups
:PROPERTIES:
:CUSTOM_ID: conferences-and-meetups
:END:

Going to conferences, hanging out, meeting like-minded people, and generally instilling one's self into the millieau of the Ruby and Rails communities can be extremely rewarding. Even if you're not the conference type, make an effort to find people in your area to talk to.

Expand All @@ -222,8 +189,5 @@ Also, [[https://www.codefellows.org/blog/this-is-why-learning-rails-is-hard][lea
- [[https://www.meetup.com/Minneapolis-St-Paul-WordPress-User-Group/][MSP WP]]

** More Advanced
:PROPERTIES:
:CUSTOM_ID: more-advanced
:END:

If you want to go deep and learn more about computer science, the book [[https://mitpress.mit.edu/sicp/][/Structure and Interpretation of Computer Programs/]] is probably your best bet in terms of a real CS text book that's available online for free. It's not a tutorial, but there are exercises in the text. The book uses Scheme, a lisp-like programming language. Everyone should learn a little lisp at some point. :) However it's not mandatory one use Scheme (or Clojure as the local Clojure user group has been doing). The analytical concepts apply across all languages. If you're focused on JavaScript or Ruby, you can work the examples in those languages, too.
50 changes: 1 addition & 49 deletions links.org
@@ -1,14 +1,11 @@
* Useful Links

- Time-stamp: <2018-11-04 00:41:46 tamara>
- Time-stamp: <2018-11-04 01:05:38 tamara>


Just a few links. I don't know if this is a good collection anymore. I also don't know why these aren't just regular posts.

** CSS
:PROPERTIES:
:CUSTOM_ID: css
:END:

- [[https://css-tricks.com/autoprefixer/][Autoprefixer]] [[https://github.com/postcss/autoprefixer][(GitHub)]] is a CSS post-processor that automatically adds CSS vendor prefixes and fixes the CSS to work in many browser versions that don't yet have full support for CSS features. See also "Can I Use" below.

Expand All @@ -19,9 +16,6 @@ Just a few links. I don't know if this is a good collection anymore. I also don'
- [[https://css-tricks.com/][CSS-Tricks Blog]] is a great site for learning about nify CSS stuff.

** Databases
:PROPERTIES:
:CUSTOM_ID: databases
:END:

- [[http://blog.donwilson.net/2011/11/constructing-a-less-than-simple-query-with-rails-and-arel/][Constructing a less than simple query with rails and arel]] This is from back in 2011, so is probably out of date, but still contains some fascinating use of AREL instead of writing straight SQL.

Expand All @@ -30,16 +24,10 @@ Just a few links. I don't know if this is a good collection anymore. I also don'
- [[http://patshaughnessy.net/2015/6/18/dont-let-your-data-out-of-the-database][Dont Let Your Data Out of the Database - Pat Shaughnessy]]

** Design
:PROPERTIES:
:CUSTOM_ID: design
:END:

- [[http://www.webdesignerdepot.com/2014/06/6-steps-to-perfecting-minimalism-in-web-design/][6 Steps to Perfecting Minimalism in Web Design]] with a great example site by [[http://www.briandanaher.com/][Brian Danahar]].

** Docker
:PROPERTIES:
:CUSTOM_ID: docker
:END:

- [[http://docs.docker.com/compose/rails/][Getting Started with Compose and Rails]]

Expand All @@ -56,9 +44,6 @@ Just a few links. I don't know if this is a good collection anymore. I also don'
- [[http://www.ybrikman.com/writing/2015/05/19/docker-osx-dev/][A Productive Development Environment with Docker on OS/X]] A good write-up on using docker in rails development.

** Emacs
:PROPERTIES:
:CUSTOM_ID: emacs
:END:

- Jekor's Emacs Tutorials: [[https://www.youtube.com/playlist?list=PLxj9UAX4Em-IiOfvF2Qs742LxEK4owSkr]]

Expand All @@ -67,9 +52,6 @@ Just a few links. I don't know if this is a good collection anymore. I also don'
- [[https://www.masteringemacs.org/][Mastering Emacs]] web site and now e-book by Emacs master Mickey Petersen [[http://twitter.com/mickeynp][twitter]]. Blog posts about using Emacs's more advanced and powerful features.

** Javascript
:PROPERTIES:
:CUSTOM_ID: javascript
:END:

- [[https://github.com/getify/You-Dont-Know-JS][You Don't Know JS]] Kyle Simpson's tour de force on JavaScript in online form.

Expand All @@ -78,39 +60,24 @@ Just a few links. I don't know if this is a good collection anymore. I also don'
- [[https://github.com/rwaldron/idiomatic.js][Writing Idiomatic Javascript]]

*** Angular
:PROPERTIES:
:CUSTOM_ID: angular
:END:

- [[https://github.com/johnpapa/angular-styleguide][Opinionated Style Guide]] by [[http://johnpapa.net/][John Papa]] [[https://twitter.com/john_papa][(twitter)]]

*** Aurelia.IO
:PROPERTIES:
:CUSTOM_ID: aurelia.io
:END:

- [[http://aurelia.io/][aurelia.io]] - a newish (April 2015) JS client framework using pretty simple convention over configuration to speed up SPA development. [[http://durandaljs.com/][Durandel.JS]] is the previous generation of aurelia.

*** React.JS
:PROPERTIES:
:CUSTOM_ID: react.js
:END:

- [[https://www.airpair.com/reactjs/posts/reactjs-a-guide-for-rails-developers][React.JS and Rails]] by [[https://github.com/fervisa][Fernando Villalobos]]. A really clear tutorial for using React.JS with Rails, including [[https://github.com/fervisa/accounts-react-rails][sample code]] [[https://github.com/tamouse/accounts-react-rails][(my fork)]].

** Jekyll
:PROPERTIES:
:CUSTOM_ID: jekyll
:END:

- [[https://developmentseed.org/blog/2013/05/01/introducing-jekyll-hook/][Introducing Jekyll-hook: Run your own GitHub Pages --- Development Seed]]
- [[http://prose.io/][Prose · A Content Editor for GitHub]], [[https://github.com/prose/prose][prose/prose]]
- [[http://cloudcannon.com/][Build websites in HTML or Jekyll. Have your non-technical team update inline - CloudCannon]]

** Rails
:PROPERTIES:
:CUSTOM_ID: rails
:END:

- [[http://www.sitepoint.com/enumerated-types-with-activerecord-and-postgresql/?utm_source=rubyweekly&utm_medium=email][Enumerated Types with ActiveRecord and PostgreSQL]]

Expand All @@ -131,9 +98,6 @@ Just a few links. I don't know if this is a good collection anymore. I also don'
- [[http://www.justinweiss.com/articles/how-to-preload-rails-scopes/][How to preload Rails scopes - Justin Weiss]]

** Ruby
:PROPERTIES:
:CUSTOM_ID: ruby
:END:

- [[http://www.saturnflyer.com/blog/jim/2015/01/20/ruby-forwardable-deep-dive/][Forwardable Deep Dive]]

Expand All @@ -146,28 +110,16 @@ Just a few links. I don't know if this is a good collection anymore. I also don'
- [[http://plugins.jetbrains.com/update/index?pr=ruby&updateId=19837][Docker support in RubyMine]]

** Shell, Command Line, Bash, etc.
:PROPERTIES:
:CUSTOM_ID: shell-command-line-bash-etc.
:END:

- [[http://www.learnenough.com/command-line-tutorial][Learn Enough Command Line To Be Dangerous]] -- by Michael Hartl of RailsTutorial fame.

** Testing
:PROPERTIES:
:CUSTOM_ID: testing
:END:

- Randy Coulman has written a [[http://randycoulman.com/blog/categories/getting-testy/][series on testing]] that I think you'll find useful.

** Tools
:PROPERTIES:
:CUSTOM_ID: tools
:END:

*** Version Control, Git, etc
:PROPERTIES:
:CUSTOM_ID: version-control-git-etc
:END:

- [[https://about.futurelearn.com/blog/telling-stories-with-your-git-history/][Telling stories with your Git history - FutureLearn]]

Expand Down

0 comments on commit 36754d8

Please sign in to comment.