Shell scripts for automated OSX machine setup. Alchemists passionate/focused ruby development.

What kind of leaks does automatic reference counting in Objective-C not prevent or minimize?

In the Mac and iOS platforms, memory leaks are often caused by unreleased pointers. Traditionally, it has always been of utmost importance to check your allocs, copies and retains to make sure each has a corresponding release message.

The toolchain that comes with Xcode 4.2 introduces automatic reference counting (ARC) with the latest version of the LLVM compiler, that totally does away with this problem by getting the compiler to memory-manage your stuff for you. That's pretty cool, and it does cut lots of unnecessary, mundane development time and prevent a lot of careless memory leaks that are easy to fix with proper retain/release balance. Even autorelease pools need to be managed differently when you enable ARC for your Mac and iOS apps (as you shouldn't allocate your own NSAutoreleasePools anymore).

But what other memory leaks does it not prevent that I still have to watch out for?

As a bonus, what are the differences between ARC on Mac OS X and iOS, and garbage collection on Mac OS X?

Source: (StackOverflow)

Using Caps Lock as Esc in Mac OS X

How do I make Caps Lock work like Esc in Mac OS X?

Source: (StackOverflow)

Where can I find "make" program for Mac OS X Lion?

Just upgraded my computer to Mac OS X Lion and went to terminal and typed "make" but it says: -bash: make: command not found

Where did the "make" command go?

Source: (StackOverflow)

Best UML Application for MAC OSX / Cross Platform [closed]

What is the best mac based or even better cross platform UML Application available both costed and opensource / freeware?

Source: (StackOverflow)

SQL Client for Mac OS X that works with MS SQL Server [closed]

How can I connect to a remote SQL server using Mac OS X? I don't really need a GUI, but it would be nice to have for the color coding and resultset grid. I'd rather not have to use a VM.

Is there a SQL client for Mac OS X that works with MS SQL Server?

Source: (StackOverflow)

Installed Java 7 on Mac OS X but Terminal is still using version 6

I've installed JDK 7u7 downloaded from oracle's website. But after installation, the terminal is still showing java version 6

$java -version
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10-428-11M3811)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01-428, mixed mode)

any idea why java 7 is not showing up?

Ans: OK, the problem has been resolved. Here is the answer: I found that my Terminal has a .bash_profile and the java home variable is set to 1.6

export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home"

So this is the line causing the problem every time I opened a new terminal window. Simply remove this line will solve the problem. You still need to follow what @aleroot said, but if that doesn't work for you, check the .bash_profile (or .bashrc) setting file to see if you've previously exported any java version.

Source: (StackOverflow)

Find (and kill) process locking port 3000 on Mac

How do I find processes that listens to/uses my tcp ports? I'm on mac os x.

Sometimes, after a crash or some bug, my rails app is locking port 3000. I can't find it using ps -ef... How do I find the stupid thing and kill it, brutally... ?

When doing rails server I get

Address already in use - bind(2) (Errno::EADDRINUSE)

2014 update:

To complete some of the answers below: After executing the kill commands, deleting the pid file might be necessary rm ~/mypath/myrailsapp/tmp/pids/server.pid

Source: (StackOverflow)

Getting "Can't connect...through socket '/tmp/mysql'" when installing MySQL on Mac OS X 10.6 with Homebrew

So I'm trying to install Mysql through homebrew, using the standard procedure: brew install mysql

But running Mysql gets this well-known error:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (38)

I'm trying this on a fresh new computer. There isn't a /etc/my.cnf, but editing the socket locations does seem to affect the above error message (but doesn't fix the problem).

Any other basic steps I missed here?

Source: (StackOverflow)

How to use/install gcc on Mac OS X 10.8 / Xcode 4.4

I have install Mountain Lion (Mac OS X 10.8) and now gcc doesn't seem to be available anymore. I've also installed Xcode 4.4 so there is no more /Developer directory.

I need gcc both for mac ports and for ruby gems (that have native extensions).

Does Xcode 4.4 include gcc or is there a way to install gcc?

Source: (StackOverflow)

Core Data vs SQLite 3 [closed]

I am already quite familiar with relational databases and have used SQLite (and other databases) in the past. However, Core Data has a certain allure, so I am considering spending some time to learn it for use in my next application.

Is there much benefit to using Core Data over SQLite, or vice versa? What are the pros/cons of each?

I find it hard to justify the cost of learning Core Data when Apple doesn't use it for many of its flagship applications like Mail.app or iPhoto.app - instead opting for SQLite databases. SQLite is also used extensively on the iPhone.

Can those familiar with using both comment on their experience? Perhaps, as with most things, the question is deeper than just using one over the other?

Source: (StackOverflow)

Eclipse hangs at the Android SDK Content Loader

I've been working with Eclipse 4.2 (Juno release 20120920-0800) on OS X 10.8.2 for a few weeks now, building apps for Android 3.0 and above. I have a quad core i7 MacBook Pro with an SSD, so performance is not an issue. Everything was fine.

At some point I imported an Android project that required Android 2.2, so I installed that using the Android SDK manager (v.21). Ever since then, working with Eclipse takes forever. First of all, it will print the following in the status message at the bottom right:

Android SDK Content Loader: (0%)

This takes two minutes or so. The specific message is "Check Projects" and while it's doing that, all Android projects are highlighted in red, because the Android resources aren't found. Then, it proceeds with:

Loading data for Android 2.2 (100%)

This will stay for a couple of minutes. Then it goes on to do the same with Android 3.1 and other SDK versions I have installed. It basically hangs whenever the first autocompletion kicks in (e.g. after typing System.) or when I access the Android preferences before it has loaded.

Here's the state of my Android SDK:

What I've already tried:

  • Reinstalling the Android SDK (via Homebrew), thus deleting /usr/local/Cellar/android-sdk completely.

  • Reinstalling the AVD plugin (v.21) from scratch.

What can I do to find out about the source of these problems and get back to a nice and clean state?

Source: (StackOverflow)

Installing Java on OS X 10.9 (Mavericks)

I have installed the JDK on Mac OS X v10.8 (Mountain Lion). When I upgraded it to Mac OS X v10.9 (Mavericks) and ran java -version in the terminal, it showed:

No Java runtime present, requesting install.

Then I manually installed the JDK (1.7) on my Mac. It seems that the installation worked fine. When the installation was done, I opened the terminal and typed java -version as well. It also showed the same error:

No Java runtime present, requesting install.

How can I solve this problem?

Source: (StackOverflow)

What should I set JAVA_HOME to on OSX

Many Java applications that use shell scripts to configure their environment use the JAVA_HOME environment variable to start the correct version of Java, locate JRE JARs, and so on.

On OSX 10.6, the following paths seem to be valid for this variable


Some of these are symlinks to the actual current VM (as defined in the Java Preference pane).

But which one should be used—or is it okay to use any of them?

Source: (StackOverflow)

Who is listening on a given TCP port on Mac OS X?

On Linux, I can use netstat -pntl | grep $PORT or fuser -n tcp $PORT to find out which process (PID) is listening on the specified TCP port. How do I get the same information on Mac OS X?

Source: (StackOverflow)

Xcode 4.4 and later install Command Line Tools

How do I get the command line builds tools installed with Xcode 4.4 / Mac OS X v10.8 (Mountain Lion) or later?

Unlike Xcode 4.3 there is no installer (it's just a bundle).

It looks like all the command line tools are there (in the bundle, under Contents/Developer), but none of the appropriate environment variables set to use them.

Is there a script somewhere I can run that will setup my environment to support building from the command line?

Source: (StackOverflow)