explain ai use
This commit is contained in:
parent
3fafad86db
commit
b28d843db6
@ -7,6 +7,8 @@
|
||||
}
|
||||
---
|
||||
|
||||
(No AI was involved in this attempt at ordering my thoughts and making my work legible to others, hopefull you).
|
||||
|
||||
I am replacing most, if not all, of my Claude Code workflows with [pi.dev](https://pi.dev), an open source coding agent, and local LLMs running on my laptop. If you don't have the hardware, smaller models are also cheap(er) to run on hosted services like [Open Router](https://openrouter.ai). As prices of frontier models continue to rise, and subscription plans are watered down, the capability and speed of open weight and open source models continues increasing. The last month saw a step change, with a couple releases from last week (Qwen 3.6 and several inference servers implementing performance improvements - more speed, less memory) marking a step change in user experience.
|
||||
|
||||
I wrote "adjusting" in the description, but maybe reeling is maybe a more accurate description of what is happening. I wrote this more general note, as I plan to write some how-to's to make decoupling (coding) agents from inference hosting approachable for more people. We're all still figuring this out, but once you are up and running, you can work with your local agent to improve your tools and way of working in small steps. I started using open weights models and open source coding tools in 2024, and have on and off kept doing that alongside Claude Code. The second half of 2025 saw some strong open agents (most notable pi.dev and Open Code]), and now paired with strong, affordable models I can do serious development work with an agent from the comfort of my own laptop.
|
||||
|
||||
95
app/priv/static/images/blog/2026/motorcycle.svg
Normal file
95
app/priv/static/images/blog/2026/motorcycle.svg
Normal file
@ -0,0 +1,95 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 500" width="100%" height="100%">
|
||||
<defs>
|
||||
<linearGradient id="bikeRed" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" stop-color="#ff3333"/>
|
||||
<stop offset="50%" stop-color="#cc0000"/>
|
||||
<stop offset="100%" stop-color="#990000"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="metalGrad" x1="0%" y1="0%" x2="100%" y2="0%">
|
||||
<stop offset="0%" stop-color="#aaa"/>
|
||||
<stop offset="50%" stop-color="#fff"/>
|
||||
<stop offset="100%" stop-color="#888"/>
|
||||
</linearGradient>
|
||||
<filter id="shadow" x="-10%" y="-10%" width="120%" height="120%">
|
||||
<feDropShadow dx="3" dy="5" stdDeviation="4" flood-opacity="0.35"/>
|
||||
</filter>
|
||||
</defs>
|
||||
|
||||
<!-- Ground shadow -->
|
||||
<ellipse cx="380" cy="420" rx="220" ry="12" fill="#000" opacity="0.25"/>
|
||||
|
||||
<!-- Rear Wheel -->
|
||||
<g transform="translate(480, 350)">
|
||||
<circle r="65" fill="none" stroke="#111" stroke-width="16"/>
|
||||
<circle r="52" fill="none" stroke="#444" stroke-width="4" stroke-dasharray="8 10"/>
|
||||
<circle r="45" fill="#ddd" stroke="#888" stroke-width="2"/>
|
||||
<circle r="15" fill="#555"/>
|
||||
<circle r="38" fill="none" stroke="#999" stroke-width="3" stroke-dasharray="2 4"/>
|
||||
<rect x="-8" y="-42" width="16" height="12" rx="2" fill="#c00"/>
|
||||
</g>
|
||||
|
||||
<!-- Front Wheel -->
|
||||
<g transform="translate(200, 350)">
|
||||
<circle r="60" fill="none" stroke="#111" stroke-width="16"/>
|
||||
<circle r="48" fill="none" stroke="#444" stroke-width="4" stroke-dasharray="8 10"/>
|
||||
<circle r="42" fill="#ddd" stroke="#888" stroke-width="2"/>
|
||||
<circle r="14" fill="#555"/>
|
||||
<circle r="35" fill="none" stroke="#999" stroke-width="3" stroke-dasharray="2 4"/>
|
||||
<rect x="-7" y="-38" width="14" height="10" rx="2" fill="#c00"/>
|
||||
</g>
|
||||
|
||||
<!-- Suspension & Frame -->
|
||||
<path d="M 200 350 L 260 240" stroke="url(#metalGrad)" stroke-width="7" stroke-linecap="round"/>
|
||||
<path d="M 200 350 L 260 240" stroke="#fff" stroke-width="2" stroke-linecap="round" opacity="0.5"/>
|
||||
<path d="M 260 240 L 380 280 L 480 350" fill="none" stroke="#333" stroke-width="8" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M 400 300 L 480 350" fill="none" stroke="#555" stroke-width="10" stroke-linecap="round"/>
|
||||
|
||||
<!-- Exhaust -->
|
||||
<path d="M 440 360 Q 500 380 560 370 L 570 385 Q 510 395 450 375 Z" fill="#666" stroke="#444" stroke-width="2"/>
|
||||
<rect x="555" y="365" width="30" height="16" rx="4" fill="#444" stroke="#222" stroke-width="2"/>
|
||||
|
||||
<!-- Fairing -->
|
||||
<g filter="url(#shadow)">
|
||||
<path d="M 250 240 Q 220 280 220 330 L 280 340 Q 300 300 300 250 Z" fill="url(#bikeRed)"/>
|
||||
<path d="M 300 250 L 420 230 Q 450 240 440 270 L 320 290 Z" fill="url(#bikeRed)"/>
|
||||
<path d="M 420 230 L 460 210 Q 490 220 480 250 L 440 270 Z" fill="url(#bikeRed)"/>
|
||||
<path d="M 460 210 L 500 190 Q 530 200 520 230 L 480 250 Z" fill="url(#bikeRed)"/>
|
||||
</g>
|
||||
|
||||
<!-- Windshield -->
|
||||
<path d="M 240 240 Q 220 180 260 170 Q 280 200 270 240 Z" fill="#87CEEB" opacity="0.6" stroke="#333" stroke-width="2"/>
|
||||
|
||||
<!-- Headlight -->
|
||||
<ellipse cx="245" cy="290" rx="18" ry="12" fill="#fff" stroke="#222" stroke-width="3"/>
|
||||
<ellipse cx="245" cy="290" rx="12" ry="8" fill="#ffeb3b" opacity="0.8"/>
|
||||
|
||||
<!-- Seat -->
|
||||
<path d="M 380 270 Q 420 250 460 260 Q 440 280 400 280 Z" fill="#111" stroke="#333" stroke-width="2"/>
|
||||
|
||||
<!-- Rider -->
|
||||
<g>
|
||||
<circle cx="310" cy="190" r="24" fill="#111"/>
|
||||
<path d="M 295 185 Q 310 175 325 185 Q 310 195 295 185 Z" fill="#0ff" opacity="0.7"/>
|
||||
<path d="M 290 210 L 330 210 L 350 260 L 310 260 Z" fill="#111" stroke="#333" stroke-width="2"/>
|
||||
<path d="M 300 220 L 270 250 L 265 245" fill="none" stroke="#111" stroke-width="9" stroke-linecap="round"/>
|
||||
<path d="M 320 250 L 380 290 L 430 310" fill="none" stroke="#111" stroke-width="11" stroke-linecap="round"/>
|
||||
<ellipse cx="430" cy="310" rx="14" ry="9" fill="#222"/>
|
||||
<circle cx="265" cy="245" r="6" fill="#c00"/>
|
||||
</g>
|
||||
|
||||
<!-- Racing Details -->
|
||||
<rect x="265" y="265" width="28" height="38" rx="3" fill="#fff" stroke="#000" stroke-width="2"/>
|
||||
<text x="279" y="293" font-family="Arial, sans-serif" font-size="18" font-weight="bold" text-anchor="middle" fill="#000">77</text>
|
||||
|
||||
<path d="M 300 250 L 420 230" fill="none" stroke="#fff" stroke-width="4" opacity="0.9"/>
|
||||
<path d="M 305 260 L 415 240" fill="none" stroke="#000" stroke-width="2" opacity="0.6"/>
|
||||
|
||||
<!-- Speed lines -->
|
||||
<g stroke="#ccc" stroke-width="2" stroke-linecap="round" opacity="0.6">
|
||||
<line x1="80" y1="200" x2="160" y2="200"/>
|
||||
<line x1="50" y1="260" x2="140" y2="260"/>
|
||||
<line x1="90" y1="320" x2="170" y2="320"/>
|
||||
<line x1="60" y1="380" x2="130" y2="380"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
After Width: | Height: | Size: 4.6 KiB |
Loading…
x
Reference in New Issue
Block a user