skysight-inc/HackerNews huggingface dataset:
Conversely, I've actually never seen automated tests "in the wild". Every project I've come across has had zero tests, or close to it.

I'm dealing with a migration of a legacy code base right now, today, that could probably use some tests! But even suggesting this is a complete non-starter: The time required to write the tests vastly exceeds the time and budget allocated to the migration project. I'll simply enable an APM tool that costs $50 a month and call it a day. If something crashes in UAT we'll catch it. If not, we'll definitely catch it in PRD. If not, then it's probably not worth dealing with!

I've added tests to some of my projects in the past and caught virtually nothing with them. I always run my code "through its paces" at least a few times with a REPL, debugger, or some sort of tracing tool before it's ever committed to the repo.

The kind of bugs I find in production would never be found by typical automated test suites. Things like logic errors due to misunderstanding the requirements, or deadlocks in a database that only manifest with an obscure multi-user workflow combination.

As a random example, a significant issue in one codebase was that a distinct sort was case-insensitive but should have been case-sensitive. It was dropping a few hundred items out of hundreds of millions. Will your tests find this issue? What if I told you nobody noticed for years, and that the processing where this manifested takes 4 hours?

Will your dev team still be productive if changes require 4-hour tests every time they hit build or check in the code? To find a one-time issue that won't reoccur now that it's been fixed? Really?

Small, fast tests often find nothing and are worthless because they don't test anything of interest.

Big complicated tests are time consuming to write, still often find nothing, and slow down processes.
> For instance, you send a message back to your collegue to buy a stock yesterday, and you haven't seen him since last Tuesday. So nothing weird would have to happen to achieve consistency. Presumably your friend bought the stock, knew not to tell you until tomorrow to give you time to have sent that back to him. If the colleague tried to tell you earlier, something would stop him - because obviously he wasn't able to before you sent the message.

I just don’t see how this works in the extremely simple case where you send the message to your past self. Using the colleague just tries to sidestep this. What physically happens if you attempt to send a message to yourself that you don’t remember receiving in your past? Does the system just consistently malfunction? Does it turn out that you had an accident between receiving and sending that caused memory loss?
First Look at the Barnes and Noble Nook Glowlight 4 E-Reader
Yah. Evolution is complicated.

Delta undoubtedly has many advantages, and disadvantages, over earlier variants that it outcompeted. That's why I said viral load is "a factor".

One thing that's interesting to me is how the selective pressures on pathogens change. Early on, adaptations that cause higher viral loads are often highly advantageous because they aid transmission-- this tends to be correlated with higher virulence, too. Later, as a smaller portion of the population is susceptible, and adaptations that are less virulent, have longer incubation periods, etc, can win.

It'll be interesting to learn about Omicron virulence and transmissibility. I wouldn't be surprised if it's less, like early reports hint at. However, disentangling this from partial immune escape, etc, is hard.
Tax evasion and avoidance are two different things.
"µ" would be fitting
Mine is not an "automation = bad" position. Obviously, it has value. It's more to say that automation is frequently implemented in a way that treats devs as just another part of an automated pipeline, not much different than software.

>"productivity" gain is pretty far down the list of benefits to me personally

Yeah, in reply to the other comment, I was saying that automation from an organizational perspective is not so much about improving the quality of life for devs, as it is about increasing their productivity.
At the same time can you change 2.2(a) and remove the "or sign up on behalf of a third party"? My clients are not technical, and when they do manage to sign up they then email me their login details in plain text...

Without this in your T&Cs I could create the account for them in a couple of minutes. And avoid doing a screenshare to walk those who fail through the sign up process.
Emacs can be good, but VS code killed it.
Thanks for the explanation. I played it through! enjoyed playing it.
Of course there are alternatives, and some alternatives may be better or worse depending on the features and qualities you desire. Again, there’s nothing unique about blockchains here. You could say the same thing about any random pick out of the top 50 CSS frameworks.
I went to the link and all I saw was an install button. There was no content, no information, no editing, no wiki and no pedia. And the text was too small.

If “modern web UI” means “performs none of the functions of a web Ui” then you nailed it.
I think if there was no back door, people might be even more upset. We want more convenient and secure keys, but we also don’t want to be permanently locked out of our cars accidentally. What’s the right thing to do? I’m asking sincerely. I’m not sure what the answer could be.
Yeah okay, I understand emulation is a subset, but surely a modern IDE takes care of most of the productivity gains you get from customization and adds a few more, like the context/AST-aware refactoring you find in Jetbrains IDEs

Edit: I spent a long time trying to make Vim more IDE-like, but found it was more productive to make my various IDEs more Vim-like, but I concede that might not be suitable for everyone
Stellantis targets 20B euros in additional revenues from software by 2030
It's roughly similar to email afaik, if not safer. It'll probably get extracted to some document. At least with Google forms the extraction is manual, giving less places to leak.
To be fair, lots of vim proponents obviously didn't spent much time in editors they're dunking on. The extent of sophistication mentioned for non-vim editors is "you can use ctrl+arrows to move around". Followed with "even if you like editor X, you can use vim emulation". And that vim emulation is usually just map of existing editor functionality to vim layer.

(I'm not saying that vi(m) doesn't have its merits, just that the argument can go both ways)
If I recall, it helped that the Snowden leaks contained slides claiming that NSA was (at the time of writing) unable to track Tor users.

https://www.theguardian.com/world/2013/oct/04/nsa-gchq-attac...
> the alcubierre drive requires things like external negative energy

https://www.scientificamerican.com/article/star-treks-warp-d...
> Well not necessarily - nobody actually paid them anything yet, so they have realized exactly $0 in gains.

Except that they still have a rock that the market currently values at $10. The value of that clearly isn't zero, because it's $10.

The argument that not everybody could sell their rocks all at once and still get the same price is only relevant if that's what happens. It's like saying your shares in an S&P 500 index aren't worth the market price because of what would happen if everyone sold at once.
Yes, if you want/need an IDE, by all means do. Vim is an editor, a very powerful one with all sorts of tools, but it's generally ill-advised to try and make it work like an IDE.

As far as I'm concerned, as a grey beard sysadmin, I don't need an IDE, so I value more the advanced editing features of Vim and I've been happy with it for years (more than I'd like to admit).
> nobody in the commercial paper markets have heard of them

You've spoken to Evergrande and friends?

> to buy BTC you really first bought Tether (or USDC) and then traded your tether for BTC a minute later

Nnnnno, not everyone uses sketchy and/or first-gen CEXs...
This post is exactly what I was looking for. I went through vimtutor some time ago and have been using vim since, but I kept thinking "there HAS to be a better way to do this thing but it wasn't in vimtutor." Just using . and f is going to help me tremendously. I'd be interested in any other resources that bridge to the gap between vimtutor and the manual.
Codebases that do that are very rarely const correct, however.

(Personally, I don’t think typing unique_ptr<Foo> or unique_ptr<const Foo> is such a big deal. But then, I also consider having “using namespace std” the only somewhat sane way to use the STL.)
Are gunshot-detecting microphones worth the money?
> 'theoretically possible but never seen in a lab'

Not unlike gravitational waves and the Higgs Boson up until relatively recently...
There is also Matchmaker Exchange who's aim is to be a clearing house where very rare diseases become slightly less rare when patients can locate someone else with the same thing. So an answer to who may be interested, could be someone else who has your symptoms.

https://www.matchmakerexchange.org/
You really do not want to charge those batteries anymore. I had some overcharged Li-ion batteries, which I put on windowsill to cool off. They went off like rockets, flying hundreds of meters, damaging some cars, but luckily missing all humans.
A large company has literally all of the qualities. They are even trying to make AI.

> Can scale up their computing power

Square cube law applies to computers (heat dissipation and bandwidth scale poorly with centralized computation). All available evidence is that intelligence doesn't distribute well (see human brains vs human civilization) if you try emulation of a centralized algorithm on a distributed system it is inefficient and still centralized. It _might_ be more robust.

This is already a real problem in data center design.

> 2. Can improve the quality of their learning algorithms

Not exciting. So can you. So can companies and other organizations (see human history)

> 3. Can patiently wait until they have a clear upper hand before acting at all. And could find reasons for collecting the resources they need in secret, or by appearing benign to their human directors.

So can any human civilizations, organizations, religions, and companies. Replace "human directors" with consumers. I get "The Walton Family" isn't a sexy AI overlord, but they already did this.

> 4. Could coordinate between each other with languages embedded in communication, designed to be undetectable to us.

Anybody can do that. (See Stenography)

> I expect we could come up with 100 interesting ways a superintelligent AI, which would essentially be a self-designed life form (something we have yet to see on this planet), could surpass us.

Within the limits of meat-brain, you are a self designed organism. AI frameworks won't be any different, they will have limits. They are not going to "self improve". They will have children and try and raise them better then themselves then suicide.

The only difference is your perception of the situation and inability to observe the process directly. If you are considering how to make AI then you are a component of the same system of the AI it self.

At best an AI might be able to bootstrap a bit faster than human organizations can evolve superior memetics, but it has all the same bottlenecks eventually.

> An AI would have the theoretical potential to live forever, relatively speaking. That is greater incentive and more time than any human has ever had. Time to plot to destroy everyone else to achieve complete freedom, safety from others, and achieve maximum survivability.

it faces all the same challenges human organizations do, perhaps on different time scales. Everything that drives meat to failure kills computers too. Computers are just less energy efficient and coincidentally more robust.
One extra reason: An actual health benefit (at least for me) reducing the hand strain from switching to keyboard and mouse. Using tmux takes this to the next level.
Go and try it. I did it, productivity is much higher than cpp for me.

For one, pulling down a package is a one liner. It just works, and I haven't come across a special one that does its own thing yet. The ecosystem seems pretty complete, too. I've yet to have to write my own component: everything from serialisation to async runtime, queues, config parsers, rate limiters, hmac, logging and so on is there.

The big thing though is debugging. I'm CPP is possible to write bugs that manifest in very strange ways when you run the program. It eats up days to debug, and you're never sure if it's actually solved, because there's a large surface that might contain the bug. With rust it will complain at you at compile time. This can be confusing but you'll figure it out eventually and then it's fixed.
I mean, you can do all of that today via piracy. There are modded Spotify APKs as well for Android which are quite useful too.
Yeah Eight-hundred Megs And Continuously Swapping these days :)
The 2021 changes could be applied with an autofix tool - “cargo fix --edition”.

Most of these changes are small paper cuts that make sense to fix, but they’re breaking changes so they need to be opted into explicitly.

For example, earlier use a field x of struct b in a closure would capture the ownership of the whole of b. In rust 2021, the closure will only take ownership of b.x. This makes sense, but it’s a breaking change and therefore it needs an opt-in.

The Edition system is one of Rust’s biggest strengths IMO. Some languages never make breaking changes be enough if they’re small because it would break too much code. Other languages make breaking changes but expect users to migrate, placing a burden on them. The Rust edition system leaves it up to the user, on a per-crate (package) basis. Staying on the old edition is perfectly acceptable, as is moving to the new one.

Further reading - https://doc.rust-lang.org/edition-guide/rust-2021/
What people usually don't understand: vi(m) and emacs are different concepts.

Vim is a language for keyboard combinations, with a full grammar that contains subjects, objects, adjectives and verbs (e.g. df2m means delete until you find the second m occurance).

Emacs on the other hand allows to flexibly bind as much as you want on each keystroke or key shortcut, which is a completely different concept.

I don't favor vi over emacs. I don't give a damn what you use, use the tool that makes you the most productive. Vim helped me to reflect on my own inefficiencies and taught me how I can optimize my own workflow. And this also applies to emacs users.

If the most efficient tool turns out to be notepad++ for you - I don't care, as long as you're happy with using it. There's no point trying to convince others to use a tool if it doesn't reflect or optimize their workflow. If they don't see the need, they won't be able to appreciate it either (yet).
Plenty of people like watching ads. Just go to youtube and see all the ads posted. There's whole channels

https://www.youtube.com/watch?v=uUBpIWz6bPk

https://www.youtube.com/watch?v=eTcV-7Ubzpg

https://www.youtube.com/watch?v=fYFyruOvAnM

https://www.youtube.com/watch?v=oVwvmozG6-A&list=PLjHdPL8MeP...

https://www.youtube.com/watch?v=NdCYe4FoMRA

I had plenty of friends that hated Football but would throw a party to watch the ads

https://www.youtube.com/watch?v=Muyq2kMDFoA
Formal style guidelines and mandatory tests for everything are largely wastes of time and often detrimental to software development.

To elaborate: formal style guides prevent simple things like formatting code in a manner that is easier to read in some cases (“why is this newline here? Why did you column aligned this block of expressions?”), and more insidiously force you to write worse code because they constrict you. Style guidelines should be just that - guidelines and engineers should have the decency to not request stylistic changes during code reviews unless they spot code that is obviously sloppy.

As for tests: insisting on having tests for everything impedes development in the present as well as in the future. More crucially the compulsive desire to have everything testable makes you write worse code as you need to abstract away parts that would simply be function calls or use patterns that obfuscate the code. Some will claim that this results in better designed code, but realistically speaking it just results in more complex code, which is almost always worse. You don’t need to use abstractions everywhere. Developers should focus on making shit work well and not over engineering code because they want to feel smart all the while making rationalizations about testable code and whatnot. I digress though so back to my original point regarding tests: in order for tests to justify their existence they have to test something significant and/or test a module that provides a service (read: hidden behind well defined API, api which you test to ensure that it doesn’t break its “contract”)
> MILAN : Stellantis plans to generate around 4 billion euros ... from software-enabled product offerings and subscriptions ... [The] carmaker said it expected to have 34 million connected vehicles on the streets by 2030 from 12 million now ... [It] said that, starting from 2024, it would deploy three new technological platforms powered by artificial intelligence

It is not fully explicit what this "software" means, but suspect could be raised that further steps are carried towards full dystopia. ("Connected car" being the foremost dystopia, in terms of "who could be so insane to install network related security issues on a vehicle". Then, of course, this suggestion which could mean "capitalizing on the driver"...)

It is not clear how to make all the rubbish optional.
I’d be interested in a modal editor built with modern conventions in mind.

I love the modal editing model, but there’s no denying that vim can be a little clunky when dealing with things that have come along since, like the system clipboard.
There are endless patterns for using Vim. Here are a few which I use frequently instead of multi-cursors: https://asciinema.org/a/v7pOP4tqxPOPUu1HwbixmuUnS

I switched to Vim from Sublime Text years ago, and honestly multiple cursors and the live search and replace (especially across multiple files) were both missed until I learned how to do them in Vim just as easily.

Vim is a multi-year investment, and isn't worth it for most people.
But it's not stable enough to be terribly useful for storing wealth or moving money, at least by the standards of normal legal assets. So most of the value must come from crime and speculation.
So as a few people have asked, this actually lets us use a variety of client-side unblocking techniques (like inbound request modification) that browser extensions can't (due to extension API limitations), and effectively unblock publications that the browser extensions don't (can't) — think major ones like WaPo and Bloomberg. The app also works across all browsers, not just Chrome / Firefox. As an aside, due to limitations caused by how cellular networks handle IPs, it's next to impossible for these sites to implement IP-based metering without severe adverse side effects, but the proxy does give very fine-grained control over how the user is presented to the end-site (including apparent IP address).

Right now, we don't make money or monetize at all, and are still exploring options. For the foreseeable future, we're 100% focused on growth and plan to raise VC funding to sustain operations. Ultimately, we want to find a monetization solution that works well for everyone and keeps our interests aligned with the best interest of our users.
I didn't know about the autocomplete, that is really helpful; and I'm excited to see `ls` PR'd! Huge thanks to the contributors.

I think some of my cache misses were a rookie mistake: I was building a few expensive targets on a `FROM ...:latest` base. The base image changed often enough to make the cache misses annoying, but infrequent enough to make me think it was GC. My builds are much happier now! :)
What happens if the wine goes bad? Who/what arbitrates in that scenario? Because from the winery's perspective, whoever currently holds that contract owes them money for the wine at a fixed price that was determined and sold in the past.

If I hold that contract and have to take delivery of rancid wine instead of fresh wine like I imagined, what's my recourse?

Basically how do you ensure the state of the real-world asset remains fixed throughout the duration of the contract?
Is this secondary market of goods yet to be produced something that people actually want to have?

Today the way this works is usually with a ticket or a receipt. The guy with the email receipt on his phone gets the food he ordered. The guy with the ticket gets into the concert.

There IS a secondary market for event tickets. Legitimate transfers frequently happen everywhere else e-commerce happens. Questionable transfers happen on the street in what I assume is low volume.
Stock brokers track perfectly the transfer of people rights to stocks millions of times a day without any decentralized ledger. In fact, a SQL DB has worked quite well for many years now.

If the wine cellar wants their customers to trade wine, I'm sure a centralized ledger based on a SQL DB would be much easier and cheaper to implement and scale to millions of transactions.
Sample gallery – Mimaki 3D printer
Wow, a GDPR block screen. Really tells you they just can’t handle not tracking…
The critique being made in the original article, I think, is that it's extremely hard to find a hypothetical use case for blockchain technology that can't be done without blockchain technology. A wine exchange seems to pretty clearly fall into the "things we can do pretty well without crypto" category, so one needs to explain what crypto is bringing to the party that makes it a marked improvement. In this particular example, both "trustlessness" and "decentralization" are off the table (e.g., there is only one winery and you are trusting them to hold the physical goods).
The book "Practical Vim" is written with this exact use case in mind. And it's great
This is a distraction. No one is innocent. Ever. That doesn't remove the blame from the guilty party.

Your claim is similar to a guy running over me with his car then claiming I ran over someone else with a car a few years back. Two separate cases which have no baring on one another... Sounds like something a Facebook lawyer would say.
Macros and replaying my last command at a new location are the biggest thing I miss from vim. With regex replace groups you can generally get close enough to the desired productivity though.

(Personally, I find vim's multiselect cumbersome to use compared to sublime/vscode's.)
Reminds me of BigClive's super computers [0]: flashing or color changing LEDs, some resistors and that's it. Quite a nice effect!

[0]: https://youtu.be/7f8jgvvJe-Q
Sadly on iOS there is no ublock
> I’d only be worried if I were a competitor who pissed him off by publishing BS stats

An unusual and excellent CEO stance. Now I like Cloudflare even more.
Thanks, this makes a bit more sense to me now, but let's figure out if I understood it correctly:

The Casimir effect is about creating a spacetime "corset" so to speak, that is so tight that even the regular quantum fluctuations don't have "enough room to pass", so they "almost freeze", and when they "come out on the other end", they could for example break or delay entanglement?

On the other hand I think your assumption about the time aspect might be correct as we are talking about spacetime after all. The biggest issue might be that measuring time deltas might be harder than space deltas?
> Why do I have to do the work for you when you can’t be bothered to be aware of the world you live in?

It's just another form of the social media derived "[citation needed]" thought terminating cliche.

Any time someone either doesn't feel like a topic should be discussed, or that your point isn't even worth addressing, can just silence you by suddenly requiring you to speak through someone else. Original thought, open debate and honest inquisition is no longer allowed!