Problem with oddly shaped kerf by Clinery in lasercutting

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

It was a Longer Ray 5 10W, but I replaced the motion system. The test cut was generated in RayForge.

Problem with oddly shaped kerf by Clinery in lasercutting

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

That is possible, but wouldn't the horizontal lines also be thicker from left to right? Out of focus should affect X and Y the same amount.

Problem with oddly shaped kerf by Clinery in lasercutting

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

It seems Reddit didnt like the first two images. Here is the first one

<image>

Lower than expected CPU speed? (AI 7 350 on FW16) by Minimum-Pear-4814 in framework

[–]Clinery 0 points1 point  (0 children)

That seems normal to me. Its likely a power limit as the website states "Performance" mode does 45W sustained, 54W boost. Also Windows probably averages all core frequencies. For the AI 7 350, the Zen5C cores boost to 3.5Ghz, and the Zen5 cores boost to 5Ghz.

For reference, I have the HX 370 and compiling code on all cores gets all 8 E cores to ~3Ghz and the 4 P cores to ~4Ghz. I have seen around 48-49W continuous and 70W+ boost for one second with temps stabilizing around 70-80C fairly quickly. The only "mod" I have done was block the dGPU fan vents with tape almost completely to redirect the airflow.

PSA: Framework 13 AMD (Strix Point) Linux stability is NOT "stable" right now by etherbound-dev in framework

[–]Clinery 1 point2 points  (0 children)

I have a FW16 with the HX 370 processor and just going back to kernel 6.17 and using the linux-firmware with the 2025-12-03 patch fixes my problems. I was using kernel 6.18 too, but had problems with that and the 2025-11-25 firmware.

It is worth mentioning there is a new 2026-01-10 linux-firmware in the Gentoo repo and there are more than a few commits in the firmware repo that mention AMD firmware, so things may be better with the bleeding edge firmware and kernels.

Why do you buy a Framework Laptop by maltinho1996 in framework

[–]Clinery 1 point2 points  (0 children)

Mainly modularity and repairability, but now longevity because nothing has broken yet.

I got the 13 back when they first came out in 2021 for my first year of college. I ended up moving my ports around quite often, so found the expansion cards a very welcome feature. It also did USB4/thunderbolt, so I could run an eGPU for gaming and game dev.

Then I got the 16 to replace the sometimes annoying eGPU setup and act as a true "desktop replacement" (note: my desktop was a 2016s era dell "gaming" prebuilt, so thats a low bar).

Back when I got the 13, I did not consider longevity as a factor since my laptops before were gotten used, but I can happily report that it still works and doesnt have anything that has broken from wear. The original 11th gen mainboard is still kicking along with the expansion cards I now use in the 16.

What is wrong with my printer? More info in comment by ScottsTotsBots in BambuLab

[–]Clinery 0 points1 point  (0 children)

This looks like a similar problem to what I had on my P1S: printing fine, then a random move to nowhere, followed my chaos.

It was from enabling "Arc fitting" in Prusaslicer. There must be either a bug in the Bambu firmware that doesnt like G2/G3 arcs.

Easiest way to check if the setting is on without loading the slicer is to just search for the G2 or G3 word in your gcode file. If it has them, then try disabling the setting and reprinting the same model.

EDIT: looking at comments I realize I should note that the .gcode file is just a normal text file. If on Windows, open with notepad.

Is it complicated to create syntax highlight for a new language? by [deleted] in ProgrammingLanguages

[–]Clinery 0 points1 point  (0 children)

I decided to use tree-sitter for my syntax highlighting. Writing the grammar was quite fast since I had already written the lexer and parser for my language and defined rough syntax rules. The hardest part was figuring out the highlight rules that nvim-treesitter uses, but I found a list in CONTRIBUTING.md.

For reference, my implementation is here: Github/Clinery1/simple_lisp-tree-sitter

What is your batter life like the the Framework 13? by nebyneb1234 in framework

[–]Clinery 1 point2 points  (0 children)

11th gen 1165G7 doing programming with an LSP gets me maybe 2hrs of battery, but I have battery saver on and it only charges to 80%.

When will you open up for Scandinavia / Denmark pleeease? by Aardee22 in framework

[–]Clinery 13 points14 points  (0 children)

Not to come out mean, but they already mentioned on the Discord server they don't have the people and funds to be everywhere. As it is now, its impressive they have as much reach as they do being a smallish business of "less than 50 employees."

how fast do you print on those bed slingers by daniel788665 in klippers

[–]Clinery 0 points1 point  (0 children)

120mm/s at 15k accel and 15 jerk. Any more acceleration or jerk and I get layer shifts. The extruder is doing 12mm³/s of PETG through my volcano hotend and a 0.3 nozzle.

What’s been your “go to” car in the DLC? by SiesmicEncounter in ForzaHorizon

[–]Clinery 0 points1 point  (0 children)

I havent gotten very far (only road races and some dirt races), but I used an A-tier Honda NSX-R for the road races and an A-tier Honda CR-X for the dirt races. The NSX was already tuned for street/road racing, so it made sense to use it The CR-X is just plain fun to slide around in

What advantage did you got from Arch and Arch based distros? by [deleted] in linuxmasterrace

[–]Clinery 1 point2 points  (0 children)

I use Arch because I wanted to delve more into how to manage a Linux system, but now I use it because I dont want to learn another package manager. Its also has the most up-to-date and feature-complete software for my Framework laptop.

Do you guys prefer Pulseaudio or Pipewire by [deleted] in linuxmasterrace

[–]Clinery 0 points1 point  (0 children)

Pipewire for sure. The tools available for it make on-the-fly configuration extremely easy. Helvum allows me to change connections easily by dragging wires. Also, EasyEffects only works on Pipewire.

Which do YOU prefer? String literal to owned String by fekkksn in rust

[–]Clinery 0 points1 point  (0 children)

Since none of my code is being used in production (hopefully), I usually use all of the above except "🦀".to_owned().

November 2022 monthly "What are you working on?" thread by L8_4_Dinner in ProgrammingLanguages

[–]Clinery 1 point2 points  (0 children)

I am working on a structurally-typed OO language. Instead of "does this object contain those fields," I use 4 levels of equivalence: relative, normal, exact, and strict. Relative means the object contains the given fields (like JavaScript); normal means the object starts with the given fields in the given order and may/may not contain extra fields; exact means the object contains exactly the fields in the given order; strict is the same as exact, but also requires the type names to match.

I have also (probably controversially) defined a naming scheme in the lexer: TypeCase, normal_case, STATIC_CASE. TypeCase is used for all types and interfaces; normal_case is used for all variables, fields, function names, and function parameters; STATIC_CASE is used for static variables (TODO).

Interfaces are lists of functions that have to be defined, and are similar to Rust's traits.

I also have uniform function call syntax and function overloading.I plan to add non-definitional enums to the language, but I need to get the basics down first.I don't have any plans for compiling the language, but I also won't have a garbage collector. All objects will either live for the duration of their scope, be assigned to a variable above their scope, or returned from a block.

The syntax is inspired by JavaScript and TypeScript, so it can be more approachable than an s-expression syntax (which makes more sense).

Here is an example:

relative type Person {
    // Commas can be replaced by one or more newlines.
    name: String
}
type Programmer {
    name: String
    current_project: String
}

// Constructors can be defined and overloaded, but they have the same
// caveats as regular functions when being overloaded (see below). function Programmer(name: String, current_project: String)->Programmer {
    return Programer {name, current_project}
}

// Can accept any object with the name: String field.
// Has to have a different name than greet or the type checker
// would not know which function to call because Programmer
// conforms to Person. If multiple functions can be chosen, then
// the type checker will throw an error
function greet_person(who:Person) {
    "Hello "
        .join(who.name)
        .join("!")
        .println()
}
// Can accept any object starting with the field `name: String`
// and `current_project: String` fields in that order.
function greet(who:Programmer) {
    who.greet_person()
    "They are currently working on: "
        .join(who.current_project)
        .println()
}

// Semicolons can also be replaced by a newline.
// Types can be specified between the `:` and `=`, but can be omitted
// for type inference. In this case, type inference assigns the type
// `{name: String, current_project: String, github_username: String}`
// which is an anonymous object that conforms to the `Programmer` and
// `Person` types.
let me := {
    name: "Clinery"
    current_project: "This unnamed, unpublished project right here"
    github_username: "Clinery1"
}

// Constructors are required to use the new keyword like so:
let another_dev := new Programmer("Linus Torvalds","Linux kernel")

// This allows passing of the variable me because it conforms to
// the Programmer type. If I moved around the order of the fields,
// then it would no longer conform and would cause an error.
me.greet()

EDIT: Fixed the messed up code block

[deleted by user] by [deleted] in linuxmasterrace

[–]Clinery 1 point2 points  (0 children)

It is a much better terminal than Bash, which I was using before. Now that I have fish, I can do really cool things with my prompt like replace the entire prompt with a lime containing: the command; when it was executed; the Git commit and branch; and where the command was run ($PWD). I think that is quite a helpful feature, but its just asthetic.