The inside of the action of a browning bl22 rifle. The insert can be seen in the “roof” of the action.
It is the second time that I have to fix this issue where the trigger fails to release the hammer.
Symptom: The lever is not closing completely and then you cannot pull the trigger.
Cause: There is a small piece of steel in the “roof” of the action that has come loose and slides forward.
Fix: Fix the steel insert in its place, now with a much stronger adhesive. I used Loctite 648 this time.
Okay, first you need to make everything super clean and free of grease. Then you sand the slot with some fine sanding paper first as another cleaning step and then you use a coarser sanding paper to roughen up the surface.
Look at how nice and clean that has become π
Next, clean the insert thoroughly and use fine sanding paper first, then coarser paper.
The cleaned insert.
I chose for a stronger loctite this time, because I want to wait with more intrusive ways to affix this part. Have I noted that this part should never have come out in the first place? It’s not even noted in any parts list…
Maybe this grade of Loctite is good enough. If not, then we go back to the drawing board.
There, all fitted together and now I will give it plenty time to dry and cure. Was briefly pondering about heating it up, but that’s a bit of a weird thing to do with glue as you can also often use heat to undo glued together parts.
Will it stick?
I’ll go try it out tomorrow with some beefy ammo. I bought CCI EX Stingers that will yeet the nope with 1640 feet per second. If that breaks the glue bond, I’ll have to figure out another way to affix the insert.
Something I need to test still, but adding it here for later use, maybe. If you find a bug, please let me know! And I’m halfways sure that the author shown in this link doesΒ it less complicated, but it’s fun to learn and play around with code. https://github.com/kleampa/not-paid
GOAL: Let the website fade away, one step per day.
Modify the function to decrement the opacity by a step (e.g., 0.1).
<script>
function decreaseOpacity() {
let body = document.body;
let currentOpacity = parseFloat(window.getComputedStyle(body).opacity);
if (currentOpacity > 0) {
body.style.opacity = (currentOpacity - 0.1).toFixed(1);
}
}
</script>
Adjust the local storage logic accordingly.
<script>
document.addEventListener("DOMContentLoaded", function() {
let storedOpacity = localStorage.getItem('bodyOpacity');
if (storedOpacity) {
document.body.style.opacity = storedOpacity;
} else {
localStorage.setItem('bodyOpacity', '1');
}
});
function decreaseOpacity() {
let body = document.body;
let currentOpacity = parseFloat(window.getComputedStyle(body).opacity);
if (currentOpacity > 0) {
let newOpacity = (currentOpacity - 0.1).toFixed(1);
body.style.opacity = newOpacity;
localStorage.setItem('bodyOpacity', newOpacity);
}
}
</script>
Modify the date-checking logic to call the decreaseOpacity function.
<script>
document.addEventListener("DOMContentLoaded", function() {
let storedOpacity = localStorage.getItem('bodyOpacity');
let lastIncrementDate = localStorage.getItem('lastIncrementDate');
let today = new Date().toDateString();
if (storedOpacity) {
document.body.style.opacity = storedOpacity;
} else {
localStorage.setItem('bodyOpacity', '1');
localStorage.setItem('lastIncrementDate', today);
}
if (lastIncrementDate !== today) {
decreaseOpacity();
localStorage.setItem('lastIncrementDate', today);
}
});
function decreaseOpacity() {
let body = document.body;
let currentOpacity = parseFloat(window.getComputedStyle(body).opacity);
if (currentOpacity > 0) {
let newOpacity = (currentOpacity - 0.1).toFixed(1);
body.style.opacity = newOpacity;
localStorage.setItem('bodyOpacity', newOpacity);
}
}
</script>
Here is how the complete HTML file might look for the fading away effect:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Decrease Opacity</title>
<style>
body {
opacity: 1; /* Initial opacity */
transition: opacity 1s ease; /* Smooth transition */
}
</style>
</head>
<body>
<h1>Hello, World!</h1>
<script>
document.addEventListener("DOMContentLoaded", function() {
let storedOpacity = localStorage.getItem('bodyOpacity');
let lastIncrementDate = localStorage.getItem('lastIncrementDate');
let today = new Date().toDateString();
if (storedOpacity) {
document.body.style.opacity = storedOpacity;
} else {
localStorage.setItem('bodyOpacity', '1');
localStorage.setItem('lastIncrementDate', today);
}
if (lastIncrementDate !== today) {
decreaseOpacity();
localStorage.setItem('lastIncrementDate', today);
}
});
function decreaseOpacity() {
let body = document.body;
let currentOpacity = parseFloat(window.getComputedStyle(body).opacity);
if (currentOpacity > 0) {
let newOpacity = (currentOpacity - 0.1).toFixed(1);
body.style.opacity = newOpacity;
localStorage.setItem('bodyOpacity', newOpacity);
}
}
</script>
</body>
</html>
So with this setup, the opacity of the body tag will start at 1 (fully opaque) and decrease by 0.1 each day until it reaches 0 (fully transparent). The localStorage ensures that the opacity persists across browser sessions and days.
In order to get a clear image, rotate the lens 0.625 turns left, presuming that the white line that has been drawn on the lens case starts at the bottom.
Today I learned that the following command creates a test capture with the raspberry pi camera:
libcamera-still -o test.jpg
The output from the commandWe have an image!
And by golly, it works! So yet again some progress has been made. Somewhat worry that it is blurred, so let me make another one with the lights on:
Oh no, this is way too blurry
Well heck. That’s not good. I have still not been ably to install python3-picamera3. Would that be the issue? Weird though. Let’s do another test with a mug at 10 cm distance:
Well, that doesn’t look good…
One more test then at 20 cm:
20 cm has failed too.
Sooo. Not sure what’s going on here, but at least the camera works. π
The progress is slow, but steady. Everything is now assembled and ready to go. Now it is time to find the best opensource dashcam software. I have now hooked it up to the local network so I can poke it everywhere I want.
After cleaning out my Browning BL22 and replacing some springs, I experienced an issue with the lever on a regular basis. I took it apart again, checked everything, only to have it re-appear again.
Then I noticed that a small plate in the roof of the rifle’s action housing had come loose. After some investigating, I deduced that this was a part that should not move around. Especially since I discovered that I could visibly see the plate when the issue occurred and by pushing it back, I could resume shooting. Another pointer was, that this particular part does not occur in any parts list.
The correct position of the plateThe plate itself, which does not appear in a parts list.
This is how it looks when the plate has moved then then causes a lockup:
So I decided to use some Loctite 242 to lock the plate in place and now time will have to tell whether this works or not.
Alright, that was a lot of soldering and it’s not perfect, but I’m not either. So with that done, I have bolted on the PiSugar auxiliary battery and I think it is time to plug in the camera as well. Now I do hope that I find that one github thing back where all the code was!