April 28th, 2009 Rusty
“Could not load type ‘System.Web.Mvc.ViewTypeParserFilter’ from assembly ‘System.Web.Mvc, Version=1.0.0.0,…”
When I deployed a working and tested build from our svn repos, it threw this error when I tried to access a view that was in a directory containing web.config with the following configuration:
<pages
pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
Asp.Net MVC installs in the GAC
Remember Com and DLL Hell? If you don’t, you didn’t miss anything. We used to have to register our DLL’s with windows OS in order to call them from applications. It caused all sorts of problems and very rarely bought us any reuse at all. Anytime you had to update a DLL, you had to regression test every application that used it before you could update the server where you needed the enhancement. Therefore, XCOPY deployment was a god send! Being able to share your binary at build time and deploy different versions of the assembly per application without concern for other dependent programs saves a ton of time and headache.
Oh, there is that GAC opportunity if you want to share a single DLL across an OS and you’re certain that its stable and locked in. It makes sense for Microsoft to register their assemblies there. Unfortunately, MVC had a significant update from RC to release but they did not increment their version number. Shame, shame, shame…
I installed Asp.Net MVC on our build server though did not on our production web server. I know: shame, shame, shame… Even though we reference our MVC DLL’s from a libraries directory, the build finds them in the GAC and does not copy to the bin directory. I am sure there is a simple configuration in the build scripts that I could use. My immediate solution was to manually copy the assemblies to the website’s published bin directory in SVN so our prod deployment would have the correct version of that “version” of dll.
Posted in Asp.Net, Mvc | No Comments »
April 21st, 2009 Rusty
For those of you who know me, you know I have dabbled, successfully, in Search Engine Optimization for many years. John Sherrod has been my guru, both in yoga and SEO, for something just south of 10 years. He has been both interested in and solicited to produce training in search optimization. He has been gracious enough to allow me to participate in this venture. We’re not sure of the specifics, yet, but it is going to begin as a hands-on course designed to deliver results during the class. Here are the details we have to share:
Search Engine Optimization Class Details
- small class
- 5 or 6 students per session
- 1 half day commitment
- 4 hours
- Saturday being proposed
- inexpensive
- practical results focused
- arrive to class with a laptop and ftp access to your site
- each topic discussed is applied to your site with the instructor’s guidance
- YOU make the changes that get results, immediate reinforcement of the topical material
- YOU ask questions as you apply what you’ve learned to YOUR website
- You leave the class with some of the enhancements in place, having started to move the needle
The concept is brilliant, I think. John has been doing this a long time and each time he teaches someone the secret sauce, they come back 3 months later having executed nothing. If you don’t apply the techniques, they can’t work for you.
Learn Search Fundamentals Relevant to Small Business
So John is designing a class that takes the fundamentals that he presented at SES NY and boiling it down to a practical, hands-on, effective lesson. He’s an expert in both small and large scale implementations. He has a passion for small businesses in America and is embarking with a class geared toward small business and local (Google Local) search.
What’s my role? …not sure yet. When I was 16, I taught guitar to 17 students. When my guitar instructor asked me to take over, he explained, “you don’t have to be as good as me, you have to be more knowledgeable than your students. Just stay one lesson ahead. When a student passes you by, you’ve succeeded, they don’t need you anymore.” While John has far deeper experience and knowledge on SEO than I do, I’m rising. He and I work together very well. I expect this to take off pretty quickly and hope to be in a position to teach the class as well. However, like my guitar guru, I’ll wait until he deems me ready.
First Atlanta SEO Class 2009
First class tentatively scheduled for mid June. Please contact rustyzarse –at- gmail –dot- com for more information
Posted in SEO | No Comments »
April 21st, 2009 Rusty
I haven’t blogged for a very long time. I’ve had lots to say. Unfortunately, when I finally threw in the towel on Vista and went back to Windows XP, I recalled just how crippled that OS was for serious development. So I upgraded to Server 2003, a very stable, functional and reliable OS (except for a weekly corrupt lock issue form VM and tortoiseSvn but that is besides the point).
No LiveWriter on any stable OS’s. period.
I can do everything I need to in Server, at least for Windows development, except blog. Windows LiveWriter installer, in their product team’s infinite wisdom, will prevent installation on Windows Server OS. It works FINE if you can get around the c0ck-block and install a hacked version of Windows LiveWriter but then plug-ins won’t find the install. That is a huge problem because most of what I blog is code. That nifty code plug-in that formats gorgeous c#? …sorry, doesn’t work if you back door LiveWriter.
What about that sweet Mac you carry around with you?
I decided it was time to blog again and looked into Ecto, once again. Unfortunately, it remembers that I once launched it (never actually tried it) and will not allow me to launch it now. That’s foolish, illuminex, really. I think it would be sufficient to just irritate me with a launch screen reminding (begging) me to pay the measly $20 every time I launch it. Or allow one blog post and then close the app with a “please buy” notice. Anything except preventing launch. You must be taking lessons from Microsoft.
Just buy it, dood, you say? Well, I’m sort of “not able to use credit cards” if you know what I mean. :-/
Solution – VM with XP
I read the Ecto vs LiveWriter smackdown and I realized I had all I needed. It seems so silly but, in reality, its why I switched to Mac in the first place.
When I code, I code. If its Windows, its Server. I don’t want extra software installed unless it directly applies to the art of coding.
When I blog, I am blogging. I might download photos and try software and exhibit all kinds of consumer behavior that will very likely introduce spinning icons and the inevitable need to rebuild the OS. I only need about 500MB to blog with so fire up an isolated VM for blogging and be over it. That XP machine I configured to try to code on? Its now my blogging computer. Yes, I fire up an entire computer just to blog. Well, a virtual computer. Nonetheless, how beautiful is that. Its like having a house to live in with your family that stays clean and fresh and a second house where you keep your exercise equipment and your old beer signs.
For the Adventurous
I’d gotten spoiled with my Mac because it hasn’t hiccupped in more than a year. I’ve been able to reduce to just one instance of Windows Server for my Windows programming duties and everything else works on the Mac. If that were a real goal of mine, I’d try Msi Install for Windows LiveWriter. Actually, I WILL try to install that and see if plug-ins work after that. I have Visual Studio ad everything I need on my XP instance so I can pull a quick bug fix without firing up my fat behemoth of a server VM. I should have the same convenience the other way around. However, this XP Instance boots in less than 30 seconds. LiveWriter will be in my startup items from now on.
Posted in Blogging | No Comments »
April 13th, 2009 Rusty
To make a custom View appear following a button click, I was trying to animate the appearance of a UIView using the following code.
CGRect tempFrame = portfolioAddView.frame; // Get the current frame.
tempFrame.size.height = 0.0f; // Hide the view by collapsing height
portfolioAddView.frame = tempFrame; // set the new frame
[UIView beginAnimations:nil context: @”some-identifier-used-by-a-delegate-if-set” ]; // Tell UIView we’re ready to start animations.
[UIView setAnimationDelegate: self ]; // Set the delegate (Only needed if you need to use the animationDid… selectors)
[UIView setAnimationCurve: UIViewAnimationCurveEaseInOut ];
[UIView setAnimationDuration: 0.4f ]; // Set the duration to 4/10ths of a second.
tempFrame = portfolioAddView.frame; // Get the current frame.
tempFrame.size.height = 120.0f; // open up the height
portfolioAddView.frame = tempFrame; // set the new frame
[UIView commitAnimations]; // Animate!
It worked fine for showing the view but when I tried the reverse, animate the height collapse, the child UIViews remained visible.
I found a property that solved that problem
[portfolioAddView setClipsToBounds:YES];
Now, when I animate the height to 0 (zero), the children are hidden by the collapsed view.
Posted in iPhone SDK | 1 Comment »