Formatting Large Hard Drive (greater than 32 GB) with Fat 32 to work with both Mac and Windows

If you are a user who uses both a Mac and a PC (OSX and Windows) you may come across a scenario where you need to use an external Hard Drive for both Operating Systems to backup and transfer files between the two. Most external Hard Drives are formatted in the Windows NTFS file system format, and unfortunately Mac OSX only allows you to read files from NTFS, but you cannot write files to NTFS. 

Some solutions for this problem include the purchasing of a software that converts files and folders to NTFS as you attempt to copy them to the external Hard Drive, the most notable one out there is Paragon NTFS for Mac OS X which at the time of this writing supports OS X 10.9 Mavericks already! Of course the software does cost $19.95, and may therefore not be an option for some users. 

A much simpler solution is to format the Hard Drive using the Fat32 file system format which all Mac OS X versions already support. The problem that most users run into when they attempt to format an external Hard Drive larger than 32 GB is that the built in Windows Disk Manager does not support it. 

An easy solution to this problem is to use a free Disk Utility Software such as Seagate Disk Wizard. You can follow the steps below to do this:

  1. Install and Launch the Seagate Disk Wizard by downloading it from HERE for free and running the executable. 
  2. Select "Add New Disc" to do a simple partitioning and formatting.

  3. Select the correct disk and follow the wizard prompts. 
  4. Select MBR or GPT. MBR is recommended for partitions smaller than 2 TB.
  5. Select the Unallocated disk and then Create new partition.
  6. Change the File system: to FAT32. If you prefer, you may manually select the partition letter and add a label. Select Accept.
  7. DiscWizard will display its progress.
  8. Select OK when complete.
That's all you need to do! Now you can plug your external USB Drive into both a Mac and PC and read and write from both operating system. 

I hope this helps others looking for an easy solution. Feel free to leave any comments or questions you may have. 

Thanks,
Pete Soheil
DigiOz Multimedia, Inc.

Joomla 2.5 and 3.0 Recaptcha Plugin Suddenly Not working!

We have been using the Recaptcha Plugin on all our Joomla Sites to filter out spam registrations on the sites, and up until last week everything was working without any issues. Last week however all of the sudden ALL Recaptcha Plugins on ALL our Joomla Sites stopped working at the same time.

After some head scratching, we came across the following announcement by the Google Recaptcha Team, which basically said the Recaptcha URL's have all changed. 

To their credit they did announce the change, but they announced it in a Google Group that no one ever checks or reads! This should have been front page news on the Recaptcha Home Page.

To put this in terms everyone understands, here is basically what you have to do to get your Joomla Recaptcha working again:


  1. Go to "/plugins/captcha/recaptcha" folder of your Joomla installation, and open the file "recaptcha.php". 
  2. In the file, find this code block:

  3. const RECAPTCHA_API_SERVER = "http://api.recaptcha.net";
    const RECAPTCHA_API_SECURE_SERVER = "https://www.google.com/recaptcha/api"; 
    const RECAPTCHA_VERIFY_SERVER = "api-verify.recaptcha.net";
    

    Replace it with this:
    const RECAPTCHA_API_SERVER = "http://www.google.com/recaptcha/api";
    const RECAPTCHA_API_SECURE_SERVER = "https://www.google.com/recaptcha/api"; 
    const RECAPTCHA_VERIFY_SERVER = "www.google.com";
    
    
    
  4. Next, find line 118, which looks like this:

    $response = $this->_recaptcha_http_post(self::RECAPTCHA_VERIFY_SERVER, "/verify",
    

    And replace it with this:

    $response = $this->_recaptcha_http_post(self::RECAPTCHA_VERIFY_SERVER, "/recaptcha/api/verify",
    

That's all you have to do to get things back up and working! Credit for this fix goes to "SniperSister" on Github who posted this solution in THIS GIT Commit as well as THIS Bug Ticket he opened on JoomlaCode.

Enjoy!
Pete Soheil
DigiOz Multimedia, Inc.
www.digioz.com

iPhone is disabled try again in 22,955,128 minutes!

From time to time you may enter your iPhone, iPad or iPod lock screen password wrong. The first few times you enter it wrong, you will get an error message like this:



If you keep trying and enter it wrong every time, you will get this screen:


If you still keep trying, and really piss the phone off, you may get this screen after a few attempts:


In case you are wondering, that's 44 years! While I understand the message, I wonder what Apple was thinking when they created this system. Surely they didn't expect people to wait that long to use their phone again! 

The good news is, you won't have to wait for 44 years to use your phone again. The bad news however is that you may or may not lose all your files and apps depending if you regularly back up your phone to either iCloud or your PC. 

How to fix this mess:

Case 1: If you have previously synced your device with iTunes:
    • You may be able to reset the passcode by restoring the device. To do so, do the following:
      • Connect the device to the computer with which you normally sync and open iTunes. Note, that if iTunes prompts you to enter the passcode, try another computer that you have synced with. 
      • Right-click the device in the left column and select Back up.
      • When the backup is complete, select Restore.
      • When finished, restore from your most recent backup.

Case 2: If you have never synced your device with iTunes, and don't have it backed up to iCloud:
    • Connecting the device may result in this error message: "iTunes could not connect to the [device] because it is locked with a passcode. You must enter your passcode on the [device] before it can be used with iTunes." You have pretty much lost all your content and apps at this point, but can still use the phone by wiping everything out and bringing it to the factory setting. To do so, do the following:
      • Disconnect the USB cable from the device, but leave the other end of the cable connected to your computer's USB port.
      • Turn off the device: Press and hold the Sleep/Wake button for a few seconds until the red slider appears, then slide the slider. Wait for the device to turn off.
      • While pressing and holding the Home button, reconnect the USB cable to the device. The device should turn on.
      • Continue holding the Home button until you see the "Connect to iTunes" screen. When this screen appears, release the Home button.
      • iTunes should alert you that it has detected a device in recovery mode. Click OK, and then click Restore to restore the device.

Case 3: If you have never synced your device with iTunes, but DO have it backed up to iCloud:
    • Follow the steps outlined in Case 2 above to wipe out your phone and re-install the factory software and setting. 
    • Once this is done, in the welcome screen chose "Restore from iCloud" and follow the on screen instructions to restore all your content and apps to their previous state, which means you get all your stuff back to the point you backed up to the cloud. So depending on when you last backed up to the iCloud you may only lose a few days worth of stuff. 

I hope this information comes in handy for someone. Feel free to leave any comments or questions you may have below.

Thanks,
Pete Soheil
DigiOz Multimedia, Inc.
www.digioz.com

Visual Studio 2012 Freezes or Crashes When trying to add a new ASP.NET MVC Controller

Occasionally while you are working on an ASP.NET MVC Project when you right-click on the Controller folder and choose "Add > Controller", you may notice that Visual Studio 2012 is hanging indefinitely or freezes up to the point you have to kill the "devenv.exe" Process through the Task Manager, only to find out that no matter how many times you repeat this cycle you are still not able to add Controllers in this manner. What makes it even more puzzling is that you can easily do the same with other ASP.NET MVC Project without any issues!

This issue has been reported to Microsoft over and over without them offering much of a solution:

http://connect.microsoft.com/VisualStudio/feedback/details/717662/visual-studio-consistently-freezes-after-opening-solution-and-after-debugging

http://connect.microsoft.com/VisualStudio/feedback/details/763452/vs2012-hangs-on-add-controller-when-project-originated-from-vs2010-express

Some workarounds suggested by various Developers are as follows:

  • You can also create a new solution in VS2012, then import all of the existing code files from the original solution. Add => Controller... will then start functioning properly again.
  • Select Add => New Item from the context menu, then choose MVC 4 Controller. However, you don't get any of the scaffolding that you do with the wizard.
  • Run devenv.exe /resetskippkgs http://msdn.microsoft.com/en-us/library/ms241276(v=vs.100).aspx
  • Disable "Visual Studio Hosting Process" in each executable project's properties (build tab, all the way at the bottom)
  • Disable Intellitrace on Debug in Tools, Options, Intellitrace 
None of the above solutions however address the actual reason that causes this problem, and no it is not a Visual Studio bug but an Operating System behavior that causes this issue. The issue is caused by the Automatic File Block feature that was adding by Microsoft in recent years. Basically, any time you download or copy files and/or folders from the web or an un-trusted source Windows automatically blocks that file or folder. If you right click on the file in question, you will see the following:


Here is a list of ways your file may get blocked:
  • Your Project is under CVS, SVN, Git or Mercurial Source Control, and you just fetched the latest version of the Project from that Source Control.
  • You downloaded the project from the WWW through a list file and extracted it, then ran the Solution File. 
  • You copied the files from a Network Location that is NOT Trusted by your PC.
All you have to do to unblock the files and folders is to click on the "Unblock" button shown in this dialog, which you can get to by right-clicking on the file and choosing "Properties" in File Explorer. Ideally you want to unblock all files and folders in your project, but the important ones are:
  • /packages/EntityFramework.5.0.0 (or whatever version you are using) recursively
  • Your Project's ".sln", ".suo", ".v11.suo", ".csproj", ".csproj.user".
  • All assemblies inside the "bin" folder.
  • The "Controllers" folder and all Controller Class files inside it. 
Make sure Visual Studio is closed and exited completely before doing this. By doing so you should be able to Add Controllers in the above manner again. 

Comments, suggestions, concerns? Leave them down below. 

Thanks,
Pete Soheil
DigiOz Multimedia, Inc.

Distributing iOS Apps for QA Testing outside Apple App Store

If you like many other Apple Mobile App Developers follow the standard Application Development Life Cycle, you will at some point want to distribute your App to your Quality Assurance Testers (QA Testers) to test and give you feedback, and you most definitely want to do this outside of the App Store. Also, depending on the location of your QA team, they may not physically be able to bring their iOS Device to you to update the App with the new version. So to summerize, here are our assumptions:
  • QA Team is remote and they cannot physically bring their device back to you for update
  • You have already registered their device as a developer device with Apple iOS Developer Portal
  • Your App has not yet submitted to the App Store
  • You do not want to Jail Break their device in order to do this. 
The following are the steps you will have to follow to create the installer (.ipa file) and make it available over the web:
  1. Open XCode and bring up your Workspace or Project, and get the latest version of your source code from whatever Source Control your team uses.
  2. Select your main Project Node in XCode File and Folder view. 
  3. Click on the "Organizer" button and open Organizer, then click "Refresh" to get the latest version of your provisioning profile from Apple (make sure "Provisioning Profile" library node is selected)
  4. Select the Provisioning Profile you are using for your App, then right click on the line item and choose "Reveal in Finder". 
  5. Copy this Provisioning Profile file to a temp folder for distribution. 
  6. Close Organizer and go back to XCode. 
  7. Select the main Project File and Folder Node in XCode, then go to the "Product" menu from the top XCode menu and select "Archive". Allow it a minute to compile and bring up the archive window. 
  8. Select the latest Archive from the "Organizer-Archives" list, then click on the "Distribution" button. If you don't see an Archive there, go ahead and compile and create one. 
  9. Select the "Save for Enterprise or Ad-Hoc Deployment" option, then click "Next". 
  10. Select a Code Signing Identity, then click "Next". 
  11. Select a file system location for the IPA file (Same location where you saved the provisioning profile to), then click "Save". 
  12. Upload the two files (provisioning profile and ".ipa" file) to a web server or a file sharing service (for example box.com or Google Drive, or other) as a single ".zip" file, and email the link to the zip file to your QA Testers. 
The following are the steps your QA Tester has to take to install the above distribution build on their iOS Device:

Mac OSX:
  1.  Plug your iOS Device into your Mac or PC, and allow it to fully sync. 
  2. Download the ".zip" file containing the provisioning profile file and ".ipa" file, and extract it on your local machine into a temp folder.
  3. Select the "Apps" section in your iTunes for the iOS Device in Question, then drag the provisioning profile file into it. This will install the Provisioning Profile on your Device through iTunes. If you are prompted that the profile exists already, go ahead and replace it with the new one you just dragged in. 
  4. Drag and drop the ".ipa" file into iTunes Apps Section. This will give you an Install button to Install the App on your iOS Device.
  5. Go ahead and Click on the "Install" button. This will install the App on your iOS Device. 
Windows PC:
  1. Download and install the iPhone Configuration Utility from http://support.apple.com/kb/DL1466
  2. Run the iPhone Configuration Utility from the Start Menu. 
  3. Plug in your iOS Device to your Windows PC using USB. A new icon with your Device's Name appears under "Devices" in the left menu. 
  4. Select your device under Devices, then click on the "Add" icon from the top left menu list, and choose "Mobile Provision" for the "File of Type" drop down, then navigate to and select your downloaded provisioning profile and click on Open. If asked if you wish to replace the existing provisioning profile, select "Yes". 
  5. Select your device under Devices once more, then click on the "Applications" tab. Again click on the "Add" icon from the top menu, but this time choose "Mobile Application (.ipa)" for "Files of Type:". Navigate and select your ".ipa" file, then click on the "Open" button. If prompted to replace existing version, click on "Yes".
  6. On the same Applications tab, scroll down and find your Application, then click on the "Install" button to install it on your device.
That's it, you have now distributed the latest version of your App for Testing. Enjoy, and feel free to post comments or feedback if I missed any steps.

Thanks,
Pete Soheil
DigiOz Multimedia, Inc
www.digioz.com




How to Setup Android Development Environment on Windows

The following is a step by step guide on how to setup the new Android Developer Tools Bundle released recently, which contains a pre-configured version of Eclipse IDE with built-in ADT (Android Developer Tools) to streamline your Android App Development, for those of you who don’t have the Android Development Environment Setup.



Please take the following steps:

1.   Go to the Following URL and download adt-bundle-windows-x86_64.zip: http://developer.android.com/sdk/index.html#win-bundle
2.       Extract it in a location on your machine (preferably on C:\Android\ or a directory directly on the root).
3.       Navigate into the /eclipse directory and run “eclipse.exe” executable.
4.       When prompted with a security prompt, click “Run” and uncheck “Always ask before opening this file”.



5. When asked for the Workspace path, choose the default and check the “Use this as the default and do not ask again” checkbox:


6.       Go to File > New > Android Application Project to create a test Application: 



7.       Enter “HelloWorld” as the Application Name and accept all the default Minimum Required SDK, Target SDK, Compile With and Theme values:

 
8.       Click “Next” on the next 3 screen, followed by “Finish”. The application will download a few packages onto your machine. Allow it a few minutes to complete and initiate your Project (this only happens the first time you create a project)
9.       Close the Android IDE Welcome screen. You should now see the following:


10.   Click on the “Android Virtual Device Manager” icon in the top Menu Bar. This pops open a new window.
11.   Click on the “New” button to create a new Virtual Android Device (Emulator).
12.   On the “Create new Android Device (AVD)” screen, enter a name for the “AVD Name” field, choose a Device type (example “3.2” QVGA (ADP2) (320 x 480: mdpi), then choose a “Target” (example Android 4.2 – API Level 17). Lastly, enter a size for the SD Card field (example 768 MB) and hit “OK”.  Please note that different virtual devices require different SD Card sizes, so it may take some trial and error to determine the correct size for your virtual device.

 
13.   Close out of the Device Manager Screen, which should now show your new virtual device:

 
14.   Right-Click on the “HelloWorld” root folder, go to Run As > 1 Android Application to run your Application: 



15.   Give the emulator a minute to load. Once it is loaded, you should see a screen similar to the following:


Want to see a video of the whole thing? Take a look at this video:



That’s it! You are now ready to begin coding. Feel free to email me comments or questions as needed.

Thanks,
Pete Soheil
DigiOz Multimedia, Inc.

P.S. You also have the option of Developing Android Apps in Mac OS X or even Linux if you so desire. The instructions for those platforms are slightly different. Feel free to post any questions regarding those here as well. 

A Simple Data Grid for ASP.NET MVC 3 and 4 - Part 1

One of the most useful and often overlooked features of ASP.NET MVC 3 and 4 is the ability to create and use Simple Data Grids. Unlike prior versions of ASP.NET MVC which did not have built in support for Data Grids, the latter allows you to fairly quickly create a Grid wich includes Sorting of Columns as Well as Paging.

Here is a short example of how to do that. Create an MVC 3 or 4 Web Application Project. First let's create a Model called "Person" for our Data, which will hold the data for us:



 In the Home Controller (HomeController.cs) of it under the Index Action Method, enter the following to generate some fake data for us and pass it to the view (of course one could query the database to do the same here):




Last but not least, on the Home View (Index.cshtml), add the following code:



Once you put it all together, you will get a simple Grid that looks like the following:



































Of course there is a lot more you can do with the Grid, but this is definitely a great start! Feel free to download the Source Code of the above Test Project below (Visual Studio 2012 Solution):

Download: GridTest1.zip

Want to see the whole thing in a video? Take a look at this clip:



Pete Soheil
DigiOz Multimedia, Inc.
www.digioz.com