One of my favorite tech t-shirts.
I recently revisited Cloud9IDE, the cloud-based integrated development environment. Last year I posted Cloud9IDE Test Drive and I recently decided to give the service another try. These days I’m on an hour-long commuter bus into San Francisco and the thought of using my iPad to access a cloud-based IDE seemed tantalizing. Sadly that dream didn’t quite materialize - but I’m getting ahead of myself.
Last month Cloud9IDE’s Zef Hemel published All In On The Cloud announcing some cool new features and delving into infrastructure details regarding wish list items developers have been asking for. After learning of the improvements I was eager to revisit the service.
If you’re a modern web developer chances are that you have one or more virtual servers in the cloud and you use a web accessible distributed source control system such as GiHub. Imagine using a web browser to edit, test and deploy your code updates. Imagine also accessing your servers via a browser-based ssh client. Next, imagine collaborating with team members while viewing, chatting and jointly editting code. What this translates to is the ability to jump onto any modern machine and continue developing your product. All, without installing a single piece of software. Again, from your work machine to your home machine to your girl friends laptop without so much as a USB thumb drive.
Naturally your mileage will vary. If you reply heavily on native mobile development and tools such as Apple’s XCode, Microsoft Visual Studio .NET or Adobe Flash Builder then you’ll have a greater dependency on tethered development. Hybrid scenarios still have value. For example, being able to clone a github repo and edit files while away from your main development environments.
I expect that Microsoft could do this for their .NET developers on their Azure platform.
Here are a few ways I’ve used Cloud9IDE in the past week:
Yes, I was having a good time! Does this mean Cloud9IDE is the shit? I’d say they still have a long way to go toward realizing their dreams. For me, recent gripes include a web based editor that is far from flawless and an SSH client that sometimes produces double key presses if you type too fast.
So it’s a work-in-progress that’s also highly usable, allowing you to develop in ways which were previously impossible.
My take is that Cloud9IDE has significantly improved over the past year and for 12 bucks a month I don’t expect to cancel the service anytime soon. It’s way too much fun!
This Saturday May 5th (tomorrow) the moon will be the closest to earth this year and appear about 14 percent larger than other times of the year.
I took the shot in this post this evening (Friday May 4th) in order to ensure I would be prepared for tomorrow. I shot the photo with my Sony DSLR using a 200mm lens with a polarized filter at f/16 with exposure compensation dialed down to -0.3. My camera was on a tripod and triggered using the camera’s built-in timer set to 10 seconds.
If you’re thinking of photographing the super moon consider reviewing the links below for excellent tips.
So here’s what I’ve been up to for the past few months… Explained in our new inSparq video
During the past few months I’ve included a number of very useful tools in my daily mac usage. The list below is in no particular order. If you have a favorite tool which you’d like to share, reach out via an email (firstname.lastname@example.org) or @cjus me on twitter.
Evernote by Evernote Corp. (App Store Link)
To refer to Evernote as a note taking application would be a major disservice to the power of this great tool. If you haven’t tried Evernote - do yourself a favor and stop reading this post and go try Evernote!
TextExpander by Smile (App Store Link)
TextExpander is a macro expansion tool which allows you to create keyboard shortcut sequences which auto-expand to the full intended text. I use this for a number of keyboard tasks ranging from custom email signatures to shortened git commands. I also use it with my text editors and IDEs as a way of expanding code snipits across editors. This tool has been a huge time saver.
Web Condenser by Loannis Zafeiropoulos (App Store Link)
CompareMerge by Tien Thinh Vu (App Store Link)
CompareMerge is a tool for, you guessed it, comparing and merging files. I end-up using this tool more than I’d like to admit. It’s great for selectively merging code.
Chill by David Cheng (App Store Link)
Chill provides background noise generators to help you stay focused on the code at hand. Enough said.
GeekTool by Yann Bizeul (tynsoe.org) (App Store Link)
This tool allows you to trick-out your background with informational widgets you design. I use it to periodically run shell scripts showing me remote server logs and stats.
Textual IRC Client by BestTechie Holdings, Inc. (App Store Link)
IRC client for those times when you just need to reach out and connect with your fellow devs.
DaisyDisk by Software Ambience Corp. (App Store Link)
Graphically determine where all that disk space went…
iA Writer by Information Architects, Inc. (App Store Link)
The typewriter app for the information age. Very useful when you just need to focus on writing - free of the usual visual trappings.
Skitch by Skitch Inc (now part of Evernote Inc.) (App Store Link)
One reviewer said it best: “Indispensable”. This tool allows you to capture screen regions and later annotate them using basic tools such as text and arrows. These days (or I should say these “nights”) I work a lot with external dev groups. The saying that a picture says a 1000 words could not ring truer. I simply capture a screen, annotate it and drag and drop it into a Skype session. Bang! At one point I suspected this product was causing Lion to crash. The tools is so damn useful that I suffered through the crashes rather than remove it from my desktop! BTW, this seems fixed with recent Lion updates.
Feeds by Spotlight Mobile Inc. (App Store Link)
Feeds watches for events on services such as GitHub and Basecamp (and others), to notify you of updates. I primarily use this to spot recent GitHub activity while I’m working.
Flow by ExtendMac, LLC (App Store Link)
Flow is a Mac-ified FTP and SFTP client. Great for working with remote servers.
It’s 81 degrees with clear skies. An unbelievable New Year’s Day here in SoCal. I’m back in NYC on Wednesday - I hope to bring some of this weather with me.
An interesting read:
The one absolutely solid place to store your capital today — if you know how to do it – is in software developers’ wallets. If the world survives looming financial apocalypse dangers at all, this is the one investment that will weather the storms. It doesn’t matter whether you are an individual or a corporation, or what corner of the world you inhabit. You need to find a way to invest in software developers.
This is by far the simplest way to install CouchDB on a variety of Linux distros.
The following worked for me on an Unbuntu 10.04 box.
$ sudo apt-get install make gcc zlib1g-dev libssl-dev rake $ git clone git://github.com/iriscouch/build-couchdb $ cd build-couchdb $ git submodule init $ git submodule update $ rake
CouchDB and all its dependencies will install in the build directory. To uninstall, simply delete that directory.
I ran into an issue building Node.js this evening where I encounter the OPENSSL_ia32_cpuid link problem. I tried installing node under various Ubuntu cloud instances assuming the issue was related to outdated libraries.
I found a solution to the problem on stackoverflow. The command below installs the missing openssl dev libcurl library allowing node to build. This worked for me on Ubuntu 11.04 (Natty Narwhal) and an older instance of Ubuntu 9.10 (Karmic Koala).
$ apt-get install libcurl4-openssl-dev
Below are my full install instructions if you’re not updating an existing instance.
$ apt-get update $ apt-get install git-core $ apt-get install build-essential $ apt-get install openssl $ apt-get install libssl-dev $ apt-get install libcurl4-openssl-dev $ git clone git://github.com/joyent/node.git $ cd node $ ./configure $ make
You’ll find the node binary in the node/out/Release folder. It looks like the build created a statically compiled binary so you should be able to copy the node binary to /usr/bin or the location of your choice.