Android: Unable to install Titanium Backup
You might get some weird errors when installing or upgrading Titanium Backup.
To fix this, delete the file data/app/com.keramidas.titaniumbackup-1.odex
Enabling dual date format output for JSON.NET for .NET v 4.5
Adding on to https://jefferytay.wordpress.com/2012/05/09/enabling-dual-date-format-output-for-json-net/
You will find that the code segment is no longer found in JSON.NET for .NET v4.5. This is because things have been changed between .NET 4 and .Net4.5
You now need to find the function called SerializeObject
private void SerializeObject(JsonWriter writer, object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
{
contract.InvokeOnSerializing(value, Serializer.Context);
_serializeStack.Add(value);
WriteObjectStart(writer, value, contract, member, collectionContract, containerProperty);
int initialDepth = writer.Top;
foreach (JsonProperty property in contract.Properties)
{
try
{
object memberValue;
JsonContract memberContract;
if (!CalculatePropertyValues(writer, value, contract, member, property, out memberContract, out memberValue))
continue;
writer.WritePropertyName(property.PropertyName);
SerializeValue(writer, memberValue, memberContract, property, contract, member);
}
catch (Exception ex)
{
if (IsErrorHandled(value, contract, property.PropertyName, writer.ContainerPath, ex))
HandleError(writer, initialDepth);
else
throw;
}
}
writer.WriteEndObject();
_serializeStack.RemoveAt(_serializeStack.Count – 1);
contract.InvokeOnSerialized(value, Serializer.Context);
}
Again we are looking at the code in bold, replace it with
if (memberValue != null && memberValue.GetType() == typeof(DateTime))
{
writer.DateFormatHandling = DateFormatHandling.MicrosoftDateFormat;
writer.WritePropertyName(property.PropertyName);
SerializeValue(writer, memberValue, memberContract, property, contract, member);writer.DateFormatHandling = DateFormatHandling.IsoDateFormat;
writer.WritePropertyName(property.PropertyName+"_js");
SerializeValue(writer, memberValue, memberContract, property, contract, member);
}
else
{
writer.WritePropertyName(property.PropertyName);
SerializeValue(writer, memberValue, memberContract, property, contract, member);
}
You receive an “Unable to start program ‘http://localhost/. The system cannot find the file specified.” error when debugging
If you are using Visual Studio 2012 and Windows 8, when trying to debug a website hosted on IIS, you may get the error listed above.
This is actually known issue and is listed in Microsoft Connect
To work around this, you will need to set your home drive to a local drive and then start Visual Studio
SET HOMEDRIVE=C:
"C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe"
Outlook 2010–Storing all your emails in a local pst, and using exchange as your primary calendar
Chances are you have a finite space for emails, whereas there is almost limitless space on your pc to store your emails.
It is actually possible to store all your emails in a local pst, and keep things like your calendar and tasks on exchange so that you can sync your events.
To do so, first ensure that you close outlook. Then goto Control Panel –> Mail. Open the default profile.
Click on the email tab, and then click on the Change Folder" button.
Which will give you the following prompt.
Click Ok and then choose a local file to store the emails. Which will give you a screen similar to what you see below
Then, goto data files, and select your exchange profile and click on Set as Default
Done!
Getting Cryptzone Appgate Security Server to work with HyperV 3.0
Appgate is a fantastic product, giving you up to 10 VPN accounts for free.
In a VMware or VirtualBox environment, this works out of the box. However it does not work well with Windows HyperV. Primarily this is due to the different network adapter HyperV exposes.
Luckily it is still possible to make this work with HyperV!
First download the ovf version from CryptZone. You can request for the free edition at http://www.cryptzone.com/products/appgate/security-server/
Then download the Microsoft Virtual Disk Converter at http://technet.microsoft.com/en-us/library/hh967435.aspx
Next, unzip the ovf files to a folder and use mvdc to convert it to a vhd file
Now goto HyperV and create a new Virtual Machine with the following specs
- 1 CPU
- 768MB Ram
- Mount the VHD created in the previous step as IDE 0 Port 0
- Add a legacy network adapter
Start up the VM and then goto Factory default failsafe
Let it load and you will end up with the following prompt. Enter y
Enable super user by typing su. then type dladm show-link.
Make sure you see dnet0 listed
To play safe, type ifconfig dnet0 plumb up followed by ifconfig –a. Make sure you see the same thing as the image below. For now its ok to not have any ip address
Type reboot to reboot the machine and boot normally (i.e 10.0.2)
Run ls host* and ensure that you see hostname.e1000g0 appear
then run mv hostname.e100g0 hostname.dnet0. This will switch the hostname mapping to the hyperv NIC.
Run ls host* again to ensure that this is correctly done
Now try out the ag_ipconfig command and make sure that it changes dnet0
You can now follow the steps in Appgate configuration guide and proceed to setup the vpn
Storage Spaces Speed Test
Over the weekend, several of my hard disks crashed so I replaced them with 3x Seagate 2TB 7200K RPM hard disks.
Since I’ve upgraded to Windows Server 2012, I decided to give it a go and see if using storage spaces is the way to go.
Setting up was easy, just start Server Manager –> File And Storage Spaces –> Storage Pools and pool the 3x 2TB hard disks together into a pool.
Then create a virtual disk and volume and you are good to go.
I also had a M4 128GB SSD as well as a 500GB 7200K RPM Seagate HDD.
Do note that my motherboard does not support SATA6, just SATA3
Using CrystalMark, I had the following result for the SSD. Pretty decent speeds
Next I tried the 500GB SATA
And for storage spaces (Mirrored)
Overall for sequential reads, the performance of mirrored disks is pretty decent. It fails at the small sector reads which is pretty much a limitation of the physical disks itself.
However storage spaces does give additional benefits
- Ease of Recovery. Using previous software raid technologies, if a disk failed, it is not so straightforward for you to restore back the data. With storage spaces you can easily add in a disk and it will do the rest
- Storage spaces allows you to add disks to the pool. In theory this should improve performance, but I cannot verify this as I have insufficient disks to try this one out
- Disk Reordering: With software raid, the disks needs to be presented in a fixed order. No such issues with storage spaces
- Auto recovery: I used to have an additional disk serving as a backup disk. With storage spaces I no longer need to care since it will automagically restore the data to another available disk (think hot spare)
Verdict: There may be some teething issues during the Preview and RC, but RTM definitely fixes these issues and makes storage spaces good for production use!