• 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.

  • Tourtière is one of those iconic dishes that gets served in Northern areas. While it hales originally from France, it was popularized in Quebec, Canada. Early settlers made Tourtière frequently, and it’s a filling and very tasty pie. I don’t normally like French Canadian stuff, but Tourtière and Poutine are acceptable.

    Ingredients:

    • pie crust
    • 2 teaspoons kosher salt
    • 1 teaspoon freshly ground black pepper
    • 1 teaspoon dried thyme
    • 0.5 teaspoon dried sage
    • 0.5 teaspoon ground cinnamon
    • 0.5 teaspoon ground ginger
    • 0.25 teaspoon freshly grated nutmeg
    • 0.25 teaspoon ground allspice
    • 0.25 teaspoon ground mustard
    • 0.125 teaspoon ground cloves
    • 1 pinch cayenne pepper
    • 1 large russet potato, peeled, quartered
    • 1 teaspoon kosher salt
    • 1 tablespoon butter
    • 1 large onion, finely chopped
    • 1 pinch salt
    • 0.5 cup finely diced celery
    • 4 cloves garlic, crushed
    • 1 pound ground pork
    • 1 pound ground beef
    • 1 cup potato cooking water, plus more as needed
    • 1 large egg
    • 1 tablespoon water

     

    First, make the spice blend. Mix together the salt, black pepper, thyme, sage, cinnamon, ginger, nutmeg, allspice, mustard, clove, and cayenne in a small bowl. Set it aside.

    Next, make the filling. Place potatoes and 1 teaspoon kosher salt in a saucepan; cover with cold water. Bring to a boil, reduce heat, and simmer until tender, 10 to 15 minutes. Use a slotted spoon to transfer potatoes to a bowl, reserving potato cooking water in the saucepan. Mash potatoes with a potato masher until smooth; set aside.

    Melt butter in a skillet over medium heat. Add chopped onion and a pinch of salt. Cook and stir until onions turn golden, 10 to 15 minutes. Stir celery, garlic, and spice blend into the skillet with onions. Stir until onion mixture is evenly coated with spices, about 30 seconds.

    Add ground pork, ground beef, and about ¾ cup potato cooking water to the skillet. Cook, stirring occasionally, until meat is brown and tender and most of the liquid has evaporated, about 45 minutes. Stir in mashed potatoes , turn off heat, and let cool to room temperature. Preheat the oven to 375*F.

    Place your dough in a 9-inch deep-dish pie plate. Have the top crust rolled out into an 11-inch circle, and keep it for later.

    Fill bottom crust with meat mixture. Smooth out the surface. Whisk together egg and water in a small bowl to make an egg wash. Brush egg wash over the edges of the bottom crust. Cover with top crust; press lightly around the edges to seal. Trim excess dough and crimp the edges. Cut small slits in the top crust to allow steam to escape. Brush entire surface of pie with egg wash.

    Bake in the preheated oven until crust is well browned, about 1 hour. Let cool to almost room temperature before serving.

    Notes:

    I have a vegan version of this, where I replace butter with margarine, and the meat with a Beyond Beef “ground pork” sausage. It turns out very well, and has been enjoyed by many friends who were surprised to find it was not real meat!

  • My oldest son is on the spectrum. He has a job but does not have a license. He still lives with his mother, my ex-wife.

    When he was in middle school, I attended an IEP (individual education plan). This is where we lay out what accommodations he needs and how best to get him educated.

    I’m in a conference room with his “team”. This is the principal, multiple teachers, the special-ed coordinator and a few specialists. There are two males in the room. The principal and me.

    As we start the meeting, the special-ed coordinator says, “These math classes are difficult. We believe that your son will be best served by removing the math requirement. Math is hard.”

    I was livid. “Have you ever talked to him? Do you have a clue as to what is capabilities are in math? That is his easiest class? I’m betting that not a one of you majored in a STEM major. Math is hard? No, it is hard for you.”

    This is one of the most important concepts in mathematics. Anything times zero is zero. Dividing anything by zero is undefined.

    Calculus is about pretending you can divide by zero. Not because you are dividing by zero, but you are using a very small number in place of zero. Or, as calculus puts it, “as delta x approaches zero…”

    • The parent has fail math
    • Unless the third grader is Sheldon or Doogie, the correct answer is, 0. And for most people, of any age, the answer is 0. Context matters.
    • Sounds like the parents gotta go back to third grade LOL
    • I disagree that a number divided by zero is undefined. You had a number, 1, in this case. Then you didn’t divide it. So, 1 remains untouched. It shouldn’t lose its definition based on something you didn’t do.
    • Teachers right tho
    • Logically he is technically right. If you have one thing then divide it by nothing then you still have that thing cause there is nothing to divide by.
    • Both the parent and the kids sharing the same brain cell
    • She didn’t know the answer is infinity either.
    • typical USA level education
    • Yes, give up this fight. This is sufficiently correct for grammar school.

    There are more idiots responding. Luckily, those that can do simple math out number them.

    The follow up seems to be that the teacher wrote an apologized, claiming that she was taught that 1/0=0 back in the 90s.

  • Have you read the Constitution? Do you know what it says?

    The fourth article reads, “A well regulated militia, being necessary to the security of a free state, the right of our youth to keep and bear arms shall not be infringed.”

    That isn’t what you read?

    This is from an image in the Library of Congress. It is a reproduction of the original Bill of Rights, as proposed. Articles 3 through 12 became the first 10 amendments to our Constitution.

    For many young people, it might as well be 一個受到良好管制嘅民兵,對自由國家嘅安全係必要嘅, 人民持有同攜帶武器嘅權利唔會受到侵犯。 It is just noise to me. I’m sure that somebody can translate it back to English, but it will lose something in the translation.

    There are many people that can no longer read cursive. It is not taught in most schools. The purpose of cursive was to increase the speed that you could write. My son’s legal signature is block letters.

    It falls in the same category as counting change. Try this experiment, buy something, then pay in cash, but hand them change to make it a nice return. If the bill is 7.12, hand them 12.12 and watch them try to refuse the extra $2.12.

    If you force them, they will be surprised when the cash register tells them to return a $5.00 bill.

    I talked about the educational industry replacing words. Pupils became students became learners.

    Everybody gets a participation award.

    Today, everything is digitized. Photos can be manipulated/faked. Videos can be made by AI from a prompt. People have lost the ability to think critically.

    My wife has difficulty in assigning value to different sources. Add to that, her ability to pick up a scary phrase from the talking head and not know the context means that she has difficulty discerning what is likely true, and what is likely not.

    Tina Fey said, “I can see Russia from my house.” and today, most people attribute it to Sarah Palin. And if you point out their air, they can tell you that they have heard and seen Sarah say it.

    We are on the cusp of losing our history. Words change meaning to fit the wants of those defining it.

    It is hateful to speak the truth. So don’t speak it. Nobody else is saying these things, you must be wrong.

    Every one in the MSM is saying it, it must be true.

    The Supreme Court said this about that. Oh, have you read the opinion? What, it wasn’t an opinion? What was it? Oh, it was an administrative stay.

    Did you read the bill? No? Then you don’t know what it says or means.

    And, as one lawyer put it, we don’t know what a law means until the courts tell us.

    NAZI used to mean a particularly nasty form of socialism. Today it either means a particularly nasty form of socialism, or it means somebody the left doesn’t like.

    I just want a win that lasts for more then 24 hours.

  • Trump v. Wilcox on application for stay was granted. It was a 6-3 opinion. The usual suspects were on the wrong side of history, again.

    Justice Kagan wrote the dissent.

    For 90 years, Humphrey’s Executor v. United States, 295 U. S. 602 (1935), has stood as a precedent of this Court. And not just any precedent. Humphrey’s undergirds a significant feature of American governance: bipartisan administrative bodies carrying out expertise-based functions with a measure of independence from presidential control. …

    Miggy made the mistake of letting me write for him. Then I begged him to let me write when he wanted to close GFZ. When I started, I knew I had things to say about some cases happening. I just didn’t know what I didn’t know.

    I started reading and listening. The more I learned, the more I knew I needed to learn.

    I have gotten to the point where I read at least part of every opinion the Supreme Court writes. Certain things keep showing up.

    It is obvious to any honest person that the Second Amendment means that all gun-control is unconstitutional. The closest we have gotten to anything that is even remotely close to being allowed is that a violent person can be temporarily disarmed.

    The Justices that believe in the Constitution express it as “The plain text and this Nation’s historical tradition of …”. This means that if the plain text of the Constitution is implicated, the burden shifts to the government to prove that there were similar regulations at the time the constitution was adopted and when the particular amendment was ratified.

    The 14th Amendment must be interpreted as it was understood at the time it was ratified, in the late 1800s, not 1791. The Second Amendment must be interpreted as it was understood at the time it was ratified, in 1791.

    The authority of the Executive branch was established on June 22, 1788.

    Humphrey’s Executor v. United States was issued in 1935. It cannot be used to establish the meaning of Article II. It is NOT part of this Nation’s historical tradition of regulations regarding the President’s authority.

    Since Roe v Wade, every Supreme Court nomination has been asked, “will you mess with Roe v. Wade?”. If the answer is “yes”, the Democrats would fight tooth and nail to keep that person off the Court.

    This is always the way of the left. We see it in the court battles against the Trump administration. They will fight a battle, lose, claim victory, then fight the same battle again.

    They repeat this until they win. After they win, they claim that this is the standard and cannot be chanted. To attempt to change it is evil, against the will of The Person, and wrong. This is what is happening with the court shopping they are doing. They don’t have to win every case against Trump, just one.

    If they lose, they will attempt the same case in a different jurisdiction, until they get a win.

    Roe v. Wade was a shit decision. The Dred Scott opinion was even worse. But according to the left, these cases should never have been challenged, much less overturned.

    FDR decided that Government was the answer. Regardless of the question, the answer, according to him, was the government.

    You don’t have a job? The government will create work, then hire you to do that work. People aren’t preparing for their retirement, the government will do that for you.

    The problem he was facing was that much of what he wanted to do wasn’t really constitutional.

    In addition, the next president could just undo the shitty things he had done. He needed a way to protect his policies.

    The answer was the creation of Government Entities that were performing Article II duties, but which had limited presidential oversight.

    Before FDR’s power grab, the president could fire anybody in the executive branch. He was that powerful. He got Congress to pass bills creating entities who’s governing body or head could only be fired for cause.

    Congress created them all, though at different times, out of one basic vision. It thought that in certain spheres of government, a group of knowledgeable people from both parties—none of whom a President could remove without cause – would make decisions likely to advance the long-term public good.

    Kagan, Sotomayor, and Jackson all believe that an opinion from 90 years ago says more about this Nation’s historical tradition of regulations than does Article II, adopted in 1788.

    The People chose to put the authority into one person, the President, who they could change, every four years. The government is beholden to the People. The government doesn’t get to say that “a group of knowledgeable people” should be exempt.

    Power corrupt, absolute power corrupts absolutely.

  • I am NOT a good source of information about the HPA. I’m not even sure the “A” stands for “Act”.

    That said, repeating what I’ve read and heard from people I respect and follow:

    The HPA removes suppressors from the NFA. This means they are no longer regulated under the NFA. No tax stamps, no registering them, no “extended” background check. No need for chief law enforcement permission. That is all gone.

    The GCA would still consider them firearms and require a 4473 to purchase them.

    This means purchasing a suppressor becomes just as easy as picking up another Glock or Sig.

    State laws might (will) vary.

    If the Senate were to pull the HPA or there are not enough votes, then the HPA can go away, but there is still an amendment to reduce the cost of registering from $200 to $0.

    All the rest of the bullshit remains, but that $200 savings isn’t something to stick your nose up at.

    I’m eagerly awaiting the day when I can start experimenting with cans. Of course, there is a boat load to learn about making a suppressor, I’m not sure how a booster works.

  • I know I harp on about practicing all the time, but it is THAT important. I do that on a fairly regular basis, more and more so as I pick up events as an author. When I go to an event, I’m cooking over an open flame at the very least, and sometimes living on site with limited access to water, food, and shelter.

    Yes, I pack in food and water with me. If an emergency happens, friends and family are a mere phone call away. I’m in a fort that does have electricity if I need it, even if it’s a bit less than convenient to get at it. Heck, I could walk to the grocery store if I wanted; it’s a mere mile away.

    While I’m there, though, I do my best to learn more about survival and prepping skills. I learn more about how our ancestors lived, knowing nothing about dishwashers, cell phones, televisions, and print on demand books. I always approach fort weekends (or an entire week, as in this case) with a goal in mind. I want to learn something that I don’t know much about yet, or have only book knowledge of. Or I go to practice a skill I already know, but am not comfortable with yet.

    This trip, I’m working on pie crust. You might ask, why pie crust? It’s not particularly necessary, not a skill that’s high on the list of things to help you survive. On the other hand, being able to whip up a hand pie for a journey IS a handy skill. Modern me might go buy a pasty, but here at the fort, I get the opportunity to work and make my own.

    So this week is all about Cheshire Pork Pies, Tourtière, Apple Pie, and baking bread. I consider myself a subject matter expert about basic breads at this point, but I am adding something new to my skillset. This week, I’m firing up the big outdoor beehive oven. It’s large enough to bake many loaves of bread and pies, all at the same time.

    I know that the basics are just like firing up the miniature one in my cabin. But this will be production cooking. See, there’s a primitive rendezvous going on in the lower field, and I’m going to be attempting to bake bread and pies for sale. Or rather, for trade, because while money is nice, I have several things I need that I can get at the rendezvous. I look forward to enjoying morning coffee with the folks in the field, then going “shopping” among the various vendors that attend.

    After, I get to go back to my comfortable cabin with the fireplace roaring to keep the chill out. Temperatures during the day aren’t supposed to get much above 65*F, and the evenings will be in the low 40s, so having dry wood and the ability to be comfortable and warm (and dry, on the days it’s likely to rain) will be wonderful.

    What skills are you working on this summer?