Recent posts

2022-10-19 09:27:17-05:00

Thoughts on how to deal with Salesforce flow failures from a discussion with a client:

For reliability and maintainability, my recommendations in order of preference would be:

  1. document how the flows work, and rewrite as apex triggers with thorough test coverage
  2. document how the flows work, and start building tests for the record-triggered flows (GA as of Winter '23)
  3. build the batch apex job to close Opportunities and continue troubleshooting flow issues as they occur

My general opinion is that once flows pass a threshold of complexity (say, no longer fit on a single screen), they become difficult to maintain. Building software with no-code tools like Flows is too different from building software in a programming language, and one should follow similar practices for building reliable, maintainable software such as using decomposition to make the software easy to understand, performing peer review, and writing automated tests. Salesforce doesn't make it easy to do these things with flows, but it's getting better (with tests for record-triggered flows, for example).

2022-01-18 07:12:40-06:00

My kids are loving Catholic school, and decided that they want to be baptised.

So I went to church last weekend to meet the priest. This is the story of Jesus's first miracle:

Jesus was at a wedding reception and the party was going to wind down because they ran out of wine. Jesus turned the water into wine to keep the party going, and the guests said, "usually hosts serve the cheap stuff after everyone has been drinking for a while, but you saved the good stuff for last." And so the wedding reception was a success.

2021-11-04 19:21:06-05:00

Getting this hyde microblog back up and running for Chicken 5 took a bit of work.


From 952897ceed5e6a4edb37586d10df6ecf211ad926 Mon Sep 17 00:00:00 2001
From: "Christian G. Warden" <cwarden@xerus.org>
Date: Thu, 4 Nov 2021 18:18:49 -0500
Subject: [PATCH 1/3] Update Module Imports for Chicken 5

---
 hyde.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git hyde.scm hyde.scm
index a8defea..ab5a3aa 100644
--- hyde.scm
+++ hyde.scm
@@ -1,5 +1,6 @@
-(use hyde regex posix srfi-1)
-(use lowdown)
+(import hyde regex srfi-1)
+(import chicken.process-context chicken.sort chicken.string)
+(import lowdown)
 (translators (cons (list "md" markdown->html) (translators)))

 (define root-path (make-parameter (string-append (current-directory) "/" (output-dir) "/")))
--
2.25.1
2021-11-04 18:27:48-05:00

Been working with Souffle datalog a lot lately. Built a declarative territory assignment application that is much cleaner than the imperative solution it replaces.

2016-03-17 17:35:20-07:00

Updated a deployment tool I wrote in php in 2007 to work with Github-hosted repos. GitHub's support for accessing repos through svn was a big help.

Only significant changes were detecting the repo from a working copy rather than using a hard-coded one and updating the capistrano capfile to take the repo from the command-line.

Submitted another 18F pull-request, updating the Open Opportunities application to use db-migrate to handle database migration scripts.

2016-02-28 14:42:14-08:00

Had to learn some ruby in order to development a command-line tool for an 18F micro-purchase. The biggest problem I ran into was writing the tests due to an apparent bug in webmock.

I also had to learn a bit about django in order to make a small change to the tock API.

2016-02-26 16:45:21-08:00

Started learning a little ruby to complete an 18F micro-purchase task.

Been going down the rabbit hole of data science. Currently reading up on linear programming and operations research.

2016-02-11 16:45:06-08:00

Worked on setting up Circle CI to run tests against multiple Salesforce orgs by making use of their CIRCLE_NODE_INDEX environment variable, and enabling automatic deployment.

2016-02-03 16:45:09-08:00

Opened first pull request in client's new github org, a step toward retiring the svn server I set up about eight years ago.

Added support for refreshing session tokens to the force cli, and removing the depenency on an external Heroku app.

2016-02-01 16:45:37-08:00

Working on improving FlameGraph preformance when putting long text strings into small <text> svg elements, which occurs when hovering over a function or zooming in.

Started working on a Salesforce feature to allow soft deleting of records by automatically undeleting deleted records, and marking them as soft deleted.

Older articles
Trying to learn something new every day