Browsing articles tagged with " mac osx"

Setting Up My New MacBook Pro

By Rob Warner  //  Development, Mac, Software  //  1 Comment

I just bought a new MacBook Pro to replace my mid-2010 MBP. This is my first retina laptop, and it’s beautiful. I’d been waffling for awhile, but I’m glad I took the plunge.

I briefly considered transferring all my stuff over from the old MBP, but I figured it was time to start clean. I use my laptop primarily for development (Objective-C, Java, Ruby, Clojure, JavaScript, Web, . . .), writing, and a little bit of graphics work. Here’s what I did after walking through the setup wizard:

  • Go to the App Store and install all updates
  • Set the hostname (System Preferences > Sharing > Computer Name) to “Truth” — homage to Paul Pierce
  • Install Chrome Dev Channel
  • Install Xcode from App Store
  • Install Dropbox and let it sync
  • Set up links to config files:
    1. ~/.bashrc -> ~/Dropbox/config/.bashrc
    2. ~/.bashrc.local -> ~/Dropbox/config/.bashrc.local
    3. ~/.vim -> ~/Dropbox/config/.vim
    4. ~/.vimrc -> ~/Dropbox/config/.vimrc
    5. ~/.vimrc.local -> ~/Dropbox/config/.vimrc.local
    6. ~/.vimbundles -> ~/Dropbox/config/.vimbundles
    7. ~/.gitconfig -> ~/Dropbox/config/.gitconfig
    8. ~/bin -> ~/Dropbox/config/bin
    9. ~/.atom -> ~/Dropbox/config/.atom
    10. ~/.lighttable -> ~/Dropbox/config/.lighttable
    11. ~/Library/Application Support/Sublime Text 3/Installed Packages -> ~/Dropbox/config/st3/Installed Packages
    12. ~/Library/Application Support/Sublime Text 3/Packages -> ~/Dropbox/config/st3/Packages
    13. ~/Library/Application Support/Brackets -> ~/Dropbox/config/Brackets
  • From command line: echo ‘. “$HOME/.bashrc”‘ > ~/.bash_profile
  • From command line: defaults write -g ApplePressAndHoldEnabled -bool false
  • Change Caps Lock to Control
  • Set Key Repeat Rate to Fast (slider all the way to right) and Delay Until Repeat to Short (slider all the way to right)
  • Turn on display of ~/Library (open home in Finder, Cmd+J, check Show Library Folder)
  • Install Homebrew and packages:
    1. macvim (editor)
    2. git (source control)
    3. hub (source control for working with Github)
    4. leiningen (Clojure project manager)
    5. node (JavaScript development framework)
    6. wry ( command-line client)
    7. mongodb (NoSQL database)
    8. tig (text-mode git interface)
    9. mysql (RDBMS)
    10. tmux (terminal multiplexer)
    11. elixir (Erlang-based language)
    12. ctags (tag generator)
    13. markdown (markup language)
  • Install Homebrew Cask (thanks, @pittman!) and apps:
    1. tower (source control)
    2. evernote (note taker/junk drawer)
    3. appcode (Objective-C IDE)
    4. webstorm (JavaScript IDE)
    5. rubymine (Ruby/Rails IDE)
    6. marked (markdown viewer)
    7. path-finder (finder alternative)
    8. iterm2 (terminal alternative)
    9. kaleidoscope (diff viewer)
    10. codekit (less/sass/coffeescript autocompiler)
    11. fluid (make apps from websites)
    12. firefox (web browser)
    13. brackets (editor geared toward Web development)
    14. kiwi ( client)
    15. copy (cloud storage)
    16. hazel (automation utility)
    17. bbedit (editor that can edit plist files)
    18. calibre (ebook reader)
    19. balsamiq-mockups (interface mockup application)
    20. sizeup (window manager)
    21. alfred (launcher)
    22. lighttable (Clojure IDE)
  • Install others:
    1. Java 7 & 8 (language)
    2. Ubuntu Mono font (my current favorite programming font)
    3. rvm (Ruby version manager) and latest ruby
    4. safe (password management utility — gem install safe)
    5. Atom (editor)
    6. Sublime Text 3 (editor)
    7. Eclipse (Java IDE)
    8. viPlugin (Eclipse vi plugin)
    9. meteor (JavaScript framework)
    10. Macaw (Web development tool)
    11. Photoshop (graphics editor)
    12. MS Office (productivity suite)
    13. Google Drive (cloud storage)
    14. Box Sync (cloud storage)
    15. Snapz Pro X (screenshots)
  • Install App Store apps:
    1. Caffeine (prevent mac from sleeping)
    2. Archy (Google Docs management)
    3. Oyster (regex IDE)
    4. Paprika (recipe manager)
    5. Dash (documentation viewer)
    6. Unclutter (scratchpad/clipboard viewer)
    7. Glui (screenshots)
    8. Skitch (screenshots)
    9. Pixelmator (graphics editor)
    10. Sketch (vector graphics editor)
    11. CodeRunner (run code)
    12. Patterns (regex editor)
    13. Twitterrific (Twitter client)
    14. Requester (HTTP client)
    15. Todo (task manager)
    16. MarsEdit (blog editor)
    17. Base (SQLite client)
    18. OneDrive (cloud storage)
    19. OneNote (note manager)
    20. xScope (screen measurement utility)

Whew! That’s a lot of stuff, but I installed only the stuff I use (well, except for OneNote—I’m going to give that a whirl). That’s an awful lot of text editors, I know, but I hate to miss out. I left a lot of stuff out, too. Let’s see how long I go before I install something else!

EDIT: OK, so the nested lists look terrible, so I changed the nested ones to ordered. I also added xScope, which I had already installed but somehow missed on the list. I also noted that I had changed Caps Lock to Control and changed Key Repeat Rate and Delay Until Repeat.


Fixing Wireless in Linux, and Why This Should Matter to Apple

By Rob Warner  //  Linux, Mac  //  No Comments

In this post, I talked about my travails getting my son’s USB wireless adapter working in Linux. A few weeks later, it stopped working. Puzzling. I opened a terminal and ran:


The computer duly reported that it saw the USB wireless adapter. Then, I ran:

ndiswrapper -l

Yup, the driver was loaded. I checked /etc/modules and verified that ndiswrapper was listed. At that point, I had dangerously stretched my sysadmin abilities. Frustration descended, I set the computer aside, bought my son a MacBook Air, and sent him to college.

Last night, I finally got around to looking into the problem again. The device was still present, and ndiswrapper still had the driver loaded. I then tried:

sudo modprobe ndiswrapper

I got an error message: something about no such module existed. Hmm. I decided to rebuild and reinstall ndiswrapper. As I ran:

make && sudo make install

I realized that I’d probably updated his Ubuntu installation, and it probably included a kernel update, so the new kernel didn’t have that module. Duh. By chance I’d hit upon the solution. When I than ran:

sudo modprobe ndiswrapper

it worked fine and survived a reboot. Total rookie mistake.

Things like this, though, are IMHO why so many developers have moved to Mac OS X. We want the power of Unix without its headaches. We want to write code, not administer our machines. We don’t want to download and compile wireless drivers and figure out why we can’t get on the ‘Net. We don’t want to follow the politics of Gnome 3 or decide whether to switch to KDE or Xfce. Don’t get me wrong: Linux has come a long way and requires far less care and feeding than it used to, and there’s a whole lot to love about it. But the lower-maintenance Mac OS X is far too alluring for many developers, including myself.

After I wrote this, I came across Miguel de Icaza’s “What Killed the Linux Desktop.” And now I see it made Slashdot. Take the time to read this, keeping in mind that this guy is no Linux lightweight. He started the GNOME project, after all. Take that, Linux! You’re over! Apple won!

Yes, Apple has claimed a ton of developers that used to run Linux as their primary OS. They’ve also converted scads of developers from Windows to Mac OS X. And they’ve gotten a little too smug about that. See, the Linux expatriates can always go back to Linux. Even klutzes like me can administer our own Linux machines, keep things running, and get lots of development done. What’s more intriguing, though, is that former Windows users have now been trained, thanks to Apple, in all kinds of Unix-y things, and would now be far more comfortable in Linux than they would have been before. Apple might have won, but the game isn’t over.

When people talk about Apple’s overwhelming recent success, they point to the iPod, the iPhone, the iPad, and Mac OS X. Certainly all those are key, but that list ignores an essential ingredient that bedevils BlackBerry, Windows Phone Whatever, and even to an extent Android: the developers. People don’t generally buy an iPhone or an iPad or a Mac; they buy what an iPhone or an iPad or a Mac can do for them, which depends on apps. And a healthy app ecosystem. And app developers. Developers are almost invariably a leading indicator of a platform’s eventual success.

Apple has recently gone some directions that, while perhaps consumer-friendly, could be interpreted as developer-hostile. If Apple’s trajectory continues toward iOS-ifying Mac OS X and the App Store, developers may sour on Apple. If the Mac App Store becomes the only fount for installing Mac OS X apps, the developers are gone.

Where will we go? While Ballmer is betting on Windows 8, and certainly Windows 8 will claim some number of developers, most will go where bash (OK, or zsh) is a first-class citizen, Rails runs hiccup-less, and you can develop applications without Visual Studio (OK, hyperbole, but c’mon–it’s not far off). I see a Linux laptop in my future–assuming I can get it to connect to the Internet.


Google snatches up Sparrow team to work on Gmail | Internet & Media – CNET News

By Rob Warner  //  iOS, Mac, Software  //  No Comments

Google snatches up Sparrow team to work on Gmail | Internet & Media – CNET News: “Leca says that the company will continue to make Sparrow available, and keep it up and running with support, though he did not offer any details about the addition of any new features in the months ahead.”

Here’s a snippet of the email I got:

We will continue to make available our existing products, and we will provide support and critical updates to our users. However, as we’ll be busy with new projects at Google, we do not plan to release new features for the Sparrow apps.

I can’t view this as anything but bad news for Sparrow users. Like me. I use Sparrow on both the Mac and the iPhone. And now they’re dead. And this is why the Open Source guys are right. Sigh.


Mac Bundle Season

By Rob Warner  //  Mac, Software  //  No Comments

I know of four Mac OS X software bundles on sale right now:

  • MacUpdate ($49.99)
    • Parallels Desktop 7
    • BusyCal
    • ScreenFlow 3
    • Civilization V
    • Jaksta
    • Espionage 3
    • Speed Download 5
    • Attachment Tamer 3
    • KeyCue 6
    • A Better
    • Finder Rename
    • My Living Desktop 5
  • TheMacBundles ($39.95)
    • Bevy
    • Calibrate
    • CallItADay
    • CuteClips
    • Clean Text
    • DiskTracker
    • FolderGlance
    • FX Photo Studio Pro
    • SMART Utility
    • TopXNotes
  • ProductiveMacs ($39.99)
    • RapidWeaver
    • DEVONthink
    • Printopia
    • MailTags
    • HoudahSpot
    • Trickster
    • MacJournal
    • Voila
  • Bundle Hunt ($49.99)
    • iStopMotion 2
    • LittleSnapper
    • TotalFinder
    • Default Folder X
    • Typinator
    • Smashing E-Book Bundle
    • Keyboard Maestro
    • GlyphOcean
    • ThemeFuse
    • PhoneView
    • Picons 1, 2, 3

I’ve linked to the sites, which link to the apps. None of them are affiliate links–I have no financial interest in any of this. With this many software deals afloat simultaneously, though, I wanted one place where I could see all the software!


XVim — Vim in Xcode

By Rob Warner  //  Development, iOS, Mac, Software  //  No Comments


I work as a freelance Objective-C developer (amongst other things), so I find myself butting heads with Xcode on a regular basis. Recent releases have integrated several separate applications that betrayed Mac OS’s NeXT legacy, which means Xcode now feels almost the exact opposite of Vim.

(Via usevim)

Oooh . . . this is intriguing. I try to set everything in my world to vim keybindings, but that hasn’t been an option in Xcode. I’ll have to give this one a whirl.


If there’s any doubt that developers have moved to Mac OS X . . . .

By Rob Warner  //  Development, Mac  //  No Comments

A Kickstarter project that caused buzz amongst developers is Light Table, a development IDE that aims to fundamentally shift how we build software. As of right now, it has 5,726 backers (including me) and pledges of $256,145 (the project’s lead, Chris Granger, was seeking $200,000). Paul Graham’s YCombinator noticed the project and included it in its 2012 summer program. If you develop software, you should follow those links, watch the videos, and find out more.

Granger just sent a survey to his backers that said:

We’re trying to get a sense of what OS’s people are going to want to use light table on so we can focus on the most important ones first. Mind filling in this survey? It’s only one question 🙂

That single question was: Which operating systems would [you] use Light Table on?

You could obviously vote for more than one operating system, and the results show that many did. Limitations of the survey software allowed only some of the backers to vote; I didn’t click the link in time to have my say. I got to see the results, though, which are:

  1. OS X Lion: 60.05% (1201 votes)
  2. Windows: 39.25% (785 votes)
  3. Ubuntu: 33.65% (673 votes)
  4. Linux (other than Ubuntu): 16.65% (333 votes)
  5. OS X Snow Leopard: 13.45% (269 votes)

Combining different flavors of the same OS accentuate the migration:

  1. OS X: 73.5%
  2. Linux: 50.3%
  3. Windows: 39.25%

So, an IDE whose goal is to revolutionize software development interests almost twice as many Mac OS X developers as Windows developers. I find that noteworthy and telling.

Which operating systems would use Light Table on?


How Steve Ballmer Predicted the Downfall of Mac OS X

By Rob Warner  //  Development, iOS, Mac, Rails, Ruby, Software  //  1 Comment

Back in the year 2000, Steve Ballmer danced, as they say, like a Monkey Boy, chanting, “Developers! Developers! Developers!” in an infinite loop. Sweating like an offensive tackle in August two-a-days, he hopped and pranced and bellowed his devotion to developers. He may have his struggles running a business, but Ballmer understands how important developers are to a platform, and that devotion, along with the ever-excellent Visual Studio (yes, I said that without sarcasm), keeps the Windows developer stable stocked with thoroughbreds. 

Switch gears. The reasons for Apple’s rebirth are often recounted as:

  • Steve Jobs’s genius
  • The iPod
  • The iPad
  • Jony Ive’s brilliant design
  • Apple’s insistence on simplicity

These reasons have all played a part, no doubt, in Apple’s ridiculous ascent, but absent from this list are Ruby on Rails and TextMate, which either run best (Ruby on Rails) or only (TextMate) on Mac OS X. Apple owes more to Rails and TextMate than anyone lets on. Why? Back up a few years, to around 2005. Just as enterprise developers everywhere began to tire of XML and WSDLs and EJBs and SOAP incompatibilities and JSP syntax and all the other stuff that Java Enterprise Edition uses to yank data from a database and show it on a web page, Rails poked its head out of 37signals and started a cult. People called it magic and mind-reading and crowed about its convention over configuration. Oh, it was so easy to create web apps with, and then oh, it was so easy to write them in TextMate! This fledging cult pushed its dogma until developers everywhere dumped Windows and Dell and even Linux and started tucking MacBook Pros into their backpacks. Speakers at developer conferences soon delivered their talks to a sea of shining silver rectangles sporting glowing Apple logos. Developers had moved to Mac OS X.

All these Rails developers on MacBook Pros needed tools, and discovered they could build them. Xcode was a download away, and you could write shiny apps, so why not? Then the iPhone came and the iPhone SDK that changed its name to the iOS SDK when it married the iPad, and the Xcode acolytes stuffed the iOS App Store full of apps. Some people prospered, most got by, but consumers bought iPhones and iPads faster than Apple could produce them because they could always find “an app for that.” After all, people don’t run OSes; they run apps, and Apple has a bunch of ’em.

Switch gears again. TUAW reports today that hotkey programs have until month’s end to enter the Mac App Store. After that, it seems that Apple will graciously allow grandfathered apps to have their bugs fixed, but can’t accrete any new features (hotkey-related or otherwise). The reports are a little fuzzy, and may pan out to be inaccurate, but they’re alarming. Why? Because developers love keyboards. They love automation. They drift to the mouse as little as they can get away with, express undying love for their keyboards, and never perform manual tasks that they can write a script for. And Apple is telling them they care more about protecting people that don’t know how to protect themselves from random downloads and phishing scams and trojan links. And someday soon they may rip Alfred from us and make us gesture our way to Launchpad and click on apps to launch them and then we’ll really have some gestures for Apple.

Note to Apple: don’t do this. Where developers go, consumers eventually follow. Right now you have the developers. Don’t push us away. And don’t think we wouldn’t dream of going elsewhere. As long as we have bash, vim, and a compiler, we’re pretty mobile. And we hate the mouse–and your mice suck anyway.


I'm Rob Warner, and I'm a software developer. I live in Jacksonville, Florida, and work for Availity, LLC. The postings on this site are my own and do not necessarily reflect the views of Availity.