Richard Corfield (@RichardSoftware) profile picture

Software Engineer / Technical Architect working in the UK. on and around the Salesforce platform. Degree and interest in control and information engineering

Yorkshire, UK
Joined March 2023
Photo by Richard Corfield (@RichardSoftware)Photo by Richard Corfield (@RichardSoftware)Photo by Richard Corfield (@RichardSoftware)Photo by Richard Corfield (@RichardSoftware)Photo by Richard Corfield (@RichardSoftware)Photo by Richard Corfield (@RichardSoftware)Photo by Richard Corfield (@RichardSoftware)Photo by Richard Corfield (@RichardSoftware)Photo by Richard Corfield (@RichardSoftware)Photo by Richard Corfield (@RichardSoftware)
A question for anyone using queryWithBinds() on Salesforce. Database.query() has to be used in cursor mode if a subquery has more than 200 records, otherwise you are left with a dangling cursor exception reading the subquery after statement completion. ...
1
1
36
Database.queryWithBinds() does not support cursor mode. Can this handle subqueries larger than 200?
1
2
15
Unit test passed with a single depth subquery with 500 records.
1
9
Today I did 50 climbs to raise money for Yorkshire Cancer Research and Diabetes UK. Total climb between 500m and 750m (as big as one of our local mountains). Time about 6 hours. justgiving.com/team/richard-…
27
Ouch! I'm writing demos to present on locking in Salesforce and thought I'd use a "publish immediately" platform event for locking. Firing platform events breaks locks!!!! Here the demo with logging inline, and again with logging delayed until end of execution.
2
1
7
524
I may need to include timestamps in my logs and have the client reconstruct the message order.
1
63
The client is reconstructing event order from timestamps.
56
I'll be doing an internal seminar on Salesforce concurrency. I have a pattern I call "Blind Write" after the "Blind" function on stage lighting desks. It allows the operator to set specific values without seeing the object (call it LightingState__c). But can I use that term here?
1
44
I've written up my AI hackathon results for work, but have drawn heavily on the AI module in my engineering degree. So there's lots of Bayesian in there and talk of possibilities for neural nets for vector classification and digital signal processing for data cleaning.
1
55
A large part of the AI module I did was looking at computer vision. That didn't come into this hackathon as we were not looking at vision problems. It's a field that's really changed since I studied it. Back then we were trying to logically analyse edges and vertices.
1
23
One thing from the hackathon is that, for my solution anyway, human understanding of the domain is really important. Maybe that remains true? Or maybe I'm under-estimating what modern AI can do?
23
Salesforce Change Data Capture can produce GAP and OVERFLOW events after which the recipient needs to re-pull data. I wonder if it would be possible to make a Decorator which produced a stream without GAP events for a consumer. How much state would that Decorator need?
1
1
87
Possibly easy enough with little stored state if the decorator sends a completely populated update event when it is forced to re-pull the record. OVERFLOW events may take thought. Do I need to know what IDs I've already seen? The 1s granularity of SystemModStamp seems an issue?
1
32
Looking at this stuff because I remember finding it relatively easy when I studied it at university in the 90s, so I want to put Salesforce Einstein through its paces by giving it models I can predict the answers to. byclb.com/TR/Tutorials/neura…
1
1
87
Now that's quite neat. I don't know whether it's used a decision boundary or some other means, but it does show things like false positive and false negative and allows me to adjust cost ratios.
1
1
31
This is how I'm creating data. Quite simple. I could get nasty in a future iteration and add covariance or apply a transformation matrix to the results.
1
28
I'm exploring Salesforce Einstein Discovery using data I understand (shortwave radio propagation using WSPR data). I know that the data varies by frequency and time of day. Getting Einstein to find this is taking some coercion.
1
1
59
I'll revisit next time I find a gap. My original data did not contain hour because Einstein can't extract an hour from a timestamp. My most interesting variable was not part of the model. It also considered outputs like "signal to noise ratio" as inputs. Transform is needed.
1
28
So what would I do if trying to model it? * Multiple days/months worth of data * Combine Latitude and Time of Year into Season * Combine Longitude and Time of Day into Solar Time * Consider averaging over multiple callsigns Season and Solar Time can differ for RX and TX ends.
19