ManagedZilla - A Failed First Attempt

I thought for a bit of a lark I would compile Mozilla using Visual C++ 7 with the /clr argument to test the magic of IJW. This was not entirely successful. Right now I’m still at stage 0 - building mozilla without the /clr switch, it’s 2:53 AM and staring at the following error messages in config.log (the make file is trying to complie “hello world” to check that my C++ compiler is working properly):

configure(2640) : error C2065: ‘cout’ : undeclared identifier
configure(2640) : error C2065: ‘endl’ : undeclared identifier

It looks like I’m just not cut out to be a C++ programmer (managed or otherwise). I found the following items helpful in my (thus far) fruitless quest.

http://www.mozilla.org/build/win32.html
http://www.squarefree.com/archives/000022.html

The ultimate .plan was to maybe by stroke of luck if the stars were right and the gods were smiling think about possibly exploring the small sliver of hope that maybe in the future if I was really really lucky I could export some of the types in mozilla as managed classes and call them from other managed code (C#/VB.NET winforms maybe…). Reading about some of the things you need to do to get managed and unmanaged types to play together (especially considering the size of the mozilla code base and my amount of C++ experience) meant I was pretty resigned to this not working anyway. Still - I would have liked to see the magic of IJW first hand. Maybe if I want a ‘zilla I can imbed in winforms I should just stick to the Mozilla ActiveX Control.

Comments

Luke
Others have also tried to do this, the link above charts their progress (not much so far).
26/03/2004 3:12:00 PM

»

CodeGen happenings at DotNetJunkies

It’s great to see two new(ish) bloggers on DotNetJunkies with a code generation focus. Stefan Cullmann and Scott Munro. Better yet - both of them seem to be writing or have written tools they are going to share with the community (note to self: steal their ideas). I’m working on an article for Jack Herrington over at Code Generation Network - Jack, if you’re reading this I know it is mid-March and I promised this to you in January - what can I say? I lead an unmanaged life, but I AM still working on it. Kathleen Dollard’s book Code Generation in Microsoft .NET has been released. I’m still yet to clear my reading backlog so I haven’t picked up a copy of this one yet. Carl and Rory are going to be interviewing Kathleen on DotNetRocks later this year, so keep an eye out for that one CodeGen fans.

Update: Looks like there is going to be a MSDN webcast on CodeDom also: http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032247650&Culture=en-US

Comments

Scott Munro
Hi Joseph,

Thanks for the welcome to DotNetJunkies! I had noticed that there seemed to be higher than average activity on the code generation front here at DotNetJunkies. It has been great to get feedback from both you and Stefan.

I can recommend Kathleen’s book to anyone thinking of writing a code generator in .Net. She really did her homework. She devotes a lot of time to techniques that use XSLT but gives enough background on other techniques for you to make an informed decision.

I recently ran smack bang into the present with DotNetRocks, (I have been working my way through the older shows), and have been very impressed with their selection of guests. I hadn’t heard that Kathleen will be making an appearance and look forward to the show.

I am also keen to see your article on the Code Generation Network. Jack is doing great things for the code generation community over there.
21/03/2004 3:02:00 AM
Jack Herrington
Yeah, I’m here. ;-) Any time you can put into the article I would appreciate, but I know how it goes. If there is anything I can do to help out let me know. If you just want to post the slides from your talk we can do that.
21/03/2004 5:36:00 AM

»

The Human Face of Microsoft

I had a very interesting conversation with someone from Microsoft last week. It was not interesting because of the technologies discussed (they were hardly mentioned) or because of the insights I gained about software development (once again, not discussed). The person I talked to was not a PM or dev on any of the wildly exciting projects that are on their way from Redmond. What impressed me was the smarts, the commitment and the passion. This guy was working in an important but probably fairly un-glamorous role, and yet I could really feel the intense commitment to what he was doing. Although he claimed to be an under-achiever like me I kept getting the feeling that he was a smart guy (without really being able to put my finger on any specifics). The conversation could have easily been a fairly short one, but instead at the end he took the time to give me some great feedback on where I seemed to be going as a developer, how I was going about it and what I should do to keep going forward. In the end I was left with the very strong impression that Microsoft must be a great place to work at if you are constantly dealing with very smart, committed people like this fellow was. I also could not help but think that it is no wonder Microsoft is so successful if it has smart committed people like that at all levels of the organization. I don’t think I’m the only one who has had thoughts like this either.

On the downside (and of course there is always a downside) I think I probably sounded like a bit of an idiot. I kept saying things and then thinking almost as I was saying them “but of course he would already know that because he just mentioned X before”. Lessons Learned: Try to be more attentive to what people have said in the past and try not to waste their time telling them things they already know. Assume MSFT employees are fairly smart on average.

this.RespectForMicrosoft ++;

On a technical note I found the rosetta stone of language keywords for all the major .NET languages. Very useful if you’re constantly swapping between different ones. I’ll have to have some fun and see how unmaintainable I can make VB.NET look using the REM keyword.

Comments

Bruce Williams [MSFT]
That’s the main reason I like working at Microsoft - great co-workers. It is a lot of fun, and definitely encourages a person to do their best - you aren’t the only one who sometimes feels like an idiot! <grin>
17/03/2004 3:28:00 AM
Jason Haley
How can you get an IT department fully engaged and passionate about technology (and their job)?
19/03/2004 11:24:00 PM

»

Serviced Components and the road to Indigo

I have been a little put off investigating Indigo as it exists in the PDC developer preview, since I have read that the Milestone 5 release (which is NOT in the PDC developer preview) added a considerable amount to the API (especially in terms of ease of use). Here is some good advice about using today’s technologies with Indigo in mind.

I’ve also been investigating serviced components/enterprise services, and found this excellent FAQ on GotDotNet.

I uninstalled ReSharper a couple of days ago - I found it’s code completion features less useful than what VS.NET provides. I did not really get around to investigating it’s refactoring support (which is supposedly one of it’s strengths), so it is perhaps not a true test of it’s usefulness. Maybe in a couple of releases time I will give it another try.

Comments

Stefan Cullmann
You are right. The code completion is just slow and it seems that I always press the wrong keys :-)
I installed ReSharper just because of its refactoring support. It has just two refactorings: rename and introduce variable.
I tried it in my current leisure time project. I liked the way it works. Instead of choosing functions like "rename variable", "rename class", "rename parameter" etc there is yust one rename. ReSharper knows what to do.
I liked the syntag highlighting of ReSharper too, I never knew what I have been missing.

I disabled ReSharper in VS-AddIns so it doesn’t start at default. There are also some issues regarding my german Visual Studio I guess. Refactoring tools are coming to VS, regardless if it will be named ReSharper or Whidbey.
15/03/2004 3:27:00 AM

»

Worst Programmer Reloaded

I have mentioned in the past that I am shaping up to be the worst programmer in the family. Further confirmation of this is the fact that Dominic will be doing an internship in Redmond this year. Congratulations Dominic. Want more proof? Type “worst programmer” into google and see who is number 1.

Comments

JosephCooney
The Human Face of Microsoft
16/03/2004 9:32:00 PM

»

FxCop Rule Libraries for ASP.NET?

I’m thinking about trying to use FxCop to analyze ASP.NET assemblies. Are there any rule libraries for FxCop that are designed to enforce correctness in ASP.NET projects? Should I be analyzing the temporary ASP.NET assemblies as well as the code-behind assemblies? I know FxCop was intended more for library designers and enforcing API correctness, but just because something was designed for a different purpose has never stopped me before. I know in Michael Fanning’s Tech-Ed 2003 talk on FxCop when analyzing ASP. »

Essential Java books for .NET Developers

Microsoft’s C# language and the Common Language Run-Time (CLR) bear more than a passing resembelance to Java (the language) and the JVM. Although I’ve never programmed in Java to any great extent I have read some good books which I thought were very applicable to .NET developers. Effective Java by Joshua Bloch has lots of great insights into library design - I remember reading this and thinking a few times “so THAT is why that language feature exists“. It’s easy to read and packed with good insights. Bitter Java is a catalogue of Java anti-patterns which have no doubt been un-knowingly “ported“ to .NET. Are there any other Java books out there that are worth crossing the platform and language barrier to read?

And now for a brief link iterface:

A simple summary of eqivalent keywords in C# and VB.NET - as somebody who is constantly swapping between the two this is always useful: http://www.dnzone.com/ShowDetail.asp?NewsId=356

A managed wrapper for MSHTML in WinForms in Whidbey - it’s about time: http://www.devx.com/codemag/Article/20145/0/page/4

Visio UML stencils that don’t try to think too much for you (via Ingo Rammer): http://www.phruby.com/stencildownload.html

A nice overview of the architecture of Shadowfax: http://weblogs.asp.net/HernanDL/archive/2004/02/23/shadowfaxintro.aspx

Comments

John St. Clair
Doug Ley’s second edition Concurrent Programming in Java is also highly recommended
24/02/2004 1:03:00 AM
John
Crap, that would be "Lea’s"
24/02/2004 1:03:00 AM

»

Technical Presentations - Learning lessons the hard way

Tuesday night a gave a follow up presentation at my local users group on code generation techniques in .NET. I gave a presentation in October last year on the same topic and ran out of time to finish my demos, so when there was an opening this month I got a chance to finish off the talk. The talk sucked on a number of different levels, but probably the biggest problem was that I went WAAAY over time again. I had 5 demos planned - I was figuring about 15 minutes on each one since that is how long they took to “walk through”. I was thinking “I’ll just be explaining this as I go and it will take about 15 minutes”  This estimation was totally wrong. Maybe I just can’t talk and click mouse buttons at the same time, or perhaps I talk too much but I finished the second demo around the 1 hour mark. Each item was taking twice as long as I had planned. I ended up racing through the last 3 and taking nearly 2 hours. Yikes. My time would have been much better spent doing fewer demos, and spending more time practicing what I wanted to say with the demos

Lessons Learned

  • Plan what you want to say about a particular piece of code.
  • Practice the talking and the coding together.
  • Time it and see how long it really takes.
  • Are you going to really only say what you’ve planned? If you think there are more things you want to say (and might end up saying anyway when you’re giving the presentation) then factor those in too.

I know this might sound really obvious, but if I had done this instead of trying to cram in demos for everything that I wanted to show I think my presentation would have been a lot better. On the bright side I did get a couple of “cool” things that I have been working on into a much more polished state while preparing for the talk.

Comments

Enjoy Every Sandwich
Take Outs: The Digital Doggy Bag of Blog Bits for 18th and 19th February 2004
19/02/2004 2:10:00 PM
Jack Herrington
Do you have some slides that we can publish on CGN?
14/03/2004 11:36:00 PM
simplegeek - Chris Anderson
25/03/2004 12:52:00 AM

»