Published on| joshleeb.com
Joshleeb| joshleeb.com
Published on| joshleeb.com
G’day! Most of my spare time this month has gone into Pinto. No building, or at least not yet. Instead a lot of journaling, thinking, and writing. Last month ended with the idea of Pinto as a system for curating my own subgraph of the web. I wanted to spend some unpacking that a little more and the way that seemed most natural was analogizing Pinto as a cottage garden in A Garden Analogy of Pinto.| Joshleeb
Imagine, if you will, a garden out the front of a cottage with a path leading to the door. There are many shades of green from the various plants, and a colorful mix of flowers packed together with herbs, fruits, and vegetables. This garden might be immaculately pruned and arranged, or it might be allowed to remain wild and unkempt. Sometimes you can find exactly the fruit or flower you’re looking for and it will save you a trip to the supermarket. Sometimes, rather than searching, it’s m...| Joshleeb
G’day! Exploration towards building Ica (a GUI code editor) has continued in October. Having figured out a rendering strategy at the end of last month, the next step has been to design a framework/engine that sits atop the rendering layer and deals in terms of element trees, event listeners, and effect observers. At this level we don’t have to think about how primitives are drawn to the screen, nor how to create a window and receive events from user interactions. Our high level responsibi...| Joshleeb
G’day! This month I wanted to start off working on something short, sweet and fun; something more akin to a typical weekend project that can be “completed” in a reasonable amount of time. I found inspiration from Devine’s personal wiki, XXIIVV, on a page that contained a grid-based clock with lines scanning across the screen as time progressed. So, I built a replica. At first it was complete after a few days when I had a desktop app running. Then I returned to it at the end of the mon...| Joshleeb
Earlier this month I was exploring Devine’s public wiki, XXIIVV, and I landed on the entry about time. This page contains a mesmerizing clock displaying time as a grid of lines scanning across the screen. Figure 1. Screenshot of Devine's Arvelie-Neralie grid clock.I was unfamiliar with the format of this clock, shown in figure 1 as “18T03 725:086”, but reading on I was introduced to the Arvelie date format and the Neralie time format. These appear to be of Devine’s own creation and us...| Joshleeb
G’day! Last month ended with completing the local-export subsystem in Pinto which was the last piece before I could use Pinto for my personal bookmarks. And that’s exactly what I’ve been doing, using Pinto almost everyday this month. I’ve discovered a few small bugs which have been fixed, and some areas where the UI can be improved. But for the most part Pinto has been working delightfully well! As promised, I took a break from the development work of Pinto. I expect this will continu...| Joshleeb
G’day! For personal projects this month, the focus has been on Pinto and starting fresh with a new codebase. Pinto is a bookmarking service and RSS feed reader inspired by Pinboard and Miniflux, but with a few neat features planned such as bookmark linking. It really deserves it’s own post discussing the ideas and motivations, but at a high level it came from the thought that While Pinboard is a fantastic social bookmarking tool Interacting with RSS feeds alongside bookmarks would certain...| Joshleeb
G’day! This month has been fairly light on personal project work. The reason for this… We have relocated to London! There’s been a lot to pack up in Sydney, and lots to get setup in London but we are settling in and move into our new place next month. In the few spare moments this month I’ve started down a rabbit whole into the domain of Ecology and Society, looking into environmental governance and seeing how it relates to large, organic social structures such as the internet.| Joshleeb
Today I came across some interesting behaviour implemented by ctags (specifically Universal Ctags) with the way some tag entries are handled. At first I was surprised. Then thinking about a bit more I can understand why. But still, I feel there must be a better way. Let’s take a look at some Rust code. structFoo;implDebugforFoo{fnfmt(&self,f: &mutfmt::Formatter<'_>)-> fmt::Result{...}}structBar;implDebugforBar{fnfmt(&self,f: &mutfmt::Formatter<'_>)-> fmt::Result{...}} Looks pretty straight ...| Joshleeb
We all know testing is important. And, I hope, it might even be familiar. You’re coding away and catch yourself thinking “I should probably test this”. And before you know it you’ve mashed on your keyboard and there appears #[cfg(test)]modtests{...} These are unit tests which are super easy to setup. No added dependencies, no added tooling. But what about integration tests? Rust supports those too, which you probably already know. They’re only slightly more involved to setup so they...| Joshleeb
I’ve been really confused lately about Rust’s trait objects. Specifically when it comes to questions about the difference between &Trait, Box<Trait>, impl Trait, and dyn Trait. For a quick recap on traits you can do no better than to look at the new (2nd edn) of the Rust Book, and Rust by Example: Rust Book Traits: Defining Shared Behavior Rust Book Advanced Traits Rust by Example Traits Trait Objects The elevator pitch for trait objects in Rust is that they help you with polymorphism, wh...| Joshleeb
A little while ago I came across this Snowflake generator. It’s a project by Raph Levein that takes a hash string and uses it to procedurally generate a unique snowflake. He explains that the original motivation was as a cryptographically secure visual hash, so that people would reliably be able to tell by visual inspection whether two hashes were identical. I thought that was a pretty cool idea. Having someway to quickly tell if two similar strings were distinct has some real benefits. But...| Joshleeb
Procedural macros are a really powerful language feature in Rust and something I haven’t seen in many other languages. There are a heap of tutorials out there for procedural macros, including in The Rust Reference, and the first edition of the Rust Book. One of the more entertaining (and useful) posts is by Zach Mitchell where you get to “learn Rust procedural macros with Nic Cage”. I won’t go into depth about what procedural macros are and why they’re so powerful. But basically the...| Joshleeb
A few weeks ago I started looking into Game Development and exploring building games in Rust. Specifically I’ve been thinking about ECS game engines. These are just some initial thoughts and ideas. I’m not nearly at a stage to start building generic game engines for people to actually make games with. This is more of a project to explore game engines, maybe build a game, but most importantly write some Rust.| Joshleeb
Published on| joshleeb.com
Published on| joshleeb.com
Published on| joshleeb.com
Published on| joshleeb.com
Published on| joshleeb.com
Published on| joshleeb.com
Published on| joshleeb.com
Published on| joshleeb.com
Published on| joshleeb.com
Published on| joshleeb.com
Published on| joshleeb.com
Published on| joshleeb.com
Published on| joshleeb.com
Published on| joshleeb.com
Published on| joshleeb.com
Published on| joshleeb.com
Published on| joshleeb.com
Published on| joshleeb.com