Thursday, February 21, 2013
I was pleased to hear, in multiple podcasts, and blogposts, that Visual Studio 2012 will be getting an update that will allow for using Git respositories as well as TFS VC (Team Foundation Server Version Control).
http://www.hanselman.com/blog/GitSupportForVisualStudioGitTFSAndVSPutIntoContext.aspx


Thursday, February 21, 2013 11:57:29 PM (Eastern Standard Time, UTC-05:00)
 Wednesday, October 10, 2012

Today I wanted to go  through some jQuery samples - that were stored locally on my computer. I opened them with Internet explorer and the ActiveX warning popups were getting really annoying to try out these samples from my disk.

 

I wanted to just open up the local system HTML files that were showing off the jQuery examples without that pesky ActiveX warnings from IE.  Then I remembered that I had a copy of the Chrome browser on my machine - and found  that you can drag and drop files onto the Chrome browser to view  those files (No file> open menu-item needed).

 

After opening the file in Chrome - the jQuery did not seem to want to function - and yet, no error messages in the UI was displaying. So - in Chrome browser, the Ctrl+Shift+I  keystrokes will open up the developer tools - and  then clicking that  non-functioning link reveals  there in the console the error message about "Access-Control-Allow-Origin" not being set in the headers. This error was a new one to me - apparently one of the HTML5 changes.


The Access-Control-Allow-Origin - is supposed to be a header that is sent back to the browser from a server that allows it to access files that are not from the same domain.  This is based on the Cross Origin Resource Sharing (CORS) spec from the W3.org.


HTML5 is not just one specification -  it is a collection of specifications. This is one that I was not really aware of until hitting this error.


When you realize that data for mobile phones, tablets and browsers, that  get applications written with HTML5 as the platform in mind, this header and techniques to use it - become very important for developers to be aware of today.

 

 The HTML5Rocks website has a very nice tutorial that explores how developers need to be looking at the usage of CORS in the ability to get cross domain access of data. There is an excellent link in the tutorial, to the CanIUse.com site, that specifically shows what browsers support the HTML5 CORS spec today; the CanIUse.com is a great site for seeing what HTML5 specifications are enabled in todays modern browsers.


That research was all the result of seeing an error in the Chrome Browser. The situation that brought up the error however is a specific situation, that is using the browser without a server - so you would not have the headers being sent when opening a local file.

In researching how to get around it, I found the answer - which was restated very well in  a post on StackOverflow.com had a pointer on how to do this.


Bottom line for local development - with Chrome and jQuery is to be sure you add the following parameter to your shortcut for starting up the Chrome browser.


--allow-file-access-from-files

Wednesday, October 10, 2012 8:12:36 PM (Eastern Standard Time, UTC-05:00)
 Sunday, July 01, 2012
A while back, I needed to find an automated mechanism to automate my backups. The employers recommendation was to use the built in compression tool in Windows. The tool has been there in Windows for a while. I did a search on methods to do that - in an automated fashion with Powershell. I found a post that described what I wanted to do (site is in the comments) and did a slight modification to it so I would not overwrite an existing output file if it already existed.  Send-Zip.ps1 is how I name the file.

#Oringal script - came from Sean Kearny - slight mods by Mark Mitchell
#http://ye110wbeard.wordpress.com/2010/06/22/powershell-%e2%80%93-send-files-to-a-compressed-folder/
#function global:SEND-ZIP ($zipfilename, $filename) { 
param (
       [string]$zipfilename, 
       [string] $content 
       )
<# 
 
.SYNOPSIS 
Function to send Files / Folders to a ZIP file using the native
feature in Windows Vista / 7 / Windows XP 
 
.DESCRIPTION 
Function to send Files / Folders to a ZIP file using the native
feature in Windows Vista / 7 / Windows XP.  Requires
Two parameters to be sent.  The Zip file name (with .ZIP) and
A File / Folder 
 
.EXAMPLE 
Send a Folder called C:FolderA to a file in the current
folder called MYZIPFILE.ZIP 
 
SEND-ZIP C:\MYZIPFILE.ZIP C:\Foldera 
 
You must ALWAYS Specify an EXPLICIT path to the ZIP file 
 
.EXAMPLE 
Send a File called FILE.TXT in C:FOLDER to a 
ZIP file called TEMPZIPFILE.ZIP in the C:TEMP Folder 
 
SEND-ZIP C:TEMPNEWZIPFILE.ZIP C:FOLDERFILE.TXT 
 
You must ALWAYS Specify an EXPLICIT path to the ZIP file 
 
.EXAMPLE 
This will FAILConsider it a flaw in design  
 
SEND-ZIP NEWZIP.ZIP C:Foldera 
 
.NOTES 
This was originally a VB.Net Function written by Steve Fulton
from a post on MSDN.COM
http://social.msdn.microsoft.com/Forums/en-US/windowsgeneraldevelopmentissues/thread/d3e347cc-f4dc-44a6-8f84-977f958d89c6/ 
 
Converted to Powershell by Sean Kearney @energizedtech (www.powershell.ca) 
 
#> 
"ZipName is $zipfilename"
# The $zipHeader variable contains all the data that needs to sit on the top of the 
# Binary file for a standard .ZIP file
$zipHeader=[char]80 + [char]75 + [char]5 + [char]6 + [char]0 + [char]0 + [char]0 + [char]0 + [char]0 + [char]0 + [char]0 + [char]0 + [char]0 + [char]0 + [char]0 + [char]0 + [char]0 + [char]0 + [char]0 + [char]0 + [char]0 + [char]0 
 
# #Mark Mitchell modification section - if zip target exists ask if the file should be overwritten
# Check to see if the Zip file exists, if not create a blank one
#
If ( (TEST-PATH $zipfilename) -eq $FALSE ) 
    { Add-Content $zipfilename -value $zipHeader} 
else
{
    "$zipfilename exists?"
    $doYouContinue = Read-Host "Enter y/Y to overwrite    $zipfilename :"
    if ($doYouContinue.ToUpper().Equals('Y'))
        {
        Remove-Item $zipfilename
        Add-Content $zipfilename -value $zipHeader
        }
    else
    {
    #we exit function
    return
    }
}
##-- end Mark Mitchell modification section 
# Create an instance to Windows Explorer’s Shell comObject
#
$ExplorerShell=NEW-OBJECT -comobject 'Shell.Application' 
 
#
# Send whatever file / Folder is specified in $filename to the Zipped folder $zipfilename
#
$SendToZip=$ExplorerShell.Namespace($zipfilename.ToString()).CopyHere($content.ToString())
 

Sunday, July 01, 2012 2:51:52 PM (Eastern Standard Time, UTC-05:00)
I just ran across someones blog post, where I went to their most recent post - and they were saying they had reached a point that they were going to stop blogging and focus on coding - that Blogging had "become a chore" for them.

For me Blogging is for multiple reasons, the first is - I use my blog posts to learn, using the approach of "Write to Learn" - a natural extension of "In order to learn - you have to teach".

Even though it appears that I don't have many actual posts here over the last six months, I have noted down 24 ideas for posts during the last six months- as I felt that It might be easier to work out the ideas more fully in a document - before I tried to post the idea within the blog software (the timeout factor has caused me to lose content while working out an idea using the blogs software to write a post).

I recently heard an old podcast from PowerScripting.net with John Robbins on Powershell and Debugging, and the topic of blogging was brought up. John Robbins said to write about what you did that day - and that day I wrote down an idea that I had worked on that day - and I will post that in the near future.

The second reason that I wanted to write the blog, is to work on writing - to improve my ability to write in a more clear fashion. So it is a way of working on self improvement - even if no one ever takes notice or reads this. It is a way that I feel can help me learn more about areas of interest, and how to express that more clearly in a written form.




Sunday, July 01, 2012 12:48:58 PM (Eastern Standard Time, UTC-05:00)
 Sunday, June 24, 2012
I recently bought the book "Inside Windows Debugging: Practical Debugging and Tracing Strategies" by Tarik Soulami. The book begins with the software packages you need to download. You need to be aware of your OS being a 32 or 64bit OS - and get the right version. I am using the 64 bit version of Windows, and for the Windows 7.1 SDK you need to download the GRMSDKX_EN_DVD.iso (that X in the name is the 64 bit version - there are 3 links you will find for the ISO installs).
With Visual Studio 2010, SP1 already installed on the machine - the Setup on my machine got errors. I finally found some posts that indicated that with SP1 - the Redistributable software was newer than what the SDK Installler was expecting.
I had to uninstall the Visual C++ Redistributable x64 version, on a 64 bit machine, that had anything after the version 10.0.30319 (if you are using the 32 bit - the same apparently goes there too).  Uninstalling the newer version of the Visual C++ 2010 Redistributable seems to allow the install to work.
I found another post that said to uncheck the Visual C++ 2010 compiler on the install -(when I ran a repair - I only found the Redistributable checked).
From what I read it seems like this release of the SDK had some issues - in multiple ways - with SP1 for Visual Studio.
The Error I was getting that helped me find the idea of uninstalling the Redistributable was

DDSet_Warning: Setup failed while calling 'getDLLName'. System error: Cannot create a file when that file already exists


There were some posts that suggested uninstalling everything and applying the SP1 bits after getting the SDK installed.
I hope others that hit the issue find this helpful. Some people apparently spent a great deal of time working out the issues.
It took me a while - a few hours to find and get the solution to work. Others said they had been searching for days to find this fix.

Sunday, June 24, 2012 9:45:58 PM (Eastern Standard Time, UTC-05:00)
 Friday, November 11, 2011

Two days ago, I attended the IASA(International Association of Software Architects) meeting in Atlanta (http://www.iasaglobal.org/iasa/Atlanta_Chapter.asp) . The presenter Joseph DeCarlo   spoke about doing iOS development in the enterprise. After the presentation, I got to talking with him about his development experience. We spoke about a variety of topics; like his move from the .Net development to Mac development, and we spent time discussing SCM(Source Control Management) packages - including  TFS(Team Foundation System) and Git. The team he works with is moving away from TFS as they felt that TFS was "too heavy" a process, and they moved to Git to make thier development process  "lighter" (more agile).  I have been trying to get my employer to move toward TFS as a standard (what we are required to use now is an abomination from the software graveyards) - so this was an interesting discussion for me.  It left the impression that the Distributed version control approach, in this case Git, added an agility to a team, that TFS might not have.

 

Joseph DeCarlo said that he has learned enough about Git to teach it, and do presentations on it. When he first started looking at Git he was not so sure about it, and then he read two books about it, and was sold - to the point that he claims he would not use another source control system.  He said that the impact of using Git on his development experience was as large as going from C++ to .Net ( he worked  for 8 or more years in each of them). The discussion made me want to finally pull the trigger on doing the install of Git on my machine.

 

I still looked at some more posts on the "Git vs Mercurial" topic(more info gathering) -

 this post  tries to claim that Git is like MacGyver and Mercurial is like James Bond -it  was well written - however is a bit dated now - as Mercurial has added some new functionality (see the comments on the post).

Within this post,  the point is made that the community of developers is more important than the tool - which I agree with, and in my mind decides the tool to some degree- If that is the community that is working on the stuff I am interested in.

And finally a post from someone who used both products for over a year, proficient in both - it speaks about how you approach the "version control hygiene" can impact the entire project in using Git.

 

I have access to Safari Online, so getting books to read on a topic is great - and I looked up a couple of books on Git. From the book Pro Git - by Scott Chacone,  in the first chapter of the book, he cited the link  http://code.google.com/p/msysgit/ I had put in my earlier research post on "Git or Mercurial".  The link  from that site to "Install msysgit"went to https://github.com/msysgit/msysgit/wiki/InstallMSysGit - which went nowhere for me  --not reachable  - but there on the far left of the page ( http://code.google.com/p/msysgit/) are several install (exe) programs - I downloaded and ran the Full install program;  The executable  compiled and setup Git on my machine and the last bit of the install shows commands to create the shortcuts - I created a Start Menu and Desktop shortcut.  So now I have pulled the trigger and can  explore Git on my own.

 

 The experience of running the install (pretty painless) was far easier to do - than to do the research. I just like to know what it is I am getting into, and have an interest in seeing that there is a value in going in any certain direction before I go there. The discussion with Joseph DeCarlo had given me the push I needed to pull the trigger.

 

Now I have to learn the basics of how to use it!

After the install the help file is great place to start.

 

C:\msysgit\msysgit\doc\git\html\git.htm

 

BTW - I Did encounter an interesting interactive Git "cheat sheet"  ; (click in the horizontal bars you find there) - but need to learn the basics first.


 I hope I can carve out the time to learn it, and use it,  at least to some degree - over the next year.

Friday, November 11, 2011 11:30:50 AM (Eastern Standard Time, UTC-05:00)