skysight-inc/HackerNews huggingface dataset:
People in these arguments always talk about the algorithms, but I think that entirely misses the point. It rarely is about the algorithms themselves, but, rather, it's about the data structures.

One is obviously tied to the other, but what I mean is that many slow apps are slow because the people just used the wrong data structure. Sometimes it's as simple and silly as using a list and constantly iterating over it instead of using a dictionary/KV-map. I think the idea with having people know about "algorithms" is to get them in a state of mind where they will automatically pick more appropriate data structures. I really don't remember how to implement RB-trees or AVL-trees, nor do I really know their pros and cons against each other at this moment (I have a very very faint idea), but I know they exist and I certainly have a better idea of when to use a tree versus a list, versus whatever.

Would I fail these interviews? Probably, unless I studied a bit, but do I think that the concepts that they ask about are pointless? No, not at all. I've looked at my fair share of legacy code bases built by subpar developers and the one thing that always pops up is the bad data structures chosen. Once we fix that, usually everything else automatically falls into place.

EDIT: To be clear, what I mean is that in most cases, just picking the right data structure, among the most basic and elementary data structures given to you by the language, is more than enough. Only in rare cases does one then have to go beyond that and carefully engineer a more precise algorithm. The data structures are way more than half the problem, in nearly every application.
Downgoing plate topography stopped 2005 Sumatra rupture (2016)
The reveal.js file format is HTML, an open standard, and will still be readable decades from now.

Proprietary apps like Google Slides, I have to continually assess whether their file format is closed or has recently switched to being closed — because it is in the interest of the company to lock in its users and exploit network effects.
The language seems to be both statically typed and strongly typed. So why do you think they mixed it up?
French volunteers leave cave after 40 days without daylight or clocks
Their pitch is actually "compiles to WebAssembly".
7. Yes I know, it gets better. That's still going to be 10 years off my already too short life.

And how I envy the idea that living close to family would save you time instead of draining some.
Get a job where you can use part of your time to look at cool stuff. With some luck you may already have one.
> Rust doesn't have variadic functions

By design or because nobody has implemented them, yet?
Theprodukkt: the 96 KB first first-person shooter game
That just can't happen, though. Part of tenure is having experience and being able to draw from that. It isn't just job experience, either: Life experience counts and can give your different ways to think outside of the box.

The best example I can give is art related: Documentaries and other non-art learning puts a variety of concepts and ideas in your brain, making it easier to think of creative concepts for artwork.

The process takes time, though, more time than can be reasonably stuffed into getting a degree.
Tuples are the data type representing "top of the stack", so as a core data type it's great; tuples + arrays + syntactic sugar are the building blocks that give you all the other data types.
The key is to time this to align with retirement.
The first repo has one core contribitor who hasn't been active since June 2018.

https://github.com/nicolaspanel/numjs/graphs/contributors

I sincerely believe it is possible for JavaScript to be a viable language ecosystem, but there is dire need for cohesion, collaboration, and longevity. As it stands, there are so many potentially viable projects strewn across the NPM landscape like old, discarded toys.

I'm not aware of an initiative, let alone ethos, in the JS community that comes anywhere close to something like NumFocus.

https://numfocus.org/
Really surprised to see Apple taking this approach. You'd think they could have come up with something less offensive to their users. This is the exact same line Sidney Powell is using in her defense against Dominion: "'No Reasonable Person' Thought Her Election Fraud Claims Were Fact" [0]. Amused but not surprised to see this from her, I am quite aghast to see this from Apple.

The fact is, just like any reasonable person would believe that claims of election fraud are claims of election fraud, any reasonable person would certainly believe that when Apple says "buy" they mean to purchase and to own outright in perpetuity without the possibility of repossession. I wonder what effect this will have on the App Store, where apps are "sold" using the same language.

[0] https://www.law.com/nationallawjournal/2021/03/22/facing-def...
> And that example even is a potential memory leak…

Yup more generally a slice is not an actual vector, the backing array lives independently from the slice, meaning if you "reset" a slice

a = a[:0]

all the elements are still part of the backing array, and thus still referenced.

That's also why write-sharing (which is trivial in Go) is super dangerous e.g.

a := GetSlice()
b := a[:]
a = append(a, 1)
b = append(b, 2)

depending on the size of the backing array associated with slice `GetSlice` returns (aka the cap() of the slice), the last element of `a` might be 1 or 2.
No, that's wrong. Fab slots are not a limited resource (except at the very high end). They just have a lead time of 12-18 months and it takes a lot of time and a lot of lost production to change what they produce any faster than that.
I always assumed they would be available as long as Apple or iTunes doesn't go under. Guess i'm not a reasonable consumer but luckily I haven't spent much money on them.
I love those moments when you're warming up, getting into the work, you may hit that first snag or obstacle, but you reflexively enter play mode.

Now you're practicing creatively, now you're finding out new features of your tools and packages and data. You're hacking in a new script, you're trying new ideas. You find the answer,bring it back in, integrate it. You click run, and it just works!! Yess!!
CLI: Improved (2018)
Hey thanks for taking the time to 1) answer (trying to teach) and 2) coming back to correct your answer and cite detailed explanations.

Wish I could upvote more than once sometimes.

I was thrilled when I learned - on this here site - about listen/notify, and then went on reading the docs and the code (pg's code is surprising easy to read when you know what you're looking for - in fact it gave me enough confidence to build my own extensions...) and felt a bit underwhelmed. Hopefully someone upgrades the whole listen/notify one day for pluggability.
Not the main point of the case, but I am curious how his account was terminated. Apple does that much less often than Google does (you're not posting death threats in YouTube comments using your Apple account). I'm also curious how he purchased $25k of apps and videos in only two years.

Even if this is an extreme case, I hope that Apple (and other platforms) are forced to change their language and/or provide more guarantees of access.
I’m a big fan of the iPad not being a device that aims to be my Mac. An iPad is not a workstation, thankfully. It’s a device to have fun with, watch Netflix on, play casual games, and take notes/draw (which can be used in professional context). It’s kid friendly, and doesn’t require a lot of hand holding to get started on. What is this moving an app to a folder business on a Mac?

I like my iPad and Mac running two distinctive operating systems. Each serves its purpose and intent for use very well.
You’ve set up a false dichotomy. It isn’t either nuclear or coal. It’s other renewables like solar and wind and they are eating nuclear’s lunch because they are just better in every way. The answer is neither nuclear or coal.
Wow, $25K and he did not have download access to a single bit. That's insane! I hope this goes to trial and sets a precedent. The word "buy" is extremely misleading when it comes to cloud content. Never buy anything that the manufacturer is allowed to later repossess or deny your access to!
It's the same everywhere.

Thank central banks.
I think Apple and Amazon (an Amazon lawsuit is linked inside the article) will argue that they are similar to video rental stores like Blockbuster back when it was in business. However, Blockbuster did have physical copies of movies available to purchase in the form of VHS, and DVDs so I would argue that Blockbuster calling itself a store was still alright even though it might have done more business in rentals.

I’m not how Apple and Amazon’s respective media rental businesses would rename themselves to remove the word “store” e.g. App Store to App Rental. I do agree that both companies, Google, and others mislead potential customers by labeling what is essentially conditional, long-term rentals / leases as ownership.
Labor Board Invalidates Workers’ Vote to Reject Union
Which is precisely what I said:

"I don't mind them not giving facts."

I demanded nothing. I simply pointed out that lack of information will always produce curiosity. If they don't want people curious, they have it in their power to stop them from being curious. Or they can be silent and leave people curious.

Perhaps I've missed the actual point of their request. As I think about it further, I wonder if they are simply requesting that people not spread baseless rumors, which is certainly a legitimate reminder for anybody to give at any time. Still, speculation seems to me to be more along the lines of an educated guess, rather than a baseless rumor.
Nah, a reminder of how bad the NYT is, is always a good reminder.
NYT isn’t guilty of making mistakes, they are guilty of spreading lies.
To frame their deception as an honest mistake, is deceptive in and of itself.
My sibling posts a great general overview, and they make a good point about not biasing specific libraries. When I was starting out in Rust, however, I found value in just doing what everyone else was doing and then deciding if I wanted to do things my own way once I was confident I could do the popular way. In that vein, here's doing error handling like a lemming.

Library: thiserror

Application: anyhow (or eyre if you want the same thing but with fancy colors and nicer backtraces).

Make sure you #[from] to derive From a lot. The value is in chains. Here's an example I just wrote

#[derive(thiserror::Error)]
enum LoadError {
#[error("Failed to parse")]
Parse(#[from] ParseError),
#[error("Failed to acquire lock")]
Lock(#[from] file_lock::AcquireError),
#[error("IO error")
Io(#[from] std::io::Error),
}

ParseError and AcquireError are defined in a similar style.

Then I have a function

fn load(...) -> Result<..., LoadError> {
let lock = FileLock::acquire(...)?;
let parsed = parse(...)?;
Ok(parsed)
}

The magic is that ? calls .into on the error, which uses a From implemention to convert the error into the error type the function returns. This means the ParseError gets converted into a LoadError::Parse, for example.

Now we've got that nice semantic cause chain, we use anyhow to display it.

fn main() -> anyhow:: Result<()> {
let index = load(...)?;
// ...
Ok(())
}

If index fails I'll get something like this printed:

Error: Failed to acquire lock

Caused by:
Failed to open lock
No such file or directory (OS error 2)

It feels like a superpower to have a high-level function fail and see the massive list of errors all the way down to the root cause.
The issue with that is that making tuples a local-only construct is not trivial. A run-of-the-mill tuple is a data type that fits in the type system quite well, it's not costly to create. But a tuple that can only be used locally requires to make a special case in the compiler, and to check it everywhere.

Besides, you may end up with divergences in your community about how local a tuple should be allowed to be. Can it be passed to a lambda? Can you map over it in a local context? etc. Overall, deciding where tuples should be used is an easy choice for the developer, and a very hard choice for the language creator.
I think a hello world example is insufficient. I would like to see some more code examples, especially some that are useful in the real world for building websites. It doesn't have to be a fully functional hacker news clone in Grain, but it should definitely be a little bit more than hello world.
That's not the case here - the case is that they are big and powerful enough to bully suppliers so that suppliers assume a lot of the risks that any normal-sized company with fewer political connections would have to assume itself.
It seems I was fooled. I’m pretty tech savvy, but I guess I am naïve, I though my movies—no, I counted on my movies—being available to me indefinitely.
I Quit My Perfect Desk Job
Not really, this will be swept under the rug by creating a new BS completely unrelated to the current issue at hand.

And people will forget this in a week.
They should just force all these vendors to relabel those buttons to "Rent" or equivalent.
Entrepreneur Raised $183M to Make All Business Contracts Easier
Batman and Robin
It is worth mentioning the Danfo project from a sibling comment: https://danfo.jsdata.org/
Nobody is scrapping old equipment when they move to a new node. The equipment just gets sold to whoever is one rung down on the pecking order, to keep producing parts at a lower profit margin. Early 2000s processes are still in extensive use.
Show HN: Almost every website I’ve ever made, 2007–present
Show me a working grid scale electrical energy storage system that enables us to spin down fossil generation.

Because I will invest all my money into it.

But it doesn't exist yet.
Creating languages is fun :)
100% PageSpeed Score in 4 Steps on GitLab Pages: Google SEO Experience Update
Absolutly amazed to see this article on Hacker News.

This guy (the author) is the real deal. I once had the pleasure to visit his workshop and he had me test a bass drum he recently made. An amazing piece indeed. Just a gentle tap from the beater and it produced a rich and powerful but quiet sound!

I often hear famous and extraordinary drummers on Youtube state that playing quiet is a skill every drummer can acquire. Yes, but no: It really does depend on the instrument as well if that sounds good! And most drums just aren’t made for it.
Transferrable software/media licenses present a challenge that can be either a technical or a social/economical one.

There is a high temptation to abuse the system due to the ease of making a copy. On one hand, it can be attacked with a zero-trust outlook from technical angle (DRM). On the other hand, in a society with higher minimum quality of life and satisfaction eliminating required trust may do more harm than good, as really no one would want to go through the trouble of making illegal copies.

I strongly agree that “selling” something you do not get to own should not even be a valid concept.
Why on earth would you want to use JavaScript for Data Science?
Dupe: https://news.ycombinator.com/item?id=26912118
For unrelated reasons, I wonder how strong Rust's runtime types are. That is, assuming you manage to compile something with undefined behavior, will the program crash immediately?
FWIW - in my experience, if their demands upset you, it’s not going to go well (you’ll get more demands and feel more exhausted); if you laugh at the ridiculousness of the situation, remind them to ask nicely, and still help them with what they need/want, you’ll be much less stressed, you’ll be teaching them that being unpleasant doesn’t bother you and doesn’t help but does have the natural consequences of slowing down what they want, and you’ll be teaching them a better way of being; at least with my own kids, they picked up on it pretty quickly, and they started being much more fun to hang out with.

(Good luck!)
Tools for making remote kickoffs and virtual workhops successful
My understanding why this is usually not discussed is the following: The fibonacci sequence is usually used as an illustrative example or motivating problem for a given topic, not as a problem in itself. I believe a side note might most likely detract from the overall point for a technicality.

For the same reason you only wrote "if you consider exponentiation to be a constant time operation" instead of including a side analysis of how everything changes once you can't do that anymore, possible problems with accuracy of floating point representations of phi and it's exponentiation and everything else one has to consider once we leave the comfortable home of architecture native integers.

It is usually very valid to do so.
This is incredible work! I’ve been curious about using Kotlin for machine learning I’ll have to give it a try.
it's a hard design problem, actually.
But I think with const generic, we are getting very close, variadic could be:

fn foo<const N: usize, T>(varied: [&T; N]) { ... }
// usage
foo([&a, &b, &c])
foo([&a, &b, &c, &d])
I'll summarise the article for you. "Obesity is affecting animals too, to a striking degree, which is at odds with the popular explanations for obesity. Maybe some of us are more receptive to BPA or another chemical than others, and the rising level of BPA (or that other chemical substance) in our bodies is affecting some of us a great deal more than others."
> Have you noticed that there is a circular boundary where the layer of water suddenly changes depth?

I stumbled upon an explanation for this a while ago: https://en.wikipedia.org/wiki/Hydraulic_jump
Apple has slowly morphed the iPad into a laptop and it's somehow considered innovation.
There's a great set of soundfonts of these machines floating around, Optigan, Orchestron, Birotron, Chamberlain... Popol Vuh used something like this (might've been a prototype or something from what I've read) for example on the Aguirre soundtrack.
Wyoming will recognize DAOs as a new type of LLC beginning July first
All the more reason for folks to spend more time using the debugger; for instance, break points are only one feature.

Setting up remote debugging I’ll agree is more difficult than a local application, but each remote machine can automatically run startup commands and not require user input; commands can be run at particular places too (to print output etc) with conditional trace points, all while not impacting the code itself.

Main point is that folks don’t spend enough time learning the debugger, as print statements are easier. But using the debugger is a better practice in my opinion in the case where print statements are added just for a quick test, then removed.
Essentially all conferences are intended to be a mix of "hard" information transfer and "soft" networking/socialization. Very little can actually be directly achieved at a conference, and connections are probably more important for ongoing future progress.

IMO the article seems more like a standard case where there was some particularly exceptional "green field" days of Ruby around 2002 when everything was shiny and you could do something as important as "first real package manager" overnight. Even by 2007 things had matured well past that, and RubyConf shifting directionally towards what a Dentist Convention is like seems entirely natural.
> And they were not military men, they were the civilian government of the empire.

> Mehmed Talaat Pasha (1874–1921), the Grand Vizier (prime minister) and Minister of the Interior; Ismail Enver Pasha (1881–1922), the Minister of War; and Ahmed Cemal Pasha (1872–1922), the Minister of the Navy.

I don't know about you, but their positions sound very military to me. AFAIK, they are military or quasi-military departments in every country I've visited.
> If you're optimizing for UX you're not optimizing for security. It's just how it is.

Security can never be perfect. It's a lesson in trade-offs.

For example, if you make security so hard or inconvenient that people won't engage in secure behaviors, then in the end you're worse off.

This is the reason password rotation has fallen out of favor lately.

If in general we did away with password managers and took your lead, I guarantee we would collectively be worse off because, for most folks, what you describe would be seen as way more trouble than it's worth.

Your black-and-white take also fails to account for varied threat models.

Remember, the most common threat model online today is service breaches leading to passwords being exposed, followed by credential stuffing. Password managers encourage practices that eliminate that threat model.

If your threat model is centered on password manager service breaches like this one, then use a solution that doesn't require cloud hosting (e.g. keepass).

So now we need to worry about device breaches, which requires hackers to go after individual users (either targeted or untargeted), which has a much higher cost/complexity. We've made the hackers job a lot harder, which is good.

And if your model is centered on device breaches, well, bad news: your browser already sees your passwords go by (among many other things), so if the device is breached, you're hooped, password manager or no password manager.
The experience with CVEs in MISRA-C(++) vs Java and Ada embedded deployments, proves that there is still room for improvement by pushing C and C++ completely out of the picture.
What playing football taught me about hacking
>We have a solution to end coal, oil and gas fired power plants, and end a tremendous amount of pollution. But it's somewhat more expensive to run a nuke plant... Is money the only thing we are looking at here?

I see these types of comments over and over and over.

Wind doesn't always blow. Sun doesn't always shine. We don't have economical grid-scale electrical energy storage technology. Therefore, we can't actually shut down the fossil generation plants, and we end up paying for both.

What is so hard to understand about this?
You might find this also relatable: https://www.asc.ohio-state.edu/kilcup.1/262/feynman.html?rep...
I hope at the least somehow US can export some raw materials to AZN/SII in India to help scale up vaccine production, currently that is a huge bottleneck
Ah, a pity.

I love listen to audio books, but you're absolutely right, the narrator is sometimes more important than the narrative.
Some gifted narrators probably could read out operating instructions of kichen machines and it would be entertaining.

Thanks for the advice.
This sounds a lot like how big distribution chains work around here... Maybe it's a thing with economies-of-scale-based businesses. Like 'we'll be moving MILLIONS of your gadget but you'll have to sell your and your employees' and providers' souls. And self-respect.
I'm glad that the "loudness war" in general seems to be over, and people focus more on quality, mixing and mastering rather than making things sound as loud as possible, especially when it comes to electronic music. Similarly as what you said, you know when a mix is very well made when it sounds good when you're playing it on low volume, not when it sounds good on high volume.
It would be a really sad world if there was no way to survive except by doing harm. Something tells me it's an overly pessimistic outlook.