Skip to content

Instantly share code, notes, and snippets.

View otrack's full-sized avatar

Pierre Sutra otrack

View GitHub Profile
@otrack
otrack / EventOrderingTest.java
Created April 7, 2015 16:36
Test of the ordering properties of ISPN
import org.infinispan.Cache;
import org.infinispan.configuration.cache.CacheMode;
import org.infinispan.configuration.cache.ConfigurationBuilder;
import org.infinispan.manager.EmbeddedCacheManager;
import org.infinispan.notifications.Listener;
import org.infinispan.notifications.cachelistener.annotation.CacheEntryCreated;
import org.infinispan.notifications.cachelistener.annotation.CacheEntryModified;
import org.infinispan.notifications.cachelistener.annotation.CacheEntryRemoved;
import org.infinispan.notifications.cachelistener.event.CacheEntryEvent;
import org.infinispan.test.AbstractCacheTest;
@otrack
otrack / indexing.md
Last active September 25, 2017 11:30
indexing.md

Callable and queryable objects over a NoSQL storage

slides

Context

Cloud applications are commonly split in three distinct tiers, the presentation tier, the application tier and the storage tier. The presentation tier displays information related to the application services, such as web pages. The application tier contains the business logic. The storage tier executes the data persistence mechanisms (database servers, file shares, etc.) and the data access layer that encapsulates the persistence mechanisms and exposes the data.

@otrack
otrack / complexity.md
Last active September 25, 2017 10:39
complexity.md

A tigher bound on the space complexity of consensus

slides

Context

The consensus problem is a fundamental building block of distributed computing. Solutions to this problem can be found in the large-scale systems that run the Cloud, as well as in the programming librairies of multicore architectures.

Consensus requires the processes to reach an agreement on a common value.

@otrack
otrack / antidote.md
Last active September 27, 2018 12:40

Specifying and Implementing Degradable Objects in AntidoteDB

(the presentation slides are available here)

Context

Geo-distribution is the new norm: today's Internet services span multiple sites scattered around the globe. Distributing data globally enables services to tolerate disasters and minimizes latency by allowing accesses to the closest site.

In a geo-distributed service, data is commonly replicated at the different service locations.

@otrack
otrack / a
Created October 3, 2018 10:04
diff --git a/bin/image.sh b/bin/image.sh
index 40ee452..7a8d7fb 100755
--- a/bin/image.sh
+++ b/bin/image.sh
@@ -7,7 +7,7 @@ else
fi
DIR=$(dirname "$0")
-IMAGE=0track/vcd-java-client:${TAG}
+IMAGE=vitorenesduarte/vcd-java-client:${TAG}
@otrack
otrack / a
Created October 3, 2018 10:05
diff --git a/bin/image.sh b/bin/image.sh
index 7a8d7fb..40ee452 100755
--- a/bin/image.sh
+++ b/bin/image.sh
@@ -7,7 +7,7 @@ else
fi
DIR=$(dirname "$0")
-IMAGE=vitorenesduarte/vcd-java-client:${TAG}
+IMAGE=0track/vcd-java-client:${TAG}
diff --git a/bin/image.sh b/bin/image.sh
index 7a8d7fb..40ee452 100755
--- a/bin/image.sh
+++ b/bin/image.sh
@@ -7,7 +7,7 @@ else
fi
DIR=$(dirname "$0")
-IMAGE=vitorenesduarte/vcd-java-client:${TAG}
+IMAGE=0track/vcd-java-client:${TAG}
@otrack
otrack / -
Created October 31, 2018 10:10
http://tinyurl.com/datascale311018
application:ensure_started(java_erlang).
{ok,NodeId} = java:start_node([{add_to_java_classpath,["vcd.jar"]}]).
Conf = java:call_static(NodeId,'org.imdea.vcd.Config',parseArgs,[""]).
Socket = java:call_static(NodeId,'org.imdea.vcd.Socket',create,[Conf,10]).
MsgSet = java:call_static(NodeId,'org.imdea.vcd.Generator',messageSet,[Conf]).
_ = java:call(Socket,send,[MsgSet]).
_ = java:call(Socket,'receive',[MsgSet]).
application:ensure_started(java_erlang),
{ok,NodeId} = java:start_node([{add_to_java_classpath,["vcd.jar"]}]),
Conf = java:call_static(NodeId,'org.imdea.vcd.Config',parseArgs,[""]),
Socket = java:call_static(NodeId,'org.imdea.vcd.Socket',create,[Conf,10]),
SentSet = java:call_static(NodeId,'org.imdea.vcd.Generator',messageSet,[Conf]),
SentBytes = java:call(java:call(java:call(java:call(SentSet,getMessagesList,[]),get,[0]),getData,[]),toByteArray,[]),
io:format("array is ~p~n",[java:array_to_list(SentBytes)]),
java:call(Socket,send,[SentSet]),
RcvSet = java:call(Socket,'receive',[]),
RcvBytes = java:call(java:call(java:call(java:call(SentSet,getMessagesList,[]),get,[0]),getData,[]),toByteArray,[]),