If you’re still using HipChat, you probably know that support is ending this week, February 15th.
Maybe you’ve made the switch, or are still waiting it out till the last day. Either way, all of your users probably want their custom emoticons.
I’ve had mixed luck using some of the solutions on GitHub and other “solutions” that show up in my Google searches. So here’s a simple and non-technical way you can bring your emoticons over.
I’m about to teach you how to take Rubber Duck Debugging to the next level. But before I can do that, let’s review classic Rubber Duck Debugging.
The wiki entry describes this technique as follows.
In software engineering, rubber duck debugging or rubber ducking is a method of debugging code. The name is a reference to a story in the book The Pragmatic Programmer in which a programmer would carry around a rubber duck and debug their code by forcing themselves to explain it, line-by-line, to the duck. Many other terms exist for this technique, often involving different inanimate objects.
It may sound trivial, but there is value in talking out your problems. …
Today I passed the multiple choice portion of the Salesforce Platform Developer II Certification! This is especially exciting because I already completed the Superbadge prerequisites.
This was a difficult exam compared to Platform Developer I. I learned about many new limitations, edge cases, unique behaviors, and unexpected capabilities of Salesforce.
I won’t bore you with the details, but I know there will be quite a few readers out there looking for tips on the exam. …
Salesforce debug logs can be both a great tool, and a giant headache at the same time. On one hand, you can learn quite a bit about how the org is behaving during run time. On the other hand, you can’t
*** Skipped 1399744 bytes of detailed log
which is kind of a problem, but eventually we found some workarounds by
*********** MAXIMUM DEBUG LOG SIZE REACHED ***********
… ugh, RUDE! 😒
So what do you do when your debug session reaches 2MB faster than the Tesla Model S hits maximum torque? There are only a few options:
Resource limits are one of the most common errors Salesforce developers come across. That’s the multi-tenant life, and we take the pros with the cons. I’m sure you’ve seen this one.
Too many query rows : 50001.
Of course, there are dozens of help articles and forum posts that prescribe solutions. Use WHERE and LIMIT conditions to reduce the scope of records to retrieve. Consider chunking the work using batchable jobs.
But what if you must operate on all the records for a given object? Do you need circular dependency checking, and thus need the entire data set in memory?
Then, you’re in luck! Start by creating a Queueable Apex class, and placing the large query in the Execute method. …
By default the unit tests on the Salesforce platform will execute in serial. This can be very slow… and nobody likes a slow feedback loop. You need to run tests during development, testing, change sets, and package uploads.
The Apex Test Execution UI actually provides an option to run all tests in parallel mode. But this has some drawbacks.
The biggest drawback is that parallel tests can lead to UNABLE_TO_LOCK_ROW errors (resource competition). Then you must re-run the failures in serial to see them pass.
A second drawback is that this setting does not affect change set deployment or package upload. This is a major bottleneck when trying to publish a large package or project with many unit tests. For a non-trivial ISV package, a 1–3h version upload time is normal (even if only 1 line changed between versions). …
Anyone who’s done an interactive Salesforce Trailhead module knows that the validation can be… vague. A few weeks ago, I discovered the validation is executing anonymous as your user. Not only will these show up in the debug logs of your org, but you can see the code that ran (and thus run it yourself).
You can also discover how extra data or something else in your org is messing with the expected validations. Interesting!
Have you ever wrote a reply, revised it, tried to shorten it, and then hit send? Did you re-read it later to realize your sentences didn’t make sense anymore? Then HemingwayApp is for you.
HemmingwayApp prevents your sentences from becoming wordy, vague, or hard to read. If you have the extra minute or two to spare, that is.
In the moment of responding to an email or instant message, we forget that our words are for consumption. Reflecting on your language and word choice forces you into a design iteration.
Don’t just talk. Design your writing to be read.
Today I finished the final Superbadge prerequisite (Advanced Apex Specialist)! In total, there are 4 Superbadges required to certify as a Salesforce Platform Dev II.
This graphic is a little deceiving, because it’s missing the pre-prerequisites. That’s right! Each Superbadge first requires the 3–4 regular badges to unlock ;).
Holding the Platform Dev I certification is also an implied prerequisite. I completed Platform App Builder and Platform Dev I certifications at the end of 2017.
I’ve spent over 100h in extracurricular time completing the exams, courses, and challenges. Many of the subjects were interesting. …
It’s not often you come across a platform as complex as Salesforce without a bit of a learning curve. The interface is overwhelming. The documentation is overflowing with content, challenging your Google-fu skills. Functionality can change dramatically each release, leaving community and forum posts irrelevant months later.
But over the course of the last year or two, Salesforce has invested a ton of effort into their “Trailhead” tool. Essentially it’s a free set of modules and curriculum on various platform features. Think of it like a niche Coursera, Treehouse, or Udacity.
On the Trailhead site you can find mini courses for nearly every feature of Salesforce. At the end of each module you’re asked to answer a few questions on the material. Occasionally, it’s a “hands on” portion to prove your comprehension and ability to work in a live environment. There’s a whole gamifaction element, and the experience is branded really well too! …