Music lover. Technology fanatic. Web developer.
Bootstrap is a front-end framework developed by Twitter. It includes responsive CSS, clean typography, JavaScript plugins and UI styles among many other features. All of these building blocks go a long way toward bringing a site to life visually.
One of my goals for this site was to really dig into Bootstrap. I made it a point to get as much as possible out of it's structure and design elements. I'm pretty sure I only scratched the surface here.
For harnessing the awesome power of Sass I need a solid compiler. Compass.app let's me manage the details of how my Sass becomes CSS. It sits in the menubar and once it's running I forget about it. This this app has everything it needs to do the job completely self-contained too. I just put a copy in Dropbox and fire it up on any machine.
Cyberduck is my FTP tool of choice. It's easy to navigate. My copy is old and doesn't look too hot on retina. That doesn't matter because it transfers files and allows me to set the default text editor. My list of requirements here is short. I've used it so long now, I have no desire to seek out anything else. Maybe I'm lazy?
Django is a Python web framework with great features. Every dynamic website has a database running on the backend. That's where all of the content you're reading right now is stored. With Django, I define all of my data models and database interactions using pure Python.
Another very handy feature is the built-in admin interface. This means I don't spend time developing an interface for every form that writes information to the database. I still have to write a few, but only when something custom is really necessary. This reduces development time significantly.
Dropbox is so simple. It keeps all of my project files and writing synchronized across all my devices. In my personal life, I've been solely using laptops since 2004. With that mobility, I have learned to work on the move over the last few years.
I commute from the city to the burbs during the week. The roundtrip time each day is a little under two hours. I have a laptop dedicated to travel and one that stays home. I have put in some of my best work riding the Metra. When I get home, I pick up right where I left off. Without Dropbox it wouldn't be that easy.
No development project is safe without some sort of version control system. I use Git because it's simple and dependable. Also, I have access to a little extra peace of mind known as GitHub. It's a web-based hosting service for any project that uses Git for version control.
This serves as the central backup point for all of my development work and it includes a history of every change I've ever made along the way. Being able to roll back to a previous version of a file has saved me more than a few times. I will never start a project without it.
All of my content is written in Markdown and I use a dedicated editor. On all of my devices, that's iA Writer. It's stripped down, no distraction approach compliments the nature of Markdown perfectly. There are no preferences to mess around with. There is no formatting toolbar. There's just a blank page waiting for my words. With a quick keyboard shortcut I can preview what the final output will look like in a popup window. On iOS, its tight Dropbox integration is key to working on new content no matter what device I have handy.
There is no way to work with Django and Python without breaking out the Terminal. It's quite refreshing really. There is something special about issuing commands and administering remote servers with plain text. iTerm 2 is a Terminal replacement on the Mac. It simply has more handy options than its built-in counterpart.
LittleIpsum is proof that no tool is too small to be helpful. This product does one thing, and it does it well. It generates words, sentences and paragraphs of Latin filler text. It runs constantly in the menu bar so it's always just a click away. When I'm styling something and need to fill out some content to see how it looks LittleIpsum does the trick.
I use Markdown for writing all of the content here. It's a lightweight way to control the final HTML structure of everything I post. Using a simple syntax I can add images, links, lists, block quotes, you name it, to my document without having to mess around with buttons in a GUI. When it's time to write, it's time to write.
I don't have to do a whole lot of in-depth photo editing. I'm not professional or even semi-professional. When I need something Snapseed can't handle, I use Pixelmator. It's a great alternative to more expensive image editing applications on OSX. I only scratch the surface of its power with my usage. I'm fine with that for now and I'm learning more all the time.
PostgreSQL is an open source database. Postgres.app is an easy way to run a development database instance on the Mac. I just fire it up and let it sit in the menu bar. Instantly there is a database for my Django development. It's not flashy. It just does what it says without issue. It makes life so much easier.
Python is awesome. It's a powerful open source programming language. Out of the box it has a ton of useful built-in libraries. There is also a wealth of community developed libraries that further extend functionality.
My favorite thing about Python is the syntax. It's white space sensitive and beautiful. Lines of code end with a carriage return and encapsulated blocks are denoted by indentation. Visually it's very clean and easy to read.
How does this app fit on the tools list? Easy. Running my own sites means I'm the one-man agile show. I use Reminders for managing the backlog of things to do. There may be other task list apps out there that are cooler to use, but this one is built-in on all my devices and does everything I need.
Sass stands for "Syntacticly awesome style sheets". It's a language used to create CSS and offers power above and beyond anything in standard CSS. The biggest benefits of Sass are variables and "mixins".
With Sass I can set a variable to a color value, then use the variable name everywhere the color is needed. If I need to change the color in the future, I simply change the variable value in one place. "Mixins" are like functions in a programming language. I can assign multiple CSS properties to a single name, reusing that name everywhere I need to repeat the same set of properties. It's genius.
A big goal for me while building this site was making it easy to post images regardless of location or the device I had with me. I use Snapseed when I want some extra image processing on my iOS devices. It has a nice assortment of options and a great control scheme. It's quite a powerful, portable tool. I paid for this app the first time around, now thanks to Google it's free. Either way that's a great deal.
I use Sublime Text 2 for writing all of my Python and Sass. It's fuzzy searching makes navigation of the files in a project super easy. It also has more syntax highlighting options than you can shake a stick at.
Sublime Text 2 is a visually attractive editor and that means a lot to me. If I'm going to stare at the screen for hours on end I want to look at something nice. It's also retina ready, which is a double bonus.