Objective-C graphing and plotting with little-plot

As development has continued on a personal project it became obvious that I would need to implement UI elements that simply weren’t part of the Cocoa UI-kit. Essentially the main goal is presenting the user with a graph interface allowing them to quickly see a data set without having to read through line after line of figures. I looked at Core Plot (http://code.google.com/p/core-plot/), which whilst providing some great functionality looks like a HUGE amount of overkill when wanting a simple UI element.

So after a few days of tinkering I’ve created a couple of NSView subclasses allowing either manually created Views that can be presented arrays and will display the data accordingly.
I present Little-plot :

The above screenshot consists of three NSViews (LineView, PieView and LabelView), which each display a line graph, a pie chart and graph labels (or legends).

The project is available on GitHub here.

Updates will appear soon, along with some real documentation.


Face Detection in OSX

After reading this (http://maniacdev.com/2011/11/tutorial-easy-face-detection-with-core-image-in-ios-5/) tutorial for iOS 5 face detection I decided to try it for plain olde osX, I do find it somewhat annoying that the objective-C community is only focused on development using the iOS SDKs. The main changes involved turning the UI classes into NS classes and find ways around missing methods. I’ve


LVM2 device names and device paths

If you use LVM (Linux volume manager) you’ll be no doubt aware that the ability to place your volumes in groups and name the volumes accordingly makes administration much easier. Having a volume group called oracle and then a binaries and data volume means a tiny glance at a system identifies what is doing what


Window handling from the dock icon (Objective-C / Xcode)

I should probably post this stuff to stackoverflow, however I find that most of the people on there are rude and spend far too much time just berating anyone who asks for the slightest help. I apologise for anyone who had to waste time looking a little bit longer for this tip. The default behaviour


Disposable

    I finally crumbled and gave the gimmicky disposable app a go, sharing some film with a friend(@Grizly_Chops) form New Zealand. Initially I found the experience a bit annoying as i’ve become so used to immediately viewing my results, usually deleting just as quick and lining up a shot for attempt 2/3/4/… I hadn’t


Objective-C modal Window using sheets and Panels

Adding a modal sheet to a window in objective-C isn’t highly complicated however there are a number of issues to watch for that can leave you scratching your head. Most of the examples I’ve found on the internet point to an older useModal: (*window) function which is deprecated. From what i’ve read, the correct manner for


Cheap disks

The flooding in Thailand has been pretty horrible for a number of reasons (mainly deaths and loss of homes/possessions), but its also having a knock on effect in the area of hard drive manufacturers. http://www.guardian.co.uk/technology/2011/oct/25/thailand-floods-hard-drive-shortage This has had a further effect of having all of the resellers increase the price of hard disks quite significantly


Cocoa libssh2 wrapper

I’ve modified a simple wrapper for the libssh2 library that now has the following functionality: Code moved to separate classes to allow reusability Multiple sessions to different servers can be achieved with a few lines of code A Session can be passed to the operator class allowing operations (commands sent to it), more will be


SSH with Cocoa (Xcode and libssh2)

I fought with this about a year ago, and for some strange reason never managed to get things to compile or link. I chalk this down now to my lack of understanding with Objective-C/linking concepts. However it turns out that it is relatively simple (ensure you have Xcode 4 installed before trying). Point browser to http://www.libssh2.org/ and


esxtop showing raw output

Using esxtop? Being presented with this:             Expecting this:             Then change your TERM type # TERM=’xterm’ # esxtop