Another question came up during a recent Twitch stream that I wanted to elaborate on.
In this article Keartida is going to dive into setting up a basic Loopback API project and get a build of that project running on a continuous integration service. In this example she’s going to get the project setup with Codeship.
- Be sure, whichever system you are using, to have a C++ compiler installed. For Windows that usually means installing Visual Studio or something, on OS-X install XCode and the Developer Tools. On Ubuntu the GCC compiler and other options exist. For instructions on OS-X and Linux check out installing compiler tools.
- For windows, I’d highly suggest setting up a VM of Ubuntu to do any work with Loopback, Node.js, or follow along with this material. It’s possible on Windows, but there are a number of things that are lacking. If you still want to make a go of using Windows, here are some initial setup steps here.
Nice to Haves:
- git-flow – works on any bash, handles the branching and merging. Very nice scripts to have.
- bashit – Adding more information to the bash prompt (works on OS-X, not Ubuntu or Windows Bash)
This is the first (of course the precursor to this entry was the zero day team introduction article) of an ongoing series I’m going to put together. I’m going to write this series from the context of a team building a product. I’ll have code samples and more as I work along through the material.
The first step included Oi Elffaw having a discussion with the team to setup the first week’s working effort. Oi decided to call it a sprint and the rest of the team decided that was cool too. This was week one after all and there wasn’t going to be much else besides testing, research, and setup that took place.
Before starting everything I went ahead and created a project repository on github for Oi to use waffle.io with. Waffle.io is an online service that works with github issues to provide a kanban style inferface to the issues. This provides an easier view, especially for leads and management, to get insight into where things are and what’s on the plate for the team for the week. I included the default node.js .gitignore file and an Apache 2.0 license when I created the repository. Github then seeds the project with a .gitignore, README.md and the license files.
After setting up the repository in github I pinged Oi and he set to work after the team’s initial meet to discuss what week one would include. Continue reading “__1 “Getting Started, Kanban & First Steps for a Sharing App””
Blog Entry Index:
- Write the Docs
- Portland Proper Brew
- How to Survive the Zombie Apocalypse with Riak @ Polyglot Conference 2013
I just wrapped up a long weekend of staycation. Monday kicked off Write the Docs this week and today, Tuesday, I’m getting back into the saddle.
Write the Docs
The Write the Docs Conference this week, a two day affair, has kicked off an expanding community around document creation. This conference is about what documentation is, how we create documentation as technical writers, writers, coders and others in the field.
Not only is it about those things it is about how people interact and why documentation is needed in projects. This is one of the things I find interesting, as it seems obvious, but is entirely not obvious because of the battle between good documentation, bad documentation or a complete lack of documentation. The later being the worse situation.
The Bloody War of Documentation!
At this conference it has been identified that the ideal documentation scenario is that building it starts before any software is even built. I do and don’t agree with this, because I know we must avoid BDUF (Big Design Up Front). But we must take this idea, of documentation first, in the appropriate context of how we’re speaking about documentation at the conference. Just as tests & behaviors identified up front, before the creation of the actual implementation is vital to solid, reliable, consistent, testable & high quality production software, good documentation is absolutely necessary.
There are some situations, the exceptions, such as with agencies that create software, in which the software is throwaway. I’m not and don’t think much of the conference is about those types of systems. What we’ve been speaking about at the conference is the systems, or ecosystems, in which software is built, maintained and used for many years. We’re talking about the APIs that are built and then used by dozens, hundreds or thousands of people. Think of Facebook, Github and Twitter. All of these have APIs that thousands upon thousands use everyday. They’re successful in large part, extremely so, because of stellar documentation. In the case of Facebook, there’s some love and hate to go around because they’ve gone between good documentation and bad documentation. However whenever it has been reliable, developers move forward with these APIs and have built billion dollar empires that employ hundreds of people and benefit thousands of people beyond that.
As developers that have been speaking at the conference, and developers in the audience, and this developer too all tend to agree, build that README file before you build a single other thing within the project. Keep that README updated, keep it marked up and easy to read, and make sure people know what your intent is as best you can. Simply put, document!
You might also have snarkily asked, does Write the Docs have docs,why yes, it does:
http://docs.writethedocs.org/ <- Give em’ a read, they’re solid docs.
Portland Proper Brew
Today while using my iPhone, catching up on news & events over the time I had my staycation I took a photo. On that photo I used Stitch to put together some arrows. Kind of a Portland Proper Brew (PPB) with documentation. (see what I did there!) It exemplifies a great way to start the day.
Everyday I bike (or ride the train or bus) in to downtown Porltand anywhere from 5-9 kilometers and swing into Barista on 3rd. Barista is one of the finest coffee shops, in Portland & the world. If you don’t believe me, drag your butt up here and check it out. Absolutely stellar baristas, the best coffee (Coava, Ritual, Sightglass, Stumptown & others), and pretty sweet digs to get going in the morning.
I’ll have more information on a new project I’ve kicked off. Right now it’s called Bike n’ Hack, which will be a scavenger style code hacking & bicycle riding urban awesome game. If you’re interested in hearing more about this, the project, the game & how everything will work be sure to contact me via twitter @adron or jump into the bike n’ hack github organization and the team will be adding more information about who, what, where, when and why this project is going to be a blast!
Polyglot Conference & the Zombie Apocalypse
I’ll be teaching a tutorial, “Introduction to Distributed Databases” at Polyglot Conference in Vancouver in May! So it has begun & I’m here for you! Come and check out how to get a Riak deployment running in your survival bunker’s data center. Zombies or just your pointy hair boss scenarios of apocalypse we’ll discuss how consistent hashing, hinted handoff and gossipping can help your systems survive infestations! Here’s a basic outline of what I’ll cover…
Introducing Riak, a database designed to survive the Zombie Plague. Riak Architecture & 5 Minute History of Riak & Zombies.
Architecture deep dive:
- Consistent Hashing, managing to track changes when your kill zone is littered with Zombies.
- Intelligent Replication, managing your data against each of your bunkers.
- Data Re-distribution, sometimes they overtake a bunker, how your data is re-distributed.
- Short Erlang Introduction, a language fit for managing post-civil society.
- Getting Erlang
Installing Riak on…
- Ubuntu, RHEL & the Linux Variety.
- OS-X, the only user centered computers to survive the apocolypse.
- From source, maintained and modernized for humanities survival.
- Upgrading Riak, when a bunker is retaken from the zomibes, it’s time to update your Riak.
- Setting up
Devrel – A developer’s machine w/ Riak – how to manage without zombie bunkers.
- 5 nodes, a basic cluster
- Operating Riak
- Starting, stopping, and restarting
- Scaling up & out
- Managing uptime & data integrity
- Accessing & writing data
Polyglot client libraries
- C#/.NET & Java for the zombie creating corporations.
- Others, for those trying to just survive the zombie apocolypse.
Some of the other tutorials that are happening, that I wish I could clone myself for…
- Angular js and HTML 6! w/ Chris Nicola @lucisferre & Saem @saemg
- Intro to Erlang w/ Yurii Rashkovskii @yrashk
That’s it for updates right now, more code & news later. Cheers!
Only in Seattle (or Portland, San Francisco, or Vancouver) can I board a bus and actually sit down and see another person writing code. Not just any code either, but serious stuff. Utilizing js w/ memoization, closures, etc. Not just somebody smashing code into a computer, but someone writing something that would prospectively be performant and useful. Oh dear, what else do I see? Tests! Unit tests! Yes, not only someone writing code, but somebody that I’d hire to actually work with.
The northwest seriously kicks ass! Cheers!