February 2010
100 posts
Envisioning a New Language: A Conversation With... →
January 2010
212 posts
Microsoft executives say the darndest things -... →
TODO
Microsoft executives say the darndest things -... →
[People] might use Outlook when they’re driving around; they might want to open up their laptop and type something in.
— Ray Ozzie
In other words, Microsoft views its customers as crazy Westchester drivers who seem to deliberately do stupid things while driving. In addition to putting on makeup while driving 55 mph, you should now use Outlook, because, umm, I guess you are late...
1 tag
Why Software Development isn’t Like Construction →
Reviews Code Complete by Steve McConnell.
Argues the book is dangerous (I agree) and argues Structure and Interpretation of Computer Programs is better (also agreed).
Frank Atanassow: "If syntax is unimportant" →
If syntax is unimportant then how come it so frequently lead to religious wars between language lovers?
So you are saying that if you love something, you are automatically an expert in it?
Do you want to know the truth? I don’t think there are very many people who “love” languages. Most of the people who claim to be PL aficionados are not PL aficionados but syntax...
1 tag
Frank Atanassow: "Dynamism, Legacy of the... →
“Dynamic” is technical jargon used by programmers, meaning “good”. It derives from the Latin dyno mite, meaning “I am extremely pleased”, and is first recorded in the historical work Bona Aetas of noted Roman sage and pundit J.J. Walker. Its meaning evolved in the 4th century after monks copying an obscure manuscript on programming linguistics in their...
1 tag
Frank Atanassow: "Some words of advice on language... →
Before you go off inventing new programming languages, please ask yourself these questions:
What problem does this language solve? How can I make it precise?
How can I show it solves this problem? How can I make it precise?
Is there another solution? Do other languages solve this problem? How? What are the advantages of my solution? of their solution? What are the disadvantages of my...
1 tag
Lance Walton on developer syntactic love affair...
From his blog post Domain-Specific Language nonsense
It is sad that, in commercial software development, many developers are burdened with three difficulties. First, they find it hard to sustain interest in a topic whose foundations, results and consequences require non-trivial effort to understand, no matter how germane it may be to their chosen profession and situation. Second, they believe...
1 tag
Declarative, Formal, and Extensible Syntax... →
Aspect-Oriented Programming (AOP) is attracting attention from both research and industry, as illustrated by the ever-growing popularity of AspectJ, the de facto standard AOP extension of Java. From a compiler construction perspective, AspectJ is interesting as it is a typical example of a compositional language, i.e. a language composed of a number of separate languages with different...
1 tag
Parent-Child Dimensions – Introduction , drawback... →
First of all lets understand what Parent Child dimensions are and where and When they are modelled.
and.
Limitations of Parent Child Dimensions
Parent child dimension do provide flexibility when modelling dimensions like employee organization structure and other self referencing dimensions but beware that this flexibility is not free.
The primary issue is that since there is no consistent...
Memory Model = Instruction Reordering + Store... →
1 tag
A Practical Theory of Programming →
1 tag
Parsing Visual Languages with Constraint Multiset... →
This research was targeted towards pen-based computers
Constraint multiset grammars →
Constraint multiset grammars provide a general, high-level framework for the definition of visual languages. They are a new formalism based on multiset rewriting. We give a formal semantics for constraint multiset grammars, investigate the theoretical complexity of parsing with these grammars and give an incremental parsing algorith.
Algebra of Flownomials: Part I →
One idea for modeling systems with multiple entries and exits; suitable for distributed computation and potentially architectural constraints like REST.
1 tag
From Metaobject Protocols to Versatile Kernels for... →
Eric Tanter’s Ph.D. dissertation on computational reflection.
This thesis reconciles both reflection and AOP by proposing a model of reflection that supports both the genericity of reflective systems and the specificity of AOP. Furthermore, in order to combine the power and generality of reflection and the guidance of aspect languages, we propose a versatile substrate for AOP based on an...
Why I Wrote Arel →
One of my coworkers recommended I read this…
1 tag
Natural and Flexible Error Recovery for Generated... →
Abstract. Parser generators are an indispensable tool for rapid language development. However, they often fall short of the finesse of a hand-crafted parser, built with the language semantics in mind. One area where generated parsers have provided unsatisfactory results is that of error recovery. Good error recovery is both natural, giving recovery suggestions in line with the intention of the...
1 tag
Spoofax Editor →
1 tag
Abstractions for Language-Independent Program... →
by Karl Trygve Kalleberg
Goals
Maintenance of software programs is normally the most expensive part of the software life cycle. Most tools that support maintenance and improvements to programs and program structure, be they compilers, program verifiers, transformation systems, modeling or reverse-engineering tools all represent the program internally either in the form of abstract...
1 tag
Starfish: A Table-Centric Tool for Design... →
Abstract. Behavior tables are a visual formalism for representing synchronous systems of communicating processes. Although behavior tables arose from hardware modeling methods, they operate on arbitrarily abstract data-types. Originally conceived as an aid for imposing architecture on behaviorally oriented specifications, behavior tables inherited a structural algebra from the Digital Design...
Bonsai: A Compact Representation of Trees →
Used to implement the Reactive Keyboard idea…
This paper shows how trees can be stored in a very compact form, called `Bonsai’, using hash tables. A method is described that is suitable for large trees that grow monotonically within a predefined maximum size limit. Using it, pointers in any tree can be represented within 6 +log 2 n bits per node where n is the maximum number of...
5 tags
Links [LtU] [2005] →
Phil Wadler guest blogs on LtU about his domain specific language for web frameworks.
Hans-Martin Mosner's interests →
Hyperliterate Smalltalk programming
Smalltalk virtual machine programming
Hypermedia documentation systems (see ObjectHelp)
A WYSIWYG TeX editor (WysiTeX)
Customer projects:
Simulation systems
Network management tools
All kinds of little Smalltalk Goodies
Art of MetaObject Protocol and Reflection (Java,... →
Reflection originally means both introspection and intercession (these are the technical terms). Introspection allows you to find out information about elements of your program - classes, variables, methods, functions, etc. What the Java folks called reflection in the beginning is indeed just introspection. Intercession is a way to modify the characteristics of the elements of your program. So...
Gate-level SVPs (from gain-based synthesis)
From The Design Warrior’s Guide to FPGAs: Devices, Tools, and Flows (Page 181-193):
Gate-level SVPs (from gain-bassed synthesis)
As opposed to conventional logical synthesis that is based in the gate-size versus delay plane, a concept known as gain-based synthesis is a kettle fish of a different color (I never metaphor I didn’t like).
This form of synthesis is derived from ideas...
1 tag
A Model-View Implementation of Linked Custom Grids... →
WTF? Did the chairperson of Colorado and Editor-in-Chief of JOT really write this garbage?
The static query, Convert.ToDouble(value1[sortOnCol), is used in the LINQ script for descending in order to ensure that values are compared by numeric value rather than string value (e.g. the String “4” is larger than the String “20”). In order to ensure that the value is in the...
1 tag
The Reactive Engine →
Hi Alan, (…) As a source for my work I am looking for your Ph.D. thesis from 1969. It does not seem to be online anywhere although many authors quote it as very influential in the development of graphical user interfaces. Can you help?
(…)
kind regards, Matthias Müller-Prove
From: Alan Kay
Date: Mon, 13 Nov 2000 08:07:34 -0800 To: Matthias Mueller-Prove <mprove@acm.org> ...
The Reactive Engine Paper [1974, published 1977] →
GEDANKEN EXPERIMENT
Imagine that by decree of God (or ARPA or whoever) we were only allowed to run one user at a time on the PDP-10. All the systems efforts would be distracted to making each person’s time on the computer as profitable as possible. What kind of system would you organize?
1 tag
SOLR →
Solr is the popular, blazing fast open source enterprise search platform from the Apache Lucene project. Its major features include powerful full-text search, hit highlighting, faceted search, dynamic clustering, database integration, and rich document (e.g., Word, PDF) handling. Solr is highly scalable, providing distributed search and index replication, and it powers the search and...
1 tag
Swish-e →
Simple Web Indexing System for Humans - Enhanced
An Open Source App: Rietveld Code Review Tool →
Runs on AppEngine.
Gwittir: GWT scaffolding and data binding →
Slightly less ugly than UiBinder.
GWT UiBinder →
Ugly.
1 tag
A Security Kernel Based on the Lambda-Calculus →
1 tag
Patterns of Safe Collaboration →
When practicing secure programming, it is important to understand the restrictive influence programmed entities have on the propagation of authority in a program. To precisely model authority propagation in patterns of interacting entities, we present a new formalism Knowledge Behavior Models (KBM). To describe such patterns, we present a new domain specific declarative language SCOLL (Safe...
Debugging Realtime by Ear. Adding one more... →
Using MS Speech API to play sounds to observe possible software flaws. Wild!!!
What Is Possible in Physics Depends on the Chosen... →
All of science is built on the foundation of the millennia-old numeric forms of representation and the associated measurement processes. Hence, the most promising way to approach physical reality (and physics) afresh is to shift to a non-numeric representational formalism. I discuss here one such formalism for structural/relational representation—evolving transformations system (ETS)—developed...
Representational Formalism in Which Syntax and... →
A recently developed formalism for structural representation, called Evolving Transformations System (ETS)—in which syntax and semantics are congruent—suggests an unforeseen constructive resolution to the ubiquitous syntax/semantics incompatibility issue raised by Searle’s Chinese Room argument. The ETS is an outcome of long-term research work directed at the development of a category-oriented...
Halogen →
This project is a proof of concept. Demonstrating the usability/features of the olap4j library. Currently Halogen can connect to a mondrian cube, perform simple member selections and return a resultset that is displayed in a crosstab format.
The code is being released by a small group of Pentaho developers in hopes of it morphing into a more robust gwt/olap4j based slicer/dicer and to advance...
SSAS: Adding XMLA templates to SSMS →
Intelligencia MDXL
MDXL Formula Language
Spreadsheet calculation interface - Update
Multi-Dimensional Spreadsheet
Cube Comments
Intelligencia — for your SSRS reports on an SSAS cube (product review by third-party)
Data Entry discusses a common strategy for write-enabling a CUBE’s data entry interface
Insider View on Xmla Council -
the bigger problem for interoperability which is that the provider...
A Design Methodology for Dynamic Reconfiguration:... →
The produced VHDL descriptions will be pseudo automatically changed according to the fact that the system has a dynamic nature. The main changes to the system descriptions deal with the communication channel between modules. In order to allow modules to communicate with each others in a dynamic system, a special bus, the BUS Macro, has to be introduced into the design description. Each time...
1 tag
Causality Domains: Scaling Clock Vectors for Open... →
Clock vectors provide the information required to determine the possible causality and hence concurrency of events in a distributed computation. The causality of any pair of events can be determined by comparing event timestamps based on clock vectors. One of the major difficulties of deploying clock vectors in large-scale distributed systems is that they must be transmitted with all messages...
Relating declarative hypermedia objects and... →
These claims are interesting:
This paper focuses on the support provided by NCL (Nested Context Language) to relate objects with imperative code content and declarative hypermedia-objects (objects with declarative code content specifying hypermedia documents). NCL is the declarative language of the Brazilian Terrestrial Digital TV System (SBTVD) supported by its middleware called Ginga. NCL and...
1 tag
DocLine: A method for software product lines... →
The DocLine method designed for developing documentation for software product lines is presented. The method makes it possible to reuse document fragments with adaptation to a particular usage context. The method provides the Documentation Reuse Language (DRL) that has a graphical part (for designing the structure of documentation packages) and a text part (for implementing the documentation)....
The Constraint-Based Layout Framework LayLab and... →
Andy Chun's NSolver AI Constraint Programming... →
Exploiting relations in a DataGrid (II) →
…not really sure why I am linking this yet… searching for something…
Ubiquitous Stream Programming to Facilitate the... →
The StreamIt development environment, optimizing compiler, and set of streaming benchmarks are available for download from the project web page at http://cag.csail.mit.edu/streamit.