skysight-inc/HackerNews huggingface dataset:
I believe the self-taught (which is hard to define, as most are still learning by reading and imitating, it's not like people are completely removed from the world and suddenly walk out of the woods as a software developer) are pretty much here because it's so hard. If it was easier to scale the number of developers up, the people who took up programming as a hobby and then (often accidentally) transitioned into doing it for money would still be hobbyists. They're being recruited because we can't fill the seats with formally trained people.

I am an autodidact, and I'm clearly worse than actual CS people in the CS stuff, but that's not a problem for me, because we're in an industry where we lump together people who work on hard problems and people who basically translate requirements into business logic code. The CS people could do my job, I couldn't do theirs (there are some autodidacts that could, but they are a tiny minority imho), and for most intents and purposes, it doesn't matter, because most requirements don't require high level computer science, they require python, php, javascript and css etc.
Strange. Even with multiple accounts they have never once forgotten what my preference is.
Mock frameworks make it trivial.

Foo foo = new Foo(mock(Bar.class))

foo.a(x,y,z)

Not sure what the issue is there really.
Unit tests have a lot of value, in an overall testing strategy: https://pipelinedriven.org/article/a-pipeline-friendly-layer...
Show HN: static-json-db, The Native Jamstack Database
The article emits a key point, when talking about any practice: the context, in which unit testing is performed. The size of the team, the type of company, the technology, and the impact of product defects.

For a startup with a small team and few customers building an MVP? Unit testing is overrated.

For a company with 50 engineers in 10 teams building a product, that moved $500,000/day in revenue? Unit testing could or could not be overrated.

For a company with 1,000 engineers working in the same repo, shipping a product that moves $50M in revenue per day? Unit testing is most likely underrated - and essential.

You cannot ignore how the organization works, and the cost of a defect that a unit test could have caught. I happen to work at the third type of organization, and while unit tests might not be the most efficient type of safety net, it is a very big one. We have other types of testing layers on top of unit: integration and E2E tests as well.

Also, one more fallacy in the article:
"If we look back, it’s clear that high-level testing was tough in 2000, it probably still was in 2009, but it’s 2020 outside and we are, in fact, living in the future. Advancements in technology and software design have made it a much less significant issue than it once was."

This is not true everywhere. High-level / E2E testing on native mobile applications in 2020 is just as bad as it was on the web in 2009.
Pretty sure the parent comment was talking about client side.
I'm a big fan of unit tests and from my perspective, this article misunderstand what unit tests are for. Unit tests verify that the central assumptions you've made about some module's behaviour hold water. Unit tests aren't supposed to "exercise user behaviour" or "verify business logic", it verifies the theoretical behaviour of a carefully isolated module under specific conditions. A well crafted suite of tests makes it easier to reason about your application's behaviour.
You mention "worthwhile articles" but provide no links or evidence. Suggests you're a shill.
that's reassuring, and also validates the general idea of trying to avoid exposure until more was/is known.

for some reason the term 'early adopter' comes into my mind
> knowing what a "correct input" is to web systems is very difficult

I cut my teeth programming an XML web service using soap and while I can't say that it was as drop-dead simple as a restful HTTP web api these days, between the wsdl and the uddi, it sure was convenient to be able to know as a client what methods were being exposed and what inputs they expected.

Sometimes I wish the w3c had not required XML for those web services ,so that we could do that with json plus whatever add-ons can make it have an enforceable schema like XML. WSDLs were underrated.
it wasn't meat as an ad, just for context.
In some places I say "this chapter.." which doesn't make since in a blog post without context.

also appreciate your honest feedback. Any personal thoughts on how to deal with procrastination without turning to a workaholic
I do not want Reddit to earn a single cent from anything I ever posted.
You definitely have some strong opinions about testing. I'd suggest being more specific so your guidance is more clear. "people who test what they think is appropriate" is really subjective and makes it seem like there's two camps: people who "get" the author's perspective, and those who don't. I've tried the "do" and "don't do" approach, but that's not enough information usually. Teach by examples. Lots of examples. Calling things BS isn't going to change someone's mind. I'd also re-enforce that these practices are for your codebase. Every project is different and has different challenges. There's a reasonable counter-example for each item in your TLDR, and "unless you deem fit" doesn't feel like it gives developers leeway given how strongly you state your opinions.
A Pipeline Friendly Layered Testing Strategy (Sorry,No Clickbait Title)
Kubernetes Is Just an API: See It on K3s Cluster, Running on AWS Spot Fleet
Nice, thanks!

Fwiw, postgraphile is open source and can be plugged into any express app. But I don't think it provides an orm layer or equivalent, so I can see the advantage of this approach too!
Patient Engagement Solutions
When did the rest of the humans ascended? Am I the only one who is still an animal? OMG!

Or is that a social study article that takes a look to how the majority of the homo sapiens (the prevalent animal species in this rock) are now under social distancing recommendations?
There's nothing in here about error free programming that I can see, just some fairly basic static typing. Never mind the lack of templating and not treating HTML like the tree structure it is (wrt modifying image sources).
Yes. The caring bit is up to us sentients.
could you please tell what other refs you see in other posts? I will update them
Even with 100% coverage, that doesn't mean you've found every bug that can possibly be found with unit tests. Your tests could always cover more inputs, more situations, etc.
But if you ship it, will they come?

For the author, yes, perhaps. He appears to have a sufficiently large following to help with this.

For the rest of us, finding a way to reach an audience willing to pay will likely remain the biggest problem.

Which is not to underestimate the discipline required to just ship it. Everything the author said still applies there.
The servers will flip once ARM gets cheap enough to x86.

If I have a database and some Java or Ruby running on some Linux then why would I care whether it is on x86 or anything else?

However are those ARM CPUs going to be made by NVIDIA?

It seems to me that there are other fabless chip producers out there capable of doing this.
Building Canrun: A statically typed logic programming library for Rust
The thing that broke the camel's back was something that should never have happened in the first place. You don't get away without having committed a crime if you "prank" someone by feeding them something they're allergic to, either; mental illness is not different from physical illness.
Vietnam has very few cases of Covid-19, especially given its population and proximity to China.

One of the reasons why was because they had some of the strongest containment measures in the entire world. One of the strategies they did early on was to have a very strict quarantines of villages/regions known to have infections. They would quarantine second and third degree connections to people who were infected. It may seem extreme, but given the fact that the number of total infections is fewer than 500, it's hard to argue that it wasn't effective.
Unit tests test that the units do what they are supposed to do. Functional tests test that parts of the system do what it's supposed to do.

If you change the implementation for a unit, a small piece of code, then the unit test doesn't change; it continues to test that the unit does what it's supposed to do, regardless of the implementation.

If you change what the units are, like in a major refactor, then it makes sense that you would need whole new unit tests. If you have a unit test that makes sure your sort function works and you change the implementation of your sort, your unit test will help. If you change your system so that you no longer need a sort, then that unit test is no longer useful.

I don't see why the fact that a unit test is limited in scope as to what it tests makes it useless.
> You can get pretty far with good abstractions and dependency injection

Which goes back to the article's point of having to write code that is unit test friendly.

Now architecture decisions have to integrate interfaces that wouldn't be needed otherwise.

> Maybe you could elaborate. I really don't understand what
you mean here.

Modules keep state via global variables, module private functions and the surface control that they might expose via public API for the module.

Additionally on languages that support them, they can be made available as binary only libraries.
Code is a liability. Unit Tests are code obviously and are no less prone to contain bugs than the code under test. And of course they require maintenance just like any other part of the codebase.

It feels like the industry has blindly pushed for unit testing everything and 80% or more code coverage as the gold standard.

I’ve given up arguing about the cost/benefit of unit tests at work. I feel that the software the teams I’ve worked on over the past couple of decades still produce about as many bugs as before unit testing came along. I’m not building pace makers or aviation software, mostly LOB applications.

Unit tests provide a false sense of security (especially to management.) Yes sometimes they help catch refactoring bugs, but at what cost?
You can't. You can either have free speech and laissez-faire moderation and let the extremists take over, or you can have moderation aggressive enough to drive those elements elsewhere, and have limited (not free) speech.

There is no third option, because people can't be trusted to simply be civil. Nazis or Fascists, pick your poison.
to elaborate, federal financial regulatory gatekeeping is more about "not-rich people have life altering consequences", but to get over those hurdles and make your own choices is based on a baseless wealth and intelligence gap.

and of course, the observation that not-rich people have plenty of ways to lose their money in systems with negative expected value, so why apply that to financial systems with positive expected value.
The problem is people in industry like to massage developers egos because they need them for their own ends.

You need to learn to judge yourself objectively rather than what people say to you. Measurable stuff like how many times does your feature come back from QA? How many times did you come up with a creative solution during a project that lead to a net positive effect? How long did it take you to be productive in X framework vs your peers? On the micro scale compete on the codewars website and look at other solutions to the problem. Often you will see creative things that hadn't even crossed your mind.

This contact with reality is harsh and you can always make up excuses but it's necessary because people around you don't tell the truth. Then after this it's important to realise that your technical skill isn't your only asset and working on interpersonal skills is just as valuable if not more valuable above a certain threshold of technical skill.
If it didn't catch any bugs, either during initial development or through later changes, then it bit you via wasting your time. I don't think it's fair to say that having tests necessarily makes the code under test any cleaner.
I think NVIDIA stock is seen more as an investment in AI tech generally, rather than NVIDIA specifically. The only other firms making really good AI-focused silicon are companies that don't sell them, only rent them.
The synchronization feature is what's keeping me on KeePass 2 (running on Mono in Linux) , despite the fact that the interface looks completely out of place in my KDE system.
I use mermaid.js for graphs and charts in markdown. It takes a long time, related to pen and paper, so I don’t use it for note taking. But it’s really nice for procedural documentation.
> "Striving for 100% test coverage is nonsense"

100% coverage of what exactly? Tests that go through all your lines of code without testing any of the logic, is useless. If you want to be thorough, you need to do mutation testing, which is a system that tests the quality your unit tests by mutating your logic (changing a > for >=, a + for -, etc) and then expects at least one test to fail. If no test fails, that piece of logic wasn't tested.

Without that, it's entirely possible your high code coverage doesn't actually test anything meaningful. Also, this sort of logic is exactly the kind of stuff you want to unit test. All the standard plumbing boilerplate code is not something that needs to be unit tested. The logic does.
Do you really have anyt of the issue that people are constantly reporting? I'm seriously asking now, this is not a bait. As an outside observer I just don't see anything of the sorts happening, but clearly I cannot be everywhere.

There are numerous atrocities happening every day around the globe, that seem to me like a bigger problem, but yet I rarely hear bout them. For some reason though, we have to go over and over this mind numbing stream of preaching and virtue signaling every week. You start anew every time and have to prove your loyalty to the grand cause or the ruling party, or whatever it is at this point. Reminds me of the guy that stopped clapping first during a Stalins speech. I mean, what do you people want in the end? Do I have to spend the rest of my life proving that I do not care about you at all? At some point I will start caring and that probably won't be a good type of caring.
AMD may not replace Intel, but it is certainly exerting a severe downward price pressure in the datacenter, Intel's most profitable market. The servers my company is deploying in its current refresh are all AMD EPYCs, after a 6–8 month qualification cycle.

As for client computing, ARM is taking over the increasingly irrelevant PC/Mac after having overwhelmingly won mobile, and IoT will also be ARM.

Furthermore, Trump's trade war against China will claim Intel as collateral damage. The Chinese will switch to RISC-V or the AMD-licensed but made in China x64 chips:

https://www.anandtech.com/show/15493/hygon-dhyana-reviewed-c...
In the case of 今, it means something on its own in Japanese; and to a lesser extent it means something on its own in standard Chinese (kinda like 這, sometimes like 現在) and definitely in classical Chinese. In Japanese, 令 doesn't tend to mean much on its own (though it can still be read a couple ways), but in Chinese it has many standalone meanings.
Something that makes me a bit reluctant to "just ship it" is that you can post things on HN and producthunt only once, so often I'm motivated until I do that, so that my launch is more succesful, but then later I think: Only a few users, is it even worth it to keep working on this? I wish it was possible to keep people who upvoted/liked your product updated. Or maybe poll them on things like: Would this feature be valuable to you?
Hope is good I guess, maybe by then Google has managed to finally provide enterprise level confidence on their offerings.
> OpenStack, CloudFoundry, DataDog, New Relic, GKE-on-prem and the likes

All of these are pretty pricey.
I wouldn’t use the Shah of Iran‘s intents as indicator of economical feasibility.

And that’s ignoring the possibility that that order was in return for other transactions (for example, they got enriched uranium from France (https://en.wikipedia.org/wiki/France–Iran_relations#Nuclear_... says they refused to continue to provide Iran with enriched uranium after the 1979 Islamic revolution, so they must have been delivering it before) and the technology to make it (https://foreignpolicy.com/2010/12/29/the-shahs-atomic-dreams...) and hundreds of Chieftain tanks from Britain (https://www.offiziere.ch/?p=33866)
Are we anywhere near seeing Microsoft Windows running on ARM? Seems to me that Microsoft doesn't have the same strong incentive to shift away from x86 as Apple has.
That heavily depends on the size of your codebase and perhaps also the language you are writing in. Writing in C++, for example, I often have switch statements in the form of:

switch(type) {
case X:
...
case Y:
...
default:
throw InternalException("Unsupported type!");
}

Now if all goes well the default case will never be covered. At some point I thought "why have this code if it's not supposed to run; let's rewrite this so we can get 100% code coverage!", and I ended up with the following code:

switch(type) {
case X:
...
default:
assert(type == Y);
...
}

Now we can get 100% code coverage... except the code is much worse. Instead of an easy-to-track down exception we now trigger either an assertion (debug) or weird undefined behaviour (release) when the "not supposed to happen" inevitably does happen because of e.g. new types being added that were not handled before.

Is worse code worth getting 100% code coverage? In my eyes, absolutely not. I think good code + testing should be able to reach at least 90% typically, likely 95%, but 100% is often not possible without artificially forcing it and messing up your code and/or making it much harder to change your code later on.
The point was to change the code structure without changing the tests (possibly to enable a new feature or other change). The challenge being when the tests are at the wrong "level", probably by team policy IME. If you change the tests, how can you be sure the behavior really matches what it was before?
> Then people started posting pictures of cakes, political/religious discussions were everywhere, and it just felt weird.

It wasn’t just random, I noticed a major shift leading up to the 2008 election. Reddit’s decision to lock some vocally awful subreddits (/r/politics /r/atheism /uspolitics etc) made the homepage a gaggle of Obama & anti-religious rhetoric rather than anything compelling.
a digital nomad myself I have to disagree. digital nomadism is just a life style like any other, and it's not for everyone. I know many ppl who tried it and went back to 9-5 jobs and thats totally fine
> You don't get away without having committed a crime if you "prank" someone by feeding them something they're allergic to, either

except in this analogy, Swartz was the one accused of committing a crime and wasn't getting away it, and the state actors are immune from criminal charges.

not the best analogy?
Nothing is assured, but if you were going to bet, intel’s future seems a lot cloudier. Where do they get growth from?
Portland approves 10% cap on fees that food delivery apps can charge restaurants
One problem I have with Debian (that is not Debian's fault) is that NVidia does not officially support it. It probably works just fine, but it's just another thing you might run into.
I don’t know if Google Fonts has changed its policies, but historically it pretty much just hasn’t updated its fonts. Even when repeatedly asked to by the original font’s author. Take as an example Crimson from https://github.com/skosch/Crimson: Google took Crimson Text in 2010 and put it onto Google Fonts, but mangled it in the process, messing up its line-height badly so that the regular and bold weights didn’t match, and that text using the web font would not line up with text using the original font. In 2012, the upstream font made various improvements, and the author attempted upon multiple occasions then and since to get Google Fonts to update the font (or even just to fix the bugs they introduced, for starters!). Others also tried. Well, it’s still broken. In the end a new version of the font (with variable weight) was commissioned in 2018, and Crimson Pro now is. Allegedly the problems in Crimson Text were supposed to be fixed up after Crimson Pro was released: https://github.com/google/fonts/issues/2395#issuecomment-631....

I am aware of them updating fonts that they commissioned. But I know of multiple cases where Google Fonts has been serving versions of fonts that are five or more years out of date, sometimes even broken by Google Fonts. Crimson Text I can kinda understand them not fixing completely, because fixing it would have changed character positioning (thus breaking people’s careful alignment to work around the Google-Fonts-introduced bugs). But there have been other cases where that didn’t apply: metrics were the same, but they just wouldn’t update the font. Might have been PT Serif? Lato? I can’t remember, it’s years since I last cared about Google Fonts.

In short: updating the fonts is not all it’s cracked up to be; Google mostly just doesn’t, and half the time you actually wouldn’t want the font updates anyway—depends on the nature of the update.
The amount of work the ask historians mods have to put in to make reddit function like people think it does/want it to is staggering. That team is basically doing a second full time job. I don’t know how they do it.
Interactions with your DB are often the most fragile piece of your code, because there's an impedance mismatch between the language you're writing and SQL. Some languages/frameworks abstract this more safely than others, though.
Here's the link to his "New Stuff" area for those who want to go straight to the cartoons (well, straight to the disclaimer page before the cartoons...) instead of or before reading an article about them [1].

The first two made me laugh, especially the first.

I completely failed to understand the third, the one with the bears and the cub scouts. I couldn't tell if it was some pun too subtle for me, a reference to some pop culture thing I've missed, a reference to some high brow thing I'm too peasant to understand, or just a rare for Larson dud.

[1] https://www.thefarside.com/new-stuff
Made ne think about the precision required for some errors to occur. Have had sort of similar things occur, and where it's almost impossible to reproduce it when you try!

As a hobbyist sound engineer, usually regular cables are the first I check, but maybe I should extend that to fibre?

Interesting error nevertheless, and honestly, checking fibre cabling for those kind of errors would probably be a bit lower on my list, unless I saw a lot of tranciever errors.
They’re not going all-in, but https://docs.microsoft.com/en-us/windows/uwp/porting/apps-on...:

“Originally Windows 10 (as distinguished from Windows 10 Mobile) could run only on PCs that were powered by x86 and x64 processors. Now, Windows 10 desktop can run on machines that are powered by ARM64 processors with the Fall Creators Update or newer. The power-saving nature of the ARM CPU architecture allows these PCs to have all-day battery life and support for mobile data networks. These PCs will provide great application compatibility and allow you to run your existing x86 win32 applications unmodified.”