Clusty's Blog

    Just another WordPress weblog

    Browsing Posts in Howto's

    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, …

    In care you missed it, Google offers now as a beta, google with SSL.: https://www.google.com/

    Keep those evil sniffers away….

    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.

    Today I was in an experimental mood and found yet another small trick that felt worth writing about.

    At this point my hosting is fairly crappy (but also damn cheap), a virtual host with 128MB of RAM (and up to 512Mb burst). Even with just a few visitors, the server is very slow. Until now I was using WP-SuperCache plugin that converts dynamic WordPress PHP pages into static HTML and serves them. Unfortunately it cannot figure out on the fly that the cached page is out of date and keeps serving the static one until it expires (static lifetime I setup). This is especially annoying while I edit a post as I do not see the changes immediately.

    A much more elegant solution is using a PHP caching extension. The one that felt easiest to use and was free was Alternative PHP Cache.

    On Ubuntu the installation took a whole 5 minutes to complete (the longest time was wasted trying to figure out some obscure message about apxs). You need to install the following bunch of packages

    sudo apt-get install php-pear php5-dev apache2-threaded-dev make

    After that install APC from the Php-Pear repository:

    sudo pecl install apc

    After it finished building, unless it found out your php.ini by itself, you will have to load the extension manually by adding extension=apc.so. For my system this was done with:

    sudo vim  /etc/php5/apache2/php.ini

    Wasn’t that easy now?

    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.

    If you are like me, and have tens and tens of gigs of music, you understand the pain of keep everything sorted and with the right album art, especially when you use all sorts “smart” media players like Windows Media Player, that screw up your hand written ID tags.

    This new free tool I found not only fills in missing info by matching preexisting tags, but also can compute a unique hash of your mp3 based on some proprietary algorithm. So you should be able in theory to tag mp3′s that are called “file1.mp3″

    Well, today during of one of my usual weekend random internet wanderings, I stumbled across an awesome project that does just that and does it semi automatically. To top things, all files including the database is released under GNU (to be read free, costs nothing, zilch, nada).

    I am talking about the guys at MusicBrainz. This is just a database containing lots of music meta-information uploaded by lots of people, pretty much they way FreeDB is for audio CDs. There are quite a few taggers that are able to get their information from this site, but I personally tried just two of them: EasyTag available for *nix and Picard available for Win/Mac/*nix (available on the MusicBrainz site). While EasyTag is “easier” to use, as all operations are automatic and the program makes all the decisions for you. From now on I will make an in depth presentation of Picard.

    For some strange reason the default version of Picard can view Album Cover, but you cannot download any missing covers for your files. The downloading capability is enabled through an extra plugin available on the same site, Cover Art Downloader Plugin. Follow the instructions on how to install plugins and make sure you enable it.

    For an quick intro on how to use Picard check out these two links: How to tag files with Picard and the screencast made by one of the authors:

    The docs are quite decent but there are certain GUI elements which are not self explanatory. Every so often you will notice that a song has a musical note icon. This basically means that the file is missing from the album (file missing or assigned to another album). Other times there is a musical note but there are two items in the subtree. This means that it found two duplicate files that match same position in the album. This can be resolved by scanning the file to get it’s fingerprint since there certain albums which contain multiple tracks with the same Name (like different studio takes).

    Picard has more or less two working modes: a very fast, but inaccurate mode that matches just ID tags which is triggered by clicking Lookup, and a slow and accurate mode that matches ID tags but also MP3 fingerprint (a unique ID that does not depend on tag codec used to encode, etc) that is somewhat slower but dead accurate.