skysight-inc/HackerNews huggingface dataset:
Any developer worth their wage tests.

After writing any code I run the program to test the change I have made. I make sure the code is exercised either by logging, debugger, or clear UI change. If it's a browser app I use multiple browsers, if it's a rest service I make the rest call.

But I have known some developers that write a unit test, but never test the actual change! And without fail serious bugs appear. Like the application fails to start, or crashes when the new feature is invoked for the first time.
I've found what really has helped me with TDD is a continuous test runner. Different platforms have different takes on them, but in my case it's NCrunch.

The fact that it's running the test as I'm typing is incredibility powerful. It helps me keep to a rhythm, as I don't have to stop and get the test runner to run the unit tests.

When I'm refactoring and a test goes red when I'm not expecting it has saved me time, it also helps you question everything, why was this test needed, do we still need it?

That and (with NCrunch at least) the coverage dots. If I'm diving into some code without an test coverage or code with gappy coverage it lets me know I need to be cautious.
>it's not even possible to categorically determine the owner of an international cargo ship due to the fact that mazes of opaque offshore (shell) company ownership is still not just possible and easy, but effectively "the norm".

Panama, Liberia, Uzbekistan, etc. etc. have better things to care about than keeping accurate paper trails about corporate ownership to make life easy for tax auditors in air conditioned first world offices.

Unless you can somehow magically make them rich enough to solve all their big problems to the point where opaque chains of ownership seems worth caring about the symptom will persist.
There it is! I immediately thought of this.
It’s because there are ongoing investigations to understand why the AN had been ordered.

There had been suggestions that it was meant for Beirut, to be used by Sunni militants or Hezbollah, and the final destination of Mozambique was a cover.

Mix that with HA and the real ship owner doing business with the same Tanzanian bank.. the whole thing becomes stinky.
>So either it is next to impossible to begin doing it (seems like a bizarre conclusion), or, perhaps more likely, nobody wants to do it, and the few dev teams that do manage to do this have not managed to turn that into a competitive advantage. Which makes the value of TDD rather questionable based on simple evidence.

Or the competitive advantages it offers do not align with the competitive advantages our society currently selects for. These days it seems that short term profits are the primary factor selected for and that users tend to go with the first to market until it has a significantly worse experience.

>But without going into any of those, the sheer fact that it's __this__ rare in practice says a lot, no?

It's a bit like how good security is a rare practice, as good enough security is much cheaper and the cost of security incidents is generally not as large as they should be (for example, data breaches have most of their costs pushed onto the victims of the data being leaked and not the collecting company that was breached).
Yes, I understand that.

I think the point is that this part:

> that it can later recognize are requests for the fingerprinting library.

is made significantly easier to implement by web bundles. (Because with web bundles, the server doesn't need to understand the URLs at all)

I agree however that it's questionable how well this technique would fit into real-life situations. I imagine as most ads and tracking scripts are not served locally, you usually wouldn't be able to embed them into a bundle anyway, randomised URLs or not.
I'm not talking about twitter mobs obviously, I'm talking about discussions about technology on tech forums or subreddits when any complaint (blaming the company who developed certain software) gets shut down without even comprehending the problem, purely as a "vocal minority = irrelevant". Oh well, I guess that idea is not yet ready for the masses. More people need to experience the frustration first hand.
Then it doesn't reflect my experience of cardless transactions with a private key. Everyone uses it here to sign bank transactions online, for a popular phone-number based transaction service and for government official purposes, like signing your tax declaration form. I have it on the phone, and other apps can request a signature via an API, at which point I get prompted with information on who and what I'm signing for, and for my six digit PIN.

Onboarding is elaborate to avoid fraud, but not really complicated, and basically a necessity if you don't want to have to go to a bank office to manage your account and make transactions.
And white supremacy. Which used to arguably be a stabilizing element of the US, because it was the de facto law of the land.

Now that it’s in contention we see white supremacists attempting to destabilize things to maintain/regain said supremacy.
Yeah, you are basically forced to pirate movies if you want it in good streaming quality.

Most of the 4K HDR movies on Netflix are just available as 1080p SDR even with a 4K subscription, to get 4K HDR Atmos quality streaming you gotta pirate them. It's so damn dumb.
This is the sort of thing anti-vaxxers seize on and distort.
Sounds like still a few steps to go
The amount of people admitting not doing TDD surprises me. I wouldn’t dare to write any production code without a comprehensive suite of tests.

Most projects I work on for have about 50% production code and 50% tests code, especially if I have a say in it. I simply won’t take any responsibility for my code if I cannot test it.

Funniest thing is that the projects that are well tested are also the projects that just work, rarely triggers the error notifier and rarely has bug reports. The errors that are present are usually due to 3rd party API outages, database outages or abuse.
Thanks for the hard work! I always appreciate any contributors even if I have only used OCaml a few times.

I think y'all are definitely raising some awareness and I agree the lack of a plotting library is a major hurdle. You can always call out to GNUPlot from the terminal, but most folks probably don't want to do that.
That’s actually a benefit of TDD imo. One of the most difficult things about software development is specifying how it should work. Once you have that the rest is pretty easy.

So if you go to write a test case and don’t know what it should do that that’s an early sign you need more time on the spec.
Would You Take a Low-Code Developer Job?
https://www.csm.ornl.gov/srt/conferences/Scala/2019/keynote_... for an overall presentation of the A64FX and the "supercomputer" Fugaku.
Sorry for that. May I know what annoyed you the most? The old style popup (JS alert) or the presence of the popup?
I think one of the main benefits of writing tests before implementation rather than after, is that it forces you to think about making a testable design. But if you are already in the habit of making testable designs, then IMO TDD isn't worth it, because front-loaded tests can slow down your iteration speed, and become a drag if you are trying out a couple different designs before settling on one. Once you know how to write testable code, you're just as well off writing the tests afterward - works fine for me at least.
Not only that, but I'd wager their ROI is or will be greater.
> you can ship refinement type specifications within plain Haskell packages

That's pretty great. I've heard comments that using LH for performance

foo bar = frobnicate (head bar) -- LH has checked that bar is nonempty, save a cycle or two

would become unsafe if it's put in a library depended on by a client that doesn't check it with LH. It seems like this is issue pretty much solved now :-)
Promenade.
Chip cards are already secure because they use proper cryptography. But online payments are done without any cards whatsoever. For example paypal and webmoney are payment methods of their own.
Frankly good type systems displaced TDD for me. They do a better job getting at the goals of TDD than TDD does. Types in good systems (OCaml, Rust, Typescript, Scala, Haskell, others) are 100% laser focused on depicting good public interfaces and laying out their behavior.

Sometimes you need a test or two to really nail down this behavior. That'll give you a TDD-like flair. But it's not the same because you've already invested so much productive thinking time into the interface driven purely by the types. At that point, TDD is good hygiene, but not a transformative practice.
An interesting angle, I've not thought on it like that before.

For myself, I hide my lack of formal education behind something akin to "digital idiot".
Sure. eruci@geocode.xyz
The bouncer problem: don't trust AI explanations
s/expanded into software engineering/replaced software engineering/
> Again I think this perspectivve is US centric and not global (?).

I'm not in the US or talking about the US per se.

I as a customer want 3D Secure because I don't want to deal with fraud at all but AFAIK it's not that liked among users. And I did run into issues where the 2FA setup my bank offered took a physical letter to initialize/reset and I couldn't actually buy flight tickets I quickly needed (ended up changing cards). So I can sort of see how people can get a bit annoyed as long as 3D Secure is a bit frictionful.

Online businesses would like it if it helps them avoid fraud as well. The problem is that conversion rates drop and so only few businesses implement/enforce it unless it's the law (see EU). Given how simple it is for a customer to ask for a chargeback I don't think there's a clear winner here for using 3D Secure except for acquirers and brands. Issuers don't really gain anything either given their already strong position when handling chargebacks.
> However, once you learn the skill of making things testable, you can find that you don't really need to write tests first anymore... which makes TDD less useful

Exactly! Plus, I find the idea that TDD produces decoupled architecture to not be true. In fact, it's usually the exact opposite unless someone has a "testability" mindset, in which case they don't need to TDD in the first place.
Custom Shopping Cart 101: How to Implement It in the Most Profitable Way
I don't think anyone buys a 2 node HPC system for production. Note that you can fit 6 more nodes into this 2U system. 288 cores in 2U with infiniband, etc.

This is likely the development setup for someone that also buys a fully populated rack for production. So it's probably not meant to be a great $$/core story at this small scale.

Though, your point that the AMD EPYC is probably pressuring these ARM HPC setups is fair.
I had a couple of cats. I went on holiday, and left them at a cattery for a couple of weeks. The older one managed to open the cat-room door by pushing down on the handle, then ran up and down the long corridor until noticed by the cattery owner. Then the younger cat died, and I got a new younger cat. I went on holiday again, by which time the older cat's back legs were knackered and he couldn't jump up. But I warned the (different) cattery owner that he was an escape artist. This time, he taught the younger cat how to push down on the handle, and again they ended up running up and down the long corridor. Cats are escape artists.
For me personally it's the story of the TDD luminary trying and giving up on implementing a Sudoku solver with TDD, and the equivalent elegance of Peter Norvig's solver that led me to conclude test driven may ne good, but cargo culting it is particularly bad...
Their fandoms of organized young people do. The bands contribute shockingly little to that.
Immutable Infrastructure and My FaaS Pi in the Sky Dreams
> I definitely see a lot less of "TDD as religion", where all code is written in TDD

In my experience it helps to drive a new technique or paradigm to it's extreme for a while (for example by employing it religiously in a pet project). After that you can look back and see where a sensible boundary lies for applying said technique. And often it allows to grasp the true essense whereas otherwise (trying it just a little bit in your current job project) doesn't allow it to bear it's fruits and it will be quickly forgotten or turn into a anti pattern.
Akamai DNS: Providing Authoritative Answers to the World’s Queries [pdf]
TDD is mostly about writing tests first. I don't think this is stating that tests shouldn't be written, just that the TDD approach of writing tests then basing your code around fulfilling those tests is dying.
Well... this doesn't have to be as overt as you described.

For example, bypass cap could monitor the line and detect when a security feature to prevent tampering with the device turns on and just disrupt that feature. Or maybe it could prevent the phone from turning off when it should to keep that pesky covert monitoring software running even after you think you have switched your phone off. Or maybe it will cause camera light to be turned off when a particular radio signal is detected so that you don't know you are watched. Dunno.

Just because Bloomberg report turned out to be fake doesn't necessarily mean the attack vector is fake or pointless.

There are millions of engineers/hackers smarter than me and I can imagine somebody will put together a working and useful attack, eventually.
I did federal contracting for years and never saw a single one. They all digital now homie, gov cloud all up in that bitch.

State orgs wouldn't surprise me in the least tho.
If so, what replaced it?

What methods do teams use instead to ensure that:

1. software works as advertised

2. software can be refactored

If there's "no time" to write tests before code, it seems likely that there will also be "no time" to write them after.

If there are no tests, or test coverage is spotty, refactoring is going to be well-nigh impossible. If refactoring isn't done, the implementation is likely to be brittle. If implementation is brittle and no tests exist, few developers will want to touch the code for fear of it breaking. If no developers touch the code to keep it well-factored, the code will rot.

Now maybe this is the plan all along: code is written to decay and eventually disappear. But it doesn't sound like a recipe for long-term success.

So whenever these discussions about the use of TDD come up, I'm very curious about the specific ways teams address the two points I raised above.
“Change the PCB” and “Move the Fans” – Nvidia Teases Its Radical RTX 30XX Cooler
> There are so many categories where you cannot load software outside of what the manufacturer provides that you cannot list them

To be fair, that's only for lack of skills (not blaming people for not having them, but it's the main reason)

I can flash most of my devices with the software I want, my cousin is a rally driver and he hacks into cars ECUs all the times, they are not locked by design, you need the tools and the expertise though

> Smart TVs usually are limited by their OS and encumbered by licensing that locks down what can be loaded.

Not if the are android TVs, you can still side load apps.

Anyway they still work as normal TVs if you completely ignore the "smart" part, iOS devices don't work if you don't authenticate on Apple servers

> Do you want a world where you need a virus scan program for your phone?

Tons of photos, videos and private informations are leaked everyday from iPhones

It is a false sense of security

> because a manufacturer does not adhere to your desire is by no means justification for forcing them to do so.

But it could be because it's breaking some law

In Italy ISPs are forced to let you chose between the ISP bundled modem or the one you buy and release all the information you need to make it work on their networks

If they refuse to comply, you can sue them
It seems like every 20 years or so nuclear starts to gain acceptance, and then a Fukushima or a Chernobyl happens, and opinion turns against it for another 20 years. It’s hard because a nuclear accident is low probability but very very high consequence.
How Much Does an ECommerce Website Cost? [2020 Edition]
It is not the only one though. There are Ahrefs, Tarides, Tezos, Citrix (XenServer and a part of Xen are in OCaml), Inria, Facebook (for compilers, typecheckers and ReasonML), Bloomberg (was Bucklescript/ReScript, now at facebook though I believe).

There are also some academic projects with industrial uses. Directly to mind come Coq, Frama-C, Mirage and the Zélus compiler.

EDIT: added Inria and Frama-C
I don't mind having a nuclear rocket in space, but I am worried about the part of the trip where it's still in the atmosphere and strapped to a flaming bottle of kerosene.
Yeah, sometimes for practical reasons you don't want to, or can't test directly across the API, as good testing practice would dictate.

Taken to the extreme, the philosophy I laid out leads to something that looks like "only integration and end-to-end tests" depending on your architecture.

So I try to be pragmatic whenever possible, but I think leaning towards BDD works better, after 18 months of doing it.
https://en.wikipedia.org/wiki/Is_Marriage_for_White_People%3...

https://en.wikipedia.org/wiki/The_Negro_Family:_The_Case_For...

https://www.city-journal.org/html/black-family-40-years-lies...
if you have to ask it's not for you. this is for people who need a PoC or reference for a larger HPC system. the pricing is largely irrelevant.

as to the system itself, most of the value in this processor is its memory bandwidth, derived from HBM integration. no other cpu system comes close.
The bug triggered the exception. The test case encapsulates reproducing the bug. The bug is fixed. The bug can no longer be reproduced. As long as the bug remains fixed the test passes..

Another way of thinking about it. Unless your exceptions are a documented part of your API no one cares about them - they only care about the outcome they actually expect. If you construct tests that pass for positive outcomes or fail for any other outcome then your exceptions remain implementation details.
> I can't understand why OCaml doesn't have mass adoption.

The biggest problem with OCaml is the tooling (and Windows support is pretty rough). It is getting better, but it's certainly not as easy as using something like Cargo.
You must have been really bored ;)
Controversial Opinion

TDD for me has always been something to show off at an interview; performing a beautifully choreographed dance of "Red, Green, Refactor" when showing off your skills.

TDD is only useful for me when I know the structure of my code i.e. I am fixing a bug or adding a feature to an existing application.

However when you are "in the dark" or early days of developing a new service then TDD can definitely slow you down if you don't know what your architecture is going to look like (maybe thats my fault from not enough whiteboarding?)
Yeah, you're right. I was mostly talking about the past/status quo.
Guilt tripping people into not killing is evil? Your thesis doesn’t hold much water.
> I’ve noticed the ones that do generally make more.

The market may be rewarding the TDD skill, it makes sense. But consider that causality makes sense the other way around too. Anyone with the patience, eye for detail, and organizational skills demanded by TDD could be just an above-average programmer.

Personally I like a “don’t forget the tests” approach for larger units of business logic, but I’m against exhaustive micro-test suites that just turn into bespoke, buggy, and useless-at-compile-time type systems.
is it not acceptable now?
Good. An actual company that is doing something worthy of actually "changing things" which I can get behind.
Language comparison is not subjective if the person has experience using both. Otherwise it is guessing.
Indeed. The number of times I've heard that driving an electric car or a bike is "virtue signaling" is amazing.

I think, if you're so focused on the "signaling" -- the notion that someone is just doing that to provoke an emotional response -- then all that's saying to me is that it's provoking guilt in you, and that's made you feel angry.
Don't have anything to add except for "ditto" as of right now. Still looking into it.
I have the plugin configured to drop cookies a few seconds after the tab that set them is closed, excepting a very short whitelist. "On quit" would sweep them up once every couple of weeks -- way too coarse. Not the same at all.
Props for use of "vulgarization"; I hadn't seen this word as a noun or process before but it seems to fit nicely in context.
Gas is not a transition fuel to a safe climate. That ship has sailed
Unfortunately Gilbert seems to be at the end of his life. We'll see if Detroit can continue its revitalization without his money.
I assumed they’d be executed on the spot for knowingly enriching themselves while addicting millions, leaving them to slowly decline mentally and physically before eventual death.

China would have zero tolerance due to their opium history that was imposed by the west. This is even more insidious however as the country’s institutions were mislead and this family made billions on the back of their countrymen’s misery.
'take' would appear to be the correct tense – this is apparently just about the first time. i recently discovered that cats can actually be trained, to a certain extent (mostly behavioural tricks as opposed to commands). i wonder if it's possible to guide certain cat traits for your own benefit. imagine Cat goes out hunting and returns, leaving a rabbit at your feet, while you are preparing the campfire. my guess is that it would be possible to encourage, though not so to choose your dinner.
Usually it's used to re-sell and re-mortgage the same run-down Victorian houses over and over again with no improvement at all. As a student tenant I had my fair share of renting horror houses that were lethally dangerous
Apple plans augmented reality content to boost TV+ video service
You mean you didn't understand this when you were 5?

> In simple terms, the Discrete Cosine Transform takes a set of N correlated (similar) data-points and returns N de-correlated (dis-similar) data-points (coefficients) in such a way that the energy is compacted in only a few of the coefficients M where M << N.

Did you even nursery?
Thanks for the kindness!

There is actually a GNUPlot backend for Owl. Works very well, but is a bit lowlevel: https://github.com/hennequin-lab/gp

Similarly, I use https://github.com/mseri/ocaml-gr but it is a safe lowlevel binding. I hope one day to have the time to wrap it into an interface similar to Julia's one.
I’ve lived in many kinds of neighborhoods, from one where there were six murders in a school year to one where there wasn’t one in living memory. At one time I was poor enough that taking the bus was a luxury and I’d rather walk and save the change. I’ve met and known lots of kinds of people.
The HackRF One uses a series of up/down converters, plus a MAX2837 for tuning, and a MAX5864 for the actual ADC/DAC. It goes 22 MSPS, so it can theoretically look at any ~20 mhz section of the 1 MHz - 6 GHz tuning range.

WiFi channels are generally 20, 40 or 80 MHz, so the latter two are not possible given the hardware, and the smallest (20 MHz) would be right at the limit of the hardware. Additionally, there may be other complications (tx/rx switching speed, tuning speed (I'm not sure if wifi would need to do frequency hopping, and if the bandwidth is sufficient to mitigate that need), etc...)

And then someone would have to actually implement it.