Category Archives: Computers and Internet

Making a new Mac geek friendly

This is a collection of settings that I usually use on my Mac to make them more geek and programmer friendly. They have been last tested on Mac OS 10.9.1

Feel free to use, copy, modify, distribute and critique.

If you have any additions, improvements or corrections, send them to macconfig at umeshunni dot com.

— Umesh Unnikrishnan                

Configure spaces

System Preferences -> Mission Control

Enable ‘Displays have separate spaces’

 

Change date/time in menu bar to include date

Preferences -> Date and Time Preferences -> Date Options : check ‘show day of the week’, ‘show date’

Change some annoying defaults

Run these commands in Terminal:

# Automatically hide and show the Dock
defaults write com.apple.dock autohide -bool true

# Show indicator lights for open applications in the Dock
defaults write com.apple.dock show-process-indicators -bool true

# Don’t automatically rearrange Spaces based on most recent use
defaults write com.apple.dock mru-spaces -bool false

#Disable the ‘Show dashboard as a space’ setting
defaults write com.apple.dock dashboard-in-overlay -bool true

#Disable ‘this file was downloaded from the Interwebs are you sure you wanna open?’ dialog
defaults write com.apple.LaunchServices LSQuarantine -bool NO
# Disable ‘smart quotes’
defaults write NSGlobalDomain NSAutomaticQuoteSubstitutionEnabled -bool false

# Save screenshots to the desktop
defaults write com.apple.screencapture location -string "${HOME}/Desktop"

# Save screenshots in PNG format (other options: BMP, GIF, JPG, PDF, TIFF)
defaults write com.apple.screencapture type -string "png"

# Enable subpixel font rendering on non-Apple LCDs
defaults write NSGlobalDomain AppleFontSmoothing -int 2

# Enable HiDPI display modes (requires restart)
sudo defaults write /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool true

# Finder: show path bar
defaults write com.apple.finder ShowPathbar -bool true

# Finder: allow text selection in Quick Look
defaults write com.apple.finder QLEnableTextSelection -bool true

# Show the main window when launching Activity Monitor
defaults write com.apple.ActivityMonitor OpenMainWindow -bool true

# Visualize CPU usage in the Activity Monitor Dock icon
defaults write com.apple.ActivityMonitor IconType -int 5

# Show all processes in Activity Monitor
defaults write com.apple.ActivityMonitor ShowCategory -int 0

# Sort Activity Monitor results by CPU usage
defaults write com.apple.ActivityMonitor SortColumn -string "CPUUsage"
defaults write com.apple.ActivityMonitor SortDirection -int 0

# Use plain text mode for new TextEdit documents
defaults write com.apple.TextEdit RichText -int 0

# Open and save files as UTF-8 in TextEdit
defaults write com.apple.TextEdit PlainTextEncoding -int 4
defaults write com.apple.TextEdit PlainTextEncodingForWrite -int 4

 

Common 3rd party software

Install Chrome:

cd ~/Downloads

curl -O https://dl.google.com/chrome/mac/stable/GGRO/googlechrome.dmg

open googlechrome.dmg
sudo cp -r /Volumes/Google\ Chrome/Google\ Chrome.app /Applications/

Configure Chrome:

Settings -> Personal Stuff -> Set up sync

Keyboard Shortcuts -> Applications -> Chrome -> map “command-u” to ‘view source’

Install and configure iTerm2:

Install iterm2: http://www.iterm2.com/#/section/downloads

#Download a decent theme for iTerm2
curl -O https://codeload.github.com/mbadolato/iTerm2-Color-Schemes/legacy.tar.gz/master

Go to Preferences > Profiles > General and mark the “ssh” URL scheme in the dropdown at the bottom. You’ll be prompted to confirm changing the default handler and you should be good to go.

Pick the homebrew theme.

Set window transparency to 25%, window size to 120×50

# Don’t display the annoying prompt when quitting iTerm

defaults write com.googlecode.iterm2 PromptOnQuit -bool false

add the following to ~/.inputrc to enable ctrl-left/right to move words

"\e[1;5D": backward-word

"\e[1;5C": forward-word

Install Sublime Text 2

http://www.sublimetext.com/2

Install XCode command line

xcode-select --install

Set up HomeBrew

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

brew doctor 

Install some useful ports

# ImageMagick - manipulate image files from the command line

brew install ImageMagick

Upgrading my 2010 Macbook Pro 13″

I have an older Macbook Pro that I bought around 3 years back. I bought it with grand plans of coding away in a coffee shop or editing photos on a plane back home, but between the fact that I do neither of those on a regular basis and the fact that I have 2 tablets, a (work) laptop and a desktop at home, this guy never got as much usage as his proud unibody self deserved.

Lately, it was starting to feel slower and slower, more so when compared to my snappy 15″ 2012 Macbook Pro Retina. So, rather than buy a new Macbook, I thought I’d swap out the 5400 RPM hard drive for an SSD drive and upgrade the RAM from 4GB to 8GB.

So, Here’s what I did:

Bought 8 GB of Corsair RAM, a 120 Gig SSD and a transfer cable off of Amazon (hooray, Amazon Prime!). Specifically, I bought
Corsair Apple 8 GB Dual Channel Kit DDR3 1066 (PC3 8500) 204-Pin DDR3 Laptop SO-DIMM Memory CMSA8GX3M2A1066C7

OWC 120GB Mercury Electra 6G SSD 2.5″ Serial-ATA 9.5mm Solid State Drive

and

Vantec CB-ISATAU2 SATA/IDE to USB 2.0 Adapter Supports 2.5-Inch, 3.5-Inch, 5.25-Inch Hard Disk Drives (Black)

In theory, I could have done without the SATA to USB cable, but having it made booting off of the old hard drive and cloning it into the SSD much easier.

Installing the RAM and SSD

The next step was to open up the laptop and install the RAM and SSD drive. Fortunately, the Internet is choke full of guides on how to do this. Here’s a couple that helped me:

Both of these are pretty self explanatory, but the one thing that tripped me up was that I didn’t have a torque screwdriver to remove the side screws on the hard drive and attach them to the SSD. I considered going without these screws, but thought of the SSD drive knocking around in the case didn’t seem that enticing. So, after a bit of experimentation, I managed to use a plier from an IKEA toolkit to remove and reattach these screws.

Cloning my old hard drive into the SSD

Finally once everything was firmly installed and the cover was screwed back on, I booted off of the old hard-drive, attached via the USB cable to the laptop. Note that since the old HD is attached via a USB 2.0 cable, this can be excruciatingly slow. Once the laptop booted up and I verified that the new RAM was detected, I rebooted again and hit Command-R on boot up to enter the MacOS utilities screen and clone the old HD into the new SSD. If your new SSD is smaller than your old HD (as mine was), you’ll need to adjust the partition size to make it smaller or the same size as your SSD’s primary partition – so make sure you have plenty of free space on the old HD!

This process took about an hour over the slow USB 2.0 connector. But once it’s all done, you can remove the old HD and reboot. And… everything just worked! The clunky old Macbook Pro is much faster (and quieter!) after this upgrade and I’m glad I went this route rather than plunk down a grand or more on a new laptop.

To TRIM or not to TRIM?

The one decision you need to make post-upgrade is whether or not to enable TRIM support. Apple, by default, doesn’t enable OS-level TRIM support on 3rd party SSD drives and you can find utilities on the Internet which will do this for you. However, some SSD manufacturers recommend that you DO NOT enable TRIM on their SSDs. OWC, the manufacturer of the drive I used, makes the same recommendation here, so that’s what I chose to do.

How To Get That Next Product Manager Job (at Google etc…)

About once or twice a week, I get a email or a LinkedIn question from someone asking me about Product Management roles at Google.

I used to spend 15-30 mins in a call with many of these folks, but then I found the following deck created by my colleague Shreyas Doshi which answers the most basic questions that people have:

So, if you’ve been wondering how to get that PM job at Google (or Facebook, Yahoo, Groupon, Zynga and other Silicon Valley tech companies), take a look at that deck and have the basics covered before you shoot a request to me (or your other favorite tech PM).

Here’s another good response – from Edward Ho on Quora:
Read Quote of Edward Ho’s answer to Google: What makes someone a great product manager at Google? on Quora

New Playboy Interview with Brin and Page

Fwded by someone at work… pretty funny,  but I still prefer the first interview they did (http://www.google-watch.org/playboy.html) especially given its consequences 🙂

 


 

April 1, 2006

 

Playboy Contributing Editor Dan Schlep met again with the Google founders at the Googleplex for a reunion interview. "As was the case the last time, Brin was playing a sweaty game of volleyball when I arrived,” reported Schlep. Dragged in shoeless from the court, Brin contemplated questions with great seriousness while occasionally stabbing a Google intern with a sharp fork. Schlep writes: "Throughout our conversation, he and Page, who wore pants, rarely sat down. Instead they stood up, leaned on their chair backs, climbed on their chairs and wandered about the windowed conference room. It’s apparently impossible to sit still when you have ADHD.”

PLAYBOY: Has Google become less fun because of quarterly reports and the scrutiny of investors?

PAGE:  What could be more fun that getting Scott McNealy to make a fool of himself on a stage begging us to buy some equipment from Sun? I mean Eric Schmidt agreed to clean up the jet after our last party just to be the executive on stage when Scott made a spectacle of himself.

BRIN: There are still bits of tofu in the carpet of the jet from that food fight.  Eric should keep his day job.

PLAYBOY: As I noted last time, you originally wanted no telephones at Google. How is that working out?

BRIN: That was Larry. He was dating our VP Marissa Meyer at that point and didn’t see the advantages of having women "cold call" him.

PLAYBOY: Do you subscribe to any particular management theories, or do you make them up as you go?

PAGE:  We watch a lot of movies like Monkey Business. I mean, when Groucho says: " Oh, I know it’s a penny here and a penny there, but look at me. I worked myself up from nothing to a state of extreme poverty." I mean its so profound. If he were still alive, we would make him our CFO.  On the investor relations side, I love it when Captain Corcoran says: "Stockholders, huh? Well, you look like a couple of stowaways to me…"

BRIN: Then Groucho says: "Well, don’t forget, my fine fellow, that the stockholder of yesteryear is the stowaway of today."  That is the unofficial motto in the executive cubicles in the Googleplex.  You can find that motto in the notes in the PowerPoint presentation from the last analyst day.

PAGE: We took that PowerPoint down. Remember?

BRIN:  Ohh yaah, …  I mean, we really use OpenOffice here exclusively– McNealy probably transferred the format to PowerPoint.  Eric says Scott is always doing that out of habit since it is standard practice at Sun. We had Scott create slides for us since he is so desperate to get that equipment order. We let him have the information since he is right that privacy is dead and people should get over it.

PAGE:  It’s so great to have Scott making statements like that about privacy since it makes us look reasonable when we know more or less everything about our audience.   I mean, McNealy is the Dr. Evil of privacy.   As an aside, Sun’s whole grid thing is a hoot!  The telephone companies just Made Scott man of the year hoping people buy all that connectivity.

BRIN: After he did that PowerPoint, I mean Open Office work, we took Scott on a snipe hunt. He may still be up in the hills holding the gunny sack waiting for snipe.

PLAYBOY: How will you avoid the mistakes of many other dot-coms? After their IPOs, employees became more focused on the stock price than on their jobs. Many of those companies are gone.

PAGE: Those companies are not good analogues for Google.  People like the former Chef for the Grateful Dead are not leaving Google because they are rich.

BRIN:  Errr, yes he did.

PAGE:  No wonder the food has gone to heck in a hand basket.  There are way less mushrooms in every dish..

PLAYBOY: But like you, these dot com failures were Internet-focused technology companies. What’s the difference?

PAGE:  Those companies did not have the right ratio to math geniuses to PR geniuses. Look, we’ve done the math on this.

PLAYBOY: The math?

BRIN: Yah it’s a big formula with lots of Greek letters in it.  You would not grok it.. I mean mathematics is made of 50 percent formulas, 50 percent proofs, and 50 percent imagination

PAGE: Math is like love; a simple idea, but it can get complicated.

PLAYBOY: Are you happy?

PAGE: Yes, finally. The dot-com period was difficult for us. We were dismayed in that climate.

PLAYBOY: What dismayed you?

PAGE: We had to pretend that Wired magazine was something we actually wanted to read.

PLAYBOY: Companies tried to buy you, too. Did you ever consider selling Google?

PAGE: Yes.  All of us wanted to sell but Eric.  He has this blood feud thing going with Redmond.  In private, he literally foams at the mouth when you mention Microsoft.

BRIN: It’s is like episode #35 of The Simpsons."Blood Feud" I think they called it. Eric is always insulting  Microsoft execs. In #35, Mr. Burns gets mad that Homer called him a "senile, bucktoothed, bony armed, liverspotted and chinless" but Homer never said anything about liverspots or Burns’s chin. Eric does the same thing.

PLAYBOY: Is your company motto really “Don’t be evil”?

BRIN: No.  It is: "Better to look good and be lucky, than be good."

PLAYBOY: Is it a written code?

BRIN: Yes, we programmed it in COBOL 97.  We have other rules, too.

PAGE: We allow people to spend 20% of their time staging PR stunts, for example.

BRIN: Speaking of PR, as for “Don’t be Evil,” we have tried to define precisely what it means to be a force for good, so our motto for PR purposes could be "do good"— but there is this guy Popper who says you can’t prove anything, only disprove things.

PAGE:  So we reversed "do good" to say "don’t be evil" so we could comply with Popper’s rule and actually prove it! [rich white guys high five each other]

PLAYBOY: Er, you can’t prove that either — do good and don’t be evil are the same thing.

BRIN: Look, we did not take philosophy classes. Ok?  We were in the lab programming.

PLAYBOY: Who ultimately decides what is "looking good and being lucky"? Eric Schmidt, your CEO, once said, “Looking good is whatever Sergey decides.”

PAGE:  Eric has no fashion sense and I’m a dork on these issues. That that leaves Sergey. Its was a process of elimination.

PLAYBOY: How does the process work?

BRIN: We scan the fashion trends in geekdom using Google images. Somebody’s always upset no matter what we do. We have to make a decision; otherwise there’s a never-ending debate. Some issues are crystal clear.  Let’s say we are choosing the music for the elevators. Echo and the Bunneymen and Devo, of course, rule. But then there is Elvis Costello– and all that politically incorrect stuff in his past. I mean Alison is a great song. but you need to draw the line…

PAGE: When the decisions are less clear and opinions differ, sometimes we have to break a tie. We throw a Google intern off of the Stanford clock tower and if he lands head first, the answer is yes. Tails, its no. If it is questionable how the intern landed, then we throw off another intern.  The Mayans and the Incas did this and they we very good with math for their time.

PLAYBOY: Who decides when you run out of interns to throw?

BRIN:  That’s not possible. OK? We have free Odwalla in the coolers.

PLAYBOY: I see. How are you "not evil"?

BRIN: In an Isaac Hayes sort of way, before he left the South Park cast due to Scientology concerns.

PAGE:   I wonder if we can get  Jerome "Chef” McElroy as the Google Chef now that he has left South Park Elementary school?

BRIN: I doubt he cooks vegan.

PLAYBOY:  What about these rumors that Google will buy Sun? Daniel M Harrison has speculated: "The prospects that search engine giant Google is due to buy the U.S.’s most sophisticated hardware company (sic) have been swirling around trading floors and Silicon Valley…  "Google is going into Financial Services and Healthcare!" …This is the last stage of the Java project!"

BRIN: This article originally appeared on Iowa Voice "the U.S.’s largest Republican blog." People are unclear whether the source is the most popular Republican blog, or a blog for large Republicans. Now before anyone jumps to conclusions, we do not favor any political party.  We are just as likely to make a fool out of Al Gore and his Current TV mess. But when you combine Sun and overweight Republicans, well, the situation is target rich…

PAGE:  There is a far greater chance of  Scott McNealy catching a snipe with that burlap sack than Google buying Sun.  [Rich white men high five and run off to the volleyball court ending the interview].

 

 

 

DRM Schmee-R-M

Problem:

The Wife hears a hot new hiphop tune on TV and wants a copy for herself.
Given that we’re entertaining some friends later in the day, bonus points for
getting them to listen to it as well.

 

Ye Olde Solution:

In the good old days, this meant

  1. A
    drive down to the local music store.
  2. Buying
    the CD (or *gasp* Audio Cassette) for $12.99
  3. Scurrying
    back home and
  4. Playing
    it on The Wife’s Walkman or CD player.
  5. and for
    the Bonus Points, on the Home Stereo when guests arrive.

Total costs: 1 hour of dressing up and driving around. $12.99 for 12
songs I didn’t want and irreparable harm to the environment in CO emissions,
plastic bags and packaging material.

 

Bottomline: All the driving around and spending $12.99 for a CD where
you liked only a single song sucks! But atleast you now have a physical copy of
the song that you can play wherever whenever you choose, can lend to like-minded
friends, can make a copy of to play in The Car and so on… provided the CD never
gets scratched, stolen or otherwise missing.

 

The iModern iSolution 360

As a geek, I

  1. Fire
    up my laptop
  2. Being
    a Law-abiding RIAA-fearing citizen, choose to fire up iTunes instead of
    BitTorrent
  3. Search
    for the song
  4. Provide
    Apple with my credit card number and…
  5. 30
    seconds later, I have an .m4p (??) song on my hard disk that instantly
    syncs over USB 2.0 to The Wife’s iPod.

So far, so good… right? Except that I want the Bonus Points and now have
to figure out how to get the m4p song playing on my home theater system.
Obvious solutions like hooking the iPod up to the system through a
2.5mm->component audio cable or Physical solutions like burning the m4p onto
a CD and playing it on the DVD player are totally out of the question since they
require dealing with the ‘analog hole’.

So, I think to myself… hey, this is easy. The Xbox 360 supports iPods,
right? So, all I have to do is hook the iPod upto the Xbox and I’ll have remote
controllable, hifi audio playing through my home theater system with a visualization
playing on the TV to boot!

So, I hook the iPod upto the Xbox. The Xbox downloads the update it
needs to support the iPod and then… the song I just bought doesn’t show up in
the Xbox’s Music menu! Another song from the same band that I had earlier..err…
ripped as mp3 onto the iPod shows up. Then it finally strikes me.. Of Course… ‘protected’
music can’t be played on any device… So, I go back to the PC and google for converters
for 30 minutes before I find some app that uses the iTunes extensibility mode
to attempt decoding the song to mp3. After it sucked up 100% CPU for 20 minutes
or so without any visible (audible?) output, it gave up… and so did I

 

Xbox 360 gripes

Chris Prillo has a good list of things he doesn’t like about the Xbox 360 at http://chris.pirillo.com/blog/_archives/2005/12/16/1453035.html.
 
My take on this:
#2: You can only download one thing at one time. This is incredibly annoying! especially the first time you boot up a legacy game like Halo 2 which then start to download each map pack one by one. I spent two days just getting the updates required for me to play Halo2 on Live!
 
#4: Why can’t I schedule the Xbox 360 to download new content for me automatically. This is yet another nicety that’s missing in the 360. I come home everyday and my Tivo has downloaded all the podcasts I care about and has done an overnight update of it’s lineup and any shows I’ve scheduled… So, why can’t the 360 do the same with it’s infinite processing power??
 
#12: There’s no easy way to boot up the console and go directly to the Blades. This is incredibly annoying as well. Especially if you just wanted to boot the box up to play some streamed music or look at some photos. I now have to sit through 5 minutes of NFS or Halo2’s (or worse – Quake 4’s unskippable) startup cinematics before I can get to my photos. Speaking of photos, that brings me to my personal favorite gripe:
 
#13: Why does the photo navigation UI suck so bad?? There’s no heirarchy, no favorites, it doesn’t remember the last set it was looking at and navigating or finding the folder you want to view is incredibly painful if you have 100+ folders of photos! I’ve given up on using the X360 for this and have fallen back to using the Tivo as my photo viewer.