Tag Archives: OSX

Favorite OSX Applications

Here are a few of my favorite Mac applications. These are mostly generic applications useful to most people using a Mac. I do of course have plenty of task-specific and domain-specific applications I use, but those are a topic for a later post.

Clipboard (cut-and-paste) history

Jumpcut

There are many applications that do this, or do this as part of doing all kinds of other application-launching tasks, but this simple utility is the one I’ve used forever. I cannot imagine how people use Macs (or any computer) without a clipboard history.

Online backup

Arq

This is a straightforward and reliable backup tool that let’s use use backends like Amazon and Google for data storage.
Sure, I have a nice little Time Capsule for local backups, but repeat after me “It’s not backed up until it’s offsite”. And using something like Amazon’s Glacier storage means it can be economical to back up large data sets.

Retina Mac Display Resolution Setting

Eye-Friendly

Yes, the Settings app lets you set display resolutions, but with nowhere near the level of control that this utility provides.

Disk Usage

DaisyDisk

If you want to see what is using up space on your disk, this tool is a beautiful way to do it!

Disk Cloning

Carbon Copy Cloner

So there are really three pillars that make up a comprehensive backup strategy.

  1. Local and very frequent – Time Capsule
  2. Offsite – Arq
  3. Local and immediate restoration – Carbon Copy Cloner

Carbon Copy Cloner is the tool to use for making a bootable backup, or when migrating to a new hard drive.
If you are in a situation where waiting to restore from a Time Capsule, or offline, would result in excessive downtime, a CCC backup is the fastest way to get things working again.

Monitor Everything

iStat Menus

When you want to go many many steps beyond Apple’s Activity Monitor, iStat Menus is there.
Incredible detail and monitoring of your network connection, voltages, temperatures, memory, CPU and more.
Maybe it’s just my love of gauges and dials, but I really like knowing whats going on inside the shiny box.

Other Tools

In no particular order, here are a few other tools that I find useful, but not everyone will:

  • Simplenote by Automattic
  • The Unarchiver by Dag Agren
  • Transmit by Panic
  • VLC

Cross-Compiling for BeagleBone Using a Linux VM on the Mac

BeagleBone Cross Compiling using OSX on the Mac (using Linux)

Although it may seem more complicated, I decided the best way to cross-compile from my Mac would be to do it from a Linux system.

I would of course love to have my BeagleBone cross-development environment running directly on OSX, but that’s an effort for another day – my goal here was to be able to cross-compile for the BeagleBone.

Yes, in theory this should be possible on a Mac since it’s Unix-based, but it appears to me that may be more pain. More pain than just setting up an Ubuntu system using VMWare Fusion anyway. This is quite easy these days – both VMWare and Parallels make it almost effortless. There are many many resources on how to do this, so I’m not going to cover that here.

With Ubuntu 12.04 running happily in a VMWare VM on my MacBook Pro, away I went.

So to just cross-compile, it doesn’t appear that you really need the OpenEmbedded and Angstrom kernel stuff, so I went with just the Angstrom pre-built toolchain available at:
http://www.angstrom-distribution.org/toolchains/

I used angstrom-2011.03-i686-linux-armv7a-linux-gnueabi-toolchain.tar.bz2
This is the 32-bit version, which matches my Ubuntu VM setup. There is a 64-bit version there as well, if you are running a 64-bit version of Linux on your host system.

Step-by-Step

On the Cross-development Host

Extract the pre-built angstrom toolchain:

    $ cd /
    $ sudo tar -xf <path to the angstrom toolchain>

Which creates the new directories /usr/local/angstrom and /var/lib/opkg.

Run the environment setup script, which puts the new tools in the path as well as sets up several other environment variables:

    $ . /usr/local/angstrom/arm/environment-setup

Create a simple “Hello, world” program using whatever editor you prefer. I named mine “hello.c”.

    #include <stdio.h>

    int main()
    {
        printf( "Hello, worldn" );
    }

And finally, do a test build.

    $ arm-angstrom-linux-gnueabi-gcc hello.c -o hello

This should result in an executable file named hello. (This is a Csource file, so I used gcc, but you can also change the gcc at the end of the command to g++ to compile C++ source code.

On the BeagleBone

If you transfer the executable binary output file hello to your BeagleBone (e.g. via FTP), you should be able to run it and see the text “Hello, world” printed out in the BeagleBone terminal.

    $ ./hello
    Hello, world

Resources

This guide is based on bits of information gleaned from a variety of sources, including:

Linux To Go
electrons on radio
Trey Weaver’s Blog
gpio.kaltpost.de

Thanks to everyone who has blogged about their experiences with the BeagleBone!

BeagleBone and the Mac – Part 2

The ongoing BeagleBone saga, part 2

(As viewed from a Mac)

SSH

To connect an SSH terminal session from the Mac is as easy as:

    ssh root@beaglebone.local

This is typed in a Terminal shell on the Mac of course.

To terminate the session, type the “escape” character followed by a period. The escape character is tilde by default, so type this to end the session:

    ~.

Lua

To install Lua on the BeagleBone:

    opkg install lua5.1

Ò

BeagleBone and the Mac

Last week, my cool little BeagleBone arrived from Adafruit. This post is my attempt to describe getting the BeagleBone set up on a Mac with OSX.

Not everything I’ll be writing about is necessarily unique to using it with a Mac (versus say, Windows or Linux), but that’s obviously going to be my perspective since I’m a Mac guy 100%.

The general tasks look like this:

  • Download the latest OS to a Micro-SD card.
  • Install USB serial driver on the Mac
  • Connect the BeagleBone to the USB port
  • Open a serial terminal to the USB port
  • Talk to the BeagleBone!

Out of the Box

A New Pre-Built Linux Image

As the BeagleBone “Getting Started” guide suggests, the Linux image that comes pre-installed on the SD card that comes with the BeagleBone may not be the latest available.
You can download a more recent image from the links in the guide. Once you do, it needs to be written to the SD card.

To write the image to the SD card, it first needs to be unmounted.

    diskutil unmount /volumes/YourCardNameHere

Then, write the image to your SD card. Note that the diskXXX should be the actual disk device assigned when the SD card is connected.
This can be found a couple ways. You can use the “Disk Utility” application, or the command line df command.
These may show you the partition, something like disk7s2. You want to entire SD card, not any partitions so drop the s2 part.

    gunzip -c Angstrom-Cloud9-IDE-eglibc-ipk-v2012.01-core-beaglebone-2012.01.11.img.gz | dd of=/dev/diskXXX bs=4096

USB Serial Drivers

For my Lion setup, all I needed to install were the drivers that came with the BeagleBone.

These were on the USB “drive” that appears when you connect the BeagleBone to your Mac, as well as available from the BeagleBone website FTDI_Ser.dmg

Serial Terminal

The command line program screen makes a pretty handy serial terminal.

    screen /dev/tty.usb*B 115200

I set up my ~/.screenrc file as follows:

    termcapinfo xterm* ti@:te@
    autodetach off

The first line causes the scrollbars in the terminal window to work for scrolling back the serial terminal text lines. (See this stackoverflow post for details on why this is needed)

The second line will cause the screen session to terminate (rather than just “detach”) when you close the Terminal window.

Both of these are behaviors you probably want.

Custom Terminal Settings

You can also set up a custom set of terminal settings. I defined a set that made the window larger, and – most importantly – executed the screen command automatically.

SSH

ssh root@beaglebone.local

Ethernet Connection

The BeagleBone uses DHCP to get an IP address from your local network. (assumes your local network is set up to do that of course – most are)
To connect to it via a browser etc you need to know its IP address. Here are three ways to do that.

  1. Use a local name
  2. Display the assigned IP address using the USB-serial shell
  3. Look at the addresses assigned by your router

In my case, the router on my network is an Apple Time Capsule. I mention this just in case your router works differently.

The “local name” scheme works great. The BeagleBone identifies itself as “beaglebone” to the DHCP server. I can connect to my BeagleBone as beaglebone.local.

Alternately, using the command ifconfig via the USB-serial shell will display the IP address assigned to the BeagleBone’s ethernet port. (at the moment, mine is 10.0.1.2)

The third option is router-spcific. In the case of the Time Capsule, run the Airport Utility application on the Mac. Select “Manual Setup” for the TimeCapsule, got to the “Advanced” tab, then “Logging & Statistics”. On that screen, select DHCP Clients and you’ll see a list of devices and their assigned IP addresses. You will also see the client ID, which in this case is “beaglebone”.


Next Steps

These will include an FTP server, Mercurial, and perhaps an editor like pico.

OSX Lion

Cannot believe that Apple releases OSX Lion on the day I’m headed to Florida! Guess I’ll just have to be satisfied reading John Siracusa’s review on Ars Technica.
It does tempt me to take my trusty old MacBook Air with me, but not sure I want to try downloading an OS over hotel WiFi.
And speaking of MacBook Airs, the upgraded models announced today look really sweet. I don’t need a new laptop, but I sure want one.

OSX Tiger

Well, I loaded Mac OS Tiger this weekend.

All seems to have gone smoothly, other than iPhoto refusing to run afterwards.
(I expected to find some incompatibilities, but not with Apple software!)

Found a message from someone who had a similar issue, and they resolved it by reloading iPhoto, which is what I did. (deleted the old app and its preferences before re-installing).

That worked, but then of course I needed to update from 5.0.0 on the DVD to 5.0.2 the current release. Software update thought I still had 5.0.2. loaded, so I had to download the updater from Apple’s website and run it manually.

Now iPhoto seems pretty happy.

Dashboard is very slick, Spotlight seems good too – not much experience with it yet.