skysight-inc/HackerNews huggingface dataset:
In the UK (IIRC IANAL, etc) the interview must be about assessing a candidate's suitability for a job and unsuitability for performing the work is the only justifiable reason for not offering someone a job, as opposed to, e.g. gender, disability, age, attractiveness, etc.

So I'm wondering how you'd justify not taking someone on by assessing them on a task that:

1) you know they can't do and,
2) if you've already vetted their CV, presumably those skills aren't required for the performance of the job in the first place.

It seems irrelevant whether they know you'll ask this kind of question, since they can't prepare for it, and flagging up something that is potentially unreasonable doesn't make it acceptable.

So, how do you objectively assess that person X did something that wasn't required for the job better than person Y, and justify to person Y why that matters?
It's a little embarrassing though. Had they at least chosen Firefox which isn't a major competitor of theirs across multiple markets, it wouldn't be nearly as bad.
cmd/go content-based staleness submitted
That seems to do more with automated testing (unit, regression, integration, etc) than with TDD. It's important not to conflate the two because TDD proponents say that TDD is not primarily about testing.
Show HN: Immutable JavaScript Data Structures
Considering the post, they're probably not competent at any of those things!
Case Study: IoT Project with Bluetooth Low Energy
He was presenting Azure and the browser was enable to parse a XmlHttpRequest. It could be an error on the browser or on the server side application. Because he is on the server side team he blamed the browser.

Rule #1 of pointing fingers: it's always someone else's fault.
The article addresses that:

"These discoveries usually concern materials that can only be produced in a laboratory environment on a very small scale. What makes our invention so promising is that the technology for mass production of this material is already within reach due to its similarity to an existing production process for solar cells."
Yeah, for me I love the AVRs for small things but when I step up to a Cortex I love Cypress' PSoC. You get a mini CPLD and Arm m0/m3 on the same bus which lets you do all sorts of clever things.
They are more powerful but to say they are better you have to factor in the ease of use.

If you can get both MCUs to do the same thing but one of them takes 1/10th the time to set up then which one is better?
Conheça o novo aparelho dentário invisível
>Still, it helped me recognize my craving for a place where I can afford to have a workshop and some land...

You just spoke my heart, man.
Oh nooo, I'll try and track down the person that has the creds to fix this :) ...
Only one person had a solid answer, Ro Khanna.
There are undoubtedly multiple reasons. One reason is that there are domains where the hard problems are integration problems. If the point of your program is to poke/sample some physical object, talk to another opaque chassis/address space, execute realtime tasks (which in practice often includes UI/UX concerns), etc., then extensive integration testing is absolutely vital. If you focus on some other testing discipline and try to de-emphasize integration, there is a considerable risk of fooling yourself about whether your program actually does what it says on the tin.
Pretty cool.

dun..dun..dundundun
Subscription option for people that don't want to be tracked, served ads, and kept addicted.
Codecov Is Hiring – Senior Software Developer and Sales
Ah. Forgot to add it to docs. Thanks for reminding. I'll add it :)
I'm glad you responded. Ive had ultrasounds, and CAT, PET, and MRI before. Never knew you could glean so much information off of an ultrasound.

Now, for the hacker/maker community - maybe you won't know this offhand. But are there applications for ultrasound outside of medical? Would it be good for 3d scanning internal structures of a certain size? Can it find/detect cracks inside substrates, like how Xrays is used in weld defect detection?

Im just as curious at the non-medical as the medical. And it'd be damn nice to be able to ultrasound myself and go, "that dont look right". Im not a doc, but I live with my body 24/7.
Is a fiscal year longer or shorter than a calendar year?
There's a (large) middle ground between "personal project" and "official product". It not hard to imagine a project being build as a proof of concept as part of someones regular job, yet not making it to "product", much less "official" status (and never intended to), but still open sourced because it might benefit someone else.
>> manually managing memory at Go level

What exactly do you mean? Go doesn't allow you to manage memory. At most you can give some hints to the compiler but they may or may not work depending on the compiler/version.

>> 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

That seems to require some patches to the runtime and compiler not to mention that you start to depart from what you might remember as being Go language/development. You create more problems to fix the GC problem.
I believe a real solution would be an opt-in subset of Go using Rust-like memory model. Swift(Apple) seems to work on a such solution.
I was wondering if using randomly generated shared 1GB or so file as a kind of one-time pad would be useful. Xor data with it using it as circular buffer, do messages must be of the same length or it will go out of sync.
The only thing I disagree with in this article is the leeway given to supposedly legendary programmers who can somehow write bug-free code without tests, specifications, or an inkling of communication with others.

First, it's probably not true. Linus Torvalds is not a legendary human being who can write critical systems without a single flaw. He relies on legions of human beings to carefully check and review every line of code before he even looks at it. There are discussions on mailing lists. There are arguments and disagreements. There's a process there. He doesn't just flit his fingers across the keyboard and output amazing, error free code. It probably has tonnes of errors.

Linus' philosophy is that errors aren't the end of the world and someone will patch them when they are uncovered.

For some use cases that's fine. However there are plenty of applications where a more proactive approach to correctness is necessary: real-time systems, safety critical systems, and yes... even security.

Maybe TDD is a misnomer. I think we should call it specification driven development. Unit tests and integration tests are just a weak form of specification. They provide theorems in the form of examples that we try to prove with an implementation. Property based tests give us more examples to quantify assertions over. Model checking can test liveness as well as safety in our high-level designs... how much you need to specify and how thoroughly really should be a factor of the risk and complexity present in the requirements of the system.

To use an analogy: blueprints. If you're just building a shed or a small footpath then it's enough to sketch your idea on a napkin. If you're building a house you need to have a more specific and detailed plan that passes by a civil engineer. And if you're building a sky scraper then you need to be thorough and able to convince others of the validity of your designs.

(credit for the analogy should go to Leslie Lamport).

I think most software projects are at the house level in terms of risk. You could get by with using a dynamic language and a few unit tests if you value productivity more than correctness. That just means you're willing to accept that you will have higher reported error rates and are comfortable with potentially losing customer data or a higher risk for security vulnerabilities. You can lower your risk if the project requires more sensitivity to data consistency or security by using a sound type system and encoding your assertions at the type level, add some property-based tests, and more integration and unit tests. It's a spectrum one should consider.

I know we all like to write code and sometimes we even hear ourselves saying, "Well if you wrote the perfect specification you might as well have written the software," but don't be fooled.

"Software engineering is the part of computer science which is too difficult for the computer scientist." -- Friedrich Bauer
Linux Foundation introduces new artificial intelligence project, Acumos
From the comments on the article, it could also have been a beta version of Edge
An Introduction to Deep Learning for Language Modeling
I still find it incredibly hard to tell whether this is overblown hype or legit scientific progress. There is no indication whatsoever that this approach scales to deep feature hierarchies and that is likely what you need to compete on hard tasks like classification on ImageNet. Given the amount of money at play (several hundred millions of dollars), writing 70 pages, making code publishable is certainly an obvious way to get the most out of the hype.
Ultrasound is used to detect faults in materials (cracks in metal etc), yes. I think also for some measurements in fluids.
I wish I could give up on Edge, but my end users won't let me.
Yah it is a bit of a process. It is much easier if you are say, selling something with Brand = Nike and you have a company called Nike.. vs just being the first person to sell generic widget X.
Are investing in other people's businesses and starting your own translatable skill sets?
Pagans didn't have that love of misery of Catholicism, the glorification of pain, that ecstasy of suffering, that leads to so much masochism and sadism.

But yeah, besides that, you're right. Hell, a Cardinal in my (European) country just said we should pray for rain. Maybe we should do a dance /s
When I hear "we only hire the best" it just sounds like generic crap an HR person added, not a big red flag that they are snobs. I don't think it really means anything. By definition, anyone hiring anyone wants to only hire the best. Nobody wants to hire only the mediocre. If I hear things like that I generally just ignore it.

Anyway, the author makes all kinds of unfounded assumptions. Someone with .NET and Windows experience may not actually be relevant to a backend Unix system. Their assumption though is "they don't like Windows people." Is it not actually possible their work experience was irrelevant? Is the first or most reasonable conclusion you come to really, 'they don't like windows people." Seriously?

That is purely an assumption driven by their own stereotypes and opinions. "They said they didn't hire me because my experience was irrelevant, but I know the truth. They are bigoted against Windows people! That's the REAL reason!"
Expanding on that, zk-snarks[0], a kind of non-interactive zero-knowledge proof[1] are really interesting. They're used as the basis for the anonymous cryptocurrency zcash[2], where one can prove they haven't already spent an input without actually revealing which input they are spending.

[0]: https://z.cash/technology/zksnarks.html

[1]: https://en.wikipedia.org/wiki/Non-interactive_zero-knowledge...

[2]: https://z.cash/
In most statically typed languages, the bugfixing (usually) takes longer because you need to do many more things each time you refactor. An enterprise Java application doesn't typically pass around the equivalent of a JS object. It passes around Users, Admins, and Guests. But then some features in Admins need to be added to Users without affecting Guests. But Guests inherit from Users, so you have to go back and restructure the type hierarchy. But it turns out that User is a Hibernate entity, so you have to make sure you don't change your DB schema on accident.

Using a static language does help with some bugs (where it effectively serves as a compile-time test suite), but it can also increase coupling a lot. It's not easy to quantify that tradeoff in abstract. I'd be wary of people overselling aggressive compiler checks leading to productivity boosts.
Wikipedia page for AVR[1] is much better!

And Atmel released in 2008 a video with the two co-creators of the chip describing its history[2].

[1] https://en.wikipedia.org/wiki/Atmel_AVR

[2] https://www.youtube.com/watch?v=HrydNwAxbcY
I'm pretty sure it's an AGA [1] conference abstract. There very likely isn't a paper yet, just a poster.

[1] http://www.gastro.org/
> An aspirin a day will also make your nose bleed after a few weeks. Albeit not profusely but if you blow your nose, you will see blood.

Should depend on dose and physiology: for low doses (below ~4g) the half life of aspirin is 2 to 4.5h depending on the person. If you saturate the metabolic pathway however the half-life shoots up to 15~30h.

> take one every 3rd say. Unless its a very small dosage with delayed release.

The study was done with 80mg aspirin daily (sometimes called "baby" aspirin). Standard adult dose around here is 500mg.
Check out BBC micro:bit. It uses an ARM based MCU and is really easy to use. Don't even need a programmer, just plug it in with USB and drop in a hex file.

The nRF51 (used by micro:bit) and nRF52 chips are in general very nice to use. I'm really looking forward to more breakout and development boards coming out for nRF52840 which is just a great chip that can do just about everything (Bluetooth and Thread, at the same time even! Also USB! And PDM microphone input!)

Incidentally, these are also designed in Norway, by Nordic Semiconductors. A lot of the engineers from Atmel has jumped over to Nordic recently.

Disclaimer: I'm in a position where I'm obviously extremely biased (without being specific), but I'm also a hobbyist and I sincerely enjoy using these chips for smaller projects. Even if I don't use the radio.. they're just good microcontrollers.
Yes, that's the main reason aspirin isn't recommended more widely. (Stomach and liver harm are the other big reasons.)

It's not necessarily external trauma, but major bleeding events, especially internal, are more prevalent and severe on aspirin. The NNT/NNH breakdown suggests that heart attack and stroke prevention narrowly beats out increased bleeding, but it's not unambiguous.

(Normally you handle this by recommended preventatives to people at high risk so you get a better ratio. This sometimes works with aspirin, but older people are often at high risk for stroke and bleeding, so the problem sticks around.)

I don't know how cancer prevention factors in - it might push aspirin into clear net-positive territory - but regardless you're right about blood thinners creating trauma risk.
The Gathering Storm: Student Data Security in the Digital Age
> Requiring verification of real names for people.

The only scalable solution to this involves uploading a scanned ID, which can be easily doctored and forged.

Moreover, as the author mentions, this is bad news for political dissidents, survivors of domestic/spousal/etc abuse, victims of stalking or bullying, celebrities (and semi-celebrities), LGBT activists http://www.businessinsider.com/facebook-apologizes-for-real-... and some edge cases where people change countries and adapt their original name to something recognizable in other language https://www.facebook.com/help/community/question/?id=8692372...
Firebase Launches Predictions, AB Testing, Crashlytics
Great question! Nginx, Let's Encrypt and Captain always sit on the leader node :)
Hey everybody! Co-founder of Smooch.io here.

Really like what what you've built here, a lightweight and open source web messaging system is definitely a useful component that a lot of websites could leverage.

Wanted to clear up a common misconception that Smooch.io and Intercom are solving the same market need. Although Smooch began life as a mobile-focussed Intercom, as we've learned about our industry we've pivoted to address a need lower down in the stack.

Essentially, we've discovered that the biggest impediment to having more businesses taking advantage of messaging as a channel is the lack of software that can provide rich access to the channels coupled with a powerful CRM and deep integration capabilities. Most businesses didn't want to rip and replace their current CRM and contact center investments, nor did they want to invest in connector middleware. They expected messaging to be a first-class feature of the products they already use and have trained their support teams on.

That's why we now focus on selling our technology as an API that can be used by software vendors to add a complete messaging, customer profile and conversation orchestration stack to their products. It's been adopted by some of the biggest vendors in the customer-service space because it helps them focus on the differentiated features (like workflow) that help them succeed in market, while ensuring they can trust the "plumbing" to an enterprise-grade, highly reliable platform like Smooch.

So we don't view Minimalchat as an alternative to Smooch. We view it as another messaging channel to which Smooch can allow a business to connect. Similarly, we don't view Intercom as an alternative to Smooch - we view it as a (prospective) customer.

Finally, just noticed that you're in Toronto. If you like building Minimalchat and care about messaging - we're hiring: https://smooch.io/about/#op-196776-software-developer :-)
It's telling there are no dissenting replies to this in a thread approaching 200 comments.
Vicarious Defeats CAPTCHA Security with AI Inspired by Brain’s Visual Cortex
I haven't been ask for those but proud to show my gym marks.
In short, the Arduino was popular because how bad everything else was. Travel back ten years, and look for an embedded development kit. This is what you'll find.

Average cost is gonna be about $100 for the board. Oh, did I mention you'll need another $80 for the programmer? It only runs on Windows XP, by the way. Closed source custom USB driver that no one understands. Wine chokes out, so no running it on Mac or Linux. PS: The programmer was the "student edition". You'll only be able to program their low end series of chips, and hardware debugging is disabled.

I forgot to mention. You're limited to the free assembler / IDE, that only allows you to use 4k of space. If you want to use any more, you need to purchase a license for $250. And by "integrated", I mean no using your own makefiles or editors.

There's no "stack overflow" style community, either. Your support is limited to poorly written app notes behind a crumby web portal.

And then the Arduino came out. $20 gives you the board, and programmer. No licenses. No drivers. Open documentation. Works with a fork of GCC. Want to use VIM and Makefiles? An Eclipse based IDE? Work on a Mac? Comes with a vibrant community, a repository of examples, and inexpensive addon hardware.

TL;DR - Want your product to die? Force me to use your crumby closed source / "evaluation period" tools from the 90's, lock everything away behind NDA's and web portals, and provide no support community for your product.

Looking at you, FPGA manufacturers. Does your revenue come from selling chips, or selling crap development environments?
The transactions are not overtly linked but some simple detective work can make connections. Seeing the same number of bitcoins exiting one account and, within reasonable time, appearing in another is suggestive. See that happen many times, such as some sort of subscription to a service, and you can put 2 and 2 together.

Say they shut down an illegal website that subscribers paid 25$ for every month. If they see that your account paid out 25$/month, but stopped doing so when the website shut, then that's strong enough evidence for a warrant regardless of the exact path of transactions. That can be done via the blockchain far more easily than trying to gain access to bank records.
I'm saying that they usually end up in a rejection, not that I reject them because of that. Rejections happen because other factors.
> The only way to reduce (you will never eliminate) such problems is to deal with the violators with certain, swift and harsh punishments (death). You put a lot of blame on the Catholic Church (not that you shouldn't) - but where has the Irish government stepped in and purged the violators?

If only Fine Gael had a Rodrigo Duterte on the back benches..
No-one is arguing against automated testing - in fact, I have said elsewhere that I think test automation is the best single thing most development organizations could do to improve their process. In the article, Coplien says that his position is often mistaken for an attack on test automation, which it is not - and it is certainly not an argument against testing, either; it is an argument about how to test effectively.

What I am doing here is using the idea of automatic unit test generation to show that Coplien's argument cannot be dismissed with the claim that all unit testing adds value.
Google doesn't support it in any way (=not a product), it's just something the author made during her time at Google internally (=it has Google copyright) that's now open-sourced.

https://twitter.com/GalaxyKate/status/925159463807361024
From the presenter's comments, it sounds like a GPO locked down Edge. In that context, it makes sense to immediately install another browser and Chrome is the market leader.
Many issues needing improvement or rebuilding can be traced to a common root concern... transparency!
You need to clarify. Are you taking a low-dose aspirin? I've been taking an 85mg one once a day for 5+ years. Never had a single problem you outline.
I don't think I'd want to hire somebody who couldn't see the obvious solution: bring golf clothes and change after the interview.
I really look forward to big (hopefully open data) and health services to merge more. This could be one of the great wealths of information for the 21st century to progress health and treatment.

If the governments put half as much effort into spying on our heath decisions and putting that data out there I'm guessing it would save more lives than current efforts!
Ask HN: What are the server requirements for VoIP apps?
I want to build an app with ability for users to make calls online. And now the main issue here seems to be the server capacities. If you have an experience of building VoIP apps or you know how they work, please help :)
The era that that particular one was written in, java was still accepted in RT systems.
These days, that is not the case (I've worked on them myself). They are typically written in C/C++/ADA.

Bear in mind that there are typically many levels to something like an ESM system, the lower levels would always be in something like C/C++/ADA (or possibly FPGA) but if Java does come into it, it would be for the UI but even that is more likely C# these days. This is not the RT level code.
> Myself, I've consumed a whole wack of different drugs including the usual psychedelics plus various dissociatives over the years and cannabis is easily the most unpleasant in its effects on me.

I'm the same.

Cannabis is easily the most unpleasant drug for me these days (don't do them so much anymore though). It just gives me paranoia and anxiety and makes me totally unable to hold a conversation or even relax.

Compare that with LSD, MDMA, DMT where I generally have positive experiences. The only bad ones I've had are when I've foolishly taken them when not in the best of moods.
Not a fan of so much GUI interaction, but very nice.

If you want to the slightly harder way (with less moving pieces), I highly recommend docker-compose + traefik (does the LE and proxying and subdomain) and a learning how to create a simple dockerfile either of the languages.
Can you use SSH? If so, can you SSH tunnel?

Furthermore, if ExpressVPN is allowed, could you connect to that and inner-tunnel to your own VPN?