Recent articles
- Using custom grouping operators in LINQ
In LINQ, we can group data using the "group by" clause. However, there are other potentially useful implementations of grouping. For example, we may want to group only adjacent elements or group ascending or descending parts of the data. This article shows how to use custom behavior when grouping data using "group by" in LINQ query.
English | 2/7/2010
- Accelerator and F# (IV.): Composing computations with quotations
In this article series we're talking about the Accelerator project, which can be used from F# to write code that runs in parallel on GPU or multi-core CPU. In this article, we'll look at building complex data-parallel programs with F# quotations, we'll implement blur filter and we'll also discuss architecture and performance.
English | 1/12/2010
- Accelerator and F# (III.): Data-parallel programs using F# quotations
We already discussed how to write programs that run on GPU using MSR Accelerator. In this article, we'll write an image rotation using data-parallel F# functions and then use a library that translates it to Accelerator automatically.
English | 1/4/2010
- Accelerator and F# (II.): The Game of Life on GPU
This article shows how to use Accelerator from F#, which I already discussed, to implement a massively parallel version of the famous Conway's Game of Life.
English | 12/28/2009
- Accelerator and F# (I.): Introduction and calculating PI
This article shows how to write F# programs that run in parallel as shader programs on GPU or on multi-core CPU using Microsoft Research Accelerator project.
English | 12/21/2009
- F# Webcast (IV.) - Developing standard .NET libraries
This webcast demonstrates how to wrap an existing F# code into an object oriented library that can be nicely used from C# and how to use it when developing ASP.NET web application. The demo uses script for processing RSS feeds from the previous webcast.
English | 6/15/2009
- F# Webcast (III.) - Using Asynchronous Workflows
In the previous part you've seen how to write a simple function for downloading RSS feeds and processing them. In this part, we look how to improve the function to download data asynchronously and process them potentially in parallel.
English | 6/5/2009
- F# Webcast (II.) - Using .NET libraries
This is the second part of the webcast series that introduces the F# language. It shows how to use .NET libraries from F# to download RSS feed and how to work with the obtained data using tuples, sequence expressions and other F# features.
English | 6/1/2009
- F# Webcast (I.) - Introducing functional concepts
Now that Visual Studio 2010 beta 1 is out, it may be a good time finally try the new F# language. To make the exploration easier, I created a web cast series that demonstrates interesting aspects of F#. In this part, we'll look at basic functional concepts and working with data.
English | 5/25/2009
- Imperative computation in F# (II.) - Writing break and continue
In the previous article of this series, we've implemented a computation expression that allows us to write imperative 'return' in F#. In this article, we'll add support for 'break' and 'continue'.
English | 4/25/2009
- Imperative computation in F# (I.) - Returning results from a function
Even though F# supports some imperative constructs such as for and while loops, it doesn't support some of the advanced constructs like imperative return and break. In this series, we'll look how we can implement these constructs ourselves using F# computation expressions.
English | 3/19/2009
- Functional Programming in .NET using C# and F# (Manning Greenpaper)
This article is partially an excerpt from my book. It introduces the benefits of functional pogramming, and explains the essential aspects of the functional style using F# and C# 3.0. Finally, it also shows how functional style influences the application architecture.
English | 12/11/2008
- Reactive Programming (IV.) - Developing a game in Reactive LINQ
In this article, we'll implement a simple iteractve game using the Reactive LINQ project. The article shows that this way of handling events gives us amog other things a great degree of composability.
English | 11/24/2008
- Reactive Programming (III.) - Useful Reactive LINQ Operators
In the previous article, I introduced Reactive LINQ. Today, we're going to look at other operators that canbe used for working with events. We'll see aggregation is useful and how to dynamically change (switch) behavior.
English | 11/21/2008
- Reactive programming (II.) - Introducing Reactive LINQ
In the second part of the series about reactive programming, I introduction the Reactive LINQ project, which allows writing event processing code in C# using LINQ queries.
English | 11/19/2008
- Reactive programming (I.) - First class events in F#
The LINQ project and changes in C# 3.0 are interesting because they allow implementing many ideas from functional languages in C#. In this article I'll explain "first-class events" in F# and later I'll implemet similar concept using LINQ.
English | 11/16/2008
- Dynamic Lookup in F#
Dynamic languages allow you to represent a member using a symbol or a string and to use this symbol to work with the member. In this article I'll show how to do same thing in statically-typed way in F#.
English | 6/4/2008
- F# Support for ASP.NET and Notes on Samples
In this article I look at the F# suppot for ASP.NET and at some interesting aspects of the samples that are available in the F# distribution.
English | 3/8/2008
- Writing Silverlight applications in PHP
In this article we will look how Phalanger can be used for developing Silverlight applications in the PHP language. We look at basic concepts like XAML as well as at a more complicated game.
English | 12/7/2007
- Infinite Cheese Fractal using WPF 3D and F#
This article describes a 3D version of famous Sierpinski carpet fractal implemented in the F# language using WPF 3D libraries from .NET 3.0.
English | 11/24/2007
- Asynchronous Programming in C# using Iterators
In this article we will look how to write programs that perform asynchronous operations like manipulation with network in C# using iterators without the typical inversion of control caused by the use of delegates.
English | 11/15/2007
- F# Overview (IV.) - Language Oriented Programming
In the fourth article of the F# overview series, I will shortly describe how I understad the language oriented paradigm and how the F# language can be used for developing libraries using this paradigm.
English | 11/3/2007
- F# Overview (III.) - Imperative and Object-Oriented Programming
In the third part of the F# overview, we will look at the F# features that are essential for a smooth interoperability with other .NET languages and form a second part of the F# core language - that is object oriented and imperative programming.
English | 11/3/2007
- F# Overview (II.) - Functional Programming
In the second part of the F# overview we will look at functional programming, which is probably the most important paradigm used with the F# language, because F# is built on the same grounds as many functional languages.
English | 11/3/2007
- F# Overview (I.) - Introduction
First article of the F# Overview series introduces the F# language and gives a quick overview of the programming paradigms that will be discussed in the upcoming articles.
English | 11/3/2007
- F# Quotations Samples on CodePlex
This article describes a few samples available in the F# Samples project at CodePlex that demonstrate how to work with the F# quotations using active patterns.
English | 9/20/2007
- Building LINQ Queries at Runtime in F#
In this article I will introduce FLinq, the F# support for language integrated query and show how we can construct a database queries dynamically in a type-safe way in F#.
English | 8/18/2007
- Building LINQ Queries at Runtime in C#
Common criticism of LINQ is that it doesn't support a scenario where queries are build dynamically at the runtime. In this article I show that this can be acutally done very well for most of the common scenarios.
English | 7/30/2007
- F# Web Tools: "Ajax" applications made simple
This article introduces the F# Web Toolkit, which is an "Ajax" web framework that solves three major problems that many people have to face when developing modern web applications.
English | 7/13/2007
- Using PHP objects from C# in a type-safe way
In this article we present new features in the Phalanger beta 4 which make it possible to use objects from any PHP script in C# using type-safe way.
English | 4/30/2007
- Keep your multi-core CPU busy with F#
Code which makes it possible to write applications that take advantage of multi-core CPUs by parallelizing F# filter and map functions.
English | 3/24/2007
- Overload resolution in Phalanger
PHP doesn't support method overloading, so Phalanger has to solve an interesting problem when calling overloaded .NET method from PHP.
English | 2/15/2007
- Compiling Texy! with Phalanger
This article describes how to compile Texy! with Phalanger and how to use the produced assembly in ASP.NET application written in C#.
English | 2/12/2007
- Can't return anonymous type from method? Really?
This article describes anonymous types - one of the new C# 3.0 features and shows interesting trick that can be used when returning anonymous type from method.
English | 1/23/2007
- F# metaprogramming and classes
This article presents prototype that makes it possible to use F# metaprogramming to analyse and translate classes written in special way.
English | 10/14/2006
- F# quotations visualizer - reloaded!
New and improved version of quotation visualizer. Supports more language constructs and makes it possible to open quotations from compiled F# assembly.
English | 10/1/2006
- ASP.NET web applications in F#
This article shows how ASP.NET can be extended to support F# language using CodeDOM provider.
English | 8/13/2006
- LINQ extensions - Simplified keyword search
Article describes LINQ extension that adds support for returning rows that contain any or all of specified keywords in string column.
English | 7/28/2006
- F# quotations visualizer
Application that displays graphical representation of given F# quotation (using Windows Forms TreeView control)
English | 6/21/2006
- Calling functions in LINQ queries
This article describes method that allows you to reuse parts of LINQ queries across data access layer.
English | 6/10/2006
- F# - Simple quotations transformation
This article describes very simple code that I wrote while learning how to work with the F# quotations library.
English | 5/28/2006
- Avalon - Okna a panely v XAML
Tento článek se snaží shrnout pár základních principů v Avalonu, což je framework pro tvorbu uživatelského rozhraní v nadcházející verzi Windows (Longhorn).
Czech | 3/22/2005
- Práce s programem Windows Messenger
Co vše lze dělat pomocí COM objektů programu Windows Messenger
Czech | 3/8/2005
- Asp.Net 2 - Master pages
Problém jednotného vzhledu a společných některých částí stránky je v nové verzi Asp.Net řešen pomocí tzv. master pages. Funguje to tak, že v master stránce je kód, který má být stejný na všech stránkách a ostatní stránky dodávají pouze obsah... Master pages v Asp.Net 2 je již poměrně známá a velmi očekávaná věc. V tomto článku jsem se pokusil doplnit známé fakty o některé další zajímavosti týkající se master pages, jako je například dynamické načítání master stránky a další.
Czech | 1/3/2005
- Asp.Net 2 - Kompilace
Jak je to s dynamickou kompilací v Asp.Net 2 a co bude jinak oproti aktuální verzi
Czech | 12/5/2004
Articles published somewhere else
CodeProject.com (English)
You can find some of my articles at CodeProject.com, but I wanted to have all my articles available at this web, so I published same articles here. If you have any troubles or questons regarding the articles, please use discussion board under the article at CodeProject.
- CLinq - LINQ support for the C++/CLI language
CLinq project is a library that makes it possible to use LINQ technologies from the C++/CLI language.
CodeProject.com | 3/2/2007
- Concepts behind the C# 3.0 language
In this article I'll describe concepts that influenced the design of the C# 3.0. Most of these concepts are known from other programming languages like Haskell, LISP or languages developed at Microsoft Research.
CodeProject.com | 10/15/2006
- Aho-Corasick string matching in C#
C# implementation of very efficient Aho-Corasick keyword matching algorithm with multiple keywords support.
CodeProject.com | 12/4/2005
- Multi column layout control
Asp.Net control that allows developers to display articles in multi-column layout.
CodeProject.com | 7/7/2005
- Universal enumeration editor control
Asp.Net and WinForms control for editing any enumeration data type
CodeProject.com | 12/31/2004
- Fractal snow screensaver
Describes how to draw snowflakes using fractals and contains a nice snow screensaver.
CodeProject.com | 12/31/2004
- ASP.NET Popup Control
Highly customizable JavaScript popup control for web page wrapped in ASP.NET custom control.
CodeProject.com | 11/20/2004
- Graphical ASP.NET Controls
Graphical radio button and check box ASP.NET controls
CodeProject.com | 11/20/2004
.NET tutorials (Czech)
In this section you can find tutorials that I wrote for czech .NET portal www.vyvojar.cz. These shorter articles are focused mostly on beginers and answer some of frequently asked questions in chzech newsgroups.
- .NET, C# - Používání a psaní enumerátorů
V tomto článku se podíváme na psaní vlastních kolekcí, které implementují rozhraní IEnumerable a lze je tedy procházet pomocí příkazu foreach.
Vyvojar.cz | 5/21/2006
- .NET - Stahování souborů z internetu
V tomto úvodu jsou popsané základní postupy pro stahování textových a binárních souborů z internetu.
Vyvojar.cz | 4/9/2006
- C# - Dokumentace pomocí XML komentářů
V tomto článku se dočtete jakým způsobem lze v jazyce C# pomocí XML komentářů a nástroje NDoc vytvářet dokumentaci.
Vyvojar.cz | 4/9/2006
- .NET - Globalizace a lokalizace aplikací (2.)
V druhé části tutoriálu o lokalizaci a globalizaci aplikací se dočtete o tom jak vytvářet více-jazyčné aplikace.
Vyvojar.cz | 7/17/2005
- .NET - Globalizace a lokalizace aplikací (1.)
V tomto tutoriálu se dočtete o tom, jak vytvářet aplikace, které fungují nezávisle na lokálním nastavení.
Vyvojar.cz | 7/6/2005
- .NET - Literatura a webové stránky
Tento článek se snaží poskytnout seznam kvalitních knih a webových stránek s .Net tématikou a poradí vám kde hledat odpovědi na vaše otázky.
Vyvojar.cz | 7/2/2005
- .NET - Úvod do Reflection
V tomto článku se podíváme na to co umožňuje Reflection. Ukážeme si jak lze za běhu zjišťovat informace o objektech a jak je lze používat.
Vyvojar.cz | 6/19/2005
- WinForms - Vývoj TabletPC aplikací
V tomto článku naleznete několik ukázek popisujících tvorbu programů pro platformu TabletPC.
Vyvojar.cz | 6/11/2005
- C# - Unsafe kód a ukazatele
Tento článek popisuje jak lze v jazyce C# pracovat s ukazateli a obsahuje ukázku přímého přístupu do paměti bitmapy.
Vyvojar.cz | 6/5/2005
- .NET - Kolekce a seznamy objektů
Tento článek popisuje práci s poli a základními kolekcemi jako je ArrayList a Hashtable pod platformou .Net.
Vyvojar.cz | 6/5/2005
- ASP.NET - Ovládací prvky používající JavaScript
V tomto tutoriálu jsou popsány základní techniky, které je potřeba znát při tvorbě ovládacích prvků založených na JavaScriptu.
Vyvojar.cz | 6/5/2005
- ASP.NET - Dynamické vytváření ovládacích prvků
Tento tutoriál vysvětluje, jakým způsobem lze z kódu stránky dynamicky vytvářet ovládací prvky a jak lze uchovávat nastavení těchto prvků.
Vyvojar.cz | 5/5/2005
- .Net - Používání Windows API funkcí
Tento článek vysvětluje, jak je možné používat WinAPI funkce pomocí platform invoke v .Net aplikaci.
Vyvojar.cz | 4/25/2005
- WinForms - Screensaver a kreslení pomocí GDI+
Tento článek vysvětluje jak lze za použití objektově orientovaného programování vytvořit spořič obrazovky v .NETu
Vyvojar.cz | 4/11/2005
- WinForms - Aplikace s podporou pluginů
Tento úvod vysvětluje jak lze v .Net aplikaci umožnit rozšiřování pomocí pluginů a jak přistupovat k nastavení v konfiguračním souboru.
Vyvojar.cz | 4/1/2005
- WinForms - Spolupráce mezi více formuláři
Tento článek popisuje základy spolupráce mezi více formuláři ve Windows Forms aplikaci.
Vyvojar.cz | 3/31/2005
You can access all articles published on this web site through RSS feed 

