Journey to Salesforce CTA Starts Again Now

Last 2018 when I was an employee I started on a journey to prepare for a Salesforce CTA. At that time I went to all the prerequisite certifications and smash them one after the other. Then at the start of 2019 my focus changed and gave up on the idea of becoming Salesforce CTA. My focus shifted on growing assets for my company by a building suite of products from mobile apps, amazon merch t-shirt designs, vector illustrations, acquiring niche blogs and other projects, some still in the back log. Doing all of these while keeping a 40 hours work week as a Salesforce consultant.

Back to today 2021. I learned alot from the past few years. These assets are now working as passive incomes that supplements my income from being a Salesforce consultant. Now, I feel I can focus back on the journey to CTA again. Starting this week I will be sharing my experience on the journey to CTA. #JourneyToCTA

Missing git tool on MacOS xcrun: error: invalid active developer path

I experienced this on MacOS Big Sur but it should apply as well on earlier OS. When you try to run git clone from the terminal you might get this error.

xcrun: error: invalid active developer path 

Full error below.

Git for some reason is not preinstalled. It can be installed in variety of ways.

  • You can install the Xcode which comes with the command line tools
  • Install just the Xcode command line tools
  • Download and install the binary from https://git-scm.com/download/mac
  • Use homebrew and install git

On this tutorial, we gonna install the Xcode command line tools.

Open the terminal and run

xcode-select --install

After running you would get this prompt. Simply confirm and click Install.

Agree to the terms and the download should start.

Once downloaded go back to the terminal and run the git clone command and you should see the command execute.

If you questions or encounter any issues, please leave a comment below.

Looking Back at 2020

Happy New Year! Hope everyone is safe. This is my yearly recap as I look back on stuffs I have set out to do for 2020 and setting out new goals for 2021.

Happy New Year 2021

2020 was a roller coaster ride. It was the pandemic year where millions of lives have changed around the world and brought about uncertainty.

On the flipside 2020 was more generous to me. Early January I picked up a book Atomic Habits by James Clear and read different perspective on settings goals and building a system to achieve those goals. My goals has always been the same year in and year out with slight increase level of challenges. So with these tips I incorporated these thoughts in what I do. Focus on the system and not the goals.

I am passionate about increasing my passive income and built goals around these and achieved several of them.

  • Got 1000 subscribers in my Youtube channel and finally able to monetised it
  • Started investing in stocks and funds in New Zealand and United States
  • Sold and bought Bitcoins
  • Bought a motorbike themed website motorcycledrivingschoolcafe.com from Flippa.com
  • Published my first ebook.
  • Started a new website PassiveIncomeTalks.com
  • Bought a house and now in the property ladder
  • Started building a motorbike maintenance app

Career wise and learning I managed to get an in-depth knowledge on Salesforce CICD and Lightning Components.

There are some goals I didn’t achieve as I didn’t have a system to follow, but added them for my 2021 goals.

And for my 2021 goals I am passionate about self-improvement and aim to improve on the following.

  • Become a better writer
  • On my previous life I used to be a graphic designer, now want to create more digital assets and sell my vector artworks.
  • I found the love drawing again and want to increase my drawing skills.
  • With this renewed designs skills I should be able to level up Amazon Merch to Tier 500 this year.
  • Learn video editing and animation.

For technology and development

  • Finish my motorbike maintenance app
  • Build my networth App and turn it to a SAAS product.
  • Get couple of certifications – Javascript/Azure and Amazon AWS.
  • Salesforce MVP is still in the block.

Hope you had a great year too and looking forward to a better and bigger 2021.

Milestone Reached! 1000 Subscribers in my Youtube Channel

Finally, thanks to viewers and subscribers to my channel. Just Another Dang How To Channel – a channel where I share how-to tech videos. A small milestone for me but super happy. It’s been a roller coaster ride reaching this milestone.

June 8, 2020

I started the channel way back Feb 2017 when Youtube didn’t have a strict Partner Program policy, you can upload videos and immediately earn from your videos. Then a few months after that, the policy changed to have at least 100,000 channel views for channel to be able to be monetized, I didnt meet the criteria and my channel got demonetized, I persevered, I kept sharing videos and eventually met the requirement.

But on Feb 2018 Youtube again changed policy which wiped out all small channels, new requirements were to have at least 1000 subscribers, and 4000 hours channel watch time for 365 days. I was gutted and lost interest. I abandoned the channel for several months but my watch time kept growing. Last year April 2019, I decided to revive it as my channel met the 4000 hours criteria. I had about 600 subs at that time. 1 year and 2 months later I finally reached 1000 subscribers.

My takeaway is to don’t give up and keep on persevering. Rome wasn’t built in a day. As of this writing, I am already now at 1004 subscribers and waiting for approval. Next goal up, get 2500 subscribers.

If you haven’t yet, please subscribe to my Youtube channel.

My 2019 recap and plans for 2020

Time flies when you are having fun. 2019 was indeed full of fun and I felt like I was leaving the dream. To add to that some of the goals I aimed to do I was able to accomplish and picked up some more goals along the way.

Some personal highlights in family, wellness, and finances,

  • returning from a remarkable California trip in January. I never thought I could bring my family to the US but eventually did it.
  • still trying to be a better version of myself by investing in health. Did my first Spartan race and enrolled in Calisthenics class to further improve my skills
  • learned to ride a motorcycle and purchasing my dream bike Honda Rebel CMX500
  • taught the wife how to snowboard and headed to Queenstown
  • paid off in full our car mortgage and made a substantial deposit to the house mortgage back in the Philippines
  • added more on stocks and bonds

As for the goals I have achieved for 2019

2020 Goals I would like to do more and start this year

  • share more of the knowledge I am learning by doing more videos, blog post, answering on forums
  • still, try to go get that MVP status
  • build more passive incomes and start courses in Udemy
  • resurrect my T-shirt business
  • build one of my SAAS product ideas
  • moonlight as a bug bounty hunter
  • get Mulesoft Architecture certified
  • more muscle ups and handstands

How to Create a Generic Class for Mocking REST Callouts for Unit Test

I’m starting a new habit of posting regularly on my blog every week. I’ll be kicking it off with tips for creating a generic class or a mocking factory for mocking calls to an external third-party service.

Why do we need to do a mock?

When running unit tests the platform does not allow to do a callout to external dependencies. To test our code base we would need to mock the response as if calling the third party dependency.

By mocking we focus on the code being tested, isolating it from the state and behavior of the external system. The dependencies are simulated and the output state can be controlled.

To start we create a class that implements the HttpCalloutMock. This class enables sending a fake response when doing HTTP callouts. When our code makes a callout, the response will come from our HttpCalloutMock class.

When creating the class we define the constructor and parameters. We can make it generic and serve as a mock factory. Instead of writing several mock classes for every type of response, we only write it once which promotes code reusability best practices. And during unit testing, we define the mock response on the fly.

Here is our sample class which implements the HttpCalloutMock.

And if we have a class that does an HTTP Callout and we want to write a unit test for it. This is how it going to look like.

This is how we would create a unit test.

Key Takeaways

  • Use named credentials when possible when doing HTTP Callouts. Will talk about this more in the future.
  • When writing the unit test, the key is to call Test.setMock() which makes sure any callout from your code will return the Mock object.
  • Define the mock response on the fly to test different response.

Hope you find this useful. Stay tuned for more coding content and tips. If interested in the source code it is available in GitHub.

My 2018 recap and 2019 plans

My first post of the year and what better way to kick off but by having a fresh new theme layout. I have lots of stuffs plan for the my blog this year so stay tune.

Anyway my 2018 was probably the busiest I have been as I reached new goals in terms of career and knowledge. I managed to knocked down Salesforce and integration certification one after another like dominoes. I’m now eligible to take the Salesforce Certified Technical Architect exam board.

These are the certifications I achieved for 2018.

  • Salesforce Certified Sharing and Visibility Designer
  • Salesforce Certified Application Architect
  • Salesforce Certified Data Architecture & Management Designer
  • Salesforce Certified Identity and Access Management Designer
  • Salesforce Certified System Architect
  • Salesforce Certified Development Lifecycle & Deployment Designer
  • Salesforce Certified Integration Architecture Designer
  • Salesforce Certified Platform Developer II
  • Salesforce Certified Field Service Lightning Consultant
  • Certified Mule 4 Developer
  • Certified Boomi Developer

But there is one hurdle, my weakness, my kryptonite.. my presentation skills lacks evoking confidence. (feedback from one of the senior manager). I need to up my game on my communication skills and be more engaged.

For 2019 I’m approaching stuffs a little differently. First off I need to fix my damn finances as I really let go on 2018. I barely invested, didn’t build assets and got myself into some debt( not huge) but I do not normally get into debts.

My mentality and approach this year is to build assets as well as upping my communication skills.

  • I’ll be starting a free series of Youtube tutorials for Salesforce Architecture, Mulesoft and web development – this should increase my subscribers and get me back on the Youtube Partner Program
  • I’ll start a paid course in Salesforce and Mulesoft
  • Not too serious approach on my merch that I sell in Amazon
  • Scratch my itch and build some mobile app
  • Build a Saas – brain dump my knowledge on CICD, etc.
  • Colloborate more and try to get Salesforce MVP status (how this is an asset I don’t know yet)

So basically anything that I do should lead to building an asset. It could be passive income projects, part time work to buy assets like real estate, stocks and crypto.

Tips and Takeaways From Getting the Apex Specialist Superbadge

I’ve started the new certification path for the Platform Developer II as I already passed the multiple choice question a long time ago but it was ridiculously hard getting a slot on the programming assignment. With this new format, I would need to complete these four superbadges.

So, 1 out 4 completed. I got the Apex Specialist Superbadge nailed.

For the Apex Specialist superbadge. There are a total of 6 mini challenges you need to complete. Requirements are straightforward. If you been developing on the platform for some time, the challenge should be a breeze. It took me 6 hours though to coymplete the challenge.

Takeaways from the challenge

  1. There are many options for building the solution. Just stick with where you are most familiar with.
  2. Use maps for more efficient querying and to bulkify your triggers
  3. I thought I already know all my JSON stuffs until I tried to manually parse a JSON string. Get familiar with using the JSON class methods. Check my post on Demystifiyng JSON parsing in Apex.
  4. Given another chance since the requirements are not that complicated this would’ve been a good practice to have tried test-driven development.

If you need help completing the challenge hit the comments below and I’ll be glad to help. Good luck on getting that superbadge.

Get Creative. Ignore Everbody

Just finished reading this great book by Hugh MacLeod. One of the books recommended by the author of Steal like an Artist. It’s fun and easy to read book. I particularly like the splash of comic strips to each chapter. This book is full of tips to inspire you to get creative, do the stuffs you love doing and not getting bogged down with the money aspects. It is more on finding what makes you tick to be creative and owning that work. Eventually something good would happen.

Check out the blog at https://www.gapingvoid.com/blog/

Get a copy of the book here

2017 Went By and Welcoming 2018

2017 went by so quickly and 2018 already started. Recapping the highlights of 2017 I can say I’ve achieved 3 out of the 5 goals I set earlier this year.

  • I’ve managed to finally revamp the design of this blog and made it mobile friendly, it is not 100% where I want it yet.
  • Started my own channel on Youtube. Just Another Dang How To Channel and gained around 170+ subscribers and 48K views in the first year.
  • Passive income added with some investments in term deposit and bought more Philippine stocks

Then I set out some very ambitious projects that I started but lost steam

  • Registered Quonsepto Limited company
  • Started to create a WP plugin
  • Signed up for Merch by Amazon

For 2018 I won’t put too much attention on the money aspect of doing something. I want to do some damn fine work, something that I enjoy doing and I feel proud of showing it to others.

  • Improve my listing for Merch By Amazon
  • Improve the video quality on my Youtube channel
  • Enhance the usability and creativity of this blog
  • Build my Quonsepto company

For the financial side of things, this is kinda ambitious and far fetch but would like it to be a reality.

  • Pay off the Philippine house loan by the end of 2018
  • Save enough for a downpayment for new house in NZ for 2019.