skysight-inc/HackerNews huggingface dataset:
What about a small business with Fibre, and a cellular backup? Both IPv6. How do I ensure my PCs only use the Fibre link until its not working, and only then use Cellular? Right now that just works out of the box with IPv4 and NAT.

IPv6 also makes it difficult to plug and play new devices and install new networks. Example: The business needs to separate their Office PCs and their payment terminals (PCI DSS). Easiest way is to plug a firewall behind the existing LAN, and hang the terminals off the new firewall. You can't do that with IPv6 without the original router supporting DHCP6-PD, which it likely won't; or the ISP hasn't routed a large enough subnet to it to delegate smaller chunks. This is a mom and pop business that knows next to nothing about IT and shouldn't be penalised for that.

In an ideal world where everyone has full knowledge of their systems and networks and can work with their providers to precisely accommodate their networking needs, IPv6 would work. I don't believe with the limited time, resources, and money we have that it is possible.

Ultimately it's down to who caves in first. If the ideal solution requires £$€3000/yr more than another solution, and the other solution solves all the issues the business cares about, why would they spend the money to remove NAT?
Not every coin has to promise to appreciate in price. In fact, I'd argue that bitcoin and other deflationary currencies lead to hoarding behavior, and are not good as a medium of exchange. (However, they make an excellent store of value, and sending large amounts of money once in a while.)

Here's who I think should really be issuing securities: local communities. There's an exemption for municipal securities in the Exchange Act, although I think later it was plugged (lawyers anyone?)

That's what my company is building. A platform to help communities issue their own currency, like Bristol does. If Detroit had it, it probably wouldn't have gone bankrupt.

Would like some feedback: https://qbix.com/blog

What we still haven't figured out is, why would investors buy the tokens if they not increase in value, but perhaps the opposite? It can't be because of any "over and above" value to the investor, in the form of capital gains, etc. But if the communities buy the tokens, then that's a product that they issue to their members. Like kickstarter, it becomes a product and not a security.
> In other industries, when a company's product is clearly defective, inferior or overpriced, they lose market share and are forced to either improve the product or go out of business.

No, they really aren't. [1][2][3]

[1] https://en.m.wikipedia.org/wiki/United_States_v._Microsoft_C....

[2] https://m.phys.org/news/2005-06-amd-sues-intel-monopoly-abus...

[3] http://money.cnn.com/2015/03/19/technology/google-monopoly-f...
That is declared sexual orientation.
So although they are alright findings (arbitrary url redirect and dom-ish xss) the main take away from the article is that it is WAY too hard to contact anyone from any form of CERT in the UK whatsoever.

I've tried myself to report vulnerabilities[1] and it's nearly impossible to find even the most generic of contact emails. I usually end up passing the info on to friends who do more gov work than myself. There REALLY needs to be a generic cert/security@gov.uk email somewhere.

[1] not going out of my way to find anything, but in the past if i receive a (usually HMRC related) phishing email from a .gov domain, i'll try and dig up a CERT email, or JANET if it is university related.
Whoa! I woke up and thought it was my dog shaking the bed. :)
Anyone willing to list additional summary tools for those hoping to reduce their time on the site?

minimum point threshold: https://twitter.com/newsyc100

daily: http://www.daemonology.net/hn-daily/ | http://www.hntoplinks.com/ (configurable duration)

weekly: http://www.hackernewsletter.com/ | http://www.daemonology.net/hn-weekly-show/ | http://www.daemonology.net/hn-weekly-ask/

weekly, ultra-cynical edition: self-censoring to avoid a "violation of the prime directive" (with 68 patrons!)

--

[semi-obligatory self-promotional spam]

If there's enough interest, I will record an "Unofficial HN Audio Summary" commutecast and also link anyone else doing it.

https://goo.gl/forms/554KT5a19xprN4Mx2
You can say that something is a floating point number (a type) but what if that something must be between zero and one? A type can't tell you that.

Typing has its place but the idea that it catches all bugs at compile time certainly isn't true; the cycle of running the app itself, running its tests, is just as important for statically-typed code as dynamically typed.

Languages that have a sophisticated contract system* (like Clojure's Clojure.spec library) have a bit of a leg up in my opinion. You can much more precisely explain and control and test for the specifics of all values flowing through your system well beyond merely what type they are.

--
* Clojure's devs don't refer to spec as a contract system because it is quite a bit more versatile than that, and some are actually using it for compile-time checks, compile-time generative testing, and other nifty things that aren't covered by a "contract" system.
The Equifax breach may be the worst leak of personal info ever
> Available to all G Suite editions

Sounds like only to G-Suit customers, maybe they expand to everyone at a later date.

I just checked my free (grandfathered) GSuite account and there is no option for it (yet?).
Agreed. Things that are handwaved include:

1) Performance can be a genuine requirement of the product, i.e. if it's not fast enough, it doesn't ship. You can't ship faster and cheaper by sacrificing the thing you need to ship (well, you can, but then you're shipping a different product, not meeting the same requirements sooner; it's no different than cutting a feature).

2) Many processes can't be horizontally scaled in an efficient way, period. Not because the programmer is ignorant of some cool algorithm, but because the problem is fundamentally expensive to parallelize. Maybe you end up getting something like a 20% boost by having twice as many nodes, even after applying all the cool algorithms. And you don't necessarily get that scalability in your code base for free, either.

3) "Speed" in the mobile and embedded spaces is often as much about energy efficiency and thermal management as getting done sooner.

4) The metrics for deciding that Python is faster to develop in only measure small problems. People tend to shy away from Python for bigger projects, and the reasons for this are pretty hotly debated.
This is actually the misconception.

JSX is the template language of React. Angular and Vue use a template language on top of HTML. Neither of the 3 intermix business logic with presentation.

We shouldn't kid ourselves by talking of "code" not being a part of the templating as if SPAs magically come to life without code. Presentation has become more complex over time.
I didn't put much toughs about it regarding life goals and aspirations, but regarding little creative projects, I've found that it's really hard to focus just on one thing because passion for the project progressively drops while ideas for new projects flourish.

I've tried sticking to doing one and only one project, but all what happened is that my passion dropped to the point of zero productivity and I was doing nothing. Can't start a new project because this one isn't finished. Can't finish this project because new ones are more interesting.

I imagine that it's about the same for life, and that the solution is so much more complex.
Deep Neural Networks Can Detect Sexual Orientation from Facial Images
> You can't even reliably do a "find usages" of classes using a dynamically typed language.

Let me introduce you to Racket. It started out in life as Scheme, and became something more.

DrRacket, it's IDE, is fantastic. The main reason why? You can trace every function call, and every macro, to its definition with a quick mouse-over, even if said definition is in another file or library, even if said definition is only conditionally created.

There isn't really a reason a dynamic language can't do tracing like that, or mass renames across files... Because some already do.
As an emacs user about to hit my 25 year mark:

Maybe we'd all use macros if the UX for them we're no so atrociously bad? It's only recently having tried out some obscure but good packages in spacemacs that we start to see some great UX for macros and other bulk line editing operations.

What's more, macros are often only valid on lines of exactly the type you specified them on, and Emacs's best way to handle this (if they're contiguous) is narrowing and widening, an operation so famously confusing that the buttons are walled off with an apology in standard emacs.

I use multiple editors for non-trivial operations (instead of say, whitespace tuning) when I'm doing quick but high value non-contigous work (e.g., adding an exporting decl to several functions).

I didn't know emacs was using a gap buffer, but if so I have 0 sympathy. Vim sounds like it's using a clearly superior and modern solution. Maybe I should finally got over to that dark side?
Python does multiprocess very well. You can easily use all cores on your machine. Pythons main "disadvantage" is threading because of the GIL. But each process gets its own GIL. So when you multi process, your not limited to one core.
stupidity doesn't explain it all, because people are also naturally reluctant to give their own money.

Either they are stupid and abused , in such a large number that you can witness million dollars ICO every week (which means a really large scam is actually being organized), or there's another fact we're not aware of.
I remember looking at the ingredient list as a kid and wondering why in the world you would put fermented fish in a sauce.

Then I learned biology, in particular the molecular nature of umami, and it makes perfect sense.
How to create a strong sales pitch
The default answer includes multiple A records, so if clients can't reach one of the IPs, they try another. There's no need for anything to propagate for that to kick in, it's just ordinary client retry behavior.

We do also withdraw an IP from DNS if it fails; when we measure it, we see that over 99% of clients and resolvers do honor TTLs and the change is effected very quickly. We've been using this same process for www.amazon.com for a long time.

Contrast to an alternative like BGP anycast, where it can take minutes for an update to propagate as BGP peers share it with each other in sequence.
> Is it related to central banks having 0% interest rates, etc..

Yes, money is very cheap right now which creates a rush to invest in anything - see for example [1].

[1] http://alphahistory.com/weimarrepublic/1923-hyperinflation/
Wait.. wouldn't the ear hear the harmonics as well, since it's also a membrane-based microphone?
That's sort-of a "don't hold it that way" argument/fallacy.

IMO, the features you advocate instead of multiple cursors don't play well with a fairly large fraction of users.

So, do you get rid of those users, or do you adjust your program to them, so they get a subset of the power of macros that they can happily use?
>I've addressed this for myself by hopping jobs 3 times in 2 years, now my salary is 10% above the local market rate.

How did you manage this? Did you end up switching technologies or fields? Was it just for a salary increase, or were you un-challenged?
I am just worried the hackers will then make sounds that sound like noise, but at least it will be characteristic and alert the person (maybe).
A mentor of mine who used to work for a government agency once told me something that I hadn't really appreciated until recently. To paraphrase, sometimes the best way to change a system that is flawed is to work from within. It's harder, sure, since it takes time to get enough power to make effective change, but it's an idea nonetheless.
Presumably, you could also broadcast an AM radio signal at just the right frequency that the wires in the microphone pick it up.
I thought this article was going to be about mouse cursors. The story there is even worse. We've been stuck in a chicken-and-egg situation for a few decades now.

There isn't a single mainstream OS that supports having multiple mouse cursors that I know of, and even if it did, not a single program expects it either - most would break. The closest we have is on-line editors that can have multiple users like Google Docs, and that's not single screen.

And you may be thinking "yeah but why?" and I wouldn't blame you, but that's just because you're not aware of how how much our current input devices limit us and how they are based on a flawed model of handedness.

Yves Guiard proposed a model in 1988 that argues the dominant/recessive model of handedness is wrong: instead, we constantly perform complicated asymmetrical tasks, with one "coarse" reference-frame hand and a fine-tuned "zoomed-in" hand (the latter being considered the dominant one)[0]. Later research has only backed this up (note that the linked paper has over a thousand citations).

When keeping this asymmetrical model in mind designing our input, things tend to just "feel" right. I guarantee you that the best two-handed input methods you use all follow this principle: even if not applied consciously, any two-handed interfaces converges to it. Simple case-in-point: remember 3D shooters before WASD + mouse? WASD = reference frame hand, mouse = fine-tuned input hand. Gamers just intuitively discovered this on their own. In fact, look at button placement on gamepads in general: movement ("frame of reference") on the left, action buttons on the right.

Bill Buxton[1][2][3] did really cool experiments with these ideas and then... well, nearly nothing. And I really believe the main reason is a lack of technical freedom to experiment: even if someone does manage come up with a wonderful intuitive, fluid bimanual interface that isn't limited to a keyboard, a mouse and maybe a touch-screen, who is going to be able to use it on their laptops or desktops?

I'd like to experiment and the fundamental requirements to do even that are missing. Even multi-touch is barely going to help: you cannot tell which hand belongs to which touch-point.

[0] https://www.ncbi.nlm.nih.gov/pubmed/15136274

[1] https://www.billbuxton.com/2hands.html, video: https://www.youtube.com/watch?v=w0c1Xg9lERY

[2] https://www.billbuxton.com/ToCHI2H.html

[3] https://www.billbuxton.com/input11.2H.pdf
I'd be interested in this too. I volunteer for a charity that produces a weekly talking newspaper for the visually impaired in the UK (where such things are very popular).

Our current production process requires a group consisting of editors, readers and technicians to get together every Friday morning from 7am to record an hour or more of news which is then mastered onto CD, duplicated hundreds of times and mailed out by 11am.

We usually have four readers each week (from a pool of 30 or so) who take it in turns to read the items. Some readers are better than others and sometimes readers don't turn up. Sometimes there are interruptions or disturbances to recording such as another reader in the studio coughing, rustling of papers, etc.

If we had the ability to digitise the voices of our readers it would enable our new (in development) totally digital production and distribution system (podcasts, streaming, etc.) to be produced at any convenient time and to allow our listeners to choose their preferred reader's voice(s).

The studio software side is using FL/OSS software, with Ardour as the digital audio workstation attached to a Delta 1010 digital input system and an Evolution UC33e control surface.

Being able to program the pre-production phase to generate the audio recordings using favourite readers voices which are then fed to the (automated) studio mastering process would give us some amazing functionality and flexibility to produce programmes on-demand with no studio presence required.

The development experience and final package will be documented and published for other talking services to adopt and adapt.
What has replaced select()?
Quite a bit of chrome is written in polymer
https://cs.chromium.org/chromium/src/chrome/browser/resource...
Trials are actually not that expensive. What's expensive is risking sending someone to prison for 30+ years.

We simply can't enforce the laws as written, but it's considered easier to avoid enforcing them than to come up with reasonable laws.
And now I am very glad that I never used Google Drive for much of anything. I never had a good gut feeling about drive in general and especially after I read about a man who lost a year's worth of stuff with no recourse.

https://news.ycombinator.com/item?id=6612854
It’s time to build our own Equifax with blackjack and crypto
I think you don't understand because you're missing the marketing dimension of it

A lot of these "digital influencers" get endorsement deals, are paid to post for a brand or to test their products

That's what (a lot of them) are looking for
They could always set up in Gary in Indiana or Kenosha in Wisconsin. Metra commuter rail goes out that far, so anyone wanting to live in Illinois proper could do so and commute outward instead of in.
There are plenty of clearly defective products in a barely regulated health-adjacent industry that don't lose marketshare: the entire supplement industry, including homeopathic and "herbal" remedies. Relying on free markets to regulate themselves depends on rational consumers. But we are not rational.
Apple's Lightning Headphone Adapter: Analog or Digital?
Dave Rubin Interviews James Damore (YouTube)
If you annotate your types in python with the appropriate type hinting comments I find I get quite satisfactory code completion and error detection from my IDE (pycharm). Perhaps not as much as VisualStudio might do for me with C#, true, but then again I don't use them for the same thing either.

Each task has it's set or preferred tools, to write a quick command line tool to bridge a gap between two systems and automate our workflow a bit further python is just perfect for me and much more productive than C#. However to create a system with a team of dozens spanning the whole skill gamut I feel much more comfortable having the compiler as an active member of my team policing the architectural vision for us. In which case C#/Java will win hands down.

If however speed and responsiveness are prime worries then I'll roll up my sleeves and bring C/C++ in. sure my productivity will take a hit, it will likely be harder to maintain as well but if this effort makes the difference for my customers in their productivity then it's well worth the investment.

Often times the final system will be a mix of all these technologies, each used where it's strength shines to maximise their impact.

Yet the technology is worthless when faced with inadequate code structure and system architecture. Coupled convoluted code will be a PITA no matter the language used.
yes of course. The NLB is public and API GW sits on the edge locations
>if i receive a (usually HMRC related) phishing email from a .gov domain

https://www.ncsc.gov.uk/blog-post/active-cyber-defence-tackl...

>We've already started some experiments in this area with pioneering UK SME Netcraft. They're off looking for phishing hosted in the UK, webinject malware hosted in the UK and phishing anywhere in the world that targets a UK government brand. When they find it, they ask the hosting provider to take down the offending site. It's surprisingly effective and again generates data we can use. We'll definitely do more in this space.

I suspect you can forward these to scam@netcraft.com to get the upstream providers automatically notified and the site monitored until it's down.
Non G Suite customers can continue using the Google Drive app, it's just renamed to Backup and Sync: https://www.google.com/drive/download/
If emacs is so smart why is its macro recording that everyone loves totally invisible and thusly awkward to work with?

People like multi-cursors because their behavior is very stable and obvious. Macros have very unpredictable behavior except on lines that precisely conform to the shape of line you used to specify them.

And buffer narrowing/widening isn't a solution. You can specifically play the macro over cursor lines (it is a "good practice" to C-a at the start of a macro to help with this), but it's many more keystrokes.

It may be "all hat and no cattle" as the author says, but I have uses for hats and I've got no facilities to keep or slaughter cattle.
While it's locked?
This ICO is shit it's basically for rich people only. Not decentralization friendly!
Pile it high: Singapore's prefab tower revolution
> You can say that something is a floating point number (a type) but what if that something must be between zero and one? A type can't tell you that.

Of course it can. The idea behind a decent type system is to make illegal states unrepresentable. You define a type which contains a value between 0 and 1 (lets name it `probability`) and make a function `float -> probability` which checks the range. That way, everytime you'll see `probability` in your code, you will know it is in the right range.

The problem with spec is that it can only verify what it sees on run time, whereas a static type system by definition has 100% coverage over your entire program.
Worth noting that at least one Canadian diplomat was also among the injured (worth noting because Canada has much better relations with Cuba than the US does).

https://www.theguardian.com/world/2017/aug/11/sonic-attack-c...
Yes, but can it be segmented in open regions which are homeo/diffeomorphic to subsets of the R²?

(Canonical example: the Earth is a three-dimensional object, but looks 2D locally (at a neighborhood of any given point).
I don't know, taxes? Fair and speedy trials are enshrined in the Constitution. Presumably it's in the public interest to actually provide them...
It's not so much malware, it's mainly open relays which are being used to bypass spam filters on hotmail et al. due to coming from a "legit" .gov or .edu domain.

It has been a while since i've received one though in all fairness.

*edit - sorry just read it properly, both malware and generic phishing. Sorry! Even so though it would be really nice to have a streamlined process to go "hey, <shitty local council> has an open relay" whereby someone from within the UK gov could just forward on the email to the IT guy up there to at least make them aware of the issue.
Do you perhaps have some examples of some more modern resources or examples we can consult? I would appreciate it.
Very cool, I'll still be avoiding Time Square at all times though
what if that something must be between zero and one? A type can't tell you that.

Actually, it can, using dependent types :) I'm a Python fan, but Type-Driven Development with Idris has been a very interesting read.
> Rich people go to jail all the time for it.

Is that true? What do you mean by "all the time"?
Your apps are making you unhappy
Giving EvE Online as an example is bad because that game artificially slow the game loop to keep up with the number of players, would this happen with C++ on a recent architecture? Probably not.
I came across this article when having another discussion about iPhone wired vs wireless sound quality (TL;DR wired is better) but then the discussion got to whether it was down to the native DAC in my iPhone 5s, or the DAC in my car stereo translating a digital signal better than the bluetooth DAC...

Just thought I'd throw this out the HN crowd to see what they make of the science here. What's the story with lightning? analogue or digital?
it's an option. An out of the money option. It may expire worthless, or it could be worth a lot. It's not irrational to buy into it.
Hands-on: LumaFusion – this is the iPad video editing app we’ve been waiting for