About Me

My Photo
I am horrible at filling stuff like this out. 

I write software all day long. Then I go home and when I don't have baseball or some other activity going on with the kids, I write software. I may also play some Xbox 360 with some friends.

_██_
(ಠ_ృ)

Google+

This is a personal weblog. The opinions expressed here represent my own and not those of my employer.

In addition, my thoughts and opinions change from time to time… I consider this a necessary consequence of having an open mind. This weblog is intended to provide a semi-permanent point in time snapshot and manifestation of the various memes running around my brain, and as such any thoughts and opinions expressed within out-of-date posts may not the same, nor even similar, to those I may hold today.

Sunday, January 27, 2013

How To: Manually Flash ClockworkMod Recovery Touch on Samsung Galaxy Note II

You can easily flash the Touch version of ClockworkMod from ROM Manager for an in app purchase of around $3.00. But you can manually do it and save a couple bucks if you want to try the touch version before you buy it.

  1. Download the touch version for your device from the ClockworkMod websiteimage
  2. rename the downloaded file to recovery.img
  3. copy the renamed file to /sdcard/recovery.img
  4. open a terminal window (or adb shell)
  5. su in the shell to gain root access
  6. run the following command:

    # dd if=/sdcard/recovery.img of=/dev/block/platform/dw_mmc/by-name/RECOVERY
  7. reboot the device in to recovery and enjoy

Sunday, January 20, 2013

Getting Mount Manager working with Android 4.2

This post May Not apply to you but I hope it helps.

I have had some people that have reported issues connecting to a share with Mount Manager on a 4.2 device.

First, make sure you have the required modules for your kernel. This post will be using CyanogenMod 10.1 as the reference, but your ROM may differ and YMMV.

In CM10.1 you have to load 3 modules to get cifs to work correctly. cifs.ko depends upon dns_resolver and md4 modules. They have to be loaded before cifs.ko.

modules

Once you have these modules loaded you should be able to mount your shares. If you are still having issues try looking at this post on XDA. It seems there is an issue with some builds of busybox that it needs the unc option added to the connection.

You can add a new option when creating a mount point and select custom. Then enter “unc” as the name. For the value you will enter the same path that you use for the network share, except you have to use “\” instead of “/”. And you have to escape them. So you need to use 2 of them for every one you enter.

unc

How to find a Lost or Stolen Android phone

692px-Criminal-Minds.svgIf you were not aware, I am an active user on Android Enthusiasts, and I try to help anyone that I can. Over the past 2 years that I have been active on Android Enthusiasts there has been a fair number of questions regarding someone losing their phone.

Usually someone answers the question by telling the person to install Plan B, and this may be a great application. And I do encourage you to try to use this application. I hope it works for you, I truly do.

Now let me tell you a little bit about the reality of using an application like this. Let me use the scenario of being at a bar. You leave your phone on the bar top, someone walks by, while you are having a conversation or a toast with friends, grabs your phone and continues walking. The thief can stop all data and calls to the phone in seconds by taking the battery out of the phone. Now they have a device that is completely off and will not receive any calls or text messages.

If the thief wants your data he will have to put the battery back in, but he doesn’t have to boot in to Android. Booting the device in to the recovery could give the thief enough access to get to data on the device. But to be honest, 9 times out of 10, the thief doesn’t care about your data. He wants the $600+ device that he stole from you. So that means all the thief has to do is put the battery back in, boot to the recovery and do a factory reset.

Do you know what that means? None of these “find my phone” apps will work because you wont be able to install them, and they will not be installed if you already have them installed. Why? Because the phone is no longer tied to your google account and all the applications, and data associated with them is gone once the person did the factory reset.

I know what you may be thinking, how do I protect my phone from being stolen? Well, again, if someone does steal your phone, or you lose it, try an app like Plan B. But don’t be surprised when you don’t get any information back. The best advice I can give you is this: You paid $600 (or more) for your phone, (even if you got it on contract for only a couple hundred, you still end up paying over $600 for it) treat it like it should be treated. Like a $600 piece of equipment. Would you leave your laptop just laying around? How about your car keys? Would you leave your front door on your house open? So why do you leave your phone laying around. Remember your phone has potentially more personal information about you than any other one thing you own, and it fits in a pocket.

Another thing you should do in the event that your phone is stolen or lost is to call your carrier. Get the IMEI number from your carrier, if you don’t have it. Report it stolen to your carrier. This will flag it on their network and it won’t be able to be activated by anyone else on the carriers network. You should also file a report with the police, if it was stolen. Giving the authorities the IMEI number will also help as they can contact the carrier and request additional information from the carrier and maybe have some luck in tracking the phone down.

Good luck, I hope you do not have your device stolen.

Saturday, January 19, 2013

Enable Soft-Keys on Samsung Galaxy Note 2

device-2013-01-19-014319I wanted to enable the soft-keys on my Samsung Galaxy Note 2 after switching to the new nightly builds of CyanogenMod 10.1.

I found that it is actually rather easy to turn them on. It just requires modifying the build.prop with the following:

qemu.hw.mainkeys=0


If you want to disable them later just change it to:


qemu.hw.mainkeys=1


After you modify the build.prop you have to reboot for the changes to take affect.


This change will turn on the soft-keys, but it does not disable the hardware keys. But you can disable them too. You have to open /system/usr/keylayout/Generic.kl and comment out the following by added a '#' to the beginning of the line.


# key 158	BACK
# key 139 MENU


The home key is located in /system/usr/keylayout/gpo-keys.kl


# key 172	HOME	WAKE


To turn these back on just remove the '#' and reboot.

Thursday, November 22, 2012

48 Hours Black Friday Sale–50% Off Hosting For Life

It is that time of the year again where everyone has their Black Friday sales. Well, here is one that you shouldn’t pass up.

arvixebf2012

GET 50% OFF HOSTING FOR LIFE

Get 50% off your hosting for life. Valid for Windows or Linux hosts.

  • Unlimited Bandwidth
  • Unlimited Storage
  • Unlimited MS SQL Databases
  • Unlimited MS SQL Storage
  • Unlimited MySQL Databases
  • Unlimited MySQL Storage
  • Unlimited Web Sites
  • Unlimited Subdomains
  • 24x7 Phone Support

You can get all of that and more for as low as $2.00 a month

Use coupon code “BLACK FRIDAY”

Wednesday, August 29, 2012

Introducing the .ABEX File Format

As I have said in my last post, Droid Explorer will support the Android Backup (.ab) file format. But I also mentioned that Droid Explorer will extend the Android Backup file format so a backup can be tied to a specific device. This file format will be ABEX (Enhanced Android Backup). The file format is simple and just adds an additional header block to store the information.

	ENHANCED ANDROID BACKUP\n
[DEVICE ID]\n
[Droid Explorer Version]\n
[ABEX Version]\n
$$$ ENHANCED ANDROID BACKUP $$$\n

The first line is the Magic line. Next is the Device ID that the backup is tied to. This is value is a string. If the device is not connected, then an error message should be displayed notifying the user that the backup is tied to a specific device and that device could not be found. Next is the version of Droid Explorer (or the application that created the ABEX). This value is a string. Next is the Specification Version of ABEX (Current = 1). This value is an integer. The final line is an indicator showing the end of the ABEX header.


Following the ABEX Header should be the normal Android Backup content starting with the Android Backup Magic line.


I have a modified version of ABE that Droid Explorer will use to unpack these files and forked it on github.


Visually, these files will (at least for now) look just like a normal Android Backup. The difference will be the file extension and how Droid Explorer will handle them. If it is a “Basic” Android Backup, then the user will be prompted with a device selection when attempting to restore. Also, there will be an option to convert a “Basic” Android Backup to an “Enhanced” version. Also, Droid Explorer will allow the conversion of an “Enhanced” version to a “Basic” version.

Droid Explorer 0.8.8.7 Backup Feature

Droid Explorer 0.8.8.7 will be released in just a few days and will have some new features that you may find useful if you have a 4.x device.

The biggest feature is the ability to backup your device (does not require root). If you do not have a 4.x device connected, you will not be able to take advantage of this method of backup.

image

Along with that feature comes some additional features on top of it. A central location for your Android Backup files (*.ab). They will be stored in a folder in your user profile called “Android Backups”. This folder has a special folder applied to it so it is easy to tell where your backups are located.

image

Inside this folder there will be a folder for each device you use with Droid Explorer to create backups. The folder name is the “ID” of the device or the “Name” of the device if you changed it in the settings. Here you will see I have a couple backups in the folder Killik (the name I gave one of my devices).

image

But what can you do with these backups? Well, you can restore your device with them, of course. Just double click on one of the Android Backup (.ab) files and select the device you want to restore to. Make sure you restore to the correct device. I am not responsible for any disasters restoring may cause, including, but not limited to bricking your device, cat jumping of a cliff, house burning down. I may look in to extending the backups a bit, so Droid Explorer knows what device they came from, but that is not in this version.

If you right click on the Android Backup, you will also be given the option to restore the backup to a device. But, look closer at the picture below… There is also an option to unpack the backup file. This will turn the Android Backup in to a TAR Archive. Then you can get to the inner contents of the backup, like the Application Files if you choose to include those in your Backup.

image 

Another feature that will be added in the future is the ability to view backups from within Droid Explorer. If you have Droid Explorer v0.8.8.6, you will get a notification when you open Droid Explorer after the new version has been released. Keep your eye out for this version and future versions.

As always, if you have ideas for Droid Explorer, submit a Feature Request.

Saturday, March 3, 2012

Windows 7 and CIFS Out Of Memory Error

I have had a few users contact me about getting errors when mounting a share from Windows 7 with Mount Manager. This error was some type of “out of memory” error.

When you try to mount you see the following error:

mount error(12): Cannot allocate memory
Refer to the mount.cifs(8) manual page (e.g.man mount.cifs)

The error reports the following in Event Viewer:

Source: srv
Event ID: 2017
Level: Error
The server was unable to allocate from the system nonpaged pool because the server reached the configured limit for nonpaged pool allocations.

One user, after much research, found the solution. According to an article he found, you need to tell windows that it will be used as a file server and that it should allocate the memory that it needs to do so.

To do this, you have to set the following value in the registry to ‘1’.

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\LargeSystemCache

Also you have to set the following value in the registry to ‘3’.

HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\Size

Saturday, December 31, 2011

Html5 Unobtrusive Form Validation for ASP.NET MVC

I have a project that I was able to make use of modern browsers HTML5 form validation. But I wanted to include the validation that also takes place from within aspnet mvc so there is a unified experience with the validating the form. I took the jquery.unobtrusive-validation.js and made some modifications to it to hook in to the aspnet mvc validation. It is not yet 100%, the “Required” aspnet mvc validation doesn’t seem to “trigger” unless the field is filled out, then attempted to be submitted, and then cleared again, but the default html5 “required” validation message still shows initially. Either way, I figured I would share this and maybe someone could build on it and improve it. Enjoy.

Here are some screenshots of the results.

Failed Regex Validation
image 

Failed Minimum String Length Validation
image 

Failed Remote Password Strength Validation
image

Failed Compare to Password Field Validation
image


Download from Skydrive

Wednesday, December 21, 2011

Visual Studio Achievements app for iPhone

mzl.fkogmsgw.170x170-75A friend of mine liked the idea of the VSA app that I wrote for Android and decided to write an iOS version. It uses the exact same web API that the android version uses so it has the same features like the Leaderboard, viewing achievement details, user details, and marking users as a “favorite”. He also created the 9guy logo you see on the right for the iOS app.

The app will be available for free in iTunes once it passes the Apple approval process.

Now we just have to wait for the Channel9 Team to make the Visual Studio Achievements available to the public.

album[4]

Update: The app has been approved by apple and should appear in the app store any time now.

Update 2: You can now get the iOS version of Visual Studio Achievements in iTunes