News for hackers. Stuff that matters.

waqar144

Re:Framework Laptop 16. Upgraded! on Tuesday August 26, 2025 @05:13PM (#45032405)
Please fix the performance of your website. Scrolling down is too slow and crashes my browser sometimes.
Re:Finally, a Makefile formatter (50 years overdue) on Sunday June 22, 2025 @05:38AM (#44345443)
Uh, why Python?
Re:Why Tracebit is written in C# on Monday February 03, 2025 @02:34PM (#42921890)
Nice, thanks a lot for sharing the knowledge.
Re:Why Tracebit is written in C# on Monday February 03, 2025 @09:56AM (#42918775)
You keep ignoring the point. Show me how can I write a program in C# that works with a fixed size memory region, lets say 512KB. It should not do any dynamic memory allocation.

Here's a library that does this in C in case you are wondering: https://github.com/rxi/microui.

Re:Why Tracebit is written in C# on Monday February 03, 2025 @01:30AM (#42915546)
In C, I can just write the whole program without calling malloc. I write my own allocator tuned for my programs behavior, I even have multiple allocators if needed. I just have a lot more control available. If you can't do this in a language, you can't claim its performance is close to C. Performance is about control.
Re:Why Tracebit is written in C# on Sunday February 02, 2025 @01:32PM (#42910601)
> performance ceiling of .NET is at approximately the level of C/C++/Rust/Zig

Not really. You don't have the same level of control over memory in managed languages

IIRC, you came around in the kate channel on the matrix. Unfortunately you gave up really close to getting the build successful :)

I did try to help as much as I could, but I am no Craft expert myself and we were transitioning to Qt6 at that time so things were more difficult than usual. Should be a lot easier now I think if you want to try.

the architecture is really simple. The buffer contigously stores a list of "blocks". Each block contains a small number of actual text lines (usually 64-128). Thus if you edit a line, we only need to update the block containing the line. Once a block grows bigger than a certain number of lines, we split it into two.
Kate has good code integration these days, but it depends on the language. Might not be great for some languages.
because its not very easy to come up with new designs, at least for me. On the other hand if another tool provides a good and easy to understand UI, copying it makes sense. Kate still has a lot of its own things and ideas.