skysight-inc/HackerNews huggingface dataset:
Sylvie and Bruno
Lewis Carroll, 1893.

"That's another thing we've learned from your Nation," said Mein Herr, "map-making. But we've carried it much further than you. What do you consider the largest map that would be really useful?"

"About six inches to the mile."

""Only six inches!"exclaimed Mein Herr. "We very soon got to six yards to the mile. Then we tried a hundred yards to the mile. And then came the grandest idea of all! We actually made a map of the country, on the scale of a mile to the mile!"

"Have you used it much?" I enquired.

"It has never been spread out, yet," said Mein Herr: "the farmers objected: they said it would cover the whole country, and shut out the sunlight! So we now use the country itself, as its own map, and I assure you it does nearly as well.
SRE is a mix of both. The expectation is you are able to write and understand any code the team is responsible for.
I'm ridiculing the popular notion that Musk is the poster boy for "you didn't build that".
The problem is the "proper valuation" though, isn't it?

Especially for something like CloudFlare. I'm a customer, I understand their product and what they're offering, I like their products, I think it works pretty well, I see them having a lots of sites on their CDN, I think they're providing value.

I don't have the faintest idea what their suites of products are worth to the average website owner, and how many of those average users they have, or how much it would be worth to large enterprises etc. And even if I did, I wouldn't have any idea of what that should translate to in share prices.

So in the end all I can reasonably do is very basic stuff like looking at revenue vs share price, and maybe at how competitors are valued. Are you going to have any success with that kind of analysis that's barely scratching the surface?
I respect your opinion but I disagree wholeheartedly, and here’s why.

The introduction and support of MicroPython doesn’t mean the original “lower level” languages are unsupported. Code that “smart people and professionals” have built will continue to run.

Instead, you’ve opened the ecosystem up to new and creative ways to use the platform.

Raspberry Pis were created in part to help kids learn to program. That low barrier to entry didn’t stop “smart people and professionals” from being able to take that platform to build incredibly cool things.
My point isn't that the big languages can do everything that a little language could theoretically do, it's that the little languages won't have the resources to pull them off, nor will they have the resources to even do what the big languages do.

Proper debugging, syntax highlighting, language servers, security audits. These are things that engineers in the real world expect a language to have, and each little language would have to reinvent each of them. In contrast, a library can piggyback off of the tooling provided in the host language.

So even if a language can deliver on the performance and static analysis that it promises (which few will), it cannot reach adoption because it cannot provide the infrastructure needed.

(That doesn't need even get into the onboarding concerns that I and others have raised about having a codebase that is strung together from a dozen tiny languages.)
John Carmack: Doom, Quake, VR, AGI, Programming, Video Games, and Rockets
> Why would you not want to be up-front about the fact that you don't have enough memory available to hand over to a process?

Just because a process allocates a certain amount of address space doesn't mean it will use all of it.

> The process requested a certain amount of memory to be allocated so surely it expects to use it, no?

No, not really. I think you are confusing memory usage with address space allocation.

You may wish to allocate a huge amount of address space for convenience purposes, as it could allow you to use much simpler data structures (such as sparse arrays) which can be a lot more performant than more complicated data structures and use a lot less memory (by orders of magnitude) than the address space that you allocated for them.

An example of this is AddressSanitizer's shadow memory, which is sort of a giant sparse bitmap whose address space is allocated up front, but only a small part of it is actually used at any one time.

From the blog post, it sounds like Windows has a separate system call that is required to be used in-between allocating address space and actually using it. I think this is a good design and I personally prefer it over Linux's overcommit design.

However, I think it has a disadvantage in that it could require you to do a lot more system calls (and therefore have slower performance) than would otherwise be needed in Linux, presumably (especially if the access patterns are unpredictable in advance?).

Also, if some process misbehaves and starts using more memory than there actually exists in the system, it can cause significant problems in other processes/applications that have nothing to do with it (as their allocations would start failing). Linux handles this by killing the misbehaving process, which allows the system to recover transparently / without intervention (at the risk of possibly killing innocent processes before actually killing the misbehaving one), hopefully allowing other processes to continue working as if nothing happened.

I think a reasonable approach could be to use Windows' system by default and guarantee that processes are never killed by the OS (which would benefit well-designed applications), but allow an application to optionally use overcommit if it wants the added performance (at the risk of being killed by the OOM killer if the system runs out of memory).

Unfortunately, I suspect that applications which actually handle out-of-memory conditions gracefully are very rare and that most of them would just crash or kill themselves if this happens, which on average is probably a worse outcome than letting the OS kill the misbehaving application.
NSRange is defined the same way in the (macOS) Foundation framework.
While it is very likely true that it was fraud, any media company with enough money worth suing will not say so. This is because accusing someone of fraud is a great way to get hit with SLAPP suits. If you want to keep your legal costs down, you just don't do it. They will wait for the FTC to do the accusing and then report on that.
I 100% believe in market timing. I usually do extremely well during market crashes, and average during market rises.

I missed the dotcom crash because I didn't want to invest at all, but caught all of the 2008-2009 crash and went long on the bottom in March 2009, but was mostly average after the crash. I caught the entire pandemic drop in March 2020 and also got long at the bottom, but again was only average for the last 2 years. I then went extremely short November 2021 and have been short ever since, and have doubled my trading account. I'm still very short, but by rolling over my options and extending the strike price, I've pocketed most of my gains so if the market rips higher from here I'll only lose about 10% of my gains, but I'm also long META and other stocks, so I'll participate on the long side as well.
This feels like thinly veiled propaganda to trick people into buying crashing stock, not a tech article. Curious to see it upvoted so much it hit the front page...
Apple is only about privacy as a marketing differentiator.

Apple's software clearly demonstrates that they do not place a high value on user privacy. iPhones and Macs phone home constantly with all sorts of information even if you never use iCloud or the App Store or Apple's service offerings. It's ridiculous.
Seems common, though it only helps so much with 3rd party libraries.
The crash reports at https://crash-stats.mozilla.org are a separate opt in bit of telemetry which is a dialog that is shown when Firefox crashes. You can opt into automatically sending them by setting browser.crashReports.unsubmittedCheck.autoSubmit2 to true. It can be true if you opted into a dialog about submitting unsubmitted crash reports.

https://probes.telemetry.mozilla.org/?search=crash shows automatic telemetry probes. The main bit of data in that set is FX_CONTENT_CRASH_* and you can see the back and forth from the data steward and the engineer adding the probe. https://bugzilla.mozilla.org/show_bug.cgi?id=1269961#c8
At 34 (but with no kids) I agreed with my wife that I could have 4 years with a sanity check at the end of year 2.

I also agreed that it would be an ABSOLUTE rule that I could not put any of my own money into the company. This included the $10 for buying the first domain.

I ended up selling 20% of my company to a friend for $5k when it was just weekend hacking with him getting diluted to a $2.5m valuation once I've been full time for 40 months.

[Edit] It massively helps that my wife is a partner at a law firm so we can pay bills etc, without having to have saved the cushion in advance. I also arranged to leave my previous employer with a 6-figure exit payment.
We leave most of them on "mute" most of the time. The one we don't, we use to play music, mostly.
I love this solution. Now you have two kinds of nulls.
Qatar World Cup critics are unprepared for the rest of this century
What do you mean by had a chance? That chance isn't gone. This area is under investigation, and when we have a solution we like, we'll implement it. We can't address all issues at once.

Optional isn't half-assed because it was never envisioned as a general solution to the null problem. It's simply an interface that's useful in streams and other similar cases for method return values, and it does the job it was intended to do reasonably well. It's possible that a solution to nulls in the type system could have obviated the need for Optional, but I don't think that delaying lambdas and streams until such a solution was found would have been a better decision.
Yes, it's always been possible to check for nulls at runtime.

Personally I use notNull(..) over @NonNull since it actually fires when you expect it to (as opposed to whether your framework dispatcher interceptor trigger decided to invoke it)
in aggregate stocks will go up by a modest amount on decade long scales.

There is some truth here, but it isn't entirely true. People who get in the market at their peaks, often see multi decade long negative returns (adjusted for inflation). If you bought the market in 1928, you were negative until the mid-50s. If you bought in the late 60's you were negative until the mid-90s. If you bought in the late 90's, you were negative until the mid 20-teens.
Markets can only go up so of course! /sarcasm

We have lived through a few generations of unprecedented economic growth on a global scale. This has wildly skewed our assessment of market performance and its long term behavior.

It is widely understood that such growth is not sustainable, and we are, on a civilization level scale, increasingly bumping into the limits of growth. It is entirely possible that at some point we will enter an inflection point and have unprecedented periods of decline.

Especially in Tech we're overly used to the "inevitable" boom being larger than whatever crash has happened before.

However we never really solved the core problems of the 2008 crash, and have been increasingly propping up our entire economy systems with more and more debt. The only way this can be sustained long terms is limitless exponential growth, otherwise you cannot manage those debts.
Ask HN: What are you thankful for this year? Since its almost Thanksgiving
You do that if you feel like it's important.

The claim was very few companies do what Twitter does at that scale, truth is Twitter is not a big fish in that space.

Since you are at it, do GDP of countries where they operate too.

I reckon a $ million in ad revenues in India is harder to come by that the same amount in USA.
In my experience mostly people forced to use Java who are then consuming said code in Kotlin do that
Every time, every time I wrestle with C++ compiler on the move constructors/semantics, I open this post[1] by Herb Sutter saying that C++ moves are simple and misunderstood. It's humiliating to read. Finally, somebody dissected a section by section and explained in a reasonable language that there is nothing simple about C++ moves.

TL:DR of the article: C++ moves are bad because they effectively force nullability on everything, and they provide no guarantees about the state of the objects.

[1] https://herbsutter.com/2020/02/17/move-simply/
> yelling low-research insults without anyone pushing back on them...

You'd think that in the past 14 years anyone would come up with a well-researched eloquent push back to the multitude of actually well researched eloquent questions that have been frequently asked of crypto enthusiasts.

However, all we get back is utter drivel, cultlike devotion, and "just join the discords".

The time of of eloquent questions has long passed. There is now a 0.999999999999999999999999 probabilty of anything crypto-related to be a scam, a solution in search of a problem, or a solution that ignores or is oblivious of the real world.

It's on crypto enthuiasts to prove that their latest scam du-jour isn't a scam, and is an actual solution.
I was going to solve some business problems today but instead there became an urgent need to GPU accelerate the task of making my commit hash appear to have the rich semantics of "a number that goes up". Hm, I bet this old FPGA could be repurposed to add a 2x speedup...
What motivation does Firefox have to fight for your interests?
people DO treat unvetted conjecture as evidence, really often, i do notice, to your point
Being motivated by self-sacrifice is pretty rare, and so trying to build a system based on that simply doesn't work. On the other hand, a system built around people being selfishly motivated by money works pretty darn well.
Maybe you don't. I'm not sure you can have it all: security, high salary, start up, huge upside, free time for self and family, oh and sleep and sanity.

At least, if you assume you could have it all, there's a good chance you'll come short notice n a few categories.
My friend and I started it as a side job, working nights and weekends. We also downsized and cut all our expenses to about $1,000/month (mortgages were smaller back in 2005).

We quit our full-time jobs when 1Password revenues were close to $80,000/year.
"At the end of the experiment, you will be baked, and then there will be cake" -GLaDOS
If OP is young, like in their early 20s, then this is the time to focus on career. They have lots of energy and their age won't be held against them as a junior. Most of their social peers will be moving around constantly and uninterested in settling down. All of OP's softball pals or whatever will move away or start families and fall out of touch no matter what OP does. Much better to enter your 30s with a rock solid career than with a weak career and friends you never see.
On their computers they have never prevented it before, sorry if the previous comment was unclear about that we were talking about computers/laptops, not mobile devices.
Actually Alexa gets most of those same requests in my house, too ;-) Anyway, it's at 12:30.
Suggestion. You could wear a time piece around your neck like Flavor Flav.
New spin on parking spaces during pandemic reaps benefits
Indeed, seemingly simple functionality like you describe should be bare-minimum requirement for just about any kind of information system, and yet it's almost always omitted or implemented so terribly as to negate any practical benefit to users.
My very concrete feelings on this is that you probably don't.

Asking folks how to do this is a bit like asking billionaires how to get rich. It's a fun story but it's overfitting. The individual narrative that made a billionaire is unlikely to be available for you. If you ask some millionaires they may be more likely to give you some useful advice around sound investment strategies, living within your means, and identifying great opportunities.

You signed up for a bunch of responsibilities. You are always going to be your kids parent. You are only going to have this one opportunity to get this marriage and this family right. If you have a solid job that allows you to be there for them, take it and be amazing in this potentially incredibly rewarding role.

Then do an awesome startup when your kids are out of the house, you have a solid nest egg, and you can take risks again in your 50s.
But why? We can trivially modify any point in a graph at any time.
There is an innovators dilemma for Meta definitely, but I don't see it for Google
> It is absolutely in the interest of the American government to have Ukrainians and Russians die

It is in the US's interest for Russia to deplete their military capability, and for Ukraine to not become part of Russia.

> The fact that America and NATO have been supporting the war rather than pursuing peace seals the argument.

How does NATO "pursue peace" in a conflict they aren't a party to? What exactly do you think they should do? One side of this war has the unilateral power to end it, and it ain't NATO, the US, or Ukraine.
Do the heuristics used for Kotlin-interop work with notNull(...)?
I too am autistic. I don't see how that's relevant or an appropriate comparison though.

Most specifically "colorblind-friendly" color schemes suck. Most "regular" color schemes are at least partially accessible to colorblindness though. My complaint is that the author claimed the changes "preserve accessibility" while objectively making the theme less accessible. If the colors are indistinguishable in greyscale, that is not a good thing. Heck, there's not even one true way to determine what the "greyscale equivalent" of a given color is.

The author's initial complaint was that Solarized doesn't have enough light-dark contrast between the text and the background and took a stab at solving this after reading a little bit about color theory.

Don't get me wrong, this is an interesting hack (which makes this relevant for HN) but my concern is with the author making misleading accessibility claims and calling it an "optimized" or "improved" theme (to the point that others have commented they are downloading and using it themselves) while clearly demonstrating a lack of understanding of accessibility and admitting to having a very limited knowledge of "color theory".

Specifically, there was no need to homogenize the colors like this in order to increase the light-dark contrast of the theme. Even from a design aspect alone it made the theme blander, less interesting. The author lacks the knowledge to understand what makes the theme work, so how can they claim they have improved upon it?

Again, it's an interesting hack and a fun creative exercise and the result may even serve the author's and others' needs. But neither did it "preserve accessibility", nor did it "improve" nor "optimize" the theme. Your argument seems to be that restricting color palettes to make them more accessible by default limits creative choices, but my point is that arbitrarily pinning the lightness as an amateur attempt at improving light-dark contrast has this exact same effect (i.e. making the result less interesting) while additionally making the result less accessible.
Ok great! If they're implicated in this, then by all means, let's go after them. I just can't help but notice a pattern of left-leaning media outlets going really easy on this whole thing because a lot of democrats are implicated as well.

I know this is cliche and I honestly hate saying it, but can you imagine if SBF some guy with two deeply connected republican parents, one of whom founded an explicitly secretive superpac for republicans? Don't you think the reaction would be a bit different?
Either this means there's so few engineers left Elon can keep up with the stream of emails or this is just another micromanagement. Both aren't great.
good health, and all the things money cannot buy...
The gatekeeping is strong in this one. Why does it matter how you label people? (emphasis added because that's not how people generally define programmers) Just let people do what they want.
0-based is for offset arithmetic, not pointer arithmetic.
"The government" is hardly a single organism with a unified will. So I wouldn't expect one organization doing or proposing an idea would mean the rest of the government organizations would just be like "oh dang they're right, it was our idea, better not touch it."
Have you considered opening up your own hedge fund?
> Once built c99 code can run where it wants.

Is that true on the MSVC ecosystem?

Don't you have to compile separately for each `msvcrt` environment, as I thought they aren't binary compatible? And would a non-C99 msvcrt necessarily have an `snprintf()` implementation in its libc-equivalent dll?
> It seems like a very contrived example to me.

I run in to this quite frequently, even on projects where I'm the only one working on it (I tend to have a lot of things going on in parallel). Once branches diverge and commits accumulate it can become a right pain. Usually my solution is to merge master into the branch just to keep up to date and then just undo everything, make one new commit in the master, and rebase that. But in some more difficult cases it was "just merge and fuck it because life's too short". I've also just manually "copy/paste merged" things to a new branch, because that seemed quicker than dealing with all the merges/conflicts.

Maybe there are better ways of doing this, and arguably I shouldn't have all these long-lived branches in the first place (but it works well for me, so...), but it's not that much of a contrived edge case.
That doesn't represent the situation most investors are in: large lumps of cash don't come people's way very often, most of us are paid on a monthly basis.
I wanted to read this article but the sluggish scrolling on the page made me leave the site. I appreciate the approach in the first few paragraphs I read, though. haha
> I wonder what the time-to-arrest was on Madoff from his scheme collapsing? Have we just become too accustomed to operating on Internet time when these things always take months?

Ken Lay was Dec 2001 -> July 2004

Madoff was very quick from the collapse to arrest (December 2008 for both), but that’s largely because he confessed to his sons and told them he planned to surrender to authorities, who talked to the FBI, who visited Madoff who then confessed that it was “all one big lie” to them.
Exactly this. Everyone else is happy to buy when things are booming and it's baked into the price.
Valhalla in particular in an in-memory router, so it's holding the whole transportation graph in memory. Not sure about the tiling and geocoding pieces. Most organizations with a "need to serve the world" requirement presumably don't balk at buying all-the-RAMs. Amazingly, the max-RAM-in-machine number has grown faster than the data-in-the-world number, and just being memory bound is a perfectly reasonable design decision, given the performance and complexity wins.
Everything: A search engine that locates files and folders instantly for Win32
The output side of strncpy() might not be a str___() function, but AFAICS the input side of strncpy() is clearly a str___() function, since it stops reading (but not writing) at the first NUL byte.
There was a popular program in the 1970s that turned Fortran into flowcharts. The flowcharts were useless, but the program was created due to some government requirement that Fortran code be accompanied by flowchats.