skysight-inc/HackerNews huggingface dataset:
This is the old packaging design where disk space and bandwidth were expensive, so you tried to have one version of each library or package on disk. This design leads to cascading complexity and breakage when many package depend on the same library and some need different versions of the library.

Modern packaging has changed the approach to bundle dependencies-- using more disk space and bandwidth but isolating apps from each other and allowing independent upgrade cycles. Flatpak and Snap work like that and the title wave of interest in containers on servers is related, as server containers are also used to isolate dependency stacks.

Flatpak and Snap are Linux-specific, though. If the BSDs had a comparable solution to package GUI apps along with their dependencies, I presume that Firefox would be one of the first apps to get that treatment.
I don't know of a good source beyond textbooks or papers which focus precisely on the low level crypto details you (rightly) want to avoid. There just isn't much of a need for that kind of nuance most of the time. I also (gently) reject the premise; as far as practical security is concerned, if your team is recommending Argon2/scrypt/bcrypt to developers then that's far more important than being able to explain the difference between key derivation and keyless password hashing.

It's essentially like rectangles versus squares. You can create a key derivation function out of anything which passes all the criteria of a password hashing function. But it won't be a particularly performant or useful key derivation function. Likewise you can create a password hashing algorithm out of a dedicated key derivation function, but that's insufficient on its own.

There's no need to get bogged down in the details, just continue recommending a reputable implementation of these algorithms. On the other hand, if you'd like to learn more out of intellectual curiosity, Boneh & Shoup's textbook is good (work in progress) [1]. Galbraith's textbook includes chapters which cover the topic to a depth that's beyond what you're looking for, but you'll learn whatever it is you want to know [2].

Finally, more accessible, informal answers that get the basic idea across are [3], [4].

1. https://toc.cryptobook.us/

2. https://www.math.auckland.ac.nz/~sgal018/crypto-book/main.pd...

3. https://security.stackexchange.com/questions/95410/what-is-t...

4. https://crypto.stackexchange.com/questions/70716/key-derivat...
> "As each vector takes 2 KB space, the minimum storage space for 100 million vectors is about 200 GB"

Why are you not quantizing the vectors when you insert them? Bolt [1] and Quicker-ADC [2] make 10-100x compression basically free for approximate search (and also get you ~100x compression roughly 10x faster querying within a partition....)

[1] https://github.com/dblalock/bolt

[2] https://github.com/technicolor-research/faiss-quickeradc
That's one of the reference documents we also use. Somehow I still feel like KDF (or "one-way KDF") describes a broader set of algorithms than we truly mean, but you make a good point that if some official body writes it this way, the terminology is probably at least correct enough.
If everyone ought to have something, it shouldn’t matter whether they’re employable at the moment. How their industry is doing, macroeconomic cycles, whether their skills are in demand, whether they produce enough value to justify hiring at the wage you consider fair, whether bosses and coworkers like them personally. None of that should be an input into whether or not you can see a doctor or eat a meal.

Cutting checks is a lot simpler than policing the terms of private transactions. Particularly when not all those transactions look like full time work for one corporate employer.
Why you are resistant is important but you must follow the rules. Bad things beyond your imagination will happen if you click on that email link. The increased scrutiny allows for better patient tracking and care. That needs to be the priority.

Regulatory paperwork and billing are the reason why you are putting in information into the computer. Without these the medical centre closes. Getting the correct information to that department is part of the role.
I wish NeXTsteps's app bundles had caught on outside of OSX.
Digital Health Coaching for Busy People
Absolutely correct, I've even given talks on this. Check out slide 52, I think we're in strong agreement here: https://speakerdeck.com/philnash/2fa-wtf-at-pycon-singapore?....

I'm not advocating for poorly implemented 2FA, just that SMS 2FA is more secure than just a password.

If a site required you to have a 32 character length password, but kept the passwords in plain text, that wouldn't make your password any less strong. It just opens a different attack vector. If a site implements 2FA via SMS, but allows password reset via SMS it doesn't make SMS 2FA less secure, it makes that sites implementation incorrect.
Find Investors, Friends, Recruiting Leads, and More Directly from Your Twitter
I hope so, but Fedora is dragging their feet putting out a patched Firefox package on Fedora 30, which is still suppoted.
1. How would you know? How many engineers does it really take, in a massive company with billions of dollars to waste and tens of thousands of employees, to break the law for profit in secret?

2. Do you really trust that the law is sufficiently protective? Do you believe it to be crafted for the novel dangers that come from mining aggregations of data and building individual profiles with next generation ML?

3. What stops Google from throwing it's weight around to lobby for changes to the law which allow it to make use of data in ways that laws protect against now, once it has the data?

Sure, that's a lot of what ifs. But this particular scenario is dangerous because it effects all of us, and it only takes one ambitious authoritarian to turn all of this adtech fun and games into the most comprehensive and fine grained surveillance apparatus that has ever existed. Stalin, Lenin, Hitler, Pol Pot; just imagine the temptation of being just one "lawful" seizure away from such power...that's what slimy adtech companies are building, they don't care and the average person doesn't understand.
The problem is the customer agreeing that they want to buy something for a given price. Then a little while later they see an opportunity to get something for free so expect customer service to bend over backwards to make them a happier customer. They were already happy with their purchase, they just want to be happy.

It is bogus "customer is always right" garbage, and incredibly entitled behavior.
That's just not true. In fact, we're losing 30%-40% of the software we use and like every single day simply because people write utter crap and then pointlessly rewrite it over and over. If we placed more focus on having sane development practices and good computer assists for developers, we'd ultimately find it easier to develop software and maintain it over time, such that there'd be little or no need to throw stuff away altogether.
It really depends. For test setup, I'm inclined to leave alone; duplication is often easier to reason about when a test breaks. For code with control flow changes in the middle, abstraction is honestly dubious. For mere value differences, maybe, but if the values are complex and not merely scalar, maybe not. More duplication is needed to justify when the abstraction needs more edge cases to cover them all, especially control flow more than different values.
There is no driver change, only changes in the way the device is supported by the kernel (mach files in ar71xx, Device Tree in ath79)

The "ar71xx-ath79" target is used in the wiki for devices that are supported both in ar71xx and ath79, there should be 19.07.0 images for both.

In any case, use ath79 for new devices, and migrate from ar71xx to ath79 on existing devices.

There is a guide here: https://openwrt.org/docs/guide-user/installation/ar71xx.to.a...
Well, in that case, why do it now instead of waiting until “the future”?

If it’s needed in the future, the cost is not more than it is now. If it isn’t needed in the future, then he’s wasted his time. If something similar is needed, but it needs to be refactored in a different way, they are going to have to refactor it

There is no special case “trap”. Business requirements necessitated changes.
One place I've found this to be especially true is when writing CSS. I went through a phase years ago of trying to abstract any repeated styles into 'clever' oocss patterns but in the end it's often lead to a confusing mess, in part because of the nature of CSS. In the end I've found duplicated and verbose code to be so much easier to work with and maintain.
It is indeed surprising; it took me a long time to be sure it was safe. Google “server relief”.
Out of all possible gotchas in programming languages I still find null pointers the easiest one to discover and fix. You directly see when and where it happens, and the fix is usally straightforward.

Compared to that invalid pointers (stale references) are a lot more painful, since programs might continue to work for a while. Managed languages do at least prevent those.

Multithreading issues are imho the biggest pain points, since they are introduced so easily and often go unnoticed for a long time. The amount of languages that prevent those is unfortunately not that big (Rust plus pure singlethreaded languages like JS plus pure functional languages).
Odd that the three replies to your question are grayed out.

I don't think there is a viable alternative to Firefox unless you accept a simple web experience and use eg w3m
Well, for a project explicitly announced as experimental (there's even a blinking paragraph on nest.pijul.com), two years is quite a while.

The repository of Pijul itself got corrupted several times, but the last time was certainly more than a year ago.
If I'm to avoid Firefox, I'd like to avoid its forks as well - they don't really improve upon anything meaningful both of those have had more issues than Firefox in the past. I'm thinking smaller than Firefox.
Interesting, sounds more centralized maybe. I'm guessing Louisiana? or maybe Alaska?
This sounds like the Flag for the buttons GPIO is wrong (ACTIVE_LOW instead of ACTIVE_HIGH / vice versa). This was unnoticed for a long time until a rewrite of the button handling.

If you are confident building your own image, try to inverse the button state here and test it out / send a patch: https://github.com/openwrt/openwrt/blob/master/target/linux/...
Man butplugg that’s rough. Would not want that name in middle / high school.
Wait. What? Goodbye clean code? Clean code obsession is a phase?

Your only mistake was that you didn't ask the committer to adjust their code, you didn't discuss, but you went and changed their code and "pushed it to master" :) This is your mistake. Nothing to do with clean code. And the title is a very misleading, untrue click bait.
If someone spends a week or two writing a patch and you come in and rewrite it in an evening, that, in and of itself, is telling me something: You think your teammate is a worse coder than you, given you were able to solve it with "cleaner" code. You assumed that your solution was better, without talking to the person who authored it to see if they did things that way for a reason.

This could have been solved with a "why did you do things this way", and maybe you would have learned a bit about the thought process behind it, or maybe you would have gotten "yeah this could probably be better, go ahead and clean it up".

In a lot of cases, I definitely get the latter, but I always ask first, because if they had a reason to do things a certain way, they probably don't want someone stomping on a feature they're actively working on.
It would be great if there were some ready-made examples that could be loaded, especially showing off interesting things. Maybe those are already present but not visible on the mobile version?
> "Obviously there must be some amount of people doing it"

There's no data that this is true. It could simply be a project manager deciding that it's a good thing or the result of a tiny fraction of complaints.
As a founder, I've been looking for something like this, do you've any idea when you'll release it?
I'll go one step further:

The whole "centralized, trusted repository that has all your apps" system is wrong at a fundamental level.

The way shared libraries are used in Linux is built upon the assumption that package managers and centralized repositories are the right way to do things.
Courtney Love. Fuck.
The article says:

> While officers are allowed to use a ruse, investigators said the officer’s lie “shocked the conscience” and was inconsistent with the police department’s policy.

He did something that he’s allowed to do (lie) but he took it a little too far. He might be negligent to some degree, but this is not “murder”.
I heard something like: "The second system you design will be the most over engineered piece of shit ever"

I don't know who said it but it has been very true for me and my close friends who work in software development. I remember first starting software development and I started to read up on "how to do it right" in the Java/C# world back when XML was everywhere.

I had first started to expand my skills after university by building my own blog (who didn't at that time?) but thought I should rebuild it according to "best practices".

Hoooooly shit that was a poorly architected and designed piece of software. The example in the blog was of course not as poor of an example as my creation but I feel that many end up in this trap after they have some experience that they need to do everything "right" and they don't have the experience to evaluate if it is worth it.

However I also think a good workplace have a healthy mix because those youngsters will also push the old guard to learn new things and introduce new technology. Just need a balance between using 0.1-alpha libraries and things that were released 10 years ago.
At first I wrote ugly convoluted code.

Then, upon seeing the light I wrote clean and organized code.

Now I write what many see as ugly convoluted code because I see further down the line than they do.
Anecdotal evidence and survivorship bias is strong here. Cops tend to be human beings on a medium income. If you want the apropriate penalty for irresponsible cops then you need to look further than wrongdoing of the individual. Cops are in the line of work in which every mistake is a wrongfull imprisonment, death or negligence. What if your work didn't allow for a single white lie or error? Wouldn't you demand higher pay? Or would less people be willing to work in your field? It is also not obvious from all this anecdotal evidence that cops are more likely to be morally corrupt. All research done towards discriminating cops have shown the opposite. It feels like every couple of years the news finds a new scapegoat. I used to read stories about monsanto, evil wall street and bankers filling their own pockets. Now the theme is injustice of lawfull force.
Wouldn't it be best for google to allow you to download a takeout of all your files in the case that your account is suspended?
> is there something safer, simpler, and more secure?

No.

Building a good browser is hard. Typically you can get something "safer" (from a privacy/business model perspective) and/or "simpler" (from a development perspective) relatively easily - see KHTML and other niche efforts. But when it comes to "more secure" while supporting modern web features, you need a lot of skilled eyeballs on code and a lot of people trying to break things. You achieve that either with tons of visibility, or with tons of money. Those small projects have neither. Mozilla has both.
Yes, we are looking at IV, as others have done already clinically. We aren't looking at aptamers or other clever ways of binding small toxic biomolecules. I hope that other groups are!
In 2 months, If you join the waitlist, I will send an email to everyone on the day of launch.
JPA and I announced BLAKE3 at the RWC lightning talks, after JPA's Too Much Crypto talk, and we published all the repos and crates.io packages about 30 minutes prior to that. The commit history that you see in the repos was private until January 9.
On the error branch, how do you do code coverage?
You should say “proven”, not “accepted.
One of the areas where I really like "incidental duplication" is in tests.

Tests can sometimes be very repetitive and identical, and it's tempting to want to refactor it in some clever way. That's almost never good.

On top of the reasons laid out in parent comment, tests also function as unofficial documentation. I like having everything explicit in there, it makes them easier to read and understand.
Not seeing this with my Gmail account. It's a paid account, though. Maybe that's the price for good, free email.
Expose your local Kubernetes API server to the Internet
I don't know what his arguments are, and I don't have much of a clue about crypto, but perhaps his argument could go along the lines of "a secure algorithm shouldn't be secured just by increasing the number of rounds too much"?
I fully appreciate that it can be very hard for smaller operations to deal with legal threats, but is this really a legislative problem as rahuldottech suggests?

I have a really hard time imagining any reasonable legislative solution to this problem.
Shared libraries aren't just about reducing disk space and bandwidth consumption; it's also about fixing bugs in one place fixing it for all consumers. It requires discipline to only fix bugs and not break consumers, though, and therein lies the devil.
It’s a small semantic nitpick, but I think that you have to qualify the domain of conversation in stating: ‘neither “compiled” or “interpreted” language families ... has a slam dunk performance advantage over the other.’

If this is universally qualified, where are the scientific HPC simulations written in python, AAA video games written in Haskell, and fin tech trading apps written in Lisp?

I am not stating that there are no places where compiled vs interpreted can never produce acceptable results, it’s just more nuanced than a forall type proposition.

Addendum: I am aware C# could sort of be ‘interpreted’ and Unity is C#, so there is at least some evidence in the game category, but I’d quibble over the best-in-class C#/Unity game being considered 100% C#.
The more time passes, the more i consider coding to have a strong aesthetic component. What makes it complex is that there are two kind of "aesthetics":

- the code itself

- the abstractions that the code represents.

You can have very "clean looking" code (short functions, short files, no repetition, etc. ) that is in fact modeling a problem in the most convoluted way. And the other way around : a bit of repetition, but the concepts behind are completely obvious.

And most of the time, nothing falls completely into one category, and the way you'll decide where to draw the line is almost a matter of taste.
I thought all of this until I got used to Go's error handling.

There's a couple aspects to this:

1. After a while, the "if err != nil {" becomes a single statement in your mind, and you only notice it if it's different (like trapping things that should error with "if err == nil {"). In other words, it only feels verbose if you're not used to it. After a while, the regular rhythm of "statement, error check, statement, error check" becomes the routine pattern of your code and it looks weird if you don't check for errors (which is as it should be).

2. The point of Go's error handling is that it isn't magic. There's nothing special about error values, and they are handled exactly the same way as every other variable in the system. The only thing the language defines about errors is that they have a method called Error that returns a string. That's it. This means that you can create complex error handlers if you need it, entirely within the standard language. This is extremely powerful.

The Go team's examination of the language error handling is interesting because it seems there's a conflict between newer Gophers who don't like the verbosity of it (but don't realise the power it brings) and the older Gophers who are used to the verbosity and appreciate the power. Almost exactly like TFA. The repitition looks ugly if you don't appreciate the reasons for it.
> how come that they can't include traffic in the price estimation? It's not like traffic jams materialize suddenly, out of nowhere, and disappear in the flash.

Even traffic indication in Google Maps isn't that accurate, I often get into a red section where there might have been a jam 15-20 min ago but it cleared up when I got there.

Those traffic indicators aren',t really live, more like how it was 30 minutes in the past.
This isn't so much "show Hacker News" as "tease Hacker News".

Your web site shows me diddly squat. Do you actually _have_ a product? Where's the video walkthrough, or at the very least, some screen shots?

If your product were genuinely useful / insightful (which is very hard to do in this space) then we might buy it. For 400 seats. But it looks like vapourware to me right now. Come back when you actually have something to show the community.
Towards a Non-Facebook
I worked with someone that considered code repetition as a force of evil that needs to be fight at all costs. Some of his refactors were valid, other not so much and made everything more awkwars to work and more resiatant to change. It wasnt a pleasent experience.
> We were working on a graphics editor canvas, and they implemented the ability to resize shapes like rectangles and ovals by dragging small handles at their edges.

It's a dirty shame their development team had to build a graphics editor canvas from scratch.
Rust is a force for good but I think Andrei Alexandrescu was right when he said Rust feels like it "skipped leg day" (in the sense that it has its party piece and not much else) - from the perspective of the arch metaprogrammer himself at least.

Rust is obviously good for safety but for everything else (to me at least) it seems unidiomatic and ugly, admittedlty I've never really sunk my teeth into it (I've read a fair amount into the theory behind the safety features but never done a proper project)
Most business and schools are the same. Ignorance and self importance prevails over common sense!
In the moments where addiction has crept into my life (I've been fortunate enough to observe it and have a good enough life that I could correct it; I can see how if things were worse, I might not have had that control), I've always had this awful feeling that I was just escaping. The fastest route out of consciousness, no effort, no feeling, no hope for myself. I think for many of us, addiction really is about escaping the ordinary because when your ordinary becomes painful, coping can become a tremendous burden. I don't hold peoples addictions against them at all... If you prefer drinking over your life, you're probably battling something awful. Maybe it's things happening right now, maybe it's something that happened to you. Maybe you have acute mental illness that's virtually undetectable to others and you've tried to live the way everyone expects for 20 years +, and it's too much now. I think this is quite common. If that's how someone feels, they have my sympathy. My life has been pretty good all things said, but I've felt incredibly overwhelmed at times. Life can be hard as hell. Sometimes you just want to turn it off for a while.
> By the definition of murder, my statement seems to be accurate.

You're going to have to clarify that a bit. Lol.
I guess it's one less high-profile customer for Lyft in London: https://en.wikipedia.org/wiki/Dominic_Cummings
This. I wait until the feature is mature, and has been used by actual people. There's no point trying to clean up code that hasn't finished evolving, or that I don't understand fully.

It also means I have a tidy stack of refactoring to do when I'm bored or need a quick motivational win :)