skysight-inc/HackerNews huggingface dataset:
I agree (mostly) with the authors standpoints, but his arguments to get there are not convincing:

> You don't need to test that. [...] The code is obvious. There are no conditionals, no loops, no transformations, nothing. The code is just a little bit of plain old glue code.

The code invokes a user-passed callback to register another callback and specifies some internal logic if that callback is invoked. I personally don't find that obvious at all.

Others may find it obvious. That's why I think, if you start with the notion "this is necessary to test, that isn't", you need to define some objective criteria when things should be tested. Relying on your own gut feeling (or expecting that everyone else magically has the same gut feeling) is not a good strategy.

If I rewrite some java code from vanilla loops-with-conditionals into a stream/filter/map/collect chain, that might make it more obvious, but it wouldn't suddenly remove the need to test it, would it?

>"But without a test, anybody can come, make a change and break the code!"

>"Look, if that imaginary evil/clueless developer comes and breaks that simple code, what do you think he will do if a related unit test breaks? He will just delete it."

You could make that argument against any kind of automated test. So should we get rid of all kinds of testing?

Besides, the argument doesn't even make sense. No one is using tests as a security feature against "evil" developers (I hope). (One of) the points of tests is to be a safeguard for anyone (including yourself) who might change the code in the future and might not be aware of all the implications of that change. In that scenario, it's very likely you change the code but will have a good look at the failed test before deciding what to do.
How to create a healthier work environment
If you have Visual Studio 2017 installed then you can use dumpbin to dump the PE headers of a binary. It's located under these directories:

- C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64\dumpbin.exe

- C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX64\x86\dumpbin.exe

- C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX86\x64\dumpbin.exe

- C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX86\x86\dumpbin.exe

You can just setup a Visual Studio command prompt environment and run it:

- cmd /k "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\tools\VsDevCmd.bat"

Then you can then call dumpbin on something like MsMpEng for a relevant example and filter for CFG related items:

- dumpbin /headers /loadconfig "c:\program files\windows defender\msmpeng.exe" | findstr /i /c:"dll characteristics" /c:"control flow guard" /c:"guard cf" /c:"guard flags" /c:"cf instrumented" /c:"fid table present"

The function count should be non-zero, the Control Flow Guard dll characteristics flag should be set, then the CF Instrumented and FID Table Present guard flags should be set. Be aware that this filters out a lot of other details and misrepresents the full list of flags.
Tweet at least made sense in context, twitter is all bird branded and a single tweet is one message of many, just like a single bird tweet is one of many that make up bird songs/calls

Having different terminology per server seems even worse than having a unified word that makes out you're farting information at people. "Hey I'm going to awoo you the link" "you what?", where the second person is used to it being referred to as something else
Superfly Microservice Architecture
I live in a city, and Youtube messes up much more frequently for me
OK, I may have used a comma instead of a semicolon(read "X; Y,Z).. also, I'm not an active yc contributor in terms of posts/comments - thought my email address would be visible, thanks for pointing that out. I'm also not really good at getting my point across :) and I'm only able to "sell" things I believe in and even then it takes some time - see my previous point - anyway, no joke, just clumsiness.
There exists a much simpler way, it is for example how C++ compilers deal with recursion in template instantiation:

for level = 1 to arbitrary_depth:
do_some_work_which_may_produce_more_work()

You just have to select arbitrary_depth large enough that nobody notices and there you have it - arbitrarily deep recursion without infinite loop ;)

Totally wouldn't be surprised if MS did it this way too. Otherwise you are right - they would need to remember at least hashes of all "outer" archives unpacked so far.
Python with c modules (kivy relies heavily on cython) is still a bit tricky on windows. But binary wheels have made distribution a bit easier - ideally "pip install kivy" should work, for now I think the easiest path is to download relevant wheels, install dependencies with pip, and then install the relevant wheel (pip install kivy-version.whl). I did at least get it to work fairly easily following the instructions at:

https://kivy.org/docs/installation/installation-windows.html

last time I tried. Still work to be done, though :/
I think it was never made because it's useless. I know perfectly what's in my fridge. The problem is in deciding what's still edible and then maybe go for some grocery shopping.
Try the StrictlyDumpling channel for Japanese and Chinese food
There is also no mention of how it handles things like wireless links with high jitter and intermittant not related to flow rate packet loss.
If you work, you pay a load of tax, but if your income isn't primarily from salary or wages, you pay less through a variety of circumstances set up specifically to give you even greater advantages than being rich alone would provide. So now you're rich AND tax advantaged over the poor. A double whammy.

So the idea is that money creates even greater inequality, if you're born with money you have opportunities that poor people will never get even if they work their whole lives... because they're working. They'll never have the capital to exit that stage.

The point of "equality" meaning to make taxation on the rich more equal (or as you put it "taking their money") is so that everyone has an opportunity, not so that everyone has the same amount of money.

Further, in addition to there being advantages set up for the rich, we have built DISADVANTAGES into the system for the poor. A 100k job comes with medical insurance, but a min wage job does not. Minimum wage should mean the minimum needed to survive, not less. Not having to worry about medicine or a second job means you can spend some time working towards other opportunities.
Only because I lived there at the time.
now if the top layer could be a display and the other 6 layers are the rest of the computer.

I'd create a cube of all those sandwiched together.
Also see

https://github.com/hedgehogqa
https://hackage.haskell.org/package/smallcheck
So basically you're saying "do not circumvent censorship and tell the world about it or your domain might get censored too", right ?

How does that make any sense ? ipfs is still available to install from github, ditribution repository and other places. IIANM blocking the ipfs.io doesn't block the protocol.

Moreover the Streisand effect shows that attempt at online censorship has the opposite effect and actually draws more attention to it making your point dubious.
The author makes an excellent point about the integration barriers raised by running a business on an aggregation of cloud services. Sure, they all provide REST APIs. But as your suite of services evolve you must constantly re-implement your client code. And you'll never get the performance you can get from on premises where you may be able to connect directly to a vendors SQL DB because you're hosting it yourself, or eavesdrop on a pub sub message bus.
Civ 1 was the closest thing i've ever experienced to addiction, withdrawal and denial and it was frightening. Yet so memorable.
Inside Orbitz
Code coverage is an illusion, since what you want is actually "possible states coverage". You can cover all the lines of your code and still cover a minority of the possible states of the program, and especially a minority of the most probable states of the program when the actual users execute it, or you can cover 50% of your lines of code and yet cover much more real world states, and states for which it is more likely to find a bug. I think that more than stressing single features with unit tests, it is more useful to write higher level stress tests (fuzz tests, basically) that have the effect of testing lines of code as a side effect of exploring many states of the program. Specific unit tests are still useful, but mostly in order to ensure that edge cases and main normal behavior corresponds to the specification. As in everything it is develooper's sensibility that should drive what test to write.
More like wait till version 3.11 :p
hrw is lying.

OK, not lying but being deceiving.

They never actually say she was sentenced for being raped if you read it carefully.

Why have they done this?
Good example of Goodhart's law: "When a measure becomes a target, it ceases to be a good measure."
https://en.wikipedia.org/wiki/Goodhart%27s_law
Hats off to people who are skilled enough, and have the will, to implement these things in open source.
Appears to be there to harvest emails primarily...
Sow now I have devices of all of these varieties:

- Mini-USB (stupid bike lights ...)

- normal Micro-USB (battery packs, smartwatch, flashlight)

- Qualcomm™ Quick© Charge® 2.0 that heats up and drains its batteries if plugged into a non-QC charger (phone)

- Qualcomm™ Quick© Charge® 3.0 that refuses to charge in a QC 2.0 charger but will charge in a non-QC charger (battery pack)

- low-voltage USB-C that my high-voltage USB-C adapter refuses to charge (another phone)

- high-voltage USB-C that won't accept low voltage USB-C (laptop)

Travelling has officially become a bag full of AC adapters and wire mess again.

I miss the barrel connectors of the old days. They came in far fewer varieties than these silly USB connectors. And the USB connectors break if you smack the cable by accident. The other day I had a USB-C socket that got snapped right off the PCB because the protruding cable bumped into something. Who designed these things?! Connectors being torqued off PCBs was nearly unheard-of 15 years ago.
I don't get it. Once blocked does this now render ipfs useless regardless of spreading ?

I mean what difference does it make if it's 10,000 or 1,000,000 that cannot use it because it's blocked ?
Quick question on the timings of this. The report says that "This bug is subject to a 90 day disclosure deadline." - does that mean it was discovered 90 days ago and has been published now, or it was discovered on May 6 (as dates on the comments seem to suggest) and Microsoft has responded very quickly? In either case it seems strange not to have waited a couple more days because (for my system, anyway) I was still running the vulnerable version even after the report was made public.
I'd be really interested to learn more about your technique too, sounds intriguing.
I'm reminded of a guy tasked with testing a 32 bit floating point library. After a number of false starts he realized the most effective way possible.

Brute force.

Oh other story. An OG (original geek) I know once proved the floating point unit on a mainframe was broken via brute force. Bad part meant the decimal floats used by and only by the accounting department sometimes produced erroneous results.

Me I have a pitiful amount of unit tests for the main codebase I work on. One module which does have unit tests, also had a bug that resulted in us having to replace a couple of thousand units in the field.

Otherwise most of the bugs that chap my keister aren't about procedural correctness, they're about state.
Are You Wasting Your Data or Consuming It?
> The worse the developer, the more tests he'll write.

Spare us your platitudes. Most developers don't decide the code coverage, the manager or the client does.
You're imposing constraints where there are none, and declaring physical law as an insurmountable barrier, because you are sourcing all materials involved as terrestrial in origin, and insisting on reusability.

Magnetic induction would also apply opposing forces to the launch satellite, but that doesn't matter if the launch satellite is just as disposable as the slugs that destroy the target.

Inert gases are too heavy, only if the weapons program tries to collect them on the ground and launch them into orbit.

I'm obviously making things up, because this is a system open to invention, given that it doesn't actually exist yet. This concept is less practical, if you operate within existing constraints, using only rocket propellant to boost objects into orbit, and then subsequently de-orbit them.

Game changers emerge, when new ways of operating in space appear. Even if this is "less practical" right now, after the introduction of adjacent technologies, as an existing concept it could suddenly become practical. For example, with the introduction of a space elevator, boosting such a weapons system into orbit is less costly. Then, more of its components become readily disposal at practical values.

I'm not required to operate within existing economic constraints, to consider ideas that are not actually limited by physical laws.
I think one explanation is that the sandbox/simulation games take more time, leave players with 'more' memories, and as a result are more linked with particular periods in their lives.

Looking at my gaming past, a number of scripted experiences have actually left the most vivid memories, but the sandbox/simulation games are the ones I associate more with friendships, periods in my life, developmental stages, etc.

Nostalgic thoughts are about periods of time, and less about moments. A scripted game, I think, is usually too short to produce nostalgia. The few scripted games that do, like the Myst series, took an unusually long time (for me) to play through, for example.
It was discovered May 6th. MS has responded and fixed very quickly. I'm not overly familiar with Windows but I've seen multiple people saying that Defender patched itself without requiring any action on their part.
50+ ways to ensure this won't be adopted universally until patents expire. 50+ ways to hold back innovation.
The Configuration Complexity Clock
What Is the Prolapsed Uterus and What Are the Treatments
Why are the UK and US more vulnerable to right wing populism?
> I find it a bit disgusting actually

But withdrawing and depositing money is a service that costs the banks money to do doesn't it? I'm can see why you don't like but I can't see it as morally 'disgusting'.

Would you look after someone else's meagre current account for them, and give it back on demand, for free? I wouldn't.

I don't really know who covers that cost in the UK. It's certainly not interest they earn lending out our savings is it? Especially this type of customer since they have no savings because the point of the card is to encourage them to do so, and since interest rates are so low.

Who is paying to cover the costs of a basic bank account of someone who doesn't save? I've no idea.
SYSTEM ignores access controls on the filesystem, for example. With NTFS, you can disallow Administrator access to certain files and explorer will require the administrator to explicitly take ownership of the files before any other action is allowed. SYSTEM does not need to do that.
I know everyone goes on and on about Civilization but all the simulators from F15/Gunship/etc were my first introduction to his games. I still think Pirates was the real breakthrough. It was an almost sand box game and of course Railroad Tycoon.

Oddly its perhaps my playing of traditional board games usually with others that kept Civilization from taking over my computer gaming at the time
7 Reasons: To Outsource Software Development Services in India
Is Kotlin the Future for Android?
> If I chose, say, the Intel 11ac parts then I'd have to implement a lot more of the fiddly stuff to get good behaviour

Okay, I'll have to wait another year to get 11ac on my laptop :) It's not, like, super critical to me, 11a is enough for most daily tasks and for e.g. system upgrades I just connect to Ethernet (BTW it's super easy to set up seamless handover between Wi-Fi and Ethernet on FreeBSD, using link aggregation)

Nice work, Adrian!
Kubernetes is very much like mesos + its frameworks (chronos/marathon/aurora), it's for devops automation, for those who got tired of writing scripts/programs to manage docker (and LXC, and OpenVZ before that), and got tired of thousands upon thousands of small edits to config management repos. Knowledge of kernel stuff is required to administer kubernetes, at least for now.

Deis aimed (aims?) to be the lightweight version, but then got acquired by MS.
Did they bother to notify the repositories affected by this? Could not find anything.
The maintainers! I know a couple people connected to this group - heard great things about their 2nd conference last month.

The premise is great. From Russel's article on Aeon:

"We organised a conference to bring the work of the maintainers into clearer focus. More than 40 scholars answered a call for papers asking, ‘What is at stake if we move scholarship away from innovation and toward maintenance?’ Historians, social scientists, economists, business scholars, artists, and activists responded. They all want to talk about technology outside of innovation’s shadow."
I tried to use millisecond, but I don't it has the same interface as second.
What does sclerotic mean?

"an inability or reluctance to adapt or compromise"?
You mean "why can't peach sellers make it up with volume?", marginal cost of copying software is zero, right? The problem is : so can lemon sellers. The price already accounts for this and it is too low to fund a peach seller (research, software engineering, customer service...).
No, a job is not a right or entitlement, but then again, that wasn't my argument. In the case of Carrier, they were trying to move part of their most profitable divisions to Mexico. It wasn't a case of employing people for charity, it was literally a case of adding more zeros to an already fat bank account.
What a poor choice of analogy. This is not a hollywood movie this is the real world with actual people in an emergency situation right now.

Your house is on fire and the firemen tell you they will not come to help because if they do they may not be able to deal with potential houses on fire in a not so distant hypothetical future ?
Busses without the poor people seems to be an American dream. In Australia and London it's "acceptable" to ride the bus, but in The Bay Area at least it seemed to be for "weirdos" only.
The local persistent volume claim is a completely sane and valid feature, but it was not implemented, because no one stepped up to do it initially.

But it'll be alpha in 1.7: https://github.com/kubernetes/features/issues/121
>Microsoft did it's best to kill it about a decade ago

A decade ago I started learning C#. I did not notice this event. What was it in particular that they did?

>outside the skill set of most .net developers

But javaland has many of those devs? I'm really wondering if anyone outside of the Lucene team and Google even has a clue about how to build a modern search engine.

If it is true that .net devs are unskilled then this project is the perfect starting point for all those who wish to transcend from being web and business application developers making tons of money for their employers, to ML devs, thus (hopefully) securing for a while their hireability, since businesses in fact have realized they need to become smarter than their compertitors and that they need ML skills (and big data capabilities).

It's the perfect starting point because in this project, I've taken all ugly, wierd and awkwardness out of IR, because there is no place for such things in IR, because IR is not ugly, wierd or awkward, it's very, very straightforward. The code needed to express an IR system needn't be complex, at all. Half the fun of doing this project is showing everybody how easy the domain of information retieval is.
Hobson [, Efstathiou and Lasenby] was the book I used to revise for my exams, and that was good. It's not overly simplistic and requires a bit of working to get through the maths, but it's comprehensive and goes further than most undergraduate courses do (up to Kerr black holes and a bit more).
Not all parents, children and situations are made alike, I suppose.

Personally I enjoy spending a portion of my day not interacting with humans, let alone my children.

Some days I even enjoy my commute, because even though I'm on a busy line and we're all jammed into each others armpits, my mind is my own and nobody wants anything in particular from me.
There's an undercurrent here that I find troubling, and I think it's the belief that, because psychiatric diagnoses rely on something other than "objective biological tests", mental illness is somehow less "real" than other illnesses.

That's a conceit that only someone who has neither experienced nor been exposed to severe mental illness can hold. One cannot interact with someone that is floridly psychotic and not come to the conclusion that, while the specific diagnostic criteria may be subjective, there is something objectively wrong with that individual's biological functioning.
The big error being made in this article (and most of the comments here) is the assumption that the purpose of unit tests is to "catch bugs."

More like "in countless articles, comments, talks and projects over, say, the last decade".
Anything you access, you also provide (until it gets garbage collected), unless you turn on the `--routing=dhtclient` or `--routing=none` options.

Pinning prevents garbage collection, and is opt-in per piece of content.
testing from the same file, how it should be done.

future languages should have testing as the method definitions (i'd call it first class citizen testing)
> even private ones.

You don't test private API, that's why they are declared private, it makes absolutely no sense to test private members.

Now the use of the private member might lead to a different code path : it has to be tested.

Unit Testing : test one unit ( a class for instance ) in isolation, which means all collaborators (the classes the tested class depends on) have to be stubbed or mocked.

Functional Testing : test multiple unit at the same time to check the behavior of an entire functionality, that's why it is called functional testing. Stub the IO.

End-to-end testing: Test the entire system with the IO.
Are you arguing that providing a mirror of localized wikipedia is not useful to normal people ? Or am I missing your point ?
3 predictions for the future of retail – from the CEO of Walmart
If you absolutely want to cover all cases, you need to do mutation testing. A mutation testing system analyses your code, changes an operator (> becomes < or >= for example), and then runs your tests. If one test fails, your tests covered that statement.

It seems to me you need to have serious OCD to go for 100% mutation coverage, but that is what you really need to do if perfect coverage is your aim.

The other option is to accept that perfect coverage is not feasible, or possibly even a trap, and that you just need to cover the interesting bits.
Calling it "lazy game design" is not only offensive to me as a game designer, but it's plain wrong. Here's a talk about AI in Civ from Soren Johnson, Lead Designer/AI Programmer on multiple Civ games: https://www.youtube.com/watch?v=IJcuQQ1eWWI
Visualizing Persistent Data Structures
Ashley Aberneithy – Designing AI's for Trust – CRR University of Southampton
A friend made a game for learning Morse Code, called Morsey. I'll see if he wants to give some comments on the experience.

Heres the google play link: https://play.google.com/store/apps/details?id=org.morsey
Overcoming the Limitations of Existing DevOps Monitoring Tools