Tech and a few other things RSS 2.0
# Saturday, September 04, 2010



I'm done! After a summer of surprises, swings, and roadblocks I finally finished this book, a few months behind schedule, but it's done. The last objective-C book I read was by the de facto in Mac OS X development Mr. Hillegass, (my post) I embarked on the journey of reading a book on iPhone development with the man in iPhone teaching Jeff LaMarche. Jeff is every bit as good at breaking down complex topics and making them seem easy as my .Net home skillet Scott Hanselman. In short these dudes are just smart, but they'll never tell you that and they write some good books.

This book is an easy read and provides hands on examples on how to use many of the tools provided with the iPhone SDK 3. The book is spot on with it's examples, but I'm betting new Objective-C users might have trouble following along when  xCode 4 comes out. xCode 4 is quite a bit different graphically than 3 and may render the step by step instructions in this book out of date.

Overall if you are into programming on the iPhone, this is a great book to start, given you have a base working knowledge of Objective-C and an advanced understanding of programming in general.

 

Saturday, September 04, 2010 3:29:55 PM (Central Standard Time, UTC-06:00)  #    Comments [0] - Trackback
iphone | iphone | Objective C | readings | xCode
# Wednesday, September 01, 2010


Error Readout:

error: expected '=', ',', ';', 'asm' or '__attribute__' before 'interface'

Fix:
Added a semicolon.

Explanation:
It's important to remember that this was occurring before the interface tag, which meant it was happening in a file I was importing. In this case it was a header file with an enumeration in it that were not showing an error with a missing semi colon.


Wednesday, September 01, 2010 3:54:31 PM (Central Standard Time, UTC-06:00)  #    Comments [0] - Trackback
iphone | Objective C | xCode
# Sunday, August 22, 2010




You wanna set up a continuous integration server for .net and you want to do it fast, problem is learning all the darn elements and what they do for a nant script (default.build) and for the Cruise Control script (ccnet.config), ugg what a pain. Well I'm here to help you. I just created these two scripts on a very basic level to help you get moving quickly, because who honestly wants to waste time setting these things up. I provided plenty of comments too and links in the scripts to websites to make this as painless and as quick as possible. 

Feel free to take and use and build upon, but remember to share and certainly don't snip it and play to your friends on how quickly you set it up and not tell them where you went. That's just not cool. Some might even say you're being a poser. :)
Cruise Control config file ccnet.config:

<!-- A great refrence website                                                -->
<!-- http://ilmatte.wordpress.com/2008/06/01/cruisecontrolnet-tutorial-part-1/#ccnettutsourcecontrolblock -->

<cruisecontrol>  
    <project name="testProject">  
        <!-- URL of web interface set up for cruise control                    -->
        <webURL>http://localhost:8080/default.aspx</webURL>  
        
        <!-- Directory of your project checked out from whatever            -->
        <!-- repository you use and build script is in                         -->
        <workingDirectory>C:\dev\ccnet</workingDirectory>  
        
        <!-- Directory of where all the build logs will be placed            -->
        <artifactDirectory>C:\develop\CCnet\project1CCnetArtifacts</artifactDirectory> 
        
        <!-- Hook for using Subversion                                                            -->                
        <!-- Parameter documentation for sourcecontrol plugin using svn:                          -->
        <!-- http://ccnet.sourceforge.net/CCNET/Subversion%20Source%20Control%20Block.html        -->
        <sourcecontrol type="svn">  
            <trunkUrl>http://win-r7ld6grk131:1234/svn/testproject/trunk/testapp</trunkUrl>  
            <workingDirectory>C:\dev\ccnet</workingDirectory>
            <executable>C:\csvn\bin\svn.exe</executable>
            <username>admin</username>  
            <password>admin</password>
            <timeout>60000</timeout>            
        </sourcecontrol> 
        
        <!-- Hook for Git: Didn't spend to much time                         -->
        <!-- setting this up it may need some more tweeking                    -->
        <!-- and I'm not sure CC supports it natively yet                    -->
        <!--
        <sourcecontrol type="git">
            <repository>C:\repositories\examplerepository\TestApplication</repository>
            <branch>master</branch>
            <autoGetSource>true</autoGetSource>
            <executable>git</executable>
            <tagOnSuccess>false</tagOnSuccess>
            <tagCommitMessage>ccnet build {0}</tagCommitMessage>
            <workingDirectory>C:\repositories\examplerepository\TestApplication</workingDirectory>
            <timeout>60000</timeout>
        </sourcecontrol>
        -->
        
        <!-- How often it should check the repository for changes             -->
        <!-- Parameter documenation for triggers                             -->
        <!-- http://ccnet.sourceforge.net/CCNET/Interval%20Trigger.html     -->
        <triggers>  
            <intervalTrigger name="SVN" seconds="10" buildCondition="IfModificationExists" />  
        </triggers> 
        
        

        <!-- You can use MSBUILD instead of NANT because it can just build the     -->
        <!-- the solution file, as of right now you can't do that in NANT       -->
        <!-- for anything above Visual Studio 2003 Solution files              -->
        <!-- If you have any issues setting this up to build over a network 
        <!-- Look at these blog posts
        <!-- http://bencoffman.com/blog/2010/12/01/Error43AnErrorOccurredLoadingAConfigurationFileFailedToStartMonitoringChangesTo.aspx -->
        <!-- http://bencoffman.com/blog/2010/12/01/ASPNETCOMPILERErrorASPRUNTIMERequestFailed.aspx                                       -->
        <!--
        <tasks>
<msbuild>
<executable>c:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable>
<workingDirectory>\\vdev2\data\Inetpub\wwwroot\KSL\BartonCreek\</workingDirectory>
<projectFile>bartoncreek.sln</projectFile>
<buildArgs> /t:Rebuild /p:Configuration=Debug</buildArgs>
<timeout>600</timeout>
</msbuild>
</tasks>
--> <!-- labels each build with my name on the front of the project name --> <!-- Parameter documenation for labeller at --> <!-- http://ccnet.sourceforge.net/CCNET/Default%20Labeller.html --> <labeller type="defaultlabeller"> <prefix>Bens-TestProject-</prefix> <incrementOnFailure>true</incrementOnFailure> </labeller> <!-- Runs the super sweet nant script you created --> <!-- there is an <exec> parameter for nunit tests OR --> <!-- You can just use <nunit>.....just saying --> <!-- Parameter documentation for task --> <!-- http://ccnet.sourceforge.net/CCNET/Task%20Blocks.html --> <tasks> <nant> <executable>C:\nant-0.90\bin\nant.exe</executable> <baseDirectory>C:\dev\ccnet</baseDirectory> <nologo>false</nologo> <buildFile>default.build</buildFile> <buildTimeoutSeconds>1200</buildTimeoutSeconds> <targetList> <target>build</target> </targetList> </nant> </tasks> <!-- The directory to copy to. A subdirectory called the current build's label will --> <!-- be created, and the contents of sourceDir will be copied to it --> <!-- http://ccnet.sourceforge.net/CCNET/Build%20Publisher.html --> <publishers> <buildpublisher> <sourceDir>C:\dev\ccnet\bin</sourceDir> <publishDir>C:\Builds\</publishDir> </buildpublisher> </publishers> </project> </cruisecontrol> nant build script default.build: <?xml version="1.0"?> <!-- Good Reference site for the new comers --> <!-- http://ondotnet.com/pub/a/dotnet/2003/01/27/nant.html --> <project name="Bens Test Project" default="run" basedir="."> <!-- REMEMBER:!! as of version .90 nant only supporst building of --> <!-- Visual Studio 2002 and 2003 Solution files --> <!-- Builds your code and creates a bin directory to put your --> <!-- library's (assemblies) in --> <target name="library"> <mkdir dir="bin" /> <csc target="library" output="bin\testLibrary.LastNames.dll"> <sources> <!-- I used star here to compile all .cs files. --> <!-- Also I put a slash in so I could put my build file in --> <!-- The root solution folder and have it step into each --> <!-- project file and build all the code it then takes the --> <!-- library's (asseblies) and puts them in the --> <!-- root bin folder --> <include name="testLibrary/*.cs"/> </sources> </csc> </target> <!-- Builds your code and creates a bin directory to put your --> <!-- exe in --> <target name="build" depends="library"> <csc target="exe" output="bin\BensTestApplication.exe"> <sources> <!-- I used star here to compile all .cs files. --> <!-- Also I put a slash in so I could put my build file in --> <!-- The root solution folder and have it step into each --> <!-- project file and build all the code it then takes the --> <!-- exe and puts them in the --> <!-- root bin folder --> <include name="TestApplication/*.cs"/> </sources> <!-- classes I referenced in "BensTesdtApplication" are in --> <!-- this library --> <references> <include name="bin\testLibrary.LastNames.dll" /> </references> </csc> </target> <!-- Deletes the entire bin folder and all of its contents --> <target name="clean"> <delete dir="bin" failonerror="false"/> </target> <!-- Executes the exe your program built, --> <!-- This will not run if the "build" "target" fails --> <!-- <target name="run" depends="build"> <exec program="bin\BensTestApplication.exe"/> </target> --> </project>

Sunday, August 22, 2010 2:53:07 PM (Central Standard Time, UTC-06:00)  #    Comments [0] - Trackback
.Net | ccnet | nant





I just installed Subversion, for about the 1000th time, actually it's about the 3 time, but each installation seems to be separated by a year or two. This last installation was the easiest install yet. It was strait up clicking "next" through the entire process and then it finished with a web admin console for configuration. Wow. Thank you Jesus, that was easy and quick!

No downloading two installers, Apache and Subversion
No running two different installers
No touching config files
No getting Apache to play nice with Subversion

Just click and go. Love it. It's come along way since I first set it up.


CLICK HERE or go to http://www.collab.net/downloads/subversion for the super awesome easy set up of subversion

Sunday, August 22, 2010 1:54:42 PM (Central Standard Time, UTC-06:00)  #    Comments [0] - Trackback
subversion
# Saturday, August 21, 2010



I recived this error when installing Cruise Control .Net (CCNet)


Error Readout:

Handler "CCNetHttpHandler" has a bad module “ManagedPipelineHandler” in its module list

Fix:
%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
or
%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i

Remember in Windows 7 you have to run this in a command prompt with Administrator privileges. The easiest way to do this is click your windows button in the lower left corner, in search type cmd, then right click cmd and select "Run As Administrator."

Explanation:
Apparently a glitch somewhere caused .net to not be registered with iis. I'm running windows 7 with iis 7.x. This glitch really didn't make itself visible too well, but hey when you are having a problem with .Net and all else fails, reboot or reinstall .Net. It's the Microsoft way. :) And now Crusie Control .net should finally run on your machine.


These dudes posted the fix first. Thanks Fellas
http://wishmesh.com/2010/08/iis-7-5-error-handler-pagehandlerfactory-integrated-has-a-bad-module-managedpipelinehandler-in-its-module-list/

Saturday, August 21, 2010 10:16:00 AM (Central Standard Time, UTC-06:00)  #    Comments [0] - Trackback
.Net | ccnet
Navigation
About the author/Disclaimer
        

My name is Ben Coffman. I like to build things: programs, programming teams, programming departments and maybe one day a company with lots of programmers. When I turn the internet off I focus on my family, random hobbies, and sharing moments in life.

Blogs I follow:

1. 2andahalfd.com

2. Jeff Lamarche

3. Scott Hanselman

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Ben Coffman

Archive
<September 2010>
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789
All Content © 2012,

Sign In