Skip to content

Instantly share code, notes, and snippets.

View kbastani's full-sized avatar
💭
Coding

Kenny Bastani kbastani

💭
Coding
View GitHub Profile
package com.example;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class User {
VARIABLE clock
Init == clock \in {0, 1}
Tick == IF clock = 0 THEN clock' = 1 ELSE clock' = 0
Spec == Init /\ [][Tick]_<<clock>>
@kbastani
kbastani / .block
Created June 3, 2017 01:31
Force-directed Graph Voronoi Diagram
license: gpl-3.0
@kbastani
kbastani / .block
Created June 3, 2017 01:34
Force-directed Graph Voronoi Sphere
license: gpl-3.0
@kbastani
kbastani / Neo4jTransactionalEndpointUtility.cs
Last active March 6, 2018 19:15
Neo4j Transactional Endpoint Implementation for C# .NET
using Neo4jClient;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Runtime.Serialization.Json;
using System.Text;
using System.Threading.Tasks;
@kbastani
kbastani / cqrs-es-axon-cf.md
Created September 5, 2018 19:51
CQRS + ES Axon Cloud Foundry
@kbastani
kbastani / Aggregate.java
Last active January 21, 2019 12:11
Simpler KStream API Example: See KafkaController.java
public class Aggregate<T> implements Aggregator<Long, KafkaEvent, KafkaEvent> {
private final Class<T> clazz;
private final Aggregator<Long, T, T> aggregation;
public Aggregate(Class<T> clazz, Aggregator<Long, T, T> aggregation) {
this.clazz = clazz;
this.aggregation = aggregation;
}
@kbastani
kbastani / keybase.md
Created October 2, 2018 01:16
keybase.md

Keybase proof

I hereby claim:

  • I am kbastani on github.
  • I am kbastani (https://keybase.io/kbastani) on keybase.
  • I have a public key ASDY5WBsVgYdDXHnPLnzvgJ7ZtIbPfuJd8VlbJ8yV08yAgo

To claim this, I am signing this object:

@kbastani
kbastani / gist:4471127413fd724ed0a3
Last active December 30, 2019 03:38
GraphGist of Neo4j Access Control
= Entitlements and Access Control Management
:neo4j-version: 2.2.0
:author: Kenny Bastani
:twitter: @kennybastani
:description: Graph database access control, entitlements, authorization solutions
:tags: domain:finance, use-case:access-control
This interactive Neo4j graph tutorial covers entitlements and access control scenarios.
'''
@kbastani
kbastani / CalendarDay.cql
Last active July 14, 2020 20:36
This gist is a Neo4j Cypher query for merging a calendar graph for a specific year. This query has 4 levels of indexes, consisting of year, month, day, hour.
// Enter the day you would like to create
WITH { day: 18, month: 1, year: 2014 } as dayMap
// Merge hours in a day
MERGE (thisDay:Day { day: dayMap.day, month: dayMap.month, year: dayMap.year })
MERGE (firstHour:Hour { day: dayMap.day, month: dayMap.month, year: dayMap.year, hour: 1 })
CREATE (thisDay)-[:FIRST]->(firstHour)
FOREACH (i IN tail(range(1, 24)) |
MERGE (thishour:Hour { day: dayMap.day, month: dayMap.month, year: dayMap.year, hour: i })
MERGE (lasthour:Hour { day: dayMap.day, month: dayMap.month, year: dayMap.year, hour: i - 1 })