Skip to main content

Posts

C++ Conan + CMake Presets

 If you've ever tried to build a C++ project and thought "why is this so much harder than every other language," you're not crazy. C++ doesn't come with a built-in way to grab libraries or remember your build settings. Two tools fix that: Conan (fetches libraries) and CMake Presets (remembers your settings). Let's build something real together. First, What Even Are These Two Things? Think of building a C++ project like cooking a meal. Conan is your grocery delivery service. You tell it "I need fmt, I need Boost, I need zlib" and it shows up with those ingredients already prepped, instead of you driving to five different stores. CMake is your recipe/instructions for actually cooking (compiling) the meal (your program). CMake Presets are like saving your favorite recipe settings — "always preheat to 375, always use the big pot" — so you don't have to type the same long commands every single time. Put together: Conan gets your...
Recent posts

C++ vcpkg Manifest Mode + CMake

 If you've ever tried to install a C++ library and felt like you were assembling furniture without instructions, this article is for you. We're going to talk about vcpkg manifest mode and how it works with CMake , and I'm going to explain it like you're five years old (in a good way — no judgment here). First, Let's Talk About the Problem In most programming languages, adding a library is easy. Python has pip install requests . JavaScript has npm install express . You type one command, and boom, the library shows up in your project. C++ never really had that. For decades, if you wanted to use a library like fmt or nlohmann/json , you had to: Download the source code yourself Figure out how to compile it Tell your compiler where to find the headers Tell your linker where to find the compiled binaries Cry a little vcpkg is Microsoft's answer to this mess. It's a package manager for C++ — like pip or npm , but for C++ libraries. And manifest mode...

HTML Paragraphs

 So you're learning HTML and you've stumbled onto this thing called the "paragraph tag." Maybe someone told you to use <p> and you just nodded along like you totally understood. No judgment here — let's actually break it down so it clicks. First, What Even Is a Paragraph in HTML? Think about writing an essay in Microsoft Word. When you hit Enter twice, you start a new paragraph, right? There's a little gap, a fresh block of text begins, and your reader's brain goes "okay, new thought incoming." HTML paragraphs do the exact same job, except instead of hitting Enter, you wrap your text in a tag that looks like this: <p>This is a paragraph. Hello, world!</p> That's it. That's the whole trick. The <p> says "start a paragraph here" and the </p> says "okay, we're done, wrap it up." Everything sandwiched in between is treated as one cozy little block of text. Why Can't I Just Pre...

HTML Headings

Let's be honest — the first time you saw <h1> and <h2> tags in some tutorial, your eyes probably glazed over. That's fair. Most explanations make headings sound way more complicated than they are. So let's fix that. What is a heading, really? Think about a book. Every chapter has a title in big letters. That title tells you "hey, this is where a new chapter starts, and here's what it's about." A heading in HTML does the exact same job for a webpage. HTML gives you six sizes to work with: <h1> through <h6> . <h1>Biggest heading — the main title</h1> <h2>A little smaller</h2> <h3>Smaller still</h3> <h4>Getting small</h4> <h5>Pretty small</h5> <h6>Tiny — barely used</h6> Drop that into any HTML file and the browser automatically makes <h1> look huge and bold, and <h6> look small and plain. No CSS required. It just works out of the box. Think ...

Volcanic Lightning Fulgurites

  Picture the wildest weather event on Earth. A volcano explodes, sending a column of ash miles into the sky — and then, inside that churning cloud of grit and gas, lightning starts crackling like a thunderstorm gone rogue. Now imagine that lightning slams down onto the pile of ash and rock the volcano just spat out, and instantly melts it into glass. That's a volcanic lightning fulgurite. Let's break down what that actually means, one plain-English step at a time. First, what's a "fulgurite" at all? Forget volcanoes for a second. Fulgurites are old news, geologically speaking — they've been recognized since the early 1700s. The basic idea is simple: lightning is absurdly hot, <cite index="3-1">reaching temperatures around 30,000°C</cite>, which is several times hotter than the surface of the sun. When a bolt like that hits sand, soil, or rock, it doesn't just scorch the surface — it melts it, instantly. Because the ground cools f...

Vue.js Template Syntax

 Vue's "template syntax" is just a fancy name for the special bits of code you sprinkle into your HTML to make it dynamic. This guide walks through every major piece, one at a time, with examples you can copy and run. All examples use this same starter shell — just swap out what's inside <div id="app"> and inside data() : <!DOCTYPE html> <html> <head> <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script> </head> <body> <div id="app"> <!-- your template goes here --> </div> <script> const { createApp } = Vue createApp({ data() { return { // your data goes here } } }).mount('#app') </script> </body> </html> 1. Text interpolation: {{ }} This is the most basic thing you'll do in Vue: showing a piece of data as text. <div id="app"> <p...

Vue.js for Total Beginners: Build Your First App

 If you've never touched Vue.js before, this guide is for you. No assumptions, no jargon left unexplained. By the end, you'll have a working Vue app and understand why every line of code is there. 1. What even is Vue.js? Vue is a JavaScript framework for building interactive websites. Normally, if you want a webpage to update itself (like a counter that goes up when you click a button), you write a bunch of manual code to find the element, change its text, and keep everything in sync. Vue does that syncing for you. You just say "this number is 5" and "show this number on the page," and whenever the number changes, Vue updates the page automatically. This idea is called reactivity . Think of it like a spreadsheet. If cell B1 says =A1 + 1 , and you change A1, B1 updates itself — you don't manually retype it. Vue does the same thing for your webpage. 2. The absolute simplest Vue app (no installation needed) You don't need to install anything to...