Clusty's Blog

    Just another WordPress weblog

    Browsing Posts in Mac

    Time for another rant…

    What the hell did Apple think when they made their filesystem case insensitive? This makes it impossible to use a MacOS for any serious purpose.

    HFS+ does support these days case sensitive, but a lot of retarded devs wrote their apps to not be case sensitive (and yes some of them work for Adobe)

    There is not a single *nix OS where the default FS is cause insensitive…

    I’ve been disappointed for some time now regarding the output of the ls command. Well curse no more. There are basically two ways of getting this to work:

    First one is to install ls through macports. This can be accomplished by doing a

    sudo port install coreutils +with_default_names

    This installs the the GNU variant of sysutils (of which ls is a part of) and overrides the names (the new ls will be called gls). All you have to do is add the following line in your.

    alias ls='gls --color'

    The second version is to enable the colours inside the BSD-style ls provided by apple. This is achieved by aliasing ls to ls -G . I found the default colours unusable so I went ahead and defined my own. The colorscheme is controlled by the LSCOLOR environment variable.

    There are 11 types of objects that can have colors. These objects are listed in the following order:

    1. directory
    2. symbolic link
    3. socket
    4. pipe
    5. executable
    6. block special
    7. character special
    8. executable with setuid bit set
    9. executable with setgid bit set
    10. directory writable to others, with sticky bit
    11. directory writable to others, without sticky bit

    For each object you need to define the foreground colour and the background color.

    The recognized colours are:

    a black
    b red
    c green
    d brown
    e blue
    f magenta
    g cyan
    h light grey
    A bold black
    B bold red
    C bold green
    D bold brown
    E bold blue
    F bold magenta
    G bold cyan
    H bold light grey
    x default foreground or background 

    My choice of colours:

    LSCOLORS=exgxbxbxcxxFxFxxxxeCeC

    This means: blue foreground, default background dirs, cyan foreground, default background symlinks, …

    Apple is hiding a lot of the directory structure from the regular user.

    If for some reason you need to see everything in Finder you can configure this with the following:

    defaults write com.apple.finder AppleShowAllFiles True; killall Finder

    To revert to the default setting:

    defaults write com.apple.finder AppleShowAllFiles False; killall Finder

    \rant on

    Guess everybody is aware of the extremely annoying thing issue of the Mac “uninstall”. Almost every app that needs more privileges than the standard user offers comes packaged as a pkg file. These files are absolutely awesome and offer endless possibilities.

    There is problem though: in their arrogance, almost no application developer can conceive that somebody would ever try to get rid of their software. Effect: you are stuck with a program that you cannot uninstall in a easy/clean way.

    A sort of a solution is to crack open the pkg file, and delete one file at a time using the Terminal.

    The only free way I found so far to open a package, comes in the form of a QuickView (thing that pops up when you press space in Finder) plugin that allows you to view every operation that was performed on your system (and a list of files belonging to the app).

    To view the contents of a pkg download, install SuspiciousPackage . I had to install the plugin globally for it to work.

    I guess I hate more this blight then I love the insanely simple app installation procedure to just “copy to Applications”…

    Apple should either whip some sense in the developers or provide some system-wide package management system that keeps track of all the files installed.

    \rant off

    To my amazement, Apple has a built in VNC in every OS X.
    To access it you just have to open Finder and the Connect to Server:

    vnc://your_ip_address:port

    I used before JollyFastVNC and ChickenOfTheVNC, but with both the mouse is lagging horribly (for most of the time you got 2 pointers and do not know which is the local one and the remote one).

    Enjoy!!!!

    When I received my Mac, I was so excited that I chose some retarded name which was bothering me for some time.

    Mac has two different names, The Computer name which is visible on the network and the hostname, which is the thing you see in the terminal.

    To change the network name you simply go to System Preferences->Sharing and change the Computer Name.

    To change the hostname simply type

    sudo scutil --set HostName slackbook.local

    where your desired hostname is slackbook
    Close the terminal and start it again and you should see the new name.

    Inspired by this tutorial, I decided to try a similar thing, to speed up the TimeMachine backups of my VirtualBox virtual machines.

    The results are quite nice, rather than backing up 20GB every time I boot the VM, it does only about 500MB. While this not spectacular – changing almost no data in the VM generates some traffic, at least is fast enough to let TM backup it up.

    Same way as the tutorial, you create a sparse bundle image, mount it and you move inside it all your VM data. You can either tell VirtualBox that the new machines are located in a new location (the place where your image mounts), or create a symbolic link between your previous VM location and the mounted disk location. Notice that I said symbolic links and not an Alias from Finder. The VBox is not able to navigate through Aliases. To create a symbolic link you fire up a Terminal and type:

    cd ~/Library
    ln -s /Volumes/VirtualBox/VirtualMachines .

    In the previous example my virtual machines were located under ~/Library/VirtualMachines and the name VirtualBox.

    There are however a few annoying things about this whole setup. The disk has to be mounted before you start VirtualBox and it does not get unmounted automatically. I am sure that there is magical scripting solution for this, but I am yet to find it.

    The advantage of Sparse bundle images over the regular dmg images is that they can expand dynamically up to the maximum size allocated (they can resized however if you decide you want more space). They are also allocated in 8MB stripes, thus allowing you to perform incremental backups.

    Unfortunately they do not shrink automatically after you deleted some data. This can be achieved with the following terminal command:

    hdiutil compact Your_sparse_image.sparsebundle

    A similar bloating phenomenon happens with your VBox disk files if you made the expand.

    The first step is to zero out the free space. If your VM is Windows boot it, download sdelete and run it from a command prompt:

    sdelete.exe -c

    After that is done shutdown the VM and run:

    BoxManage modifyvdi your_VM_disk_file.vdi compact

    It is rather annoying having to deal with 2 layers of self adjusting container images.