<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ryan Garaygay on Code, Creativity, and Community</title>
	<atom:link href="http://ryangaraygay.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://ryangaraygay.com</link>
	<description>a better world one smile, beat, code at a time</description>
	<lastBuildDate>Fri, 08 Aug 2025 23:55:14 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.2</generator>

<image>
	<url>https://ryangaraygay.com/wp-content/uploads/2024/04/cropped-ryanb-2-32x32.jpg</url>
	<title>Ryan Garaygay on Code, Creativity, and Community</title>
	<link>https://ryangaraygay.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>2025 CyberSecurity Trends and Strategy Guide for CIOs</title>
		<link>https://ryangaraygay.com/2025-cybersecurity-trends-and-strategy-guide-for-cios/</link>
					<comments>https://ryangaraygay.com/2025-cybersecurity-trends-and-strategy-guide-for-cios/#respond</comments>
		
		<dc:creator><![CDATA[Ryan Garaygay]]></dc:creator>
		<pubDate>Fri, 08 Aug 2025 23:53:17 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cybersecurity]]></category>
		<category><![CDATA[strategy]]></category>
		<category><![CDATA[trends]]></category>
		<guid isPermaLink="false">https://ryangaraygay.com/?p=53235476</guid>

					<description><![CDATA[2025 Cybersecurity Trends: A CIO&#8217;s Strategic Guide 2025 Cybersecurity Trends A Strategic Guide for CIOs The Evolving Threat Landscape The nature of cyber attacks is fundamentally changing. Adversaries are now armed with sophisticated AI, and the traditional network perimeter has all but vanished, creating an unprecedentedly complex and dynamic risk environment. Proliferation of AI-Driven Attacks [&#8230;]]]></description>
										<content:encoded><![CDATA[
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>2025 Cybersecurity Trends: A CIO&#8217;s Strategic Guide</title>
    <script src="https://cdn.tailwindcss.com"></script>
    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&#038;display=swap" rel="stylesheet">
    <style>
        body {
            font-family: 'Inter', sans-serif;
            background-color: #F5F9FF;
        }
        .chart-container {
            position: relative;
            width: 100%;
            max-width: 600px;
            margin-left: auto;
            margin-right: auto;
            height: 320px;
            max-height: 400px;
        }
        @media (min-width: 768px) {
            .chart-container {
                height: 350px;
            }
        }
        .material-card {
            background-color: white;
            border-radius: 0.75rem;
            box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
            padding: 1.5rem;
            transition: all 0.3s ease-in-out;
        }
        .material-card:hover {
            box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
            transform: translateY(-4px);
        }
        .icon-bg {
            background-color: #EBF5FF;
            color: #0079D8;
        }
    </style>
</head>
<body class="text-gray-800">

    <div class="container mx-auto p-4 md:p-8">

        <header class="text-center mb-12">
            <h1 class="text-4xl md:text-5xl font-bold text-[#00449E] mb-2">2025 Cybersecurity Trends</h1>
            <p class="text-lg md:text-xl text-[#0079D8]">A Strategic Guide for CIOs</p>
        </header>

        <main class="space-y-12">

            <section id="threat-landscape">
                <div class="text-center mb-8">
                    <h2 class="text-3xl font-bold text-[#00449E]">The Evolving Threat Landscape</h2>
                    <p class="mt-2 text-gray-600 max-w-3xl mx-auto">The nature of cyber attacks is fundamentally changing. Adversaries are now armed with sophisticated AI, and the traditional network perimeter has all but vanished, creating an unprecedentedly complex and dynamic risk environment.</p>
                </div>
                <div class="grid grid-cols-1 md:grid-cols-2 gap-8 items-center">
                    <div class="material-card">
                        <h3 class="text-xl font-semibold text-[#00449E] mb-4 text-center">Proliferation of AI-Driven Attacks</h3>
                        <p class="text-gray-600 mb-4 text-sm">Adversaries are leveraging generative AI to create highly convincing deepfakes and adaptive malware. This chart illustrates the projected increase in attack sophistication and volume attributed to malicious AI use.</p>
                        <div class="chart-container h-64 md:h-80">
                            <canvas id="aiAttacksChart"></canvas>
                        </div>
                    </div>
                    <div class="material-card">
                        <h3 class="text-xl font-semibold text-[#00449E] mb-4 text-center">Dissolution of the Network Perimeter</h3>
                        <p class="text-gray-600 mb-4 text-sm">The explosion of IoT, OT, and edge devices has shattered the traditional perimeter. This donut chart shows the composition of the modern, hyper-connected attack surface that must be secured.</p>
                        <div class="chart-container h-64 md:h-80">
                            <canvas id="perimeterChart"></canvas>
                        </div>
                    </div>
                </div>
            </section>
            
            <section id="future-risks">
                <div class="text-center mb-8">
                    <h2 class="text-3xl font-bold text-[#00449E]">Future-State &#038; Long-Term Risks</h2>
                    <p class="mt-2 text-gray-600 max-w-3xl mx-auto">Beyond immediate threats, CIOs must plan for long-term risks that could undermine foundational security principles. The quantum threat is no longer theoretical, and its implications begin today.</p>
                </div>
                <div class="grid grid-cols-1 lg:grid-cols-5 gap-8 items-center">
                    <div class="lg:col-span-3 material-card">
                        <h3 class="text-xl font-semibold text-[#00449E] mb-4">The &#8220;Harvest Now, Decrypt Later&#8221; Threat</h3>
                        <p class="text-gray-600 mb-6 text-sm">Adversaries are stealing encrypted data now, betting that future quantum computers will be able to break the encryption. This timeline illustrates the process that puts today&#8217;s sensitive, long-lifecycle data at risk.</p>
                        <div class="space-y-4">
                            <div class="flex items-center">
                                <div class="flex-shrink-0 icon-bg rounded-full h-12 w-12 flex items-center justify-center font-bold text-lg">1</div>
                                <div class="ml-4 p-3 bg-gray-50 rounded-lg flex-1">
                                    <p class="font-semibold text-[#00449E]">Data Exfiltration (Now)</p>
                                    <p class="text-sm text-gray-600">Encrypted enterprise data is stolen and stored.</p>
                                </div>
                            </div>
                            <div class="h-8 border-l-2 border-dashed border-[#48B2FF] ml-6"></div>
                            <div class="flex items-center">
                                <div class="flex-shrink-0 icon-bg rounded-full h-12 w-12 flex items-center justify-center font-bold text-lg">2</div>
                                <div class="ml-4 p-3 bg-gray-50 rounded-lg flex-1">
                                    <p class="font-semibold text-[#00449E]">Quantum Advancement (Future)</p>
                                    <p class="text-sm text-gray-600">A cryptographically relevant quantum computer is developed.</p>
                                </div>
                            </div>
                             <div class="h-8 border-l-2 border-dashed border-[#48B2FF] ml-6"></div>
                            <div class="flex items-center">
                                <div class="flex-shrink-0 icon-bg rounded-full h-12 w-12 flex items-center justify-center font-bold text-lg">3</div>
                                <div class="ml-4 p-3 bg-gray-50 rounded-lg flex-1">
                                    <p class="font-semibold text-[#00449E]">Retrospective Decryption (Future)</p>
                                    <p class="text-sm text-gray-600">Previously harvested data is decrypted, exposing old secrets.</p>
                                </div>
                            </div>
                        </div>
                    </div>
                     <div class="lg:col-span-2 material-card text-center">
                        <span class="text-6xl"><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/23f3.png" alt="⏳" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span>
                        <h3 class="text-2xl font-bold text-[#00449E] mt-4">PQC is Imperative</h3>
                        <p class="text-gray-600 mt-2">Planning for Post-Quantum Cryptography (PQC) must begin immediately to protect data with a long shelf-life. This is a strategic necessity, not a distant research project.</p>
                    </div>
                </div>
            </section>

            <section id="human-regulatory">
                 <div class="text-center mb-8">
                    <h2 class="text-3xl font-bold text-[#00449E]">The Human &#038; Regulatory Element</h2>
                    <p class="mt-2 text-gray-600 max-w-3xl mx-auto">Technology is only part of the equation. The human factor remains a primary vulnerability, while regulatory bodies are imposing stricter, more costly compliance mandates than ever before.</p>
                </div>
                <div class="grid grid-cols-1 md:grid-cols-2 gap-8 items-center">
                    <div class="material-card">
                        <h3 class="text-xl font-semibold text-[#00449E] mb-4 text-center">The Sophistication of Insider Risk</h3>
                        <p class="text-gray-600 mb-4 text-sm">Insider risks are no longer just about malicious intent. The lines between accidental, negligent, and malicious actions are blurring, all contributing to significant potential for data loss.</p>
                        <div class="chart-container h-64 md:h-80">
                            <canvas id="insiderRiskChart"></canvas>
                        </div>
                    </div>
                    <div class="material-card">
                        <h3 class="text-xl font-semibold text-[#00449E] mb-4 text-center">Intensified Compliance Scrutiny</h3>
                        <p class="text-gray-600 mb-4 text-sm">Global regulators are enacting stricter mandates. This chart projects the rising annual cost of non-compliance, including fines and remediation, for a typical large enterprise.</p>
                        <div class="chart-container h-64 md:h-80">
                            <canvas id="complianceChart"></canvas>
                        </div>
                    </div>
                </div>
            </section>

            <section id="recommendations">
                <div class="text-center mb-8">
                    <h2 class="text-3xl font-bold text-[#00449E]">Strategic CIO Recommendations</h2>
                    <p class="mt-2 text-gray-600 max-w-3xl mx-auto">To navigate this landscape, CIOs must champion a forward-looking, resilient, and integrated approach to cybersecurity.</p>
                </div>
                <div class="grid grid-cols-1 md:grid-cols-3 gap-8">
                    <div class="material-card text-center">
                        <div class="mx-auto icon-bg rounded-full h-16 w-16 flex items-center justify-center mb-4">
                            <span class="text-3xl"><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f6e1.png" alt="🛡" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span>
                        </div>
                        <h3 class="text-lg font-semibold text-[#00449E]">Champion Cyber Resilience</h3>
                        <p class="text-gray-600 text-sm mt-2">Shift from prevention-only to a resilience-first mindset. Assume a breach will occur and invest in rapid detection, response, and recovery to minimize impact.</p>
                    </div>
                    <div class="material-card text-center">
                        <div class="mx-auto icon-bg rounded-full h-16 w-16 flex items-center justify-center mb-4">
                            <span class="text-3xl"><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f3d7.png" alt="🏗" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span>
                        </div>
                        <h3 class="text-lg font-semibold text-[#00449E]">Future-Proof the Architecture</h3>
                        <p class="text-gray-600 text-sm mt-2">Prioritize architectural agility. Adopt frameworks like Zero Trust and begin crypto-agility planning now to adapt to future threats without a complete overhaul.</p>
                    </div>
                    <div class="material-card text-center">
                        <div class="mx-auto icon-bg rounded-full h-16 w-16 flex items-center justify-center mb-4">
                            <span class="text-3xl"><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f91d.png" alt="🤝" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span>
                        </div>
                        <h3 class="text-lg font-semibold text-[#00449E]">Integrate Security with Business</h3>
                        <p class="text-gray-600 text-sm mt-2">Break down silos between IT, security, legal, and business units. Align security investments directly with business-critical objectives to protect what matters most.</p>
                    </div>
                </div>
            </section>

        </main>

        <footer class="text-center mt-16 pt-8 border-t border-gray-200">
            <p class="text-sm text-gray-500">&copy; 2025 Strategic Cybersecurity Analysis. All Rights Reserved.</p>
        </footer>

    </div>

    <script>
        const brilliantBlues = {
            dark: '#00449E',
            medium: '#0079D8',
            light: '#48B2FF',
            veryLight: '#99D9FF',
            background: '#F5F9FF'
        };

        function wrapLabels(label, maxLength) {
            if (typeof label !== 'string' || label.length <= maxLength) {
                return label;
            }
            const words = label.split(' ');
            const lines = [];
            let currentLine = '';
            for (const word of words) {
                if ((currentLine + word).length > maxLength) {
                    lines.push(currentLine.trim());
                    currentLine = '';
                }
                currentLine += word + ' ';
            }
            lines.push(currentLine.trim());
            return lines;
        }

        const tooltipTitleCallback = (tooltipItems) => {
            const item = tooltipItems[0];
            let label = item.chart.data.labels[item.dataIndex];
            if (Array.isArray(label)) {
                return label.join(' ');
            }
            return label;
        };
        
        const defaultChartOptions = {
            responsive: true,
            maintainAspectRatio: false,
            plugins: {
                legend: {
                    position: 'bottom',
                    labels: {
                        color: '#374151',
                        font: {
                            family: "'Inter', sans-serif"
                        }
                    }
                },
                tooltip: {
                    callbacks: {
                        title: tooltipTitleCallback
                    },
                    backgroundColor: '#1F2937',
                    titleFont: { size: 14, family: "'Inter', sans-serif" },
                    bodyFont: { size: 12, family: "'Inter', sans-serif" },
                    padding: 10,
                    cornerRadius: 4
                }
            },
            scales: {
                x: {
                    ticks: { color: '#4B5563' },
                    grid: { display: false }
                },
                y: {
                    ticks: { color: '#4B5563' },
                    grid: { color: '#E5E7EB' }
                }
            }
        };

        const aiAttacksCtx = document.getElementById('aiAttacksChart').getContext('2d');
        new Chart(aiAttacksCtx, {
            type: 'bar',
            data: {
                labels: ['Traditional Attacks', 'AI-Driven Attacks (2025)'],
                datasets: [{
                    label: 'Attack Sophistication Index',
                    data: [45, 95],
                    backgroundColor: [brilliantBlues.light, brilliantBlues.dark],
                    borderColor: [brilliantBlues.light, brilliantBlues.dark],
                    borderWidth: 1
                }]
            },
            options: { ...defaultChartOptions, indexAxis: 'y' }
        });

        const perimeterCtx = document.getElementById('perimeterChart').getContext('2d');
        new Chart(perimeterCtx, {
            type: 'doughnut',
            data: {
                labels: ['IoT Devices', 'Operational Tech (OT)', 'Edge Computing', 'Traditional IT'],
                datasets: [{
                    label: 'Attack Surface Composition',
                    data: [40, 25, 20, 15],
                    backgroundColor: [brilliantBlues.dark, brilliantBlues.medium, brilliantBlues.light, brilliantBlues.veryLight],
                    borderColor: brilliantBlues.background,
                    borderWidth: 4,
                    hoverOffset: 8
                }]
            },
            options: {
                responsive: true,
                maintainAspectRatio: false,
                plugins: {
                    legend: {
                        position: 'bottom',
                        labels: { color: '#374151', font: { family: "'Inter', sans-serif" } }
                    },
                    tooltip: {
                        callbacks: { title: tooltipTitleCallback },
                        backgroundColor: '#1F2937',
                        titleFont: { size: 14, family: "'Inter', sans-serif" },
                        bodyFont: { size: 12, family: "'Inter', sans-serif" },
                        padding: 10,
                        cornerRadius: 4
                    }
                }
            }
        });

        const insiderRiskCtx = document.getElementById('insiderRiskChart').getContext('2d');
        new Chart(insiderRiskCtx, {
            type: 'bar',
            data: {
                labels: ['Contribution to Breaches'],
                datasets: [
                    {
                        label: 'Accidental (Human Error)',
                        data: [45],
                        backgroundColor: brilliantBlues.light,
                    },
                    {
                        label: 'Negligent (Policy Violation)',
                        data: [35],
                        backgroundColor: brilliantBlues.medium,
                    },
                    {
                        label: 'Malicious (Intentional)',
                        data: [20],
                        backgroundColor: brilliantBlues.dark,
                    }
                ]
            },
            options: {
                ...defaultChartOptions,
                indexAxis: 'y',
                scales: {
                    x: { stacked: true, ticks: { callback: value => value + '%' } },
                    y: { stacked: true }
                }
            }
        });

        const complianceCtx = document.getElementById('complianceChart').getContext('2d');
        new Chart(complianceCtx, {
            type: 'line',
            data: {
                labels: ['2023', '2024', '2025 (Projected)'],
                datasets: [{
                    label: 'Avg. Annual Cost of Non-Compliance (in Millions)',
                    data: [4.5, 6.8, 9.2],
                    fill: true,
                    backgroundColor: 'rgba(0, 121, 216, 0.2)',
                    borderColor: brilliantBlues.medium,
                    tension: 0.3,
                    pointBackgroundColor: brilliantBlues.dark,
                    pointRadius: 5
                }]
            },
            options: {
                ...defaultChartOptions,
                scales: {
                    y: {
                        ticks: {
                            callback: function(value) {
                                return '$' + value + 'M';
                            }
                        }
                    }
                }
            }
        });
    </script>
</body>
</html>

]]></content:encoded>
					
					<wfw:commentRss>https://ryangaraygay.com/2025-cybersecurity-trends-and-strategy-guide-for-cios/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>brake pad and rotor replacement for Toyota Camry 2014 (possibly same for similar years)</title>
		<link>https://ryangaraygay.com/brake-pad-and-rotor-replacement-for-toyota-camry-2014-possibly-same-for-similar-years/</link>
		
		<dc:creator><![CDATA[Ryan Garaygay]]></dc:creator>
		<pubDate>Tue, 02 Jul 2024 05:20:13 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://ryangaraygay.com/?p=53235472</guid>

					<description><![CDATA[While I am not a professional mechanic, knowledge, and experience from seemingly random things could inform other things we will do later, so if you can, learn and do a little more maintenance on your car. Over time, it could save you money, but in the short term, it might not if you buy (borrow [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>While I am not a professional mechanic, knowledge, and experience from seemingly random things could inform other things we will do later, so if you can, learn and do a little more maintenance on your car. Over time, it could save you money, but in the short term, it might not if you buy (borrow if you can) some basic tools. The biggest advantage is you are doing and learning something different &#8211; in your own time &#8211; by yourself.</p>



<p>Changing your motor/engine oil might be a simpler start, but this is what I have, so it is what I can share for the moment. I wrote this primarily as my guide for myself and my kids eventually, synthesizing information from multiple sources to ensure I do not miss important steps. The steps are mostly similar for the front and rear axle, but note that pads and rotors for the front and rear are different (part numbers), so make sure you have the correct parts. This is best as a video, but later.</p>



<p><em><strong>Disclaimer:</strong> The information provided in this guide on basic automotive maintenance is intended for general knowledge and educational purposes only. While every effort has been made to ensure the accuracy and completeness of the information, the instructions may not cover all possible situations or conditions.</em></p>



<p><em>By following these instructions, you acknowledge that automotive maintenance involves inherent risks and hazards, including but not limited to personal injury, property damage, and other unforeseen outcomes. Consult a professional mechanic or automotive technician for advice tailored to your vehicle and circumstances.</em></p>



<p><em>I shall not be held liable for any injury, damage, or loss that may occur due to following the instructions provided. Based on this guide, you assume full responsibility for your actions and any consequences that may arise from performing automotive maintenance. Use this information at your own risk.</em></p>



<h2 class="wp-block-heading">SAFETY REMINDERS &#8211; IMPORTANT</h2>



<ul class="wp-block-list">
<li>Ensure household members know you are working on your car/garage and set expectations.</li>



<li>Dress accordingly (closed-toe shoes, pants, and long sleeves ideal, no jewelry or loose clothing)</li>



<li>Ensure there is enough lighting and ventilation (air circulation)</li>



<li>Wear personal protective equipment &#8211; gloves, mask, goggles (even with some discomfort, they are worth your safety/life &#8211; if it&#8217;s too hot, then maybe pick another time/day)</li>



<li>When raising a car using a car jack (research more if unsure about details)
<ul class="wp-block-list">
<li>Chock the opposing wheels accordingly.</li>



<li>Use correct/recommended jack points.</li>



<li>Ensure its contact with the car jack points is centered (and doesn&#8217;t slip)</li>



<li>Use jack stands (although you will not go under the car for brake replacement, stands are safer than relying on jacks only)</li>



<li>Once raised and on stands, push the car reasonably to confirm that it does not move or slip with a little push.</li>
</ul>
</li>



<li>Read other work safety reminders applicable to any car work/garage work, including but not limited to
<ul class="wp-block-list">
<li>Have a first aid kit available nearby.</li>



<li>fire extinguisher in the garage (no fires expected on this task, but always a good idea)</li>
</ul>
</li>
</ul>



<h2 class="wp-block-heading">Replacement Instructions</h2>



<ul class="wp-block-list">
<li>prepare materials
<ul class="wp-block-list">
<li>14mm socket + ratchet</li>



<li>8mm wrench</li>



<li>Brake bleeding bottle (zip tie at hose end to tighten if needed)</li>



<li>caliper hanger (yellow ideal for visibility)</li>



<li>silicon grease, synthetic grease, anti-seize</li>



<li>C-clamp (brake pad spreader) &#8211; although possible with clamps, cheap spreader is worth saving the struggle</li>



<li>torque wrench</li>



<li>brake pad thickness gauge</li>



<li>cleaning
<ul class="wp-block-list">
<li>wire brush, drill abrasives</li>



<li>cotton swab sticks, drain pan, wipes</li>



<li>Break parts cleaner</li>
</ul>
</li>



<li>for wheel removal and raising the car
<ul class="wp-block-list">
<li>floor jack and stands</li>



<li>breaker bar, impact driver + 21mm impact socket</li>
</ul>
</li>



<li>optional
<ul class="wp-block-list">
<li>soft mallet (to loosen)</li>



<li>cobra pliers (to grab/pull)</li>



<li>dial indicator (runout measurement)</li>
</ul>
</li>
</ul>
</li>



<li>wear gloves</li>



<li>Using the breaker bar, loosen the lug nuts (break the torque) slightly before raising the wheels, but keep them on. If no breaker bar is available, you need sufficient force, throw your weight or even a mallet to loosen.</li>



<li>Raise the rear axle and fully remove the wheels.</li>



<li>Wear a mask and goggles (enclosed to minimize dust and not just projectiles)</li>



<li>Before replacing, inspect first and confirm it needs replacement.
<ul class="wp-block-list">
<li>Measure the brake pad using a thickness gauge (if you can measure it through the caliper window); otherwise, measure it after removing the caliper below.
<ul class="wp-block-list">
<li>If still within recommended specs, then no replacement is needed (driving/usage conditions differ but typically check in 6 months)</li>
</ul>
</li>



<li>Measure rotor thickness using a caliper &#8211; compare with the minimum thickness (engraved in the rotor &#8211; somewhere in between the hub/inner circle and outer circumference &#8211; you might need to brush a bit to see it buried in dust)
<ul class="wp-block-list">
<li>If still within recommended specs, it can be resurfaced later when it&#8217;s time to replace pads &#8211; rotors are relatively cheap nowadays, but it&#8217;s an option instead of disposing of &#8211; I recommend having a shop resurface rather than yourself, but research more for details.</li>
</ul>
</li>



<li>If confirmed to need replacement, then proceed below.</li>
</ul>
</li>



<li>Unscrew the caliper (14mm) and hang in the suspension coil
<ul class="wp-block-list">
<li>Gently wire brush the caliper body, but try not to get dust on the boot.</li>



<li>Clean folds of caliper piston boot gently (so buildup doesn&#8217;t go back when pushed in)</li>



<li>Ensure the boot is flat (not ballooned up); otherwise, release the bubbled air with a gentle pop and push with a small flat screwdriver.</li>



<li>Prepare drain pan, remove bleeder cover (set aside securely), attach brake bleeder and open valve (8mm)</li>



<li>Compress caliber (c-clamp + old pad or something smooth/flat, or pad spreader)</li>



<li>Close off the bleeder valve and put the back cover.</li>



<li>Apply synthetic (or sil) grease on the contact points of the caliper (boot face and other side/arm)</li>
</ul>
</li>



<li>Remove bracket completely (14mm) &#8211; use breaker bar if needed.</li>



<li>Clean bracket (in open air)
<ul class="wp-block-list">
<li>wipe down</li>



<li>Test if the pin moves freely (baseline)</li>



<li>Remove one pin at a time &#8211; take note of upper vs lower pins (do not mix up)</li>



<li>Clean out old and thinly lube with silicone grease, and put it back.</li>



<li>Ensure pins move freely.</li>



<li>Take note of pad orientation and remove pads.</li>



<li>Remove fittings and clean the area with a wire brush (rare, but file if fittings/pads are tight or hard to put on/off)</li>



<li>Put back the fittings and gently brush them. The fittings should not be loose but also need tapping or forcing to be put in.</li>



<li>Thinly lubricate the exposed side of the fittings.</li>



<li>Transfer shims from the old pad to the new pad if applicable.</li>



<li>Please put it on the pad to test that it moves freely.</li>
</ul>
</li>



<li>Release parking brake</li>



<li>Remove the rotor &#8211; do not force it (use 8 x 1.25mm bolts to push through special holes in the rotor if needed) &#8211; gently, especially at the rear, since parking brakes are there.</li>



<li>Clean hub &#8211; gently remove dirt/rust that will cause rotor runout but does not cause dents/gouges (wire brush, abrasive on the drill)</li>



<li>Clean rotor (brake cleaner and wipe down)</li>



<li>Apply anti-seize to the hub.</li>



<li>Install rotor &#8211; measure runout if you have a dial indicator</li>



<li>Install just the bracket (14mm) &#8211; torque front = 79 ft-lb, rear = 58 ft-lbs</li>



<li>Install pads on the bracket.</li>



<li>Lubricate with oil/syn grease back (outside) of pads (contacts with piston/caliper)—the inside is not accessible at this point, but ensure it does not get lubed.</li>



<li>If there are any brake pad pins (spreader), put them on (clamp the pads with your hands, then install). The pins meet in the middle. Keep holding while putting the back caliper on.</li>



<li>install caliper &#8211; torque front = 25 ft-lb, rear = 20 ft-lb</li>



<li>Remove caliper hanger</li>



<li>now fully assembled
<ul class="wp-block-list">
<li>Bleed brake fluid to ensure no air in brake lines &#8211; maybe twice</li>



<li>Pump the brake pedal until it engages.</li>
</ul>
</li>



<li>reinstall the wheel (torque = 76 ft-lbs)</li>



<li>Repeat for other brakes/tires.</li>



<li>Review and top off brake fluid if needed.</li>



<li>very careful brake test drive &#8211; regular brake and parking brake (on incline)</li>
</ul>



<h3 class="wp-block-heading">parking brake rear (behind rotor)</h3>



<ul class="wp-block-list">
<li>if needed to remove the rotor, orient the rubber plug at the bottom, then slowly pull while twisting left</li>



<li>clean parking brake with brake cleaner if needed</li>



<li>ensure the plug hole aligns with the rotor plug hole later</li>
</ul>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Balancing AI Productivity with Human Investment: Navigating the Distribution of Technological Gains</title>
		<link>https://ryangaraygay.com/balancing-ai-productivity-with-human-investment-navigating-the-distribution-of-technological-gains/</link>
		
		<dc:creator><![CDATA[Ryan Garaygay]]></dc:creator>
		<pubDate>Wed, 24 Apr 2024 16:08:39 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[ai]]></category>
		<category><![CDATA[people]]></category>
		<category><![CDATA[productivity]]></category>
		<guid isPermaLink="false">https://ryangaraygay.com/?p=53235455</guid>

					<description><![CDATA[AI&#8217;s remarkable capacity to automate repetitive tasks, process vast amounts of data, and generate insights from its learnings holds immense potential to revolutionize productivity. This potential, however, extends beyond mere efficiency gains, with the ability to reshape societal structures and norms. This broader perspective is crucial to our understanding of AI&#8217;s impact. But let&#8217;s pause and consider, [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><a href="https://ryangaraygay.com/wp-content/uploads/2024/04/dual-impact-of-ai-on-society.webp"><img fetchpriority="high" decoding="async" width="1024" height="585" src="https://ryangaraygay.com/wp-content/uploads/2024/04/dual-impact-of-ai-on-society-1024x585.webp" alt="" class="wp-image-53235457" srcset="https://ryangaraygay.com/wp-content/uploads/2024/04/dual-impact-of-ai-on-society-1024x585.webp 1024w, https://ryangaraygay.com/wp-content/uploads/2024/04/dual-impact-of-ai-on-society-300x171.webp 300w, https://ryangaraygay.com/wp-content/uploads/2024/04/dual-impact-of-ai-on-society-768x439.webp 768w, https://ryangaraygay.com/wp-content/uploads/2024/04/dual-impact-of-ai-on-society-1536x878.webp 1536w, https://ryangaraygay.com/wp-content/uploads/2024/04/dual-impact-of-ai-on-society.webp 1792w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>AI&#8217;s remarkable capacity to automate repetitive tasks, process vast amounts of data, and generate insights from its learnings holds immense potential to revolutionize productivity. This potential, however, extends beyond mere efficiency gains, with the ability to reshape societal structures and norms. This broader perspective is crucial to our understanding of AI&#8217;s impact.</p>



<p>But let&#8217;s pause and consider, <strong>where&nbsp;exactly would these productivity gains be directed</strong>?</p>



<ul class="wp-block-list">
<li>To individual well-being and time back to the family, community?</li>



<li>To stakeholders, investors, and executives who expect more employee output?</li>



<li>Somewhere in between, leaning where and by how much?</li>
</ul>



<p>I live for efficiency, innovation, and investments. My brain has always gravitated towards them &#8211; that is why I am an engineer; I use AI and learn about AI as much as I can. I support crowdfunding raises; those who know me know I can talk about investing for days. If used effectively, finance (technically economics) and technology create value. We should aim for productivity and value if we are to advance. But equally or even more important than whether we create value is who benefits from that value.</p>



<p>I am not concerned with AI. Like any tool, its use magnifies the intent and effectiveness of its user. Responsible AI investments, such as those focused on transparency and fairness, are crucial to ensure that AI benefits many&nbsp;without causing harm or exacerbating existing societal issues. What I am concerned about is people, especially at a time when mental health and dividedness are a threat. Even if AI is responsible, where the productivity gains will go still lies with humans and our ability to be fair and just.</p>



<p><strong>While companies are pouring billions of dollars into AI, who is investing billions of dollars in people? While AI models are constantly being trained, are we being taught enough to be critical, fair, and just?</strong></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Encourage professional connections outside of your current team.</title>
		<link>https://ryangaraygay.com/the-importance-of-encouraging-professional-connections-outside-of-work/</link>
		
		<dc:creator><![CDATA[Ryan Garaygay]]></dc:creator>
		<pubDate>Mon, 15 Apr 2024 18:06:48 +0000</pubDate>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Engineering Leadership]]></category>
		<guid isPermaLink="false">https://ryangaraygay.com/?p=53235437</guid>

					<description><![CDATA[estimated reading time &#60; 2 mins One of my more controversial views regarding relationships (excluding marriage) is that someone should ideally stick with you not because you forbade them from looking but because they&#8217;ve looked and decided you were their best option. Alignment and details matter, as with many things, but this view can and [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><em>estimated reading time &lt; 2 mins</em></p>



<figure class="wp-block-image size-medium is-resized is-style-default"><a href="https://ryangaraygay.com/wp-content/uploads/2024/04/connecting-with-others.webp"><img decoding="async" width="300" height="300" src="https://ryangaraygay.com/wp-content/uploads/2024/04/connecting-with-others-300x300.webp" alt="" class="wp-image-53235442" style="width:422px;height:auto" srcset="https://ryangaraygay.com/wp-content/uploads/2024/04/connecting-with-others-300x300.webp 300w, https://ryangaraygay.com/wp-content/uploads/2024/04/connecting-with-others-150x150.webp 150w, https://ryangaraygay.com/wp-content/uploads/2024/04/connecting-with-others-768x768.webp 768w, https://ryangaraygay.com/wp-content/uploads/2024/04/connecting-with-others.webp 1024w" sizes="(max-width: 300px) 100vw, 300px" /></a></figure>



<p>One of my more controversial views regarding relationships (excluding marriage) is that <strong>someone should ideally stick with you not because you forbade them from looking but because they&#8217;ve looked and decided you were their best option</strong>. Alignment and details matter, as with many things, but this view can and probably should be true for employer-employee relationships. We will get back to this in a second.</p>



<p>I am ashamed but I definitely wish I could have done better <strong>keeping in touch with previous coworkers</strong> I valued working with. Although it may come naturally for some, it didn&#8217;t for me. With work demands, we pay good attention to our family responsibilities (rightfully so) but maybe not so much to previous coworker connections. Perhaps I missed it or needed to pay more attention, but we rarely get reminded of or encouraged to do it. Fortunately, seeing <a href="https://www.linkedin.com/in/mandel/">John Mandel</a> (someone I look up to) do it more regularly and well inspired me to do better. I encourage you to do it, too, even if it&#8217;s been too long and awkward. It makes it worse if you do this while in between jobs, and you&#8217;re concerned others would judge you that you do it only to gain favor even if that&#8217;s not your intention. Regardless, do it anyway, and many will be glad you did. It&#8217;s been one of the most rewarding things I have done lately. It is and will always be a work in progress but we&#8217;ll get better.</p>



<p>With that said, what I really wanted to share here is <strong>we can also make a nudge here as managers and leaders; while we create a culture of support and psychological safety within our organization, we should also encourage our team members to stay connected with their network outside the team</strong>. These connections bring fresh perspectives, new ideas, and potential collaborations, which can greatly benefit our organization. Encouraging employees to maintain healthy relationships with their families, keep in touch with their networks, and create new connections can enhance their personal and professional growth. Remember to model this behavior and advocate for it but not enforce it.</p>



<p>Moderation is key. Too much passive consumption of social media, including LinkedIn, is harmful. But no one should have to hide, make their calendars private, or call in sick days to maintain connections. Trusting in our team&#8217;s ability to balance their responsibilities to your company yet keep professional connections (even with your competitors) shows maturity. I do hope the next organization I become part of supports this or at the very least wouldn&#8217;t mind.</p>



<p>Fostering these connections may seem like kryptonite for companies purely in it for profit. Even for those who genuinely care about their employees, many may still see this as risky. However, healthy relationships are built on trust and not fear, and this should not be any different.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Describe, Design, Decide, Develop &#8211; A framework for building things</title>
		<link>https://ryangaraygay.com/describe-design-decide-develop-a-framework-for-building-things/</link>
		
		<dc:creator><![CDATA[Ryan Garaygay]]></dc:creator>
		<pubDate>Mon, 19 Feb 2024 19:29:22 +0000</pubDate>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Engineering Leadership]]></category>
		<category><![CDATA[Startup]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[create]]></category>
		<category><![CDATA[framework]]></category>
		<guid isPermaLink="false">https://ryangaraygay.com/?p=53235406</guid>

					<description><![CDATA[I was asked recently if I have any general advice on how to maximize product development success, and for such a big question, where do you start? There are many frameworks, principles, tools, and practices in Product Development, but in my effort to synthesize, they point to these steps - describe, design, decide and deliver]]></description>
										<content:encoded><![CDATA[
<p><em>estimated reading time &lt; 5 mins</em></p>



<p>Over the years, I have had the privilege to be asked about and give insights on how to maximize product development success, and for such a big question, where do you start? There is so much to say on so many aspects, all of which are important, but I figured it would be a good idea to consolidate my thoughts on it and share broadly.</p>



<p>Given such a broad subject, I have to limit the scope and not include</p>



<ul class="wp-block-list">
<li>Business strategy (models) &#8211; good products tend to sell themselves but still requires more than just that, and although I have opinions on this matter, I will set aside for now.</li>



<li>A Career in Product Development &#8211; here, too, I have much to share and disagree on many aspects of path and education. Although what I share below could contribute project and individual success, it will not be the focus/intent.</li>



<li>Organizational structure &#8211; how to find, assemble, motivate and work with the right people to achieve the results.</li>
</ul>



<p>Rather, I want to talk about an overall framework to increase your chances of successfully building something or at least getting started. Hopefully, it will benefit others, but it will allow me to make sense of the complexity or, at the very least, a good enough answer without having writing a book about it or sharing tons of links.</p>



<p>There are many frameworks, principles, tools, and practices in Product Development, but in my effort to synthesize, they point to these steps</p>



<ul class="wp-block-list">
<li>DESCRIBE</li>



<li>DESIGN</li>



<li>DECIDE</li>



<li>DELIVER</li>
</ul>



<p>Yes, it seems a lot of the good words start with D.</p>



<p>Delivery would include validation that the intent or description/vision was achieved, if not or if improvement needs to happen then reinforce with learning/feedback then rinse and repeat.</p>



<figure class="wp-block-image size-full"><a href="https://ryangaraygay.com/wp-content/uploads/2024/02/DDDD.png"><img decoding="async" width="1008" height="208" src="https://ryangaraygay.com/wp-content/uploads/2024/02/DDDD.png" alt="" class="wp-image-53235407" srcset="https://ryangaraygay.com/wp-content/uploads/2024/02/DDDD.png 1008w, https://ryangaraygay.com/wp-content/uploads/2024/02/DDDD-300x62.png 300w, https://ryangaraygay.com/wp-content/uploads/2024/02/DDDD-768x158.png 768w" sizes="(max-width: 1008px) 100vw, 1008px" /></a></figure>



<p><strong>DESCRIBE</strong>&nbsp;&#8211; or define. In talent show terms &#8211; what&#8217;s the dream? What do you hope to accomplish? To the more informal &#8211; can you paint the big picture? To the more formal &#8211; what are your goals and objectives? Are there constraints, are those facts, and are they negotiable or not?</p>



<p><strong>DESIGN</strong>&nbsp;&#8211; how are you going to accomplish it? Sometimes, there is more than one way to accomplish, and one is the best. Sometimes, there are no known ways to achieve the thing described, just ideas. What medium, what channel, what would the flow look like to reach the destination?</p>



<p><strong>DECIDE&nbsp;</strong>&#8211; when you have many ideas and options, which ones do you choose? What if you chose wrong? How long should we think about it?</p>



<p><strong>DELIVER </strong>&#8211; make it happen. do it.</p>



<p>In coming up with this, I had three starting points</p>



<ol class="wp-block-list">
<li>In my experience and knowledge, what were the common causes of failures?</li>



<li>I have always looked up to design thinking in building things &#8211; how does that fit here?</li>



<li>In execution, I have always looked up to DevOps &#8211; how does that fit here?</li>
</ol>



<p>What are some <strong>common causes of failures</strong>, and which steps might address it?</p>



<ul class="wp-block-list">
<li>A failure of imagination = Describe and Design.</li>



<li>A failure in alignment &#8211; needing to be on the same page = Describe.</li>



<li>A failure in execution = Deliver.</li>



<li>Delays &#8211; inefficiency to Deliver.</li>



<li>Delays &#8211; untimely decisions (paralysis) = Decide.</li>



<li>Nobody wanted to use it = Design.</li>



<li>Not enough people want it = Describe (constraints)</li>
</ul>



<p>It&#8217;s alright so far; improving on those steps could avoid some of these failure traps.</p>



<p>While looking further into the &#8220;not enough people want it&#8221; item, things come to mind: the product needs to have a bigger market, may be too expensive (pricing), or may not be well-known enough (marketing). The Describe step is broad enough to require a different design (strategy/plan) for pricing, marketing, and software development. A self-similar (fractal) pattern emerges, or a subset of the steps spins off the main path. For example, although towards the same described dream, you need a product interface design, an architecture design, a security design, and a pricing design, then for each aspect of those, you will have many options and have to make the decisions and deliver them. So this Describe-&gt;Design-&gt;Decide-&gt;Deliver (from now on also referred to as DDDD) happens in the bigger picture (e.g., business) as well as in the smaller picture (e.g., daily or task level). Or Describe -&gt; spinning up 2+ Design steps in parallel the same way that Decide output could be status-quo and therefore Delivery is a no-operation. I have always thought and said that life is a series of decisions, but in more generalized terms, a series of these DDDD loops.</p>



<p>One description (dream) could require spin-offs of many aspects</p>



<figure class="wp-block-image size-full"><a href="https://ryangaraygay.com/wp-content/uploads/2024/02/D1-multipath.png"><img loading="lazy" decoding="async" width="1008" height="588" src="https://ryangaraygay.com/wp-content/uploads/2024/02/D1-multipath.png" alt="" class="wp-image-53235408" srcset="https://ryangaraygay.com/wp-content/uploads/2024/02/D1-multipath.png 1008w, https://ryangaraygay.com/wp-content/uploads/2024/02/D1-multipath-300x175.png 300w, https://ryangaraygay.com/wp-content/uploads/2024/02/D1-multipath-768x448.png 768w" sizes="auto, (max-width: 1008px) 100vw, 1008px" /></a></figure>



<p>Or in the spirit of reinforcement learning, iterate on subsequent steps</p>



<figure class="wp-block-image size-full"><a href="https://ryangaraygay.com/wp-content/uploads/2024/02/D1-Dloop.png"><img loading="lazy" decoding="async" width="890" height="442" src="https://ryangaraygay.com/wp-content/uploads/2024/02/D1-Dloop.png" alt="" class="wp-image-53235409" srcset="https://ryangaraygay.com/wp-content/uploads/2024/02/D1-Dloop.png 890w, https://ryangaraygay.com/wp-content/uploads/2024/02/D1-Dloop-300x149.png 300w, https://ryangaraygay.com/wp-content/uploads/2024/02/D1-Dloop-768x381.png 768w" sizes="auto, (max-width: 890px) 100vw, 890px" /></a></figure>



<p>So now what?</p>



<p>I want to avoid reinventing the wheel, but my goal of making sense of the concepts I have come across still stands. <strong>I will continue to test this framework until it breaks</strong> (by myself or as I get feedback from others). For example, the Double Diamond Design Thinking Framework involves &#8220;discover, define, develop, deliver&#8221; (again with the Ds). It overlaps with this a lot but does not seem to cover indecision or DevOps which I put a lot of stock on. It also has a different idea of developer+deliver. I will try to break this framework including seeing if this applies outside of software for my amateur woodwork, automotive, trading, or random house projects.</p>



<p><strong>Assuming these are key/fundamental steps for developing something, there must be frameworks to maximize the success of each step, and I will explore those frameworks.</strong></p>



<ul class="wp-block-list">
<li>Describe &#8211; I am excited to know the good frameworks for framing things. I have yet to look much into this.</li>



<li>Design &#8211; I already love Design Thinking, so that&#8217;s more than a starting point for me here.</li>



<li>Decide &#8211; I have favored decision-matrix or grid/multi-criteria analysis unknowingly over the years, but there are tons of decision-making frameworks out there; it&#8217;s more than dizzying (OODA, TDODAR, Cynefin, RAPID, etc) and no shortage of acronyms but it will be fun.</li>



<li>Deliver &#8211; DevOps (DORA) might have more than enough to explore here.</li>
</ul>



<p>Stay sharp, and keep building things! I will keep in touch.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>More Kindness and Less Indifference in 2024</title>
		<link>https://ryangaraygay.com/more-kindness-and-less-indifference-in-2024/</link>
		
		<dc:creator><![CDATA[Ryan Garaygay]]></dc:creator>
		<pubDate>Fri, 29 Dec 2023 05:08:49 +0000</pubDate>
				<category><![CDATA[Community]]></category>
		<guid isPermaLink="false">https://ryangaraygay.com/?p=53235394</guid>

					<description><![CDATA[They say there is an epidemic of loneliness nowadays. The good news is that acknowledging others and showing kindness is free and would go a long way.]]></description>
										<content:encoded><![CDATA[
<p>First, I wish you and your families well. What I am about to share is not a generalization and not even a criticism but merely an observation. Maybe a personal opinion, or at least a point of curiosity. I love where I am, most of the people around me, appreciate what we have and are proud of the values we stand for. But it&#8217;s been almost exactly three years since I have shared a post so stay with me for a bit.</p>



<p>Protests, gatherings, and activism are on the rise in the US and around the world on various issues. That&#8217;s great because<strong> </strong>civic involvement means people care about issues. Yes, some would argue we don&#8217;t do enough but I digress. For now, I wanted to talk about a different kind of indifference. Something may be smaller or closer to home but worthy to mention.</p>



<p><strong>One of the things that stood out to me while being here in the US compared to my other home country of the Philippines (PH) is how much fewer people here smile at each other</strong>. Granted, I spent much of my university days in a city known as &#8220;the City of Smiles&#8221; (Bacolod City); I can still say that it&#8217;s true in most of the country; from the larger cities to the sparse countryside. Whether it&#8217;s a rich neighborhood or a less privileged one, be it smiling to strangers, or even just the general sense of being a little vulnerable to others (sometimes in the form of out-of-tune karaoke singing); at least to me the difference is notable. In the US, when you smile in public, it sometimes feels like they look at you wrong.</p>



<p>Over time, however, I began to think that maybe it&#8217;s more than just smiles. It is in the small things such as whenever you let someone ahead first as you intersect shopping carts in the grocery store or the parking lot; many times there is not even a nod or acknowledgment. The person just moves on as if nothing happened or that they were entitled to whatever it is I didn&#8217;t have to do but did anyway. <strong>I am not looking to be rewarded for giving way or saying &#8220;Oops, my bad&#8221;; but a smile or a nod would have been nice</strong>. It&#8217;s very different from what I grew up to; where the awkwardness of a near collision shifts to a friendly apology, then a hand gesture to let the other person move past and a smile or even a thank you. Yes, train stations, airports, and roads in the Philippines are too crowded, disorderly, and feel like a war zone so it&#8217;s not great either when resources are scarce but on a random day in the grocery store or parking lot, people see each other.</p>



<p>As a person of color, I give people the benefit of the doubt of not knowing how to act around me sometimes (maybe it&#8217;s not easy given the sensitivities of today) but it&#8217;s probably not that because I&#8217;ve seen it happen to others that&#8217;s not like me. I lean slightly more introverted than extroverted as well so I am not the most harm-warming person either. I suck at giving gifts, inviting people over, or even remembering the birthdays of people I care about. But I do my best to see people, look them in the eyes, and appreciate them. Occasionally, they do as well and it warms my heart.</p>



<p>Maybe some of this is fear, insecurity, or the person just happens to be in a bad place at that time. Looking people in the eye after all and smiling could make some feel unsafe or too vulnerable or too preoccupied that noticing may be a luxury. These are possibilities. I do hope they find that security though because without that it becomes a bit difficult to form a community.</p>



<p><strong>I do hope those of us who can, despite our challenges and through our actions; show the next generation, our children to see and acknowledge others</strong>. A healthy cautiousness but not always assume bad intent. To acknowledge differences but find common ground too. To not mistake kindness for weakness. To be fair and just but also kind; towards others and also to ourselves. <strong>They say there is an epidemic of loneliness nowadays. The good news is that acknowledging others and showing kindness is free and would go a long way.</strong></p>



<p>May your 2024 be better than ever.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Oh Twenty Twenty</title>
		<link>https://ryangaraygay.com/oh-twenty-twenty/</link>
		
		<dc:creator><![CDATA[Ryan Garaygay]]></dc:creator>
		<pubDate>Sun, 27 Dec 2020 21:42:29 +0000</pubDate>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[General]]></category>
		<guid isPermaLink="false">https://ryangaraygay.com/?p=53235384</guid>

					<description><![CDATA[As the year ends, I hope you join me in remembering our family, friends, and the almost 2 Million souls who will no longer be with us because of the many trials that 2020 came with. We will remember them on other days. But for me, a lot of those good memories will be during [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>As the year ends, I hope you join me in remembering our family, friends, and the almost 2 Million souls who will no longer be with us because of the many trials that 2020 came with.</p>



<p>We will remember them on other days. But for me, a lot of those good memories will be during these holiday seasons. So although bittersweet, I choose now.</p>



<p>They will live through us. As we live our meaningful lives, we hope to pass on their wisdom and virtues they taught us.</p>



<p>And a big Thank You, to those who continue to get us through these times, our heroes; the front-liner health workers, essential workers in other industries, and everyone who continues to contribute in big and small ways. May you continue to be well.</p>



<p>We may deal with these in different ways but one thing we all share for sure.We are still here!</p>



<p>We will rock (or flow &#8211; whatever works for you), learn, love, stay healthy, humble, kind, and hope for better years ahead.</p>



<p>Happy Holidays and stay safe from our family to yours!</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>First Principles, Frameworks &#038; Guiding Principles</title>
		<link>https://ryangaraygay.com/first-principles-frameworks-guiding-principles/</link>
		
		<dc:creator><![CDATA[Ryan Garaygay]]></dc:creator>
		<pubDate>Wed, 11 Apr 2018 09:03:06 +0000</pubDate>
				<category><![CDATA[Career Growth]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Engineering Leadership]]></category>
		<guid isPermaLink="false">http://ryangaraygay.com/?p=53235348</guid>

					<description><![CDATA[When talking to other engineering leaders (new and even experienced ones &#8211; since every situation is different) it&#8217;s not uncommon to hear &#8220;this is great, your team/processes sound amazing but where do I really start?&#8221;. &#8220;Where do I start?&#8221; is indeed a difficult question. A few clarifications and examples would help. We could identify a [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="http://ryangaraygay.com/wp-content/uploads/2018/04/one-two-three.jpg"><img loading="lazy" decoding="async" class="size-medium wp-image-53235354 alignright" src="http://ryangaraygay.com/wp-content/uploads/2018/04/one-two-three-300x200.jpg" alt="first principles, frameworks and guiding principles" width="300" height="200" srcset="https://ryangaraygay.com/wp-content/uploads/2018/04/one-two-three-300x200.jpg 300w, https://ryangaraygay.com/wp-content/uploads/2018/04/one-two-three.jpg 480w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a>When talking to other engineering leaders (new and even experienced ones &#8211; since every situation is different) it&#8217;s not uncommon to hear &#8220;this is great, your team/processes sound amazing but where do I really start?&#8221;.</p>
<p>&#8220;Where do I start?&#8221; is indeed a difficult question. A few clarifications and examples would help. We could identify a starting point and take it from there. There are also a lot of existing &#8220;how to do X or Y&#8221; everywhere online/offline so I am not going to talk about that here either.</p>
<p>I was thinking though, if I find myself asking the same question, what do I actually (or I think I) do.</p>
<p>So&#8230;. I believe I go through this process:<br />
1- first principles (why)<br />
2- framework thinking (how)<br />
3- guiding principles (what ifs)</p>
<p>These are not my terms. The first one you can easily search (might even be in the dictionary) and Elon Musk (and others) has articles/interviews online that can explain it (or similar) better than me. The second one I did not find much except this article from Sean Johnson (http://www.sean-johnson.com/framework-thinking/) which captures a lot of what I had in mind. The 3rd one I&#8217;m sure we&#8217;ve heard everywhere.</p>
<p>To the best of my knowledge though even before I found out what they are called I have applied them in one way or another. Most of the time, if faced with a challenge; it is reasonable (maybe even best) to solve that problem specifically. In some cases, however, especially problems that keep coming back it helps to step back and look/think about it differently. What is the core of the issue, the root cause, the fundamental beliefs (or even facts) that my ad hoc solution did not address? And that to me is &#8220;first principles&#8221; &#8211; simple, fundamentals, facts (or as close as you can get).</p>
<p>Now that we have a better understanding of the &#8220;question/problem&#8221; there are frameworks that others have already used to address that. Or at least frameworks that I can try to explore more to address the problem. Frameworks are more generic than just how-to&#8217;s and usually can be applied to a variety of problems. Should I read books, do I listen to audio books, do I talk to someone and based on those are there further frameworks/techniques I can apply?</p>
<p>Using some (or combination) of the framework(s) we will hopefully find the solution to the problem and then we start building guiding principles. On top of making sure that it really does address your original question/problem, these also make sure that should you encounter similar questions in the future you might have some default response/actions or if it&#8217;s completely new then the response might just be back to square one (first principles -&gt; framework thinking -&gt; guiding principles).</p>
<p>Over time you build guiding principles that you keep on improving (or completely discard after giving it enough chance &#8211; i.e. it just doesn&#8217;t work).</p>
<p>First principles are fundamental and likely universal (or at least to a majority of our species). Frameworks may or may not work for some though the ones we find are likely those considered best practices already but take them with a grain of salt. Finally, you could use existing knowledge for guiding principles but do not forget that guiding principles is your own. Make it known to your circle to whoever you feel safe sharing it with. Refine them, share them and others might question them but it&#8217;s yours.</p>
<p>And if you lead a team, you share a part of your own guiding principles (its part of what we do is to sell that to our team) but help your team build it&#8217;s own as well. What you agree on, how to do things, what to do when things get tough and as important, what to do when things are great.</p>
<p>An analogy for software debugging/development might actually exist now that I think about it.<br />
1- investigate the problem (why)<br />
2- design and implement a solution (how)<br />
3- create unit tests/automated tests and monitoring to help make sure it doesn&#8217;t happen again (what ifs)</p>
<p>So when faced with &#8220;where to start&#8221; this is what I do. Or at least what I think I do. At the very least this blog post is part of this process too.<br />
1- I have a question which I think could benefit others and I&#8217;d love to share my thoughts on (why)<br />
2- write and share on my blog (how)<br />
3- I may not get feedback (I don&#8217;t expect anyone to read unless I point them here) or I get feedback (great &#8211; whether that&#8217;s good or bad) and I see if I could improve as I learn more &#8211; is my &#8220;what ifs&#8221;.</p>
<p>There will be guiding principles that will not be easy (e.g. do not lie &#8211; sounds simple but I don&#8217;t know if you can imagine how difficult that is with all the quirkiness/sensitivities of our modern world) but the good news is other than making it easy to make decisions at work, the side effect of these guiding principles maybe some peaceful goodnight&#8217;s sleep.</p>
<p>Keep learning, building and take it easy!</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Karma Go review &#8211; Prepaid Wifi on-the-go</title>
		<link>https://ryangaraygay.com/prepaid-wifi-go-karma/</link>
					<comments>https://ryangaraygay.com/prepaid-wifi-go-karma/#comments</comments>
		
		<dc:creator><![CDATA[Ryan Garaygay]]></dc:creator>
		<pubDate>Tue, 15 Nov 2016 08:30:33 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://ryangaraygay.com/?p=53235308</guid>

					<description><![CDATA[Update (2017 April 28) &#8211; been in contact with their support since the device is on and signal LED lights are on but no internet. All I get is advice to reset 3-4 times (from different support personnel) using button presses and paper clip on reset pin. I can no longer recommend this product. I&#8217;m [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="http://ryangaraygay.com/wp-content/uploads/2016/11/karmago.jpeg"><img loading="lazy" decoding="async" class="size-medium wp-image-53235319 alignright" src="http://ryangaraygay.com/wp-content/uploads/2016/11/karmago-300x300.jpeg" alt="karmago" width="300" height="300" srcset="https://ryangaraygay.com/wp-content/uploads/2016/11/karmago-300x300.jpeg 300w, https://ryangaraygay.com/wp-content/uploads/2016/11/karmago-150x150.jpeg 150w, https://ryangaraygay.com/wp-content/uploads/2016/11/karmago-768x768.jpeg 768w, https://ryangaraygay.com/wp-content/uploads/2016/11/karmago-1024x1024.jpeg 1024w, https://ryangaraygay.com/wp-content/uploads/2016/11/karmago.jpeg 1200w" sizes="auto, (max-width: 300px) 100vw, 300px" /><strong>Update (2017 April 28) &#8211; been in contact with their support since the device is on and signal LED lights are on but no internet. All I get is advice to reset 3-4 times (from different support personnel) using button presses and paper clip on reset pin. I can no longer recommend this product.</strong></a></p>
<p>I&#8217;m a cheapskate. I don&#8217;t want to pay monthly for something I won&#8217;t use regularly enough. So I go prepaid whenever I can. No smartphones with monthly data plans for me (and my coworkers probably are tired of me saying that my 10$ flip phone can take pictures, email and browse too).</p>
<p>Between home and office wifi, I have more wifi than I would have wanted. If I need to get somewhere I have the good old Garmin GPS or an actual physical map so I barely need any portable wifi.</p>
<p>There is, however, those occasional</p>
<ul>
<li>&#8220;toddler is getting too bored reading magazines in the dentist office&#8221;</li>
<li>while traveling, the &#8220;sure we can just eat the first restaurant we get our eyes on but while we&#8217;re here maybe we can check yelp for a better one&#8221;</li>
<li>oops, someone crossed some wires in the apartment&#8217;s internet/cable cabinet so your internet is down</li>
<li>hotel internet is too slow or expensive to pay for</li>
</ul>
<p>Sure you can download videos offline, check out restaurants ahead of time, use Google&#8217;s free internet in Mountain View or just pay for that cafe/hotel internet, but having your own wifi/internet hotspot does come handy.</p>
<p>If you have a smartphone that comes with or can have a data plan then it might come out cheaper but if you don&#8217;t have and just want to get a hotspot or maybe you do but for some reason, your phone or provider does not allow tethering then you want a hotspot.</p>
<p>So we got a Karma Go from https://yourkarma.com/. They have monthly plans as well but I was more interested in the prepaid plan (as of this writing 1GB for 15$).</p>
<p>The hardware costs 149$ but you could get 50-100$ if you fill/load or get a monthly plan before Nov 30.</p>
<p>My thoughts on pros/cons below</p>
<p>PROS</p>
<ul>
<li>bytes/credits does not expire</li>
<li>prepaid and all the good things that come with it &#8211; pay only for what you use</li>
<li>you can setup auto-refill if you don&#8217;t want interruption</li>
<li>they do have monthly plans if that works better for you</li>
<li>up to 8 devices connected simultaneously</li>
<li>setup was straightforward, instructions were clear</li>
</ul>
<p>CONS</p>
<ul>
<li>no wifi password
<ul>
<li>but they offer premium features for an additional fee</li>
<li>even without premium, whoever connects will need to signup for Karma account as well and will not use up your credit</li>
<li>no encryption might mean it&#8217;s easier for someone to snoop on your traffic but like above you can get premium features or by browsing only your trusted sites with https/SSL or using a VPN like <a href="http://click.tunnelbear.com/SH9Y" target="_blank" rel="noopener">TunnelBear</a> (another fun/useful thing)</li>
</ul>
</li>
<li>coverage could be less than say Verizon &#8211; you can check their coverage from https://yourkarma.com/coverage</li>
<li>took a week or two for unit to arrive but they did notify me of shipping delays and I was not in a hurry so all good but if you are in a hurry make sure to check with them (or see if there&#8217;s an expedited option)</li>
<li>US only (for now)</li>
</ul>
<p>The cons are non-deal breakers for me so I got it. I am sure there&#8217;s more PROS/CONS but will leave that up to you and their <a href="https://yourkarma.com/help" target="_blank" rel="noopener">FAQ.</a></p>
<p>Have yet to use this extensively (then again my reason for getting is because of those rare occasions) but setup experience, performance and look (nothing wrong with judging by looks right?) tells me it&#8217;s well built and so far so good.</p>
<p>You should check for promotions in their website banners but if none, you can <a href="https://yourkarma.com/invite/ryan332485">click here to get 10$ off</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://ryangaraygay.com/prepaid-wifi-go-karma/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Mac OS X El Capitan upgrade &#8211; xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)</title>
		<link>https://ryangaraygay.com/el-capitan-upgrade-xcrun-error-invalid-active-developer-path-librarydevelopercommandlinetools/</link>
		
		<dc:creator><![CDATA[Ryan Garaygay]]></dc:creator>
		<pubDate>Fri, 10 Jun 2016 21:12:46 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://ryangaraygay.com/?p=53235302</guid>

					<description><![CDATA[You&#8217;ve just upgraded to Mac OS X El Capitan, used git (or some other commands from terminal) and encountered this error xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun you can &#8220;fix&#8221; this by running this command in your terminal sudo xcode-select --install a dialog will appear prompting you to install, just [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>You&#8217;ve just upgraded to Mac OS X El Capitan, used git (or some other commands from terminal) and encountered this error</p>
<p><code>xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun</code></p>
<p>you can &#8220;fix&#8221; this by running this command in your terminal</p>
<p><code>sudo xcode-select --install</code></p>
<p>a dialog will appear prompting you to install, just follow instructions and after install try your command again and it should be back to normal working state</p>
<p>Hope all that works well for you</p>
<p>More details on</p>
<ul>
<li>what&#8217;s xcode-select from <a href="http://osxdaily.com/2014/02/12/install-command-line-tools-mac-os-x/" target="_blank">How to Install Command Line Tools in OS X Mavericks &amp; Yosemite (Without Xcode)</a></li>
</ul>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
