Monday, December 27, 2010

Concept 2.0 RC available

Concept 2.0 RC is now available. Now it supports IPv6 both Concept Client and Server.
Except the announced features, I've added a few unplanned ones:

1) Background textures for windowed objects


2) User confirmation for operations that pose a security risk


3) Alerts in GyroGears

A few tests are still to go, but it is generally stable.

Wednesday, December 22, 2010

Concept 2.0 sneak preview

I've been working a lot lately to the new services and Concept Application Server.
A new operator added to the language core:

operator ?? (cannot be overloaded)

Is somehow similar to || except that instead of true it returns the first non-null value.

Example

var object=new A();
var object2=new B();
var a=object ?? object2;

If object is null, then a==object2 , if object is not null, a=object
Also, arrays are a little special. An empty array is considered to be null, same for empty strings, so:

var a= [] ?? [1,2,3];

will return [1,2,3] and:

var s= "" ? "123";

will return "123"

A few changes in Concept Application Server core, more environment variables, like: CONCEPT_LOGFILE, CONCEPT_LIBRARY, CONCEPT_INCLUDE, CONCEPT_CERTIFICATE, CONCEPT_SERVERROOT, CONCEPT_INIPATH, CONCEPT_UseSharedMemoryPool, CONCEPT_PORT, CONCEPT_CGI_PORT, CONCEPT_SERVERNAME and CONCEPT_FILENAME

A better serialization engine and a safer InterApp message exchange system is now available.

Some screen shots from the working version of Concept BeeKeeper (concept administration tool):

For Concept Application Server 2.0 a new Client is provided (2.0). Old clients remain compatible (though some controls will look different).

I'll post back when a BETA version will be available.

Monday, December 13, 2010

Preparing for Concept 2.0

Concept 1.x is now powerful and mature. It is stable and the relation between Concept Application Server and GyroGears is now truly symbiotic. GyroGears is also stable and prepared to evolve into a new generation of application generators. The 2.0 release of Concept will include:
  1. faster execution time
  2. smaller memory footprint
  3. less CPU usage
  4. same zero crash-tolerance policy
  5. more security features
  6. Zero-downtime updating system that will allow the update of Concept Server with no downtime (or with at most a few seconds of downtime without affecting the users).
  7. CLB (Concept Load Balancer) out of BETA
  8. CIDE enhancements
  9. Do/Install deployment tool replacing CUDW
  10. Binary compatible with Concept 1.x (Concept will always be backward-compatible)
  11. An enhanced GyroGears (1.2) distribution
  12. Thread-safe variables and better multithread APIs
Concept 2.0 will focus on mission critical applications. The first BETA version will be available early in 2011. Some of the features are already available in the official Concept 1.2 distribution.

Sunday, December 5, 2010

Faster compiler (6x), CSV library, client updates and Gyro

I've had some work done on the accel compiler - which was a little slow (12mb of source code compiled in about 8 minutes). Now, is about few seconds over a minute ... After some tests, the average optimization is about 6x (six times faster).

I've added a convenient csv library (standard.lib.csv and CSV.con) with both a complex and a simple interface.

For the simple interface you can do something like:

var matrix=CSV::Parse(ReadFile("data.txt"));

matrix being an array of arrays.

Also I've updated the Concept Client - some small memory leaks fixed and the webkit component. I dropped the microhttpd used to emulate a server for managing local request (request that are handled within the application itself). Now the request are intercepted directly from the webkit/libsoup requests.

In GyroGears I've added a new field (optional) in the User entity: Failed attempts
This logs the failed attempts for an user, and then locks the account after 3 failed attempts.

I have no pretty screen shots this time...