Andrew Coates ::: MSFT

It's all about community!

  • Andrew Coates ::: MSFT

    Visual FoxPro - Do we still sell that?


    Internally, especially when I'm wearing my cool VFP 9.0 shirt, this has to be one of the most common questions I hear. Of course, the answer is YES! David Anderson has written an opinion piece on DevX entitled Visual FoxPro 9.0: Still Here, Still Relevant. The article has an interesting history of Visual FoxPro and a discussion about why it will never be a .NET CLR language.

    If you want to get more information about the history of VFP, check out

    There are a number of VFP links in the links section of this blog.

  • Andrew Coates ::: MSFT

    Online Study group for Beta Exam 71-528


    A bunch of us (keen, or is that masochistic, local developers) have signed up for the beta version of the 70-528 exam — TS: Microsoft .NET Framework 2.0 - Web-based Client Development (called 71-528 while it's in Beta).

    Exam 70-528, is one of two exams required for the "Microsoft Certified Technology Specialist: .NET Framework 2.0 Web Applications" credential. To achieve this credential you will also need to pass exam "70-536: TS: Microsoft .NET Framework 2.0 - Application Development Foundation". After achieving the Technology Specialist credential for Web applications, you will be able to achieve the "Microsoft Certified Professional Developer: Web Developer" credential by passing one additional exam: "70-547: PRO: Designing and Developing Web Applications by Using the Microsoft .NET Framework."

    All of the new exams will be Beta tested prior to general release.

    The problem with doing a Beta exam is that there’s not a lot of material to study from. To help with the study process, Tatham Oddie has set up an irc server and we’ll be chatting twice a week for a couple of hours in a study session for the next couple of weeks. I’ve done beta exams in the past (back in the days of VFP 6.0) and the chat format worked very well. It’s also great to have the chat transcript to review and for others to use as an aide.

    Update: Andrew Higginbottom points out that:

    there are some online MS courses for VS2005 (4 for webforms dev) that are free if you sign up before 8 nov and once downloaded the content is valid until feb 2006.
    I'm yet to do any but they seem OK from a quick look...

    The schedule for study (all times Australian Eastern Daylight Time [UTC+11])

    Monday 31 October 1930 – 2130

    Wednesday 2 November 1930 – 2130

    Monday 7 November 1930 – 2130

    Wednesday 9 November 1930 – 2130

    Monday 14 November 1930 – 2130

    Wednesday 16 November 1930 – 2130

    Chat server details

    • Server:
    • Port: 6667 (standard)
    • Channel: #Exam71-528

    So, if you're signed up for the beta exam, or if you just want to get a head start on the new certs, please join us next Monday

  • Andrew Coates ::: MSFT

    ADNUG ACS badged .net training in Adelaide


    Peter Griffith, President of the Adelaide .NET User Group sends me the following excellent news:

    Once again ADNUG is offering 3 ACS badged 5 day courses in VB, C# and ASP in conjunction with Kaz with considerable discounts for members. (over 40% off rrp). For details
    • Programming with Microsoft® Visual Basic .NET Course 2373B
      Monday - Friday 6 - 10 December 2004
    • Programming with C# Course 2124C
      Monday - Friday 17 - 21 January 2005
    • Developing Microsoft® ASP.NET Web Applications Using Visual Studio .NET Course 2310B
      Monday - Friday 7 -11 February 2005
  • Andrew Coates ::: MSFT

    ClickOnce Webcast Session Posted

    My Security Summit session on Deploying Applications with ClickOnce is now available to view online or offline. Access it from here. To view it offline, you'll need to download the free LiveMeeting replay application.
  • Andrew Coates ::: MSFT

    Pros and Cons of re-writing, or "If it ain't broke ..."


    Rick Strahl, formerly a VFP MVP and now a .NET MVP (in C# I think, but with Rick it would just have been a matter of choosing a category) has a great post on why he's not re-writing one of his flagship applications (currently written in VFP) in .NET. Well worth a read. While you're there, have a look at some of the very neat things Rick is doing with both VFP and .NET.

    BTW, Rick will be out here in Australia at the end of November to speak at OzFox, along with Ken Levy and a bevy of great speakers.

  • Andrew Coates ::: MSFT

    Security Summit


    I just subscribed to John Montgomery's Blog and he has a great post about writing secure code. This segues really nicely into our security summit, coming to a capital city near you next month. In the developer track, we're talking a lot about team development and how a whole of project life-cycle approach can lead to more secure code. We'll also be talking about click-once deployment and the security implications of automatic updating, as well as an intro to some of the SQLCLR features in SQL2005.

    Location Starts Where
    Sydney 8 February 2005 Sydney Convention & Exhibition Centre
    Canberra 10 February 2005 National Convention Centre
    Adelaide 17 February 2005 Adelaide Convention Centre
    Melbourne 22 February 2005 Melbourne Exhibition & Convention Centre
    Brisbane 24 February 2005 Brisbane Convention & Exhibition Centre
    Perth 1 March 2005 Perth Exhibition & Convention Centre

    The full agenda's here.

    BTW, I've scheduled my flights so I'm in town the evening of the event in every city -- if you're interested in organising a geek dinner or some other kind of get together, please let me know (or, better still, just organise it and tell me where and when). 

  • Andrew Coates ::: MSFT

    WPF? Pah!


    I'm sitting in Joseph Cooney's (excellent) session on WPF at CodeCampOz, and it seems to me that the canonical demo of WPF is an animated button bouncing around a form. Of course, this is something VFP has been able to do for ever:

    *-- Form:         form1 
    *-- ParentClass:  form
    *-- BaseClass:    form
    *-- Time Stamp:   04/01/07 02:18:00 PM
    DEFINE CLASS form1 AS form
        DoCreate = .T.
        Caption = "Form1"
        llanimating = .F.
        ndirection = 0
        nspeed = 0
        Name = "Form1"
        ADD OBJECT command1 AS commandbutton WITH ;
            Top = 60, ;
            Left = 108, ;
            Height = 109, ;
            Width = 157, ;
            Caption = "Command1", ;
            Name = "Command1"
        ADD OBJECT timer1 AS timer WITH ;
            Top = 216, ;
            Left = 336, ;
            Height = 23, ;
            Width = 23, ;
            Interval = 50, ;
            Name = "Timer1"
        PROCEDURE llanimating_assign
            LPARAMETERS vNewVal
            *To do: Modify this routine for the Assign method
            THIS.llAnimating = m.vNewVal
            this.Timer1.Enabled = this.llanimating
            IF ! this.llAnimating
                this.nDirection = RAND() * 2 * PI()
                this.nSpeed = INT(RAND() * 10) + 1
                this.Command1.BackColor = RAND() * 0xFFFFFF
        PROCEDURE resetbutton
            * Reset the button to default values
            this.Command1.Top = INT(this.Height/2 - this.Command1.Height/2)
            this.Command1.Left = INT(this.Width/2 - this.Command1.Width/2)
        PROCEDURE movebutton
            WITH this.Command1
                * move the button by (nSpeed) in the (nDirection) direction
                .top = .top + (.Parent.nSpeed * COS(.Parent.nDirection))
                .Left = .Left + (.Parent.nSpeed * SIN(.Parent.nDirection))
                * check to see whether we've hit a wall
                IF .Left < 0
                    .Parent.nDirection = 2* PI() - .Parent.nDirection
                    .BackColor = RAND() * 0xFFFFFF
                IF .Top < 0
                    .Parent.nDirection = PI() - .Parent.nDirection
                    .BackColor = RAND() * 0xFFFFFF
                IF .Left + .Width > .Parent.Width
                    .Parent.nDirection = 2* PI() - .Parent.nDirection
                    .BackColor = RAND() * 0xFFFFFF
                IF .top + .height > .Parent.Height
                    .Parent.nDirection = PI() - .Parent.nDirection
                    .BackColor = RAND() * 0xFFFFFF
        PROCEDURE command1.Click
            thisform.llAnimating = !thisform.llanimating
        PROCEDURE timer1.Timer
    *-- EndDefine: form1


  • Andrew Coates ::: MSFT

    Free MCP Testing at TechEd Australia


    I only found out today (yes, maybe I have been living under a rock) that you’ll be able to do Free MCP exams at TechEd Australia.

    I’d suggest the approach I took a couple of weeks ago at our internal training conference in Seattle, TechReady. Sign up now (with the attitude “well, it costs nothing, so I may as well sit the exam”) and then as the date approaches, spend more and more of your waking hours studying for the exam. It’s amazing how much you learn, even about topics you might think you’re pretty familiar with. (I passed 70–305 BTW).

    There are 100 spots available in total, so sign up today!

  • Andrew Coates ::: MSFT

    On the road again


    We're travelling the country for the third MS Australia Security Summit. Today is Canberra. I'm presenting a session on ClickOnce, which is great, but my favourite bit about tours like this is meeting old and new friends in the developer community.

    On Tuesday night in Sydney, a number of us got together at Darling Harbour to talk geek and also to farewell Jason McConnell, who is moving to the Visual Studio team in Redmond. This means that there's a vacancy in Melbourne for a developer evangelist. Frank's already blogged about the job, and there's even been one application already in the form of a public blog post! By the way, Sean McBreen's also looking to fill a similar role in New Zealand. Take it from me, if you're a developer geek, being  DE for Microsoft is absolutely, positively the best job in the world.

    This evening (Thursday), we're in Canberra. Drop in and say hello in the MSDN Connection Lounge, or join us afterwards for a Geek "dinner" at King O'Malley's Pub in Civic.

    I'm planning to be in town on the evening of each of the other Security Summit days, so if you'd like to organise a Geek Gathering in your city, please do, and let me know where to come!

  • Andrew Coates ::: MSFT

    Adding Ink Controls to .NET Applications


    Last Friday (Redmond time) there was a Webcast that I really wanted to see on using the InfiNotes Note Taking Framework built by Agilix Labs Inc. as an extension to the Tablet PC SDK and Visual Studio .Net Development environment. From the TabletPC webcasts page:

    Agilix InfiNotes is a collection of .NET controls that add rich ink note-taking functionality to new and existing applications. Simply drag the control from the toolbox and begin adding digital ink to your application immediately! You'll be amazed at how quickly you can develop ink note-taking features in your .NET application. InfiNotes Standard Edition is available free from and should be installed on your development environment along with the Tablet PC SDK, available at (You do not need a Tablet PC to develop Tablet apps, this can be done right from your existing Windows development environment).

    Unfortunately, I missed the live webcast (5am Saturday is only fun if you've not yet been to bed). Fortunately, I'll still be able to watch it (although this isn't apparent from the webcast page). Go to the Live Meeting View Recordings page.

    In the following fields, enter this information:

    • Your Name: (enter your first and last name)
    • Meeting ID: msft031805fg
    • Meeting Key (if required): B3S3TB

    Click View Recording.

    Enter your email address and company name on the next page and click View Recording again.

    You can now view the recording in LiveMeeting Replay format. This is a great format for viewing webcasts as it syncs the slide names (on the left hand side) with the audio and video in a WMP frame on the right. You can view the presentation at 1.4 or 2x speed too (which I like to do) and get the same information in about half the time.

Page 5 of 47 (470 items) «34567»