Navigation


Welcome to my collection of articles.

This site represents a collection of most of my technical papers. At this point, there are still a large number of missing articles, but I am working on a complete collection.

    76 articles found:

  • Comparing VFP String Performance to .NET String Performance
    Wednesday, January 30, 2008
    The series of test conducted here are based on the "String Processing with VFP" article published in the Spring 2000 issue of CoDe Magazine.

  • A Silverlight to Illuminate the Path Ahead…
    Monday, September 17, 2007
    At Mix 2007 in Las Vegas, Microsoft announced Silverlight (formerly known as WPF/E) to much fanfare. Silverlight is very intriguing in concept, as it further travels the path previously laid out by WPF (Silverlight’s big brother), and it aims to bring the worlds of Windows and Web development, as well as the worlds of software development and graphical design, much closer together. As more and more details emerge (and the first released version is now available), it becomes clear that Silverlight is not just an intriguing concept, but it is for real! Markus discusses Silverlight concepts in this article.

  • The Missing LINQ
    Monday, January 29, 2007
    Visual FoxPro’s (VFP) Data Manipulation Language (DML) is one of VFP’s most compelling features. It is also the most obvious feature VFP developers miss in .NET languages such as C# and Visual Basic. However, Language Integrated Query (LINQ), a new query language for .NET developers is a new feature in the upcoming releases of C# 3.and Visual Basic 9.0 that addresses these shortcomings.

  • VFP Conversion Roadmap Whitepaper
    Wednesday, November 29, 2006
    This whitepaper discusses strategies for managers converting Visual FoxPro (VFP) applications to .NET, and lays a foundation for producing an implementation plan.

  • Find New Meaning In Your Ink With Tablet PC APIs In Windows Vista
    Monday, November 20, 2006
    With Windows XP Tablet PC Edition, Microsoft introduced more than just a powerful platform for users. Through the associated SDKs, Microsoft has also empowered developers to create advanced ink-enabled applications.Recognizer objects provide the means to recognize handwriting as text. Similarly, gestures can be recognized and interpreted in any way the developer desires. Other objects allow for the division of digital ink into paragraphs, lines, and segments. The combination of these objects allow for the creation of very advanced applications. However, these options do not cover the complete range of features needed to create next-generation ink-enabled applications.

  • Windows Presentation Foundation - an Introduction for VFP Developers
    Monday, November 20, 2006
    The Windows Presentation Foundation (short WPF) is coming, and it will replace all Windows UIs as we know them today.This means that no developer can ignore this technology. This article provides an introduction to WPF both from a general point of view as well as from a Visual FoxPro specific angle.

  • .NET Data Access with LINQ: A VFP Perspective
    Monday, November 20, 2006
    For Visual FoxPro developers, data access represents the daily bread and butter. Data access is a core feature of Visual FoxPro (which after all is an xBase descendent) and nobody gives much thought to the ability to run a select-statement right within a VFP program.Most languages however (including .NET languages such as C# or Visual Basic .NET) are not as data centric and thus do not support data manipulation as a core language concept. At least until now. But all this is about to change with the introduction of LINQ.

  • What's The Resolution?
    Tuesday, October 10, 2006
    Markus Egger discusses screen resolutions.

  • How Many Threads Do You Need?
    Monday, May 29, 2006
    Markus Egger discusses the need to create multi-threaded applications.

  • Beyond the Mists of Avalon
    Monday, February 06, 2006
    Markus Egger discusses tools used to create WPF (Windows Presentation Foundation, formerly "Avalon") interfaces, in particular, WinFX Extensions for Visual Studio as well as the Microsoft Expression product line.

  • LINQ
    Wednesday, February 01, 2006
    At PDC 2005, Microsoft introduced brand new technology known as LINQ, which stands for “Language Integrated Query.”The feature-set hiding behind this acronym is truly mind-boggling and worthy of a lot of attention. In short, LINQ introduces a query language similar to SQL Server’s T-SQL, in C# and VB.NET. Imagine that you could issue something like a “select * from customers” statement within C# or VB.NET. This sounds somewhat intriguing, but it doesn’t begin to communicate the power of LINQ.

  • Into the Future
    Friday, December 30, 2005
    Tablet PC and Mobile PC development is very popular today, and it will get more popular and important in the future.For Mobile PC developers, there are significant changes coming in the near future, some in the Windows XP timeframe, others in Windows Vista. This article provides an overview over what’s on the drawing board or already available in technology preview builds.

  • Introduction to Tablet PC Development
    Friday, December 30, 2005
    If you are familiar with development on PCs using Microsoft’s tools, you know most of what you need to develop for Tablet PCs.The main addition in the Tablet PC development arena is that of Digital Ink and the features that go along with it, such as Ink collection, Ink management, and Ink recognition. There are also a few minor additional things, such as new user interface considerations and screen operation in portrait mode.

  • Ink Recognition and Ink Analysis
    Friday, December 30, 2005
    Being able to take handwritten notes or annotations is nice, but the real power of Tablet PCs comes from the ability to analyze and recognize digital Ink.Recognition of handwriting is important as it allows for the conversion of digital Ink into standard text strings. Ink analysis takes the concept a step further and adds spatial interpretation to the mix to apply further semantics. Gesture recognition enables the user to trigger real-time actions.

  • Get Control and Performance with the Real Time Stylus API
    Friday, December 30, 2005
    Standard Ink collection is incredibly easy using the Tablet PC SDK.For scenarios that require more control or non-default behavior, default Ink collection may not be the best choice. The Real Time Stylus API provides lower-level, higher performance access to stylus input, making this the API of choice for power-developers.Standard Ink collection is incredibly easy using the Tablet PC SDK.For scenarios that require more control or non-default behavior, default Ink collection may not be the best choice. The Real Time Stylus API provides lower-level, higher performance access to stylus input, making this the API of choice for power-developers.

  • Unveiling Windows SideShow
    Friday, December 30, 2005
    Windows SideShow enables users to use PCs even when they are turned off.SideShow allows users to remotely control PCs and servers. It allows PCs to create interactive output on devices other than monitors so users can view useful data stored on their PCs when they are away from it. It enables users to interact with their PCs in scenarios that would previously have been very cumbersome, and allows for the creation of secondary display and interaction devices that would previously have been cost-prohibitive.

  • LINQ Up!
    Monday, December 19, 2005
    At PDC 2005, Microsoft announced a new technology called Language Integrated Query (LINQ), which will be available with Visual Studio “Orcas” (the next version of Visual Studio). A lot of exciting new technologies are announced at every PDC, and as a result, LINQ got some attention, but not nearly as much as I think it deserves. LINQ represents the ability to run queries right inside of Visual Basic, C#, or any other .NET language.

  • C-Sharpest
    Sunday, December 04, 2005
    C# 2.0 just shipped with a number of interesting new features: anonymous methods, nullable objects, iterators, partial classes, generics, and others. But the innovation does not stop there! Microsoft (and Anders Hejlsberg in particular) have already allowed us a sneak peek at some of the new features that will be available in C# 3.0.

  • Operator Overloading
    Monday, October 03, 2005
    To help you understand .NET development from a VFP perspective, this article introduces you to operator overloading and shows you how to apply it for powerful programming in .NET.

  • Compare Events and Delegates in VFP and .NET
    Monday, September 26, 2005
    Events play a larger role in .NET than they do in Visual FoxPro. Learn how events work in the .NET world to write powerful applications.

  • Improve Code with Enums
    Monday, September 19, 2005
    To help you understand .NET development from a Visual FoxPro perspective, this article introduces you to the concept of enums and shows you how to use them to improve code quality.

  • Compare Static Members in VFP and .NET
    Monday, September 12, 2005
    You're familiar with instance members in Visual FoxPro. Now find out how you can benefit from static members in Visual Studio .NET.

  • The Quest for the Killer App
    Wednesday, September 07, 2005
    Markus Egger discusses the evaluation of new technologies.

  • Compare Visual Inheritance in VFP and .NET
    Monday, September 05, 2005
    Find out how your knowledge of visual inheritance in Visual FoxPro can help you take advantage of Visual Studio .NET's slightly different model.

  • Compare Constructors and Destructors in VFP and .NET
    Monday, August 29, 2005
    Unlike VFP, .NET forces you to give up control over the destruction of objects, but you get some benefits in return.

  • Compare Interfaces and Polymorphism in VFP and VS.NET
    Monday, August 22, 2005
    Polymorphism is the use of multiple objects with the same methods that do different things.Interfaces let you create flexible architecture in your application. Find out how these concepts differ in Visual FoxPro and Visual Studio .NET.

  • Compare Variables in VFP and VS.NET
    Monday, August 15, 2005
    Learn about different types of variables, and what it means to perform boxing, unboxing, and casting operations.

  • Compare Inheritance in VFP and VS.NET
    Monday, August 08, 2005
    If you're starting to work with Visual Studio .NET, you'll find you have a head start when it comes to inheritance.Here are some of the differences.

  • Compare Methods, Properties, and Fields in VS.NET and VFP
    Monday, August 01, 2005
    Discover the differences and similarities between Visual Studio .NET and Visual FoxPro.

  • OOP: VFP vs. VS.NET
    Tuesday, July 26, 2005
    And discover why and when you should use .NET.

  • User Interface Challenges
    Wednesday, July 20, 2005
    Markus Egger discusses user interface technologies developers should familiarize themselves with.

  • Where's Your Logic?
    Monday, June 27, 2005
    Markus Egger discusses the role of business logic in modern application architecture.

  • Who's On First?
    Monday, April 18, 2005
    Markus Egger discusses the importance of a solid basis of knowledge.

  • Anything To Declare?
    Monday, March 21, 2005
    Markus Egger discusses declarative programming

  • Aux Displays Rock!
    Tuesday, March 08, 2005
    Markus Egger discusses the new Aux Display feature supported in Windows "Longhorn".

  • Pest Control
    Monday, February 07, 2005
    Brian Kernighan [1] once said, "Debugging is twice as hard as writing code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." This quote gets a little giggle out of most developers, but on the serious side, there is a lot of truth in it. Writing code that does cool or useful things certainly is much easier than writing code that does cool or useful things reliably.

  • The Revenge of the Thick Client
    Thursday, January 20, 2005
    If you have been involved in a new software development project during the last five years ? and if you read this article, chances are you have ? then you have probably been faced with the question "Web application or Windows® UI?" And in the vast majority of cases, the answer to this question was probably "Web application." For modern, enterprise-wide systems there were simply many reasons and issues that made it hard to implement the desired feature set in a conventional Windows application and deploy it in a reasonable manner. At this point, the advantages and disadvantages of each application type are well understood, and decisions are easy to make. Or are they?

  • Great Reasons to Ring In 2005!
    Thursday, January 06, 2005
    Wow, another year has gone by, and as you read this, you are probably returning to the office after a few more or less relaxing holiday time spent with friends and family and a New Year's celebration. Interesting things have happened in our industry in the last 12 months, but I predict that the next 12 months will be quite a bit more interesting! Seldom before have I been as excited about new technologies and developments as I am now.

  • CoDe Talks: Steve Ballmer, Chief Executive Officer, Microsoft
    Tuesday, November 02, 2004
    Markus Egger interviews Steve Ballmer

  • COM Interop: Making .NET and VFP Talk to Each Other
    Thursday, September 23, 2004
    Many companies have been relying on COM components in the last couple of years. That includes Microsoft.Using COM components made it possible for different programming languages to reuse logic between them, by agreeing to a standard defined by the COM specification.

  • The Importance of the Managed Platform
    Tuesday, August 31, 2004
    .Net is a maturing platform. The first .NET alphas and betas went to a selected group of people years and years ago. At this point, we are approaching the third major installment of Visual Studio .NET (now called "Visual Studio 2005"). Surely at this point, nobody has to explain what .NET and the Managed Platform is. Or do we?

  • Are You Insecure?
    Thursday, July 01, 2004
    Markus Egger talks about developing secure applications.

  • Put Your Team To Work!
    Tuesday, June 15, 2004
    Markus Egger discusses team development with Visual Studio 2005 Team System.

  • Modern Application Development: Visual FoxPro and .NET
    Saturday, June 05, 2004
    Markus Egger discusses the current state of development (2004) and how Visual Studio .NET and Visual FoxPro fit in.

  • Do You Think In Ink?
    Wednesday, April 14, 2004
    Markus Egger talks about TabletPC development.

  • Learn Outside the Box
    Monday, March 29, 2004
    Markus Egger talks about the needs to learn about the latest development technologies.

  • Using Your Inheritance
    Monday, March 15, 2004
    Markus Egger discusses the use of inheritance in Visual Studio .NET applications, in particular WinForms apps.

  • Can You Hear Me Now?
    Friday, February 06, 2004
    Markus Egger discusses mobile development and mobile devices.

  • Three Cool New Features in C#
    Thursday, January 01, 2004
    C# has always had a reputation as a clean language with lots of innovation.The Whidbey-release of Visual Studio .NET ships with a new version of the C# compiler that has a number of great new features. Some of them will be implemented as generic runtime features that will show up in other languages as well, and some are truly C#-specific. All of them originated in the C# camp. In this article, I will shed some light on my three favorite new features.

  • Creating Tablet PC Applications with VS .NET
    Monday, September 01, 2003
    In the Fall of 2002, Microsoft introduced Tablet PCs based on the popular Windows XP operating system.By default, this new platform includes applications with special Tablet PC features enabled, such as Ink Input and Pen-based operation. In order for this platform to become truly popular, third-party vendors will also have to ink-enable their applications. Luckily, this is a pretty straightforward task.

  • Using GDI+ in ASP.NET Web Applications, Part 2
    Tuesday, July 01, 2003
    In the last issue, I investigated GDI+ and how to use it for image manipulation in Web applications.This time around, I will look at the generation of brand new images using the same GDI+ technology and features.

  • Event Binding in VFP 8
    Sunday, June 01, 2003
    Visual FoxPro developers have been using an event-based methodology for a very long time.For most purposes, events are what drive the development effort. The user clicks a button, causing an event to fire, and the developer writes code to react accordingly. All of this happens very transparently and without difficulty for either party. However, from a developer's point of view, there also isn't much flexibility in this approach. But in VFP 8, event handling is changing for the better.

  • Structured Error Handling in VFP 8
    Sunday, June 01, 2003
    With the introduction of Visual FoxPro 3.0, error handling in VFP changed substantially.Rather than using "on error" statements, "state of the art" error events became available. Now, 7 years later, more sophisticated error handling mechanisms take center stage as Visual FoxPro 8.0 introduces structured error handling.

  • The Basics of GDI+
    Thursday, May 01, 2003
    In graphical user interfaces such as Microsoft Windows, drawing on the screen is an important task.Everything displayed on the screen is based on simple drawing operations. Often, environments such as Visual Basic abstract those drawing operations away from the developer. However, the same drawing operations still take place under the hood. In Visual Studio .NET, developers have easy access to that drawing functionality whenever they need it through a technology called GDI+. Using GDI+, developers can easily perform drawing operations such as generating graphs or building custom controls.

  • Using GDI+ in ASP.NET Web Applications, Part 1
    Thursday, May 01, 2003
    GDI+ is a technology that developers generally associate with Windows Forms applications because they use it to draw anything on the screen from custom controls to diagrams.However, you can also use GDI+ in ASP.NET Web applications whenever you want to serve up dynamic images. You can use GDI+ to create dynamic banners, photo albums, graphs, diagrams, and more.

  • Shaped .NET Windows Forms
    Wednesday, January 01, 2003
    Since the earliest versions of the Windows operating system, all Windows have been rectangular.However, the number of applications that break out of this boring mold is rising. Even Microsoft, the king of rectangularity, is starting to create applications that use shaped windows, such as Media Player. Unfortunately, creating shaped forms has always been quite tricky. Until now that is! The .NET Framework and the Windows Forms package in particular make it easy to produce forms that have rather sophisticated shapes.

  • Threading Support in the .NET Framework
    Friday, November 01, 2002
    This article explains in depth how to implement multi-threading in your .NET applications.

  • The Power of Inheritance in .NET
    Tuesday, January 01, 2002
    Inheritance is one of the most fascinating features in the Visual Studio.NET languages. We have discussed this feature in several articles in the past, mainly to explain the basic concepts. Now we are going to take a look at what inheritance can actually do for you, rather than how it works.

  • Understanding Visual Inheritance in .NET
    Sunday, April 01, 2001
    Inheritance is the single most important new object-oriented feature in Visual Studio.NET. Surprisingly, not much has been written about the subject, and most of the information available is either very basic and an "overview" at best, or just plain misleading. In this article, I give you a real-world overview of what inheritance - especially visual inheritance, can do for you.

  • Introducing .NET My Services
    Monday, April 15, 2002
    .NET My Services is Microsoft's first attempt at creating a professional, commercial and widely available Web Services platform.The .NET My Services umbrella hosts a number of different Web services, such as a Calendar service, a Contacts repository, and much, much more. These services are major building blocks for the "Everywhere, Anytime" vision, but best of all, they are relatively easy to implement and use in your own applications and Web sites!

  • 20 Cool Visual Studio .NET IDE Features
    Friday, February 15, 2002
    For the first time ever, Visual Studio has a language independent Integrated Developers Environment (IDE), which includes a number of new productivity enhancements. However, many of the most powerful features are not obvious.

  • The Importance of a ModernDevelopment Approach
    Saturday, April 15, 2000
    Applications grow more and more complex, while turnaround times get shorter and higher quality is expected.Application boundaries are becoming blurred since data has to be available throughout the system in a seamless fashion. Data also has to be available in distributed environments, and as if that weren't enough, distributed systems are also expected to work when connections are down! How do you keep up with all of this?

  • Loosely Coupled Events With COM+
    Saturday, April 15, 2000
    COM+ introduces a new way to architect and extend applications:The COM+ Event Service. This service is extremely flexible and much easier to handle and maintain than all other COM based event models we've seen so far. They are especially useful for business events that can now be published throughout the system without losing any control over business rules.

  • Editorial - Thinking about .NET
    Saturday, July 15, 2000
    Summer 2000 Editorial Article

  • Create Bulletproof Components with COM+ Security
    Saturday, July 15, 2000
    COM+ gives the developer a way to build a flexible and powerful security system into applications without having to write a lot of custom code.This article will examine how to leverage the power of the COM+ security model.

  • The "Basics" of Inheritance
    Saturday, July 15, 2000
    Microsoft has recently announced that the next version of Visual Basic will support inheritance.Visual FoxPro has had inheritance for the past 5 years, since Version 3.0, and Visual C++ has always had it. This article will take a closer look at what inheritance is and what it will mean for Visual Basic 7.

  • The Web at your service
    Sunday, October 15, 2000
    Fall 2000 Editorial Markus Egger and Rick Strahl

  • XML, XSL and HTML in Windows Applications
    Monday, January 15, 2001
    HTML and XML have made the Internet what it is today, but both technologies are not necessarily tied to the Internet.Quite the contrary! Using HTML in regular Windows applications has always been a great alternative. Paired with XML and XSL, this technique is more powerful than ever, since there are a growing number of XML sources, such as SQL Server, Web Services, and XML-enabled Business Objects.

  • Building a 21st Century Application
    Sunday, April 15, 2001
    In previous issues of Component Developer Magazine, we have introduced technologies such as Queued Components, COM+ Security, Loosely Coupled Events, SQL Server 2000 and BizTalk Server.Each of these represents a fascinating myriad of possibilities. But, how do you put all of them together to build a real-life, highly reliable, 100% available distributed application?

  • Creating Smart Interfaces with Smart Tags and VFP 7
    Saturday, December 15, 2001
    As developers, we're used to data sitting in tables and databases.However, this is not how data exists in the real world?it's merely how developers want data to appear. Typically, data resides in documents and forms, emails and spreadsheets. Smart Tags are Microsoft's first serious attempt to utilize that kind of information and make it available to knowledge workers in a sensible fashion.

  • Welcome to Code Magazine!
    Saturday, April 15, 2000
    SPring 2000 Editorial

  • The Bottleneck in Modern Software Projects
    Saturday, July 15, 2000
    Windows DNA (as well as the recently announced .NET), and component based development in general, are fascinating approaches to application development.They provide great flexibility, scalability and freedom of distribution. Unfortunately, there has been a substantial delay in the widespread implementation of DNA applications. Surprisingly, the responsibility for this delay seems to lie with developers...

  • COM+ Queued Components
    Sunday, October 15, 2000
    Automatic asynchronous messaging is an important technique for scalable, component-based applications.Microsoft provided its first asynchronous messaging mechanism in the form of Microsoft Message Queue Server (MSMQ). This technology is the basis for Queued Components, a COM+ feature that makes asynchronous messaging as simple as calling regular COM Components.

  • Implementing B2B Scenarios with Microsoft BizTalk Server 2000
    Sunday, October 15, 2000
    Business-To-Business (B2B) communications are rapidly becoming an essential component in today's economy.Some say B2B transactions will soon outnumber Business-To-Customer (B2C) transactions. While we have learned how to do B2C quite efficiently, B2B presents an entirely new set of challenges that we have yet to resolve. Previous attempts were successfully used, but were too expensive to be used as often as B2C. Microsoft tries to resolve this dilemma with Microsoft BizTalk Server 2000, and it is looking promising! This article provides a first in-depth overview.

  • Thinking About Services
    Sunday, October 15, 2000
    Markus Egger Fall 2000 Services Article

  • Data Access for Partially Connected Applications
    Sunday, December 18, 2005
    In all but the simplest applications, data is stored in a central location and accessed over a network.However, in many scenarios, distributed applications can not assume a certain kind of network connection, both in terms of performance and reliability. In scenarios where users access their applications on mobile PCs, network connections may not be available at all. This introduces relatively complex data access scenarios with which modern applications need to cope.

 

 

 

 

 

You can now read all my technical articles in Xiine!

This provides a much better and more modern reading experience. Click here to check it out!