HackerTrans
TopNewTrendsCommentsPastAskShowJobs

bluetomcat

no profile record

Submissions

LLM coding is the wrong layer of abstraction

bbuyukliev.blogspot.com
3 points·by bluetomcat·3개월 전·1 comments

Show HN: Shell script and text database for vintage Lego Pirates collections

github.com
3 points·by bluetomcat·5개월 전·0 comments

The choice between Rust and C-derived languages is not only about memory safety

bbuyukliev.blogspot.com
45 points·by bluetomcat·7개월 전·19 comments

Show HN: Cdecl-dump - represent C declarations visually

github.com
35 points·by bluetomcat·7개월 전·13 comments

From epoll to io_uring's Multishot Receives

codemia.io
16 points·by bluetomcat·9개월 전·1 comments

comments

bluetomcat
·4개월 전·discuss
No. Plausible code is syntactically-correct BS disguised as a solution, hiding a countless amount of weird semantic behaviours, invariants and edge cases. It doesn't reflect a natural and common-sense thought process that a human may follow. It's a jumble of badly-joined patterns with no integral sense of how they fit together in the larger conceptual picture.
bluetomcat
·4개월 전·discuss
We went from expressing computation via formal, mostly non-ambiguous languages with strict grammar and semantics, to a fuzzy and flaky probabilistic system that tries to mimic code that was already written. What could go wrong?
bluetomcat
·7개월 전·discuss
You are correct. The final output was polished by ChatGPT, but I originally presented the basic ideas in a few paragraphs. The LLM added a sense of flow and persuasiveness which are somehow lacking in my rather dry and non-native English writing style.
bluetomcat
·7개월 전·discuss
It starts from the identifier. At every stage, it outputs a sub-expression which is the “mirrored use” and corresponds to the boxed representation below it. When it reaches the top of the expression, it prints the final type of the expression which is the lone specifier-qualifier list.

As per the screenshot, “arr” is an array of 4 elements. Consequently, “arr[0]” is an array of 8 elements. Then, “arr[0][0]” is a pointer. And so on, until we arrive at the specifier-qualifier list.
bluetomcat
·8개월 전·discuss
And consequently, "you need 32GB of RAM just to be future-proof for the next 3 years".
bluetomcat
·9개월 전·discuss
Because in C, every allocation incurs a responsibility to track its lifetime and to know who will eventually free it. Copying and moving buffers is also prone to overflows, off-by-one errors, etc. The generic memory allocator is a smart but unpredictable complex beast that lives in your address space and can mess your CPU cache, can introduce undesired memory fragmentation, etc.

In Java, you don't care because the GC cleans after you and you don't usually care about millisecond-grade performance.
bluetomcat
·9개월 전·discuss
Yes, you can do it with minimal allocations - provided that the source buffer is read-only or is mutable but is unused later directly by the caller. If the buffer is mutable, any un-escaping can be done in-place because the un-escaped string will always be shorter. All the substrings you want are already in the source buffer. You just need a growable array of pointer/length pairs to know where tokens start.
bluetomcat
·9개월 전·discuss
Good C code will try to avoid allocations as much as possible in the first place. You absolutely don’t need to copy strings around when handling a request. You can read data from the socket in a fixed-size buffer, do all the processing in-place, and then process the next chunk in-place too. You get predictable performance and the thing will work like precise clockwork. Reading the entire thing just to copy the body of the request in another location makes no sense. Most of the “nice” javaesque XXXParser, XXXBuilder, XXXManager abstractions seen in “easier” languages make little sense in C. They obfuscate what really needs to happen in memory to solve a problem efficiently.
bluetomcat
·10개월 전·discuss
> These lies don’t just affect them but also the people reading it as they might never see what actually happens

This is what sustains this whole economic bubble built on debt and future promises. At all levels of society, you have these inflated unrealistic expectations and BS circulating in the media. Technically-incompetent but eloquent and charismatic CEOs predict that in 6 months, some major technological shift will happen. Managers preach about adjusting their organisations to these new realities. Workers have no choice but to play the game with all its dirty tricks, if they want to stay employed. Anyone who dares to say that the emperor has no clothes is isolated in a dark corner because they may suddenly deflate the value of the whole economy. This is corporate feudalism disguised as a competitive economy.
bluetomcat
·10개월 전·discuss
They were popular because there was no Unix culture in Eastern Europe at the time. Pretty much any computer geek was a DOS user. To me personally, it always seemed kind of lame because many of these people would not bother to properly learn the shell language.
bluetomcat
·작년·discuss
Absolutely. LLMs offer you compressed documentation at your fingertips. Instead of scrolling through man pages and function references to find that specific flag or parameter you are interested in for the problem at hand, you can directly formulate such a question to the LLM, and it will give you a pretty good result.
bluetomcat
·작년·discuss
> I'm not sure if all this advice will become irrelevant or if those programmers trained in the 2020ies will not become those "best"..

It's how they use the AI. If they see it as a glorified StackOverflow where you paste a big chunk of code and ask "why does it not work", they'll be in trouble. If they are able to narrow-down their problems to a specific context, express them well and take the output of the AI with a grain of salt, they'll be 10x programmers compared to what we were in the 2000s, for example.
bluetomcat
·3년 전·discuss
Few people at software companies are designing systems from scratch nowadays. If they are, they'll be gluing together third-party middleware applications like database systems, queues, proxies, load balancers, etc.

A general understanding of computer architecture, programming language theory, networking and common protocols and formats is more valuable. At that fundamental level, they won't be using recent fancy buzzwords to sound cool, but could be using their brain to come up with something original.
bluetomcat
·4년 전·discuss
> Maybe it's just knowing that you have this perpetually winding machine on your hand

It's a mechanical device which stores energy in a spring barrel, and consumes it through a set of gears to produce constant velocity motion.