The World In Links [3/5-3/11/2012] -- jQuery, Node, Sublime

The World In Links by Nicholas Kreidberg Backbone.js - Contacts manager tutorial.

Browsers - Cross browser testing right from the browser.

Git - An interactive tutorial.

jQuery - Fresh and useful plugins/tutorials.

Node.js - Nodetuts.

NoSQL - Data modeling techniques.


SEO - 10 mistakes bloggers should avoid.

Sublime Text - Essential plugins and extensions.

Tumblr - A showcase of great looking themes.

How I Code

I wanted to write this post for a couple of reasons. The first is to (hopefully) provide some helpful insight into a different way of coding that others might find useful. The second is to give me something to look back at a year from now to see where I have changed things, what is working better and what still needs improvement. This isn't intended to be a long-winded novel about the tools/approaches I use but rather a quick rundown of how I get things done when it comes to writing code. Coding Cat

A year ago I kept all development files on my local machine, did my edits there and used various software/plugins to push changes up via FTP/SFTP to the development server. Today I keep no code what-so-ever on my local machine and do everything via SSH mounts. So if I have code on a development sever that I need to work with I use Transmit to mount the remote file system via SSH then open that in my editor. This is great because it keeps files off my local machine, it eliminates the need to push changes up to the dev server after saving and at the end of the day I am all about avoiding duplication of data. With files mounted in this fashion any time I save in my editor (which is running on my local machine) it actually is saving those files on the development server, wherever that happens to be in the universe. Neat right? Let's take that a step further and look at deployment. So all changes are made to the remote file system on the development server but then what? Those files are then committed to version control (Git) and then a pull is done from the production machine to grab the latest changes from the repository.

This workflow keeps things really nice and compact while still providing a lot of power and flexibility. Granted you could accomplish a simliar flow by simply hosting your development server on your local machine but I would much rather have my development server be a direct mirror of production and most production servers aren't MacBook's / iMac's.

So what tools do I use to accomplish all of this?

  • Chrome - Browser I do most of my developing with as it has the best built-in tools on the market.
  • iTerm2 - My preferred SSH client.
  • Navicat Premium Essentials - The best GUI for working with MySQL, PostgreSQL, Oracle and more.
  • Sublime Text 2 - I recently switched to this editor from TextMate and I haven't looked back.
  • Transmit - FTP/SFTP/Etc client but also terrific for mounting remote file systems.

If you have questions or want to share your workflow please do so in the comments!

The World In Links [11/7-11/13/2011] -- CSS3, Freelancing, iOS

The World In Links by Nicholas Kreidberg CSS3: Creating a graceful breadcrumb navigation menu.

Facebook: 40+ great examples of fan pages.

Freelancing: 3 ways to motivate yourself when you're running low.

Github: I published a couple new gists, for JavaScript and PHP.

Humor: Top Tweets illustrated by The Oatmeal.

iOS: An article on working with EXIF data by Tim Sears.

Sublime Text 2: Writing your own plugins.

Unicode: Shapecatcher is a web-based tool that will try to match supplied drawings with known Unicode characters.

WordPress: Prevent access to your dashboard using IP filtering.