Skip to content

Instantly share code, notes, and snippets.

@a2ndrade
a2ndrade / gist:6735774
Created September 27, 2013 21:54
Git: Trying to recover a lost file version (after performing destructive changes e.g. rebasing, squashing, amending, etc)
# create dir to put all file version found
mkdir target && cd target
# checkout all "lost" commits and save a file version for each of them
for i in `git reflog | head -75 | awk '{print $1}'`; do cat path_to_file > `git log -1 | head -1 | awk '{print $2}'`; done
# use fdupes to find duplicates, etc
@a2ndrade
a2ndrade / gist:5820364
Created June 20, 2013 04:44
Datomic: nested component entities
;; see http://stackoverflow.com/questions/16242750/nesting-structures-with-datomic
(require '[datomic.api :as d])
(def uri "datomic:mem://test")
(d/create-database uri)
(def conn (d/connect uri))
;; sample attributes
(d/transact conn [{:db/id #db/id[:db.part/db]
:db/ident :some/ref-value
:db/valueType :db.type/ref
@a2ndrade
a2ndrade / gist:5814355
Last active March 23, 2021 07:34
Datomic: Getting the id of an inserted entity
;; see http://stackoverflow.com/questions/17190334/getting-the-id-of-an-inserted-entity-in-diatomic
(require '[datomic.api :as d])
(def uri "datomic:mem://test")
(d/create-database uri)
(def conn (d/connect uri))
;; create an atribute
(d/transact conn [{:db/id #db/id[:db.part/db]
:db/ident :some/attribute
:db/valueType :db.type/string
@a2ndrade
a2ndrade / gist:5655005
Last active March 1, 2023 09:31
Datomic: containment relationships i.e. db/isComponent
(require '[datomic.api :as d])
(def uri "datomic:mem://test")
(d/create-database uri)
(def conn (d/connect uri))
(d/transact conn [;; Article
{:db/id #db/id [:db.part/db]
:db/ident :article/title
:db/valueType :db.type/string
:db/cardinality :db.cardinality/one
@a2ndrade
a2ndrade / gist:5654999
Last active April 11, 2020 23:13
Datomic: database functions and foreign-key constraints
(require '[datomic.api :as d])
(def uri "datomic:mem://test")
(d/create-database uri)
(def conn (d/connect uri))
(d/transact conn [{:db/id #db/id [:db.part/db]
:db/ident :enum/ns
:db/valueType :db.type/string
:db/cardinality :db.cardinality/one
:db/doc "Enum's namespace. Help enforce fk constraints on :db.type/ref enum references"
@a2ndrade
a2ndrade / gist:5651419
Last active December 23, 2020 16:11
Datomic: data model for a simple blog
;; see http://stackoverflow.com/questions/14724991/modelling-multiple-many-to-many-relationships-in-datomic
(require '[datomic.api :as d])
(def uri "datomic:mem://test")
(d/create-database uri)
(def conn (d/connect uri))
(d/transact conn [ ;; User
{:db/id #db/id [:db.part/db]
:db/ident :user/username
@a2ndrade
a2ndrade / gist:5651065
Created May 25, 2013 23:00
Datomic: memoized predicate functions
;; see http://stackoverflow.com/questions/16386793/datomic-query-function-that-filters-and-binds
(require '[datomic.api :as d])
(def uri "datomic:mem://test")
(d/create-database uri)
(def conn (d/connect uri))
;; sample attribute definiton
(d/transact conn [{:db.install/_attribute :db.part/db
:db/id #db/id[:db.part/db]
@a2ndrade
a2ndrade / gist:5641681
Last active December 17, 2015 16:49
Datomic: Finding duplicate attribute values
;; see http://stackoverflow.com/questions/16727590/what-is-a-good-way-of-finding-duplicates-in-datomic
(require '[datomic.api :as d])
(def uri "datomic:mem://duplicate-values")
(d/create-database uri)
(def conn (d/connect uri))
;; sample attribute definiton
(d/transact conn [{:db.install/_attribute :db.part/db
:db/id #db/id[:db.part/db]
@a2ndrade
a2ndrade / gist:5625075
Last active December 17, 2015 14:29
Datomic: DB Functions & Java Compilation Errors
import java.util.Map;
import java.util.UUID;
import datomic.Connection;
import datomic.Peer;
import datomic.Util;
public class JavaDbFunction {
/**
@a2ndrade
a2ndrade / gist:5235019
Last active December 15, 2015 08:59
Datomic: constructor-like transaction function
; See http://stackoverflow.com/questions/15595540/datomic-insert-blocks
(require '[datomic.api :as d])
(def uri "datomic:mem://test")
(d/create-database uri)
(def conn (d/connect uri))
(d/transact conn [{:db.install/_attribute :db.part/db
:db/id #db/id[:db.part/db]
:db/ident :car/model