skysight-inc/HackerNews huggingface dataset:
Yeah autocorrect doesn’t like me this week
Metal is not particularly bad.
That was my point, too, though I can see how that was unclear.
I'm all for it, if they are paid 10x that is.
Code coverage should be easy. if it's costing time, you're doing it wrong. if you're trying to apply it to an old project that did not use code coverage from the start: This is one way to do it wrong. you couldn't hold a gun to my head and make me do that. you can have a little bit of code coverage in this case, but not 85% - no. The moment it proves that it will be costing more time than it saves is the moment you can count me out.
From https://ghostty.org/docs/features:

> macOS

> Quick Terminal: Lightweight terminal that animates down below the menu bar for instant access without interrupting work.
I assumed this kind of thing would be automated lol
Rather than Broadcast Channel, you can use the Web Locks API (https://developer.mozilla.org/en-US/docs/Web/API/Web_Locks_A...). This handles the leader election pretty seamlessly because all tabs try to become the leader and only one actually can.

This library (https://github.com/pubkey/broadcast-channel) from the fantastic RxDB javascript DB library uses WebLocks with a fallback to Broadcast Channel. But, WebLocks are supported on 96% of browsers, so probably safe to just use it exclusively now
It rules them all, only if you are on a Mac yourself and have a Thunderbold cable.

If you are on anything different and want to hook up, say a Studio Display, you can't use USB-C (below 4) and that is not USB-IFs fault.

Besides that, what I meant was the connector standards mix before USB-C has become mandatory here, and I think you knew that. Other than that, all what you wrote is also determined by the devices connected, so this may be why most of the people out there don't even realize there might be a reason to buy Thunderbold.
Ask HN: Is there any open-source project I can contribute to get hire?
I need help to find a job with relocation package, I like to show my skills by contributing to your existing projects and solving your problems so you can ensure i am a good fit. Anybody can help?
There is a curious way to address this in official immigration statistics: an arbitrary cut-off at the year 1950. Anyone who arrived before that year is not considered an immigrant: https://www.destatis.de/DE/Themen/Gesellschaft-Umwelt/Bevoel...

(Note: The English version of that page is quite different.)
Practice does not make perfect. I know people who sing every single day, yet after decades of practice it's out of tune.

Practice just means you'll get better at doing what you're doing. If what you're doing is wrong or lame then you'll just use even fewer brain cycles to do the wrong thing.

Improvement only comes when someone specifically seeks out to change the way they're doing things.
UnrePress: WordPress updater to core and plugins without using Wordpress.org
I think you just got whooshed.

That apart, I think there's something to the "stronger in a group" principle.
aaaand I broke it. It is now hallucinating phantom locations.
Weblocks (https://developer.mozilla.org/en-US/docs/Web/API/Web_Locks_A...) are an even better way to do this than Broadcast Channel
Digest Mining Ciphers: Novel Hash-Based Pre-Image Security Primitives [pdf]
Are Language Models Actually Useful for Time Series Forecasting?
No no, let me be clear. It’s a business, my natural instincts were “this is a waste of money even if it doesn’t take much work”. It’s a business! It’s valid feedback. This is not true for all businesses, but for our business it was true.

How do you tell many many many developers that the reason they shouldn’t focus on certain things is because it’s a waste of money?

This not a topic that comes up a lot because most developers are divorced from the bottom line.

Anyway, this topic can head off in all kinds of directions.
doesn't work, as in, no response at all and full of console errors
Lua as a language is underrated, yes. Lua as the implementatation of PUC Rio is what it is. It misses abstractions in the runtime to make it pre-emptive and parallel. It is also somewhat telling that Mike Pall despite his come back announcement didn't deliver.

It comes with batteries but they only fitt into one brand well. Compare this to eg golang or Python.
I work in dynamically typed languages a lot, so I don't have many opportunities to feel the way you do. Could you give an example where moving from static to dynamic would reduce cognitive load?

For the opposite example, here's where my preference comes from: I'm editing a function. There's an argument called order, and most likely it's either an instance of some Order class, which has some attribute I need, or it's an integer representing the I'd of such an order, or it's null. I'm hoping to access that attribute, so I have to figure out the type of order.

In a dynamically typed language, I'll have to look at the caller of my function (goes on my mental stack), see where it gets it order from, potentially go to the caller of that function (goes on my mental stack), etc until I hopefully see where order is instantiated and figure out it's type, so I can take the call sites off of my mind, and just keep the type of order in my mental stack.

But actually, this is wrong, because my function is called by way more functions than the ones I examined. So really, all I know now is that _sometimes_ order is of type Order. To be sure, I have to go to _all_ callers of my function, and all their callers, etc. This grows exponentially.

But let's say I manage, and I find the type of order, and keep it in my mind. Then I need to repeat the same process for other arguments I want to use, which is now harder because I'm keeping the type of order on my mental stack. If I manage to succeed, I can go and edit the function, keeping the types of whatever variables I'm using in my head. I pray that I didn't miss a call site, and that the logic is not too complicated, because my mental stack is occupied with remembering types.

Here's how to do this in a statically typed language: read the type signature. Done.
> Vivek thing on twitter

Link?
I don't entirely agree with the article, but there are some aspects I to agree with, perhaps for different reasons.

In my experience a key differentiator is passion. Folks who are passionate about a subject will typically explore it more, and thus have a wider array of experiences and tools to draw on. This makes them able to solve problems others cannot.

It's not so much that the others couldn't ever do it, but they might simply not know enough to ask the right questions to get started or similar.

It's not a 1:1 correspondence, but it is in my view a strong signal.

That said, there are many different aspects to being a good engineer, and most are stronger in some and weaker in others. A good team has a good mix.
> it’s in the middle of Europe between Asia and Africa

I would say that's a bit of a stretch.

It is true Germany has a long history if immigration, but before modern times that was mostly from eastern and southern Europe, not from other continents [1].

[1] https://en.wikipedia.org/wiki/Immigration_to_Germany
Why would you expect to be able to cook without essential cookware like pots and pans?
What do you mean exactly by cross compiling?
Having known plenty of extroverts, I don't see how this is true.

The discussion here is wrong and at odds with the science I've seen and my anecdotal experience. You can't just decide we're all the same and that some of us just have an attitude problem. That's asinine and irritating.
Hmm, maybe you’re just a labeler and I’m noncommittal? Just kidding, I’m glad it works for you.
What a strange article. In reality it’s about what they don’t do not “can’t” do.
This is a very specific question.
I think my cat is a weak Engineer!
I enjoyed writing a small module for the Prosody XMPP server, which is written in Lua. Everytime I had to look into the internals I found what I was looking for pretty easily.
No real risks, but this gives them a convenient excuse not to. I've had companies and government agencies refuse FOIA requests for technical documentation on privacy grounds because "it applies to a system that processes personal information", with some adding that "knowing the inner-workings of the system would lead to a likely compromise of the system".

Yes, government contractors will gladly admit between the lines that their code is garbage and they largely rely on security through obscurity. And the information comissioner has agreed with them a few times!
One way I think of it is chess analogy.

You can say you can play chess because you know the rules and how the pieces move - weak engineers most likely know how to program, they know the syntax and general idea how it works.

Then you can have regular players who can play the game and know openings etc. So they will plough through someone who just knows the rules.

Then there are grand masters who are playing on level where regular players are not even close even if they play a lot.

Important part of this analogy is that in chess it is so clear cut - but for eng roles it is of course fuzzy.

But it is easy for anyone to try to play against different levels of chess players to understand what is the difference. You can set computer program to emulate players or hit any online chess platform.
The US would have an easier time hiring overseas talent if immigration wasn't a lottery for visas that makes you tied to your employer.
Ask HN: What is one programming language you would recommend to a new learner?
if you could only recommend one, regardless of its functions, which one would it be?
Open-Source Uber in India Crosses 71M Trips (Namma Yatri)
I recommend that book and also "Coders At Work". I got gud after reading those two books.
> Rust's core premise is trading off dev speed and flexibility for memory safety

Rust's main competitor in gamedev is C++, which is not especially known for its "dev speed and flexibility". There are ways to do fast, iterative development in Rust, they just involve quite a bit of boilerplate (to mark all the places where you're giving up some amount of low-level performance in the name of flexibility). If anything, the main disadvantage of Rust is simply that its community, while highly committed to technical excellency, is nonetheless orders of magnitude smaller than the huge amount of C++ developers.
Brexit happened because the racists thought EU was stealing their money. in reality its the other way around. Has the illegal immigration into Britain stopped since Brexit?
My engineer can beat up your engineer.
the irony is that the immigration in UK increased after brexit. source: some random tweet I've seen.
Thanks! You seem to be mostly talking about cognitive load arising from having too many choices. Is that right?

(That said, I don't understand what abandonware and a tiny community have to do with cognitive load -- I agree they're bad, I just don't see the connection to cognitive load.)

> I really hoped Boring Haskell, Simple Haskell, and other pragmatic influences would prevail but Haskell has gone elsewhere. Those values are worth reconsidering

I agree with this, except the "gone elsewhere" part. Haskell has far more pragmatic influences today than it did ten years ago when I started using it professionally. The change is slow, but it is in the right direction.
I don't think that's fair at all. Every engineer should regularly reflect on where they could improve, and that necessitates understanding that you're not good at all things. A weak engineer sharing those thoughts is just as useful as a strong engineer sharing them.
It's a coincidence. David Cameron promised the Brexit referendum in 2013: https://en.wikipedia.org/wiki/Timeline_of_Brexit And even that was a reaction to UKIP's growing popularity.

Furthermore, the United Kingdom has never been part of the Schengen area and was not immediately impacted anyway.
And it's much better now than it used to be. Of course the amount of people in these forums is much smaller, but all of them are very much music nerds. So you get very good tips for what to listen from them.
> with things like linotype and block printing, which there are a lot of models for if you have a 3D printer

Can you expand on this a little? Thanks.
Weird how hostile a lot of the comments are at the time of writing. It's almost like they are people who are strong at coding but not good at planning and can't progress, or they are are stronger than they think they are.

If you've actually read the whole article you'd realize that it's not an elitist take on what a strong engineer is. The opinions are quite reasonable and if you ask anyone you genuinely respect as good engineers you'll probably get similar opinions about strong, regular, and weak engineers.

From my experience, the more problematic ones are the weak _senior_ engineers and the tactics described in the article only scratch the surface of the kind of the tactics they use to keep that senior title and looking good in the eyes of clueless management. If your company is _keeping_ one of those as a mangers, you have basically screwed up the entire subtree from that node.

It's a pretty good article. My only criticism is that the author is too kind and too generous to the weak senior engineers.
Yes I agree his points seem bathed in virtue.
"Gondwana": land of the Gonds

"Gondwanaland": land of the Gonds land
“Strong” engineers don’t refer to others as “weak”.
> Stop re-inventing. You don't need NoSQL.

I need somewhere for my objects to live. Objects are not relations.

Scattering their data across five tables, to fit the relational model, so I can later JOIN them together again, has to be the biggest example of cargo culting in the whole field.
Since I’m 11, I’ve had these horrible migraines. By the time I was 15, I had one almost every week.

They were terrible, the pain was unlike anything else I’ve went through in my life. One side of my body went numb, I became dislexic for part of its duration. Most of the times I also threw up. When I started seeing the aura that preceded the migraine, I knew I had to get home or to my hotel bedroom fast before the worst symptoms kicked in.

With age they became less frequent, but the symptoms became even worse. By now, in my 40s, I only get it about twice a year, so it’s simple to handle.

I’m a men. My father also has them but very rarely now that he is older.

The holy grail for people like us, would be a pill to take when the migraine starts that would reduce the severity (there is one, but doesn’t work with the aura variant I and my father have).
Osamu Suzuki, who ran Suzuki Motor for five decades, dies at 94
I just watched a Stargate Episode when Asgard can't beat the Replicator.
Ever seen a large team of weak engineers build in the wrong direction?

You end up with thousands of lines of insecure, buggy code that will most likely be scrapped.

The cheapest way to build things is a small team of strong engineers in my experience
If someone is feeling deeply anxious over a social interaction, that’s a pretty clear negative effect on their capacity to function.
There is mostly one thing I still remember about tube TV and one reason why I', so happy they are gone. It's the high pitch noise they make. Even now over 40 I'm still able to hear it. Can't imagine how it must be if everything is bigger.
Wow! My first test query immediately found me a paper relevant to research code I'm writing. Down that rabbit hole, I almost forgot to come back and praise this project.
He is providing a counter example, which is not the same as generalising.
But this machine (even a tremendously large one) will have to operate in our reality and therefore can’t be “bigger” than it.
I'm not familiar with US government procurement, but the way public tenders for software work in the EU, this isn't that likely to happen. You need some serious references to even qualify for most tenders, especially the kinds that this would be a problem for.
Without serious corruption, you're not getting it. And with serious corruption, having seen the code won't make a difference.
This is an article about nothing. It states that great employees deliver great results, average employees deliver average results and bad employees deliver bad results. What a waste of time.
Folks who are passionate about a subject will typically explore it more...

The problem with this idea is that in most orgs 'passion' equates to putting in more hours, taking problems home, etc. That implicitly biases the org against people with children, people with caring duties, people with other hobbies, and people who might be incredible engineers but who are just there for the job. That bias makes the company weaker.
Many engineers feel their work is not seen. Management rarely looks at their output let alone the code. Seeing a (supposedly) weaker engineer beeing promoted instead will make you think about how to succeed next time.
It sounds ingenious, but dangerous. For example, what happens if you make a mistake and then immediately switch to a different window while the keyboard is deleting your mistake and then typing a correction?
LLMs are notoriously terrible at spatial thinking — if you can solve that with RAG and a database of actual locations, that’s promising. Or was there another approach?
I thought of a good way to break down why obsession with code coverage is poor.

The same program can be represented in many different ways. And code is data.

We can take the program and compile it to a byte code. We then represent the byte code as an array of bytes which is bundled with the virtual machine to make the working program.

The byte code uses every instruction of the virtual machine. And so, wee, we have 100% code coverage.

Of course not 100% of the byte code array is executed by the VM, but pay no attention to that. Code coverage is about code, not data!

The only coverage that matters is the coverage of the state space: hitting all the cases that can occur. There isn't a nice one-to-one correspondence between control flow paths and cases. A routine which adds to unsigned 16-bit integers has 65536 x 65536 cases, but nowhere near that many paths through its control graph.
Rqlite: The distributed relational database built on SQLite
Your description of use-cases for Lua reminds me a lot of the use of Forth in the 80s and 90s.
I did just ask to remember from our last chats, if we hadn’t this particular bug discussed before.
The immediate answer that came to mind _before_ I read the article, was "keep things simple". A lot of good things emanate from this mentality.
Guns, Germs, and Steel is not well-received by actual historians.

It cherry-picks and manipulates facts to make its Euro/Anglo-centric perspective work, and even attempts some Anglo-exceptionalism. It completely disregards the vast majority of human civilisation where Europe was—for lack of a better word—a decayed backwater.

Europe saw several civilisational collapses, including as recently as ~1500 years ago with the fall of the Western Roman Empire. Six hundred years ago Europe was still reeling from the effects of the Black Death, and it took another five hundred for hygiene to be taken seriously by Europeans, which they had forgotten all about since the Romans.

By sheer population numbers, the various river systems South, Southeast, and East of the Himalaya and the Tibetan Plateau have been the most successful and productive human civilisations. Nearly half of humanity lives in and around these river valleys. (And it can be argued from a biological perspective that population quantity is the only factor contributing to 'success'). These civilisations have endured for significantly longer than the European.

It's an alright book to read with a fairly critical lens, but its claims should not be taken as gospel. There's something to be said about a slippery slope leading from the claims in that book to outright Übermensch/Untermensch racism.
Indexes should start at one in all languages IMO.

The zero thing is a historical quirk due to pointer arithmetic.
why don't you just pipe it into a file and then less it? if your redis stuff prints so much stuff you might want to reevaluate the respective program logic.
Have set it up with Nushell. It’s pretty fast while displaying really long log files. Going to sit alongside iTerm2 until I get comfortable with it.

The only things I miss are (1) right click to copy paste selection (akin to Putty), and (2) profiles (I work with different shells depending on my projects and use Profiles frequently on iTerm2)
There is a benchmark, way simpler than the one you described and still not passed by AI http://swebench.com/
"make self driving cars"

Only strong engineers can do things that have never actually been done.

Conclusion, there are no strong engineers

I hope you enjoyed my fake AI logic
Even ignoring Altman's beef with Elon, it's going to be extremely difficult for him to "butter up" the Trump administration: https://www.fec.gov/data/receipts/individual-contributions/?...
Strong engineers can execute code in their mind without needing a debugger.

I'm not a strong engineer, my friend is. We're not talking a few lines of code here. We're talking about going through a few hundred lines of code and not making a single mistake.
Execution units are often pipelined
KDE is standard in my house
Or I can be trained to meet a standard also - regardless if I want to improve or not, if I do not follow my training and checklists, I will eventually lose my job. I will deliver perfection and leave work on time or else...
Yeah but they're a statistical anomaly in the field.

For every example of encapsulated state, there's probably 9 more examples of global state which is called encapsulated.

And what is managed state? I can think of two examples that can effectively manage it - software transactional memory, and a good rdbms with the isolation level turned way up.
Show me proof
Investing a possible Linux bug: small sbrk calls succeed despite low RLIMIT_AS
>> Act with the generosity that you hope would be extended to you if you endured some personal tragedy that meant you couldn’t focus on work.

Absolutely. There is 0 need to act as if there was a personal tragedy. This is bad advice.
> If your library changes API all the time, do you think it's a good library?

If it has a 0.x.y version number? Yes, that's what 0.x means to begin with. In fact Rust/cargo provides a stricter interpretation of semver than the original, which allows you to express guarantees of API stability (by keeping the minor version number fixed) even in 0.x-version projects.
what? like
Tony Stark?
what was the motivation to start this project? it got so many points here, hence I assume there must be something really useful about it - but I so far fail to see it.
just think of any obvious function where type is obvious. surely writing typing information in those cases is reddundant to the extent that it wouldnt even help with optimisation. but think about something like this:

bool function1(x y z):
bool function2(x y z)

immagine function2 besides returning true/false mutates x in some major way. this is a far bigger and more common problem than typing. a dynamic language with capabilities of runtime debugging is far better equiped to inspect code like this

also i am not saying that typing is worse than no type information. im saying that typing should be optional as far as the compiler is concerned and typing information should be like documentation that is useful to the compiler. common lisp can be an example of a language that is both dynamic and strongly typed (see SBCL) to the extent that you can implement a statically typed language (ala ML) in it
That’s not guaranteed.
well you said it was "insane busy work" and I do not see how that is possible unless applied incorrectly. 90% plus coverage is some smoke ,for example. I don't use code coverage on most of my projects though because the teams are just one or two people, and the projects only live a few years without ever being updated. The teams would have to be bigger the updates more frequent, and the project life span longer.