• Being a little short of ideas today, I went to the well again. X never fails to deliver.

    I have seen so many lists of Republican wins that when this showed up in my feed, I just read it.

    And what I read sounded like a win to me. I went to see which of the people I was following posted this wonderful list.

    It was David Hogg. He posted this thinking it was a win. He is the gift that just keeps on giving.

    Yes, the feature image is AI generated. Grok made it for me.

    Somehow, they managed to talk for 30 hours straight in a 24-hour day.

    It is unconstitutional to create a law targeting a person.

    The acting secretary of Education will give the letter all the attention it is worth. About nothing.

    They admit it is just a delay tactic.

    Good, let’s find out if they should be receiving funds, if they are supposed to receive funds, let’s get the money flowing again. If they aren’t supposed to be receiving funds, great! We’re done.

    We win.

  • By the authority vested in me as President by the Constitution and the laws of the United States of America, it is hereby ordered:

    Section 1. Purpose. The Second Amendment is an indispensable safeguard of security and liberty. It has preserved the right of the American people to protect ourselves, our families, and our freedoms since the founding of our great Nation. Because it is foundational to maintaining all other rights held by Americans, the right to keep and bear arms must not be infringed.

    Sec. 2. Plan of Action. (a) Within 30 days of the date of this order, the Attorney General shall examine all orders, regulations, guidance, plans, international agreements, and other actions of executive departments and agencies (agencies) to assess any ongoing infringements of the Second Amendment rights of our citizens, and present a proposed plan of action to the President, through the Domestic Policy Advisor, to protect the Second Amendment rights of all Americans.
    (b) In developing such proposed plan of action, the Attorney General shall review, at a minimum:
    (i) All Presidential and agencies’ actions from January 2021 through January 2025 that purport to promote safety but may have impinged on the Second Amendment rights of law-abiding citizens;
    (ii) Rules promulgated by the Department of Justice, including by the Bureau of Alcohol, Tobacco, Firearms, and Explosives, from January 2021 through January 2025 pertaining to firearms and/or Federal firearms licensees;
    (iii) Agencies’ plans, orders, and actions regarding the so-called “enhanced regulatory enforcement policy” pertaining to firearms and/or Federal firearms licensees;
    (iv) Reports and related documents issued by the White House Office of Gun Violence Prevention;
    (v) The positions taken by the United States in any and all ongoing and potential litigation that affects or could affect the ability of Americans to exercise their Second Amendment rights;
    (vi) Agencies’ classifications of firearms and ammunition; and
    (vii) The processing of applications to make, manufacture, transfer, or export firearms.

    Sec. 3. Implementation. Upon submission of the proposed plan of action described in section 2 of this order, the Attorney General shall work with the Domestic Policy Advisor to finalize the plan of action and establish a process for implementation.

    Sec. 4. General Provisions. (a) Nothing in this order shall be construed to impair or otherwise affect:
    (i) the authority granted by law to an executive department, agency, or the head thereof; or
    (ii) the functions of the Director of the Office of Management and Budget relating to budgetary, administrative, or legislative proposals.
    (b) This order shall be implemented consistent with applicable law and subject to the availability of appropriations.
    (c) This order is not intended to, and does not, create any right or benefit, substantive or procedural, enforceable at law or in equity by any party against the United States, its departments, agencies, or entities, its officers, employees, or agents, or any other person.

    Protecting Second Amendment Rights

  • I know we’re out of season, but this seemed to be a good topic. Butchering applies to all animals, and whether you’re taking something small or large, there’s a level of skill to getting it done. The video is self explanatory, and it’s pretty good. I learned things watching it, and I hope you do, too.

    I wanted to talk about butchering in general, though, for those who may not want to sit through an hour long video (though I do recommend doing so when you have time, it’s VERY good). In my very strong opinion, the hardest part about harvesting an animal is killing it. Once the animal is dead, it doesn’t really matter what you do to the body. It’s not going to complain or suffer in any way. So if you can shoot or otherwise dispatch the animal, know that the butchering can go as slow as needed and no one’s going to judge you for your cuts.

    The purpose of butchering is to get the meat off the animal and into usable pieces. When you’re talking about large game like deer, elk, moose, bear, and the like, you will be dealing with parts rather than a whole animal. Like in the video, your butchering will consist of taking pieces off the larger carcass, and then preparing them for freezing or otherwise preserving them for long-term storage. Smaller animals like chickens, ducks, geese, possum, squirrel, etc. are small enough to allow you to work with the whole animal, and so the process is slightly different. You can prepare the entire carcass for freezing or preserving, which can be easier (but occasionally is more tedious).

    The first order of business with any animal is to remove the guts, the viscera. Generally speaking, this involves opening the stomach cavity from the anus to the ribs, and then carefully pulling everything out. In larger animals this is pretty easy except for the first cuts. I always worry I’m going to puncture something when I’m cutting around the anus, and you don’t want that because you don’t want fecal matter in what’s going to be your food. Basically, you have one long connected tube (or more correctly, set of tubes) that go from mouth to ass, and you need to remove it all. There are internal organs that can be eaten, like the heart, liver, and kidneys. Technically, brain is also edible, as well as other stuff, but the other areas are very much filters for all sorts of things. Liver and kidneys, while filters, aren’t likely to pass anything on to you (especially after both freezing and cooking), but I always avoid the brain, lungs, and other stuff. The sole exception to this is that you can use the large intestines of some animals to make sausage casing (generally you would use pig, but technically any large animal intestine will do), but it requires a lot of cleaning to make it safe. Hides on larger animals can be removed first or last, depending on how you’re storing it during processing.

    (more…)

  • Snow Blowers

    I’ve moved away from having any 2-Stroke gas-oil mixtures in gas cans. I don’t use enough of it. I purchase it in one gallon tins. This means there is never a question as to the right gas can to use to feed a motor.

    We have a few gas cans around. Unfortunately, the one with gas for the mower and snow blower lost its spout cap.

    This means that dirt got into the spout. When we filled the mower and snow blower, the dirt got into the machines, which required a carburetor cleaning.

    They also replaced a cable and such. In their nice warm workshop. Then the blower got wet. Water got into the cable housing. The temperature drops. Water in cable housing freezes.

    Now I have a running blower, but I can’t engage the augers.

    Thank goodness for propane torches. It only took a few moments to get it defrosted enough to move. I’ve poured oil into the cable housing in hopes of displacing the water. I’ll find out later.

    Wicks Burn Too

    The last time I went to use the kerosene heater, it wouldn’t work. I need to replace the wick. If you run the heater until it is out of fuel, it consumes almost no wick. But if you extinguish it by dropping the wick, it will smolder and consume the end of the wick.

    I have spare wicks, but it is a messy, smelly task to replace. Fun for tomorrow.

    Unelected

    It is astonishing to me to hear Democrats screaming that Elon is unelected. Yes, he is unelected. And he is doing this president’s bidding.

    Just like your unelected bureaucrats do your bidding.

    He might not be on the government payroll, but he has just as much right to do the bidding of the President as any other unelected bureaucrat.

    He’s looking at classified data!

    So what? If that data is classified, then the people who are looking at it have the proper clearances and the need to know.

    Tough.

    The issues they keep raising, “we don’t know what he’s doing!”, and “He’s going to use YOUR sensitive data!” are non-starters.

    Look, this guy is the wealthiest person in the world. If he were to “steal” every penny I have, it wouldn’t make a noticeable change in his wealth.

    I trust him a hell of a lot more than I trust an unelected bureaucrat.

    Clocks

    You can’t make a stratum 1 NTP server for less than $75. The board, the GPS, the antenna, the case, and the power supply all add up.

    I believe I can make and sell a clock for around $150.

    Reporting On Trump

    It really isn’t going to happen here. Something happens at noon. I write about it at 2100. It is published at 0630 the next day.

    And there is an entirely new thing Trump has done.

    SCOTUS Watch

    The Court is still doing work. They are still issuing orders. An interesting set of Orders came out Thursday night.

    The Acting Solicitor General (Trump person) asked for the briefing schedule in some cases to be held in abeyance. In all five cases, the Court said, “No.” This means the cases will proceed as originally scheduled.

    We still have not heard anything on Snope or Ocean State Tactical.

    I expect to have the cases denied with one or more statements. The other possibility is that the Court might decide to issue an opinion without briefings or oral arguments.

    They do this when they GVR a case. Normally, they tell the inferior court to do the case over in light of some recent opinion.

    What if, and this is just hopeful wishing, the Court decides they don’t need to hear the cases? What if they feel they can write an order?

    We know that the plain text of the Second Amendment is implicated. The two cases got here by the inferior courts twisting words to say that “assault weapons” and “magazines” are not arms under the protection of the Second Amendment.

    The Court has the power to vacate the inferior opinions and order a new opinion.

    We live in interesting times.

    Question of the week

    If you could afford it, would you book a state in Trump Tower, Gaza?

  • The amount of grief I’ve put up with to get this working buggers imagination.

    To have a NTP stratum 1 server, you need to have a certain set of capabilities.

    First, you need a stratum 0 device. This is an atomic clock or a GPS receiver.

    You need a method to communicate with the GPS receiver.

    Your clock needs to be network connected.

    Each of these pieces must be done correctly with the least amount of jitter possible.

    Jitter is how much a signal deviates from its target. If the jitter is zero, then we have a level of accuracy that depends solely on our reference clock.

    The little GPS unit is self-contained. If it is supplied 3.3V of power, it will search for satellites and do the calculations to know what time it is and where it is.

    The calculations turn out to be for someplace along the cable from the antenna to the GPS unit. Some highly accurate versions of the GPS SoC measure the length of the antenna feed and account for that in the calculations. Regardless, it is the time for a place a little offset from the actual GPS chip.

    For me, that is a delay of around 10ns.

    The GPS will communicate via a serial protocol. This means that we have a delay from when the message is received and when we can put our timestamp on the message. For me, that is around 140ms.

    This can be discovered by tracking the time indicated by the serial GPS and the system/local clock. The local clock is synced to multiple remote NTP servers to get this number.

    Unfortunately, there is about a 1ms jitter in this signal.

    If I were to use a USB converter. I.e., serial to USB, that jitter goes up. I am seeing a jitter of 4 to 9 ms.

    Using the serial directly is a good start.

    But there is another signal that can help. That is the Pulse Per Second (PPS). We are using a 1second pulse.

    IFF we can capture the time at which the pulse arrives, we can get a very accurate start of the second marker.

    This requires that the hardware have a general purpose input/output(GPIO) pin available.

    Most motherboards do not have exposed GPIO pins. Worse, some boards have GPIO pins, but there is no documentation on how to access them.

    So the server board requires GPIO plus a method of accessing those pins.

    There are two ways to discover a change of value, we can pole for it, or we can get an interrupt.

    Consider you have your phone alerts silenced so you don’t get a noise every time you receive an email or message.

    You have to check your phone for new messages. This is “poling”.

    If somebody calls, your phone still rings. You then immediately check to see who it is and perhaps answer the phone.

    This is an interrupt.

    The default operation of a GPIO pin is poling driven. Even if it is generating an interrupt, that interrupt is only used to record the change of value.

    What is needed is a high-performance interrupt handler. When an interrupt happens, the handler records the system clock. A user land process watches, either poling or interrupt, it doesn’t matter, for that value to change.

    When it changes, the software knows that the GPS “knew” it was the start of the second when it created the pulse.

    The amount of jitter is only as much time as it takes for the system to allocate a CPU and for that CPU to process the interrupt. In other words, really, really fast.

    Currently, the jitter on my PPS reference clock is 300ns. Because of the many samples that have been taken, the PPS reference clock is currently running 17ns from the real time. That has been going down over the last few hours. By the time you read this, it is likely to be even less.

    The PPS clock is so tight that the other clock sources hide the values, even in logarithmic form

    This is an interesting graph, to me, as it indicates how the system clock is slowly being conditioned to keep more accurate time. It software currently says that the drift is -17.796271 ppm off which I think translates to 3.324ms

    So how bad was this task?  More painful than I wanted it to be.

    I’m fine with “dumb” computers.  I started programming on 6502s.  I’ve been bit slinging for 50 years.  Programming Arduino’s?  No problem.

    Building a PC from components, installing any compatible operating system?  I do it a dozen times a week when developing.

    The Raspberry Pi is a different animal.  It isn’t sold as a low-level system.  You can use it that way, but that is not how it is intended to be used. It is sold as a System On a Board (SOB) that runs a modern (Linux, Android) operating system.

    This is where things get strange. When we are working with modern PCs, they have known hardware.  We boot the computer, run the OS, the OS has drivers to talk to the hardware.  Everything just works.

    This is possible because PC’s have a Basic Input Output System (BIOS).  This is a low-level set of routines that are there to allow accessing certain parts of the hardware with a standard Application Protocol Interface (API).

    Since every BIOS has the same API, OS vendors can use the BIOS to load enough of their software to continue booting.  The hardware is attached in known ways.  The hardware vendor supplies the drivers for their hardware.  Linux people write their drivers if needed.

    So consider that SOB. It has a serial port.  The serial port is controlled by a standard UART.  That UART is programmed in a standard way.  They are all the same.

    In order for that UART to work, the software needs to know where the UART is located in memory (or on the I/O bus). In addition, the pins that the UART uses have to be configured for the UART.  Most UART’s use standard pins on the GPIO header. The pins that the UART uses can be used in different modes for different things.

    The problem comes from that address being different in every SOB or SOC.  A board could have one, two, or more GPIO driver chips.  It all depends on the designer.

    The developers overcome this issue with what is called a “Device Tree”.

    The device tree is a parsable description of devices and their locations in memory or on the I/O bus.

    The board I purchased doesn’t have a supported modern OS.  The only OS that I could get to boot was released in 2016.  The OS is not really supported anymore.  The board itself was flaky. It would randomly reboot, or just power off.

    The “modern” OS that should have worked didn’t even complete the boot.

    In discussions with a community support person, we decided that there was hardware that was not being properly initialized in the kernel.  I.e., we had a bad Device Tree.

    The replacement Banana Pi doesn’t have a supported modern OS.  It is fully supported by Arabian, which is a supported, modern OS.

    When I first booted the system, it just worked.  I was thrilled.  It has continued to work properly.

    Then I plugged the GPS in.  I could see it blinking.  This indicates that it has a lock and the PPS signal is being sent.

    But I can’t get any input on the serial ports.

    It turns out that the default device tree doesn’t activate that UART.  Once I figured that out, I had to find an overlay to the device tree to turn on the UART.

    That was a pain, but it happened.

    Working serial, no PPS.

    With the tools on hand, I could monitor the GPIO pin and see the PPS.  But it wasn’t doing anything.

    I loaded the correct kernel modules, still no PPS.

    My Google Foo suggested that the device tree entry for PPS was missing.

    Yep, there was no PPS overlay.

    The Linux kernel documentation describes the Device Tree.  But no real examples, and nothing fully commented.

    By comparing multiple sources, I finally was able to create a device tree overlay for PPS. I need to figure out how to return that DTD to the community.  The problem is, I don’t know what the hell I did.  I made it work.  I think I know what was done.  Nonetheless, it was truly a case of looking at different device tree overlays and picking out the parts that seemed to match what I needed to do.

    I don’t think I’ve had this much difficulty hooking up a piece of hardware since 1983, when I was attempting to attach a DEC 10 MB hard drive to a computer that wasn’t really a DEC.

    The only tasks remaining is to put everything in a case and move it to its long-term home, off the top of my computer.

  • The trade wars going on are making me chuckle. First, we have Mexico. Trump imposed a tariff on them, slated to begin at 12:01am Tue. Feb. 4rd. By 10am Monday, Trump had fielded a call from Mexican President Claudia Sheinbaum, and the tariffs were put on hold for a month. Why a month, you ask? Because Sheinbaum promised to “…reinforce the northern border with 10,000 members of the National Guard immediately, to stop drug trafficking from Mexico to the United States, in particular fentanyl.” (AP)

    Canada… now they’re doubling down. Or rather, I should say that outgoing Prime Minister Trudeau is doubling down. He’s put a 25% tariff on certain items coming from the US to Canada (the list is here: Canada.ca). Having zipped through the list, it looks like chicken and other poultry, cheese and other dairy products, wine and other alcohol, cigarettes, and then a list of various smaller products like suits and jackets, carpets, etc. The biggest one for me is the chicken. We in America have been experiencing a rising in chicken prices because we have less chickens due to many of them being slaughtered due to avian flu (I’m on the fence over it, but having talked to egg and meat producers myself, it’s not that big a deal and isn’t the main reason costs went up). If we’re not exporting chickens and eggs, that means we get to eat them. That should lead to our prices going DOWN. Seems like a win to me.

    Canada placing tariffs on our goods going north means that our folks will find people willing to pay better prices down here, in America. That means we keep American produce in America. That seems like a huge win to me. Bring it on.

    Funny (to me) quote: “And don’t forget bar cabinet staples, like tequila and Canadian whisky. According to the Distilled Spirits Council of the United States, a trade group, the U.S. imported $4.6 billion worth of tequila and $108 million worth of mescal from Mexico, as well as $537 million worth of Canadian spirits – including $202.5 million worth of whisky.” (AP) Goodness gracious, what ever will we do if we can’t buy Mexican tequila and Canadian whiskey? Oh, right, we make those here. Never mind then. LOL!

    And then we have Panama. I don’t understand all the minutia with the trade agreements between Panama and China, but I know that we used to own the canal. We built the damn thing. I can’t find news on it, but I heard through the grapevine that Panama has already caved on their Chinese partners, and modified things to allow better and more preferential treatment to American ships using the canal, thereby halting (at least temporarily) Trump’s tariffs.

    The bottom line is, everyone’s now watching Canada. They’re the only ones who didn’t immediately give in. I’m pretty sure that Canada is going to hurt more from this than America is. While Canada is a little bit larger, it has less population by far (336 million in America versus Canada’s 41 million). They simply don’t have what it takes to win this trade war. Eventually, they’ll give in.

    And while I’m pretty sure that Trump’s comments about making Canada the 51st state were jokes, there would be benefits to both countries in merging. It also might allow for some spacing out of people, maybe “redistricting” in a way? Regardless, it’s a fascinating idea.

  • Consider for a moment that you are a company that contracts with the government. You have a 5-page contract about what you are supposed to deliver, how much you will charge, and when it will be delivered.

    The other 200+ pages of the contract are where you promise to do all the “equality” stuff the government mandates.

    You don’t even need to be a government contractor, there are many industries where there is a government agency watching over them to make sure they are “equitable” in their hiring.

    So we have two positions open, one is for a Widget Designer, and one is for a Machine Operator.

    The requirements for the Widget Designer are that they have a 4-year degree, 3 years in the Widget Industry, and have two successful widget designs.

    The requirements for the Machine Operator are the ability to lift 50 pounds, to be able to stand for 8 hours, to be able to read English, and to be able to learn to operate the machine. Training will be provided by the company. The first 6 months are probationary.

    20 people apply for the Machine Operator position. The top 5 are asked to return for a second interview. After the second interview, two are offered employment.

    These 2 are the top 10% of the applicants. They both look good for the position, both have the potential to move up.

    And they are both people of color and met the diversity requirements put in place by the government. Everybody is happy. These are both merit-based hires.

    The Widget Designer position is a different animal. There are four applicants, not 20. Of the four, one does not meet the requirements and does not move forward.

    The other three are interviewed and two are asked to return for a second interview with the lead Widget Designer.

    After the second interview, there is a management meeting. The lead Widget Designer comes in to give his opinion.

    Candidate A is outstanding! They know this stuff inside and out. It turns out that they were part of the design team for the XYZ Widget Company.

    Candidate B is ok. They are competent, they will work out. We might have to do a bit of hand holding in the beginning, but not a horrible choice.

    The lead leaves and management gets down to work.

    Both candidates meet the requirements.

    But, one of them is a black woman in a wheelchair that is non-binary. The other is a normal, every day, guy.

    Who gets picked?

    If there is any DEI involved, the woman gets picked. If not, then candidate A gets picked.

    Did the company lower their standards if they picked the woman? No. They did not. Both candidates passed the requirements stage.

    Did they pick the best candidate for the job, based on merits? Only if the woman is candidate A.

    And this is how you end up with a lower quality of people without ever lowering your standards.

    If candidate A is not picked, he will go find something else to do. He might even change careers. The world is his oyster because he is a capable person.

    In a couple of years, when the company is looking for another Widget Designer because they hired based on “equity” standards and not merit standards, he, and many like him, aren’t available. They have moved on.

    Because there is an education requirement as well as an experience requirement, there is a tail from the time the “equity” hires start until there are new, qualified people.

    If a person in school learns that they will not be hired, because of the color of their skin, they will switch majors. That means from the time that they say “We want to hire” it is four plus years before we have new candidates, with no experence.

  • I’ve been in the Psycho wars for the last couple of weeks. One poster tells me how this action is illegal, this other poster tells me it is constitutional.

    This person tells me that Mexico backed down. This other guy informs me that Trump backed down.

    I’m told that we are about to get into a shooting war with Panama, and then the Panamanian president tells me he’s caved.

    Over here, I’ve got the Governor of Canada notifying me that he’s going to ruin my week by putting tariffs on the goods coming into his state. Then I have this person explaining how his state has lots of “salty” crude oil. Which can only be processed at one US refinery. So according to this person, he has to send his crude to the US, at a 25% tariff, then we will refine it, and then his people will import it and face another 25+% tariff.

    Really, somebody needs to take this to SCOTUS. The constitution clearly states that this sort of interstate squabbling isn’t supposed to happen.

  • At this time of year, with the blisteringly cold nights, a pot of hearty potato soup is just the thing to warm you. I love this plain, where I get to enjoy the simple flavors of the potato itself. I also love it “blinged out” with cheese and onions and other delicious additives. It’s super easy to make, too!

    Ingredients:

    • two tbsp margarine, butter or olive oil
    • one potato per person, plus one extra, diced, skins on or off to taste
    • one to two onions, chopped roughly
    • one tbsp minced garlic per person
    • enough chicken or vegetable stock to cover the potatoes completely
    • milk or cream, to taste
    • finely chopped fresh parsley (optional)
    • crumbled fresh bacon (optional)
    • shredded cheese of your choice (optional)

    In a soup pot, heat your butter or oil and add the onions. Cook for a few minutes, until the onions are clear and limp. Add the garlic and stir well, cooking for another minute. If you are using fresh parsley, add half of it now and give the onions a good stir, then add the potatoes and the broth, just to cover them. Bring to a boil, then reduce heat and simmer until potatoes are tender and starting to fall apart.

    Remove the pot from the heat. Using a potato masher, mash the potatoes until they are the consistency you like. Some people prefer a lumpy soup, with large chunks of potatoes (that would be me). Others like a smooth, pureed soup (my children), and this can be achieved by pouring the soup into a food processor or blender and giving it a bit of a whir. Alternatively, you can use an immersion blender easily enough for something in between.

    Once the soup is the right consistency, return it to a medium high heat and bring it to a low boil. Add your cream or milk if you want, and salt and pepper to taste. Simmer until it’s as thick as you like it. As a quick fix, if you find your soup isn’t thick enough, you can always add dehydrated potato flakes until it’s the right thickness. Add the remaining fresh parsley right before removing it from the heat, and stir to distribute evenly. Serve the soup in large bowls garnished with a sprig of parsley, and a sprinkle each of bacon and cheese.

    Notes:

    If you’re in a real hurry, or you’re exhausted and just want potato soup, use instant potato flakes in your favorite flavor. Add enough liquid to make it soupy, then add your onions, parsley, and toppings. This isn’t as good as making it yourself, but it’s nice in a pinch or when you’re camping and don’t want to be bothered with whole potatoes.

    You can add all sorts of things to potato soup. A loaded baked potato soup would have bacon, onions, sauteed mushrooms, and cheese. You could do broccoli and cheese as a topper for something that pretends to be healthier. Add a dollop of sour cream and paprika to the top for a creamier finish. Use your imagination!

  • So the Mexican cartels have decided that they want to play games and win big prizes.

    They might actually find out. They have already started taking pot shots at federal agents on the north side of the river.

    I believe that we might just have that moment when Mexico remembers that they lost all the wars with the United States.

    A bit further south, Rubio visited with the president of Panama. They contract with the Chinese company has been canceled, and it looks like the canal will go back to treating US ships with due respect.

    The Governor of Canada is having a hissy fit. Seems that he doesn’t want to close the border to drug trafficking and unvetted terrorists crossing in to the rest of the US.

    Instead, he has decided to call what he thinks is a bluff. A 25% tariff goes into effect this week.

    Doubling down on stupid, Mexico and the great state of Canada have decided to impose tariffs on us.

    As the Texas Governor put it, “Texas has a larger economy than Canada, and we are not afraid to use it.”

    Have a fantastic week.