#!/bin/sh if [ "x$0" = "xsh" ]; then # run as curl | sh # on some systems, you can just do cat>npm-install.sh # which is a bit cuter. But on others, &1 is already closed, # so catting to another script file won't do anything. curl -s http://npmjs.org/install.sh > npm-install-$$.sh sh npm-install-$$.sh ret=$? rm npm-install-$$.sh exit $ret fi npm_config_loglevel="error" if ! [ "x$npm_debug" = "x" ]; then set -x npm_config_loglevel="verbose" fi export npm_config_loglevel # make sure that node exists node=`which node 2>&1` ret=$? if [ $ret -ne 0 ] || ! [ -x "$node" ]; then echo "npm cannot be installed without nodejs." >&2 echo "Install node first, and then try again." >&2 echo "" >&2 echo "Maybe node is installed, but not in the PATH?" >&2 echo "Note that running as sudo can change envs." >&2 echo "" echo "PATH=$PATH" >&2 exit $ret fi # set the temp dir TMP="${TMPDIR}" if [ "x$TMP" = "x" ]; then TMP="/tmp" fi TMP="${TMP}/npm.$$" rm -rf "$TMP" || true mkdir "$TMP" if [ $? -ne 0 ]; then echo "failed to mkdir $TMP" >&2 exit 1 fi BACK="$PWD" # sniff for gtar/gegrep/gmake # use which, but don't trust it very much. tar="${TAR}" if [ -z "$tar" ]; then tar=tar fi egrep=`which gegrep 2>&1` if [ $? -ne 0 ] || ! [ -x $egrep ]; then egrep=egrep fi make=`which gmake 2>&1` if [ $? -ne 0 ] || ! [ -x $make ]; then make=`which make 2>&1` if [ $? -ne 0 ] || ! [ -x $make ]; then make=NOMAKE echo "Installing without make. This may fail." >&2 fi fi t="${npm_install}" if [ -z "$t" ]; then t="latest" fi url=`curl -s -L http://registry.npmjs.org/npm/$t \ | $egrep -o 'tarball":"[^"]+' \ | head -n 1 \ | $egrep -o 'http://.*'` echo "fetching: $url" >&2 ret=$? if [ $ret -ne 0 ]; then echo "Failed to get tarball url" >&2 exit $ret fi cd "$TMP" \ && curl -s -L "$url" | gzip --decompress --stdout | $tar -xf - \ && cd * \ && (node_version=`"$node" --version 2>&1` ret=$? if [ $ret -eq 0 ]; then req=`"$node" bin/read-package-json.js package.json engines.node` if [ -e node_modules ]; then "$node" node_modules/semver/bin/semver -v "$node_version" -r "$req" ret=$? else "$node" bin/semver.js -v "$node_version" -r "$req" ret=$? fi fi if [ $ret -ne 0 ]; then echo "You need node $req to run this program." >&2 echo "node --version reports: $node_version" >&2 echo "Please upgrade node before continuing." exit $ret fi) \ && (ver=`"$node" bin/read-package-json.js package.json version` isnpm10=0 if [ $ret -eq 0 ]; then req=`"$node" bin/read-package-json.js package.json engines.node` if [ -e node_modules ]; then if "$node" node_modules/semver/bin/semver -v "$ver" -r "1" then isnpm10=1 fi else if "$node" bin/semver -v "$ver" -r ">=1.0"; then isnpm10=1 fi fi fi ret=0 if [ $isnpm10 -eq 1 ] && [ -f "scripts/clean-old.sh" ]; then if ! [ "x$skipclean" = "x" ] \ || [ "x$clean" = "xno" ] \ || [ "x$clean" = "xn" ]; then echo "Skipping 0.x cruft clean" >&2 ret=0 elif [ "x$clean" = "xy" ] || [ "x$clean" = "xyes" ]; then NODE="$node" /bin/sh "scripts/clean-old.sh" "-y" ret=$? else NODE="$node" /bin/sh "scripts/clean-old.sh" </dev/tty ret=$? fi fi if [ $ret -ne 0 ]; then echo "Aborted 0.x cleanup. Exiting." >&2 exit $ret fi) \ && (if [ "$make" = "NOMAKE" ] || ! $make clean install; then "$node" cli.js rm npm -gf "$node" cli.js install -gf fi) \ && cd "$BACK" \ && rm -rf "$TMP" \ && echo "It worked" ret=$? if [ $ret -ne 0 ]; then echo "It failed" >&2 fi exit $ret
August 2011
39 posts
![]()
As Google+ continues to grow, most recently by adding games and verification badges, one much-talked-about feature remains in question: brand accounts. We know it’s on Google’s radar. About a week after the service launched, the company told businesses not to set up accounts on Google+. Christ…
EVERYTHING IS WAITING FOR YOU
(After Derek Mahon)
Your great mistake is to act the drama
as if you were alone. As if life
were a progressive and cunning crime
with no witness to the tiny hidden
transgressions. To feel abandoned is to deny
the intimacy of your surroundings. Surely,
even you, at times, have felt the grand array;
the swelling presence, and the chorus, crowding
out your solo voice. You must note
the way the soap dish enables you,
or the window latch grants you freedom.
Alertness is the hidden discipline of familiarity.
The stairs are your mentor of things
to come, the doors have always been there
to frighten you and invite you,
and the tiny speaker in the phone
is your dream-ladder to divinity.
Put down the weight of your aloneness and ease into
the conversation. The kettle is singing
even as it pours you a drink, the cooking pots
have left their arrogant aloofness and
seen the good in you at last. All the birds
and creatures of the world are unutterably
themselves. Everything is waiting for you.
David Whyte
A social worker recently visited a mental hospital and asked the director, “How do you know when a person needs to be institutionalized?”
Director said, “Well, we fill a bathtub with water and we offer them a teaspoon, a teacup and a bucket and ask them to empty the tub.”
Social worker said, “I see…a normal person would choose the bucket because it is bigger.” then the director responded, “No. A normal person would pull the plug…would you like a bed by the window?
“You Gotta be …”
By Clay Forsberg
Listen as your day unfolds
Challenge what the future holds
Try and keep your head up to the sky
Lovers, they may cause you tears
Go ahead release your fears
Stand up and be counted
Don’t be ashamed to cry
You gotta be
You gotta be bad, you gotta be bold
You gotta be wiser, you gotta be hard
You gotta be tough, you gotta be stronger
You gotta be cool, you gotta be calm
You gotta stay together
All I know, all I know, love will save the day
Herald what your mother said
Readin’ the books your father read
Try to solve the puzzles in your own sweet time
Some may have more cash than you
Others take a different view
My oh my heh, hey
You gotta be bad, you gotta be bold
You gotta be wiser, you gotta be hard
You gotta be tough, you gotta be stronger
You gotta be cool, you gotta be calm
You gotta stay together
All I know, all I know, love will save the day
Don’t ask no questions, it goes on without you
Leaving you behind if you can’t stand the pace
The world keeps on spinning
You can’t stop it, if you try to
This time it’s danger staring you in the face
Oh oh oh Remember
Listen as your day unfolds
Challenge what the future holds
Try and keep your head up to the sky
Lovers, they may cause you tears
Go ahead release your fears
My oh my heh, hey, hey
You gotta be
You gotta be bad, you gotta be bold
You gotta be wiser, you gotta be hard
You gotta be tough, you gotta be stronger
You gotta be cool, you gotta be calm
You gotta stay together
All I know, all I know, love will save the day
Des’ree
If this doesn’t motivate you … nothing will.
” —— Viktor Emil Frankl” —
Best earthquake tweets
2011 Earthquake aftermath…