Skip to content
  • Fried Kielbasa
  • Posts
  • Contact Me

Fried Kielbasa

  • Reactive Programming in Angular, A Journal Entry

    September 11th, 2025

    This has been in my drafts for a while — I’ve decided to publish as is and label it as something close to a more polished journal entry. Since this has gotten stale, I’d recommend using Angular Signals today

    The core problem that we were trying to solve using NgRx Component Store was building a stateful web application.

    When I began this, I didn’t understand what a stateful web app was, especially compared to a regular website. The stateful bit means that you need to keep track of where the user is during their interaction with the site.

    Imagine a weather website — there’s very little state that you actually need to keep track of while the user is checking their local weather. They can check it in New York, and then in San Francisco, but there’s no retained state other than who the user is and some minor preferences like temperature unit.

    We were looking to build an order page, where the user can build up a cart and then check out. In this scenario, you need to know where the user is in a given transaction. The page needs to keep track of what’s in the cart, what discounts have been applied, the interactions between the various elements of the user’s identity, among many other things.

    If this still isn’t clear, imagine a wizard (like an installer). At each step of the wizard you need to keep track of what the previous steps have been, since they can affect the future steps. This is what keeping track of state means, that the application has a memory.

    Given this problem, we decided that it’d be best to use a state management library rather than trying to handle this using built-in Angular capabilities. The easiest and most lightweight choice was NgRx Component Store. We also considered NgRx Store, but we thought it excessive for our needs — too many features and too much boilerplate.

    The first question I had when beginning this work was — what is the justification of using a library, rather than trying to do this with Angular by itself? Using Angular by itself would imply using BehaviorSubjects in services, which would then grow to basically become an equivalent of NgRx Component Store anyways. Passing data via Angular inputs and outputs was out of the question entirely, I actually tried doing it and pretty much immediately realized the difficulty of scaling that type of data transfer.

    The major difficulty and benefit with using Component Store was the associated use of RXJS. For developers, reactive programming was a barrier to contributing to the codebase. Elsewhere in the codebase RXJS use was limited to unpacking API call results to be used in further declarative code. I had never done serious reactive programming before either, so it was difficult for me to get adjusted to it as well. 

    Reactive programming is characterized by automatic propagation of changes throughout a system. Data changes automatically flow through predefined streams and transformations, updating all dependent values and UI elements without explicit manual updates. 

    Rather than writing imperative code that says “when X happens, update Y and Z,” reactive programming establishes relationships between values so that Y and Z automatically reflect changes in X.

    Declarative

    Reactive

    RXJS brings reactive programming to JavaScript. RxJS works by operating on data flows. The data flow is called an Observable, which is then modified using Operators, and then received by Subscription.

    RxJS is incredible when combined with NGRX Component Store because it directly allows the state to update from data flows, as well as connecting different parts of the state as dependencies explicitly. I think in order to illustrate this, we should consider the alternative.

    Imagine a page that requires state management, but instead of choosing to use reactive programming and a state management library, you decide to code this with imperative programming. What will happen is that you need to manually update the state with explicit calls. If something changes, you need to do an explicit call to a function that will then notify everything that depends on that information. This also means that you need to recalculate every derived value manually yourself as well.

    For me personally, the most infuriating part of working with code like this is that you don’t know where the changes to state came from. Any function can modify state, so it’s very difficult to reason about which function causes which change. 

    There’s also the feature of immutable state which is important for reactive programming. You can’t modify your state, the only thing you can do is replace it with a new state. This concept has practical implications in the sense that if you want to modify state you need to explicitly replace state, not just modify state object properties. This has benefits in debugging because it’s easier to track changes, Angular relies on this to properly propagate state updates, and it also allows for explicit handling of race conditions via RXJS flattening.

    For performance benefits, we also decided to use OnPush change detection in Angular which is significantly more performant than regular change detection. This also takes advantage of the immutable state since when state updates, a new reference is created which triggers the onPush change detection automatically.

    We settled on a smart / dumb component approach where certain components were display-only and others were connected with state. This simplified our code since we could test state management and presentation separately. We had one store per smart component, joining the two concepts seemed cleaner.

    Inspired by the Angular input / output pattern, we decided to keep the stores hierarchically arranged. We had one root store which held the general order data, like user and session information. We then organized stores such that they were hierarchically under the orders component and store, which would grab bits of the order state and then use that, and pass it down to child components.

  • Book Reviews 2025

    September 11th, 2025

    1. Breath by James Nestor (reread)

    Rating: 10/10

    I reread this book looking to understand the techniques that were mentioned and the sources a bit better. I don’t know if what’s in the book is true, but if it is I would give this a 10/10.

    2. Russian Shores of the Black Sea by Laurence Oliphant (continued from last year)

    Rating: Not yet completed

    3. Through The Eye Of A Needle by Peter Brown (continued from last year)

    Rating: Not yet completed

    4. Deep by James Nestor

    Rating: 10/10

    This book was cool because

    1. It dovetails really well with my interest on breathing lately
    2. because (diving) apnea is just the intentional version of sleep apnea. It’s scary and fun to read about seeing what happens to the conscious body when it tries to do what I do every night, unintentionally
    3. It’s a good survey. I enjoyed reading about personalities and interesting tidbits. It’s more a book of interesting vignettes and factoids

    Freediving is still relatively unknown — I didn’t know much about it before reading this book. The way that Nestor describes freediving is actually quite appealing. I know I was never interested prior to reading this book. He describes the sense of calm, the connection you have to the ocean.

    What I appreciate is that he actually did a lot of fieldwork. It’s not just primary sources rehashed, he actually went, did the leg work, and tried freediving himself.

    The book combines freediving, the ocean, and the human body. I appreciated that this didn’t try to disentangle the various elements of diving on a wall, instead viewing it holistically as man in connection to the ocean through the water.

    Enjoyable book

    5. Principles by Ray Dalio

    Rating: Not yet completed

    6. The Goal: A Business Graphic Novel by Dwight Jon Zimmerman and Eliyahu M. Goldratt

    Rating: 9/10

    This backfired on me. I borrowed the comic book from my local library in order to avoid reading the full book. But, for better or worse, the comic book was so engaging that now I feel compelled to read the whole thing. I think I had absorbed a little bit of the Goal from Twitter, but it was enlightening to actually read about it in detail.

    One thing that struck me was that you could apply this to your personal work. Specifically, having enough slack, addressing bottlenecks, and ensuring that you’re actually working on your goal.

    Some of the comic books were less than fully detailed. I had to ask Claude for clarification a couple of times. I presume this isn’t an issue with the actual full book, but as an intro in comic book form, I don’t think you could do better than this. Any sort of additional detail would bog down the reader.

    I recommend it.

    7. Conscious Breathing by Anders Olsson

    Rating: 8/10

    This is the good practice book to James Nestor’s Breath survey book. In general, it takes the form of an oddly structured extremely long blog post about the practical matters of breathing and improving breath health.

    I found it to be mostly review, but I think for an introductory text it’s good and it tends towards practically focused. If you’re looking to just get right into breathing correctly, you can’t do better than this book. I did find the formatting a little weird and it was clearly self-published, but overall worth the read.

    8. Recoding America by Jennifer Pahlka

    Rating: 10/10

    Provides a convincing argument that we’re entirely misdiagnosing government dysfunction. I recommend everyone read this book, it’s rather short and easy to read. Will return to review more in depth

    9. Be Useful by Arnold Schwarzenegger

    Rating: 7/10

    I’m a sucker for anything related to Arnold Schwarzenegger, so I enjoyed this book. However, it felt weaker than his previous autobiography, Total Recall.

    It’s essentially a blend of autobiography and self-help. Arnold provides some added perspective on his life, what worked for him and what didn’t — and it serves as decent inspiration. It’s a good, quick read, perfect for an airplane.

    10. Mask by Chris Rainier

    Rating: 9/10

    I’m a sucker for masks. I wish the book had a more documentary style, but I have to admit that the images are quite striking and well-edited. As a coffee table book, it’s meant to be visually appealing rather than strictly documentary, though I do feel there’s room for more content.

    The images capture the experience of encountering masks in person, which is really appealing. Plus, the book has a wonderful global focus, featuring pieces from every inhabited continent, and it leaves me wanting more.

    11. Mastering the Core Teachings of the Buddha by Daniel Ingram

    Rating: Not yet completed

    12. The WEIRDest People in the World by Joseph Henrich

    Rating: 9/10 (Did not finish)

    I got about halfway before realizing it was just going to be yet more evidence pointing to the same conclusion. I enjoyed this book because of the mountain of proof presented. One specific feature I really appreciated was how graphs were inserted directly into the text, so you can verify yourself that these aren’t some ridiculous stats hacking behind the scenes. Overall, this was far more compelling to me than Why Nations Fail, even if it was mono-causal.

    13. Inner Game of Tennis by Timothy Gallwey

    Rating: 10/10 if you haven’t been exposed to these ideas before Otherwise, 8/10

    This book was rather confusing to me. While I completely understood its central message and found its diagnosis both worthwhile and accurate, I felt that it struggled to provide effective solutions. Many of the concepts were already familiar, circulating in TPOT, and it was valuable to have them all compiled and clearly explained in one place.

    I found it challenging, however, to implement the ideas. In particular, Self 1 feels more like an emotional takeover, and Gallwey’s techniques did not work well for me. It’s hard to critique the book further because its influence has permeated my environment, a bit of a Seinfeld effect, if you will.

    I wonder if anyone has ever managed to get their “Self 1” functioning at a pro athlete level?

    14. Inner Game of Work by Timothy Gallwey

    Rating: Not yet completed

    15. DotCom Secrets by Russell Brunson

    Rating: 6/10

    The book was acceptable, but I struggle to remember its content. Its writing style didn’t resonate with me—overly lengthy with too many personal anecdotes.

    The material itself is useful, offering a clear introduction to building funnels. I just wish the format were more concise instead of an exhaustive breakdown of every detail.

    Should’ve been a blog post

    16. The Joy of Oysters by Nils Bernstein

    Rating: 10/10

    I don’t think you can find a better book about oysters than this one. I really appreciated that it didn’t dive into excessive, nerdy details about every type of oyster — instead, it offered a brief, clear explanation.

    The recipes are excellent, I tested a few, and they turned out great. The illustrations and colors are wonderful, and the book itself is a beautiful ornament. It truly inspires a joy of oysters in me.

    17. Novelist as Vocation by Haruki Murakami

    Rating: Not yet completed

    18. Collapse by Vladislav M. Zubok

    Rating: Not yet completed

    Just 100 pages in, but I have never read a book where every page makes me raise my eyebrows. I might get stuck like this because of Gorby!

    My reaction is disbelief. I actually checked reviews to see if the author had an axe to grind. It’s nuts!!

    19. Skunk Works by Ben Rich

    Rating: 7/10

    The book itself is fine, but it’s really more fun than thoughtful content. I was really hoping that it would be more detail-oriented.

    What it ends up being is basically a series of anecdotes, which is a lot of fun to read, but there’s not much there. I was hoping to get more about the management strategies, the sort of intricate details. It was a hell of a lot of fun though and a great read if you enjoy learning about Kelly Johnson and the Skunk Works.

    20. Burnout Society by Byung-Chul Han

    Rating: 5/10

    I got what I came for. I think there are a couple really great ideas in here. Frankly, the text is so difficult to parse that I’m not really sure I understood much.

    Coulda been an amazing blog post. Please write one for those of us who aren’t into German philosophy.

    21. Project Hail Mary by Andy Weir

    Rating: 8/10

    If you’re looking for some fun competence porn, this book is quite good. Lots of plausible science! A great imagination stimulant!

    It was made weaker by the political wish fulfillment — I found the Earth bits tested my suspension of disbelief.

    22. Red Mars by Kim Stanley Robinson

    Rating: Not yet completed

    23. Writing For Developers by Cynthia Dunlop and Piotr Sarna

    Rating: Not yet completed

    24. Shoe Dog by Phil Knight

    Rating: 9/10

    It’s the story of how Phil Knight built Nike. it’s a bit overwrought at times, but if you’re into business it’s quite enjoyable.

    25. Say Nothing by Patrick Radden Keefe

    Rating: Not yet completed

    26. Death Is Our Business by John Lechner

    Rating: 9/10

    An interesting book, really more of a current events journalism piece — filled in a lot of knowledge gaps I had about Wagner and Russia’s African interests. Wish it had yet more detail (which i’m not certain is possible)

    27. Why Nations Fail  by Daron Acemoglu and James A. Robinson

    Rating: 6/10

    TBH, I was very underwhelmed. I wish I was qualified to write a real takedown of this, but basically my qualms are that the institution’s argument is almost tautological. What generates these good institutions? How do they stay around? a useful book to stay current in the larger conversation, but i found it  simplistic?

    28. Congo: The Epic History of a People by David Van Reybrouck

    Rating: 10/10

    A wonderful, wonderful book. basically a history of the congo, with a focus on the congolese perspective, not the western one. due to a paucity of congolese sources, he’s forced to rely on oral history a lot, but i think this gives the book a personal and grounded character. many eye opening bits in the book, especially surrounding independence. If you’re curious about the Congo or about African governance in general, this is a key read in my opinion. 

    29. The State of Africa by Martin Meredith

    Rating: 8/10

    A good summary book that sort of gets you up to speed on what’s happened in post colonial africa. it does a solid job of providing an overview while keeping you engaged by flitting between various countries. It zooms into the personal with some frequency, which also helps pacing and retaining my engagement.

    30. The Dragon’s Path by Daniel Abraham

    Rating: 5/10

    Read this on patio11’s rec, but frankly found this one a bit weak. not nearly enough banking tbh. I also found the plot thin. 

    31. Out There: The Wildest Stories from Outside Magazine 

    Rating: 7/10 (Did not finish)

    A few pretty fun stories, I enjoyed the one about Mongolian horse racing. 

    32. Drawing on the Right Side of the Brain  by Betty Edwards

    Rating: 8/10 (Did not finish)

    Got about halfway. seemed to be working? The upside down drawing really did have a good result! I’d like to continue if I have more time. The brain stuff seems a bit woo, but as a drawing handbook seems solid.

    33. Democracy in America by Alexis De Tocqueville

    Rating: Not yet completed

    34. Book of Mark, KJV by Mark the Evangelist

    Rating: Not yet completed

    35. Moby Dick by Herman Melville (still goated)

    Rating: Not yet completed

    36. Count of Monte Cristo by Alexandre Dumas and Auguste Maquet

    Rating: Not yet completed

    37. Theoderic the Great by Hans-Ulrich Wiemer

    Rating: Not yet completed

  • I was on a podcast with Eddie Byrne!

    June 12th, 2025
  • Help! I’m a creator with an audience, how do I make more money?

    May 23rd, 2025

    Your offer

    To start, you need to formulate a compelling offer and rework your website using fundamental marketing and sales principles so it functions as a dedicated sales platform. The priority isn’t the website’s aesthetics but its ability to convert visitors into customers.

    For generating a compelling offer, I strongly recommend $100M Offers: How To Make Offers So Good People Feel Stupid Saying No by Alex Hormozi.

    Once your offer is clear and your website is optimized for conversions, the next step is to add a guarantee to your offer. A guarantee can significantly boost customer confidence and increase conversions. For example, when I added a guarantee to my mom’s business, only one customer took advantage of it—most people trust quality service and rarely request refunds.

    The key is to refine your offer and messaging so that it’s crystal clear what you’re selling and how you can resolve a specific problem. If you can confidently guarantee a solution, you’ll create a strong foundation for customer acquisition and retention.

    Set up analytics

    What gets measured gets managed!

    Before making any changes to your website, it’s essential to set up analytics. While Google Analytics is powerful, it can be too complex for many users. There are simpler alternatives available—Simple Analytics and Cocoanalytics are both effective options.

    Analytics provide valuable insights into the effectiveness of your changes. For example, if you update your landing page to make call-to-action buttons more prominent, before-and-after data can show whether these changes are increasing click-through rates. Additionally, analytics can help you identify where users drop off. When visitors navigate from your landing page to a specific service and then try to book a call, the data can reveal whether they bounce off early, get distracted on a particular page, or abandon the booking process at the final stage.

    I also recommend using tools like Hotjar (free) or Crazy Egg ($100 a month). They record user interactions on your site. This information can show which elements attract the most clicks, where users spend the most time, and what parts of the page they ignore.

    For example, I once noticed that users were clicking on images on my website. It took some time to understand why until I realized they expected a lightbox feature to zoom in on the images. Once I added that functionality, it met their needs, and as a result, satisfied customers are more likely to make a purchase.

    Optimize the basics

    If you’re a creator, you already have an audience—and likely some services to offer them. Before diving into various monetization strategies, take a moment to appreciate what you have. An audience means people are interested in your perspective, and that authority makes them more inclined to buy from you.

    It’s not about doing 500 different things; it’s about finding the best way to communicate with your audience and delivering what they already want. Since they’re already subscribed to you in one format, meeting them where they are is key. Use the RICE framework—Reach, Impact, Confidence, and Effort—to prioritize your initiatives. I personally use this method to guide my efforts, as optimizing what you currently have often yields better results than branching out into new platforms or services.

    For instance, instead of setting up a second social media account, focus on optimizing your existing one. Similarly, rather than creating five different services, concentrate on the one that is already gaining traction and refine it further. If something is working, do more of it.

    Optimizing the basics also means understanding the different approaches needed for selling. Building a website designed for reading is entirely different from one aimed at selling a product. When directing traffic from your social media to a sales page, your goal isn’t to engage readers with blog posts but to prompt a purchase. This requires a clear, prominent call to action. A hidden hyperlink at the end of a long paragraph won’t be effective. Instead, take a cue from successful websites that feature a large “Buy Now” or “Book a Call Now” button right on the landing page, capturing the visitor’s attention immediately.

    You need to understand what problems your audience is coming to you with. While many people follow you because they value your insights, a specific segment of that audience has real issues that need solving. Keep in mind that although a lot of your followers might not be interested in buying anything, a substantial minority will be receptive to solutions.

    Ask yourself: what problem can I solve for these people? You already have authority because they listen to you and appreciate what you have to say. The key is to identify and address specific problems—not just nice-to-haves—that create genuine pain points. For example, I once hired a cat therapist because my cat was waking me up at 6:00 AM to play, disrupting my sleep. This was a clear pain point. The therapist provided targeted advice, such as purchasing a timed feeder, which completely resolved the problem and made me a happy customer.

    Ultimately, if your audience is listening to you, it’s because they expect you to solve a problem. Instead of simply sharing ideas, focus on offering solutions that directly improve their lives, whether that means making them money, enhancing their well-being, or simply making their daily life easier.

    Nail your distribution

    If you already have an existing audience, the simplest way to grow it and strengthen your presence on that platform is to analyze what has worked before and do more of it. Take note of posts or content that perform exceptionally well—then repeat and refine those strategies.

    Additionally, focus on how you direct people off-platform. For instance, if you share a tweet or post that links to your website, check how many people actually click through. Experiment with different calls to action, link placements, or messaging to increase click-through rates and drive more traffic to your site. By continually testing and optimizing these elements, you can improve your results over time.

  • How to Communicate at Work

    May 23rd, 2025

    People talk a lot about communication skills at work, so here’s a list of specific actions you could take to communicate better. Surprisingly enough, I learned all of these from an engineering consultancy, which is not really the place you would think would be the best at teaching this.

    People don’t read

    Write every message and email with the understanding that most people don’t read. If you write paragraphs, don’t be surprised when nobody reads them.

    Put the most important point first. Bold the most important sections of a paragraph.

    When you have multiple points, number them. People will be more likely to respond to your points if they’re specifically demarcated. If they miss a point, it’s also easier to ask for clarification by referring to the number.

    Batching questions

    When asking more senior people questions, rather than hitting them with a separate question every few minutes, batch your questions. This cuts down on the frustration of being interrupted multiple times.

    A side benefit of this is that if you write down your question to ask later, about 50% of the time you’ll have found the answer when you return to send off your question batch.

    Ask about the general problem you’re trying to solve, rather than the specific question you have

    It’s called the XY problem. Check out this StackOverflow post.

    “That is, you are trying to solve problem X, and you think solution Y would work, but instead of asking about X when you run into trouble, you ask about Y.”

    Be explicit

    Generally, give more meta information than you think necessary. If you’re stuck on a task — tell people you’re stuck and explain what you’ve tried so far. Publicly saying what you’ve tried has two functions. People will know you’re trying and other people won’t waste their time if they run into the same issue since they’ll see your explanation.

    If you ask someone a question, explain what you’ve already tried. This cuts down on the frustration senior employees get from having to constantly answer queries and saves time for you if they tell you to try something you’ve already done.

    Give context

    Don’t crop screenshots. Give people as much context as you possibly can, which means that when you’re sending a screenshot of something, include your full screen so they can derive whatever information they need from that.

    This can seem excessive and noisy. Marking the relevant part is significantly better than cropping, since you’re not removing context while still being clear. Add some arrows or circles to make your main point obvious.

    Consider that your screenshot may be forwarded. Design your information in a way that is self explanatory.

    Obviously — this applies to more than just screenshots, this is just one example.

    Deadlines

    If not given a deadline, the assumption is that it’s due ASAP.

    If you’re actually busy, you can’t get to it for a while, and it’s a low priority, you need to state explicitly that it is a low priority. 

    Just because you have a tight deadline doesn’t mean you have to do it immediately. Deadlines are made by other people and balancing priorities is an important part of working. The correct solution to being overloaded with work is to present your list of tasks to your manager and ask, “how should I prioritize this, with the understanding that I can’t complete all of these tasks in my allotted time”. This works, unless you’re in finance.

    Don’t be late to things

    You should obviously try to not be late to things. If someone asks you specifically to stop being late to something, then you should REALLY try to not be late to something. Aside from all the regular reasons like being rude — part of displaying competency is showing up to things on time.

    Taking notes

    I generally have a bad memory, so I would often forget what work was verbally assigned to me during meetings. Even though I don’t take notes in my personal life, I’m a big proponent of writing things down at work. It augments your memory and can be quickly made public if someone else needs documentation.

    Prepare before arguing

    The worst habit junior employees fall into is disagreeing without providing evidence. Never say, “that sounds like a stupid idea,” without being well prepared to explain why. Frequently, you’ll find you’re not as smart as you think and have to eat the crow.

    If you receive a task you feel is dumb, build a tiny proof-of-concept, or put together a small document that’ll demonstrate the issue you think is pertinent. With that info, feel free to bring up the topic with your manager — if they’re a good manager they’ll be ecstatic that you began a discussion with real evidence.

    Another possibility is that you’re not seeing the full context for the task. Ask what the big picture is, which is another thing that good managers love to see.

    Design stuff

    Consider the user whenever doing anything. If you’re creating diagrams, make sure your target audience can understand them. If you’re writing code, make sure it’s documented. Put some thought into things — it pays off in the long run, even if only for when you inevitably return to your own work a few months later.

    Don’t go silent

    If you’re working together with someone, try to check in every few days or so. Don’t just disappear if you’re stuck on a problem — give a progress update on how things are going. 

  • Results over Red Tape: The Lost Art of Military Innovation in Napoleonic Britain

    May 12th, 2025

    The night sky over Seringapatam erupted with streaks of fire in 1799 as Tipu Sultan’s troops unleashed their secret weapon against British East India Company soldiers. These weren’t ordinary weapons, but iron tubes filled with gunpowder and mounted on bamboo poles – rockets that soared through darkness with terrifying unpredictability, sending the British into panic. Among those who witnessed this devastating display was a young British officer who wrote home in awe of these “flying plagues.” Years later, as Napoleon’s armies marched across Europe, an aristocratic Englishman named William Congreve became obsessed with these reports, determined to turn this Indian innovation into Britain’s own revolutionary weapon. The British government’s response to Congreve’s proposal would exemplify their pragmatic, results-oriented approach to innovation – one that prioritized battlefield effectiveness over bureaucratic process. Thus began one chapter in a quieter but equally revolutionary battle that paralleled the Napoleonic Wars – one of patents, pragmatic experimentation, and technological adaptation that would reshape warfare forever. As the dominant naval power facing Napoleon’s continental dominance, Britain pinned much of its strategic hope on new technology.

    This adaptation of military technology from India to Britain was just one example of Britain’s broader quest for military innovation during the Napoleonic Wars. The Industrial Revolution had created a powerful network effect in technological development, where each innovation could be deployed more widely and quickly, while simultaneously enabling further breakthroughs in seemingly unrelated fields. Thanks to the Industrial Revolution, Britain not only had open institutions but also accessible private capital.This let inventors self-finance initial trials—a vital safety net that spurred bolder experiments. New manufacturing techniques spawned unexpected capabilities across both civilian and military domains—a positive feedback loop that eventually led to the exponential takeoff of economic growth and the modern world. This wartime pressure for innovation created a natural experiment: with national survival at stake, which methods of finding and developing new ideas proved most effective, both immediately and over time?

    Britain’s ability to harness these technological opportunities wasn’t just a matter of engineering genius, but stemmed from its distinctive approach to innovation governance. Britain’s methods were remarkably decentralized, with a bureaucracy that proved surprisingly receptive to new ideas. The British government never formally adopted an official innovation policy—rather, British institutions simply demonstrated greater openness to novel concepts and prioritized practical outcomes over rigid processes. This system allowed a single inventor with a promising idea to navigate government channels through personal connections, often securing state support for their innovations.

    Britain skillfully leveraged its private sector’s entrepreneurial networks and capital to achieve strategic national objectives. The government could identify and acquire promising innovations that private entrepreneurs had already developed. This approach was formalized through what became known as the “Navy Clause” in British patent law—a provision requiring that any patented invention be made available to the government at a pre-specified price if officials deemed it useful. This clause essentially gave the Admiralty and other government departments first right of refusal on new technologies, allowing them to rapidly adopt innovations without the expense and delay of developing them independently.

    What’s particularly noteworthy about this arrangement is that, contrary to what modern observers might expect, historical records show the Navy Clause actually stimulated rather than suppressed innovation. Research into government purchasing records reveals that the pre-specified prices were generally fair and reasonable to inventors. The clause created a powerful incentive structure: inventors knew that if they developed something truly useful, there was a guaranteed market with a substantial customer—the British government. This reduced the commercial risk of innovation considerably. Additionally, the British government demonstrated unusual openness to experimentation, often testing and adopting technologies that other nations might have dismissed as unproven. This combination of fair compensation and institutional willingness to try new approaches created one of history’s most effective innovation ecosystems.

    Britain’s decentralized approach rested on strong patent rights and a different kind of state involvement. It was open to inventors from almost anywhere, provided they could navigate the necessary social networks. For example, Henry Shrapnel was a captain in the artillery who developed an exploding shell—a hollow spherical projectile filled with musket balls and a small bursting charge designed to detonate in mid-air. This innovation dramatically increased artillery’s effectiveness against infantry formations by showering troops with lethal fragments (shrapnel) over a wide area. Despite his mid-level rank and lack of prominence, he was given the opportunity to trial his new technology multiple times. Though it took 20 years to fully enter service, the shell was eventually accepted based on its merit.

    Shrapnel shell cross section, showing musket balls inside the hollow cast iron sphere

    Another example illustrating how pragmatism overrode class barriers was Robert Seppings’ innovation in ship maintenance. As a master shipwright’s assistant at Plymouth—a relatively modest position—Seppings designed a revolutionary method for supporting vessels in dry dock. His system of removable block supports (later known as “Seppings blocks”) allowed a ship’s keel to be fully exposed without having to dangerously lift the entire vessel using wedges. The Navy’s approach to this innovation demonstrates their practical mindset: they permitted Seppings to trial his method on a captured Spanish ship in 1800. When the test proved successful, the Navy Board swiftly ordered Plymouth Harbor to be outfitted with these blocks just a year later in 1801. Recognizing the significant value of this improvement to naval maintenance, the Admiralty awarded Seppings £1,000 (equivalent to over £87,000 in modern value) —a substantial sum that acknowledged merit regardless of the inventor’s social standing.

    Seppings’ success was certainly bolstered by both the financial rewards and his promotion to Master Shipwright at Chatham Dockyard, where he was elevated over more veteran candidates. Despite his relative youth of 35 years, Seppings continued experimenting on Royal Navy ships. His next innovation was implementing diagonal bracing—creating a truss framework within the ship’s hull to prevent hogging, the tendency of a vessel’s bow and stern to droop relative to the mid-section, causing the keel to arch. Seppings first conducted a trial by refitting an existing ship with his diagonal system. After public opinion validated its effectiveness, he conducted two years of follow-up trials “until the utility of the experiment had been fully established in the opinion of most naval officers.” Following an additional presentation to the Royal Society, he was appointed Surveyor of the Navy, enabling him to lead the engineering of new ships using his diagonal bracing system.

    Seppings’ diagonal bracing on a later ship, from 1840

    In contrast, the case of Congreve’s Rockets demonstrates the clear advantages of high social standing. William Congreve took it upon himself to replicate the Mysorean rockets (used effectively by Tipu Sultan against East India Company soldiers) for British army service. Though these rockets were exceptionally primitive and very inaccurate, Congreve’s personal acquaintance with the Prince of Wales enabled his invention to be accepted into military service relatively quickly. While Congreve’s first experiments were personally funded, official government backing came only a year later after a successful demonstration of his rockets to Prime Minister William Pitt and other officials. Generally, the government supported his R&D efforts, and the British military collaborated with Congreve to test his rockets in the field. There was an early attack one year after the beginning of testing in Boulogne, where they fired two thousand rockets.

    Congreve rockets fired from a ship. These caused the “Rockets’ red glare” in The Star Spangled Banner.

    Nonetheless, people like Henry Shrapnel—despite lacking deep connections—eventually got their ideas accepted by convincing someone of the right class to support them. It’s hard to gauge how many potentially good ideas got lost due to class barriers, but many whose ideas were truly valuable managed to find upper-class patrons and thus made it through. Class issues were real but not always an insurmountable barrier.

    One standout trait of British innovation was its pragmatism. There was an emphasis on outcomes over ideology: no overarching principle of “free market vs. government-run” determining everything. Instead, if troop ships could be more effectively contracted out, they were; if gunpowder was better made by state factories, then the state did so. Similarly, the Navy Board and Ordnance Board were open to trying seemingly odd ideas, discarding them if they failed but adopting them if they worked.

    Such openness often went hand in hand with tangible rewards for successful inventors, whether via pensions, honors, or promotions. Shrapnel’s secret invention earned him a £1200 annual stipend for life in 1814 (equivalent to over £81,000 per year in modern value). Though some inventors, including Shrapnel himself, felt underappreciated, it is undeniable that the British military consistently rewarded those whose innovations they adopted. This practice created a powerful incentive system, encouraging others to develop new technologies with the promise of both recognition and material gain.

    A related factor was the use of prizes. Great Britain did employ prizes, like the Longitude Prize (for a way to find a ship’s longitude using a clock), but these were often ineffective for several reasons. First, it was unclear whether a prize truly motivated anyone if the problem was already valuable. Second, payouts could be withheld or reduced for various reasons, including failing to meet exact criteria or political considerations — which is exactly what happened to the winner of the Longitude Prize. Third, actual ownership via patents was often more valuable than a prize. So, while there were success stories, like food canning in Napoleon’s France, prizes generally weren’t as effective for spurring innovation as Britain’s more decentralized system.

    Harrison’s H5 chronometer which could find longitude reliably, but did not win the Longitude Prize

    Though the Admiralty and Navy Board were conservative by nature, genuine evidence of an invention’s practicality tended to override that conservatism. On the other hand, radical or insufficiently proven ideas were sidelined because they threatened the status quo or lacked a clear use case. The British kept Robert Fulton occupied by slow-walking funding for his experimental submarine to keep it out of the hands of the French and protect the Royal Navy. Incremental improvements with a demonstrable payoff were accepted more readily than ideas that challenged fundamental traditions of sailing or combat.

    This adaptability thrived on a direct feedback loop between battlefield experience and technological adoption. Once Wellington endorsed Congreve’s rockets, they spread swiftly through the military. Innovations that proved useful in combat earned quick acceptance, reflecting a system driven by practical necessity rather than ideological rigidity. Even in peacetime, the Royal Navy seized opportunities to overhaul processes and introduce new technologies, embedding ongoing innovation in its culture.

    The Napoleonic Era marked Britain’s shift from medieval governance to a modern bureaucratic state. In this unique window, reform-minded officials could enact rapid changes—especially with prime ministerial support. While rival factions did sometimes reverse these reforms, the sheer ability to implement them demonstrated an adaptability absent in many continental rivals.

    Britain’s wartime approach to innovation offers lasting lessons. It combined decentralized experimentation, pragmatic testing, fair compensation for inventors, and openness to unproven ideas. Born from existential need, this system powered Britain’s industrial ascendancy throughout the nineteenth century. Tools like the once-dreaded Mysore rockets evolved into symbols of a national ethos where merit could trump class, real-world results outweighed dogma, and improvement was a part of institutional practice.

  • A list of kids shows about culture / religion

    March 28th, 2025

    This blog post is a converted Twitter thread. Read the full thread here.

    One of the greatest innovations in my life is learning about world religions and cultures by watching kids show versions of traditional stories.

    1. Ramayana: The Legend of Prince Rama

    Good anime, and apparently close to the source material

    2. Prince Of Egypt

    All time classic, need I say more?

    3. Joseph: King Of Dreams

    Prince Of Egypt had a prequel apparently

    4. Journey to the West – Legends of the Monkey King | 1995

    Apparently, the best version of Journey to the West

    5. Muhammad: The Last Prophet

    Recced by a Muslim friend

    6. Arjun: The Warrior Prince

    7. Romance of the Three Kingdoms

    1994 version is more book accurate
    2010 has looks better and has an abridged story


    new subs for 1994 version here https://gentlemenofthehan.wordpress.com/2022/03/01/announcing-romance-of-the-three-kingdoms-1994-episodes-1-23-english-subtitle-release/

    8. Great Greek Myths

  • SEO for When You Don’t Really Care About SEO

    March 17th, 2025

    1. The Importance of Backlinks

    • What they are: A backlink is when another website links to yours. Google uses backlinks to help determine your site’s authority and ranking.
    • Quality over quantity: Links from reputable sites (e.g., CNN, BBC) provide significant boosts; links from spammy sites can hurt you.
    • Dofollow vs. Nofollow: A dofollow link transfers ranking “credit,” whereas nofollow links do not. Most natural links in articles are dofollow.
    • Practical tips: Simply be aware that backlinks are important. If someone likes your site, see if they’ll link to it. If you get press coverage or do interviews, make sure they include a dofollow link. You don’t have to buy or heavily engineer backlinks if you’re not trying to “game” the system.

    2. Structuring Your Content

    • Use relevant keywords: If you want to rank for a particular topic, include those keywords in the title and the body of your post. For example, if you’re writing about “Anki,” make sure “Anki” appears in the title.
    • Match user searches: Think about what search terms people actually use. Incorporating those exact phrases into your content can help Google match you with relevant searches.
    • Website optimization: Make sure your site isn’t slow or error-prone. A fast, stable site typically ranks higher. Tools such as Lighthouse or Google’s PageSpeed Insights can help you spot performance issues.

    3. Using Ahrefs (or Similar Tools)

    • What it does: Ahrefs provides insights on backlinks, site authority, and the keywords that drive traffic to your site.
    • Why it’s useful: Even if you’re not deeply invested in SEO, it helps to know who’s linking to you and which topics bring in search traffic.
    • Practical setup: It’s free to monitor your own site. Install it, check basic reports occasionally, and note any big spikes or dips in your search traffic.

    4. Meta Tags & Basic Technical SEO

    • Meta tags: Properly formatted titles, meta descriptions, and other tags help Google understand what your content is about.
    • Length considerations: Titles and meta descriptions should typically adhere to Google’s preferred length (around 50–60 characters for titles, 150–160 for meta descriptions).
    • WordPress plugins: If you use WordPress, plugins like Yoast SEO make it easy to follow best practices (e.g., alerting you when your title is too long or if you haven’t used your keyword enough).

    5. Maintaining Consistent URLs

    • Avoid broken links: If Google sees many broken links, it can harm your ranking.
    • Use redirects: If you move or rename articles, set up a 301 redirect so visitors and Google can follow the new URL without penalty.

    Final Thoughts

    Even if you don’t care about advanced SEO techniques, following these basics helps ensure you’re not sabotaging your website’s visibility. Most steps—like keeping your site fast, organizing your content, and being mindful of backlinks—are also just good web practices. By spending a few hours on setup and then following simple guidelines, you’ll capture the majority of SEO benefits without the hassle of deep optimization.

  • Articles To Write

    March 16th, 2025
  • Project List

    March 16th, 2025
←Previous Page
1 2 3 4 … 6
Next Page→

Proudly powered by WordPress