skysight-inc/HackerNews huggingface dataset:
TDD, like most of the agile practices, is a learned skill.

Doing it at an expert level is very different from an untrained novice winging it.
The title suggests that TDD has little or no impact on dev time or code quality at all.

The research shows no significant difference between TDD and iterative test-last (ITL) development.

Could the title be updated? To show that it is a comparison of TDD vs ITL/TLD.
Yes, I think it does speak for itself. Thanks!
And for those that missed it, here's another way to reduce fuel usage: plasma.

https://news.ycombinator.com/item?id=12365723
Rereading it, I see what you're saying. It's a fine line point. In a way, then, I agree with you, but - let's take an interesting stance - supposing we assume that missiles can be used for good (in some way). I seem to recall the pope justifying the war against Nazi Germany. Consequently, there is a positive use. Contraceptives, however, could only be used for something the church considers immoral.

Did I catch your logic this time?
Whatever the causes may be, the effects are the same: these large institutional office parks are designed to isolate employees and reinforce the automobile-centric suburban lifestyle.

The author's point is that the so-called great innovators of today--Apple and Google are cited--are really doing nothing to innovate the workspace, despite having plenty of opportunity to do so.
Great idea!!! SQLite is an extraordinary product. I'll be following Bedrock.

This could be, for databases, what node was for server-side programming. There are parallels, you're using a "client side single-writer (excellent) DB" and making it apt for the cloud with Paxos. Again, great idea!!!!

And it seems you're taking with a good humor some "strong" comments here. +1 sr. +1 to u.
Mentioning someone's name specifically feels off to me. It doesn't assist in explaining anything, just invades their privacy.
Outrage, one way or the other, generates engagement. News outlets know it, now so do we.

If there's some value in the discussion, it is that most of us actually do know people with differing political views, and we somehow learn to live and work together.
Is it? I thought dents in many parts of SV exceed rents in SF.
Does it have transactions?
> If you write testable software and actually write the tests, the end result is the same whether you test first or test later.

This is definitely not my experience. As Kent Beck says, TDD is a design technique. It forces you to always start thinking of the code from the outside of the unit. If I build the unit first and add tests later, it's more likely I'll end up with something where the API reflects the implementation. With test last, I'm also less likely to test everything well; after the implementation is done, I believe it works.
Thanks, strong comments welcome!
> they'll think about scenarios first, then code after they have everything accounted for.

I'm one of those people. But I find it hard to believe that a test suite can reflect everything I understand about a problem domain. Focusing too much on unit tests makes it difficult to find the general rules that govern the behavior of a system. Have too few unit tests, and they won't capture all the subtleties and corner cases. Have too many unit tests, and they won't fit in your head.
Last weekend, I added Bouncy Castle as the security provider in my dev environment, but my server did not show ChaCha20 in the list of available TLS ciphers. I was not convinced that my server was even using BC. Knowing that if you don't know what you're doing and mess around with crypto too much that you can get burned, I gave up. ECDHE RSA AES GCM for now.
If you're in high school, you have the privilege of a mom who would probably rather die than have you drink soylent ;)
(At least if your mom is anything like mine).
> While I think your situation is unique

It is possible that handwriting recognition is not an attractive target for AI research because few handwrite things anymore. I heard that cursive is not even taught anymore!

That leads one to suspect that one can private communication by simply writing in cursive!
Better (yet scarier) would be curated content. I would love for someone to filter the firehose of information, but I don't want to live in an echo chamber. I don't want a feed that tries to hide opinions or facts I disagree with. Provide me the basic arguments and rationale from multiple sides, not strawman arguments. Provide fact checking (with context). Today, this function would best be performed by people.
Because I've seen it used in practice to vilify people with different beliefs, even when those beliefs are irrelevant to the work on the project.

Github and some recent hires they've made have a history of this.
How does the client get "redirected" to another node if the one you're talking to fails?
It is transparent to the client?
What will be the ratio of offices with windows in the spaceship vs. 111 8th avenue?
I think it's very improbable as well. At least in the current situation where their candidate isn't actually in power. It's too hard for someone with no really power to get the ball rolling.
It took me a year or so to make the transition. And I think the transition is easier to make in a greenfield or already-TDDed code base.

That's not to say that you should try it again; I like TDD a lot myself, but software methods are so interdependent that I think each person has to judge what works best for them.
That's hardly why suburbs became popular across the world. https://en.wikipedia.org/wiki/Suburb#Origins_of_the_modern_s...
nope - vim
I agree Trump is mostly a symptom of polarization (although I would say "what if"-based fear is more of a rhetorical tactic than a problem in itself).

Bottom line: we have some very severe systemic issues that allowed Trump to get as far as he has. Even if he isn't elected, if the issues aren't addressed, there will just be another Trump, and that one might be successful. So it behooves everyone to at least listen and try to understand what his supporters want and why they feel underserved by the current system.

We won't be able to do that if we write off everything Trump says as crazytalk. Clearly, his supporters don't see it that way.
Why does every raspberry install recommend dd instead of the cp tool? Cp does the same thing and has a much better syntax.
Can you elaborate more? Im a frontend guy and sometimes I write JS plugins for the browser (that run after page load, and apply based on how things render on the page, or bawed on user interaction with the page) and non-frontend folks tell me I need tests for my code, or dont want to look at it until I have test. How would I build a tewt for this, other than a functional test that runs in-browser and the test is whether it works or not?
Well you clearly have cache invalidation figured out. Any tips on naming things?
But the prices are ridiculous.
"TDD has little or no impact on development time or code quality when compared to the equivalent number of tests implemented afterwards using TLD."

FTA: In this paper we reported a replication of an experiment
in which TDD was compared to a test-last approach.

Very different title.
He should support the political ostracism by making it easier for everyone by ostracising himself? What an odd definition you must have of "decent".
I think this would be useful for niche applications but wouldn't appeal to contractors or anyone that didn't have very regimented tasks to perform.

The biggest problem is the payload is only 1,000 lbs in comparison to 1800-2000 for most 1500's. Many contractors opt for 3/4 ton (2500, f-250) or larger models for more payload/towing.

My brother is a contractor and has a GMC 2500 HD crew cab. It was $38k; gets ~15mpg and he drives around 35k miles a year.

Fuel for the Via truck at that milage is 30mpg, so using $3/gal would be $3500 + electricity cost versus $7,000 for gas alone.

Over 6 years the total cost difference for fuel would be $21,000 and put the gas truck cost around $60k which is comparable to the Via's $65k.

The gas truck is a better choice in this case because it has a payload of 4,000+ lbs and towing 14k+ lbs in comparison to 1000 lbs and 4000 lbs for the Via. A 1500 with a small engine would have nearly double the payload and towing of the Via and be less expensive with a higher mpg than the 2500.

The generator is cool but kind of gimmicky because the truck has to stay on site and stationary. A <$1000 generator would provide similar power and is less of a hassle than having to park your truck close enough or runs cords for power.
Not sure why this is downvoted, but it's a fair point. I know of a small business with a lot of subscriptions and this became a big issue for them when provider quality declined.
OK, how is this different from Rqlite [1], except in C++ instead of Go, Paxos instead of Raft?

> rqlite is a distributed relational database, which uses SQLite as its storage engine.

> rqlite gives you the functionality of a rock solid, fault-tolerant, replicated relational database, but with very easy installation, deployment, and operation.

Hmmm....

Also, is Bedrock DB only 30 days old? (since the 'first commit' message on GitHub?) That's barely topsoil!

[1] https://github.com/rqlite/rqlite
Analyze a Financial Statement for Great Good Nvidia Edition
Technology will continue to have a material impact on the amount of cash in circulation, of course. The evolution of money is fascinating to watch, though I believe it is important to consider that not everyone will be able to participate in this fantasy we dream of.

Open-loop prepaid cards have helped eliminate paper transfer channels to a degree (which is a positive step in the right direction) but we cannot ignore the 2.5B people on this planet who do not have access to modern financial services at all. For the rural farmer in Southeast Asia, cash is all he/she knows.
We find 4 and 8 layer boards are the best for most of our RF designs (depending on frequency, complexity, etc.) - more layers than that and your dielectric layers start to get too thin and then your tracks have to be super narrow to hit a 50 ohm impedance... But of course, that also depends on what type of substrate you're using, etc.

But for complex digital boards, 16 (or more) layers is common.
If you were to always write tests immediately after you write a few classes I don't think it would make a difference. However from my own experience I never write nearly as many tests after the fact.
In most cities you also need to be able to afford private school and the public transportation options are not as dense as NYC. A city like NYC is in a completely different echelon from nearly every other medium/large city in the US.
I think it is important to encourage people to build their own databases, so I want to commend you guys for doing it. But I do have some questions (disclosure: I am the author of https://github.com/amark/gun ):

- Is it correct to say that Bedrock is primarily a replication layer for SQLite? Most things your homepage highlight seem to be SQLite features, not Bedrock features.

- Elsewhere in this thread you mention you run PAXOS (what implementation are you using? Your own? Do you have a test we can run to verify correctness?) But then you mention you sacrifice the "C" in the CAP Theorem, which would go against any point of having PAXOS. What happens in a split-brain scenario, where you have lets say 6 peers, and there is a network partition straight down the middle?

- You also mention elsewhere in this thread that if you are talking to the same node (a sticky session) there is no consistency issues. Do you mean linearizable? Because consistency has to do with multi-machine data consistency. For instance, if a write happens on another peer, then the node you are talking to should return that write not a stale write.

- Is there anything other than just assuming it is run on SSD that make it faster than SQLite on SSD?

Thanks!
You can't tell the difference between a sort of asylum for one person and the tampering of an election for an entire country?
صور+حب+حزين
> Thiel IS SAYING what Trump says

No, he is supporting his presidential bid. That's all.
Hacker News API Using API Docs
Wouldn't it actually depend on when you buy the phone? If I buy a Pixel in one year (just before the "Pixel 2" is released), presumably I will still receive the two years of updates...

Alternatively, if I buy the Pixel on it's release date, is it safe to assume I will receive 3 years of major updates + 1 year of security updates?
One big thing here is that unlike Raspian or derived distros that use its kernel, Fedora is building their own mainline kernel. We're finally getting close to the day where installing on ARM will be as easy as x86, with no custom kernel or vendor patches.
Our PHP library has the concept of a primary and failover host. We recommend configuring a local Bedrock node as the "primary host", and then setting up a load-balanced pool of all nodes to be used as the "secondary host". This means in normal operation, every webserver talks directly its nearest node (bypassing the load balancer), but "fails over" to the load balancer if the primary is down.

Granted, a simpler configuration is to just have two load balancers -- both of which have all nodes -- and then use each as the primary/secondary. We did this for years and it was fine, but for just a tiny bit more configuration overhead you can bypass the load balancer for the primary and thus shave off those precious milliseconds from each request.
Well, and as long as you're not storing data from users and one uploads some data specifically constructed to collide.
Agreed. Table bloat is no fun either. Though, I would say under the most common workloads, it's easier to manage table bloat than it is lock escalation... I can pick my battleground for table bloat whereas lock escalation is immediate.

Oracle's MVCC method doesn't have that problem... but then you get the imfamous ORA-01555, "Snapshot too Old" from time to time.

Oh well, no perfect worlds I suppose.
If I build the unit first and add tests later, it's more likely I'll end up with something where the API reflects the implementation. With test last, I'm also less likely to test everything well; after the implementation is done, I believe it works.

Will you?

Are you sure?

Do you have data to back your supposition?

My contention would be that at the end of the day, the requirements of the interface to support unit testing will result in a very similar set of design choices, whether you write those tests up-front, as-you-go, or after-the-fact.

The only difference is that if you write them after-the-fact, you may push some amount of refactoring to the end of the process instead of doing it along the way.

But I'll bet you have about as much data as I do to back your beliefs. ;)
Automatic failover -- https://dev.mysql.com/doc/mysql-utilities/1.5/en/mysqlfailov...

Guides to doing auto failover and recovery:

https://dev.mysql.com/doc/mysql-utilities/1.5/en/utils-task-...

https://dev.mysql.com/doc/mysql-utilities/1.5/en/utils-task-...
Yes. I can say 100% that the major difference I see in hiring interviews between grads and laterals is coding ability. Even at PhD+1 it's vastly improved
So i'm still unsure of this whole chatops thing
Experience is the name everyone gives to their mistakes --Oscar
>Seems to be a common misunderstanding around here that you, too, have fallen victim to...

I work with people who openly believe that unit testing is a waste of time. Personally, I think they are afraid, because they don't even know how, and don't care to learn. They would see that title, and that's all the confirmation bias they would need.

Thanks for assuming the worst about me though.
Haha, Bedrock has been in continuous development and production use (remember: this powers all of Expensify's and has since day one) for about 8 years. However, the public repo is very new.

I'm not actually familiar with Rqlite, but wow, it does look very similar. Thanks for the tip! Does anybody use it at scale?
if you want somthing that will send people over the edge and let you cackle with glee...

https://projectlombok.org/features/val.html

I've been doing C# for while... soo nice to have this. Coming back to java was like "why am I repeating myself". They already did the diamond operator on the right hand side, this makes the left just as nice.

now let the flames begin!!!

Oh also found a use for SneakyThrows today... I'm bootstrapping a test server in my unit test, where all of the code and interfaces are designed for safety and no-crash... and this lets me short circuit right out of it when something bad happens, which in a test setup is what I want.
Popular C# Books
IMO just learn the real iptables commands. They're seriously one-liners with just a few args, and then you'll know how to set up a basic firewall on most distros. https://fedoraproject.org/wiki/How_to_edit_iptables_rules is the fedora guide. There are others. Here's how to disable firewalld: https://fedoraproject.org/wiki/FirewallD#Using_static_firewa...

Note here that if everyone just spent the 5 minutes it takes to learn the few basic iptables commands, we wouldn't have ufw and firewalld and firehol and vuurmuur and Crazy Bob's Super Simple VBA-to-XML iptables rule generator. Every attempt at making iptables "easy", I consider harmful, as it's a basic systems administration skill that people continually hurt themselves by not learning. iptables is not hard, but all of these wrappers make it hard by introducing their own dumb syntax while adding complexity and quashing any hope of a standard interface between distros to control networking rules, which iptables already was before they tried to "fix" it.
Using two algorithms together is basically just creating a new hash algorithm (with a longer hash), which could also have collisions.

If you know a technique for making SHA-1 collisions and a technique for making MD5 collisions, it's probably possible to combine the techniques and make a collision for SHA-1-MD5.
Cynically, I think it's because the constitution implies journalists freedoms that certain public figures would prefer the general citizenry not have.
Sass Guidelines
Really don't know why you're being downvoted. Grad students at diploma mills are awful programmers, and even those in real labs are good at putting out proof of concepts, not production code.
Up until now it has mostly been opinions and biases and even though many popular programmers[1] have been saying this for a very long time, it's great to see a controlled study done about it.

This makes it a fact and a great counter argument for helping a lot of programmers who are being forced to practice TDD because of the generally accepted claims in productivity and code quality associated with doing it.

[1] http://david.heinemeierhansson.com/2014/tdd-is-dead-long-liv...
Exactly. My line-of-thought:
Is it the Open AI group from Elon Musk? No.
Is it the AI partnership from Google and others? No.
Then what is it and who is running it? The welcome and the about page need an update.
That means you can't use coverage tools, so this approach makes the tests unquantifiable. It is not how most major dev shops work, because of the bean counters and the "senior" developers/leads/managers/... who seem to want nothing but appeasing beancounters.

It also produces superior software in my experience.
He's not fled justice in Sweden either, but the UK.
Exactly my experience - I've done TDD for 3 different types of calculation functions in 3 different languages over the years, and all were beneficial: financial risk calculations in C++, report data calculations in PHP and billing calculations in JavaScript.

On the other hand, TDD for operations that involve I/O (including user interactions) were not helpful at all.
And that is why Tesla came up with Powerwall. Now Musk Inc. can sell not just a Tesla + solar panels, he can sell you Powerwall too.
GNU coreutils' version of `cp` supports copying to block devices, but not every other implementation does (busybox's doesn't, for example). `dd` is explicitly required to support block devices by the POSIX specification, `cp` is not.
UPDATE: I originally thought it was a savings of $430,000 a year, but it is actually a savings of $430,000 a month.

ORIGINAL: I think I just talked myself out of my own argument. That $430,000 savings is basically the cost of one Netflix engineer. The technical debt to maintain separate Amex billing easily would exceed $430,000 a year.
iptables is obsolete btw, Linux kernel developers replaced it with nftables.
> Take a subtle example, Ars Technica almost never says Chairman, it says Chairperson, but it will say Chairwoman (which also shows their ignorance of the origin of Chairman).

Where is your evidence for that claim?

Chairwoman - About 272 results:
https://www.google.com/search?num=100&q=chairwoman+site%3Aar...

Chairperson - About 179 results:
https://www.google.com/search?num=100&q=chairperson+site%3Aa...

Chairman - About 2,960 results:
https://www.google.com/search?num=100&q=chairman+site%3Aarst...

> True of False (taken from Wikipedia): "Limited voting rights were gained by some women in Sweden, Britain, and some western U.S. states in the 1860s."

> The answer of course is False. We have voting records from the UK (as one example) showing quite a few women on independent means voting in the 1830s

How does that make it false? It doesn't state that no woman voted in the 1830s, it states that some women gained voting rights in the 1860s. The only way it's false is if no women received voting rights in the 1860s.

It's not "an example of a stream of calculated deceit that has flourished in the last 20 years", it's simply an example of nobody who edited that page being aware that some women voted in the 1830s.

If you have legitimate sources demonstrating they did (your link states 1843, BTW, not 1830s) then edit the Wikipedia page and add/correct that info. That's how Wikipedia works.
Cool, thanks! It looks like that came out in 2012? Neat, I'll take a look!
Cough scrum
I think it's about Andrew Hyde: http://andrewhy.de/minimalism-project-update-39-things/
Ed.

Edit: ED IS THE STANDARD TEXT EDITOR! [0]

[0] https://www.gnu.org/fun/jokes/ed-msg.html
>many employees could find housing nearby

If they were willing to absorb a 50-100% increase in housing costs or downgrade their living spaces (giving up things like "going for walks at night without getting stabbed"), maybe. Living close to an urban office is an extreme luxury good that'll give any mainstream luxury car a run for its money.

>good transit options

The Bay Area has some of the best transit options in the country, and they are to stand with one arm over your head and one arm on your backpack, pressed up against hundreds of strangers, and just try to keep your balance and avoid eye contact while the bus or train lurches around for 30+ minutes. After walking or riding your bike for ~20.

I like driving, so maybe I'm just having trouble empathizing with people who feel forced to do it, but is a ~10 minute drive to a suburban office park really as miserable to you as the ~50 minute BART commute from Berkeley to SF?

If I had a suburban employer with a giant free parking lot (i.e. letting me live anywhere) moving to a downtown office in a hot real estate market without at least a 2x salary increase, I'd quit in a heartbeat.
I had high hopes for Everyblock, the hyper-local social network (almost a geographic form of Facebook). Besides user-generated content, it aggregated much public information (permit applications, police reports, etc.). It was initially developed through a grant as open source software. I was convinced that newspapers would latch onto the platform. But, that never really seemed to happen. NBC News bought it and shut it down in 2008. They attempted a re-launch, but I haven't followed it since then.
It's been very YMMV in mine. For some things, it's indispensable. Others it's tedious, repetitive and of questionable benefit.