skysight-inc/HackerNews huggingface dataset:
I think the issue is the massive, massive power imbalance. Sure, as a worker you would like those things, but an employer has no reason to care. Even if they make a mix-up there are plenty of other candidates for the same position. Maybe they get someone actually worse but they have no way to know that and no reason to care.

For the employee it's a rejection from 1 out of 1-10 companies they are talking to, so it's a big and personal deal. For the company it's just 1 out of probably hundreds of candidates for 1 out of possibly hundreds of jobs.
This reminds of an old project of myself and a friend around 2001-2003 (yes, it is still hosted on SourceForge):

DAVIS - Dj's and Volker's IRC-Script

http://davis.sourceforge.net

Of course, our language was specific to IRC bots and very ad-hoc. But it had a very fast interpreter written in ANSI C that had beaten all EggDrop IRC bots in terms of speed any day. (Back then, EggDrop was the common choice for creating IRC bots.)
I didn't graduate from college, period, yet recruiters talk to me. It's funny how quickly they backpedal their interview offers when I mention that, however.
Francisco Partners Acquires Comodo's Certificate Authority Business
> That's a good sign that the tech interview process is very broken

That could be the case, or maybe at that stage we're past a verbal phone screening, 1. interview, and they've been selected for the last round of interviews. They know before hand what the nature of the interview will be, including the "deep end of the pool" question. It is far and away the best way I've found to see how well they can adapt to new things, which is important to us.
I believe this is the public web interface to Google's issue tracker.

https://issuetracker.google.com/
Great points, especially:

> Jane's an awesome developer, but she just got dropped into 20,000 lines of unfamiliar code. The tests will help ensure she doesn't break too much.

In my experience, a well tested codebase lowers the risk and decreases the time to productivity of new hires.
Squeezing every drop of performance out of a Django app on Heroku
We picked up ideas from our clients. If you've got a niche or area of experience - offer consultancy services or pick up some projects and dig into the pain points of your customers.

See where they're having problems and then do the research to see if it's a problem for others in the same industry. If it is you have your idea and probably your first couple of customers.
Not exactly "innovative", since it's one of the oldest encryption methods, but the One-Time Pad[0] is considered "perfect encryption" and proven to be unbreakable. The mere possibility of unbreakable encryption could fill up a thesis by itself.

[0] http://www.cs.utsa.edu/~wagner/laws/pad.html

<strike>edit to clarify: "unbreakable" is the wrong word, since it could be brute-forced with enough time and energy, like any encryption method.</strike>

yes it is completely unbreakable.
The problem with many TDD critiques is that they offer no alternative. The original presentation:

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

is a case in point. Presenter takes what he believes to be TDD's four main points, some of them strawmen, and mocks them. He does make some good points, but here's the problem: he offers no alternative.

If you're not writing tests as you go, that you run before every commit (or before you move onto the next thing), then what is your standard for putting code into a production repository?
By this definition embedded development will go extinct very soon.

And maybe it should. I think as far as software is concerned embedded development is not all that special anymore. Everything is running advanced ARM SoCs that have the same power you'd have on a workstation ~15 years ago.

It's still meaningful if you're working on electronics though, you generally have wildly different constraints regarding ECM, power draw, heat dissipation, environmental constraints etc...
In this case I think it doesn't hijack your back button. The first page redirects to a second page, and they both end up in your history. If they used history.replaceState() then you'd only have one entry in your back-stack. https://developer.mozilla.org/en-US/docs/Web/API/History_API
Depends upon the type of recruiter. An external one will likely have a few follow-ups, because it's how they get paid. An internal one, however, won't bother unless the company is excessively on the huggy-feely side.
Mobile and desktop applications development
We have competence in artificial intelligence, fintech, blockchain, business intelligence, internet of things, e-commerce.
What if they are hypochondriacs filled with anxiety and stress? -- feel like these people would definitely take an asprin a day out of fear.
Counterpoint: I currently work with someone from Oracle, and they are one of the best programmers I know. "Usually terrible" doesn't mean "always terrible", which is the point of the article.
that moment when all the anti - american capitalism people became russian agents
>It's a design methodology, not some new way of unit testing. In fact, I think the more you think of TDD as being testing, the more you're probably missing the point.

Weirdly it seems to be the loudest advocates of TDD who are the most confused about this.
A lady logician. Or, as I refer to her, a logician.
Probably the easiest and quickest fix is to change its monetization scheme. The dependence on ad-income creates perverse incentives, such as collecting data, tracking users all over the web, making users addicted, and promoting click-bait posts.
If you're taking MOOCs from MIT, Stanford, UNSW and others can you really say that university CS curricula taught you nothing? They probably taught you quite a bit since, well, you took their courses.

You were just overprepared for an undergraduate degree by the time you got around to trying for it. For anyone else taking a similar path, specifically the military part, you can often knock out an associates degree with that amount of military experience. Do it, you can skip most of the core curriculum and focus on the CS part and be done in 2-3 years (less if summer courses are available) and be in grad school in your 3rd or 4th your of full-time college education.
Pick the tool for the job, if your experience is with things that last 5+ years then ok. I work on a system which is 5 years old and all things from 5 years ago are not relevant. Actually I am working on it only for 3 years now but we pretty much each year rebuild whole thing. With minor things going in and out. Of course we spend a lot of money on automated tests but those tests had to be thrown away because of amount of changes in the system.
True, Go still needs some help, but there are ways even with the current set of language features.

1 - Use a memory profiler to ensure the memory usage is kept on constant level;

2 - Reduce GC pressure by manually managing memory at Go level;

3 - If still not enough,

3.1 - if there is an OS underneath call its allocation/release APIs directly,

3.2 - running on bare metal, implement a manual allocator with a mix of package unsafe and Assembly for CPU register access

It is not the same as using untraced references in Modula-3, but it does the job.

Also I should note that even ANSI C requires use of Assembly in libc to implement malloc()/free() on bare metal.
That might happen now that this study has been published!

Let's not forget that medical science is ongoing - the idea that aspirin could prevent heart attacks probably seemed like quackery at one point too.
I find it really difficult to read on a laptop though, due to the long lines.
Definitely a browser extension for clipping highlighted portions of websites and convenient browser integrations. I don't want to do the conversion to markdown in the extension itself because I also want to do some minimal processing, like download images so the resulting markdown file can be viewed offline. That requires either a desktop application or a service. I've been toying with the idea of integrating with dropbox, google drive, etc so you can choose which folder the markdown file and all supporting material will be saved to. Then you can read and edit the markdown with whatever editor you want. The clipping experience would appear to be entirely in the browser extension, just like with the evernote clipper.

As a UX guy, how would you approach this?
You know what's awesome about TDD? It means I, a nobody, can contribute to a huge open source project with lots of moving pieces and be pretty confident that I'm not catastrophically breaking anything and that my feature works as intended.

That's awesome!
I appreciate your answer, but the destructiveness of the reward loop is directly addressed in the PDF.

I also have no problems designing APIs, experience is what you need and the experience in asking the right questions. No amount of TDD will solve you getting half-way through a design and then finding you needed many-many because you misunderstood requirements.

Other than that API design is (fairly) trivial. I spend a tiny amount of my overall programming time on it. I will map out entire classes and components for large chunks of functionality without filling in any of the code in less than an hour or two and without really thinking about it. Then the hard part of writing the code begins which might take a month or two, and those data structures and API designs will barely change. I see my colleagues doing similar check-ins, un-fleshed components with the broad strokes mapped out.

I'd say it's similar to how we never talk about SQL normal forms any more. 15 years ago the boards would discuss it at length. Today no-one seems to. Why? Because we understand it and all the junior programmers just copy what we do (without realizing it took us a decade to get it right). API design was hard, but today it's not, we know what works and everyone uses it. We've learnt from Java Date and the vagaries in .net 1.0 or PHP's crazy param ordering and all the other difficult API designs from the past and now just copy what everyone else does.
Hey @Obsidian, I might have something interesting for you. PM me on Twitter (@teckays) if you will.
If the World Was Created by a Programmer [Comic]
Aspirin is metabolised to salicylic acid (SA) in the body. SA is a plant hormone found in many common food plants. I wonder if some of the health benefit of a plant-heavy diet can come from the SA. Maybe we are adapted to a certain level of SA intake, and eating aspirin helps us fulfill our SA "requirement" ... and then some, a baby Aspirin gives us 10-100x as much SA as a day's worth of plant-based food.
Admirable effort...but why not focus on the front-end/app - the CRM side of things - and simply develop on the shoulder of giants? By this i mean, maybe consider using an existing, underlying messaging platform like matrix.org. Visit https://matrix.org and scroll down to the "What is this for?" section, to see what i mean. And, as others noted, this would allow you to focus on the CRM portion, which is what end-users and clients would value more (read: pay you money). Just a thought.
> Are they indicating the post is fake and they are angry with the original poster? Or are they now angry with Black Lives Matter because they think they caused a riot?

How is dislike any clearer?
Tests don't have to be smarter than the code. They just have to be different code. They're screening tests, not diagnostic tests - if the test and the code disagree, you might have a problem. If they don't, then hopefully you don't.
I've always thought that the bulk of the value of tests is for the unfortunate person who has to refactor or extend your code years down the track.

By that logic, if you write testable, but untested code, then you're still making it difficult for people to refactor later. This applies even if the code is well designed and uncoupled.
For sure there is a cost. But there is a cost with everything.

And I know that it can go very far. And also very far down. Actually I have to deal with exactly that right now. Someone who started of dreaming of a better world, but now reduced to a lying, selfish asshole, who now only cares, on how to sneak money out of people around him, so he can continue doing nothing and smoke his last brain cells out, while blaming everyone else. No wonder this person developed a heavy psychosis. So I know of the dangers.

But still, this person is an excemption, because otherwise allmost everyone I know of my generation, smoked weed (or more) at some point, got new experience of it or just had fun - and now lives a ordinary life.
Quick list of the top of my head:

- Engine management systems (e.g. timing of firing in an IC engine)

- Missile detection systems (e.g. need to react to a detection within time to activate countermeasures).

- Medical systems (e.g. timing of valve closing/opening is critical to dosage).

- Phone protocol stacks (e.g. transmitting during allocated time-slots).

- Metering systems (e.g. must read measurement devices at correct time to ensure accuracy).

- Audio systems (e.g. avoiding glitches requires deterministic processing)

...and lots, lots more.

In general, things that interact with the real physical world require deterministic control.
Yes, you can always generate a new union type for your return type and then pattern match on it. That is certainely better than C where you must use unsafe tagged unions or void pointers. It is more verbose than in dynamic duck-typed languages, though I'll give you that it's quite compact in OCaml.

In a dependently typed language, you could reduce verbosity at the use site as well as avoid the extra runtime branch.
The telegraph doesn't have a good record of reporting health press releases.

Maybe this article will eventually find its way to behind the headlines.

https://www.nhs.uk/news/cancer/
5 TIPS TO MAKE MONEY FROM AGRIC BUSINESS
That is just the historical accident of UNIX taking over the industry.

Just like the most complex Web applications are written in JavaScript.
Domain-Specific Languages for Business Applications – Modelling User Interfaces
Dilbert-creator Scott Adams' company WhenHub to launch new cryptocurrency
ConBody – prison style workout raises $25,000 in hours to employ ex-cons
It's an optimisation against the OOP vs relational mismatch, but the fact that it's here proves that OOP subclassing is being used quite often (otherwise there wouldn't be any need to optimise for it, at least not by adding core features to pg).
Oh, I think you're thinking of homeopathic KDFs. Homeopathic encryption users just use the Crystalline cipher, because it helps center our chakras.
he didn't take a salary. he's not a man to do things for free
> "You first get the traditional FBI warnings (that as a non US citizen doesn't apply to me)"

Many have acted upon that belief and lived to regret it. The US has a surprisingly long reach when it comes to punishing what it considers illegal trafficking.
I think that I got confused based on some post talking about difficulties of implementing a Hindley Milner type system in Lisp. So much for relying on three-year-old memories.
It all depends on the terms both parties agree on!
The code is the “test” for your tests ;)
You miss my point. You can't claim to replicate an index fund by investing 25% in that index fund and then not even attempting to do so with the other 75%. It's a simple false claim.
tdd always reminds me of ron jeffries attempt at solving sudoku, in contrast with peter-norvig's approach...
Wow...voted down for speaking the truth and bringing some actual knowledge to this fear-mongering thread. HN is turning into Slashdot, I see.
"having test play some part in how the code takes shape"

That is exactly the point why I don't like TDD.

I mean, there are enough constraints that shape the code, why should something artificial like tests shape it too?

With mocking and everything you end up writing code for tests and not code for your problems.
Any trauma with bleeding. It thins the blood, making it especially hard to stop bleeding.
If people only choose languages based on popularity, how do you imagine any language ever becomes popular?
California will provide a year of free community college for new students
The guidelines on titles allow for writing your own title as long as accurate and more informative than the original title.

The bigger problem, I think, is the velocity of articles appearing and disappearing from the front page makes follow-up articles have an inherently smaller starting audience.
> Missile detection systems (e.g. need to react to a detection within time to activate countermeasures).

Nowadays partly written in Real Time Java, can gladly provide examples from military web sites.
Just an abstract. Limited or no peer review so be careful. Here's the text.

Background: Chemopreventive effect of aspirin on colorectal cancer (CRC) has been reported,
but there are indications that effects of aspirin are not limited to the colon or rectum. The
aim of this study is to evaluate the long-term use of low-dose aspirin at 80mg for other
gastrointestinal (GI) cancers. Method: A territory-wide dataset which includes all patients
admitted to public hospitals of Hong Kong were used to extract a cohort between 2000
and 2004 with long-term use of aspirin and matched against non-aspirin users in 1:2 ratio.
Further matching on survival time with duration of aspirin prescribed for at least 6 months
was conducted to avoid immortal bias. Patients' outcomes were documented for up to 14
years until 2013. Changes in cancer incidences on colon/rectum, liver, oesophagus, pancreas
and stomach were the primary outcomes. Cancer related mortalities were the secondary
outcomes. Odds ratio (OR) was used to measure the cancer incidence, and Sub-distribution
Hazard Ratio (SHR) for competing risk mortality was fitted to adjust for other cause-ofdeath.
Results: A total of 618,884 subjects were included; 206,295 aspirin users with average
aspirin prescribed for 7.7 years were matched with 412,589 non-aspirin users. The mean
ages of patients in aspirin and non-aspirin group were 67.5 years and 67.6 years respectively.
The median dose of aspirin prescribed was 80mg, and inter-quartile range was from 80 mg
to 100 mg. A total of 18,500 (2.99%) cases of CRC, 9,433 (1.52%) of hepatic cancer, 2,658
(0.43%) of oesophageal cancer, 2,796 (0.45%) of pancreatic cancer, and 5,877 (0.95%) of
gastric cancer were observed. Long term used of low-dose aspirin showed significant reduction
on cancer incidences for CRC (OR:0.76, 95% CI:0.73-0.78), hepatic cancer (OR:0.53, 95%
CI:0.51-0.56), oesophageal cancer (OR:0.53, 95% CI:0.49-0.59), pancreatic cancer (OR:0.66,
95% CI:0.60-0.71), and gastric cancer (OR:0.62, 95% CI:0.58-0.65). Long term used of
low-dose aspirin also showed significant reduction on mortality from GI cancers (Table 1).
Conclusion: Long-term use of low-dose aspirin, at 80mg, significantly reduced both incidence
and mortality from colorectal, hepatic, oesophageal, pancreatic and gastric cancers.
Yes. Every time I read an essay where in one paragraph the author uses "TDD" and the next paragraph "unit testing" to mean the same thing, I want to cringe. I know we're off-the-rails.

I've seen many outsourced teams say they're doing TDD and when you look at the code it's obvious it's just the same old unit testing as before. I have no idea how vendors get away with this. It's no less than fraud, really.

ADD: I think the danger here is that, even with hardcore TDD boosters, they don't understand why they're doing it. It's a discipline, not an engineering skill (Choosing the tests is the engineering skill). Over time they tend to get lax. After all, the code always does mostly what I wanted it to do, right? So I can look at it and by inspection reason through the execution.

At this point, when you don't understand the rationale behind it and you've started to slip-up in your application, TDD has become nothing but some weird way of writing unit tests. Then, sure, you can use the terms interchangeably. But then you've missed the entire point of what you're doing, so might as well just call it "unit test ahead of coding" or something.
BPO success story – Visual support deliver improvement across KPIs
I am also confused with that statement because the files appear to have Google Copyright in them. Example https://github.com/google/bottery/blob/master/js/bots.js

So its not official Google Product yet has Google Copyright. Not sure how that works.
It's fun to set Oracle up as a punching bag, but this sentiment is what Danluu is discouraging in the blog post.

If a resume came across your desk with Oracle as the primary work experience what would you do?

Can an individual programmer be help culpable for Oracle's issues?
I agree. As long as they are ad supported their incentives are just wrong. Add to that the need for growth every year and they pretty much have to do shadier and shadier things.

Same for Google.
New Skype for Desktop
Nah, the code tests the tests just as the tests test the code. If you expect your tests to pass and they don't, something's wrong. (Either with the code, or with the tests.) Same goes for when you expect the tests to fail and they don't.
Helping with regressions is a big benefit (and not just for years down the road). But that's more about unit testing in general than TDD. Really, we only disagree about which is bigger. I think for the first few years of a developer's career, learning about solid (pun intended) design is hugely valuable.
I'm glad that developers are finally having honest discussions about this. Not long ago, it seemed like 100% unit test coverage with TDD was the only valid point of view to have.

I'm not a fan of TDD (in the sense of writing the test first) but I do think that some sort of testing-as-you-go is important for back end API work in particular. I don't think that 100% test coverage is a good idea for 99% of business use cases.
All major RDMS offer OOP at table level.
It was plain one and looked like he had spilled a burrito down it - he was also totally clueless about the role he was nominally recruiting for and seemed not to know any of the cool stuff AKQA had done
This is completely false. I have no degree, and it’s not super difficult to get through the interview stage at google (depends on what part of the stack you’re aimed at, though). People went out of their way to say the degree has negligible weight.

YMMV. Personally I see people as their own greatest barrier for these sorts of things without firm evidence to the contrary.
as long as its not brown shoes in town :-)
So you disagree with TDD, but you need to rebuild your system from scratch every 5 years? I feel like this is an argument for TDD.

As for throwing away tests; Unit tests are meant to be pretty simple - rule of thumb is you can run a thousand tests in ten seconds. Arrange, Act, Assert - they don't need to be complex, they just need to imprint the intent into the codebase. If the intent changes, by all means remove the test.
This isn't an alternative to Intercom. This is an alternative to Intercom's live chat feature. This is only a very small portion of the value you get from using Intercom.

I think an open source alternative to Intercom would be super compelling, just, this isn't it. You're missing the CRM, email automation, events, help center, etc.
In the case of Russia, I was mostly thinking of it's treatment of disabled kids by the state. Up to 30% of russian disabled children are institutionalized - maybe orphanage is not the right word.

https://www.hrw.org/report/2014/09/15/abandoned-state/violen...
The self-driving industry has a scaling problem
Alternative to Service Objects
You don't know anything about tailoring / fashion then :-) the I am an 80's boy so crocket and tubs where my sartorial role models
The Untold Love Story Between Brand Engagement and Earned Media Marketing