HNHacker News
TopNewBestAskShowJobs

ki_

120 karma · joined March 30, 2022

submissionscomments
ki_··on Jonathan Blow discusses simple approach to operator precedence [video]
I dont know why they make it that difficult. I just do it like: https://pastebin.com/duN0cGJY
ki_··on The M2 is more advanced than it seemed
I have an M2 for my work. MacOS still gives me random lag spikes sometimes. But it's probably because the OS is bad and not the hardware. This is never an issue on win/linux. idk. im not a fan. but.. im just saying.. if the hardware is so superior, why does it feel so inferior? Like.. my $500 linux laptop feels smoother and faster (GUI wise)
ki_··on Server-side rendering is a better choice for many applications (2020)
1. You can share templates between front & back-end using any language. (im not talking about WASM)

2. CSS has NOTHING to do with js/ts.

3. Most single page js applications require SSR anyway, otherwise you have a blank screen or spinner until the browser has downloaded & intialized everything.

Personally, i dont care if it's SSR or SPA. But the js/ts community tends to use things like webpack in combination with ~20 packages which themselfs rely on ~20 packages, resulting in index.js files that are +2MB... That's bad programming.

ki_··on People over-emphasize the recycling aspect of "reduce, reuse, recycle"
horrible article, title is super clickbait and totally not what the article represents. There is no backfire and all it says is that some people dont know what can or cannot be recycled...
ki_··on Show HN: Ki Programming Language
I thought v was older, hmm, ok. But still, all these languages should have reached 1.0 by now. Except for jai, because jblow has other things todo. Wasnt c created in 2 weeks?
ki_··on Show HN: Ki Programming Language
at the moment, if you want a non gc language with automatic memory management, rust is your only choice. ki is an alternative, but my goal is to make it a much simpler than rust. I need to spend some more time writing rust & ki in order to answer your question with full certainty.
ki_··on Show HN: Ki Programming Language
in v? i have no idea, never used it.
ki_··on Show HN: Ki Programming Language
! ignores the function error (only possible with void return types)

!? provides an alternative value when the function errors

!! exits the current scope on an error, e.g. return,continue,exit,...

It doesnt seem that complex. Ofcourse, there is also '??' and '?!'. That might make it more difficult. It's not vague actually. if it starts with '!', it's a function error handler. if it starts with '?', it's a null-check.

ki_··on Show HN: Ki Programming Language
I removed this section from the website. As others said, the text is not good and not really helpful.
ki_··on Show HN: Ki Programming Language
"It does not have any garbage collection and instead uses ownership combined with minimal ref counting to manage memory"

Because we only allow you to store values with ownership inside other objects, you cannot have a circular reference. It uses reference counting to know if something needs to be freed or not. But because we keep track of ownership and moved values we are able to run an algorithm that removes most of these counts.

ki_··on Show HN: Ki Programming Language
I think v-lang is faster than ki, rust, go. But their memory management isnt waterproof. Also, they have been in development for a really long time and there isnt much progress. They should have reached 1.0 by now, but they havent and i think it's because the language might have problems.

oh and, v-lang does have GC. they use boehm gc.

ki_··on Show HN: Ki Programming Language
yeah, that might be a good idea.
ki_··on Show HN: Ki Programming Language
I could add an example to the git README. Currently there is an example on:

https://ki-lang.dev/

https://ki-lang.dev/docs/dev/intro

For a more indept view of the language you will have to see the docs. An overview might not be bad indeed.

ki_··on Show HN: Ki Programming Language
i'll remove it ^_^ it seemed like they want you to use Visual studio and for me it was like 10GB+ for a minimal setup. idk.
ki_··on Go with PHP
All i see is that the php fpm based frameworks (e.g. laravel) are 100x - 300x slower. And this is the best case scenario. When projects grow, php-fpm gets slower and slower. Which is not the case for go. Im not a go-fanboy, my entire carreer has been in PHP. Im just saying, PHP is one of the most terrible languages for web servers. And it's all php-fpm's fault. On top of that, the PHP community seems to promote OOP and SOLID which are the last design patterns you want to combine with php-fpm. There's a reason why facebook created their own PHP transpiler.
ki_··on An introduction to lockless algorithms (2021)
Ringbuffers are one of my favorite things to use. Thanks for the article.
ki_··on Astral
If both run under 500ms. I guess it's your choice. Just pick the one that's most productive for you. If flake8 takes longer than 1 second, i'd replace it with ruff. 1 second is a really really long time for a linter, even if your codebase is 1 million lines of code.
ki_··on Using io_uring for network I/O
Thanks for changing it, i dont know why people are giving you such a pushback, personally, i think the internet could use a bit less hype titles.

Side note, i'd pick "Using" instead of "Use"

ki_··on The Determinate Nix Installer
I like nix because it seems like an alternative to docker. Yet. Im never going to use it, because it has complexity and i dont understand why. Which is why i dont use docker nor nix. I can work with both, i just dont want to waste my time on them unless i have no other option.
ki_··on Rust: A Unique Perspective (2019)
That's distributed ownership. Basically you get ownership of certain objects for no reason. And if you question the Goverment Class about this behaviour, you get freed from memory. Not a good strategy in my opinion.
ki_··on Rust: A Unique Perspective (2019)
True. But doing this yourself can result in bugs. It would be nice if we didnt have to think about it.
ki_··on Rust: A Unique Perspective (2019)
I just meant that 99% of software was written without the idea of ownership. Sure, we had objects containing other objects, but i dont see that as "ownership".

Interesting arguments. Thanks.

ki_··on Rust: A Unique Perspective (2019)
as a language designer.. im still stuck wether ownership is a good or bad idea. I like ownership because that's how we handle things in the real world. Eg. 2 people grabbing potato chips out of a bag at the same time is a bad idea. We pass the bag along. wait turns. But for some reason, we dont do this with computer programs. So.. should we do this with computers or not? Feel free to reply.

My instinct says 'yes'. But i also have a feeling that im going to run into problems that current languages dont have. Such as being forced to copy data or have complex systems like in rust to make the compiler happy.

ki_··on FOSDEM 2023: Glad to Be Back
You cant balance it. In order to balance it, you already have to put these people into certain boxes, which is already pretty offensive. Then you'll have to descriminate against people in certain boxes in order to balance it. ITS WRONG. Stop grouping people up based on their skin color or sex or whatever. stop it.
ki_··on FOSDEM 2023: Glad to Be Back
Well, there is nothing to fix. As long as the speakers are picked based on their content, everything is fine. But OP suggests we pick speakers based on their skin color... that's fucked up.
ki_··on FOSDEM 2023: Glad to Be Back
> FOSDEM is dominated by a very telling lack of diversity

No one cares about a persons gender or skin color. We care about the information that's being shared. Only racists and sexists care about the gender and skin color of the speakers.

ki_··on Why ultra-light urban vehicles offer the only viable future for EVs
ugliest car i have ever seen. people wont buy it. simple.
ki_··on Show HN: Socketify.py: Http/Https and WebSockets servers for PyPy3 and Python3
huh? waw. strange. there are 2 fibers on the benchmarks. 1 slow and 1 really fast. Same for socketify. 1 fast, 1 slow. Why is this?
ki_··on Show HN: Socketify.py: Http/Https and WebSockets servers for PyPy3 and Python3
sure it's faster.. but go gin and fiber are really slow. they are literally 90% slower than the fast go frameworks. Not that im a go fanboy, but to put things into context here, the actual context here is: python framework 5% faster than fiber and 85% slower than gnet/silverlining/gearbox.
ki_··on Why Domain Driven Design?
"In essence, all principles help you to model your software in a way that’s highly cohesive and loosely coupled- They are the building blocks of a well designed software."

My suggestion, stay away from all these design patterns. In my experience, they lead to overly complex code because of all the structure. The best structure is the most simple one.

"When you start thinking in abstractions and create abstractions in your code, either top down or bottom up, you will end up producing a good software design."

This, to me, is the most untrue statement you could make about software. Abstractions introduce more complexity, the more complex, the less stable and maintainable your software becomes.

If you want well designed software, you need to keep it the code simple, so its maintainable. Then add some tests to it so you are certain it works correctly. Working with a type strict language is also recommended. To me, this is the only way (right now) to build stable software.

Keep LOC low, keep file count low, stay away from abstractions and hidden code (unless it's very useful somewhere), keep the amount of types/classes low. TL;DR; you dont want a "code maze. aka. 10 million lines of structured code".

Page 1 of 3Next →