-
Dec 4, 2024
Technical Debt is a Project Killer
-
Dec 3, 2024
How I Blog
-
Dec 2, 2024
Get comfy in the Ubuntu terminal
-
Nov 9, 2024
Dragon Astronauts Store Launch! 🚀🐉
-
Oct 18, 2024
Why you should use Docker in development.
-
Sep 30, 2024
Why we unit test.
-
Sep 29, 2024
What is a Ruby block?
-
Sep 28, 2024
Notes on the Rails 8 Keynote
-
Sep 27, 2024
Ruby blocks, procs, lambdas and closures
-
Sep 14, 2024
Better, faster code with test driven development
-
May 20, 2024
ChatGPT is still making lots of mistakes.
-
Apr 3, 2024
The Power of Play for better Team Meetings
-
Apr 3, 2024
Software Estimates and Safety Margins
-
Mar 7, 2024
Should I fix the terrible app I inherited?
-
Dec 19, 2023
Should I use a Struct or an OpenStruct (Ruby)?
All Blog Posts
/*This function will load script and call the callback once the script has loaded*/
function loadScriptAsync(scriptSrc, callback) {
if (typeof callback !== 'function') {
throw new Error('Not a valid callback for async script load');
}
var script = document.createElement('script');
script.onload = callback;
script.src = scriptSrc;
document.head.appendChild(script);
}
/* This is the part where you call the above defined function and "calls back" your code which gets executed after the script has loaded */
loadScriptAsync('https://www.googletagmanager.com/gtag/js?id=G-270567787', function () {
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'G-270567787', { 'anonymize_ip': true });
})