Fork me on GitHub

FYI: I just finished reading "Accelerate" and I blogged some notes from my take aways from the book.....


thanks for sharing your thoughts. it does seem surprising that the continunous releasing seems to work better for certain things. was just watching a gdc talk where one of the founders of a game company was saying how much it helped to switch to a cadence-based release.


Yea, I would think releasing many times during the day would be a horror show, but I guess you learn not to do things which cause the site to crash... or quickly recover from such flubs... and I guess once you internalize how to do that, you can add real value to the product quickly... once you learn how to ride the unicycle of CD...


I didn't finish accelerate, but I don't understand how CD would make things better. I saw the strong data link. But I didn't really see an explanation.


If it's possible to achieve the effect one way, it should also be possible through another mechanism with similar attributes.


@U0502D2GL Not related to the topic, but that link seems to load the whole blog - even if I want to read just one article, the browser still loads almost 19MB.


@U2FRKM4TW Thanks for bringing that to my attention... I will address that soon...


I wonder if the central theme of "Accelerate" is simply to reduce complexity. Certainly committing to production is simpler than tracking a moving window of when code moves to production... that is ... the entire book's focus is on making it easy to add value to customers... presumably reducing the cognitive load for that task makes adding value a simpler proposition. Or is that an over reach?


I did not read the book but automating everything certainly resonates with me. Though when deploy/rollback become very easy and quick, one must preserve from the danger of considering prod to be a test environment.


stacking of tags:

(defn my-fn [_]

(binding [*data-readers* {'my-tag my-fn}]
  (type (read-string "#uuid #my-tag 1")))


Aero uses this :)


lol, i was hoping someone would say "don't do that" -- i guess i'll be thinking about how to fit it into the tree-sitter grammar after all


the fact that this nests and isn't special is more general and you should be glad it works :)


i guess i have that to look forward to 🙂


I seem to recall someone writing a library for refreshing clojure code automatically, Figwheel for clojure essentially.

mauricio.szabo17:03:11 does this, but not on save.,


Some editor plug-ins do it, like proto-repl (and Chlorine also have an option to do it) but it's not widely used


I wrote a vim thing for it, and also setup require :reload. The latter one stuck. It's only for a specific file. My ideal would be that I would hook eval and run an evaluation after that. Nrepl makes that a little too awkward.


Not sure what you meant by the last message... The problem I had with require :reload is that sometimes, when the code was defining a multimethod or protocol, things started to have some bizarre behaviors...


Yeah. Fortunately I know that is okay in this context.


What I meant by the last message is that I'd like to change the eval function in my repl (nrepl) to be clojure.core/eval followed by running a particular function. Then I don't need to require automatically.

Michael J Dorian20:03:53

I've had good luck with (require 'namespace :reload). I just make sure to keep all my side effects for initialization in the top namespace that doesn't get reloaded and doesn't depend on any of my other code. I guess that's not very automatic, but it's automatable.


This thing ran on file change I believe.


Personally I'd never do that... one loses a sense of transactionality, e.g. not reloading code until a set of changed namespaces is deemed consistent. Given the clojure compiler is slow (it works by peforming eval on each form*), taking some care around refresh seems due to me. Else I'll just be constantly breaking my project (due to "transactionality loss"), and firing up (clear). Would seem slower.


I wouldn't normally do this, but I have a context where I think it makes sense.


Anyone know of a tool to interact with a web page, perform some manipulations (interact or js injection in page context), and log it out on a schedule? I could put something together pretty quickly with a cron job and a script but it seems like a common enough use case for a decent tool to exist.


I've used httpunit for that kind of thing, it's ok

👍 1
Eccentric J23:03:14

Could do that with puppeteer but may be overkill.