skysight-inc/HackerNews huggingface dataset:
I agree that the auto keyword should be used sparingly. Things you mention like the output of make_unique and make_shared are a good exception since it is very clear what the resulting type is. Also, one might use auto to store a lambda in a local variable because it does not have a type that you can type.
I certainly did not intend to ignite any flamewar. IMO both Emacs and (Neo)Vi(m) are fine editors. I wish more people would accept other people's right to have a personal preference.

My choice of Emacs was based on what I see as a fragmenting of (Neo)Vi(m) ecosystem. When writing extensions, I was uncomfortable with a "which of the three languages do I use" decision. The only common language is old Vimscript, and both forks are moving on from it and neither seems willing to support the other fork's preferred language.

That's their right, to be sure. It's just a deal breaker for me.
The problem is that someone can say "they are eating the cats, they are eating the dogs" and that turns into hate and violence in the real world. They are not separate spaces, both the physical and the digital are part of the same world

So where does the line get drawn? Many believe that American style free speech goes too far and enables the malicious freedom to manipulate

Also, online platforms are currently anti-competitive, so when you don't agree with the provider, there are significant costs to choosing another. That's why efforts like ATProto & ActivityPub are important to the next generation of social media applications.
You Only Exist in the Moment
Pretty unrelated, but i like how it displays large amount of potentially diverse JSON events. Would need some better filtering and sorting, hiding of keys etc.
Products which do this well are Elastic and Splunk, but are too heavy for my taste.
I love XYPlorer, it's my favorite program and I use it every day.
> That's akin to writing a partial C library.

Not really. It's just writing an encoding layer for the APIs. For most APIs it doesn't actually matter what they're doing at all; you don't have to actually care what their behaviors are. In fact you could probably write compiler tooling to do automatically analyze the APIs and generate code for most functions so you don't have to do this manually.

> If MSFT makes UTF-8 as the codepage work well enough I'd rather use that.

"Well enough" as in, with all the warts I'm pointing out? Their current solution is all-or-nothing for the whole process. They haven't provided a module-by-module solution and I don't expect them to. They haven't provided a way to avoid information loss and I don't expect them to.

> You mean changing the codepage for use with the "A" functions? Any DLL that does that must go on the bonfire. There's a special place in Hell for developers who build such DLLs.

"Changing" the code page? No, I'm just saying any DLL that calls FooA() without realizing FooA() can now accept UTF-8 could easily break. You're just praying that they don't.

> I'm assuming you're referring to having to re-encode at certain boundaries. But note that nothing in Windows forces or even encourages you to use UTF-16 for bulk data.

Nothing? How do you say this with such confidence? What about, say, IDWriteFactory::CreateTextLayout(const wchar_t*) (to give just one random example)?

And literally everything that interacts with other apps/libraries/etc. that use Unicode (which at least includes the OS itself) will have to encode/decode. Like the console, clipboard, or WM_GETTEXT, or whatever.

The whole underlying system is based on 16-bit code units. You're going to get a performance hit in some places, it's just unavoidable. And performance isn't just throughput, it's also latency.

> Windows clearly prefers UTF-16, and its filesystems generally use just-wchar-strings for filenames on disk (they don't have to though). Unix clearly prefers UTF-8, and its filesystems generally use just-char-strings on disk.

Yes, and you completely missed the point. I was replying to your claim that "UTF-8 has won" over UTF-16. I was pointing out that what you have here is neither UTF-8 on one side nor UTF-16 on the other. Going with who "won" makes no sense when neither is the one you're talking about, and you're hitting information loss during conversions. If you were actually dealing with UTF-16 and UTF-8, that would be a very different story.
>marginal decrease in for example medical expenses

why would there be a decrease rather than an increase? they're linked up with a full time care team as well as paths for more healthcare services. they also are allowed to continue to destroy their body with drugs. a local newspaper just ran an article here about how many health problems they have when they get into the local program.

yes i am very bias about the topic, and it wouldnt matter to me if it were much cheaper. but it truly doesnt sound plausible. i do not think setting up society so that people can comfortably get high all day, for free, at everyone else's expense, is a good or fair setup. there are many people struggling to stay afloat. maybe we could focus on solving that first. or focusing on the sober homeless.
To your point, I was thinking that this might only be stunning for someone with a modern view of the US Presidency. I understand that the powers of the office and the election campaigns for it were quite different in earlier eras.

However, I remember someone who went to MIT observing the same thing about the names of the great scientists and philosophers etched onto the buildings. He noted that he only knew what a few of them did.
Thanks, I updated the response (:
> JSON, Protobuf, etc. can be very efficiently streamed

Protobuf yes, JSON no: you can't properly deserialize a JSON collection until it is fully consumed. The same issue you're highlighting for serializing MessagePack occurs when deserializing JSON. I think MessagePack is very much written with streaming in mind. It makes sense to trade write-efficiency for read-efficiency. Especially as the entity primarily affected by the tradeoff is the one making the cut, in case of msgpack. It all depends on your workloads but Ive done benchmarks for past work where msgpack came up on top. It can often be a good fit for when you need to do stuff in Redis.

(If anyone thinks to counter with JSONL, well, there's no reason you can't do the same with msgpack).
We can replace this boring chair with an ~electric chair~!
> A perfectly perceived system and world can be trivially planned for

I think it's not about perfect perception, there is no such thing not even in humans, it's about adaptability, recovery from error, resilience, and mostly about learning from the outside when the process fails to work. Each problem has its own problem space to explore. I think of intelligence as search efficiency across many problem spaces, there is no perfection in it. Our problem spaces are far from exhaustively known.
It's not 1993. IDEs tell you the type if you hover over the auto. Or control and click takes you to the type definition.

You have to weigh up the cost of going through the code and changing all the type declarations

auto x = foo();

If you change the return type of foo here you don't have to change 300 call sites. Personally i'd rather change it in one place than 300.
Coyote time is an essential part of human existence, as we are not robots and cannot perfectly perform an action the same exact way every single time we do it. Sometimes we make mistakes no matter how well we are focused, no matter how well we know what we're doing in our desired tasks. Sure, knowledge and experience are a mitigating factor - the more you know and the more you do something, the more confident you are and the fewer mistakes you will make.

Anyone who decides that no forgiveness is needed in a situation is a person who is, knowingly or otherwise, attempting to deny you a slice of your humanity. Don't be that person. Let your people be people.
Of course your comment was flagged. So many hateful fan bois hanging around here.
Those are both good examples!
I hate how Cloudwatch itself is so fragmented, and they have three different query languages for logs.

It’s all cognitive overhead I don’t want to learn.
I'm going to have to also reply with, sorry but what?!

PHP is one of the fastest-interpreted languages. But compiled are going to be faster than interpreted pretty much everytime. It loses benchmarks against every language. That's not to mention it's slowed down by the fact it have to rebuild everything per request.

As a PHP developer for 15+ years, I can tell you what PHP is good at and what PHP is not good at. High throughput API endpoints such as log ingestion are not a good fit for PHP.

Your argument that if it breaks it's fine. Yea, who wants a log system that will only log some of your logs? No one. It's not mission critical but it's pretty important to keep working if you want to keep your system working. And in fact, some places it is a legal requirement.
Yes. But PHP still needs to process it before it goes to Clickhouse. PHP is the bottleneck.
But it's the same thing: extra per byte overhead. You can polish this turd, or (better, in my view) give up entirely and do what the subsequent snippet does and copy the data in 1 or 2 blocks.

Whatever you do, there's another advantage to the mmap trick: if the items are variable sizes, they never need to be split. (Split items are often a pain to deal with.) The circularity becomes the buffer's problem alone, and consumers don't have to handle it.

Another article about this here: https://fgiesen.wordpress.com/2012/07/21/the-magic-ring-buff... - see also the comments.
The Case for Letting Malibu Burn (1995)
Show HN: TypeScript/React/Vue Window Layout Manager (Tabs, Floating, Popouts)
Yes, sometimes things are unfixably broken, and it's impossible to build anything good.

For everything else, there's MasterCard.
I just used go as an example, any compiled language would be better.
Seems to be using MySQL instead?

https://github.com/WillieBeek/txtlog/blob/master/txtlog/data...
Oh wow, don't look at Italy so! At my current address I have coverage from at least 7 different providers (even though they're all based on only 3 different infrastructures/lines).
Temperate usually means “mild”, or easily survivable.

If using the technical term, I think you might mean “Continental climate”.

https://en.wikipedia.org/wiki/Temperate_climate
>Career and grinding is not a goal, but is needed to afford an house and money to help your parents.

It is for me. I have way more than I need to survive or help the people I love. But I want to progress my career and personal brand. I assume that's also true for many tech-millionaires who attends this site.
In other news I like the coherence of your online digital identity and websites.

Reminds me of the early internet. Auras of class, cred, erudition, intelligence, mystery, imagination. Thank you.
https://pubmed.ncbi.nlm.nih.gov/33351135/

tl;dr: Higher (yes, higher) sodium intake correlated with longer life expectancy and lower mortality but the study was observational and not a basis for dietary recommendations.
> - fully containerized for both dev & ci, works the same locally as in ci

That's nice. I heard about Dagger a while ago. I think it would be a bit overkill for my use case, but I definitely need to check it since I didn't include it in my search phase / blog post draft.

I came across many scalable/production-ready tools, but I ended up deciding to go with this more fundamental approach since my projects aren't that complex/large. (And many of these tools prioritize reproducibility over isolation, which is fair, but not quite what I was looking for). That said, I still plan to try many of them anyway hehe
Art of design.
Sorry about that, someone took advantage of that I didn't add spam filtering in so they posted 1300 posts. They are all deleted now
> Today's standards are indeed different

The rulers of yesteryear are surely grateful that, in time, even the worst sins get washed away.

"Politicians used to be honorable" must be as commonly said across generations as "kids these days are just so disrespectful".
Write your python, run script, find missing import.
Install missing import, find that you actually need a different version of python as the import does not understand the latest version yet.
Find that the import depends on various other imports, which python and the package manager, does not tell you it needs.
Downgrade your local python. (and lets not discuss managing multiple versions.)
Import library again and find you need to install a C compiler.
Install a c compiler.
Later find that the library is not compatible with your systems version of openssl.
And it turns out you now need a version of python that has some extra static code linked into it, because you need to display a simple GUI.
But you still need the GUI library as well.
AI Will Be as Good as a Mid-Level Engineer in 2025: Mark Zuckerberg
Much of our economic disparity in this country remains regional. We have states full of poor White and Black people. Of course, I have never worked anywhere that "diverse" wasn't only about skin color and gender, which means kids in West Virginia and Alabama are treated like they grew up in Malibu. It's gotten worse where I live in recent years since those historically disadvantaged schools are also 50% English as a second language now with no new resources.

Do any tech companies have programs to hire out of historically disadvantaged regions of the US?
> Or it could be a parallel vs serial compute thing.

The brain itself is both a parallel system an a serially constrained system. It has distributed activity but it must resolve in a serial chain of action. We can't walk left and right at the same time. Any goals forces us to follow specific steps in specific order. This conflict between parallel processing and serial outputs is where the magic happens.
‘auto’ (in C++) and ‘var’ (in C# and Java) is a blessing, makes code much less verbose. Also good for refactoring - less code to change.
Everything Must Be Paid for Twice
The Elephant in the room: The myth of exponential hypergrowth (2022)
>NULL is not a value.

I do not agree it is most certainly a value that is stored in the database.

>NULL is a statement that a value is not available or unspecified reasons.

Again I disagree, it is a value that denotes its value is of a different type than specified in the columns data type. The meaning of that value is for the user to decide. The system is literally storing a value that can be compared against using special equality syntax (IS NULL, IS DISTINCT FROM, etc).

The actual column definition is a sum type defining possible values in the column it is a constraint on the values:

columnA int null
columnB int not null

If someone asks you what the value of a column in a result is when null do you say "I don't know" or do you say "null"?

For all these statements about what null means philosophically and the history about why it is treated the way it is in SQL there is little compelling argument to what value having the the equals operator always returns false when comparing nulls and instead one must use a separate syntax to properly compare null values for equality other than its for historical reasons and it changing it would be difficult.

This adds no value over typical programming languages where the normal equality operator can be used, its is weird and the source of confusion and even more bugs than your typical null handling creates.

I would prefer a database with fully fleshed out sum types rather than marking a column nullable, then a column could be marked as say a number + string + special sentinel type or whatever combination of types makes sense for my application, and if it that db did exist I am sure its equality operator would properly compare type and value to give a consistent binary result rather than the nonsense that is SQL null equality.

Your statements about using coalesce don't seem compelling to me, maybe I am a misunderstanding, to efficiently search for a value with a index you must use that value, I should be searching for with column IS NULL not Coalesce(column,[special value]) = [special value] which would be extremely inefficient.

Many languages have null coalescing operators and still use the standard equality operators for null. Coalesce to a special numerical value for a numerical column to represent a sentinel value is again a waste of time that again leads to strange greater than less than issues. Given a type system that allows nulls I would rather use IS NULL than coalesce that would be a further step backward but even better would be = NULL and get rid of the IS operator and its variants.
The Video Game Industry Is Unionizing
I will say that the language isn't the most intuitive, and a project like this one with some simply querying with the (presumed) ability to drop down to SQL for power use is probably the ideal solution. (Doable with CloudWatch logs and Athena, but that's another can of complex worms)
> It loses benchmarks against every language.

Every language loses benchmarks against every other language. That's not surprising. Since you didn't provide a specific benchmark, it's hard to say why it lost.

> High throughput API endpoints such as log ingestion are not a good fit for PHP.

I disagree; but ultimately, it depends on how you're doing it. You can beat or exceed compiled languages in some cases. PHP allows some low-level stuff directly implemented in C and also the high-level stuff you're used to in interpreted languages.
And yet it sees success in an actively developed project (OP).

I think both are challenging your notion of closing opportunity windows for programming languages (:
Here is the full list of this year's awardees:

https://new.nsf.gov/honorary-awards/national-medal-science#n...

(Also includes National Medal of Technology and Innovation.)

And if you ever get the chance to hear Daubechies speak, go! She gives very clear and accessible talks, and is also very approachable.
Addicts of what? Surely, there are different recovery rates for different drug addictions.
This is nice.

At work, we use Datadog for logging, and I have previously used CloudWatch, Splunk, and Honeycomb. Among these, only Honeycomb makes implementing canonical log lines [1] easier. I want arbitrarily wide, structured logs [2] without paying exorbitant costs for cardinality.

Our Datadog costs are outrageous, and it seems like no one cares at this point. Pydantic Logfire is also doing some good work in Python-specific environments. I use both Python and Go, but Logfire wasn’t as ergonomic in Go.

[1]: https://stripe.com/blog/canonical-log-lines

[2]: https://www.honeycomb.io/blog/structured-events-basis-observ...
I don't like to respond to people who directly reply to my comments to avoid flame wars. But, about your comment: THIS.

Python can be convenient, but often isn't. Just setting the path on my last install was annoying because Python got automatically installed by windows in a hard-to-find folder.

BASIC "just worked".
I would be happy to pay a premium for a better cloudwatch. For me it is always not intuitive which I am sure is driven by limited use.
> the next government plans to continue doing it

Asking as someone not that familiar with Canadian politics, is this "the next government" as in the Liberal one that would replace Trudeau after his resignation, or the (likely) Conservative one that would be in power after the general election?
>Also, you're discounting the enormous differences between Windows 95 and its predecessor, versus the relatively small differences between Windows 11 and its direct predecessor.

You're omitting the fact that earlier versions of Windows were more or less a one and done deal and not required massive continued development and updates modern Windows requires. Plus the much more numerous workforce Microsoft has on the payroll now versus back in those days on the Windows teams.

Your argument is factless and only based on the subjective opinion of "Windows 11 doesn't seem to different to me compared to Windows 10, so it can't cost too much to develop" which is silly and childish and shows your lack of understanding here.
Thinking About Money in the Sherlock Holmes Stories
Joan Didion on Los Angeles Real Estate, and Ignoring the Big One (1989)
except when they go over a bump, or a hill. or when they break and give gas, or when the car is loaded, or when they hit something and it's permanently bent, etc...

and then there's the internal adjustment knob that most people are clueless about. and most of the rest just put it on full high angle, because they see better that way...

society is fucked, and this issue is just sign #4745...
What You Should Know About Wildfire Smoke in Homes
A simple test - take one of your own photos, something interesting, and put in into a LLM, let it describe it in words. Then use a image generator to create the image back. It works like back-translation image->text->image. It proves how much the models really understand images and text.
While Phi is a good example of this technique, Phi as a model is very anemic. It was recently part of a CTF hosted by Microsoft, where other models were also included- I assume MS was looking to test performance of Phi against the competition... Phi performed the worst. Its outputs easier to predict, quicker to construct injection attacks and jailbreak. All models utilized the same defenses. As I have also trained and fine-tuned models using synthetic data, I have seen this approach increase determinism and increase predictability. Some might see this as a good thing- but I think it depends. On one hand this opens the model to several adversarial attacks such as jailbreaking, extraction, etc, on the other hand some consumers may prefer less random outputs.
> I am so shocked at how many people use `auto` in C++.

I agree with you! But:

> I can not think of a worse thing to do to your code in terms of readability and future maintainability.

Well, I definitely can. Using macros is one ;)

> I am trying to learn a new library right now with light documentation which means reading the code, and between typedefs, auto

I disagree with you on the typedefs. They're much better than auto. Auto doesn't provide any type checking, it works whatever the type is. Typedef tell you what the expected type actually is.
The word "justice" being the keyword (now, for some people) for DEI indicates it is precisely about punishment. At least to those who frame it in terms of "justice". I see that word and I know it is a buzzword for angry people. In the 90s when I was first persuaded as to the necessities of policies that instantiate reverse racial discrimination (i.e. affirmative action) talk was more about equality and unity, and increasing efficiency of the system. Blacks were (still are) not utilized to their full potential, so aa offered a common good inthe form of a more productive, better functioning society. I don't encounter those arguments as much niw as arguments about "justice" or the impossible to define "equity" (not the same as the phrase "equality of outcome" which was a very concrete and useful construct for thinking about racism). Historical context is everything.
The beneficiaries of discrimination are usually split among class lines. So you have economically poor white folks who are indeed harmed by racial discrimination—though not nearly as harmed as the discriminated groups them selves—and rich white folks who are the only ones making money off of it.

The harm is often second factor such as the abundance of cheap (or free) labor yields less bargaining power and you end up working for less than you otherwise would have (but also the psychological harm of living in an unfair society). But next to the harm caused to those who are indeed discriminated against, the harm is rather minute.
Show HN: Idle Cosmos
Found Gus Fring's account.
And finding the black boxes at a horrific crash would be easier. Just go in the direction that your Geiger counter makes the most clicks.