tag:blogger.com,1999:blog-54696936341440574392024-03-18T02:48:48.636-07:00The Manila ManMy life living in ManilaJames Larry Gaines IIhttp://www.blogger.com/profile/05139261700052826951noreply@blogger.comBlogger69125tag:blogger.com,1999:blog-5469693634144057439.post-44442420269530134292017-10-26T22:09:00.002-07:002017-10-26T22:11:18.030-07:00Downloading or Backing up an Image or Drive from AWSSo we have an EC2 instance on AWS. But we need to terminate it as the project has to give way to something urgent and therefore not on foreseeable future will it be used. So instead of accruing cost, (as an image cost something if its in AWS although it is not being used), we decided to download the image or drive directly on our drive and store it.<br />
<br />
This is what we did.<br />
<br />
<br />
<ol>
<li>Create a snapshot of the existing image you want to download in AWS. </li>
<li>From that snapshot, create an image.</li>
<li>Once the image is available, add that image as part of the EC2 Instance you wish to download.</li>
<li>Create another image. Make sure this is bigger than the image that you want to backup. Basically this will hold the image backup</li>
<li>Mount it as part of the EC2 Instance.</li>
</ol>
<br />
<br />
For this, this is what I have :<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTIxj0VQdKaWonrtlH4EbwhyphenhyphenrTFclSrSOx117sYEhLrUf1YxmAHgWDOOwaGKCbmhJ4RnpmIulRpzvHAbuHLi1v6-fmI9gaOJyMrOY9PzK8iQLZPFyx8PiH-MpFDa-z0ZZWGEWgbcYuhgiN/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="157" data-original-width="314" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTIxj0VQdKaWonrtlH4EbwhyphenhyphenrTFclSrSOx117sYEhLrUf1YxmAHgWDOOwaGKCbmhJ4RnpmIulRpzvHAbuHLi1v6-fmI9gaOJyMrOY9PzK8iQLZPFyx8PiH-MpFDa-z0ZZWGEWgbcYuhgiN/s1600/1.png" /></a></div>
<br />
<br />
<br />
here,<br />
<br />
<ul>
<li>/dev/sda1 is the source or what I will backup</li>
<li>/dev/sdf is a copy of /dev/sda1</li>
<li>/dev/sdg will contain the backup.</li>
</ul>
<br />
To get the available mountpoints that can be mounted :<br />
<br />
execute :<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKKpPYqtJM7zvRbU3UYpSytTvKlGwsK4KJcp9UMOagJzpdFnsjyp38lVwXVaD2hsdIposmvp1_KSNeSuxbEng3SGFkKwbiFcX_Bb3rwQrYL5eiIwwbbc1d-LbaCk5nxsrXWBIx7dKUclqb/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="135" data-original-width="435" height="99" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKKpPYqtJM7zvRbU3UYpSytTvKlGwsK4KJcp9UMOagJzpdFnsjyp38lVwXVaD2hsdIposmvp1_KSNeSuxbEng3SGFkKwbiFcX_Bb3rwQrYL5eiIwwbbc1d-LbaCk5nxsrXWBIx7dKUclqb/s320/2.png" width="320" /></a></div>
<br />
<br />
As you can see.. /dev/sdf (which is xvdf) is mounted as :<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV6ZqTCAbmAfxJ9ezhQwmRLXPmO7RbYKHsRaD1COLjfQG_Z2yem97hVSARdb0lGWl9WlauVmMxXUg6MInuXuAd5Wgggdh027I19Gf9Kh8bQvjsl866VXqz5VCXt1j4qjxtIcicWyd0fxQw/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="23" data-original-width="673" height="11" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV6ZqTCAbmAfxJ9ezhQwmRLXPmO7RbYKHsRaD1COLjfQG_Z2yem97hVSARdb0lGWl9WlauVmMxXUg6MInuXuAd5Wgggdh027I19Gf9Kh8bQvjsl866VXqz5VCXt1j4qjxtIcicWyd0fxQw/s400/3.png" width="400" /></a></div>
<br />
<br />
For /dev/sdg, the mountpoint is xvdg.<br />
<br />
<br />
Since this is a new image, do the following commands :<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7KNMaO6K9vvYc5ERZs9G7XPPDzF4sYCMM5Xof7HX4FYCEdsuHqc8xyCqepYgcKGd_QMx9WFX0eWZWbCHyAwU1IOGwbShJ4Nhw-TCS7uKKY2aRc31D7TPT9337PWM4J42UQIeGCBBm3Aoe/s1600/4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="231" data-original-width="729" height="126" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7KNMaO6K9vvYc5ERZs9G7XPPDzF4sYCMM5Xof7HX4FYCEdsuHqc8xyCqepYgcKGd_QMx9WFX0eWZWbCHyAwU1IOGwbShJ4Nhw-TCS7uKKY2aRc31D7TPT9337PWM4J42UQIeGCBBm3Aoe/s400/4.png" width="400" /></a></div>
<br />
<br />
Then mount (make sure that the folder /mnt/image is available)\:<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6SVYosfzgqdooBFIrrIKJoEFyTvwHvMhIjUGbigv4mhxCgvdaixw_zecr5Tp18YFE9uS2tt0VGJYSFZjauIQEI3UomsOK6k6fkne5zi7p9B2l7LyM2M7I27YJlxrnBsQlcJ4u_pi2VUXz/s1600/5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="22" data-original-width="504" height="16" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6SVYosfzgqdooBFIrrIKJoEFyTvwHvMhIjUGbigv4mhxCgvdaixw_zecr5Tp18YFE9uS2tt0VGJYSFZjauIQEI3UomsOK6k6fkne5zi7p9B2l7LyM2M7I27YJlxrnBsQlcJ4u_pi2VUXz/s400/5.png" width="400" /></a></div>
<br />
<br />
Afterwards, create an image :<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhI3n2c1uZrnc6XLzOemeEVK65RsIm4rzGRsq7W2KCe7kqfVIQgBYV4t6EGXLL1fn89Dbq8uRUJUpX8OSqRd1kvZehU2svPSM-gq40ckSO2gR_lUfz3XhzWpnQuhmyPjRFsXyY7lSQ72iWr/s1600/6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="77" data-original-width="685" height="43" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhI3n2c1uZrnc6XLzOemeEVK65RsIm4rzGRsq7W2KCe7kqfVIQgBYV4t6EGXLL1fn89Dbq8uRUJUpX8OSqRd1kvZehU2svPSM-gq40ckSO2gR_lUfz3XhzWpnQuhmyPjRFsXyY7lSQ72iWr/s400/6.png" width="400" /></a></div>
<br />
<br />
<br />
Once created, go to /mnt/image and do a tar/gz. This is to compress it.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWhCijTeExVwI4y5yzce7cEsYW4EcrjGALpwwTk76FujXqLTkTXnXuZmzyc50w-CTbAWSVv68tuMVqrbvRxfqULySdVgz3wAIbjKka_pBuwRpsKncjG2KJ-Uh_grT6UtsWRLbaHUixX3cb/s1600/7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="35" data-original-width="705" height="18" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWhCijTeExVwI4y5yzce7cEsYW4EcrjGALpwwTk76FujXqLTkTXnXuZmzyc50w-CTbAWSVv68tuMVqrbvRxfqULySdVgz3wAIbjKka_pBuwRpsKncjG2KJ-Uh_grT6UtsWRLbaHUixX3cb/s400/7.png" width="400" /></a></div>
<br />
<br />
<br />
After which, you can now do an SCP to the machine and download the file.<br />
<br />
<br />James Larry Gaines IIhttp://www.blogger.com/profile/05139261700052826951noreply@blogger.com304tag:blogger.com,1999:blog-5469693634144057439.post-86164096655864503132017-09-29T17:23:00.001-07:002017-09-29T17:26:00.878-07:00Disk Management Error 0 during update of Mac OS High SierraWhen updating MacOS High Sierra, you may experience this issue, where a couple of hours, you will be presented with an error Disk Management Error 0.<br />
<div>
<br /></div>
<div>
This was what I did :</div>
<div>
<br /></div>
<div>
<ol>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Make sure you are connected to wifi or network.</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">I restarted in Internet Recovery Mode by holding down Command+Option+R. On windows keyboard this is Windows Key+Alt+R</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">This will take sometime so wait for it</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Once done it will take you back to normal recovery mode.</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Run First aid on the disk you want to install to.</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Click on your Main Disk where you want to install High Sierra then convert it to APFS (Edit -> Convert to APFS)</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Once converted, click on Reinstall MacOS. It will prompt you to install High Sierra. Then proceed to install MacOS High Sierra.</li>
</ol>
<div>
<br /></div>
</div>
<div>
All my files and applications are still there. And it worked. Well, do make sure you have a backup before attempting to install High Sierra.</div>
James Larry Gaines IIhttp://www.blogger.com/profile/05139261700052826951noreply@blogger.com25tag:blogger.com,1999:blog-5469693634144057439.post-78234270683399368222017-09-26T23:34:00.001-07:002017-09-26T23:36:09.430-07:00Debugging crashed applications on .NET My current work nowadays involves a lot of multi-threading application. And also a lot of simultaneous users. We need to serve them fast (as in milliseconds fast), that's why some of our apps and services uses threads to provide the data very fast and also do most of the things in parallel.<br />
<br />
We had issues before where an application keeps on dying without any logs. This would be because of the threads dying even if we have exception handling. We can't seem to understand and the only clue we have is the event viewer saying something died.<br />
<br />
So I kept on searching a solution and found it here : <a href="http://blog.functionalfun.net/2013/05/how-to-debug-silent-crashes-in-net.html">http://blog.functionalfun.net/2013/05/how-to-debug-silent-crashes-in-net.html</a>. This is applicable from windows vista and up.<br />
<br />
<br />
Just to recap what it says in this linked, we followed the procedure as shown below :<br />
<br />
1. Create a key at HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\[Your Application Exe Name]. In that key, create a string value called <b>DumpFolder</b>, and set it to the folder where you want dumps to be written. Then create a DWORD value called <b>DumpType </b>with a value of 2. Example shown below :<br />
<br />
<img alt="image" src="http://lh6.ggpht.com/-7TzzE4xw8RE/UacxYJpaZPI/AAAAAAAABEw/Ls4zuwUPMlU/image_thumb%25255B2%25255D.png?imgmax=800" height="207" width="400" /><br />
<br />
<br />
<br />
2. Once done, and your app crashes, it will create a *.dmp file onto the folder you specified. Get that file and open it on your visual studio. I find that you need to put the DMP file onto the folder where your application, DLL and PDB files are located.<br />
<br />
3. You will see the screen below. Click on the <b>Debug with Mixed</b> and it will go to the line where the offending application stopped. Voila!, you know now which portion of the app made your application crash.<br />
<br />
<img alt="image" src="http://lh6.ggpht.com/-73Sv0MBWUuk/UacxZfcFyXI/AAAAAAAABFA/cz4kqdq1OhE/image_thumb%25255B16%25255D.png?imgmax=800" height="315" width="400" /><br />
<br />
<br />
<br />James Larry Gaines IIhttp://www.blogger.com/profile/05139261700052826951noreply@blogger.com5tag:blogger.com,1999:blog-5469693634144057439.post-64135293267113133672017-09-26T20:18:00.001-07:002017-09-26T23:35:04.875-07:00macOS High Sierra Update stuck at Calculating TimeI was installing the latest update of macOS High Sierrra and I got stuck at Calculating time. It seems to stuck and not moving. This was what I did to recover and update to High Sierra without losing my data. I am using Mac Mini but this seems applicable to other maca as well.<br />
<div>
<br /></div>
<div>
<ol>
<li>I turned off my Mac</li>
<li>I restarted my Mac on recovery mode by holding down Command and R. On windows keyboard this is Windows key and R. Hold it down until it boots in recovery mode.</li>
<li>Make sure you are connected to wifi or network.</li>
<li>Go to Disk Utility and run the First Aid for Macintosh HD. It may take long at checkibg catalogs so I just waited for it.</li>
<li>I restarted in Internet Recovery Mode by holding down Command+Option+R. On windows keyboard this is Windows Key+Alt+R</li>
<li>This will take sometime so wait for it</li>
<li>Once done it will take you back to normal recovery mode.</li>
<li>Select Reinstall a copy of Mac OS. It will take quite a while. This will install High Sierra</li>
<li>After completing the process it will restart and do it again. </li>
<li>Once done you are now in High Sierra.</li>
</ol>
</div>
James Larry Gaines IIhttp://www.blogger.com/profile/05139261700052826951noreply@blogger.com3tag:blogger.com,1999:blog-5469693634144057439.post-11834214313892732322017-09-10T05:27:00.000-07:002017-09-10T05:40:30.712-07:00What's Up ?Hi Guys,
It's been a while since I have posted. It's been like what ? 3 years ? Much has happened actually since then.<br />
<br />
For starters, I have moved on to another company which specializes on Brokering on Online Gaming. So far, it has been enjoyable. The challenges are tough but manageable. Furthermore, I only go to office 3x a week and 2x a week is done at home. Well, I also do OT work still but mostly if there are issues.<br />
<br />
On Programming front, I'm mainly focused on Threads, Performance of an app, down to the nitty gritty detail of memory allocation and performance of each thread. This is because the product we have really requires performance.<br />
We have also extended the product by providing both WebAPI and Mobile. I plan to add Push capability on WebAPI and improve on client satisfaction and memory footprint of the product. There is a lot to improve on that and hopefully we can get it done this year.<br />
We have moved from PokeIn to WebSocket so that one is out of the picture. We also plan to introduce Redis caching as a form of data broker between each component but we are still looking at how it would perform on a very peak transactional period.<br />
<br />
<br />
On my personal development, I have worked on SmartProtect Anti-Theft for Mobile on Android and its already released. yehey, do download them guys in this link : <a href="https://play.google.com/store/apps/details?id=net.jlgaines.smartprotect.security.configurator">SmartProtect Anti-theft</a>
I'm thinking of learning more on Swift. Probably I need to write something to learn on this. What do you think guys should I write ?<br />
<br />
I'll probably start with that and go and do that during my free time.
So that's it. Just saying hi to you guys !!. Thanks!!James Larry Gaines IIhttp://www.blogger.com/profile/05139261700052826951noreply@blogger.com4tag:blogger.com,1999:blog-5469693634144057439.post-10945749433474611132014-05-16T10:32:00.001-07:002017-09-26T21:58:20.738-07:00SSL certificate replaced, but site delivers old one still?So I encountered this scenario where the SSL was replaced but the site is still serving the old SSL on a site hosted on IIS 8. You keep checking it on the IIS manager but its already set to the correct SSL Certificate but still you are being presented when browsing the site with an old SSL. How do you solve it ?<br />
<br />
It turns out the IIS 8 may have keep another SSL record on its own metabase. You need to reset this in order for the SSL Cert that you've added to take over.<br />
<br />
First things first, get the thumprint of your SSL. This is gathered by doubleclicking the Certificate from the MMC (certificate snap-in) and then browsing the properties and looking up the Thumbprint similar to the one shown below :<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0-GVfulczVUynR1EYl-ubDL_25NYYbr6yxGEKBKInP4xItVYNfVUC6P4lL2Gto0D4gnR5IjRcmsY5sd8IoroKjQ9zYova3wZkvnR6r8G_MfXFpd-pV7QxVdqzUjyhPI8u6RIWuNS-G0GB/s1600/imageupload001.tiff" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="232" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0-GVfulczVUynR1EYl-ubDL_25NYYbr6yxGEKBKInP4xItVYNfVUC6P4lL2Gto0D4gnR5IjRcmsY5sd8IoroKjQ9zYova3wZkvnR6r8G_MfXFpd-pV7QxVdqzUjyhPI8u6RIWuNS-G0GB/s1600/imageupload001.tiff" width="320" /></a></div>
<br />
Then run this command on your server :<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2FjoscmQjf_yKaGO7XH2m3J0X9ZUc21RjvHC9G8UXzhPGbWuCGFt_eSsYoZOTe0Yp-y7GLVVp9rU_51Nk44NYtnUhGiqSPX-9AV5YmN-mBwsyr9toNoqZhkjepsPsYE8RzaxtJvrOxjM0/s1600/imageupload002.tiff" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2FjoscmQjf_yKaGO7XH2m3J0X9ZUc21RjvHC9G8UXzhPGbWuCGFt_eSsYoZOTe0Yp-y7GLVVp9rU_51Nk44NYtnUhGiqSPX-9AV5YmN-mBwsyr9toNoqZhkjepsPsYE8RzaxtJvrOxjM0/s1600/imageupload002.tiff" width="320" /></a></div>
<br />
<br />
Now look at the list of SSL Certs if IP and Port Number in the list has a different thumbprint with the correct SSL. If it is, then most likely the IIS is serving the incorrect SSL.<br />
<br />
You can delete this on your server by using the command :<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg99EUBUxXIvmXeex9iEVZ83qGg2qUtCPbkx6B2HSbPKefBZCHs6Y_6K9YcEF7oX3vCgOQT0xBfDykSuSbLXb-dHpiC8VMpEsozZy_zxGRCSt5_OxT7hyqJJuUZmEK78-C3ORMPBiu7sGU8/s1600/imageupload003.tiff" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="9" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg99EUBUxXIvmXeex9iEVZ83qGg2qUtCPbkx6B2HSbPKefBZCHs6Y_6K9YcEF7oX3vCgOQT0xBfDykSuSbLXb-dHpiC8VMpEsozZy_zxGRCSt5_OxT7hyqJJuUZmEK78-C3ORMPBiu7sGU8/s1600/imageupload003.tiff" width="320" /></a></div>
<br />
<b>Make sure to specify the correct ipport values, which is similar to the IPPort values on the list earlier.</b><br />
<br />
When done, restart your IIS and then re-assign the SSL Certificate to your site.<br />
<br />
Afterwards browse and you will see that your site is serving the correct SSL Certificate.<br />
<br />
Please leave comments if this helped you.<br />
<br />
<br />James Larry Gaines IIhttp://www.blogger.com/profile/05139261700052826951noreply@blogger.com13tag:blogger.com,1999:blog-5469693634144057439.post-57192326912492227422014-05-13T16:29:00.001-07:002014-05-13T17:17:50.558-07:00Using NServiceBus SerializationWhile working on a project, we had a requirement to send a message to a NServiceBus hosted queue. We realized that normal sending of message to that queue does not work as NServiceBus wraps some header on the message. This either mean we need to send a message using NServiceBus or create an application that uses Bus.Send. Unfortunately we don't want to use Bus.Send so we just re-used the XMLSerialization of NServiceBus.<br />
<br />
Here's the code :<br />
<br />
<br />
<br />
<span style="font-family: Courier New, Courier, monospace;"><i> MyMessage walletMessage = new MyMessage ();</i></span><br />
<span style="font-family: Courier New, Courier, monospace;"><i> IMessageMapper messageMapper = new MessageMapper ();</i></span><br />
<span style="font-family: Courier New, Courier, monospace;"><i> Type type = messageMapper.GetMappedTypeFor( typeof( MyMessage ));</i></span><br />
<span style="font-family: Courier New, Courier, monospace;"><i> messageMapper.Initialize( new[] { type });</i></span><br />
<span style="font-family: Courier New, Courier, monospace;"><i> NServiceBus.Serialization.IMessageSerializer messageSerializer </i></span><br />
<span style="font-family: Courier New, Courier, monospace;"><i> = new XmlMessageSerializer (messageMapper);</i></span><br />
<span style="font-family: Courier New, Courier, monospace;"><i> using ( Stream stream = new MemoryStream ())</i><i>{</i><i> </i></span><br />
<span style="font-family: Courier New, Courier, monospace;"><i> messageSerializer.Serialize( new object[] {</i></span><br />
<i style="font-family: 'Courier New', Courier, monospace;"> walletMessage }, stream);</i><i style="font-family: 'Courier New', Courier, monospace;"> </i><br />
<i style="font-family: 'Courier New', Courier, monospace;"> stream.Position = 0;</i><br />
<i style="font-family: 'Courier New', Courier, monospace;"> var sr = new StreamReader (stream);</i><br />
<i style="font-family: 'Courier New', Courier, monospace;"> var variableToSendToQueue = sr.ReadToEnd();</i><i style="font-family: 'Courier New', Courier, monospace;"> </i><br />
<i style="font-family: 'Courier New', Courier, monospace;"> }</i><br />
<br />James Larry Gaines IIhttp://www.blogger.com/profile/05139261700052826951noreply@blogger.com2tag:blogger.com,1999:blog-5469693634144057439.post-73781040369884132472012-06-23T00:48:00.000-07:002012-06-23T00:57:41.021-07:00Ambigous Match Found error when using IBatis on .NET 4.0 or NHibernate on .NET 4.0. Caused by Castle's Dynamic Proxy.I was working on an important project for my client. My client's application is based on .NET 3.5. However, the framework where the service we are developing needs to be done on .NET 4.0. Worst, the SQL Framework they are using are IBatis. This is an old version of IBatis.<br />
<br />
When we tried running the Service, we hit this error : "Ambiguous Match"<br />
<br />
I discovered that this is due to the Dynamic Proxy.DLL from Castle. Somehow, this code fails :<br />
<br />
<pre style="background: white; color: black; font-family: Consolas; font-size: 13px;"><span style="color: green;">gen.Emit(OpCodes.Call, typeof(Monitor).GetMethod("Enter"));</span></pre>
<div style="background: white; color: black; font-family: Consolas; font-size: 13px;">
<br /></div>
<div style="background: white; color: black; font-family: Consolas; font-size: 13px;">
<br /></div>
<div style="background: white; color: black; font-family: Consolas; font-size: 13px;">
<br /></div>
<div style="background: white; color: black; font-family: Consolas;">
<span style="color: green;"><span style="color: black;">So I modified the code to this call (based on some research) :</span></span></div>
<div style="background: white; color: black; font-family: Consolas;">
<br /></div>
<span style="color: green;"></span><br />
Which worked.<br />
<br />
The reason for the error is due to Reflection's implementation difference from .NET 2.0 and .NET 4.0. .NET 4.0 requires a second parameter as opposed to the old one.<br />
<br />
However, making it work is proven to be difficult as i don't have the signature key that is used for the Dynamic Proxy. Note that I decompiled the DLL to edit the code so I need to recompile it back. It took me few hours to get the original signature so that it would work on my project.<br />
<br />
In-case you have the same issue, I have uploaded the source code that I modified as well as the resulting DLL so you can just re-use this without going through the nightmare I had gone thru.<br />
<br />
Here's the link :<br />
<br />
Here's the DLL link : <a href="https://www.dropbox.com/s/gk3zenow3ekoe0g/Castle.DynamicProxy.dll">https://www.dropbox.com/s/gk3zenow3ekoe0g/Castle.DynamicProxy.dll</a><br />
<br />
Here's the source code link : <a href="https://www.dropbox.com/s/ndx1l55l8dk61n5/Castle.DynamicProxy.zip">https://www.dropbox.com/s/ndx1l55l8dk61n5/Castle.DynamicProxy.zip</a><br />
<br />
Note that the source code was compiled using Visual Studio 2010. Enjoy!!<br />
<br />
<br />
<br />
<br />
<br />
<pre style="background: white; color: black; font-family: Consolas; font-size: 13px;">gen.Emit(<span style="color: #2b91af;">OpCodes</span>.Call, <span style="color: blue;">typeof</span>(<span style="color: #2b91af;">Monitor</span>).GetMethod(<span style="color: #a31515;">"Enter"</span>, <span style="color: blue;">new</span> <span style="color: #2b91af;">Type</span>[] { <span style="color: blue;">typeof</span>(<span style="color: blue;">object</span>) }));
</pre>James Larry Gaines IIhttp://www.blogger.com/profile/05139261700052826951noreply@blogger.com6Parañaque City, Philippines14.4793095 121.019822914.417812 120.9408589 14.540807 121.0987869tag:blogger.com,1999:blog-5469693634144057439.post-21736318968726680802012-05-05T10:13:00.001-07:002012-05-05T10:13:55.656-07:00Testing SMTP without sending an actual email itselfMy colleague was asking me about sending an email using SMTP. He was wondering if we could send an email without actually sending an email and it will just land on a disk for inspection. I don't remember any tool that will do that so I did a research.<br />
<div>
<br /></div>
<div>
I found about SMTP for Dev (<a href="http://smtp4dev.codeplex.com/">http://smtp4dev.codeplex.com/</a>)</div>
<div>
<br /></div>
<div>
What it does are the following :<br />
<br /></div>
<div>
<br />
<ol>
<li>Sits in the system tray and does not deliver the received messages.</li>
<li>The received messages can be quickly viewed, saved and the source/structure inspected. </li>
</ol>
<br />
<div style="text-align: justify;">
It is actually useful for debugging before you actually have your application send an actual email.</div>
</div>
<div style="text-align: justify;">
<span style="color: #253340; font-family: 'Segoe UI', Tahoma, Arial, Helvetica, sans-serif; font-size: x-small;"><span style="line-height: 19px;"><b><br /></b></span></span></div>
<div style="text-align: justify;">
<span style="color: #253340; font-family: 'Segoe UI', Tahoma, Arial, Helvetica, sans-serif; font-size: x-small;"><span style="line-height: 19px;"><b><br /></b></span></span></div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU9T2-K0hnk7LWWn7fBnDamBnqQ8eZgJY8-o-iHGzPCE0CQUMCtXxCkvfmKDLTX2pvo9wEPZeO4sCKBCvmRDhqI0lSiiXVwI42GkMXe7aD6WuE1yucqJh8OIVqAI733Q1uBuSxNhylrmLG/s1600/mainform.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="231" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU9T2-K0hnk7LWWn7fBnDamBnqQ8eZgJY8-o-iHGzPCE0CQUMCtXxCkvfmKDLTX2pvo9wEPZeO4sCKBCvmRDhqI0lSiiXVwI42GkMXe7aD6WuE1yucqJh8OIVqAI733Q1uBuSxNhylrmLG/s320/mainform.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVt9Lau4X8s5yVO5TUSXgp10X1CW9lpcEB2agUpuwt7N_nM4hMf5LrDMjZEmfZNAqmj-Lo5rPe7GNDgE95r0WkzlKjQZb0CavAft3lRU3w2rEE1pDgsatGIKKTPDKO2yUtOo5AR1Fb4cxM/s1600/notify.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVt9Lau4X8s5yVO5TUSXgp10X1CW9lpcEB2agUpuwt7N_nM4hMf5LrDMjZEmfZNAqmj-Lo5rPe7GNDgE95r0WkzlKjQZb0CavAft3lRU3w2rEE1pDgsatGIKKTPDKO2yUtOo5AR1Fb4cxM/s1600/notify.png" /></a></div>
<span style="color: #253340; font-family: 'Segoe UI', Tahoma, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19px; text-align: justify;"><br /></span></div>James Larry Gaines IIhttp://www.blogger.com/profile/05139261700052826951noreply@blogger.com2tag:blogger.com,1999:blog-5469693634144057439.post-4136993502006398412012-04-25T09:25:00.004-07:002012-04-25T09:25:55.005-07:00How to execute other methods while selecting in LINQWell, because I'm just still trying to master myself in LINQ, and i'm still working on pretty basic stuffs, I was looking at ways where I can do a select an array of BusinessDocument type without resorting to for-loop and still log the each of the document that I'm iterating to. Well, the below code is fantastic :<div>
<br /></div>
<div>
<div class="p1">
<span style="font-size: x-small;"><b><i><span class="s1"> </span>// Modified to use LINQ for readability.</i></b></span></div>
<div class="p2">
<span style="font-size: x-small;"><b><i> <span class="s2">IEnumerable</span><<span class="s3">string</span>> documents = oioublDocumentTypes.Select(documentName =></i></b></span></div>
<div class="p2">
<span style="font-size: x-small;"><b><i> {</i></b></span></div>
<div class="p2">
<span style="font-size: x-small;"><b><i> <span class="s2">LogHandler</span>.LogInfo(<span class="s4">"Requesting profile info for doc type: "</span> + documentName.ToString());</i></b></span></div>
<div class="p2">
<span style="font-size: x-small;"><b><i> <span class="s3">return</span> documentName.ToString();</i></b></span></div>
<div class="p2">
<span style="font-size: x-small;"><b><i> });</i></b></span></div>
<div class="p2">
<span style="font-size: x-small;"><b><i><br /></i></b></span></div>
<div class="p2">
The above code is equaivalent to looping each of the documents from the oioublDocumentType array and then returning each of them as an IEnumerable of string. While doing that, log each to the file while iterating. This is just a single line of code which saves me from doing for-loop... Look's pretty cool...</div>
<div class="p2">
<br /></div>
<div class="p2">
So this means that you can execute a lot of method within the select before returning what you want to return as a result... you can even do calculation inside and return the correct calculation... pretty impressive..</div>
<div class="p2">
<br /></div>
<div class="p2">
<br /></div>
</div>James Larry Gaines IIhttp://www.blogger.com/profile/05139261700052826951noreply@blogger.com1tag:blogger.com,1999:blog-5469693634144057439.post-51457974613498462742012-04-23T07:31:00.001-07:002012-04-23T07:31:17.856-07:00LINQ OverviewI'm actually trying to understand more about LINQ and I find that LINQ is clever solution. What LINQ is trying to address is the conceptual and technical difficulties when using different data sources with .NET Programming language.Microsoft’s intention was to provide a solution for the problem of object-relational mapping, as well as to simplify the interaction between objects and data sources.<br />
<br />
LINQ unifies data access, whatever the source of data, and allows mixing data from different kind of sources.
Before LINQ, we had to juggle different languages like SQL, XML, or XPath along with various technologies and APIs like ADO.NET or System.Xml in every application written using general-purpose languages such as C# or VB.NET. With LINQ, we can use a single language to query SQL, XML and other data sources without re-learning different techniques for drawing data from it's sources.
<br />
<br />
From my notes,<br />
<br />
<br />
<div class="p1">
LINQ is :</div>
<ol class="ol1">
<li class="li1">All about searching efficiently and consistently</li>
<li class="li1">Can be used with different data source. Does not need to know the underlying data source being queried from</li>
<li class="li1">No longer matters where the data is coming from</li>
</ol>
<div class="p1">
4 basic patterns for LINQ :</div>
<ol class="ol1">
<li class="li1">Linq to Object</li>
<li class="li1">Linq to DataSet</li>
<li class="li1">Linq to SQL</li>
<li class="li1">Linq to XML</li>
</ol>
<div class="p2">
<br /></div>
<div class="p1">
Different Linq providers are shown here :</div>
<div class="p3">
<span class="s1"><a href="http://blogs.msdn.com/b/charlie/archive/2006/10/05/links-to-linq.aspx">http://blogs.msdn.com/b/charlie/archive/2006/10/05/links-to-linq.aspx</a></span></div>
<div class="p3">
<br /></div>
<div class="p3">
Note though that because LINQ exists, everything must go with it. LINQ has performance overhead, so be careful. Basic rule is that LINQ is used mostly on a little more complex lists.</div>
<div class="p3">
<br /></div>
<div class="p3">
<b>LINQ Namespaces :</b></div>
<div class="p3">
<b><br /></b></div>
<div class="p3">
</div>
<div class="p1">
<b>System.Linq</b> namespace contains all basic classes and interfaces that you use to work with LINQ.</div>
<div class="p2">
<span class="s1"><a href="http://msdn.microsoft.com/en-us/library/system.linq.aspx">http://msdn.microsoft.com/en-us/library/system.linq.aspx</a></span></div>
<div class="p3">
<br /></div>
<div class="p1">
<b>System.Linq.Expressions</b> namespace contains the classes, interfaces, and enumerations used to create expressions. Expressions is essentially a tree of nodes that define how a query works. For example, you can create a binary expression that defines how to subtract one number from another. Essential expression types are :</div>
<div class="p3">
<br /></div>
<ul class="ul1">
<li class="li1">BinaryExpression</li>
<li class="li1">ConditionalExpression</li>
<li class="li1">ConstantExpression</li>
<li class="li1">InvocationExpression</li>
<li class="li1">LambdaExpression</li>
<li class="li1">ListInitExpression</li>
<li class="li1">MemberExpression</li>
<li class="li1">MemberInitExpression</li>
<li class="li1">MethodCallExpression</li>
<li class="li1">NewArrayExpression</li>
<li class="li1">NewExpression</li>
<li class="li1">ParameterExpression</li>
<li class="li1">TypeBinaryExpression</li>
<li class="li1">UnaryExpression</li>
</ul>
<div class="p2">
<span class="s1"><a href="http://msdn.microsoft.com/en-us/library/system.linq.expressions.aspx"><b>http://msdn.microsoft.com/en-us/library/system.linq.expressions.aspx</b></a></span></div>
<div class="p3">
<b></b></div>
<div class="p1">
<b>System.Data.Linq </b>namespace contains the classes, structures, interfaces, and enumerations used for SQL database interactions. </div>
<div class="p2">
<span class="s1"><a href="http://msdn2.microsoft.com/en-us/library/system.data.linq.aspx">http://msdn2.microsoft.com/en-us/library/system.data.linq.aspx</a></span></div>
<div class="p3">
<br /></div>
<div class="p3">
<br /></div>
<div class="p1">
<b>System.Data.Linq.Mapping</b> namespace contains the classes and enumerations to map data between an imperative language such as C# or Visual Basic .NET and a declarative language such as SQL. It also comes into play when working with technologies such as XML. In short, you'll use this class when working with any external data source that has a different representation from the standard object-oriented view of data found in the .NET Framework. More about this in : </div>
<div class="p2">
<span class="s1"><a href="http://msdn.microsoft.com/en-us/library/system.data.linq.mapping.aspx">http://msdn.microsoft.com/en-us/library/system.data.linq.mapping.aspx</a></span></div>
<div class="p4">
<br /></div>
<div class="p4">
<br /></div>
<div class="p5">
<b>System.Data.SqlClient </b>namespace contains the classes used to create a basic connection with SQL Server. Although you might use this namespace in a number of scenarios, you'll generally use it exclusively with SQL Server. <a href="http://msdn2.microsoft.com/en-us/library/system.data.linq.sqlclient.aspx"><span class="s2">http://msdn2.microsoft.com/en-us/library/system.data.linq.sqlclient.aspx</span></a></div>
<div class="p6">
<br /></div>
<div class="p6">
<br /></div>
<div class="p5">
<b>System.Xml.Linq </b>namespace contains classes and enumerations used to interact with XML data of all type. When you think about the number of ways in which modern computer systems use XML data, this namespace covers a significant amount of ground. <a href="http://msdn2.microsoft.com/en-us/library/system.xml.linq.aspx"><span class="s2">http://msdn2.microsoft.com/en-us/library/system.xml.linq.aspx</span></a></div>
<br />James Larry Gaines IIhttp://www.blogger.com/profile/05139261700052826951noreply@blogger.com1tag:blogger.com,1999:blog-5469693634144057439.post-89361703234050314312012-04-22T11:02:00.002-07:002012-04-22T11:07:18.179-07:00Test Driven DevelopmentI just had an interview with an applicant from our company and one of the questions that we had to him is if he has done Test Driven Development. For most part, I would say, most of the applicants that I have interviewed does not have a clear grasp of test driven development. They thought or most of them thought that just because you have a unit test, means it is a Test Driven Development. One of them was even describing Integration Testing rather than Unit Testing. So I thought of publishing a short and concise understanding of what really is Test Driven Development..<br />
<br />
<b>What is test driven development ?</b><br />
<br />
Test driven development is a software development process of which for most part, the test has more importance or if not has the same importance with the code. That is, <b>test are first created even before the actual coding/logical coding is done</b>. It is difficult to understand this concept but in essence, it is a development style of which codes undergo exhaustive testing.<br />
<br />
These are the <b>concepts of TDD</b> according to my notes based on a TDD book I've read way back.:<br />
<br />
<br />
<ol class="ol1">
<li class="li1">You maintain an exhaustive suite of Programmer Tests. - You have a programmer's test that tests your classes exhibit the proper behaviour.</li>
<li class="li1">No code goes into production unless it has associated tests, - All codes must have an associated test before it goes to the next environment for integration testing. This means that if there's a change of code, there must be a test for it or you don't propagate the change. Similarly, this is applied to new functions.</li>
<li class="li1">You write the tests first - You write the test first. Write a test that will fail initially, and then test. Pass at the minimum of 2nd time then refactor or keep on testing until it passes then refactor.</li>
<li class="li1">The tests determine what code you need to write. - This helps limit your code to the actual functionality that needs to be implemented and nothing more.</li>
<li class="li1">Let the computer tell you your errors.</li>
</ol>
<div>
<br /></div>
<div>
The following are the <b>simple rules of applying TDD</b> as per my notes based on a TDD book I've read way back :</div>
<div>
<br /></div>
<div>
<ol class="ol1">
<li class="li1">Think about what you want to do.</li>
<li class="li1">Think about how to test it.</li>
<li class="li1">Write a small test.</li>
<li class="li1">Think about the desired API.</li>
<li class="li1">Write just enough code to fail the test.</li>
<li class="li1"> Run and watch the test fail. (The test-runner, if you're using something like JUnit, shows the "Red Bar"). Now you know that your test is going to be executed.</li>
<li class="li1">Write just enough code to pass the test (and pass all your previous tests). Run and watch all of the tests pass. (The test-runner, if you're using JUnit, etc., shows the "Green Bar"). If it doesn't pass, you did something wrong, fix it now since it's got to be something you just wrote.</li>
<li class="li1">If you have any duplicate logic, or inexpressive code, refactor to remove duplication and increase expressiveness -- this includes reducing coupling and increasing cohesion. Run the tests again, you should still have the Green Bar. If you get the Red Bar, then you made a mistake in your refactoring.</li>
<li class="li1">Fix it now and re-run. Repeat the steps above until you can't find any more tests that drive writing new code.</li>
</ol>
<div>
<br /></div>
</div>
<div>
Now the general concept and reason of TDD is actually to : Force programmers to think before they act.</div>James Larry Gaines IIhttp://www.blogger.com/profile/05139261700052826951noreply@blogger.com0tag:blogger.com,1999:blog-5469693634144057439.post-76459155092461588602012-04-22T10:50:00.002-07:002012-04-22T10:53:17.250-07:00Fundamentals of C#<br />
C# is a modern programming languages that is a descendant of C++ but is grouped together with Java. Some people says that C# is actually a competing technology created by Microsoft to go against Java. True or False, I'm not here to defend which one is correct, but am here to share my notes on C#.<br />
<br />
The family tree of C# is shown below :<br />
<br />
<img alt="Ch1Img1.gif" height="248" src="http://farm6.static.flickr.com/5106/5605160168_3933e49741.jpg" width="285" /><br />
<br />
<br />
So C# is actually on the same level as Java. You can think of it as brothers, sisters, or cousins. But both are descended from C++James Larry Gaines IIhttp://www.blogger.com/profile/05139261700052826951noreply@blogger.com0tag:blogger.com,1999:blog-5469693634144057439.post-35953690286087833692012-04-22T10:49:00.001-07:002012-04-22T10:49:59.664-07:00C# and the .NET Framework<br />
<b>The C# Language</b>C# is a new and modern programming language provided as part of the .NET Framework. It is an Object Oriented Programming language and has it's core many similarities with Java and C++. Some of the attributes by this language includes :<br />
<br />
<br />
<ul>
<li>C# does not allow multiple inheritance but allows multiple implementation of interfaces</li>
<li>Provides Garbage Collection so that programmers does not need to worry of memory allocations and pointers.</li>
<li>It maintains unique operations of C++ like operator overloading, enumerations, pre-processor directives, delegates (or function pointers in C++)</li>
<li>It supports concepts of properties, reflections, attributes, marshalling, remoting, threads, streams, data access etc.</li>
</ul>
Next we will discuss .NET Framework.<br />
<br />
<br />
<b>The .NET Framework<br /><span style="font-weight: normal;"><b><span style="font-weight: normal;"><b><span style="font-weight: normal;">.NET framework is a new framework which includes large libraries called Framework Class Library, allows and it supports several programming languages which allows language interoperability (each language can use code written in other languages). The .NET library is available to all the programming languages that .NET supports. Some of the languages it supports includes C#, F#, VB.NET, C++ among others.</span></b></span></b></span></b><br />
<br />
The most important piece of this framework is the CLR or Common Language Runtime. It is a framework that sits on top of the OS and allows execution of the language developed for .NET framework. We can show it by the below diagram.<br />
<br />
<img alt="201104101632.jpg" height="267" src="http://farm6.static.flickr.com/5263/5605070001_d679020abf.jpg" width="426" /><br />
<br />
<i>*From Programmers Heaven C# School Book</i><br />
<br />
<b>Common Language Runtime (CLR)</b>CLR or Common Language Runtime is an environment at which we can run our .NET Applications that have been compiled by IL Compiler. If you are familiar with Java, consider CLR as JRE.<br />
<br />
To further breakup CLR, a diagram is shown below : <a href="http://www.codeproject.com/KB/dotnet/clr.aspx" title="CLR and JRE">(1)</a><br />
<br />
<img alt="201104101652.jpg" height="243" src="http://farm6.static.flickr.com/5146/5605135375_db7a24c2b2.jpg" width="337" /><br />
<br />
<i>*From <a href="http://www.codeproject.com/KB/dotnet/clr.aspx" title="CLR and JRE">CodeProject</a></i><br />
<br />
<ul>
<li><b>Common Type System- <span style="font-weight: normal;"><b><span style="font-weight: normal;">It is responsible for interpreting data types for .NET framework. E.g. how many bytes there is in a String object. CTS defines the basic data types to what an IL can understand. Each language should map it's data types to these standard data types. This is quite powerful and allows 2 languages to understand each other such as passing and receiving parameters to each other.</span></b></span></b></li>
<li><b>IL Compiler -</b> IL Compiler compiles the IL Code to the Machine Language. IL actually means Intermediate Language. When you compile your code, the code gets compiled to an Intermediate Language, much like a Java is compiled to a Java Byte Code. However, afterwards, this IL will be fed to the CLR so that it gets compiled to a machine language code.</li>
<li><b>Execution Support</b> - It is similar to the language runtime (e.g. VBRunxxx.dl in VB however in .NET there's no individual language runtimes anymore).</li>
<li><b>Security</b> - Provides the security context on the application, and ensures the application has permission to certain functions.</li>
<li><b>Garbage Collector</b> - It is similar to the garbage collector found in Java, which collects stale objects or unused/unreferenced objects, and releases the allocation to the heap memory.</li>
<li><b>Class Loader</b> - The purpose is to load the classes needed by the application.</li>
</ul>
<br />
<b><span style="font-weight: normal;">To understand, here's a sample :</span></b><br />
<ol>
<li>Programmer writes the source code and compiles it.</li>
<li>Language compiler compiles it to IL. ( This is called Assembly )</li>
<li>WHen the applciation is run the following happens :</li>
</ol>
<ul>
<li>It checks the assembly's security characteristics.</li>
<li>It allocates space in memory.</li>
<li>It sends the assembly to the IL Compiler (also called Just-in-time compiler) which compiles portions of it to native machine code. Only portions of the code is compiled as it is needed. If it's not needed during execution, it is not compiled.</li>
</ul>
<br />The diagram below from the book Beginning ASP.NET in C# 2010 shows how the compilation works.<br /><br /><img alt="201104101836.jpg" height="480" src="http://farm6.static.flickr.com/5023/5605286071_230daae553.jpg" width="369" /><br /><br /><br /><br />.Net Framework also provides a large and extensive library called Framework Class Library (or Base Class Library). It's sole purpose is to provide easy to use API's that are available to your application, such as :<br />
<ul>
<li><b>General Base Classes</b> - Classes that provides set of tools for programming tasks such as file manipulation, string manipulation, security, encryption, etc.</li>
<li><b>Collection Classes</b> - Classes that implements lists, hashtables, etc.</li>
<li><b>Threading and Synchronization classes</b> - Classes for building multi-threaded programs</li>
<li><b>XML Classes</b> - Classes for XML manipulation</li>
<li><b>Data Classes</b> - Classes used for Data Access and manipulation.</li>
</ul>
So there, I've discussed about .NET framework and C# as an overview. Next, we will start taking a look at C# in-depth.<br />James Larry Gaines IIhttp://www.blogger.com/profile/05139261700052826951noreply@blogger.com0tag:blogger.com,1999:blog-5469693634144057439.post-18706250007860296822011-05-15T12:01:00.000-07:002012-04-23T06:37:03.935-07:00HTTP 500.19 Errors in IIS 7 - Site is on Mac and IIS is on VMWare Fusion/Parallel<br />I was tinkering around my IIS 7 which comes on my Windows 7 Guest on VMWare fusion. I have my web application stored on my Mac Drive and IIS on VMWare. Apparently, when I try to share the drive via VMWare share to Windows, and I try to browse the site, I get this error :<br />
<br />
<br />
<span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;">HTTP Error 500.19 - Internal Server Error<br />
Description: The requested page cannot be accessed because the related configuration data for the page is invalid.<br />
Error Code: 0x8007052e<br />
Notification: BeginRequest<br />
Module: IIS Web Core<br />
Requested URL: http://localhost/<br />
Logon User: Not yet determined<br /><br />Logon Method: Not yet determined<br />
Handler: Not yet determined<br />
Config Error: Cannot read configuration file<br />
Config File: \\?\UNC\vmware-host\webapp</span><br />
<span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;"><br />
</span><br />
<span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;"><br />
</span><br />
So how I made it work ? We must not use VMWare sharing but instead use Mac OSX Samba Sharing.<br />
<strong>MAC OS X Instructions</strong><br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<ol>
<li>Create an account called <strong>IIS_UsrAccess</strong> on Mac OSX (or any account). Make sure that this is a sharing account for security. Remember the password you used on Mac OSX.</li>
<li>Go to System Preference -> Sharing </li>
<li>Tick on File Sharing</li>
<li>Click on Options</li>
<li>Tick : Share files and folders using SMB (Windows)</li>
<li>On the account below, choose IIS_UsrAccess</li>
<li>Click on Done</li>
<li>Add a the folder you want to share to Windows under Shared Folders</li>
<li>On the users, add IIS_UsrAccess and choose Read or Read and Write.</li>
<li>Close.</li>
<li>Browse the Folder via Finder</li>
<li>Under the folder you shared, right click and choose Get Info</li>
<li>Below, you would see Sharing and Permissions as shown here : </li>
</ol>
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxoe-j-VDe52FtyU9nfGzj9iJO3V3mXVyBBrzBEYyBn8YvDZHgTy7QR1KS6L8Bgeziq9tzHMudtBHQo0uykzEiCerY2ZNRfo2npBcujnAOSondT9i_4YJc4CiSJPEr5Pmre43LNwhXF8ZM/s1600/Untitled+2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxoe-j-VDe52FtyU9nfGzj9iJO3V3mXVyBBrzBEYyBn8YvDZHgTy7QR1KS6L8Bgeziq9tzHMudtBHQo0uykzEiCerY2ZNRfo2npBcujnAOSondT9i_4YJc4CiSJPEr5Pmre43LNwhXF8ZM/s1600/Untitled+2.jpg" style="cursor: move;" /></a></div>
<div>
14. Add iss_usraccess. Now depending on the priviledge you want to grant, it could be read only or read and write. </div>
<div>
<br /></div>
<div>
15. Locate your web.config file on this app and do the same as point 14. If you want to manage web.config from IIS, choose read and write for iis_usraccess account.</div>
<div>
<br /></div>
<div>
Now we're done on Mac OSX. We will now go to windows.</div>
<div>
<br /></div>
<div>
<ol>
<li>Test first on your Windows if you are able to access the shared folder by going to Windows Explorer and \\<mac name="">\<shared folder="">. Example, on my machine I typed \\MyMac\Web and I'm able to browse the folder.</shared></mac></li>
<li>Create an <b>iis_usracces</b>s account on Windows and <b>use the same password you used on Mac OSX. This is to allow account pass through.</b></li>
<li>Once this is done, go to IIS Manager.</li>
<li>Create an Application by doing Add Application or Create a Virtual Directory by clicking Add Virtual Directoy (I Assumed you already have a site</li>
<li>On Alias, choose whatever alias you want. On Physical Path, choose \\<mac name="">\<shared folder="">. </shared></mac></li>
<li>Click on Connect As... and on new window, type in Specific User and then click on Set. Once Set is clicked, type in on the Username iis_usraccess and password of the user you created on windows and mac os x.</li>
<li>Once done, click on Test Settings.</li>
<li>It should be both green, meaning you are now able to browse the site.</li>
</ol>
</div>James Larry Gaines IIhttp://www.blogger.com/profile/05139261700052826951noreply@blogger.com6tag:blogger.com,1999:blog-5469693634144057439.post-41966602024217495672011-05-10T07:07:00.000-07:002011-05-10T07:08:56.378-07:00Mother's day savings for VMWare Fusion 25% Off.Hurry.. Avail of the Fusion discount... Just type in FusionSavings on the coupon when you check out and enjoy 25% off on your purchase...<br />
<br />
<a href="http://app.connect.vmware.com/e/es.aspx?s=524&e=19486056&elq=b866baf30ad9412998b2f8fdf856dd93&OPENID=Browse">http://app.connect.vmware.com/e/es.aspx?s=524&e=19486056&elq=b866baf30ad9412998b2f8fdf856dd93&OPENID=Browse</a>r<br />
<br />
Check it out...<br />
<br />
Offer valid until May 13, 2011James Larry Gaines IIhttp://www.blogger.com/profile/05139261700052826951noreply@blogger.com2tag:blogger.com,1999:blog-5469693634144057439.post-11384174021419763202011-05-05T21:36:00.000-07:002011-05-06T00:28:55.404-07:00I've switched to VMWare Fusion because of Portability with VMWare PlayerOk, so Parallel Desktop is faster than VMWare Fusion. Given this fact, I've decided to switch to VMWare Fusion. Reason is : Portability and Cost.<br />
<br />
I need my VM to work on Windows as well. Meaning that the VM that I created, I should be able to run on my office PC. Ofcourse, because its a property of the company that employs me, I cant possible buy a Parallel Desktop for Windows and install it there. And granted that I cant, I need to be cost conscious as well.<br />
<br />
While Parallel seems faster than VMWare, VMWare is not bad at all when running on MacOSX. It does not hang my Mac and I can run it really side by side. On my experience, VMWare works for me, though ofcourse, because I'm running it professionally to work on my Visual Studio and others that I need which can be run only on Mac, I don't need those 3D acceleration, themes etc. so I did a tweak on my Guest OS. And after that, the difference is really not noticeable at all, in-fact it seems to be like I'm running Parallel.<br />
<br />
I tried running my Guest OS on VMWare player and it works flawlessly. So this means, wherever I go, I can bring my VM and use that to work on anything.<br />
<br />
Cost. VMWare Player is free. Going with Parallel means I need to Parallel on Mac and Windows which will cost me 200 dollars vs VMWare which costs me 79.99 (only Fusion). That's a big difference.<br />
<br />
Also, I read on forums that upgrading Parallel actually costs you, while on VMWare, I can have a major version without a cost on me since I've subscribed on their 19.99 dollars subscription for 12 months. Since there's a talk of VMWare Fusion 4, that is a big savings for me. (I will save 39.99 dollars)<br />
<br />
So there, reason why I moved to VMWare Fusion.James Larry Gaines IIhttp://www.blogger.com/profile/05139261700052826951noreply@blogger.com3tag:blogger.com,1999:blog-5469693634144057439.post-21057489947106315722011-05-04T22:22:00.000-07:002011-05-04T22:27:12.493-07:00IOS 4.3.3 released - Includes Location-Based Tracking Fix ?<p>A new version 4.3.3 of IOS has just been released. This seems to include the issue with storing your location.<br /><br /><br /></p><br /><p><br /><br /><img src="http://farm6.static.flickr.com/5142/5689552994_28387c5759.jpg" width="480" height="332" alt="201105051326.jpg" /></p><br /><p><br /><br />Here's the fix :<br /><br /><br /><br /><br /><br />This update contains the changes to the iOS Crowd-Sourced location database cache.<br /><br /><br /><br />- Reduces the size of the cache<br /><br />- No longer backs up the cache to Itunes<br /><br />- Deletes the cache entirely with Location Services is turned off.</p><br /><br />James Larry Gaines IIhttp://www.blogger.com/profile/05139261700052826951noreply@blogger.com0tag:blogger.com,1999:blog-5469693634144057439.post-18979474921845778732011-04-27T22:45:00.001-07:002011-04-27T22:45:40.048-07:00TiredHospital then home then hospital... Havent logged in yet to office vpn... This week is tiring<br /><br /><br />- Posted using BlogPress Mobile<br />James Larry Gaines IIhttp://www.blogger.com/profile/05139261700052826951noreply@blogger.com0tag:blogger.com,1999:blog-5469693634144057439.post-63362622958767162842011-04-25T22:45:00.000-07:002011-04-25T22:47:50.878-07:00My Desk Setup - Logitech MK260 Keyboard, CD-R King KVM Switch and AON E2236VW LED Monitor.Here's my setup : My Logitech MK260 is attached to the CD-R King KVM Switch with AOC e2236VW Led 21.5 inch Monitor as my secondary desktop to run Parallel Desktop Windows 7. They're all attached on MacBook Pro. <br />
<div><br />
</div><div>Logitech MK260 works good on MacOS X. It's a wireless combo that comes with a mouse. It's cheap in Philippines and will cost around 1750 pesos at Octagon. So I bought it when I was there.</div><div><br />
</div><div>AOC e2236VW monitor costs 7K+ at Asianic. It has a built in USB extension port so you dont need to connect anything on your PC but you can connect straight to your monitor. I bought it when I was there.</div><div><br />
</div><div>CD-R King KVM Switch was bought at 1450 PHP. So far so good. You need to press Scroll-lock twice then the number 1 for PC1 and 2 for PC2. Bought it when I was there.</div><div><br />
</div><div>So far so good. Here's the pic of my setup...</div><div><br />
</div><div><br />
<br />
<br />
<br />
<center><a href="http://www.flickr.com/photos/25068804@N07/5656208027/"><img border="0" height="210" src="http://farm6.static.flickr.com/5144/5656208027_c1da6a138f_b.jpg" style="margin: 5px;" width="281" /></a></center><br />
<br />
<br />
<br />
<center><a href="http://www.flickr.com/photos/25068804@N07/5656781078/"><img border="0" height="210" src="http://farm6.static.flickr.com/5227/5656781078_59b028f9ec_b.jpg" style="margin: 5px;" width="281" /></a></center><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://www.flickr.com/photos/25068804@N07/5656781542/" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="210" src="http://farm6.static.flickr.com/5225/5656781542_17aa076cc7_b.jpg" style="margin-bottom: 5px; margin-left: 5px; margin-right: 5px; margin-top: 5px;" width="281" /></a></div><br />
<br />
<br />
<br />
<center><a href="http://www.flickr.com/photos/25068804@N07/5656208461/"><img border="0" height="210" src="http://farm6.static.flickr.com/5061/5656208461_4e25502f67_b.jpg" style="margin: 5px;" width="281" /></a></center><br />
<br />
<br />
<br />
<center><a href="http://www.flickr.com/photos/25068804@N07/5656781766/"><img border="0" height="210" src="http://farm6.static.flickr.com/5302/5656781766_9d897eab00_b.jpg" style="margin: 5px;" width="281" /></a></center><br />
<br />
<br />
<center><a href="http://www.flickr.com/photos/25068804@N07/5656209267/"><img border="0" height="210" src="http://farm6.static.flickr.com/5103/5656209267_797cdddf01_b.jpg" style="margin: 5px;" width="281" /></a></center><br />
<br />
<iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=lifeaccotome-20&o=1&p=8&l=bpl&asins=B004KSQANO&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=FFFFFF&bg1=FFFFFF&f=ifr" style="align: left; height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe> <iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=lifeaccotome-20&o=1&p=8&l=bpl&asins=B002TOL3JW&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=FFFFFF&bg1=FFFFFF&f=ifr" style="align: left; height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe> <iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=lifeaccotome-20&o=1&p=8&l=bpl&asins=B002DUCXNW&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=FFFFFF&bg1=FFFFFF&f=ifr" style="align: left; height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe></div>James Larry Gaines IIhttp://www.blogger.com/profile/05139261700052826951noreply@blogger.com3tag:blogger.com,1999:blog-5469693634144057439.post-34554347359706663152011-04-24T08:33:00.000-07:002011-04-24T08:35:12.436-07:00For Windows User : IPhone Secrets - Your Iphone is tracking you part 2Hi. Related to this : <a href="http://jlgaines.blogspot.com/2011/04/your-iphone-is-tracking-you.html">Iphone Secrets : Your Iphone is tracking you</a> blog that I did, which provides an app to check where you've been using MacOSX. You may try this app :<a href="http://tom.zickel.org/iostracker/">iOSTracker.NET</a>. You require .NET Framework to run this. Thanks to : <a href="http://modmyi.com/forums/iphone-news/761156-iostracker-net-view-consolidated-db-location-info-windows.html">http://modmyi.com/forums/iphone-news/761156-iostracker-net-view-consolidated-db-location-info-windows.html</a>James Larry Gaines IIhttp://www.blogger.com/profile/05139261700052826951noreply@blogger.com0tag:blogger.com,1999:blog-5469693634144057439.post-73396825509098583282011-04-22T01:09:00.000-07:002011-04-22T01:12:42.394-07:00Apple releases Ibooks 1.2.2<span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 21px;"><strong>Books 1.2.2</strong><br />
<br />
Apple quietly released iBooks 1.2.2 on the App Store Thursday.<br />
<br />
The 14.9MB download includes a number of important stability and performance improvements, including:</span><br />
<ul><li>Addresses issues playing video included with enhanced books from the iBookstore.</li>
<li>Resolves a problem where some books open with a different font than expected.</li>
<li>Makes iBooks more responsive when navigating books with many items in their table of contents.</li>
</ul><div><br />
From : <a href="http://www.appleinsider.com/articles/11/04/22/apple_releases_ibooks_1_2_2_gree_acquires_openfeint_social_gaming_platform.html">http://www.appleinsider.com/articles/11/04/22/apple_releases_ibooks_1_2_2_gree_acquires_openfeint_social_gaming_platform.html</a><br />
<br />
I used to be a user of Ibooks but I find them very slow and sometimes unresponsive, so I switched to an alternative called : <a href="http://www.lexcycle.com/">Stanza</a>. I use Calibre to sync my books with stanza. Stanza is more responsive and has a hell lot of features than Ibooks.<br />
<br />
Anyway, you may go to Itunes store for an update.</div>James Larry Gaines IIhttp://www.blogger.com/profile/05139261700052826951noreply@blogger.com4tag:blogger.com,1999:blog-5469693634144057439.post-13647418439336435462011-04-22T01:03:00.001-07:002011-04-22T01:07:01.182-07:00Jeremy Renner for The Bourne Legacy ?<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">It seems that we have a new Bourne, in the personality of Jeremy Renner.<br />
<br />
<br />
<a name='more'></a><br />
</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">Who is Jeremy Renner ? Jeremy Renner is an American actor and musician. Renner appeared in films throughout the 2000s, mostly in supporting roles. He came to prominence in films such as Dahmer (2002), S.W.A.T. (2003), Neo Ned (2005), and 28 Weeks Later (2007), and was nominated for an Academy Award for Best Actor for his starring role in the 2009 Best Picture-winning war thriller The Hurt Locker. The following year he appeared in the critically acclaimed film The Town.</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">From Fused Film (http://www.fusedfilm.com/2011/04/jeremy-renner-offered-bourne-legacy-role/)</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span class="Apple-style-span" style="font-family: Arial, Tahoma, Verdana; font-size: 12px;"></span></div><div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-size: 14px; font-style: inherit; font-weight: inherit; line-height: 18px; margin-bottom: 0px; margin-left: 15px; margin-right: 15px; margin-top: 10px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">Deadline reports he is expected to sign quickly to play a new character in the spinoff film that begins production in September. Like the Jason Bourne character played by Matt Damon in the first three “The Bourne Identity” thrillers, Renner will play an operative from a covert government program that is even more dangerous than the Treadstone brainwashing program that hatched Bourne. The name Bourne will be used as a moniker and supposedly leaves it open for Damon to return.</div></div><div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-size: 14px; font-style: inherit; font-weight: inherit; line-height: 18px; margin-bottom: 0px; margin-left: 15px; margin-right: 15px; margin-top: 10px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">Renner plays an operative in the upcoming Mission: Impossible-Ghost Protocol.</div></div><div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-size: 14px; font-style: inherit; font-weight: inherit; line-height: 18px; margin-bottom: 0px; margin-left: 15px; margin-right: 15px; margin-top: 10px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
<br />
<iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=lifeaccotome-20&o=1&p=8&l=bpl&asins=B003H6KRIE&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=FFFFFF&bg1=FFFFFF&f=ifr" style="align: left; height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe> <iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=lifeaccotome-20&o=1&p=8&l=bpl&asins=0446539813&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=FFFFFF&bg1=FFFFFF&f=ifr" style="align: left; height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe> <iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=lifeaccotome-20&o=1&p=8&l=bpl&asins=0553593544&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=FFFFFF&bg1=FFFFFF&f=ifr" style="align: left; height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe></div></div><div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-size: 14px; font-style: inherit; font-weight: inherit; line-height: 18px; margin-bottom: 0px; margin-left: 15px; margin-right: 15px; margin-top: 10px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"></div>James Larry Gaines IIhttp://www.blogger.com/profile/05139261700052826951noreply@blogger.com0tag:blogger.com,1999:blog-5469693634144057439.post-79341825695337019432011-04-21T17:47:00.001-07:002011-04-21T17:50:08.462-07:00Itunes 10.2.2 updateApple has just recently released an Itunes update 10.2.2. The following below are the fixes :<br />
<br />
<div class="p1" style="font-family: 'Lucida Grande'; font-size: medium; font: 11px 'Lucida Grande'; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">ITunes 10.2.2 provides a number of important bug fixes, including:</div><div class="p1" style="font-family: 'Lucida Grande'; font-size: medium; font: 11px 'Lucida Grande'; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">• Addresses an issue where iTunes may become unresponsive when syncing an iPad.<br />
<br />
• Resolves an issue which may cause syncing photos with iPhone, iPad, or iPod touch to take longer than necessary.<br />
<br />
• Fixes a problem where video previews on the iTunes Store may skip while playing.<br />
<br />
• Addresses other issues that improve stability and performance.</div><div class="p1" style="font-family: 'Lucida Grande'; font-size: medium; font: 11px 'Lucida Grande'; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">iTunes 10.2 came with several new features and improvements, including:</div><div class="p1" style="font-family: 'Lucida Grande'; font-size: medium; font: 11px 'Lucida Grande'; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">• Sync with your iPhone, iPad, or iPod touch with iOS 4.3.<br />
<br />
• Improved Home Sharing. Browse and play from your iTunes libraries with Home Sharing on any iPhone, iPad, or iPod touch with iOS 4.3.</div><div class="p1" style="font-family: 'Lucida Grande'; font-size: medium; font: 11px 'Lucida Grande'; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">For information on the security content of this update, please visit:<a href="http://support.apple.com/kb/HT1222">support.apple.com/kb/HT1222</a></div><div class="p1" style="font-family: 'Lucida Grande'; font-size: medium; font: 11px 'Lucida Grande'; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
<br />
<img alt="201104220846.jpg" height="480" src="http://farm6.static.flickr.com/5146/5641565191_09ace9dc88.jpg" width="369" /></div><br />
<iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=lifeaccotome-20&o=1&p=8&l=bpl&asins=B002H9PTEE&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="align: left; height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe> <iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=lifeaccotome-20&o=1&p=8&l=bpl&asins=B001FA1NK0&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="align: left; height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe> <iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=lifeaccotome-20&o=1&p=8&l=bpl&asins=B002TLTGM6&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="align: left; height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><br />
<div class="p1" style="font-family: 'Lucida Grande'; font-size: medium; font: 11px 'Lucida Grande'; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
</div><br />
<div class="p1" style="font-family: 'Lucida Grande'; font-size: medium; font: 11px 'Lucida Grande'; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
</div>James Larry Gaines IIhttp://www.blogger.com/profile/05139261700052826951noreply@blogger.com0tag:blogger.com,1999:blog-5469693634144057439.post-83231972632558763122011-04-20T20:56:00.001-07:002011-04-26T20:43:50.447-07:00Iphone Secrets : Your Iphone is tracking you... SECRETLY!!!Just discovered something while browsing out via the Internet. And it's a bit shocking for someone like me who owns an Iphone. Apparently, Iphone is tracking where you are.<br />
<br />
<img alt="201104211157.jpg" height="336" src="http://farm6.static.flickr.com/5268/5639195623_a3d9ba9a73.jpg" width="480" /><br />
<br />
<br />
<a name='more'></a><br />
<br />
<br />
According to this site : <a href="http://radar.oreilly.com/2011/04/apple-location-tracking.html">http://radar.oreilly.com/2011/04/apple-location-tracking.html</a>, eversince IOS 4 arrived, Iphone is apparently tracking your location and storing it on a hidden file. Not sure what's this file for, but it seems clearly intentional as the database is being restored accross backups and even transferred to a new device when you happen to buy one and restore your apps on it.<br />
<br />
<br />
<br />
Apparently, the location (longitude and latitude) plus timestamp is stored on a file called consolidated.db. It's a list of cell location, meaning it's a cell tower triangulation. <b>Important thing to remember is that this is only stored on your device and computer and no way transmitted outside. </b>But the main issue here is that : <b>since this is also stored on your machine, it can be accessed by any running programs, which means it can be used to track your movements.</b><br />
<br />
<br />
<br />
<img alt="201104211159.jpg" height="152" src="http://farm6.static.flickr.com/5224/5639768886_d2408dd16e.jpg" width="460" /><br />
<br />
<br />
<br />
Please see more information here : <a href="http://radar.oreilly.com/2011/04/apple-location-tracking.html">http://radar.oreilly.com/2011/04/apple-location-tracking.html</a> and <a href="http://www.guardian.co.uk/technology/2011/apr/20/iphone-tracking-prompts-privacy-fears">http://www.guardian.co.uk/technology/2011/apr/20/iphone-tracking-prompts-privacy-fears</a><br />
<br />
<br />
Video is here :<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/GynEFV4hsA0?feature=player_embedded' frameborder='0'></iframe></div><br />
If you want to test this, and you're using a mac, try this tools.<br />
<br />
<br />
<br />
IphoneTracker from one of the researcher who found this - <a href="http://petewarden.github.com/iPhoneTracker/">http://petewarden.github.com/iPhoneTracker/</a><br />
<br />
<br />
<br />
From mac and I. Modified version of IphoneTracker that uses Google Maps - <a href="http://dl.dropbox.com/u/1881429/MyPhoneTracker.zip">http://dl.dropbox.com/u/1881429/MyPhoneTracker.zip</a><br />
<br />
For those using windows, read this : <a href="http://jlgaines.blogspot.com/2011/04/for-windows-user-iphone-secrets-your.html">http://jlgaines.blogspot.com/2011/04/for-windows-user-iphone-secrets-your.html</a> <br />
<br />
This is what I get when I use the app.<br />
<br />
<br />
<br />
<img alt="201104211224.jpg" height="306" src="http://farm6.static.flickr.com/5301/5639812040_e4a359defe.jpg" width="480" /><br />
<br />
<br />
<br />
<iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=lifeaccotome-20&o=1&p=8&l=bpl&asins=0596153589&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="align: left; height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=lifeaccotome-20&o=1&p=8&l=bpl&asins=B0026OR3BW&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="align: left; height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=lifeaccotome-20&o=1&p=8&l=bpl&asins=0470525959&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="align: left; height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe>James Larry Gaines IIhttp://www.blogger.com/profile/05139261700052826951noreply@blogger.com1