• A Middle Eastern, medieval recipe for meatballs in an eggplant yogurt sauce.
    Take eggplant, and boil lightly in water and salt, then take out and dry for an hour. Fry this in fresh sesame oil until cooked; peel, put into a dish or a large cup, and beat well with a ladle, until it becomes like kabis. Add a little salt and dry coriander. Take some Persian milk, mix in garlic, pour over the eggplant, and mix together well. Take red meat, mince fine, make into small cabobs, and melting fresh tail, throw the meat into it, stirring until browned. Then cover with water, and stew until the water has evaporated and only the oils remain. Pour on top of this the eggplant, sprinkle with fine ground cumin and cinnamon, and serve. (BCB III.7)
    This particular meal is one of my favorites to eat, but I despise cooking it. It takes forever. It’s so worth it, though! The yogurt sauce is very reminiscent of Baba Ganoush, and if you have any left over, use it as dip the next day. Believe me, your taste buds will dance with joy!
    Ingredients
    • 2 lbs eggplant
    • sesame oil
    • 1 lb ground meat (lamb, meatball mix, or beef, twice ground)
    • 1 tbsp shawarma/mild curry spice per pound of meat
    • 1/2 tsp salt
    • 1 tsp ground coriander seed
    • 1/2 cup plain Greek yogurt OR 1/2 cup plain yogurt plus a pinch of salt
    • 2 cloves garlic, crushed
    • 2 tbsp finely minced parsley
    • 1/2 tsp ground cumin + 1/4 tsp cinnamon, mixed

    (more…)

  • I was in 2nd grade when I decided I was going to make a table and chairs. I had watched my grandfather make things. It couldn’t be that hard. With my mother and grandparents providing the material, I made a table and chair.

    It was a success. Was it sturdy enough for an adult to stand on? No. Regardless, for a 2nd grader, it was very much a success.

    As a 4th grader, I watched my father rebuild the engine of our VW Microbus. He used the original “idiot” book to do it.

    From my father, I learned how to break concrete, how foundation forms were put in place, how concrete was poured and how to frame in a room. When I say, “I learned”, it means that I had my hands on the tools doing. I had the blisters to show for it.

    A few years later, 6th grade or so, I purchased my first motorcycle. When it needed work, I am the one who tore it down and rebuilt it. And then got it back together and running.

    That was my success. My father didn’t lay hands on that motor or motorcycle. It was mine, and I was going to do.

    Did I mess up? You bet I did. I don’t remember the failures because they were mine. I learned from them. Then I went and tried again. Today, 50 years later, I can still hear the sound of that MX-80 screaming back to life.

    My parents let me own my failures, they let me own my successes. They never stole my success nor my failures from me.

    Years passed. It didn’t matter what it was, I was willing to try. I was willing to fail. I tried learning how to draw. I spent four months drawing hands. In the end, I decided that I preferred photography.

    When my brother and I needed to work on the VWs, we pulled the engines ourselves. We could tear down and rebuild an engine on the side of the road. How do I know we can? Because we did. It was in a gas station parking lot. Bro and I pulled the engine from the VW, tore it down enough to get to the broken, removed and replaced the broken part. Put the whole thing back together and put it back into the bus.

    We did it between 1700 and 0200, then we drove another 400 miles the next day to get to my grandparents.

    “Can do” isn’t the correct version of our attitude, it was more like, “We’ll make it work.”

    Today, children aren’t allowed to fail. Even in simple things. My son made a wonderful meal the other weekend. I was asking him what went into it. We are about done, but still discussing things, when my wife pipes up to tell me a spice that was in the meal.

    I knew it was there. I wanted my son to tell me. She stole his success.

    I’m lucky, my kids do know how to succeed because they also know about failure.

    My second wife refused to try new things. She explained the reason thus:

    As a child, her mother would look at what she was going to attempt to do, then her mother would tell her, don’t bother to try, you can’t do that.

    How can you succeed if you don’t try? How can you fail if you don’t try?

    It is said that Edison said, “We didn’t fail, we just learned another material that doesn’t work as a filament.”

    We learn so much more from failure than we do from success.

    Consider a class of 20 students. We can fit a bell curve to those students. There will be a mean and standard deviation for those students. From that, we can determine which will get As, Bs, Cs, Ds, and Fs. It is standard statistics.

    We do this by using an instrument to measure something about those students. If we have an instrument that gives every student a 100%, we know nothing. That instrument is useless.

    We want an instrument in which nobody gets 100%. At the same time, we need to be careful of the outliers on the high end. If you have somebody who gets 100% on a test where everybody else is getting 50% or lower, you can’t design your test/instrument to have the outlier get a 95%

    One of the interesting things my mentor taught me about digital cell phone communications is that the protocols strive to match a 90% raw error rate. If the error rate is higher than that, the phone uses more power to get a cleaner signal. If it is better than that, the phone reduces power until it is running at that 90% error rate.

    At 90% error rate, the algorithms can repair the damage and give a perfect digital signal.

    If we were running at 100%, we would never know when we were using too much power.

    We live in a society where the ego of a student is much more important than long-term success. We give out participation awards. We have games where we ‘don’t keep score.’

    There is an old joke: A man walks up to a baseball diamond where some kids in a youth league are playing. He asks one of the fathers/couches, “What’s the score?” “We don’t keep score. We play for the joy of the game.” One of the kids yells over from the dugout, “We’re ahead 5 to 3.”

    My children know that if they ask for feedback, they will get honest feedback. If they don’t ask, they will get a proud parents’ response. My kid’s friends know the same.

    It also means that when I give out a “well done”, it means something. My kids know that their mother will always praise whatever they do, no matter how bad it is.

    “Everybody makes mistakes!” is something I’ve had shouted at me.

    Yep, that’s true. But not everybody learns from their mistakes. You cannot learn from your mistake if you don’t know you made a mistake. You can learn from your mistakes if you’re not allowed to make mistakes.

    I’m learning how to turn wood. I’ve learned not to stand in front of the work when I first apply the cutting tool. Why? Because that damn bowl coming off the spindle at 1300 RPM HURT. I’ve learned a little.

    I have seen some people decock the hammer of a firearm with their thumb between the firing pin and the hammer. I thought it was stupid. It is how I do it now. I had the hammer slip one time with a loud bang when the hammer stopped moving. It will not hurt all that much to have the hammer fall on my thumb if it stops a round from going “that-a-way”.

    It is easy to see how stealing their successes can be bad. Stealing their failures is worse.

  • Every so often, it is worthwhile to just sit back and enjoy the show. Get more popcorn.

  • Friday was my first day of interpreting at The Fort at No 4. Volunteering can be just about anything helpful to The Fort, interpreting means attempting to bring The Fort back to life.

    The first thing is that you are supposed to be wearing garb. I don’t have good garb. I’m embarrassed, but it is good enough for now. Better garb will be coming soon. I’ll soon have period correct shirts, vests, and pants. If I can find my moccasins, I will be all set.

    It took a while to get into the process. I finally remembered something Mr. Pete, from YouTube said, “I’m not a machinist with 20 years of experience, I’m a machinist with 20 years of doing the same thing.”

    I do not have to give a different presentation to each group that comes through. I can use the same one over again, changed to match the needs of this group.

    We had multiple classrooms of 4th graders come through. My final presentation went something like:

    Hellos

    Making sure everybody is there, that everybody is paying attention, and that the responsible adult is in the room with us.

    Engage

    I start by asking them where they are, what the room they are in is used for. This led to some interesting suggestions, one student suggested that this is where somebody would sell the things the blacksmith was making.

    Somewhere in there, I get them to look up in the rafters. We have two children’s coffins there.

    Bring them into the past

    The coffins are a good starting point for discussions. We talk about why there are children’s coffins. How many children died during the 1750s. We discuss how cuts, scrapes, illnesses can all lead to death. We end with how soap and water do a great deal to keep people healthy.

    This is where I emphasize that coffins are one of the few things that we would actually be making, we just need so many of them. What we mostly do is repair things.

    What do we repair?

    We talk about how today, when we break something, we throw it away and replace it. How it only takes a day or so to get a replacement.

    From there, we discussed things breaking in the 1750s. How if we were to throw it away and replace it, we would need to get it from Boston. One of the things that we figure out is how long it takes to get to Boston and back. Once that is in hand, we elaborate on the cost and the lost opportunity costs of going to Boston.

    Once there, I pick a broken yarn counter and bring their attention to it. We try to guess what it might be. Finally, I tell them it is a “yard stick”, how it works and why it is used.

    They then identify that it is missing spindles, which need to be replaced.

    The Shave Horse

    This is the point where we start doing some hands on. I’ll have one or two students come to the shave horse, teach them how to use the shave horse and a draw knife.

    From there, once they are getting a nice shaving, I tell them “make it round.”

    This almost always gets a response. They get started, then I tell them that we have to go faster because we need 6 done in the next hour.

    This gets laughter as they suddenly understand that this is real work.

    We stop, I put the draw knife away, send the student back to the group.

    At this point, I hold up a fancy spindle and tell them that now that we have a round piece of wood, we require it to look like this.

    The Lathe

    Through questioning, they figure out that we need to use something else. Something that allows us to shape round things.

    This is the introduction to the treadle lathe. We discussed a little about how it works. Then I have the responsible adult pick a victim to come be my apprentice. The apprentice is responsible for providing power to the lathe.

    I let them figure out how it works, then get them positioned. They attempt to get the flywheel to go around. We had no successes this time, some came close, but we didn’t have a single apprentice get the wheel to make a full revolution.

    At this point, I demonstrate getting the lathe to spin and show how that can be used to spin the work and get shavings.

    Conclusion

    It is more work than I expected. I made many shavings today, but didn’t actually accomplish anything. I’ll be back up there on Wednesday of next week and also Friday.

    This is worth it. I hope you can find a place like The Fort at No 4 and find the time to help. Bringing history to life is an amazing rush, even if it is hard work.

  • When I prep, I store a variety of types of meals. I have a lot of rice and beans, as I can make those into dozens of different meals with very different spice pallets. There’s one type of meal that I do store at least a few of, for emergencies. That’s RTE, or Ready To Eat meals. These require either no prep at all, or just water and heat.

    RTE meals are an important part of any prep for any situation. There are simply going to be times when you do not have the time or energy to cook, but you still need to eat. Having meals that require little to no preparation time will save you, time and again. I don’t mean for zombie apocalypse, either, though they work for that too. I mean for that moment when the power goes out right after you’ve finished 3 hours of snow blowing, and you’re exhausted and starving and now can’t use your stove. Or for when you’re backpacking, you get caught in a storm, and you’re stuck under a rock for a few hours for safety’s sake, and you need to eat.

    While you can certainly go out and buy WiseFoods or any of the other “emergency bucket” type emergency meal kits, it’s very easy to assemble your own. Job Lots, Walmart, and even Amazon carry many very good options. It used to be that you’d save your cans of tuna for those emergencies, but now the tuna comes as part of an entire meal.

    Starkist Tuna Snacks are the gold standard around here. We keep them in our go-bags, eat them as evening snacks, and they always go with me when I am camping away from the house. It’s fast and easy, and requires no heating. Simply slap the tuna on the cracker, and you’re ready to go.

    Bumblebee Tuna Bowls are really yummy, and again, require no heating. There are three different kinds available on Amazon, but I’m told you can find a few more if you go looking. These include pasta, rice, and/or beans, and include vegetables as well. You’re getting a whole meal here. At 190 calories each, they’re a quick fix for a hungry person. They also do not contain any added sugars, so they can be eaten by diabetics. They are NOT good for people with Celiac though.

    Starkist Smart Bowls are rice and beans with tuna, in a variety of flavors. These are the soft packs, so they stack easily in a backpack or go bag. They’re lower in fat and higher in carbs than the Bumblebee bowls, but neither of those are likely to be an issue when you’re dealing with an emergency situation.

    At the slightly more bougie level, we have Cole’s Open and Eat Meals. These are a bit more expensive, but the quality is also higher. You get a larger meal, with more calories (250), and a variety of flavors. The reviews of them are pretty good, with the main sticking point being price. This is definitely one of those “you get what you pay for” moments.

    And then there’s the ones I like best: Freshe Gourmet Canned Tuna. They have tuna and they have salmon, four flavors of each. You can buy them in bulk, and the price is a bit less than Cole’s. Each style has a different calorie amount listed, so you have to look at each of the flavors separately. Having eaten these both cold and warmed, I can say they are VERY yummy. I went out and bought a bunch of these at my earliest convenience after a friend introduced me to them.

    There are chicken versions and salmon versions of all of the above. I would guess you can probably find ham and Spam ones, as well. I prefer to have the cans in my camping bin, because they can safely rattle around in the bottom of the bin and not be harmed. They will still be good to eat next summer, if I don’t get to them. The flat pack ones are best for backpacks and go bags. I usually slip mine into the front pouch of my backpack or in the interior flat area of my go bag, where they won’t be punctured.  (more…)

  • Second Amendment Cases Seeking Cert

    Yes, there are cases seeking cert.

    No, there has been no real movement.

    Yes, they are still there.

    What does it mean? I don’t know. Mark Smith suggests that Snope being conferenced 16 times is a good thing. Certain controversial cases have been conferenced this many times, or more.

    If they grant cert, oral arguments will not be heard until October. We would expect to see an opinion issue 3 months later. If cert is granted, the court must publish their opinion by the end of June 2026.

    Why is there now movement on 2A cases?

    Bluntly, everything is in a holding pattern. It doesn’t matter what happens in the different circuit courts, the rogue inferior courts have made their play. Bruen stopped the two-step shuffle and replaced it with a new two-step shuffle.

    The old two-step was to first assume without granting that the plain text of the Second Amendment was implicated. Then deciding on what level of scrutiny was required. In rogue courts, the balance was always in favor of gun control. The Ninth Circuit is over 120 opinions in favor of gun control and zero in favor of The People.

    Snope is the best vehicle forward we have. The Supreme Court can address the issue of what is an arm, slap down the gun bans and magazine bans, all at once. This leaves the sensitive places issue still to be heard.

    Long Days

    Wrapping my head around different concepts is not difficult. My problem comes in seeing how complex issues are tied together. Sometimes it is documented, sometimes it isn’t.

    There are three templating languages that I know and use. Twig, Jinja2, and Django Templating Language. They all have similar syntax, and they all have the same basic concepts.

    The gist is that you have a template which has “tags” and “variables”. When you insert a tag, it can render something, it can modify variables, or it can add programming structure. Variables just render the content of the variables as a string.

    When we address forms, Django has a sophisticated system. You define a form by asking for a form to be built from a model (a record in a database) or by hand. Each field is identified. Each field is assigned a rendering widget.

    In the simplest form, you can render a complete form with: <form method="POST" action="">{{ form }}<button type="submit">Submit</button></form> Which is wonderfully powerful.

    The issue comes when you need something extra special. In my case, I needed to set a CSS class on a subwidget. I could not make it work. I read the code, I knew what it was doing, but I just could not access the context I required.

    The issue? When a field from a form is rendered, a new context is created which is passed to the widget templates. My templates came before the field was rendered, making it impossible to access context which had not yet been created.

    The Fort at No 4

    I’m heading up to the Fort at No 4 today. We’ll be there most of the day, interacting with school kids there as classes. This will be my first time doing this. I have no idea how well I will do, or what I will be doing. I might just sit and comb wool.

    Rogue Judges

    We have now reached the point where administrative judges are issuing injunctions against the Trump administration.

    We have a district court in Maryland issuing a standing order that any Habeus filing involving a criminal alien will automaticity find against the state.

    Rogue inferior judges now believe that they have the power to supervise the Article II executive branch in all things.

    Just tired of this…

    More and more people are grumbling about being tired of this shit. People are no longer allowing themselves to be pushed around.

    In my opinion, this is because they believe that the state will have their back. It is no longer Daniel Parry doing the right thing and then being forced to go through lawfare. There is a growing feeling that if you stand up for what is right, things will go OK for you.

    Question of the Week

    There were disturbing noises out back last night. When I went out to investigate, I took the R95 in .357 Magnum. This is more than enough for the small game I normally deal with back there.

    As I followed the sounds, it sounded like small game. Then I heard what, I thought, was a wild pig. And I remembered that there had been bear sightings around here.

    My question, if you were to see a boar or bear over the sights of a lever action .357 magnum, coming towards you. Do you fire? Do you try to retreat? Do you head back to get something bigger? Is 30-30 big enough? Or would you move up to 45-70?

  • Tuesday I picked Ally up at The Fort at No 4. On the way home, we stopped to do some banking and pick up some groceries.

    As we were walking to the bank I said, “Oh, it is closed.”

    “Why?”

    “Because it’s Sunday.”

    “Huh?”

    I then got home and posted “Tuesday Tunes” to show up on Wednesday.

    I’ve been working on a major website. This includes a content management system for the site that meets the requirements for that vertical.

    What I decided on was a “management bar” for those logged in as manager. When they activate the “edit page” function, all the blocks that can be edited are highlighted. Click on the block to start editing the block.

    Save your changes. When you are satisfied, click “make live” on the management bar to make all the changes at once.

    There are a few good tools for editing text in place.

    This left all the other blocks, image editor, carousel editor, calendar editor and a few others.

    Design from the top, build from the bottom

    I know what I want to do, how I want it to work. Fortunately, I only have to worry about the “working” part. Not the pretty part. I have a team member who helps with that.

    What this means is that I see the entire system laid out. This thing will do this, this other thing will do that, the user will see this.

    Which leads to a balancing game. How much is done in the template build out? How much is done in the JavaScript module? How much is done on the backend? And how much support does the Frontend request from the Backend?

    Currently, I have three different editing models built, each one a bit different from the others. Why? Piece wise progression.

    In my original implementation, all logic was done on the Frontend from data provided by the Backend during page load. These led me to a working edit for the carousel. Click here, drag and drop or upload an image. Click there, and you can rotate, mirror, flip, and crop an image, maintaining a fixed aspect ratio.

    The next was the text editor. That was simple because the editor works in place, sort of. But it is working. I’ll be adding more features to it, but that is mostly done.

    Then the new image processing came into play. Click on the image you want to edit, a dialog pops up, the original, raw image is loaded. Recorded edits are applied, the image can now be edited.

    All modals had to be preloaded. All the content of the modal was preloaded. Everything works by modifying existing elements or modifying the DOM. The only communications with the backend are fetching the raw image.

    Which led to the calendar editor.

    Piecewise progression.

    With this, the amount of data started to exceed easy storage in the DOM. Access to needed data was looking more and more like a call back to the backend. The need to serialize objects on the backend for the frontend to manipulate was starting to get stupidly complex.

    This led to a redesign. Instead of multiple modals, there is now a single modal (dialog) which is fetched, on need, from the Backend. In this modal, there is a tabbed pane. Click on the tab, a different pane shows.

    By listening for a pane to be displayed, we can determine what content we require and request that from the backend, which has full access to all the data and logic required to make this work.

    Bingo, everything starts to get easier.

    Which means, once this edit is completed, I’ll return to the image editor, make the same design decisions, which in turn will make the carousel editor a simple modification of the image editor.

    Things are getting a little easier as I become more comfortable with TypeScript and “promises”

    Why the concerns?

    First, when I started programming, you didn’t do redundant things because there were no spare cycles and there were no spare bytes.

    As an example, I like to write a = do_it(param)->do_other(params2)->do_different(do_wildly_different(param3)).

    This seems reasonable to me. No extra cycles, no extra bytes.

    Today, it is better to do r1=do_it(param); r2=do_wildly_different(param3); r3=r1.do_other(param2); r4=r3.do_different(r2); This performs the same actions, but it is often clearer to read and allows for checking results at each step. All good.

    The other big thing is communications. My last project was a shopping app. Our family still uses it. It creates shopping lists that you can then use from your Android Phone. It has more to it, but that’s the gist.

    Because communications is sketch around here, it was designed to work in a standalone state, uploading changes when it could, downloading changes when required.

    This lead to an entire mindset of “Communications is expensive”. Which I’ve had to break. The new site makes seriously different design choices.

    1. All Manager level actors will have modern browsers
    2. All staff working with the site will have reasonable download speeds
    3. All volunteers using the site will have reasonable browsers and speeds.
    4. All visitors to the site will have a relatively modern browser.

    In other words, If you are working on the site, and it takes 5 seconds to get an updated pane or modal, this will be acceptable, or you will need to upgrade your device.

    In looking at the current usage of browsers on the Internet, more than 95% of the people using the Internet will do just fine.

    Now back to the Bootstrap 5 grind as I design pretty forms.

  • So I’ve just gotten home from the Fort, where I stayed for a whole week. One week with minimal running water (cold only, from a single slow tap in the staff kitchen, which I had to then carry to where I was cooking/cleaning/etc). One week with minimal electricity (I could charge my phone at night, and there was a light in the kitchen, and a fridge because I do cooking demos and we don’t want to poison people). One week with almost no social media, news, television, and all the rest of the modern stuff. One week of walking from place to place, interacting in person, baking and cooking over a fire. One week without a shower (that one was difficult lol).

    While I was there, the Fort was hosting “The Original” which is the name of a 40+ year old Rendezvous. This is for folks who portray anything from French and Indian War up to War of 1812 and a bit beyond (basically 1740 to 1840). They have some very specific rules that are required of those attending. You must be dressed in period correct clothing (including footwear and eyeglasses unless medically required otherwise) during the entire event, including during set up and tear down. You must have all modern items covered at all times, so if you have a cooler it needs to have something over it or be stashed in an unseen part of your tent. Same with propane stoves, though most people just dug fire pits and cooked that way. It’s rather intense just how serious they take it, though they’re also not rude to people who are just starting out and might not be “quite right.” A good, honest attempt is worth more than perfection, in most cases.

    During the event, I was one of the Fort “liaison” people, meaning folks at the Rendezvous could reach out to me to get in touch with the director. I didn’t get called on much, which was nice, but it meant I could visit and participate in Rendezvous stuff without having to pay to get in (which I could not afford). I baked a bunch of bread on the second day of the event, and then loaded it all (still warm) into a huge basket and hefted it onto my shoulder. I went down to the lower field, calling as I went: “Bread for sale! Fresh, warm bread for sale!”

    Not my best outfit, but I was having such a good time!

    (more…)

  • The Fort at No 4 held the annual Rendezvous last weekend. Ally had a blast. She came back with new moccasins that she is raving about.

    As an interpreter for the Fort, she baked bread in the beehive oven, then sold it to the encampment, this is very much in period.

    That went over so well, she had bread baking classes the next two days.

    This isn’t great music, it has some great images to go with it.

  • UPON CONSIDERATION of the application of counsel for the applicants and the response filed thereto,

    IT IS ORDERED that the April 15, 2025, and May 20, 2025 orders of the United States District Court for the District of Columbia, case No. 25-cv-511, are hereby stayed pending further order of the undersigned or of the Court.
    — Misc. Order 2025-05-23

    This case is about slowing down DOGE and the Trump administration. The tool used in this case is Freedom Of Information Act requests for information, otherwise known as FOIA requests.

    The name of the organization is, normally, CREW. They started requesting information in December 2024, through the OMB attempting to find out who and what DOGE was. When they had not received a response by January 2025, they requested an expedited FOIA. They filed more FOIA requests and more demands for expedited actions.

    On February 20, 2025, they filed suit, alleging that the government wasn’t responding fast enough. They wanted a preliminary injunction requiring full compliance with their request by March 10th.

    By March 10th, the court had ordered the government to produce the requested documents in an expedited manner. It looks like court speak of “ASAP”.

    By the middle of April, they had a requirement in place for the government to produce 1000 documents per month. Note, OMB believes there are around 108,000 documents and DOGE believes they have 58,000. This is a total of 166,000 documents.

    The government has nearly 15 years to produce all the documents requested.

    Ok. That’s where things stood as of April 10, 2025.

    The government filed a request for stay with the Supreme Court.

    Chief Justice Roberts then issued an administrative stay. This means that OMB and DOGE can proceed with document production at a “normal” rate.

    Since it is an administrative stay, only a single justice is needed. The entire court can then choose to examine the case and issue an order regarding the request for stay, or they can just leave the administrative stay in place.

    It seems a small win, but it is a win.