Well, once you bought your NAS or configured a dedicated PC with network drive you’ll obviously want to setup Time Machine. The problem is, once configured to backup to a networked drive your TimeMachine will eat all available space.
For those lucky ones, who shared a dedicated disk partition on their drive — there’s no problem at all. But I was not one of them. Recently, I’ve purchased a used Buffalo LS-WXL Linkstation duo inserted two new 1TB drives and configured it as a RAID0 array. As a result, almost whole 2Tb partition became available for sharing — despite how hard I tried to figure out xfs quotas on target partition, no success.
Well, there are bad and good news.
- The good news is that you may limit your Time Machine disk quota by using something called sparse disk bundles.
- The bad news is that you’ll need root access to your NAS in order to apply permissions hack to make it work with latest versions of Time Machine
Continue reading →
For a while we’ve been spiking on different solutions to implement mobile app for our platform, and here are some of my initial thoughts on the problem. Given that I’m too lazy and not so enthusiastic about Objective-C for iOS or Java for Android I was searching for some solution which could deliver value from both worlds with minimum initial effort.
Phonegap (hybrid approach)

Pros
- Ability to develop apps in HTML5 ( means more web devices are captured)
- Overall speed of iterative development is high (it’s almost like refreshing the page)
- Easy to debug (remote WebKit console in Emulator)
- It’s JavaScript!
- Huge amount of JS-frameworks for touch devices (Sencha, iUI, jQuery mobile, iWebkit, etc) ready for use
- Ability to make bindings to native hardware by writing Objective-C plugins
- Good documentation & large community
Continue reading →

Appcelerator Titanium is a very promising technology which allows you to write native mobile applications in Javascript for both iPhone & Android.
After playing around a bit with Titanium Mobile, I decided to showcase technology strengths to our stakeholders, particularly by letting them use KitchenSink demo for iOS.
In order to distribute iOS application into real hardware you’ll have to pass through a bunch of Apple’s obstacles including:
- Registering as an apple developer & getting valid certificate
- Registering your app ID
- Creating provisioning profile for specific iPhone UDIDs
- Mess around with certificates/private keys to properly sign your application
It turns out that it’s not that easy to produce valid AdHoc distribution of your iOS app in Titanium, in this post I’m going to show you how to do it.
Continue reading →
Recently, by trying to jailbreak my iPhone4, I’ve been playing around with DFU/recovery modes — switching my phone back and forth.
Suddenly, phone just stopped working at all. None of the soft reset combinations worked. I tried for several hours trying to make iphone alive again, but still no result.
The first sign that you’ll need hardware reset is that your iDevice is not recognized by computer at all, no matter what type of OS you’re using. I’ve tried connecting it to Mac/Windows7, and iTunes, as well as other jailbreaking software didn’t see my phone.
Continue reading →
Imagine, that your system is pretty complicated and consists of a number of components, each deployed into separate machine. For development & testing needs it’s always too costly to keep up & running all these machines. It’s not that as easy to make modification into your system structure, i.e. adding new machines with different roles, etc.
One solution is to virtualize all your stuff & isolate environment of each component. An easy way would be to buy a hardware & setup hardware virtualization such as XEN for instance, but there is more popular approach — using Amazon EC2 cloud services.
In this post I’m going to show you how to setup OpenVZ virtualization on Amazon EC2 node (which, actually itself is virtualized XEN node)
We’re going to use as a base a CentOS 5.6 Amazon image with pv-grub enabled (this is required to be able to boot into custom kernel)
Continue reading →