Monday, March 27, 2017

My experiences with migrating from ESXi 6.5 to SmartOS build: 20170315T210557Z (Part 1)

Greetings tech junkies,

After being a long-time ESXi user, I have decided to migrate to SmartOS.  In a nutshell, my reasons are:
  1. Great respect for the Illumos platform (true enterprise UNIX, ZFS, zones, dtrace, etc.)
  2. Wanting to use containers primarily as opposed to only fully-virtualized HW VMs
  3. Preferring VM storage to be stored in local ZFS pool (vmfs kinda sucks by comparison and I have less regard for the idea of scaling to external iSCSI devices)
  4. Wanting to try something different
  5. Needing a good challenge
  6. Geekius Maximus

With that being said, ESXi is a great hypervisor for beginners - it's easy to use, has a great GUI, has free versions that are perfectly adequate for most users, etc.  I can't say enough good things about it, honestly.

That being said, I tihink SmartOS is going to serve me better.  I want to run more containers and ESXi doesn't have a container platform.  It virtualizes hardware, and that's pretty much it. 

With SmartOS, I can import LX container datasets that are premade and run them with virtually bare-metal performance, or delegate certain resources to them for resource sharing reasons, etc.  What's more, I can use a  container to load LXC, OpenVZ or Docker and not have to virtualize the hardware on which to run another container platform (I think I'm going to load Docker on Alpine, myself... surprised?)

I also like that SmartOS runs in memory off of a USB drive, which makes it snappy, easy to upgrade, and not use up any of my local storage space (one of the things I really like about ESXi)

So anyway, SmartOS is pretty awesome if you've ever read anything about it.  In fact, if you're here I'm sure you've heard of it before.  There's not a whole lot of documentation about it on the web though, or real-life experiences, hence my decision to write up this basic experience migrating from ESXi to SmartOS and all the steps I had to go through to get there. 

Here's what I did:

I had two VMs I really use a lot that I want to keep and don't want to have to re-build (at least not at first). They are:

Debian 8 64-bit (my central Dropbox machine that automatically polls and downloads files from an FTP server for work)
XPEnology 5.622 (basically a Synology Diskstation on different hardware that I use for all my home cloud goodness)

To start, I followed this little guide here:

First, download a copy of ovftool from the VMWare website - it's available for Linux, Mac and Windows. Install it once you've downloaded it.  I'm using Debian 8 (Stretch), so I:

$ chmod +x VMware-ovftool-4.0.0-2301625-lin.x86_64.bundle

$ sudo ./VMware-ovftool-4.0.0-2301625-lin.x86_64.bundle

and follow the helpful prompts.  

Then, make sure if you do this you have plenty of room left on your current machine:

$ df -h 

Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           788M  9.4M  778M   2% /run
/dev/sdb5       126G   66G   54G  56% /
tmpfs           3.9G  326M  3.6G   9% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sdb2        96M   25M   72M  26% /boot/efi
tmpfs           788M  4.0K  788M   1% /run/user/117
tmpfs           788M   28K  788M   1% /run/user/1000
/dev/sdc1        15G   32K   15G   1% /media/avery/4321-9E9E

OK, looks like I've got plenty of room, so I invoke:

$ ovftool vi://yourESXiIPorFQDN/VMname BackupName.vmx

Enter login information for source vi:///
Username: ESXiUserName
Opening VI source: vi://ESXiUserName@:443/Debian
Opening VMX target: Debian.vmx
Writing VMX file: Debian.vmx
Transfer Completed                    
Completed successfully

(insert pitfalls here!) Please note, there are a few caveats: 

VMWare paravirtualized SCSI controller gives the following error:

Opening VMX target: Debian.vmx
 - Line 48: Unsupported virtual hardware device 'VirtualSCSI'.
 - The guest operating system 'debian8_64Guest' is not supported.
Completed with errors

I solved this by deleting my SCSI controller after assigning the hard disk to another SCSI controller (LSI parallel worked fine).  This can be really annoying because the attempted clone prevents the VM from being able to be edited.  I'm not sure if there's a better way to abort the migration process, but I started the VM and then powered it off and that got me back to a place where I could then edit it. 

Here's another thing - if you're using an unsupported version of Debian, like I was (Stretch isn't out yet), be sure to downgrade to Debian 7 64-bit in edit-->VM options-->General before you try and migrate using ovftool (v8 still works fine under v7).  Otherwise you'll end up with something like this: 

Opening VMX target: Debian.vmx
 - The guest operating system 'debian8_64Guest' is not supported.
Completed with errors

After you wait for a while for your VM's used hard drive space to get migrated to your local drive (vmdk file should be only used space and not entire allocated virtual space), you can grab qemu-img (which is readily available in Debian/Ubuntu apt repositories) and check out the specs of the VM.  This will be useful for creating your VM in SmartOS (you have to make a VM with the stated space of the VM to be able to migrate the VM - not the size of the resulting vmdk file). 

$  qemu-img info -f vmdk Debian-disk1.vmdk 
image: Debian-disk1.vmdk
file format: vmdk
virtual size: 30G (32212254720 bytes)
disk size: 20G
cluster_size: 65536
Format specific information:
    cid: 1391262983
    parent cid: 4294967295
    create type: monolithicSparse
            virtual size: 32212254720
            filename: Debian-disk1.vmdk
            cluster size: 65536

So now we're going to create a VM on SmartOS that's got a 30G vHD ... (part 2 coming soon!!)

Sunday, March 8, 2015

Installing IceFilms (and other) Channel(s) on your Synology DiskStation Plex Media Server

So, have you been looking for the IceFilms channel plug-in for your Synology DiskStation, but only seen Windows and Mac OSX referenced for install methods on the sites you've visited?

Well, look no further!

I installed IceFilms on my Synology DiskStation tonight (which, in reality, is a server I built running XPEnology, but on a software/OS-level, it isn't any different than a DSM x86 unit).

It appears to be working without a hitch!  I know you've probably been dying to install IceFilms (as I know I was!), so I thought I should probably share how to do it:


1) You know a little bit about how to navigate using a UNIX-style command line interface.
2) You have SSH enabled on your NAS.  If you don't, please visit this site to find out how.
3) You have a method of connecting to your SSH-enabled NAS, such as using PuTTY for Windows, or the Terminal in Mac OS or Linux.  Download PuTTY HERE.
4) You have the Plex Media Server package installed on your Synology DiskStation NAS.  If you need to install it on your NAS, please download the latest version here and install it manually as this is the best way to ensure that the package is up-to-date.  (To do this, you may have to allow plug-ins from any source in your Synology Package Manager).

Quick guide for less techincally-inclined readers:   *Confirmed working!* The easiest way to do this is to download the zip and rename IceFilms.bundle-master to IceFilms.bundle move it to your Plex Media Center Plug-Ins directory, and re-start your Plex Server.  Here's a quick walk-through:

Step one:  Navigate to the Git repository for the IceFilms.bundle package:

Step two: Click on "Download ZIP" at the bottom-right corner of the page.  Unzip this and it will give you a folder called IceFilms.bundle-master  

Step three:  Rename the IceFilms.bundle-master folder to IceFilms.bundle and copy it to your synology diskstation.  We'll use /volume1/home/ as an example.

Plex user folder, under the path:  /volume1/Plex/ 

Step four:  After copying the IceFilms.bundle package to your home folder, open your terminal and navigate to your server by typing ssh root@(server address):

Quick tip:  Log to Synology SSH using your admin password.

Navigate to your home directory (e.g. /volume1/homes/username/ ) and move the .bundle file to the Plex Library folder:

NA$ mv /volume1/homes/avery/IceFilms.bundle/ /volume1/Plex/Library/Application\ Support/Plex\ Media\ Server/Plug-ins/

Notes: You can hit "tab" in most terminals to auto-complete the name of a directory.  The forward-slash indicates that there is a space in the name of the path or file.

Step five:  Navigate to your Synology DiskStation manager in your browser and open Package Center.  Navigate to your installed packages and click on Plex Media Server.  Under the Actions drop-down menu, choose "Stop".  Then click the Actions menu again and choose "Run".

Now, if all went well, you should be able to go to your Plex Media Center in your browser, or Plex Media Theater, etc. and see "IceFilms" as one of your channels.

It's as simple as that!

TIP:  Look in ReallyFuzzy's GitHub page to find other plug-ins, as well!

Now, here's the more involved method I used (I can personally verify that both of these methods work):

Caveats: This more complicated guide is only useful for those who
1) Have an interest in obtaining and installing bootstrapper and ipkg package management functionality for their Synology DiskStation
2) Have an interest in having Git clone functionality for their Synology DiskStation

If neither of these apply to you, I suggest you just follow the easy guide above!

Install Git on your Synology NAS by using ipkg.  This will enable the ability to get the latest build of the IceFilms.bundle file required for the IceFilms Plex Media Server channel.  

Note:  installing and using the ipkg package management infrastructure is beyond the scope of this post.  To learn more about using a bootstrapper and ipkg on your system, please visit:,_bootstrap,_ipkg_etc

I also found this forum post helpful (note the post by "LittleLama"):

I prefer using Nano to VI, which you can install using ipkg prior to doing the steps explained in the link above for editing your configuration files.  Also, I prefer using the command EXPORT for setting the env for the ipkg path, rather than rebooting to acquire the PATH variable (as recommended in the LittleLama post I referenced).

Try it by entering the following and you should be able to run ipkg from anywhere:

NA$ export PATH=/opt/bin:/opt/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/syno/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin

Note: I am using NA$ to signify the command prompt, as the "less-than" sign is not displayed in blogger - you will see a "less than" sign at the end of your server name for the display of your command prompt of your NAS.

If you use export, you do *not* need to reboot in order to use ipkg.  Then invoke:

NA$ ipkg update 


NA$ ipkg upgrade

Install Bash for a more familiar command line interface:

NA$ ipkg instal bash

then run it by invoking:

NA$ bash

Now you will see the # sign as your command prompt, which signifies that you have root access (note - you already HAD root access, but this is the more common convention seen in *NIX OS).

Add a couple lines to your to log-in with Bash next time you SSH to the server by invoking:

# nano /etc/profile

and adding a line that says the following:

[ -e /opt/bin/bash ] && /opt/bin/bash

Also add the line


to avoid having to "export PATH=" next time you log-in --- make sure you delete any other references to PATH in this file (There was one at the end of mine). 

Quick tip:  You can also have Bash show you the current directory you're in by invoking:

# nano /root/.bashrc

and adding a line that says

PS1='\w\$ '

Bind the /volume1/@optware directory to your /opt folder:

# nano /etc/fstab

Add the following:

/volume1/@optware /opt none defaults,bind 0 0

Exit by pressing CTRL-X and save changes.

And permit a user environment in your /etc/sshd_config

# nano /etc/ssh/sshd_config

Find the line that says #PermitUserEnvironment no by pressing CTRL-W and typing in part of the string.  Uncomment it by removing the # sign and enable it by changing no to yes.  Exit by pressing CTRL-X and save changes.

Restart SSHD

synoservicectl --reload sshd

And you should be good to go!

Now for the fun stuff!

Log back into your DiskStation using SSH (same as above)

Install Git by using Ipkg to download the package:

# ipkg install git

Navigate to the Plex Plug-ins directory by invoking:

# cd /volume1/Plex/Library/Application\ Support/Plex\ Media\ Server/Plug-ins/

Then clone the IceFilms.bundle file by invoking: 

# git clone

Note: You can copy the URL from the bottom-right corner of the github page:

Verify that the IceFilms.bundle file has been copied by invoking:

# ls 

You should see IceFilms.bundle listed amongst the other plug-ins (.bundle files) in your plug-ins directory. 

Now go to your DSM home page and open "Package Center".  Navigate to your installed packages and click on Plex Media Server.  Under the Actions drop-down menu, choose "Stop".  Then click the Actions menu again and choose "Run".  

Navigate to your Plex Media Center and look at your channels.  You should see that IceFilms has been installed.

This is the best way to install plug-ins to Plex on your Synology DiskStation, as now you can simply invoke # git clone [URL] to clone any package you want!  Just don't forget that you have to restart your Plex Media Server before using the new plug-ins.

Any questions?  Want any further explanations?  Please leave a comment!  

Thanks for reading!

Wednesday, March 4, 2015

Compiling Gnumeric on Mac OS 10.9.5

Compiling Gnumeric on Mac OS 10.9.5

Note:  No X11 was used in the installation of this Gnumeric port!  While you may be instructed to install XQuartz at some point during your MacPorts experience, it is NOT necessary for this particular package (if you follow the instructions properly).  

Hi everybody,

So, if you know anything about *NIX spreadsheet programs, or you are a hardcore statistics nerd, you are probably familiar with Gnumeric.

I like to run several operating systems, and one of my favorite is Mac OS.  But I like Gnumeric quite a bit and there's never been an installer package for a native port of Gnumeric for Mac OS as far as I know.

There IS a how-to on how to compile Gnumeric using MacPorts, though!  However, it's a little outdated:

Open Source Packages for the Macintosh 

I was really glad to see this as a starting place, as it has some info about how to use flags when porting software to compile in Quartz instead of X11 (thus, to avoid the nasty X11 interface and stay more over-all "Mac-Looking")

Following the directions on the site did not work for me, however -- so here's an update to help people with more modern Mac OS versions (I did this under Mac OS 10.9.5 Mavericks with MacPorts 2.3.3).

MacPorts Quickstart Guide

Installing and using MacPorts is beyond the scope of this article, but it's not too hard to do - just make sure you have the latest (or most appropriate) version of Xcode, including the command-line tools.  you can check to see if you have the Xcode command line tools by opening a terminal, and invoking the command:

$ gcc

After a brief pause, you should see the following:

clang: error: no input files

So far, so good!  So now, install MacPorts using the Quickstart guide link provided above, and you should be in business.

After you've installed MacPorts, you're going to need to install some dependencies. Go to the terminal prompt again and type:

$ sudo port install -v cairo +quartz+no_x11

You should see MacPorts downloading and installing the cairo package on your behalf.  I like to use the -v flag so it returns a little more information, but it's not necessary.

The +quartz+no_x11 flags are to tell the packages to build such that they do not need to use XQuartz (which, should be rather important since you probably don't have it installed!  X11 is not included by default on Mac OS versions released after Mountain Lion). 

If that all worked properly, next we're going to want to install some more dependencies.  Go back to your prompt and invoke the following:

$ sudo port uninstall -f pango

We're going to remove pango since it has been installed using X11 dependencies.  You cannot install pango using the +quartz+no_x11 flags unless this package has been uninstalled, and to make it uninstall without removing its dependencies (a hassle), you use the -f flag to force the uninstall. 

Now that pango's been removed, let's re-install it using our +quartz+no_x11 flags, by invoking:

$ sudo port install -v pango +quartz+no_x11

There, now pango's been installed the way we would like!  Using Quartz, instead of X11.  

Now do the same for GTK3 -- remove it by invoking the following:

$ sudo port uninstall gtk3

That will get rid of the X11-dependent gtk3 engine, so we can re-install it with Quartz dependencies, by invoking, yep - you guessed it:

$ sudo port install -v gtk3 +quartz+no_x11

Starting to get the idea?  We're making sure this Gnumeric install is going to be dependent on Quartz, and not X11 -- so it's got the most Mac-like appearance.  

Now let's go back to the prompt and install two more dependencies before building Gnumeric.  Go to your prompt and invoke:

$ sudo port install -v poppler +quartz+no_x11 

to install Poppler, which is used to render PDFs inside Gnumeric, and

$ sudo port install -v gnome-themes-standard +quartz+no_x11 

Which is necessary for installing adwaita-icon-theme, icon-naming-utils and other appearance-related dependencies.  

Note:  This package installs GTK2, as well, but since we invoked the install it should be compiled with the same  +quartz+no_x11 flags as its parent.

Now that you've got the dependencies installed, now it's time to compile Gnumeric!

$ sudo port install -v gnumeric +quartz+no_x11

Doesn't take that long compared to the GTK+ packages that you installed earlier.  After it's done compiling, invoke:

$ gnumeric

to give it a spin!

OK, now if it's working, here's a quick-and-dirty way to create a link so that you can open it via an icon.

Go back to your terminal and invoke:

$ ln -s /opt/local/bin/gnumeric /Applications/Gnumeric

Navigate to your Applications folder via the Finder and you should see a blank icon named "Gnumeric".

Double click on the icon, and you should be prompted with a dialog asking you to choose an application to run the program with.   Select the option to choose the program, then select the Terminal as the program to run it with (under /Applications/Utilities/Terminal).

Now when you double-click on this icon it should run Gnumeric for you without having to enter the terminal.

Alternately, you can create an alias instead of a link, by invoking:

$ osascript -e 'tell application "Finder"' -e 'make new alias to file (posix file "/opt/local/bin/gnumeric-1.12.20") at desktop' -e 'end tell'

This does NOT require the step of having to choose the terminal to run it with.  Now the Gnumeric alias will be on your desktop.  You may rename it and move it wherever you like (e.g. the Applications folder). 

Any questions or comments to improve this post are immensely appreciated!  Please leave a post!  Thank you!

Note: I've noticed some of the functions, such as creating check boxes, radio buttons, and lists, do not work and actually crash the program.  I am not sure if these would work in the X11-compiled version, as I have not tried it in a number of years.  Please submit your comments regarding whether or not you have compiled Gnumeric on a Mac using X11, and if these functions work properly in that version.  Also, if you have any ideas of how to fix these functions, I'd be more than happy to hear them! 

Sunday, February 15, 2015

How to fix 3d rendering for a Windows guest in VMWare Workstation 11 Ubuntu 14.10 host

How to fix 3d rendering for a Windows guest in VMWare Workstation 11 Ubuntu 14.10 host

Hi all!

Getting a message when you start your Windows guest in VMWare Workstation 11 hosted by Ubuntu 14.10?

I was, and I had a little trouble finding a fix, until finally it worked!  it's simply a matter of upgrading to the latest OpenGL drivers in Ubuntu.

To install open a terminal window and enter
sudo add-apt-repository ppa:oibaf/graphics-drivers
sudo apt-get update
sudo apt-get upgrade
To remove, you can use ppa-purge
sudo apt-get install ppa-purge
sudo ppa-purge ppa:oibaf/graphics-drivers

Now when you start your Windows guest, it should no longer complain about 3D acceleration!

That's it!  If you have any questions or comments, feel free to reply!

Tuesday, January 13, 2015

Switching from LXDE to LXQT in Lubuntu 14.10 Utopic Unicorn

Switching from LXDE to LXQT in Lubuntu 14.10 Utopic Unicorn


So if you're like me, you've been dying to try out the new LXQT Desktop Environment everyone has been talking so much about!

But so far, a official release of Lubuntu with LXQT has not been developed.   There is an unofficial release, but it does not have an installer package AFAIK.
What to do?

The current approach is, of course, to manually switch from LXDE to LXQT after installing a base version of Lubuntu 14.10 --- Here's how it goes:

1) Install a fresh copy of Lubuntu 14.10 from the official repository, which is here:

2) After installing the copy, get ready to convert your Desktop Environment to LXQT.

Go to the command prompt by hitting ALT-F2 on the desktop and typing LXTerminal.  Then, once the terminal window is open, type the following:

$ sudo apt-get update && sudo apt-get upgrade

Type in your password, and you're good to go!

Then, to do the actual switch, invoke this command at the prompt:

sudo add-apt-repository ppa:lubuntu-dev/lubuntu-daily


$ sudo apt-get update


$ sudo aptitude install lxqt-metapackage lxqt-session lxsession

Note the use of aptitude in the above step, because apt-get has the tendency to complain about doing this ... (try it, you'll see!) 

However, you should be warned that this approach causes a few issues with your setup.  In the terminal you'll see the this: 

The following actions will resolve these dependencies:

      Remove the following packages:                                                             
1)      gnome-system-tools                                                                       
2)      gnome-time-admin                                                                         
3)      lubuntu-desktop                                                                          
4)      network-manager-gnome                                                                    
5)      ubuntu-release-upgrader-gtk                                                              
6)      update-manager                                                                           
7)      update-notifier                                                                          

      Leave the following dependencies unresolved:                                               
8)      apport-gtk recommends update-notifier                                                    
9)      gvfs-daemons recommends policykit-1-gnome                                                
10)     network-manager recommends network-manager-gnome | plasma-widget-networkmanagement 

Well, we're not going to let a little thing like bro

As far as I can tell, these are the most pressing issues to resolve:

1) The logout menu is broken:

It removes the lxsession-logout package, which makes it difficult to log out of the DE when you used to be able to just hit "logout" from the panel and have it bring up the menu.

To fix this, at the command prompt, invoke:

$ sudo apt-get install lxsession-logout

2) The network manager is no longer present:

The switch has also removed your network manager by default, so to get it back, invoke:

$ sudo apt-get install network-manager

3) System tools have been uninstalled:

Want the system tools you're used to seeing back?  It's easy enough, just invoke:

$ sudo apt-get install gnome-system-tools

4) Wait!  What about the lubuntu-lxpanel-icons package I see being uninstalled??

The panel in LXQT is actually LXQT-Panel, so it is different, so not to worry -- it uses it's own set of icons, so you don't need the lubuntu-lxpanel-icons package any more!

Well, that about wraps it up!  Do you have any questions or comments about this process?  See anything I did wrong, or want to mention anything else that this switch will impair/remove/destroy?   Please reply in the comments section!  Thanks!

Wednesday, February 1, 2012

Burn AKAI format Sample CDs (SCD / AKAiSO) from images on a Mac - works with EMU, ROLAND, KURTZWEIL, etc. too!


So perhaps you've figured out that AKAI, EMU, ROLAND, KURTZWEIL sample CD images can't be read on a Mac, can't be mounted on a Mac, and can't be burned on a Mac with the usual included utilities like diskutil or hdiutil,  But you'd still like be able to burn your sampler's CD images without the hassle of emulating a PC to use raw CD burning software.

If you want to save some cash on buying programs to do this for you, Macports or Homebrew really come in handy.   Use either one to install a UNIX utility called 'cdrdao' by opening a Terminal window and invoking the command:

brew install cdrdao

(homebrew), or

sudo port install cdrdao


Then, once cdrdao is installed, change it to the directory of your Akai CD image.  If you're using a .bin/.cue file image you can burn your CD simply by using the following command:

cdrdao write image_name.cue

Where "image_name" is obviously replaced with the name of your image file.  Also, the .bin and .cue files have to be in the same location.

If you're using a .iso file, it's not that much more difficult.  Just create a .toc file by typing:

nano image_name.toc

Once in the Nano text editor, enter the following text:


DATAFILE "image_name.iso"

 Making sure to preserve the quotes in the example - they're necessary for the .toc file - but again, replacing "image_name" with the name of your Akai disk image.

Hit CTRL-X to exit, and hit 'Y' for yes to save, and then type:

cdrdao write image_name.toc

For an iso file, you may need to add the --driver generic-mmc-raw option, by typing:

cdrdao write --driver generic-mmc-raw image_name.toc

But I would recommend you try burning your CD without it at first.  Then try it if you get an "ERROR: Drive does not accept any cue sheet variant" response.

If you're having trouble getting these commands to work, you may want to check to make sure your CD-R drive is ready by typing:

cdrdao scanbus

If you wish to use a different drive than the one automatically mapped by cdrdao, or other features, check out the cdrdao manual page, or type 'man cdrdao' at your terminal prompt.

An additional tip:  You can use diskutil (GUI) to eject your disk even if it is not showing up in the finder (as Akai SCDs don't show up anywhere in the finder since they can't be mounted by the Mac file system).

Using Toast to burn Sampler-format CDs:

Note -- If you want to go the pay software route, you CAN use Toast.   It's DEFINITELY easy, but I don't think it's as fun ;)  Here's how:

1) Open Toast and go to disc copy

2) De-select 'fit-to-DVD video compression'

3) Choose image file you want to burn

Toast will prompt you saying that it doesn't know what format the image file is.  I'm guessing you're certain you want to burn the disc, so choose "continue"

4) use '0' for both pre and post gap, and '2048' for sector size

5) Hit the ominous red button in the bottom left hand of the window

Jolly burning!

Tuesday, January 24, 2012

An easy how-to install guide for Gnumeric on a mac.

Gnumeric is a great program for those wishing to migrate from MS Excel but desiring the same functionality and user interface.  It's free, easy to use, and even has some improvements with regards to statistical computation.  Unfortunately it doesn't support pivot tables yet, but they're likely to be included in future updates. 

Download and install GCC:

Install the macports installer package:

Run the macports self-update command by opening a terminal window and typing:

sudo port -v self update

Then in the terminal type:

sudo port -v install gnumeric

Now download and install the gnumeric wrapper from here:

Drag the icon to your applications folder, keep it in your dock, etc.  it should act like a normal Apple program with the exception that it opens the X11 interpreter and the menu for the program is inside the window instead of at the top of the screen.  

Happy spreadsheeting!

Using BinChunker to convert .BIN/.CUE CD/DVD images to .ISO on a Mac

Binchunker is a great command-line utility for converting .bin and .cue format cd-rom backups to .iso format for easy mounting / burning.  It also has a .raw and .wav conversion functions for use with video and audio disk images.

I've primarily been using it for converting video and sample CD (.VCD and SCD) images I've downloaded off the web, using the -r (.RAW) and -w (.WAV) flags for video and audio conversion.

Installing binchunker on a mac ---

This post assumes you have homebrew installed.  Find out how to install it here:

Once homebrew is installed, type:

brew -v install chunk

The '-v' is optional, it gives you more feedback about the compile process.

Then to use binchunker, type:

bchunk -v infile.bin infile.cue outfile

the '.iso' extension will automatically be appended to your 'outfile' name.

For reference, the bchunk executable is installed in this path:


Happy chunking!