Another Word For It Patrick Durusau on Topic Maps and Semantic Diversity

February 14, 2012

Querying joined data within a search engine index U.S. Patent 8,073,840

Filed under: Patents,Search Engines — Patrick Durusau @ 5:03 pm

Querying joined data within a search engine index U.S. Patent 8,073,840

Abstract:

Techniques and systems for indexing and retrieving data and documents stored in a record-based database management system (RDBMS) utilize a search engine interface. Search-engine indices are created from tables in the RDBMS and data from the tables is used to create “documents” for each record. Queries that require data from multiple tables may be parsed into a primary query and a set of one or more secondary queries. Join mappings and documents are created for the necessary tables. Documents matching the query string are retrieved using the search-engine indices and join mappings.

Is anyone maintaining an index or topic map of search engine/technique patents?

If such a resource was public it might be of assistance to patent examiners.

I say “might” because I have yet to see a search technology patent that would survive even minimal knowledge of prior art.

Knowledge of prior art in a field isn’t a qualification or at least not an important one for patent examiners.

My suggestion is that we triple the estimated cost of a patent and start selling them on a same day basis. Skip the fiction of examination and make some money for the government in the process.

People can pay their lawyers to fight out overlapping patents in the courts.

Active Security in AIE

Filed under: Security — Patrick Durusau @ 5:02 pm

Active Security in AIE by Will Johnson.

From the post:

Information retrieval systems have classically been interested in simply retrieving information based on a user’s query. Typically these applications were going after data that was either public, such as job listings, or semi-private, such as research papers that were viewable by anyone with an account. Most enterprise data does not fit into either of these categories, though.

Content like last year’s performance reviews, employee salary information or M&A research is usually only accessible by a select group(s) of people within an organization. Any system that provides access to this information needs to respect those same permission structures in order to be viable inside a company.

The discussion of late versus early security is illustrative even if you have no interest in the patented solution that follows that discussion.

Security is an issue that customers are mindful of and to be taken seriously, information systems, including topic map systems, had better be ready for the discussion.

February 13, 2012

The story behind structr

Filed under: Neo4j,structr — Patrick Durusau @ 8:20 pm

The story behind structr

From the post:

This is the first post of a planned series about structr. Sorry that it took so long to get this out, but we were (and still are) quite busy in projects.

Most of you have probably never heard of structr, so we start from the beginning:

This could be an interesting series.

As readers of this blog already know, structr is a CMS based upon Neo4j.

Perhaps some of the considerations that lead structr to Neo4j will resonate with you.

Visualizing a Network with Cypher and D3.js

Filed under: Cypher,Graphs,Neo4j — Patrick Durusau @ 8:20 pm

Visualizing a Network with Cypher and D3.js by Max De Marzi.

From the post:

We’ve seen some pretty nice visualizations of nodes and their immediate neighbors, but we want to be able to visualize more. So we’re going to prepare a 200 node network, use Cypher to extract the data we want and visualize it with D3.js.

Be sure and take the concluding advice about refreshing the Heroku based page. You won’t be disappointed.

Statistics on the length and linguistic complexity of bills

Filed under: Government Data,Legal Informatics — Patrick Durusau @ 8:20 pm

Statistics on the length and linguistic complexity of bills

From the post:

Where would you go to find out what the longest bill of the 112th Congress was by number of sections (H. R. 1473)? How about by number of unique words (H.R. 3671)? What about by Flesh-Kincaid reading level (S. 475)?

The reading level scores make me doubt that members of Congress have written any of the legislation.

R for Quants

Filed under: Finance Services,R — Patrick Durusau @ 8:20 pm

R for Quants, Part I.A by Brian Lee Yung Rowe.

From the post:

I’m teaching an R workshop for the Baruch MFE program. This is the first installment of the workshop and focuses on some basics, although we assume you already know how to program.

A good way to pick up R or if you already know R, some insight into the use of R in finance/financial settings.

(MFE = Master of Financial Engineering)

Big Data analytics with Hive and iReport

Filed under: Hadoop,Hive,iReport — Patrick Durusau @ 8:19 pm

Big Data analytics with Hive and iReport

From the post:

Each J.J. Abrams’ TV series Person of Interest episode starts with the following narration from Mr. Finch one of the leading characters: “You are being watched. The government has a secret system–a machine that spies on you every hour of every day. I know because…I built it.” Of course us technical people know better. It would take a huge team of electrical and software engineers many years to build such a high performing machine and the budget would be unimaginable… or wouldn’t be? Wait a second we have Hadoop! Now everyone of us can be Mr. Finch for a modest budget thanks to Hadoop.

In JCG article “Hadoop Modes Explained – Standalone, Pseudo Distributed, Distributed” JCG partner Rahul Patodi explained how to setup Hadoop. The Hadoop project has produced a lot of tools for analyzing semi-structured data but Hive is perhaps the most intuitive among them as it allows anyone with an SQL background to submit MapReduce jobs described as SQL queries. Hive can be executed from a command line interface, as well as run in a server mode with a Thrift client acting as a JDBC/ODBC interface giving access to data analysis and reporting applications.

In this article we will set up a Hive Server, create a table, load it with data from a text file and then create a Jasper Resport using iReport. The Jasper Report executes an SQL query on the Hive Server that is then translated to a MapReduce job executed by Hadoop.

Just in case you have ever wanted to play the role of “Big Brother.” 😉

On the other hand, the old adage about a good defense being a good offense may well be true.

Competing with other governments, organizations, companies, agencies or even inside them.

gRaphical Models in R

Filed under: Graphs,R — Patrick Durusau @ 8:19 pm

gRaphical Models in R

Rich collection of R packages for processing graphical models.

Particle Physics – Stanford

Filed under: Data Source,Particle Physics — Patrick Durusau @ 8:19 pm

Leonard Susskind lectures on particle physics. Like astronomy (both optical and radio), particle physics was a leading source of “big data” before there was “big data.”

Particle Physics: Basic Concepts

Particle Physics: Standard Model

Interesting in its own right, another field for testing data mining software.

MITx Experimental Course Announced

Filed under: CS Lectures,Education,MIT — Patrick Durusau @ 8:18 pm

MITx Experimental Course Announced by Sue Gee.

A free online course in electronics, the “prototype” for future courses being offered in MIT’s online curriculum, MITx, is now open for enrollment and will begin in March.

The first MITx course, 6.002x – Circuits and Electronics begins on March 5 and runs through till June 8. It is being taught by Anant Agarwal, Director of MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL), with Gerald Sussman, professor of Electrical Engineering and CSAIL Research Scientist Piotr Mitros. An on-line adaption of 6.002, MIT’s undergraduate analog design course, it is designed to serve as a first course in an undergraduate electrical engineering (EE), or electrical engineering and computer science (EECS) curriculum.

As important at the course content itself this course will serve as the experimental prototype for MITx, the Massachusetts Institute of Technology’s new online learning initiative which offers classes free of charge to students worldwide.

I know topic maps are used in Norway’s educational system.

In what way would you use topic maps to enhance an online course such as this one?

One way to find out would be to take the course and explore the potential of topic maps to enrich the experience.

Deploy Spring Data Neo4j into the Cloud (Feb. 16 – Webinar)

Filed under: Cloud Computing,Neo4j,Spring Data — Patrick Durusau @ 8:18 pm

Deploy Spring Data Neo4j into the Cloud (Feb. 16 – Webinar)

From the webpage:

Webinar
Thursday, February 16
10:00 PST

Join this webinar for a practical guide to deploying your Spring Data Neo4j application into the cloud.

Spring Data Neo4j is part of the Spring Data project which aims to provide convenient support for NOSQL databases.

Michael Hunger will demonstrate, using examples from his upcoming book Good Relationships, how to set up your own Spring Data Neo4j database onto Heroku.

Be Careful When Comparing AWS Costs… (Truth Squad)

Filed under: Amazon Web Services AWS,Marketing — Patrick Durusau @ 8:18 pm

Be Careful When Comparing AWS Costs… (Truth Squad)

Jeff Barr writes:

Earlier today, GigaOM published a cost comparison of self-hosting vs. hosting on AWS. I wanted to bring to your attention a few quick issues that we saw with this analysis:

….

[and concludes]

We did our own calculations taking in to account only the first four issues listed above and came up with a monthly cost for AWS of $56,043 (vs. the \$70,854 quoted in the article). Obviously each workload differs based on the nature of what resources are utilized most.

These analyses are always tricky to do and you always need to make apples-to-apples cost comparisons and the benefits associated with each approach. We’re always happy to work with those wanting to get in to the details of these analyses; we continue to focus on lowering infrastructure costs and we’re far from being done.

Although I applaud Jeff’s efforts to insure we have accurate cost information for AWS, that isn’t why I am following up on his post.

Jeff is following a “truth squad” approach. A “truth squad” knows the correct information and uses it in great detail to correct errors made by others.

To anyone not on the “truth squad” the explanation offered is jargon riddled to the point of being completely opaque. All I really know is that Jeff disagrees with GigaOM. OK, but that’s not real helpful.

More than a few of my topic map posts, past, present and no doubt future, follow a similar approach. With about as much success.

I have a suggestion for myself and Jeff, one that I won’t follow all the time but will try.

If you can’t explain AWS pricing (or topic maps) on the back of a regulation size business card, either you don’t have a clear idea and/or you are explaining it poorly.

Remember that part of Einstein’s theory of relativity can be expressed as: e = mc2.

Within lies a vast amount of detail but it can be expressed very simply.

Something for AWS pricing experts and topic map writers to consider.

February 12, 2012

Neo4j: Social Skills for Ruby Developers

Filed under: Neo4j,Ruby — Patrick Durusau @ 5:18 pm

Neo4j: Social Skills for Ruby Developers

From the description:

Ruby developers tend to be a lonely bunch. Slumped over a Mac in a dimly lit corner of a warehouse turned open-workspace. Unable to approach new people and introduce yourself. Unable to have a conversation that doesn’t devolve into an opinionated debate. Social skills are limited to what you learned from Manga. Unfortunately, you can’t use those in real life. Yet, one day, someone shows up and asks if you can build ’em a “social site” – you know, friends, activity feeds, jealousy. And privacy settings. “Me?”, you think. “You want ME to build you a SOCIAL site?” Go ahead. Reach for that bottle of Neo4J. Its time to celebrate!

About the Presenter

Prasanna Pendse (a member of the ChicagoRuby organizer team) was rescued from the mines deep in the belly of ClearCase, CMM, Digital Six Sigma and Waterfall five years ago. His newfound freedom at ThoughtWorks (ThoughtWorks.com) took him to such far flung places as China, Japan, India, Hong Kong and Malvern, PA. His travels brought him many points and upgrades, but the one thing that brings him most joy is Ruby! One day, Prasanna was slumped over his Mac in a dimly lit corner of a warehouse turned open-workspace when someone approached him and asked “can we make this social?”

Jzy3d

Filed under: Graphics,Visualization — Patrick Durusau @ 5:16 pm

Jzy3d

If your topic map needs 3d visualization, you might want to take a look at Jzy3d.

From the webpage:

Jzy3d is an open source (BSD) java library that allows a rapid display of 3d scientific data, either surfaces, scatter plots, bar charts, and lot of other 3d primitives. The API provides support for rich interactive charts, with colorbars, tooltips and overlays. Axis and chart layout can be fully customized and enhanced.

Features

Chart types

  • Surface charts
  • Bar charts
  • Scatter charts
  • 2d graphs charts

Rich chart options

  • Colorbars and color mapping to objects
  • Contour functions
  • Animation of objects’ structures (surface, series of lines, etc)
  • Textured planes
  • Custom charts out of many primitives (spheres, triangles, polygons, lines, points, …)

Layout customization

  • Axe box layout (colors, axe names, etc) with detailed tick definition and tick rendering tools
  • Tooltips
  • Background image
  • Custom post renderers

Controllers

  • Mouse interaction with objects (selection)
  • Mouse interaction with chart (rotation, zoom, scale)
  • Key interaction with chart (rotation, zoom, scale)

Tesselation

  • Delaunay and standard surface tesselation methods
  • Experimental Support Vector Machine and Bezier tesselation methods
  • Self defines tesselations

Cross toolkit

  • Straightforward integration to either AWT, Swing, or Eclipse RCP

Scripting

  • Groovy samples

Experimental

  • Experimental light support

    Working with the Neo4j shell

    Filed under: Neo4j — Patrick Durusau @ 5:16 pm

    Working with the Neo4j shell by Willie Wheeler.

    In this post we’re going to learn how to work with a local Neo4j database using the Neo4j shell. This isn’t really a Spring post, but Spring Data Neo4j users will probably find it useful.

    Introduction to the Neo4j shell. As Neo4j gains in popularity, I expect to see more introductory type blog posts from slightly different perspectives.

    Using Cypher with Neography

    Filed under: Cypher,Neography — Patrick Durusau @ 5:15 pm

    Using Cypher with Neography by Max De Marzi.

    From the post:

    Cypher is the query language of Neo4j, and as promised I’ll show you how you can use it to implement friend recommendations as well as degrees of separation.

    Curious. What other questions would you ask of a graph database other than friend recommendations and degrees of separation?

    RTextTools Short Course

    Filed under: Machine Learning,R — Patrick Durusau @ 5:14 pm

    RTextTools Short Course

    The post:

    Attached are some of the materials from the recent short course at UNC. For confidential reasons, we are unable to present all of the materials, but this is enough to get someone started. 1. Lecture; 2. Intro to R; 3. NY Times; 4. Congressional Bills. Hope this proves helpful.

    Brief lecture notes and three (3) examples of R code to get you started.

    New mapping tools bring public health surveillance to the masses

    Filed under: Collation,Health care,Mapping,Maps,Marketing — Patrick Durusau @ 5:13 pm

    New mapping tools bring public health surveillance to the masses by Kim Krisberg.

    From the post:

    Many of us probably look into cyberspace and are overwhelmed with its unwieldy amounts of never-ending information. John Brownstein, on the other hand, sees points on a map.

    Brownstein is the co-founder of HealthMap, a team of researchers, epidemiologists and software developers at Children’s Hospital Boston who use online sources to track disease outbreaks and deliver real-time surveillance on emerging public health threats. But instead of depending wholly on traditional methods of public health data collection and official reports to create maps, HealthMap enlists helps from, well, just about everybody.

    “We recognized that collecting data in more traditional ways can sometimes be difficult and the flow of information can take a while,” said Brownstein, also an assistant professor of pediatrics at Harvard Medical School. “So, the question was how to collect data outside the health care structure to serve public health and the general public.”

    HealthMap, which debuted in 2006, scours the Internet for relevant information, aggregating data from online news services, eyewitness reports, professional discussion rooms and official sources. The result? The possibility to map disease trends in places where no public health or health care infrastructures even exist, Brownstein told me. And because HealthMap works non-stop, continually monitoring, sorting and visualizing online information, the system can also serve as an early warning system for disease outbreaks.

    You need to read this post and then visit HealthMap.

    Collating information from diverse sources is a mainstay of epidemiology.

    Topic maps are an effort to bring the benefits of collating information from diverse sources to other fields.

    (I first saw this on Beyond Search.)

    Molecules from scratch without the fiendish physics

    Filed under: Cheminformatics,Knowledge,Knowledge Representation — Patrick Durusau @ 5:12 pm

    Molecules from scratch without the fiendish physics by Lisa Grossman.

    From the post:

    But because the equation increases in complexity as more electrons and protons are introduced, exact solutions only exist for the simplest systems: the hydrogen atom, composed of one electron and one proton, and the hydrogen molecule, which has two electrons and two protons.

    This complexity rules out the possibility of exactly predicting the properties of large molecules that might be useful for engineering or medicine. “It’s out of the question to solve the Schrödinger equation to arbitrary precision for, say, aspirin,” says von Lilienfeld.

    So he and his colleagues bypassed the fiendish equation entirely and turned instead to a computer-science technique.

    Machine learning is already widely used to find patterns in large data sets with complicated underlying rules, including stock market analysis, ecology and Amazon’s personalised book recommendations. An algorithm is fed examples (other shoppers who bought the book you’re looking at, for instance) and the computer uses them to predict an outcome (other books you might like). “In the same way, we learn from molecules and use them as previous examples to predict properties of new molecules,” says von Lilienfeld.

    His team focused on a basic property: the energy tied up in all the bonds holding a molecule together, the atomisation energy. The team built a database of 7165 molecules with known atomisation energies and structures. The computer used 1000 of these to identify structural features that could predict the atomisation energies.

    When the researchers tested the resulting algorithm on the remaining 6165 molecules, it produced atomisation energies within 1 per cent of the true value. That is comparable to the accuracy of mathematical approximations of the Schrödinger equation, which work but take longer to calculate as molecules get bigger (Physical Review Letters, DOI: 10.1103/PhysRevLett.108.058301). (emphasis added)

    One way to look at this research is to say we have three avenues to discovering the properties of molecules:

    1. Formal logic – but would require far more knowledge than we have at the moment
    2. Schrödinger equation – but that may be intractable for some molecules
    3. Knowledge-based approach – May be less precise than 1 & 2 but works now.

    A knowledge-based approach allows us to make progress now. Topic maps can be annotated with other methods, such as math or research results, up to and including formal logic.

    The biggest different with topic maps is that the information you wish to record or act upon is not restricted ahead of time.

    XML Prague 2012 (proceedings)

    Filed under: Conferences,XML,XML Schema,XPath,XQuery,XSLT — Patrick Durusau @ 5:11 pm

    XML Prague 2012 (proceedings) (PDF)

    Fourteen papers by the leading lights in the XML world covering everything from XProc and XQuery to NVDL and JSONiq, and places in between.

    Put it on your XML reading list.

    Creating a Neo4j graph of Wikipedia links

    Filed under: Graphipedia,Graphs,Neo4j — Patrick Durusau @ 5:10 pm

    Creating a Neo4j graph of Wikipedia links by Mirko Nasato.

    From the post:

    I started looking at Neo4j and thought: I need to write a simple but non-trivial application to really try it out. Something with lots of nodes and relationships. I need to find a large dataset that I can import into a graph database.

    To my delight, I found that Wikipedia provides database dumps for download. That serves my purpose beautifully: I can represent each wiki page as a node, and the links between pages as relationships.

    So I wrote some code to parse the Wikipedia XML dump and extract links from each article body, and some other code to import everything into a Neo4j store. It’s now on github, as project Graphipedia.

    I ended up with a graph database containing 9,006,704 nodes (pages, titles only) and 82,537,500 relationships (links). The whole database takes up 3.8G on disc, of which 650M is a Lucene index (on page titles).

    With this wealth of well-connected data at my disposal, I can now do some interesting stuff. For one, I can simply open the database with the Neoclipse tool, find a page by title and visualise all links to/from that page. Here’s an example with the Neo4j page at its centre.

    This is simply awesome!

    What experiments would you suggest?

    Polyglot Persistence?

    Filed under: Polyglot Persistence,Storage — Patrick Durusau @ 5:09 pm

    The Future is Polyglot Persistence by Martin Fowler and Pramod Sadalage. (PDF file)

    The crux is slide 7 where the authors observe in part:

    Polyglot Persistence using multiple data storage technologies, chosen based on the way data is being used by individual applications. Why store binary images in relational database, when there are better storage systems.

    Bringing Alex Popescu to observe:

    There are over 2 years since I’ve begun evangelizing polyglot persistence. By now, most thought leaders agree it is the future. Next on my agenda is having the top relational vendors sign off too. Actually, I’m almost there: Oracle is promoting an Oracle NoSQL Database and Microsoft is offering both relational and non-relational solutions with Azure. They just need to say it. (The future is polyglot persistence)

    I am very puzzled.

    I am not sure how Alex could be “evangelizing polyglot persistence” or Martin and Pramod could be announcing its “discovery.”

    Just in case you haven’t noticed, while SQL database are very popular, there are video storage/delivery systems, custom databases for scientific data, SGML/XML databases (for at least the last 20 some odd years) and others.

    In other words, polyglot persistence has been a fact of the IT world from the beginning of persisted data.

    Ask yourself: Who gains from confusing IT decision makers with fictional discoveries?

    February 11, 2012

    Neo4j Workshop Seattle

    Filed under: Graphs,Neo4j — Patrick Durusau @ 7:54 pm

    Neo4j Workshop – sponsored by Graph Database – Seattle

    Tentative date of: Fri, 16 Mar 2012, 02:00 – 04:00 GMT.

    Venue to be determined.

    Ten people signed up already.

    Add your name, comment on preferences, etc.

    Neo4j App Performance Profile Management using New Relic

    Filed under: Neo4j — Patrick Durusau @ 7:54 pm

    Neo4j App Performance Profile Management using New Relic by Romiko Derbynew.

    From the post:

    We currently need a way to have performance profiling management solution in place for Neo4j running in Windows Azure cloud. The benefits of course is on going data analysis and performance statistics, not to mention assisting in debugging issues with performance. The best part of it all, is the agent that collects the data just runs as part of the JVM and the data is automatically uploaded to the website where you can view it online.

    If you need analytics (and who doesn’t?), this could be the option for you.

    Other suggestions for analytics with Neo4j?

    GeoMapApp

    Filed under: Geo Analytics,Geographic Data,Geographic Information Retrieval — Patrick Durusau @ 7:53 pm

    GeoMapApp

    From the webpage:

    GeoMapApp is an earth science exploration and visualization application that is continually being expanded as part of the Marine Geoscience Data System (MGDS) at the Lamont-Doherty Earth Observatory of Columbia University. The application provides direct access to the Global Multi-Resolution Topography (GMRT) compilation that hosts high resolution (~100 m node spacing) bathymetry from multibeam data for ocean areas and ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer) and NED (National Elevation Dataset) topography datasets for the global land masses.

    See YouTube: GeoMapApp (21 video tutorial)

    More data for your merging pleasure. Not to mention a resource on how others prefer to understand/view their data.

    2011 Research Tools (Geo Data)

    Filed under: Geo Analytics,Geographic Data,Python — Patrick Durusau @ 7:52 pm

    2011 Research Tools

    A very good course/refresher on handling data sets for the Earth sciences. There are videos, podcasts, notes, etc.

    From the description:

    For the UNH Earth Science (ESCI) 895-03 class, I created extra videos. This is a part of the UNH Center for Coastal and Ocean Mapping (CCOM) / Joint Hydrographic Center (JHC). The class web page is: http://vislab-ccom.unh.edu/~schwehr/Classes/2011/esci895-researchtools/

    Ontology for Media Resources 1.0

    Filed under: Media,Ontology — Patrick Durusau @ 7:51 pm

    Ontology for Media Resources 1.0 W3C Recommendation 09 February 2012

    From the abstract:

    This document defines the Ontology for Media Resources 1.0. The term “Ontology” is used in its broadest possible definition: a core vocabulary. The intent of this vocabulary is to bridge the different descriptions of media resources, and provide a core set of descriptive properties. This document defines a core set of metadata properties for media resources, along with their mappings to elements from a set of existing metadata formats. Besides that, the document presents a Semantic Web compatible implementation of the abstract ontology using RDF/OWL. The document is mostly targeted towards media resources available on the Web, as opposed to media resources that are only accessible in local repositories.

    Credit where credit is due. It is nice to see that this ontology comes with a mapping to existing metadata formats.

    I would not take the last line about “media resources available on the web,” too seriously. There are more media resources off the web than on. If you find this ontology useful, use it.

    Turning government data into private sector products is complicated business

    Filed under: Government Data,Marketing — Patrick Durusau @ 7:51 pm

    Turning government data into private sector products is complicated business by Joseph Marks.

    From the post:

    The government launched its massive data set trove Data.gov in 2009 with a clear mission: to put information the government was gathering anyway into the hands of private sector and nonprofit Web and mobile app developers.

    Once that data was out, the White House imagined, developers would set about turning it into useful products–optimizing Census Bureau statistics for marketers; Commerce Department data for exporters; and Housing and Urban Development Department information for building contractors, mortgage brokers and insurance adjusters.

    When necessary, the government also would be able to prime the pump with agency-sponsored code-a-thons and app development competitions sponsored through Challenge.gov, a White House initiative that paid out $38 million to prize-winning developers during its first year, which ended in September.

    But turning government data into private sector products has proved more complicated in practice.

    Good article about some niche uses of data that have succeeded. Like anything else, you can only repackage and re-sell data that is of interest to some customer.

    Question: Is anyone taking published agency data and re-selling it to the agencies releasing the data? Perhaps combined with data from other agencies? With the push on to cut costs, that might be an interesting approach.

    Referential transparency

    Filed under: Reference,Symbol — Patrick Durusau @ 7:50 pm

    Referential transparency

    Robert Harper writes:

    After reading some of the comments on my Words Matter post, I realized that it might be worthwhile to clarify the treatment of references in PFPL. Most people are surprised to learn that I have separated the concept of a reference from the concept of mutable storage. I realize that my treatment is not standard, but I consider that one thing I learned in writing the book is how to do formulate references so that the concept of a reference is divorced from the thing to which it refers. Doing so allows for a nicely uniform account of references arising in many disparate situations, and is the basis for, among other things, a non-standard, but I think clearer, treatment of communication in process calculi.

    It’s not feasible for me to reproduce the entire story here in a short post, so I will confine myself to a few remarks that will perhaps serve as encouragement to read the full story in PFPL.

    There is, first of all, a general concept of a symbol, or name, on which much of the development builds. Perhaps the most important thing to realize about symbols in my account is that symbols are not forms of value. They are, rather, a indices for an infinite, open-ended (expansible) family of operators for forming expressions. For example, when one introduces a symbol a as the name of an assignable, what one is doing is introducing two new operators, get[a] and set[a], for getting and setting the contents of that assignable. Similarly, when one introduces a symbol a to be used as a channel name, then one is introducing operators send[a] and receive[a] that act on the channel named a. The point is that these operators interpret the symbol; for example, in the case of mutable state, the get[a] and set[a] operators are what make it be state, as opposed to some other use of the symbol a as an index for some other operator. There is no requirement that the state be formulated using “cells”; one could as well use the framework of algebraic effects pioneered by Plotkin and Power to give a dynamics to these operators. For present purposes I don’t care about how the dynamics is formulated; I only care about the laws that it obeys (this is the essence of the Plotkin/Power approach as I understand it).

    ….

    Finally, let me mention that the critical property of symbols is that they admit disequality. Two different assignables, say a and b, can never, under any execution scenario, be aliases for one another. An assignment to one will never affect the content of the other. Aliasing is a property of references, because two references, say bound to variables x and y, may refer to the same underlying assignable, but two different assignables can never be aliases for one another. This is why “assignment conversion” as it is called in Scheme is not in any way an adequate response to my plea for a change of terminology! Assignables and variables are different things, and references are yet different from those.

    What do you think?

    How would you apply this analysis to symbols/identifiers as used in topic maps?

    Ice.js

    Filed under: ice — Patrick Durusau @ 7:47 pm

    ice.js

    Collaborative editing in a block element. See the DEMO.

    From the website:

    Ice is a track changes implementation, built in javascript, for anything that is contenteditable on the web. Conceived by the CMS Group at The New York Times, ice has been piloting successfully for articles written in the newsroom.

    Features:

    • Track multi-user inserts and deletes with the option to turn on and off tracking or highlighting.
    • A robust API to accept and reject changes, get clean content, and add a lot of configuration.
    • Plugins for tinymce and wordpress.
    • Optional plugins to track copy-cut-pasting, convert smart quotes, and create em-dashes.

    It’s not ready for typesetting complex tables or Vedic literature but some publishing tasks aren’t complicated.

    Use the appropriate tool for the task, or the topic map.

    « Newer PostsOlder Posts »

    Powered by WordPress