Skip to content
// Simple Java program
public class Person {
private int age;
private boolean isFemale;
Person(int age, boolean isFemale) {
this.age = age;
this.isFemale = isFemale;
}

http://fare.livejournal.com/171998.html

Many software development organizations fail to follow these principles and pay the price, which can lead to failure. Google mostly doesn't make the mistakes of going against them, though some projects at ITA used to.

Every change should be reviewed, seriously

Code reviews not only improve code quality by having more eyes to find bugs, but most importantly they build the mutual knowledge of the code base, and cross-pollinate minds of team members. This may look like it slows you down in the very short term, but is essential in the long run. If you need to check in a critical fix right now, interrupt a colleague and get the just as critical review right now. If it's so urgent that you can't wait for a review when no colleague is available at the moment (in the middle of the night, or they are all sick, in vacation, or in a retreat), then get it reviewed after the fact, but get it reviewed still (and of course run automated tests — your infrastructure won't let yo

Docker 1.0 released yesterday. http://blog.docker.com/2014/06/its-here-docker-1-0/
Google Embraces Docker, the Next Big Thing in Cloud Computing
http://www.wired.com/2014/06/eric-brewer-google-docker/
Eric Brewer of Google says
- “Google and Docker are a very natural fit”
- "Google will combine Docker with its cloud computing services, Google App Engine and Google Compute Engine. "
- "That said, the importance of Docker can be hard for even seasoned developers to grasp."
- "Brewer says a developer technology hasn’t taken off so quickly and so enormously since the rise of the Ruby on Rails programming framework eight or nine years ago."

Keybase proof

I hereby claim:

  • I am anildigital on github.
  • I am anildigital (https://keybase.io/anildigital) on keybase.
  • I have a public key whose fingerprint is 245C 73B2 FCAC AD94 2E68 91E3 6E65 900C C5CB 06F3

To claim this, I am signing this object:

Today morning, I watched a keynote talk given by GitHub CEO and co-founder Chris Wanstrath. I was impressed. Here are his quotes in the talk.
'Great coders relentlessly iterate. Best coders relentlessly iterate with other people’
'It's not about fancier code, fancier tests. It's about fancier communication.'
'We iterate on software we build, we should also iterate on how we build it'
'Focus on your development workflow and collaboration, less on the tools or technology. It's about people.'
'Workflow of future: Getting shit done. Shipping awesome software.'
'It's not about software, its about people'
"It's not about tools, it's not about GitHub, it's about way people communicate with each other.

Better apps on the Mac/OSX

  • Skype
  • 1Password
  • Tweetbot
  • LimeChat
  • Day One app
  • iTunes (I have 209 music albums and I do use iTunes Match service so all music is on cloud)
  • Atom Editor
  • iTerm (better than Terminal.app)
  • Acorn Photo/Image editor

Notes on teaching both test/unit and RSpec to new Ruby developers

@tenderlove asked "Is it good to teach RSpec (vs t/u) to people who are totally new to Ruby?" I have experience suggesting that it is a good thing; after a short back and forth, it seemed useful to write it up in detail.

Background

This goes back several years, to when I was the primary Ruby/Rails trainer for Relevance from 2006-2009. I'm guessing that worked out to probably 6-8 classes a year during those years. Since then, RSpec has changed a fair amount (with the addition of expect) and test/unit has changed radically (it has an entirely new implementation, minitest, that avoids some of the inconsistencies that made test/unit a bit confusing during the time I'm writing about here).

I started out as an RSpec skeptic. I've never been afraid of what a lot of people denigrate as "magic" in Ruby libraries … to me, if you take the trouble to understand it, that stuff's just pr

$ docker run -d -p 8181:80 -p 8125:8125/udp jayofdoom/trusty-graphite-standalone
sudo docker ps -a | grep Exit | awk '{print $1}' | sudo xargs docker rm
echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
mkdir ~/local
mkdir ~/node-latest-install
cd ~/node-latest-install
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1
./configure --prefix=~/local
make install # ok, fine, this step probably takes more than 30 seconds...
curl https://npmjs.org/install.sh | sh
Something went wrong with that request. Please try again.