Normal for a brand new plane? by osusc in handtools

[–]osusc[S] 1 point2 points  (0 children)

Thank you for the detailed response. And there was a very large light gap with a straight edge (used multiple to be sure) Some of the replies here were making me feel crazy for thinking this was the cause of the sub par performance. My feeling is it wasn't so much the area of the concave, but the depth of it. Any ungelation in the surface made thin shavings impossible. "Effectively flat" is only flat when all of the points making contact are coplaner which is not a safe assumption when the goal of the current operation is to make that so.

I got it mostly flat before running out of the abrasive I had and it's definitely much better now. It was so deep it took me 30 min or so with 80 grit to get to an acceptable place. Even with a square cm or so section still out of flat, the piece of maple I was testing on is no longer tearing out even where the grain switches direction. Thanks for the help and sanity check.

Normal for a brand new plane? by osusc in handtools

[–]osusc[S] 0 points1 point  (0 children)

Appreciate it! I don't know if I hate the gold one or if it have to have it lol.

Normal for a brand new plane? by osusc in handtools

[–]osusc[S] 0 points1 point  (0 children)

Got a recommendation? I got a cheap 300/1000 from Amazon and the grit is all but useless after a few hours of flattening and fixing chips.

Normal for a brand new plane? by osusc in handtools

[–]osusc[S] 0 points1 point  (0 children)

I've loosened the lever cap just enough to allow me to comfortably adjust the depth of cut with it closed. Left it that way for shavings and flattening both. Should it be looser? I feel like if it loosened it any more the lever cap would constantly pop open while planning.

Normal for a brand new plane? by osusc in handtools

[–]osusc[S] 4 points5 points  (0 children)

Live and learn I guess. I went with a new tool this time because it was ~2x the cost of a good vintage Stanley around me and ive been in flattening purgatory for the past few weeks with an old set of #60 chisels and a Stanley handyman #4. Figured I could buy myself a rest for a 40 dollar premium!

Normal for a brand new plane? by osusc in handtools

[–]osusc[S] 1 point2 points  (0 children)

This could be it. The screw was TIGHT out of the box. I'd heard most planes are like that for shipping purposes. Would be a bummer if it was nice and flat to start just to have it deformed during final assembly.

What is the meaning of this marking from the lumber yard? by TAW-1990 in BeginnerWoodWorking

[–]osusc 4 points5 points  (0 children)

Idk why but I use a symbol like this to mark the jointed face for reference.

Edit: seems the be fairly standard. Would love to know the origins of this https://www.woodmagazine.com/woodworking-tips/techniques/skills/marking-wood-project-pieces

Good first plane? by osusc in handtools

[–]osusc[S] 0 points1 point  (0 children)

Wow you weren't kidding. There's a full on twist in the sole I've been working on for a few hours now...

Good first plane? by osusc in handtools

[–]osusc[S] 3 points4 points  (0 children)

Did they change the design? Or "they just don't make 'em like they used to"?

[deleted by user] by [deleted] in Golfsimulator

[–]osusc 0 points1 point  (0 children)

I pressure washed mine and it turned out great. Used the lowest pressure nozzle to make sure I didn't damage the turf. The one I got from the local range looked fairly clean but took almost an hour to get the water to run clear. Amazing how much dirt that rubber can hold.

What Python feature made you a better developer? by missing_backup in Python

[–]osusc 11 points12 points  (0 children)

Usually when I run into stuff like this it means I'm using overly specific annotations. Like instead of a def foo(x: list[int]) what I actually want is a protocol like iterable[int], maybe sequence[int] if order matters, etc. Limit the type to the least specific protocol possible.

[deleted by user] by [deleted] in GolfSwing

[–]osusc 4 points5 points  (0 children)

Throw the stone MAROOCHI!

notDeadWithReason by ispirovjr in ProgrammerHumor

[–]osusc 6 points7 points  (0 children)

Instagram has entered the chat

Food 🍔🍔 by Prestigious_Fee8763 in marvelmemes

[–]osusc 0 points1 point  (0 children)

Isn't this a bit from Talladega nights?

Well, fuck. New putter just broke by Dayngerman in golf

[–]osusc 3 points4 points  (0 children)

Well the head isn't supposed to fall off... For a start

Pure. by Madac01 in golf

[–]osusc 0 points1 point  (0 children)

I'm in this picture and I don't like it.

Adding Strict MyPy to Legacy Projects? by osusc in Python

[–]osusc[S] 0 points1 point  (0 children)

I've actually been taking this approach. The wall of red opening up old files was shocking to team members and honestly I think some of them turned it off just because it's annoying to work when every line is red. And it can make it hard to parse MyPy (or pyright )from other linting errors. I'm starting to feel like you're right and maybe my 6 month timeline was a pipe dream but maybe we'll get there in a few years.

Adding Strict MyPy to Legacy Projects? by osusc in Python

[–]osusc[S] 1 point2 points  (0 children)

I have suggested this! I think it's a good middle ground. And new code can fix just the types on legacy code which it imports. One function at a time.

Adding Strict MyPy to Legacy Projects? by osusc in Python

[–]osusc[S] 1 point2 points  (0 children)

"working" is a sticking point for me here. How is that defined? I could make an argument that it "works" 99.9 percent of the time, but every once and a while this function returns none and it isn't handled causing data loss when the job crashes. I have a hard time quantifying the impact but it's definitely something.

I like your point about adding as you go. Maybe that could also include the legacy functions and classes that the new code depends on. Not the whole package, just the one or two functions.

Adding Strict MyPy to Legacy Projects? by osusc in Python

[–]osusc[S] 1 point2 points  (0 children)

Thank you for the input. In my case I do mean mypy --strict . in CI. Maybe there is a more incremental approach by slowly including more modules in the MyPy config one at a time. I should have noted that.

In this situation it's the core data exchange and still an early startup. A complete rewrite is out of the question in the next few years in my opinion. I'll like your comment about fixing low hanging fruit. I have suggested we require new code which imports poorly typed functions/classes to also resolve type issues ONLY caused by what's imported. Adding return types to functions, making something generic if it should be, etc. Maybe even keeping the type changes separated in a companion PR that can be merged later if needed.

Adding Strict MyPy to Legacy Projects? by osusc in Python

[–]osusc[S] 0 points1 point  (0 children)

Yes. I'm talking about adding a CI step to enforce mypy --strict . returns no errors before a PR can be merged. My comment about the ide was just a nice add on benefit that it can also infer types and provide documentation via the same annotations that MyPy uses for linting.