- Start at default curve.
- Ctrl-click-drag any point in right-half to bend it until a point intersects with desired mhz/voltage.
- Select point and adjust to perfection using shift-up-down.
- Shift-click-drag empty space and select points (including selected point) on the right. Selected point should be left-most point.
- Shift-Enter twice to flatten all points in selection area. They will flatten to match the selected point.
- Adjust if required.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; 1. rename attribute: :url/path → :legacy/url-path-v1 | |
(do (require '[datomic.api :as datomic] '[kanasubs.db :as db]) | |
(datomic/transact @db/connection | |
[{:db/id :url/path, :db/ident :legacy/url-path-v1}])) | |
; 2. repurpose :url/path | |
(do (in-ns 'kanasubs.db) | |
(transact @connection | |
[{:db/id #db/id[:db.part/db] | |
:db/ident :url/path |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; Synchronous Clojure trained us to use Exceptions, while asynchronous JavaScript has trained us to use Promises. | |
;; In contexts where we work asynchronously in Clojure (in particular ClojureScript), it can be difficult to see a definite way of managing failure. Here are some proposals. | |
;; OPTION 1: adapting exception handling to core.async CSPs | |
;; As proposed by David Nolen, with some macro sugar we use Exceptions in go blocks with core async in the same way we would do with synchronous code. | |
(require '[clojure.core.async :as a :refer [go]]) | |
;; defining some helper macros | |
(defn throw-err "Throw if is error, will be different in ClojureScript" |