Summary of the Agile Manifesto

Blog about my topics

The agile manifesto is about presence over past:

  1. Interactions/individuals are now – processes/tools originate from past decisions.
  2. Working software works now – comprehensive documentation is (mostly) out of date
  3. In customer collaboration you know his current requirement – a contract manifests past decisions
  4. A change is happening now – a plan is (mostly) out of date.

View original post

Posted in Uncategorized | Leave a comment

Agent based

MBWiki follows the agent based paradigm (http://en.wikipedia.org/wiki/Agent_based).

Regard agents as being the CPU in traditional computing. The agents can be customized:

  • paradigm: sequential, functional
  • timing: fixed time step, ASAP, idle, concurrent
  • microcode: internal agent behavior
  • registers: agent variables
  • interfaces: code, databases, libraries, topology

For a class of agents, multiple instances can run. The instances communicate via connected interfaces.

Posted in Design | Tagged | Leave a comment

Hello world!

Welcome to WordPress.com. After you read this, you should delete and write your own post, with a new title above. Or hit Add New on the left (of the admin dashboard) to start a fresh post.

Here are some suggestions for your first post.

  1. You can find new ideas for what to blog about by reading the Daily Post.
  2. Add PressThis to your browser. It creates a new blog post for you about any interesting  page you read on the web.
  3. Make some changes to this page, and then hit preview on the right. You can always preview any post or edit it before you share it to the world.
Posted in Uncategorized | 1 Comment

The Pf0mp Vision

Working with computers since I was a child I experienced that the tools available never fit what you actually need in your current projects.

When I did my first programming project I knew BasicLanguage, PascalLanguage, PrologLanguage, AssemblyLanguage and some of ForthLanguage and ModulaLanguage. I found all of these ProgrammingLanguages useful to some extend and wondered why is there no language covering the features of all of them. Together with some friends in 1985 I started a project called Pf0mp to develop a ProgrammingLanguage that unites the features of all ProgrammingLanguages known by us at that time.

Pf0mp is an acronym of the first letters of Pascal, Forth, Modula, and Prolog. The 0 is for ObjectOrientedProgramming. As a little joke we put zero instead of O because it’s computers.

Note: PfOMP is also the nucleotide sequence ‘ACiTiTTT(A/G)TGTATTGGiTT(A/G)GATCC’ of the L512 primer

Since 1985 I have got to know even more languages and programming concepts (see PfompHistory): other ObjectOrientedLanguages (CeeLanguage, CeePlusPlus, JavaLanguage) FunctionalProgramming languages (HaskellLanguage) ScriptingLanguages (JavaScript, ShellScripts) CategoryDatabase programming (SqlLanguage, XmlProgrammingLanguage) MarkupLanguages (LaTex, RichTextFormat, HyperTextMarkupLanguage) ExtensionProgrammingLanguages (RegularExpression) I love all of them, but as said before, each has its domain and its limits and yield to the ProgrammingDejaVu. As you could imagine: up to now I couldn’t achieve anything from my vision. In recent years I focussed more on conceptional work and ProjectManagement. I learned about development concepts as CaseTool and UnifiedModelingLanguage ModelDrivenArchitecture DesignByContract ComponentBasedProgramming ExtremeProgramming So the vision widened even more:

The PfompVision describes an integrated development platform providing support for InformationFlow? and KnowledgeManagement integration of ProjectPlanningSoftware, ProjectControlling?, and QualityControl project communication (integration with CollaborationTools) integrated QualityAssurance support (TestDrivenDesign, DesignByContract, CodeUnitTestFirst) DatabaseIntegration and DatabaseAccess? VersionControl PlatformIndependence easy handling of MovingTarget?s support and restriction to CodingStandards DesignPatterns SelfDocumentingCode, UnitTestAsDocumentation supporting WebDevelopment ExtremeProgramming and RapidPrototyping AutomatedCodeGeneration, MetaProgramming WorkflowTool? and ProcessDesign? integration of some ProgrammingParadigms (ProceduralCode, ObjectOrientedProgramming, FunctionalProgramming, DeclarativeProgramming) DistributedComputing and ConcurrentProgramming FuzzyLogic and QuantumComputing ExtremeDeployment and it should be ProgrammingInWiki (see also MeatBall:CommunityProgrammedWiki)!

To achieve the PfompVision I invite everyone on the web to join the discussion!

Posted in Uncategorized | Tagged | 2 Comments

Pf0mp History

This page is about experiences of software developers who aim for the PfompVision:

Computers

1980 – 1986 Commodore 64
1986 – 1988 Amiga 520 ST
1988 – 1990 386 XT (MS DOS)
1990 – 1992 486 PC (MS DOS/Windows 3.1)
1992 – 1995 Pentium 90 MHz (Windows 95)
1996 – 2001 Pentium 200 MHz (Windows 98)
2002 – 2006 Pentium 200 MHz (SuSE Linux) and Pentium Celeron 1,7 GHz (Windows XP)

Pains

BASIC (since 1980)
My first programming experience was with BASIC on Commodore 64. I learned it by try and error. I typed the game’s code from games magazines. At that time I thought computers were great and the tools were ingenious.
C64 Assembler (since 1983)
The games I typed from the magazines became wore complex and assembler has been added as binary data. I was fascinated by the power of assembler and tried to probe the limits of the hardware. I started some game projects, but usually the projects died after finishing the welcome screen. I got a notion of computers are kind of dull.
FORTH (since 1984)
Realizing that neither BASIC nor Assembler brings the right power of getting a project done, I accidentally bought a FORTH-extension for the C64. It was a new language for C64 It was an accidental buy, promoted as very productive and smart. Probably I mistook FORTH for FORTRAN that I knew was widely used in professional development. But, the feature to extend the compiler was challenging. However, I stopped working with FORTH because it seemed to me rather technical and editing and compile was cumbersome on C64. Amazing is the distinction between CompileTime and RunTime.
C (since 1986)
Possessing the Amiga ST I was confronted with C as the operating language. At that time I couldn’t appreciate this language and was glad when I found GFA BASIC to talk to my computer.
Pascal (since 1988)
I got to know Pascal in school and started my first commercial project using Turbo Pascal 2.0. I went up till Pascal 6.0 and learned about object oriented programming.
Fortran (since 1993)
I took a Fortran course at university – this language is dull.
C++ (since 1994)
In the Physics department C++ was the preferred language for scientific simulations – I learned and loved it – and it’s good MentalMasturbation
VC++/MFC (since 1997)
I got my first job as a programmer and was confronted with the microsoft development environment (IDE) and framework (MFC/Win32 API) – and loved it.
LaTex (since 1997)
One just needs it.
PL/SQL (since 1998)
I wrote my first routines in PL/SQL – and loved it
Java (since 1999)
I used Java because it was sexy – I was very sceptic about the usefulness of this language – I missed C++.
XML/XSL (since 2001)
I implemented my first (and only) three tier web application with PL/SQL as back end, Java in the middle and HTML at the front end. I used XML/XSL for code generation – I rated that as very convenient.
VBA (since 2002)
For some reason I needed to use that language in Excel. However, I must confess I rate this as quite useful for small office projects.
Haskell (since 2002)
I did some steps in Haskell because I was looking for some functional language as a replacement for Excel formulas.

Visions

around 1983
I tried to figure out a general framework for (action) games rendering the use of assembler programming unnecessary.
around 1985
I envisioned the PfompVision and started to invent a new programming language.
around 1987
I tried to re-invent the Commodore BASIC on Amiga ST because I missed the abbreviations for the keywords.
around 1989
Playing with analysis in school I missed a flexible term transformation tool – I wanted a graphical tool where you can just drag and drop the terms – the computers cares about signs, parenthesis, etc.
around 1992
I am looking for some neat editor for everything (letters, formulas, programs) – the vision is to start with a blank screen – and just enter what and how you want.
around 1995
I realized the limits of the available C++ framework, so I started to implement a toolkit – however, the first class was Strings – and it was the last class ;-(
around 1999
Using SqlPlus? for database access I worked on SqlTree? – a universal and configurable tool for database access. It was a first try to extend SQL with some GUI elements.
around 2000
Continuously switching operating systems and browsers I wondered, why isn’t there a tool to synchronize your bookmarks and favourites between systems? I invented BookmarkSync?.
around 2001
On the one hand I liked the database features of PL/SQL, on the other hand I hate the unavoidable copy and pastes. I wanted a language that automatically generates patterns out of redundant code.
around 2002
Excel is fine for one user – why is web programming not as easy as Excel?
around 2003
I wondered, is it possible to program only by configuration of objects? The idea of MBorg was born. MBorg is mainly influenced by the mathematical concept of TopologicalManifolds and maps. The software should be universally available, installation as a ComputerVirus.
around 2004
Assume, coding were no problem – the big issue remains: how to handle team communication and project management?
around 2004
I discovered Wiki – let’s push AgileSoftwareDevelopment to the limit by allowing the users to code in a democratic way 
Posted in Uncategorized | Tagged | Leave a comment