Thursday, January 01, 2015

Semantic Web Conference, Crete 2014

11th Extended Semantic Web Conference (ESWC), Crete 2014 - VideoLectures - VideoLectures.NET
event header image

"The ESWC is a major venue for discussing the latest scientific results and technology innovations around semantic technologies. Building on its past success, ESWC is seeking to broaden its focus to span other relevant research areas in which Web semantics plays an important role.

The goal of the Semantic Web is to create a Web of knowledge and services in which the semantics of content is made explicit and content is linked to both other content and services novel applications allowing to combine content from heterogeneous sites in unforeseen ways and support enhanced matching between users needs and content."

visual: Paxos Algorithm

a simple introduction, with SVG animations, to one of the key algorithms in distributed systems 

The Algorithm by Leslie Lamport

Neat Algorithms - Paxos - Will You Harry Me
"This is an explanation and demonstration of an extraordinarily neat algorithm called Paxos. Paxos is a family of algorithms for teaching a whole bunch of decidedly unreliable processes to reliably decide on stuff. More formally: it allows a group of unreliable processors to deterministically and safely reach consensus if some certain conditions can be met, while ensuring the group remains consistent if the conditions can’t be met."

visual: Open Internet Connectivity Measurement

Comcast Sponsors Open Internet Measurement Hackathon
visualizations based on RIPE Atlas open Internet measurement data

Coming Soon: RIPE Atlas Hackathon 2015 — RIPE Labs
RIPE Atlas data streaming DNS

Is Clojure the New C? Functional Homoiconicity Programming

interesting presentation:

Clojure Is the New C @ InfoQ
Robert Martin  (Uncle Bob) argues that Clojure is a replacement for C with its simple syntax and minimal semantics.

He is using demo program for calculating positions of space objects based on gravity,
and reflecting on differences of theories of Gravity (General Relativity vs Quantum Mechanics)
Quantum gravity - Wikipedia, the free encyclopedia

The Clean Coder: Why Clojure?
To be effective in making software for highly parallel hardware.

"The last few decades have seen us migrate from procedures to objects. Now the physical constraints of our hardware is driving us to make a similar kind of paradigm shift towards functional languages."

Clojure - home

Clojure - Wikipedia, the free encyclopedia

Homoiconicity - Wikipedia, the free encyclopedia
"In computer programming, homoiconicity (from the Greek words homo meaning the same and icon meaning representation) is a property of some programming languages in which the program structure is similar to its syntax, and therefore the program's internal representation can be inferred by reading the text's layout.[1] If a language is homoiconic, it means that the language text has the same structure as its abstract syntax tree (i.e. the AST and the syntax are isomorphic). This allows all code in the language to be accessed and transformed as data, using the same representation."

In a strange twist of technology, while Clojure is based on Java VM that is forbidden on iOS,
it could still run on iOS and any other platform that has web browser, since it can be converted to JavaScript (via ClojureScript). I is just Lisp-like syntax that is a challenge...

Modern concurrency: Erlang, Scala, Go, Clojure
nice slides with

Mark Seemann: Faking Homoiconicity in C# with graphs on Vimeo @ NDC
"Some languages (most notably LISPs) exhibit a characteristic called Homoiconicity, which means that code is data and data is code. This makes a language very powerful because a program can inspect and manipulate itself.

C# isn't a homoiconic language, but using formalized object graphs, it's often possible to formulate a problem in such a way that the program opens itself up for inspection and manipulation - essentially faking Homoiconicity in parts of the code base.
This opens up many powerful options, including easier unit testing, self-documenting systems, run-time changes to program structure, and more."