Saturday, February 19, 2011

Weekend Thoughts

Windows 7 Mobile

I found the following article in PC WORLD which I thought was amazing. I can definitely see mobile phones being the future and for Microsoft to screw this up is incredible. Below is an except and the link to the full article.


Windows Phone Reloaded: Can We Trust Ballmer's Promises?
Microsoft promises multitasking, HTML5, and more for its underperforming mobile OS

Yesterday, Ballmer announced that Windows Phone 7 would be updated late this year to make Internet capabilities a "first-class citizen" (his words, not mine, though it's nice to see him agree that the early version was second- or third-class). Ballmer promised that Microsoft would address the features currently missing from Windows Phone 7, such as HTML5 support and multitasking.

Microsoft previously said it will add cut and paste to Windows Phone 7 this year as well. Not so clear is whether Microsoft plans to fill in all the security and management holes that disallow its use in most corporate networks, such as lack of VPN and on-device encryption, as well as substandard support for Microsoft's own Exchange ActiveSync policies (it supports fewer of those policies than any competing platform).

What Ballmer is promising to deliver -- multitasking and HTML5 support -- are basic capabilities that should have been in Windows Phone 7 at the outset. Apple's iOS, Google's Android OS, Hewlett-Packard's WebOS, and Research in Motion's BlackBerry OS 6 (introduced with the Torch last summer) all do. This is Microsoft just finally getting the basic in place, not an advancement that should get people excited.

View Full Article


NHibernate Resources and Video Series

If you are interested in an ORM and would rather get a colonoscopy then use Entity Framework 4, below is a set of resources for nhiberate. Summer Of Nhibernate

.MARK Is Human

Ok I made a mistake in my muppet blog post which was corrected by Doug Henning. I apologize for the mix up as the blog should has stated when you run the program the "RUN TIME" not the compiler will catch the error.

Doug Wrote: "One correction: you stated that the VFP compiler will catch a missing property, such as your x.doesntexist example. However, it wasn't the compiler that caught the error, it was the runtime. You didn't get the error when you typed or saved the code, but when you ran it."

Active VFP

An anonymous commenter left a link to a VFP web project on codeplex. If you missed the link in the comments here it is again. Active VFP On Codeplex

Have a great weekend.
.Mark!

Friday, February 18, 2011

.SEX - Get A Microsoft MVC Programmer Laid Benefit Drive!

I found this useless post http://codebetter.com/karlseguin/2010/03/11/webforms-vs-mvc-again/ from a true MVC cheerleader. Unfortunately he is pretty much clueless like so many Microsoft MVC guys are but thinks he is holier then GOD himself. The Microsoft MVC community as a whole for the most part, while there are a few exceptions like Scott Hanselman, have this GOD complex attitude that drive me insane.

What I truly do not understand about the Microsoft MVC crowd is that, MVC is not new, exciting or different. Microsoft copied this paradigm folks! Moreover some of these same MSFT MVC cheerleaders that beat the hell out of Ruby, now think that MVC is just "it". When truth be told, if they understood the web forms model, classes and when/how to use web services they would understand there isn't anything wrong with the WEB Forms model. Webforms is in fact an innovation over open source offerings, the problem is Microsoft failed to complete web forms and get all the bugs out of it, but what else is new.

With Web forms you can write the web forms pages so you can get reusability, clean urls and routing if you want. You can also use CSS, Javascript and Jquery as needed. The only thing lacking is some test driven development which IMHO is not much to write home about for the majority of the web projects. With the controller code some developers are writing along with messing around with EF as the "model" in MVC it is a complete sham what they are advocating. The BOTTOM LINE is MVC is WAY MORE WORK!

If you been reading any of my blog posting you should have picked up on the fact I STRONGLY believe in solution focused software development with an emphasis on efficient tools, lean purpose driven frameworks, reusability and the customer NOT writing code! Which is my entire problem with Visual Studio, .BLOAT and MVC that is plumbing code centric development!

Anyway I started thinking I really shouldn't mock this misguided code happy fellow or the Microsoft MVC community, instead we need to help them. Let's show them there is more to their pathetic life then getting an erection while watching a Scott "the dot" Gu webinar or jacking off to their 2 millions lines of code they wrote in MVC, which they wouldn't have had to write if they used webforms.

Given there is no way to rationalize with the die hard MVC cheerleader, we need to take a different approach. So the approach I want to try is to get them laid! Yes, in other words, Let's Create The First Annual "Get The Microsoft MVC Development Community Laid Event!"

Is this is a great freaking idea or what!

We will raise money to fly the Microsoft MVC development community down to Vegas for a night of fun with something other then their Nerd Diner Cookbook, which by the way is the holy grail of Microsoft MVC.

Please contact me if you would like to give to this great cause or want to nominate an MVC programmer for our help. Remember it is better to give today to get them laid then have a Microsoft MVC dude be your boss tomorrow!

Until next time

Happy Coding.
.Mark!

Here is a helpful tip. A lot of these MVC guys are HOUR billers! They love MVC because the more code they have to write the more hours they can bill. Folks seriously, if you are a client looking for a programmer to build a website and someone starts throwing the term Microsoft MVC around, be sure you get a quote from a webform and PHP programmer as well. In 99.999999999% of the cases "THERE IS NO END USER BENEFIT TO MICROSOFT MVC." Look Microsoft MVC is a sewer that you throw your time and money down instead of releasing a solution. Do not let these Microsoft MVC people bullshit you! Be sure to do your homework and compare quotes. If somehow the Microsoft MVC guy is the cheapest, tell them you want it fixed bid with a price and time guarantee. Moreover, I would really like to see the quote, heck I will review for you for FREE!

Thursday, December 23, 2010

The Cheerleaders Strike Again - The Good Part Source Code Doesn't Lie!

Believe it or not I don't just rant on here, it takes several hours, in most cases to put a post together and write the sample code. Then I do my research on the internet starting with several sites (some people I'm sure wish I didn't visit their sites :)..) and forums to ensure my posts, while blunt and opinionated, are based on fact and my bases are covered so too speak. Which is FAR more then I can say for some cheerleaders.

This blog post started off on a comparison of weak and strong typed languages. However I found an article, while rather dated, but nonetheless really pissed me off.

The article, of course, was about strong typed languages, which is fine if you have an opinion that varies from mine. There is no right or wrong answer when it comes to this it is just a preference. But what pissed me off is the author, who I once respected and now could give a shit less about, was a very well known Visual Foxpro speaker and consultant.

I didn't really care for the fact he refused to sign the VFP petition, as we all were aware of the harsh reality it probably wouldn't carry much weight at Microsoft to the powers that be, but still IMHO it was simply a show of support for the Visual FoxPro community.



Anyway it is safe to assume the author made a very nice living off Visual Foxpro besides being his claim into the programing world, to the best of my knowledge. But now he is a freaking Microsoft Muppet, I had to create a new level higher then Cheerleader for shit like this where Microsoft, I assume, can just pull his strings. If Microsoft isn't influencing this writing then what the "f" is wrong with him?!

Look I am not a fan of Scott "THE DOT" GU and tend to disagree with Soma, I actually hold Soma in a bit higher regard then "THE DOT" due to the fact Soma will at least post comments on his blog that are critical of Visual Studio and let the community debate it out if necessary. But at least "THE DOT" and Soma only spin Visual Studio they don't blatantly invent bogus crap about legacy technology that worked!

This Muppet is not only spinning Visual Studio he is discussing highly questionable negative aspects of a tool that he was advocating using not long ago. His post have the potential to adversely affect VFP'S developers, if a client was considering building a VFP application and stumbled across his ramblings. These are the same developers that bought this muppet's tools and books. WTF is going on in the head of some people!

In his blog post he basically ripped on Visual Foxpro for being a weak typed language with general statements and total disregard for the truth while ignoring obvious problems in Visual Studio.

Of course I needed to set the record straight!

Let's pull out some excepts out of his post and see how right or full of shit he is!

After All Source Code Doesn't Lie

To give you some back ground, the premise is he had some old foxpro code that he wanted to refactor and move some proprieties and variables around. Which according to him was a pain in the ass to deal with the repercussions and ripple effect of an essentially minor change.

Ok so let's get into his post ...

In a strongly typed language, make a change to a property name, or remove and the compiler (he is referring to Visual Studio) will tell you where it's missing or mistyped or used incorrectly. It's that simple. The same is true if you're in full on heads down code mode and you write a large chunk of code at one time without immediately testing to keep the flow going. In Fox I have to write my code and test right away to make sure I didn't accidentally mistype or format something improperly. There are bound to be typos etc. again, in Fox the only way I will find any of these sort of problems is to run the code. In .NET the compiler catches all of that and it takes a few clicks to fix it because the compiler tells me a) that there is a problem, b) where it is and c) takes me there so I can change it. Compare that to VFP: Run the application to the code you changed, bomb, look at the code, make the change and re-run. And you better hope you excercise all the code paths.


I want to stop this right here. Factually what he said is related to properties and is inaccurate at best. In Visual Foxpro, if you removed a property or have a typo the Visual FoxPro compiler will "DEFINITELY" throw an exception.

Here is a small sample code to prove this point.








Sure looks to me like the FoxPro compiler is taking me exactly where the problem is at and yes VCX'S work the same way. WTF he is talking about!

Anyway let's proceed.



In a strongly typed language I can worry about logic errors and forget about syntax and typos - the compiler does that for me. Maybe I'm a sloppy coder, but I find that experience of writing code, having to run it and fail only to find that I left out a letter in a variable name very frustrating especially if that code is buried in the UI that often can be tested only within the application. Compare the time to fix this sort of a bug. ST: Compile see the error, click on the error, fix the code, recompile. Total time: Maybe 30 seconds. Fox: Start the application, click to the place you have to go, fail, pop up the editor, fix the code, shut down the application, clear memory etc. restart the app and try again. Time: 2-3 minutes at least. In my work (especially the last couple of days) that's a typical scenario...



This is another exaggeration of the truth. First off what programmer in their right mind doesn't worry about syntax when writing a piece of code. What the hell is he writing pseudo code and yes that is such a bastardized statement to even imply Visual FoxPro doesn't catch syntax errors. It is not even worth my time to put a print screen together of that case.

His other point, I think what he is referring to is variable name typos and scoping...

For example.

private pcTypo
pcTypo = ""
pcType = "some error"

pcType is a statement that will get through the compiler in VFP, no doubt about it and it will error in C#/Visual Studio.

But here is the kicker, he specifically mentioned UI in his comments. If you have ever used Visual Studio 2008 webforms or mvc, that thing is like swiss cheese, intellisense and even the compiler misses errors when it comes to javascript, html or jquery. That is "code and try" testing or in MVC you can use TDD. If he is right it takes 2 minutes to find a problem in FoxPro, which under most cases is not accurate, how long does it take to write a test script or debug a webform and mvc UI. Why in the hell isn't he blogging about that issue since this is such a big fing deal! And don't even tell me HTML is not compiled so Visual Studio doesn't have to catch anything, BULLSHIT! there could be a well implemented editor with error handling. This is one f'd up double standard being applied here.


I've worked this way for many years in FoxPro and I've never really thought much about it, but after having spent a significant amount of time in .NET, now when I go back to VFP code I sorely miss strong typing and the true Intellisense that VS.NET offers in the editor.


Sure he never thought about it much because the compiler and intellisense worked in Visual FoxPro for 99% of the cases. The typos in variables names happened so rare it was only an after thought. Most VFP programmers used Hungarian notion and knew the variable scope and type just by looking at the name without wasting time with all this strong typing crap. Apparently now he felt the urge to rant about FoxPro for no apparent reason other then a lame attempt to prove Visual Studio is more productive then VFP which it totally IS NOT!.

Ironically when he goes back to Visual Studio and leaves Visual FoxPro doesn't he miss not having to write plumbing code or having a class browser that functions or how about the command window to quickly and easily execute a command/function/query a table etc ... or being able to use the EVAL() statement instead of writing massive amount of reflection code. Give me a break!

Then he stated "true" intellisense: I Googled Visual Studio Intellisense Bugs, it produced 76,000 results. Move over there is limited intellisense in the UI layer of Visual Studio for web development and the Visual Studio intellisense, even in 2010 for C# has issues.

Look at this simple code...



iBroken is returning an error, fair enough, but the problem is gGuid is not where is the consistency?

Here is a UI snippet in Visual Studio 2010.



This snippet is an FING mess and not a single error being returned by Visual Studio 2010 intellisense. Leave me a comment if you can't see the problems and I will point them out.


I haven’t seen such an editor and I doubt that there will be one. It’s damn tough to parse untyped code and get meaningful metadata from just the source code alone especially if that source code doesn’t tell you type information. Without strong typing, how does the editor know what’s an object, what’s a property and whether it subobjects? How could it? It can take you some of the way as the Visual FoxPro editor does, but it will always stop short of providing a complete implementation.

The second problem with editor implementations is that it relies on an editor. The editor doesn’t compile the code. If you don’t use the fancy schmanzy editor that does this supposed syntax parsing then you’re back to having no type safety checking at all.


Sure he brings up FoxPro again, but where is even a simple case Visual FoxPro doesn't work? I honestly tried to break VFP and with the exception of some strange com stuff I couldn't. Again referring to my snippet above, there is the code editor in Visual Studio that didn't catch even obvious problems!

Let me skip to the end of his post to wrap this up.



In VS.NET 2.0 the new databinding features can bind directly to objects and the designers let you look at the objects and pick what to bind to by way of the meta data. You can drill into objects and pick properties several levels down etc. Without strong typing this would not be possible!


I am a bit confused as to what designers he is referring to in Visual Studio that indeed lets you do everything he states they can do?

Hmmm how about a class browser that let's you drill down into properties, methods and events isn't that a designer in FoxPro that Visual Studio lacks?


In FoxPro to do the same for a Fox class, we have to parse source code files ourselves and given the somewhat convoluted formats of the designer files. And even then there's not enough information in there. How do you figure out a return type in a VCX method for example? I’ve done this in Help Builder and the code to do this is a serious mess and what’s worse it doesn’t provide all the information that would be useful.

You may say that that this doesn't affect because you don't use features like this, but it does indirectly. In terms of what tools are provided for you and what functionalities are not available easily in Fox.


This is getting worse the farther we dig into it. Did the author really ask how do we figure out a return type for a method? Is he freaking serious? If you can't figure out a return type then you have more then intellisense problems with your code. Let me help him figure out a return type for a method.

Step 1: Here is how you create a class in the class browser with a return value



Step 2: We write some code that uses the class and WOW even intellisense works and we are able to find the method we created.



Step 3: Now the tricky part to figure out the return type. Lets use a couple lines of code and the command window for this complex task.



I am really glad I could help solve this mystery!

All the years I have been developing applications, return types has NEVER been a huge issue in the code I wrote. I would go into LINQ with the VAR return types or better yet the really screwed up anonymous return types in C#, but those came out after his article was posted and unlike the author I want to be "FAIR" in my analysis.

Functionality not available in FoxPro, damn why doesn't he mention core functionality not available in Visual Studio. Like a data centric language or a web form designer that freaking works or property sheets that function correctly. Shouldn't we be a bit more concerned about core features that are missing!


For example, lack of proper meta data is one reason there aren't any decent Web Service tools for VFP (and COM) because neither can generate type information on the fly just by looking at the objects. This is why it's so damn difficult to Interop with a Web service that exposes objects or even worse create one that publishes objects.


Meta Data in Visual Studio, this one I struggle with a bit, it is almost as bad as calling .NET a framework. When I think of meta-data, I can see how the compiler can extract type information and use it in C# fair enough. But in my mind a robust Meta-Data implementation is more along the lines of Visual FoxPro's VCX and SCX tables, where we have actual data that we can manipulate and extend prior to build time for some automation or designer functionality not only for intellisense. Yeah I know there is a layer we can hook into with Visual Studio to pull off some of the same things, but that is a bloated convoluted mess to work with making it not even worth the effort. Further like everything Microsoft does in Visual Studio that is a moving target as well. I believe they just released yet another RC or CTP called the MEF framework.


And you can get that same FULL information about an object instance, or type at RUNTIME. VFP sort of lets you do some of this, but it's very half hearted. The proof of this half-hearted design is Fox Intellisense which doesn't work properly most of the time because VFP doesn't have enough information to give you full information about a type.


Visual FoxPro is half hearted and doesn't work properly again but yet again not a single example of where this is occurring and Visual Studio is freaking perfect right! These Cheerleaders/Muppets will do or say anything won't they!


In closing:

This f'ing Visual Studio Muppet's post took bullshit to an entire new level. In his post he is praising more work caused by strong typing and Visual Studio while wrting about VFP'S half hearted implementation. WTF!!! On behalf of the Visual FoxPro Community, we want to thank you for dissing the tool that some developers are still making a living with!

Further what is wrong with making the compiler a bit more intelligent so we don't have to hand code the types as much or how about an opt-out option for strong data typing in C#. You are thinking, Mark that is not possible. Sure it is, VB.NET has an opt-out feature and let's consider the following example.

LOCAL pcTemp
pcTemp = ""
pcTemp1 = ""

We have a scope of local so the compiler can easily pickup on the fact it is a variable, further the first value assigned to the variable is set to a string so the compiler can also derive a type of string. pcTemp1 is not scoped so the compile could pick up on the fact there is an unscoped variable in the code. Does this have some holes, maybe, I gave it 30 seconds of thought. But the point is, there are ways to get around issues and make life a bit easier on programmers. Let the tool handle the majority of cases in an eloquent fashion and let us code out the exceptions NOT force us to code out everything because tool developers are too lazy to think!

Anyway.....

I hope everyone has a happy holiday...

Until Next Time...

.Mark

Sunday, December 19, 2010

First Impressions of Windows 7

I put the following quote on my blog when I first created it.

"Microsoft's biggest and most dangerous contribution to the software industry may be the degree to which it has lowered user expectations."

-- Esther Schindler, OS/2 Magazine


I truly believe Windows 7 gives merit to the quote.




I installed windows 7 and overall I am pleased with it. The OS is running on a 2 year old dell dimension with 4 gigs of memory. The performance is equal to Windows XP and while the UI is hauntingly similar to Vista, with the exception of a few tweeks here are there it is nothing to get excited about. The question needs to be asked, why am I "pleased" with Windows 7? I suppose the answer is because it sucked less and was less painful to install then any Operating System Microsoft has released since Windows XP. But is that really an accomplishment or like the quote suggested has Microsoft just lowered users expectations?

Let's dig into Windows 7.

Installation
Since I was installing over XP the machine had to be reformatted, which Windows 7 took care of, then literally I spent most of the day reinstalling all the software and copying files.

When I tried installing from any source other then DVD, I had problems with a mass disk driver. Which did not occur from the DVD install.

When you install from a DVD, I highly recommend disconnecting any external hard drives from the PC. Windows 7 Setup will add the external hard drive to the list of hard drives which you can install to and you could end up reformatting the external drive.

The install went ok, on boot up however it was not able to locate the Video or Audio drivers. If you run into this problem, take the time and fix the video driver issue as soon as possible. I started playing with the OS first and it crashed numerous times. Once the Video Driver was installed the OS stabilized. It might be a good idea to go into your device manager and take a screen shot of all the devices and drivers before the installing Windows 7.

User Interface and Applications
There is nothing great about the UI it is very Vista like. I think Microsoft would have been further ahead calling this a Vista Service Pack then create an exciting UI for Windows 7 to get rid of the Vista stigma.

When installing some applications, Windows 7 generated a compatibility warning which I ignored and they seem to run ok.

Windows media player was not installed which I found strange. There is a Windows 7 media player feature pack download on the Microsoft site. Definitely install it, the media player has some cool features including playing DVDS.

Windows had trouble with the Seagate external hard drive. First it couldn't find the drive. I rebooted with the drive attached and I received a low power error on the USB port and it crashed the OS. I changed ports and rebooted and it started functioning. I went back to the port that caused the initial error and it now works from there as well. No clue.

If you use paint, it has been infected with the useless ribbon bar found in office.

The control panel is still a mess, I prefer XP'S implementation.

The task bar takes some getting used to, not sure if I like it or not yet. A minimized or running application places an application icon in the task bar. Hovering over the icon brings up a window that contains each instance of the application that is running. You click on the application instance in the window to bring the application to the forefront. You can also pin icons to the task bar to unclutter the desktop but I haven't been able to pin the recycle bin or my computer icons that seems like a bug?

Internet Access
I have totally left the Intercrap Explorer camp and use Chrome. I think chrome is a terrific browser. Chrome had no problems with Windows 7. If you are not using Chrome here is the Link to download it.

Performance
Performance is on par with Windows XP, I can't tell any improvement or degradation with exception of Visual Studio 2010. That does seem to start up and compile a bit faster under Windows 7.

Some closing thoughts
Having gone through the Vista nightmare and the brutal downgrade to XP on a made for Vista box, Windows 7 wasn't all that painful. My first impression is, Windows 7 isn't much to write home about but the operating system isn't horrible either. If you are tired of battling Vista and sick of the dog performance then Windows 7 should be a welcomed upgrade however for XP users I am not sure how well window 7 runs on some hardware nor does it contain any must have features. Windows 7, unlike Vista, is not a step backwards. I just don't think it is a big "enough" step forward for some people to upgrade.

Until next time......

.Mark

By the way I received an email with a link to an article written Dave Newman on his reasons for Leaving .NET that is worth reading. If the link didn't work here is the url:

http://whatupdave.com/post/1170718843/leaving-net

Thursday, December 16, 2010

Guillaume Roques Response - What he really meant...

First off to everyone that has linked to this blog and even tweeted... yes traffic came from 2 tweets :) . . . I appreciate it. Today 205 readers checked out DOT BLOAT alone and over 1300 views since I have started blogging again, which is pretty cool. Is there a possibility momentum is building for the truth about Visual Studio? By the way, if you are linking to this blog and want a link back let me know and I will add it to the side bar.



A bit about Kinnect
Soma in his most recent blog mentioned Kinnect. Ok so my grandson has an xbox360, which is CTP 7 / RC3 / SERVICE PACK 210 TO BETA RTM 6 of the XBOX 160 which (in case you forgot) contained only pong and pac-man (just kidding). Anyway the kid is asking for this kinnect thing and more then likely I am going to get it for him. But anyway in that spirit here is a brief infomerical about kinnect before getting into the "bloat" of what I have to say. (Yes it is a repost but still funny)



Soma's Reply
I seriously appreciate the fact, Soma posted a reply and my comments. Below is what he wrote.


My blog isn’t moderated and comments should show up within a couple minutes of posting. Sometimes MSDN’s automatic spam filter triggers on blog posts, as it seemed to have with yours, so I’m posting it here:

.... My comments were posted here in his blog ...

Mark, I do want to tell you that I hear your concerns. You are passionate about Visual FoxPro, which is great. We will have to respectfully agree to disagree about Visual Studio and .NET. I hope we can lay this topic to rest.


While there is not much in his reply, I am glad he read my concerns unfortunately he didn't address any of them. I would like to clarify one point. I am "passionate" about "productive" development tools. I am passionate about the FoxPro paradigm and the ease and speed in which applications can be written. If Visual Studio was at least equal to or more efficient then VFP, I wouldn't have anything to complain about. I truly feel the community would be best served if developers voiced their opinion about the bugs and problematic paradigms of Visual Studio in an attempt to improve the tools and frameworks Microsoft is releasing. Our job is hard enough without tools and bloat getting in our way and slowing us down.

Now What I want to do is break down Guillaume Roques's response.

If you are a bit confused, check out my prior post before proceeding.

But first, lets pull out the questions in Tom comments.

1) Why was Ajax Toolkit discouraged and why did you start touting jscript all of sudden? Just because of open source pressure or that they out-witted you guys?

2) Why are you guys promoting MVC. What is the problem with regular way of doing ASP.NET sites?

3) Do you have scientific or statistical proof that MVC is better than the original approach?

4) How many .NET developers actually use MVC?

5) Why did you guys discourage LINQ-To-SQL and started encouraging Entity Framework?


Guillaume's reply to Tom - What he really meant.


Tom:

When we think developers that are consuming Ajax it breaks into two segments:

a) Developers that want to write some client side script in their pages.

[Ok I have to ask this, what is the hang up with developers who want to write code? This makes absolutely zero business sense! Read that again ZERO "BUSINESS SENSE" either your client is paying for your play time or your company is. Either way it is a "waste" of time in most cases.

This is so simple, each line of code we have to write takes time and secondly no matter how simple the code is, each line of code is possible point of failure in your application. Folks, misspelled variables names, logic errors, unclosed brackets etc ... whatever the case is HAPPENS! Unless I'm the only asshole programmer that makes these type of mistakes and "the get close to the metal VS guys" are freaking perfect? In terms of html, jquery and javascript, in Visual Studio 2008, it is even worse since the compiler won't even catch the majority of the errors nor is intellisense fully implemented! There is a simple saying "time is money" and that is true for a reason. If someone has a trick to writing more lines of code by hand in less time then reusing a UI class for example please fill me in.

Let me make this clear: Programmers are hired to deliver a solution. Programmers are not paid to get an erection and masturbate over a link list implementation they wrote or the 500,000 lines of MVC code using 20 different technologies you created for a 20 pages website. Most client's could give a shit about your algorithm artwork. The primary reason for coding standards and writing clean code is for maintainability NOT to address some twisted technology fetish you have. If you want to write code use C++, C or better yet assembler trust me you can write a ton of code in those languages, I can speak from experience I started coding on a PDP11.

Moreover you guys are using .NET OS WRAPPER CLASSES and JQUERY to do most of the work for you, what metal are you getting close too? Cool you can type a variables or object and you know how to write some bullshit plumbing logic or call some bloated bastardized os wrapper class framework method and your head swells. Not all programmers are bad, but I am tired of the arrogance that seems to be running rampant in certain circles and with some individuals. First the VS guys looked down on VFP and now MVC dudes are looking now on webforms - isn't the solution what matters? Yeah I am just venting I will get back on track.]


b) Developers that want their applications to automatically take advantage of Ajax functionality.

[There is nothing automatic about the the Ajax Toolkit, it is merely the lesser of the two evils.]

Our investments into jQuery

[What was Microsoft's investment in JQuery? Some cash to buy licensing? Adding intellisense to Visual Notepad 2010 or copying the library functions, JQuery is an open source toolkit.]


are targeting people in the first batch while the Ajax Control Toolkit and the rich server controls offered by third party vendors target people in the later case.

[Wait a second, offered by third party vendors? WTF - Microsoft wrote the Ajax toolkit and the default set of server controls. I know Microsoft has A LOT of technology, more then most developers want, but does Guillaume even know what products Microsoft offers?]


We think there are developers in both of these segments and are trying to target them both just like below in the MVC section you can see we are trying to target multiple types of developers.
[What happened to DRY? Maybe Guillaume didn't get Scott "THE DOT" Gu's email or read his blog. (Come on did you think I wouldn't mention the GU!). VFP and VB developers got targeted alright, with a freaking bullseye.]

This isn’t about choosing one Ajax strategy over the other you can use one or the other or both together.
[This is a crock, first he never answered the question and second can someone tell me when Microsoft released an Ajax toolkit update? If Microsoft is no longer updating or supporting a toolkit how can Microsoft advocate using it?]

With regards to MVC, we have had in the past one framework for developing Web Applications and that is ASP.NET Web Forms. This framework was designed to make the transition from developing desktop applications to developing server-based web applications very easy it also gives developers great benefits in productivity
[Guillaume should of said, this tool has the "POTENTIAL" to give developers great benefits in productivity. How many releases do we have to wait until the webform designer gets fixed? That designer is a bug ridden mess. Moreover the html generated by the rich set of server controls and the form designer doesn't even render pages consistently across different version of Intercrap Explorer without hacks and work arounds. Most developers end up writing the html by hand in Visual Notepad I meant Studio, how is that productive? Moreover why can't we visually subclass UI controls in Visual Studio's non-functioning class browser so we can reuse them?

Let's proceed I think you get my point.]

by letting them leverage rich web controls that have lots of built in functionality


[True they do have lots of functionality unfortunately visual studio doesn't support all of the functionality. For example, the listview rich server control which by the way do we really need 6 different data grids, Microsoft simply omitted the UI and made it read only so we are coding by hand to implement it. That is sloppy crap development plain and simple. How many of us could sell excel as a custom solution to a client and expect the client to key in the formulas? Maybe we can use Microsoft's Marketing spin and explain to the client how they are getting close to the metal and this is a feature? This is exactly what Microsoft is doing to their development community. No sense beating this to death Guillaume thinks webform controls were written by a 3rd party vendor.]


While trying to grow the types of developers that can use ASP.NET we also identified the MVC pattern as a common pattern used by many other web frameworks such as Ruby on Rails and CakePHP and as a result we created ASP.NET MVC to provide a bridge to developers that like that pattern to be able to easily adopt ASP.NET and the power of the .NET framework and more generally our Web Platform. We are focusing on providing choices to various types of customers. We will continue to invest in all areas of ASP.NET (Web Forms and MVC).

[Ok here is what I think is happening: Microsoft is scared shitless of the open source community, Google's endorsement carries a lot of weight and showcase sites like facebook give it creditability, more importantly there is NO way they can buy out their competition this time like they did with Foxpro.

Microsoft is simply trying to duplicate open source technology as close as possible. This is a terrible strategy for one .BLOAT is not required in open Source and open source developers are not going to change teams most hate Microsoft. Even if these hurdles didn't exists there is still one other problem - COST! What Microsoft did accomplish with MVC is split their own community, great move.

The only way you compete with open source is by building a "BETTER" and more productive environment. This concept works, Microsoft did it with word going against Word Perfect and Excel went up against Lotus. Microsoft needs to scrap the API wrappers known as the .BLOAT framework, build complete development tools that work well and start changing their image, this is NOT a difficult formula. Until they do they are going to struggle in the web platform arena, if they haven't already lost that battle.

Let me throw this fun fact out there. MVC was invented at Xerox Parc in the 70's this is not NEW. If Microsoft was interested in this paradigm they could have moved in this direction from the start with interdev. Microsoft's movement towards MVC is a hail mary pass to try and compete with open source frameworks. Microsoft flat out doesn't have the confidence in their software development toolkits that they can stand on their own merit and attract developers.]


From a data perspective, ASP.NET works with any data solution in .NET but Entity Framework has been getting better and better with each release

[Given how bad EF is, they are not exactly setting a very high bar!]

and with the release of EF Feature CTP 5 we think that it is very compelling for web data scenarios and are working to provide more guidance on how to use it.

[Guillaume wrote "working to provide more guidance", am I the only one that had a WTF moment? Is Guillaume stating Microsoft really doesn't know how to use EF? If so then how in the hell can he say it is compelling to use, when they are still trying to provide guidance on how to use it?

What is so f#$ked up here is Microsoft, since the birth of Visual Studio, has been trying to implement a data solution and FAILS over and over again! Yet they have Visual FoxPro laying there and it F#$King works, hell most of the SQL Server indexing internals are based on VFP'S rushmore technology. Does it seriously require a brain surgeon to say hmmm maybe we should put a data centric extension language into Visual Studio.

The real issue is, Microsoft is not looking to make developers productive, their data goal is to build some type of data access strategy that the community will accept which will lock web and LOB applications into Sql Server. Move over this is CTP5 which means they released 5 versions of this thing and still can't get it right! This CTP/RC/RTM notion is BULLSHIT this is "RELEASE AND PRAY" software development. Microsoft is "using" the community as a group of "FREE" BETA testers throwing crap out there until something sticks. By labeling software in this fashion they can put this stuff out there without having to worry about quality, analysis or if it even works right. GU can always write on this blog well this is CTP6 no worries we will have it fixed when we "GO LIVE" sometime in 2020 and CTP7 will be out in a couple weeks. When FoxPro went Visual/OOP in version 3.0 there was only 6 total releases and couple service packs for each release. EF is only a data technology folks it is not even a complete development tool and they are on their 6th attempt. While they know their goal, SQL Server LockIn, they are clueless how to get there or better stated what the community will tolerate.

This is important so let me state it another way, as long as "connection string based" data access is around and implemented using standard Structured Query Language and stored procedures, portability exists and Microsoft can not accomplish the goal of SQL Server Lock In! I believe the syntax structure change in LINQ was introduced to force developers into a new paradigm and out of SPROCS to raise the barrier of entry into MySql. The bottom line is SQL Server is Microsoft's cash cow in the development area this is an expensive package and MySql works and it's free!


Guillaume

Director of Product Management - Microsoft

Now let's return to the 5 questions Tom asked and see how many were answered.

1) Why was Ajax Toolkit discouraged and why did you start touting jscript all of sudden? Just because of open source pressure or that they out-witted you guys?

Guillaume didn't even know Microsoft wrote the Ajax toolkit.

2) Why are you guys promoting MVC. What is the problem with regular way of doing ASP.NET sites?

Guillaume tried to spin an answer. It short we can't beat them so let's join them!

3) Do you have scientific or statistical proof that MVC is better than the original approach?

Guillaume ignored this one.

4) How many .NET developers actually use MVC?

Guillaume ignored this one as well. Many people have been asking this question and Microsoft has been silent. If the MVC numbers were high, I think it is safe to assume Soma would be blogging about it. Other then the hype of something new and the cheerleaders spinning MVC, my opinion is not many companies have jumped on this bandwagon.

5) Why did you guys discourage LINQ-To-SQL and started encouraging Entity Framework?

I think Guillaume will get back to you Tom once Microsoft figures out how to use EF. IMHO To lock developers into SQL Server.

I know this was long - there was even more there then I initially thought. If you made it this far, I hope you enjoyed reading this post as much as I enjoyed writing it. The one good thing about blogging about VS there is never a lack of material.

Until Next Time.

.Mark!

Wednesday, December 15, 2010

Soma's Blog Comments Regarding VS Momentum


My good friend Soma recently blogged about "the Momentum of Visual Studio". While this is mainly marketing BS, there are several comments on his blog that are noteworthy.

By the way I am not mocking Sivaramakichenane Somasegar with the avatar, that is the same one he uses on his facebook page and I included a nice message with the friend request I sent him this afternoon. In the event Soma you didn't receive my request, feel free to befriend me, here is my facebook link.

Someone named "Tom" left the following comment on Mr. Sivaramakichenane Somasegar's blog:

At our company we use Visual Studio 2010. Unlike what others claim here, it starts and shuts down extremely quickly and we have not faced any performance issues. We use C# and VB.NET - no problems at all. Those who are complaining - are you using Windows XP? VS 2010 works lightning fast with Windows 7 and Windows Server 2008 R2. No complaints about the WPF interface.

However, I do agree with some people here who claim that Microsoft pulls out of their own technologies quickly and its difficult to understand what may be thrown out next. Why was Ajax Toolkit discouraged and why did you start touting jscript all of sudden? Just because of open source pressure or that they out-witted you guys? Why are you guys promoting MVC. What is the problem with regular way of doing ASP.NET sites? Do you have scientific or statistical proof that MVC is better than the original approach? How many .NET developers actually use MVC? MVVM for Silverlight - why is not fully supported (if in fact its purpose was to make development easier!) Why did you guys discourage LINQ-To-SQL and started encouraging Entity Framework? The former is so much easier to use and with some more work from Microsoft would have more adoption than EF.

Lot to think about...



Guillaume Roques, Director of Product Management - Microsoft. Replied with the following comment.

Tom:

When we think developers that are consuming Ajax it breaks into two segments:

a) Developers that want to write some client side script in their pages.

b) Developers that want their applications to automatically take advantage of Ajax functionality.

Our investments into jQuery are targeting people in the first batch while the Ajax Control Toolkit and the rich server controls offered by third party vendors target people in the later case. We think there are developers in both of these segments and are trying to target them both just like below in the MVC section you can see we are trying to target multiple types of developers. This isn’t about choosing one Ajax strategy over the other you can use one or the other or both together.

With regards to MVC, we have had in the past one framework for developing Web Applications and that is ASP.NET Web Forms. This framework was designed to make the transition from developing desktop applications to developing server-based web applications very easy it also gives developers great benefits in productivity by letting them leverage rich web controls that have lots of built in functionality. While trying to grow the types of developers that can use ASP.NET we also identified the MVC pattern as a common pattern used by many other web frameworks such as Ruby on Rails and CakePHP and as a result we created ASP.NET MVC to provide a bridge to developers that like that pattern to be able to easily adopt ASP.NET and the power of the .NET framework and more generally our Web Platform. We are focusing on providing choices to various types of customers. We will continue to invest in all areas of ASP.NET (Web Forms and MVC).

From a data perspective, ASP.NET works with any data solution in .NET but Entity Framework has been getting better and better with each release and with the release of EF Feature CTP 5 we think that it is very compelling for web data scenarios and are working to provide more guidance on how to use it.

Guillaume

Director of Product Management - Microsoft


There is a lot in Tom's and Guillaume's comments that we could discuss - and I may in a future post - so of course I couldn't help but leave my 2 cents worth on Soma's blog. So here are my thoughts which may or may not get posted by Soma.


@Guillaume You wrote "target multiple types of developers." There was a type of developer that "used" to be able to deliver cost effective solutions to our clients with 10-50 users using visual foxpro or visual basic. We were able to distribute custom solutions to our clients without having the burden of eating licensing costs or charging them money to write massive amounts of plumbing code that is required using VS.

Further, FoxPro was a mature product permitting business owners to make a significant investment in training their developers without being concerned about ROI. Which is a significant concern with your current trends especially for web development. We also could develop solutions quickly due to VFP'S robust object model with a functional class browser, RAD tools and more importantly a data centric language all of which are absent or useless in Visual Studio.

Given it is not possible in Visual Studio to generate a lan database application faster (I am willing to defend this statement as I have done in the past if needed) with the same or lower cost of ownership then VFP, my question is what is your plan to target that "type of developer"?

With all due respect, the only path I see which is on target for those "type of developers" unfortunate enough to fall into this category is moving to MySql, Open Source and continue to use VFP for desktop application solutions. This is a lesson I learned too late in the game.

Perhaps instead of trying to cater to/attract the open source MVC developer don't you feel it would be wise to first address the needs of your current/former customer base that was orphaned when VFP and VB received their end of life?

Basic business 101: it is much cheaper to retain a client then it is to attract a new one.

Regards,
.Mark

dotbloat.blogspot.com



It should be an interesting read if I get a reply. I would love Microsoft to generate some sample code which I could translate to VFP for a comparison, but like last time, I doubt this will happen. Mind boggling because I am sure Scott "THE DOT" Gu or one of his team members should be able to slap a small DB winform application together to put me in my place.

Happy Coding!

Until Next Time....

.Mark

Tuesday, December 14, 2010

Microsoft VS The Virus ....

Last night on my XP box which has a ton of service pack installed and using Intercrap Explorer 8, I was browsing a wikileaks mirror site and caught the think pointe virus.

Not only did it slip by Microsoft Security Essentials it crippled the software such that it wouldn't updated the virus def files. This thing causes all sorts of havoc on the OS, IE lock ups, browser redirects, hides itself from the task manager, system tray warning and even changes the XP UI. The icing on the cake are the dialogue windows that the virus displays, they look exactly like Security Essentials caught the virus. I even did a double take when they popped up.

I figured no big deal boot into safe mode and restore, well that didn't work. I found a KB and manually updated the security essentials files then let it cook for about 3 hours scanning the PC and it still didn't find anything. It gave this infected crippled PC a clean bill of health.

Next try was Adware by lava soft, it found a couple problems but didn't totally fix things. I downloaded Malwarebytes which finally cleaned the PC.

I was curious, given I knew I could get rid of the virus, so I went back on the same site with Google Chrome - which by the way the newest version of the browser is very impressive and snappy definitely worth checking out - and the virus was not able to infect the PC.

Of course I have to tie this experience into Visual Studio :0) ... The thought crossed my mind given all the security BS we have to deal with in Visual Studio for web development, strong type declarations which cheerleaders argue brings stability (another blog worthy topic - which wasn't required in Visual FoxPro) and a ton of bloat in the .BLOAT wrapper classes, how did IE let this infection occur?

We also need to consider the virus was probably written by a single person or small group of people yet they managed to cripple XP while rendering I.E. and Security Essentials useless. Furthermore two smaller software companies writing free malware programs found and fixed problems Microsoft missed! Am I the only one that doesn't get how this can occur at Microsoft with all their brainpower and resources at their fingertips? Folks this is a freaking embarrassment plain and simple which happens so often, I guess, now it has become an accepted standard!

I wonder if the problem is Microsoft has so many layers and bloat on top of layers of bloat in their source code they have reached a point it is now virtually impossible for them to lock down their software anymore and as a result developers are stuck dealing with all this security crap and ass-backward programming hole plugging workarounds that slows down development? Moreover should their best practices even be followed when they can't make them work effectively?

Some things to think about ......

Till next time

.Mark