- Seek out failure, it teaches us to think like a scientist. If you start with a hypothesis, then try to prove yourself wrong, you’re bound to make much better decisions. You have to be willing to fail, and that in itself is going to help you build confidence and be more convicted about what your strategy is in the end.
- There are hundreds of methods for building products and running teams. As a quality PM, it's important to have an open mind about all of it, but finding your own process and philosophy can be grounding. It helps you find your pillars so that you don't smash into things while you're building. Remember, however, that you can always find a budget for remodeling. 😉
- The beauty of a good process is when it just becomes how you do your work. When you forget you're following a process at all is when you know the process is working for you, your team, your company, and your customers.
- The advice I give new Product Managers or PMs coming onto a team for the first
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
case $# in | |
0) | |
echo "Usage: $0 {start|stop}" | |
exit 1 | |
;; | |
1) | |
case $1 in | |
start) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
osascript -e 'tell application "iOS Simulator" to quit' | |
osascript -e 'tell application "Simulator" to quit' | |
xcrun simctl erase all |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import subprocess | |
import sublime, sublime_plugin | |
import os | |
PLUGIN_FOLDER = os.path.dirname(os.path.realpath(__file__)) | |
SCRIPT_PATH = PLUGIN_FOLDER + '/node_modules/jsfmt/run.js' | |
NODE_PATH = '/usr/local/bin/node' | |
class FormatJavascript(sublime_plugin.TextCommand): | |
def run(self, edit): |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# npm publish with goodies | |
# prerequisite: `npm install -g trash` | |
# `np` with an optional argument `patch`/`minor`/`major`/`<version>` | |
# defaults to `patch` | |
np() { | |
trash node_modules &>/dev/null; | |
git pull --rebase && | |
npm install && | |
npm test && | |
npm version ${1:-patch} && |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
gulp.task('jade', function(){ | |
gulp.src(['src/js/directives/**/jade/*.jade', 'src/jade/views/*.jade']) | |
.pipe(jade({ pretty : true })) | |
.pipe(rename(function(dir,base,ext){ | |
var result = base + ext; | |
return result; | |
})) | |
.pipe(gulp.dest('./src/html')); | |
}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Database Configuration | |
* | |
* All of your system's database configuration settings go in here. | |
* You can see a list of the default settings in craft/app/etc/config/defaults/db.php | |
*/ | |
if ($_SERVER['HTTP_HOST'] == 'local.domainname.com') { |
An unsorted list of articles/books/programs that I (from my limited perspective) recommend for people who want to become a good computer science engineer. These materials are needed not just for the direct learning that they provide but also for getting a grasp of the good taste of these authors.
- The C Programming Language by Dennis M Ritchie and Brian Kernighan
- Programming Pearls by John Bentley
- More Programming Pearls (I have not read this yet though ;) )
- The Ubiquitous BTree by Douglas Comer
- Profiling Desktop Applications by Federico Mena-Quintero https://people.gnome.org/~federico/docs/2007-02-FOSDEM/html/index.html
- The Git talk by Linus Torvalds in Google
- Why Ken [Thompson] had to invent | (pipes) by Dennis M Ritchie http://cm.bell-labs.com/cm/cs/who/dmr/mdmpipe.html
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// NOTE: I previously suggested doing this through Grunt, but had plenty of problems with | |
// my set up. Grunt did some weird things with scope, and I ended up using nodemon. This | |
// setup is now using Gulp. It works exactly how I expect it to and is WAY more concise. | |
var gulp = require('gulp'), | |
spawn = require('child_process').spawn, | |
node; | |
/** | |
* $ gulp server | |
* description: launch the server. If there's a server already running, kill it. |
NewerOlder