Archive for October, 2007

Poem by Esenin

Wednesday, October 24th, 2007

No regret I feel, no pain, no sorrow,
Blossom blows away, a song is sung.
Overcome by autumn gold, tomorrow
I myself shall be no longer young.

You’ll not throb, heart, as before, but tremble,
Feeling chills that you have not yet known.
In bare feet you shall no more be tempted
Through the birch-print countryside to roam.

Roving spirit, ever now less often
Do you rouse a flame upon my lips.
Freshness I have lost, keen looks forgotten,
Feelings running at full flood I miss.

I’m austerer now in my desiring.
Life, were you real, or of fancy born?
It’s as if in spring I’ve been out riding
On a pink horse in the vibrant dawn.

In this world of ours we all are mortal,
Copper leaves from maples gently slide?
Ever blest was I to be accorded
Time for blossoming before I died.

1921

Script.NET

Friday, October 19th, 2007

Project Description
Script .NET or S# is a language that provides scripting functionality in .NET applications, embedding custom functionality into CLR applications. It is very simple, yet powerful enough to satisfy usual needs for scripting your application.

Script.NET

The key principles of Script .NET are:

  • Be simple
  • Be efficient
  • Be intuitive

The significant difference between Script.NET and other similar solutions is that it has it’s own interpreter, which means it doesn’t use run-time compilation and doesn’t generate additional in-memory assemblies. Script.NET uses Irony Compiler Kit to generate language parser.

Code Example: Factorial Calculation

Code Example: CodePlex RSS Reader

Links:

Taste of programming

Tuesday, October 16th, 2007

If you really want to taste the art of programming try to challenge following issues in any order:

  1. Parse-Compile-Execute
    1. Evaluate expressions in inverse Polish notation, write translator,
    2. Write Pascal Interpreter,
    3. XML Syntax Analyzer,
    4. Regular Expressions Translator into DFA.
  2. Graphics
    1. Hidden edges, lines removal in 2d, 3d,
    2. Ray-tracing algorithm, 3d shape visualization,
    3. BSP Tree,
    4. Vornoi - Delaunay algorithms, triangulations, diagrams.
  3. Calculus, Mathematics, Algebra
    1. Operations with Matrices,
    2. Long Arithmetics,
    3. Algorithm for calculating Pseudo inverse Matrix (Graville Formula),
    4. Write algorithm which integrates/differentiate functions symbolically,
    5. Implement cryptographic algorithm (DES,AES,GOST),
    6. Implement Huffman compression.
  4. Hardver
    1. Mini-OS (self made).
  5. Programming For Fun
    1. Write Quine on your fovourite language,
    2. Game of Life,
    3. Mandelbrot set, play with Fractals,
  6. Visual Components
  1. Syntax Highlighter
  2. Graph Planarization & Visualisation Component
  3. Diagram Drawer
  1. Linguisitc algorithms
    1. English language parser,
    2. Calculate semantic difference between two texts,
    3. Automatic text annotation, categorization (use WordNET).

Then try this sugar :) - Lisp, Prolog, Haskell, F#, Schema, Ocaml, whatever.

My implementations of this stuff search here:

It was done during 2001-2006, while I was student in KNU:

Wolf, Cabbage, Goat in Lisp

Tuesday, October 16th, 2007

and other tasks:

Lisp & Prolog

Long Arithmetics & Matrices in C++

Tuesday, October 16th, 2007

Here is a library with Long Arithmetics & Matrices in C++. It is not efficient, nor pretty good implement, but it may be useful in education and simple applications.

long_arithmetics.zip