Tom Van Cutsem | 29 Mar 2013 18:00
Picon

v8ken: orthogonally persistent JavaScript

Hi,

As some of you may know, my student Gillis has been working for some
time on v8-ken, which integrates the CKen [1] library with the v8
Javascript engine. The result is an orthogonally-persistent Javascript
engine. This is a key piece of the larger Dr. SES [3] puzzle.

I thought I'd send an update of how this work is progressing.

A couple of weeks ago, Gillis managed to overcome a few critical bugs
that now allow us to successfully restore a JS session from a heap
state file. I wouldn't use v8-ken for anything serious at this point,
but this is a huge milestone: it's now possible to crash a v8ken
process and restart it without loss of either local data, or messages
in-flight.

v8ken's messaging system is based on that of Ken (reliable,
FIFO-ordered messages carried over UDP). The message-passing interface
is fairly primitive at this point: simple unidirectional send and
receive of JSON-serialized messages, directed to vat IDs. No E-style
far references or promises, although that can probably all be layered
on top in JavaScript itself.

Our long-term goal is to integrate v8ken with node.js, so that we can
have an orthogonally persistent HTTP server. We don't have node.js
integration yet, but v8ken currently does have ad-hoc support for
serving HTTP requests. Consider a v8ken process started with the
following script:

var counter = 0;
(Continue reading)

Sandro Magi | 19 Feb 2013 07:24

Pessimistic STM

This paper may interest those who follow E and other event loop systems. 
Some recent results in the STM world indicate that single-threaded 
pessimistic STM is competitive with optimistic STMs due to the lower 
incidence of aborts and reduced thread sync required:

http://transact2012.cse.lehigh.edu/papers/matveev.pdf

Event loops are similarly single threaded due to the possibility of 
writes. A language that tracks side-effects could implement an E-style 
event loop and execute all enqueued read-only messages in parallel.

Sandro
Kevin Reid | 25 Nov 2012 20:04
Favicon
Gravatar

Catalog of ERights project services and dependencies

I have sketched out a wiki page with information about centralized services that are part of the ERights
project. The goal is to document who can be contacted about a service being down, and to provide an overview
of our current robustness and possible desirable migrations.

current bogus url: http://wiki.erights.org/mediawiki/index.php/Services
broken proper url: http://wiki.erights.org/wiki/Services

If you have any additional information, please post it to the wiki (if you don't have a wiki account I can make
one for you), or reply to this message.

--

-- 
Kevin Reid                                  <http://switchb.org/kpreid/>
Kevin Reid | 25 Nov 2012 19:41
Favicon
Gravatar

Wiki URL configuration

This is your irregularly-scheduled reminder that wiki.erights.org needs its pretty-URL configuration done.

--

-- 
Kevin Reid                                  <http://switchb.org/kpreid/>
Rob Meijer | 9 Nov 2012 07:39
Picon
Picon
Favicon

cap-talk

I know its off-topic, but given that many people are on both this and the
cap-talk mailing-list, maybe someone here knows.

Has the cap-talk mailinglist been discontinued?
Kevin Reid | 3 Nov 2012 23:53
Favicon
Gravatar

“Verb tuples” for properties, faceting, and namespacing methods

Properties: the motivating use case
-----------------------------------

There are a number of uses for having “properties” in a language. By properties, I mean that an object's
interface presents explicitly named references to other objects, which may be able to be replaced or
otherwise operated on. Some other languages have idioms for defining properties, (Java)
  class Foo {
    String getBar() { ... }
    void setBar(String s) { ... }
  }
and some provide properties as a fundamental element, even giving them priority, including Python and (JavaScript)
  var foo = {
    bar: "initial value"
  };

Properties can be seen as in opposition to object-oriented programming, because they encourage the view
of an object as state without behavior, as being not an active participant in the system. However,
object-orientedness is not all there is to be had, and here are some use cases for properties which I see as relevant:

* Record types. The difference between a map and a record is that a
  record's interface is optimized for a static set of keys. Properties
  mean that records do not have to generate an arbitrary pattern of 
  boilerplate methods, nor do they have to use a "get(key)" interface
  which would be a pain to reimplement if you want more than a record.
  [This is a bit poorly-argued, sorry.]

* Algebraic data types are an elegant way of expressing certain data
  structures. Even if one dislikes generic data structures as API, they
  can be very useful as a foundation for implementing algorithms.
  Algebraic data types are essentially a group of record types, and
(Continue reading)

Kevin Reid | 28 Oct 2012 23:05
Favicon
Gravatar

Wiki URLs

This is your irregularly-scheduled nag mail. How's setting up the pretty MediaWiki URLs on
wiki.erights.org coming?

I notice that /wiki/* is redirecting to Main_Page, not even the specific page URL, so all external "deep"
links to the wiki are currently broken, which is bad.

--

-- 
Kevin Reid                                  <http://switchb.org/kpreid/>
Kevin Reid | 20 Oct 2012 02:11
Favicon
Gravatar

Semicolon wrangling (was Re: [friam] Minutes)

On Oct 19, 2012, at 15:20, Norman Hardy wrote:

> Today's Friam
> Here are some of my FRIAM notes:

Thank you for writing this down! I'll try to fill in my own notes on the topic, using yours as a skeleton.

> One question is whether semicolon is separator, or terminator.
> I think that everyone agrees that commas are separators but Kevin noted that some languages allow
terminal commas.
> Perhaps sqrt(x,) means the same as sqrt(x).
> (I don’t like that.)

For what it's worth, as a general rule in such languages, this is only permitted, or at least only used in
practice, in uniform/variable-length things such as collection literals, not function arguments.

> There was further discussion, mostly heat, on automatic addition of semicolons at line breaks.
> (I like the Algol 68 stance that semicolon is a binary operator that finishes evaluating its left operand
before it begins to evaluate it right operand.
> The value is that of the 2nd operand.
> This is an associative operator and establishes semicolon as a separator.
> I grant the problem of accidental return values which must be addressed.
> To me omitting semis is like omitting commas, or even plus signs.)

This is a fair summary of the issue. I raised today's syntactic topics mostly in search of a nice answer
(nicer than E's current ones) to the accidental return value problem, which is critical when your values
are authority-bearing.

An elegant yet horrible approach to keep the semicolon operator is that

(Continue reading)

Bill Frantz | 12 Oct 2012 18:14
Favicon

Fwd: <at> RISK: The Consensus Security Vulnerability Alert: Vol. 12, Num. 41

But the following is an example of a concern with any runtime environment.

====== Forwarded Message ======
Date: 10/11/12 12:53 PM
Received: 10/11/12 8:53 AM -0400
From: ConsensusSecurityVulnerabilityAlert@... (The SANS Institute)
To: frantz@...

ID: : CVE-2012-0507
Title:  Oracle Java SE Remote Java Runtime Environment Code Execution Vulnerability
Vendor: Oracle
Description: Unspecified vulnerability in the Java Runtime Environment
(JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Update 30
and earlier, and 5.0 Update 33 and earlier allows remote attackers to
affect confidentiality, integrity, and availability via unknown vectors
related to Concurrency.
CVSS v2 Base Score: 10.0 (AV:N/AC:L/Au:N/C:C/I:C/A:C)
====== End Forwarded Message ======

-------------------------------------------------------------------------
Bill Frantz        | The first thing you need when  | Periwinkle
(408)356-8506      | using a perimeter defense is a | 16345 Englewood Ave
www.pwpconsult.com | perimeter.                     | Los Gatos, CA 95032
Kevin Reid | 11 Oct 2012 16:37
Favicon
Gravatar

wiki DNS updated

I just noticed wiki.erights.org has updated. Next step is for you to adjust the Apache/MediaWiki config
for nice wiki URLs, yes?

--

-- 
Kevin Reid                                  <http://switchb.org/kpreid/>
Kevin Reid | 7 Oct 2012 17:47
Favicon
Gravatar

How's the wiki restoration coming?

How's the wiki restoration coming?

--

-- 
Kevin Reid                                  <http://switchb.org/kpreid/>

Gmane