Thursday, December 24, 2009

Caesar Cipher in F# and Haskell

The roman empire Julius Caesar (100 B.C - 44 B.C) used very simple encipher method to communicate with troops. This method substitutes each alphabet of a word with an alphabet from certain position further in alphabet system. If we use displacement-length 2 for the word “apple”,we will get “crrng”. This cipher method is very easy to crack because we have to check only 25 combinations and every language has characteristic distribution for its alphabets, just like finger print.
please read more www.paul-abraham.com/CaesarCipher.doc

Monday, October 26, 2009

Implementing Generic Algorithms in Functional Languages

Haskell has the status like Hebrew ,Latin ,or Greek in the natural languages. Knowledge of Haskell will help you understand concepts of functional programming. I am profiting very much Haskell lectures which gave by Erick Meijer.
http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-4-of-13/
Generic functions increase reusability and composability . Let us start with the small example and we want write a function that gives biggest element of a given tuple. Well, if we implement this function Haskell.
Please read more: http://www.paul-abraham.com/GenericAlgorithms.doc

Sunday, June 28, 2009

Is It An Interpretation or Revelation?

In my Life, I heard many times "Coriolan" Overture " (Beethoven), but this interpretation is a magic . Here comes maestro Carlos Kleiber to conduct :
http://www.youtube.com/watch?v=KB_-zFcy-hM&feature=related
Enjoy

Tuesday, June 2, 2009

State Monad in F#

I watched Brain Beckman's Web Cast "The Zen of Stateless State"
http://channel9.msdn.com/shows/Going+Deep/Brian-Beckman-The-Zen-of-Expressing-State-The-State-Monad/
and wrote example code for State Monad in F#. Please Check
http://www.paul-abraham.com/MonadsInFSharp.doc

Tuesday, April 28, 2009

iPod=Horse

Now, I know, why I don't have an iPod. Thank you Maestro Riccardo Mutti for valuable Insights:)
http://www.youtube.com/watch?v=2fyUGY5i9aQ

Enjoy
http://www.youtube.com/watch?v=-AgfCW4r82A

http://www.youtube.com/watch?v=Xvdig4N0bpk :)

Thursday, April 9, 2009

Concurrent Quicksort in Erlang and F#

Moore’s Law is no more applicable ( http://en.wikipedia.org/wiki/Moore's_law ) since processors are not getting faster and faster. We have now multicore-processors and developers are confronted with new reality. There are dedicated frameworks like Parallel Extension ,Task Parallel Library(by-product of Microsoft Robotics) for Microsoft.net or dedicated programming languages such as Erlang, but the crucial ingredient for success is to modify algorithms to work parallel as possible. We can gauge achieved improvements by applying Amdahls Law(http://en.wikipedia.org/wiki/Amdahl). I am going to implement these algorithms in F# and Erlang.
Please read  more www.paul-abraham.com/ConcurrentProgramming.doc

Sunday, March 22, 2009

A Giant Rock


Do I need to use synchronize primitives in F# MailboxProcessor ?

We don’t need any synchronizing primitives or additional synchronizing efforts to use F# Mailboxprocessor. I like to share a simple program which demonstrates that you don’t need care about synchronizing issues. Read more ....
www.paul-abraham.com/FSharpMailboxProcessor.doc

Sunday, February 22, 2009

Data Abstraction in F#

Data abstraction deals with the question, how to compose compound data from primitive types. SICP states : Data abstraction is a methodology that enables us to isolate how a compound data object is used from the details of how it is constructed from primitive data object. We will firstly implement a solution which is similar to the SICP text book (http://mitpress.mit.edu/sicp/). It uses tuples as primitive data structure. Indeed, tuples are very straightforward and powerful primitive data structure in functional programming ,but on the other hand, we have to consider, whether these primitives are suitable for .Net platform in the era of SOA or cloud computing.
Please check http://www.paul-abraham.com/FSharpCode2SICP.doc to get the whole series .

Monday, February 16, 2009

Mendelssohn's Workroom


This is the work-room of Felix Mendelssohn. I visted his home Leipzig . He wrote Elias in this room,yeah , a small room;but, with great impact:)

Saturday, February 14, 2009

WCF F# Examples

I like to share some WCF Examples which I have implemented in FSharp . I am going touch aspects of WCF by giving examples.

Example 1 15.02.2009
I like to show you in this example to setup a basic WCF service programmatically. We will add two channels(web service and tcp/ip) and enable metadata behavior which allows users to create proxy clients.
Download the source code(www.paul-abraham.com/FSharpWCFSimple1.zip) and compile it in shell command. Open the test client proxy by typing:
wcftestclient http://localhost:2008/SimpleService.

Read more www.paul-abraham.com/WCFProgrammingWithFSharp.doc

Monday, January 5, 2009

Domain Specific Languages with F#

Sourcecode: www.paul-abraham.com/DSLPolynomial.zip
Domain Specific Language (DSL) is a programming language which is applied on a specific area. Domain Specific Languages have habitually very small syntax and offers limited expressions, consequently it is very easy to learn and the user can focus on solving a problem rather than learning a fully fledged language. Pattern matching capabilities of F# and tools for parsing (fsyacc.exe) & lexing(fslex.exe) allow you create own DSL effortlessly. Martin Fowler has written a profound article in this subject (http://martinfowler.com/dslwip/UsingDsls.html).
read more www.paul-abraham.com/DSLPolynomial.doc