skysight-inc/HackerNews huggingface dataset:
I never tried it, but a friend of mine who wrote COBOL for a bank was offered a huge bonus for postponing his retirement for a year, and he refused because he was so sick of the language (he still likes programming, by the way).

So I don't hate COBOL, but I'm not particularly interested in trying it either.
For some reason, unit tests vs. integration tests reminds me of this image: https://pbs.twimg.com/media/CZX0O-tWQAAeaLi.jpg
The unit tests past, but why bother with integration tests?

I wrote a component at work. Sure, there are some unit tests (the SIP parser working? Check. But for that component, unit tests only go so far as I need to query another program that actually implements the business logic (it goes SIP -> my program -> custom protocol [1] -> business logic program and back again). To mock the business logic program (I need to make sure to return the proper information per the SIP request) is to reimplement the business logic program, so when testing my component, we also use the business logic unit. The business logic also requires two more programs to run. At this point, there is no difference between a unit test and an integration test as I'm running five programs ... no, ... six, I do have to mock a cell phone (basically, respond to a custom protocol and make a web request), to test the "unit" that is my program.

Oh, and to make it even nicer, this is legacy C and C++ (C with classes) code.

[1] Legacy code. It works. At the rate of production deployments we (our team) gets, it would be around two years [2] to remove the custom protocol. So it stays.

[2] Have I mentioned the very scary SLAs?
Our crawler (https://www.apify.com/docs/crawler) currently runs on PhantomJS, while Actor (https://www.apify.com/docs/actor) can run arbitrary jobs, including jobs that use headless Chrome and/or Puppeteer - for example, see https://www.apify.com/docs/actor#examples-puppeteer

BTW we're working on migration of Crawler to headless Chrome.

If you could provide more details about your use case, I'm sure we will figure out how to do it with Chrome.
That is a confused argument.
Firstly, the question of returning to the Old World is not what is being discussed, but rather whether it remains during a robot takeover or not.

Secondly, people left the UK and formed the United States not because they 'evolved' but because they wanted religious freedom (+ other lesser reasons).

Thirdly, by what metric is the United States more successful? That's a rather broad word to use for the comparison of two first world countries.

Lastly, yes I think tears would be shed, and I believe many tears were and continue to be shed for all the genocide you mentioned.
I don't think it's much of a problem, let alone a solvable one.

Some women manage to have top careers while bearing children. It's just that most prefer to focus on their family. I'm female, in a field which recently swapped from male to female dominance. The market is flooded with part time jobs (saturdays, or wednesday when school's off) and it's definitely causing some recruitment problems in the field (and on a deeper level, female are less likely to become partners because of responsibilities and work involved, many stay salaried and thus have lower revenues, etc). There has been numerous studies on this topic in my field and family is the biggest factor holding people back (although men also value their off time more than they used to so its partly a generational thing). At least there's work for motivated people, so I don't complain.

To me it's rather obvious that most women don't value their careers that much. Which is not a problem in itself, just stop pretending otherwise, no one's holding anyone back from careers but people themselves. (I guess most men don't either actually, but it doesn't show as much.) I also really don't get why it is such a punishable offense to assume in recruitment that a childless woman in her thirties will be on maternity leave soon as it's indeed a really strong probability. It's not like waiting for the end of probatory periodto get pregnant is a rare thing...
> The single bullet theory, while almost certainly true, was ridiculed in the film, as was Specter, by name.

What about the Zapruder film?
I have regualr talks with people who were using COBOL a while ago.
There are things were cobol is good :

1/ COBOL run in closed environments. This allows these to be rock solid.
(no such thing as a dependency nightmare). You don’t have such a thing
as different version of Java on your testing and production environment.

2/ COBOL forces you to mix concerns : DB access, file I/O, business logic.
This is sometimes useful to get a complete picture of what’s going on
in a program. In Java, you have to wander through your DAO, data model,
business logic, etc. which are spread everywhere.

3/ Code resue is hard to acheve so there is some copy/paste. That is sometimes
good in the sense that if you fix a program, you won’t accidentally introduce
a bug in a copy of that program. (many of us will scream at reading this, but
consider it).

4/ Of course COBOL programmers are good too and they use these old practices
in a sensible way

5/ COBOL technologies don’t change often. So there’s no discussion about
changing your framework. When you write software that must last for at
least 10 years, this makes choices easier.
There seems to be an error: "The family’s annual food bill was $80 a month." For a person earning $1.50 per day, that would have been a whopping monthly food bill.
> other provinces disrespect their culture and right to be different

Hmm... that's a pretty backwards thinking. Insisting on "the right to be different" is kind of what's disrespectful to the other cultures!

So it's same shit again. I'd never thought we'd miss the good ol' "global village" thing, and "English for all", and "one European government" movements. That sounded horrible but was actually working well for average people that wanted a homogeneous culture that allowed the right and possibility to easily move freely from one country/place to another instead of having to "grow roots" like a fking tree.

There's a whole bunch o people and businesses that want a more homogeneous worldwide culture and the whole freedoms and possibility for a more nomadic lifestyle that this allows. And of companies that can easily expand across borders instead of always having to hire useless locals to "oil the gears" of cross-cultural integration or whatever...
I'm tired of iNVtel. I'm buying AMD gfx and compute next time. I'm not the power gamer I used to be, and their new stuff is powerful enough, while their cpu's are getting pretty awesome.
Romanian here. 5mbps cannot be chosen, not even for rural areas where fiber is being upgraded for free (e.g. the rural town of my parents was upgraded to fiber).

Lowest I know is from UPC which still has some weird 50mbps option but compare that to the biggest ISP, RDS, which has practically made 300mbps the default as you pay the same amount for 100mbps as for 300mbps since a year or so, both for 7$. And by 300mpbs I mean 300mpbs (the remote servers being the bottlenecks while good ones & tests max out).

A lot of things are wrong in Romania but internet is not one of them :) but for those interested, /u/HoliGigi's explanation: https://np.reddit.com/r/europe/comments/2ct58s/average_inter...
Introduction to the Telegram API
Yeah, assuming you think it's not a bug when the backend API that you're mocking is accidentally removed or changes its response slightly.
They sell a lot of types ads on a broad set of platforms, much like how Toyota "only sells cars". YouTube, Search, Gmail, Play store and their display network are all examples.

But if you want diversification, their cloud services are growing quickly and they seem very committed to growing their hardware revenue.
+1 just for the bastardisation of the O notation
So, if I understand it correctly, Middleware and Backend should have been single component since it's one bounded context and splitting it makes one of those feature envy? Is there some benefit keeping these separate or is the cost of change too high at this point?
If it's not about features, but more about API, have you tried Consumer-driven contract testing approach?
How to read an engineer's resume – how much should you rely on it
Ads=Attention

As the world moves into virtual space, nothing is as valuable as attention. Storage and Processing power are commodities.

I would say owning the worlds attention is enough of a business model.
Is there solid evidence to back up some of the assertions that have been made about testing?

It feels like an area where lots of people have opinions, and there are not much in the way of facts.
Because rhe current prime minster hung his entire political career on the idea that fibre is bad and copper would be cheaper.

They cannot change because it would cost him his job.
No true Scotsman.

You might be speaking about those cases where people write large god classes, pervasively side-effectful code, zero API design, and a general lack of pure abstractions - then their tests would equally be bad. Tests are code, so one's ability to design programs would reflect on their tests and vice versa.

But a reasonable programmer who cares enough about what they do can still end up with a brittle test suite because of other factors.

Unit tests written in a dynamic language is a major drag on refactoring. It is not so much that we test the internals of the system or get tied up with the shape of code internal to an object. Even if you follow Sandi Metz's wonderful guidelines around testing: i) do not test internals, ii) test incoming queries by asserting on their return value, iii) test incoming commands by asserting on their side effects, iv) mock outgoing commands, and v) stub outgoing queries, you end up with a brittle test suite that is hard to refactor thanks to connascence.

Whenever you refactor your names, or shuffle the hierarchy of your domain elements, you are now left with a thankless chore of hunting and pecking your unit tests and making them reflect the new reality of your code. Here integration tests help you know that your system still works end to end, and unit tests simply remain that one thing that refuses to budge until you pay it its respects.

Unit testing complex views is still a hard problem. There are no well-defined stable "units" to speak of in an ever changing HTML UI. We have snapshot tests, we try to extract simple components on whom we can assert presence/absence of data, and we have integration tests that blindly railroads over everything and make sure the damn thing worked.

But in a different context unit testing is the one true answer. If your system is statically typed (say in Haskell or OCaml), and your functions are pure and compositional, you don't so much worry about mocking and stubbing. You can make simple assertions on pure functions and as the granularity of your functions increase, they end up covering more parts of your system and get closer to an integration test. Static types form another sort of guarantee, the most basic one being that it takes a class of bugs away in form of undefined data types, the system going into invalid states, and of course the clerical mistake of named connascence. We often abuse unit tests in dynamic languages to cover these scenarios, leading to huge test suites with very brittle tests.

I think it is important to call out that the value of unit tests are still contextual -
"it depends" like everything in the world, and despite our best efforts, they can become hard to refactor. There is a case to be made for writing integration tests because they deliver more business value at a cheaper price than a pervasive set of unit tests when dealing with a highly effectful dynamic system. This lets us also think about other forms of testing like generative testing and snapshot testing that come to the same problem from different angles.
This feels like the mathematical equivalent of string theory, an untestable and apparently unprovable 'set' of ideas has shown up and captured the minds of mathematicians. The impact of these questions is that it seems to block progress?
* Thank you

* Mr.

* Professor

(in case you want some appreciation for your nitpicking)
You assumed I was a free speech absolutist. I am not. I am not an extremist. Rights must have reasonable restrictions. They are things like libel, slander, child pornography, classified material by a person who has clearance, etc...

Those are unlawful and are reasonable restrictions with very, very few restrictions. They may be published for use in the court, whistle blowing, or otherwise outlined affirmative defenses established by law or precedent.

I am not an extremist. I am not an absolutist. The right has reasonable restrictions. The question is where those restrictions are. I think I've explained where I believe those should be, though they are scattered in a bunch of comments.
I once had to port COBOL to Java. It presented some interesting problems because of EBCDIC, nibbles,
non IEEE arithmetic, and alien data formats.
A long story short: there are problems where COBOL is better suited than Java.
It depends on what you unit test and why.

If it's for 100% test coverage: forget about it.

If you test private methods: you're doing something wrong.

What people usually see from the "unit test evangelists" are codebase for which you have tests for every method in the code. Then you do some refactoring and you have to rewrite tons of tests. And as those tests are just made to get 100% coverage you end-up with logic bugs because most unit tests have been written to go through the code, not check limits and edge-case. When you stumble upon this kind of test harness you can only think this as only cons (more to write upfront, less willingness to refactor) and no pro (the code is still brittle). Then your integration tests feel like your real harness: you can change anything in your code it'll tell you what has been broken when used.

Now if you consider your unit tests as a kind of integration tests for the API your classes present then you get the benefits of unit tests. But this mean testing only public methods. And mutation testing resilience is a better metric than test coverage.

Also: those tests do not replace a real documentation which can be a lot faster to read and understand than code.
In French, we say "viens à 21 heures," or "come at 21 hours," quite literally. Yes, "hours" is a duration as one poster commented; and yes, also in French. But the context gives the meaning away.
It’s an interstellar object, but not in the solar system (it used to be, but wasn’t interstellar until it left)...
Median interviewing.io user currently has 6 years of experience (we don't ask people their ages).
I am a big fan of both Upspin and Keybase. In my view they are quite different.

1) Polish vs Openness:

- Keybase is a polished product and a closed identity platform;

- Upspin is open-source plumbing and an (almost) open platform.

2) Focus

- Keybase is a crypto identity platform which happens to have a file storage app;

- Upspin is a file storage platform which happens to have a crypto identify feature.

Note: I call Upspin "almost open" because it does not support running your own key server in a private namespace. All users must use the same public key server. In exchange for a slightly less open platform, Upspin gets a strong guarantee of a single global namespace, which is a really great feature for end users. I think it's great that the project is clear about its priorities and the tradeoffs it's willing to make, and communicates them upfront.
If you use data science libraries like numpy, pandas etc then these rely on OS level packages like libgfortran and liblapack. Anaconda is a way to guarantee you are running a known stack from dev machine through to production. This is the key benefit IMO (as well as getting improving deploy times)
ZeroPhone [0] matches your requirements. It's DYI, but there's a crowdfunded campaign coming soon [1].

[0] http://wiki.zerophone.org/index.php/Main_Page
[1] https://www.crowdsupply.com/arsenijs/zerophone
I feel like there's definitely an art to mocking. Rather than mocking out the module being called (A calls B, A_test mocks B), you want to mock out its dependencies (A calls B calls C, A_test mocks C). But if you swap out said dependency, now you have to go update other modules' integration tests to mock out the new service.
Show HN: Simple cryptocurency prices info chrome extension
Doing it electronically counts as "written" under law. Correct me if I misunderstand this -- there is a specific law about that, the specifics might not apply here though.
It doesn't. Support for that large category of video cards depends on the manufacturer of those video cards.
What about it? Genuine question, I don’t know what you mean.
With Amazon chocking the air out of Walmart, i think automation in this sector is majorly done to improve customers experience. Whatever it is i think its more of a bold business tactic than simply automation.
I'll go with the book Lucifer's Hammer.
Working Effectively with Legacy Code is a good read: it presents what kind of code you want to attain and methods to get there from a crappy code base.

The definition of legacy code for the author (which I like) is: untested code. So the book is more about getting code in a testable state than random refactoring to get to Clean Code level.
Wait... are you saying that dialup internet was slow until 1990 when ISDN came out?
Or that broadband uptake was pathetic until 2007 with the Spark/Chorus spilt?

One of those is really early for any internet, and the other 17 years later, is really late!
Right. Clemens put large sums into a typesetting machine project, but it was a dud.[1] One of the prototype machines still exists.

[1] http://www.uh.edu/engines/epi50.htm
In my country (and all of Europe) no. The fees are a nominal administration fee, which admittedly is crawling higher each year. The government, and the EU, then funds each student, and yeah that money would help with research.

I'd suggest that faculty don't want there to be a low emphasis on teaching, it's just that there aren't enough resources to do the critical tasks first. This is bearing in mind that teaching duties are always fulfilled either way (just not to the satisfaction of some people).
Very, very well said. This kind of thing risks turning dating into the filter bubble we see in online news -- but worse, because it's a more important part of life.

It also ignores how attraction works. Sure, someone may find blond people attractive, but it's seldom a deal-breaker. These algorithms tend to select on characteristics that are easy to assess, discarding many potential partners who'd be more suitable in other ways.
$3.4B in "other revenue" (for Google), which includes hardware sales, their cut of app sales on Google Play, enterprise products like GSuite, and Google Cloud. $302M in "other bets" (the non-Google Alphabet companies), largely from GFiber and Nest.

Google - like Apple, Berkshire, and several other companies - suffers from the curse of too much capital. I would love to have a business with $3.4B in revenue - it actually puts you in the Fortune 1000 at around #675, right alongside Urban Outfitters and Citrix and slightly ahead of Diebold, Abercrombie & Fitch, and Warner Music Group. But when your other business is AdWords and makes about $90B a year, it doesn't really move the needle.
Oh :/ I guess I got my hopes up that I could be an engineer along with evangelism
Cool Social App Screens with Cartoon Characters [Dribbble]
Ah got it. Just know your stuff
Companies don't pay pensions in most countries

Ummm airlines and automakers in the US do, or did. Lots of companies/countries are the same.
How to Recover Deleted Photos from iPad
You seem to be implying that I prefer all unit tests and no integration or system tests. Far from it.

A system test catches the backend API issue. A unit test can demonstrate that my component degrades gracefully if the backend API is not available (because I used a mock to provoke a timeout response).
Not if you're in a blackout window.. eg, 2/3 of the year.
As is (actually working, usable) clang 4.0.1 on macOS 10.9
> I am open-minded about the notion of housing as a human right. I completely reject the notion of housing wherever one most prefers[2] as a basic human right (or any kind of right whatsoever).

I won't make the overly broad claim that nobody ever demands housing in popular districts, but I don't think this reflects the reality of many housing decisions; usually it's about convenience; convenient commute to work, convenient access to schools and hospitals, convenient shopping for necessities (food, etc), convenient utilities. I know that some people get a thrill out of living in hip areas (my brother lived in a popular section of Chicago for years and paid outrageous prices for a hole in the wall), but more often than naught people just want a convenient location with the ability to perform their daily tasks without undue stress.

Living abroad, it's possible for me to have an hour commute because the public transportation is reliable and cheap and there are ample options for shopping at virtually every transit stop. This was not the case when I was in the US and my car was destroyed by a drunk driver; having lived in Tacoma, I enjoyed their transit system, but it was not convenient, as missing your bus even slightly after peak hours meant a 45 minute wait in the rain just for an hour commute and then another 15-30 minutes walking.

The cost of living in the US isn't just reflected in the rental price on the apartment or the cost of the house/condo; it's also with how livable the area actually is and what you need to live well in an area.

My experience is that typically this is what people are frustrated with and concerned about, not so much having fantastic apartment or homes at the coolest place. Bringing up such a concern just seems like focusing on an edge case and diluting the main concerns when it comes to difficulties with housing. I was lucky enough that the worst rent increases I had were to the tune of $30 every other year - that was as simple as deciding not to get takeout once or twice a month when I may otherwise had done so. This was in Tacoma in a relatively stable part of the city; but as Tacoma continues to try and shake off it's former reputation, many of the neighborhoods at the time were being bought up and rebuilt, and I had friends who lived near such areas whose rent shot up much more, and what was a place where they could live rapidly became beyond their means and they had to seek new housing. It's easy (relatively) to move when you have even a small amount of financial freedom, but when you are restricted financially, adjusting to rapidly increasing rental prices is very difficult. It has long reaching effects and leaves an already trouble part of the population without options as they are forced to move further and further away from the things they depend on into situations which aren't good for their situation.
What? The idea is to limit prices. That reduces wealth.
Why would anyone buy a phone from an advertising company?
I've never seen a serious attempt at service differentiation other than the ones that come at 5x cost.

The "quality" difference between most airlines is less than the random noise of getting staff on a good or bad day.
Show HN: The Thinnest Case for the iPhone X
The article on reinforcement doesn't mention Tetris or Mario, only RPGs with experience points and such. The article on flow doesn't mention reinforcement or reward. I can see you're thinking of them as parts of one narrative, but I don't think the articles support it. Flow is a pleasant challenging activity which is easy to accidentally drop out of. It's very different from clicking loot crates, which is unpleasant, unchallenging, and hard to stop. I'm not sure they even involve the same parts of the brain.