skysight-inc/HackerNews huggingface dataset:
> Tl;dr: don’t start a code reading group. What you should start instead I’ll get to in a moment but first I need to explain how I arrived at my current opinion.

Hmm.. Isn't the TL;DR supposed to be for readers who don't have that "moment" for you to get to the point?
Yup. I just spent 2 days refactoring and extending some swift code. It had no tests, so I threw some together quickly before I started, and it's a good thing I did because they did fail two or three times, however I'd say better than 95% of the time I was dealing with type errors. Having written a fair bit of ruby, most of those type errors would have been crashes and at least some percentage worthy of unit tests. Even then I probably would have missed some that only happen given the right input. Letting they compiler catch those mistakes is a lot easier and more reliable, and with a modern type system it's hardly any more code/effort than just writing untested ruby, plus it's self documenting to some extent.
Yes - UN member countries generally use ICAO (International Civil Aviation Organisation) standards. There are some country-specific weird things, though.

You can read the ICAO Radiotelephony Guide[1], should you be interested.

Searching for something like "ICAO Phraseology Reference Guide" might give you good results too.

[1] http://www.icao.int/safety/acp/Inactive%20working%20groups%2...
The spec doesn't govern what applications can and cannot accept, it governs what contents are valid in tokens. 'None' is valid, that means my parser library will accept it, it doesn't mean my application must accept the token as valid.

Example: The fact that my service has an http stack which must parse a cookie header doesn't mean my app must accept its contents as valid. There's a lot of confusion on this thread about which components should/must do what things.
App lets users find strangers on Facebook by taking their picture
You'll notice that the internal battery only lasts for ~1hr. But the yi-cam can run completely without the internal battery. I'd suggest plugging it directly into a powersupply or an external battery for this purpose.
Show HN: Formgraph – web based art collaboration/remixing
"The process for encrypting a file:
(3) SHA-256 hash the shared secret to generate a 64-bit IV."

"The process for decrypting a file:
(4) Validate the IV against the shared secret hash and format version."

Does anyone else see a problem with the above? I do.
Yep I was referring to the data structure and consensus algorithm, not particular implementation code. The two projects clearly have more differences than I initially realized.
And yes, SpreadServe can cope with linked spreadsheets by means of websockets. Which means sheets can be daisy chained into a real time calc graph. This youtube video [1] demonstrates.

[1] https://www.youtube.com/watch?v=MmPPMsOCmqA&t=10s
> If you have a Raspberry Pi with a diode, wait until the blinking stops
Much of the reason why anti-intellectualism is held in high regard is because of the historical basis of the intellectuals being apologists for the rulers of civilization. Whether it's Milton Friedman being friendly with Augusto Pinochet who had no qualms throwing people out of flying helicopters that didn't comply with his right wing ideology or Trofim Lysenko who had his opponents killed or exiled under Stalin, intellectuals have a storied history of propping up bad regimes and bad policies so that they can bargain with said regimes to execute their own side projects (ex. Lysenkoism). Part of that comes from the fact that they believe their pursuits are divorced from the social and political dimensions when in reality they're so heavily tied to them that it's inescapable. Like it or not, they need to realize that they must be part of the social and political dimensions to mitigate the dangers of anti-intellectualism. That means there needs to be some form of science education/advocacy (like John Dobson did in some regard with astronomy or Carl Sagan and Neil DeGrasse Tyson had done for astrophysics) and participation in the political process such that the common person (the non-intellectual/scientist/expert) can digest what is said and done by intellectuals rather than cloistering the knowledge away behind thick books and thicker language. I'm not sure any of those suggestions can yield positive results but it seems it's better than cozying up to the current US President or hiding behind some tech billionaires to pursue your dreams of Martian colonies.
You've got an array, and want to "hypotenuse" it. Your code is fine, as it's pretty clear what it does. But for the sake of refactoring:

const hypot = arrNum => Math.sqrt(arrNum.reduce((sum,n) => sum + n*n))

hypot([1,1,3,3,4])

Although I would prefer:

function hypot(arrNum) {
for(var i=0, sum=0; i<arrNum.length; i++) sum += arrNum[i] * arrNum[i];
return Math.sqrt(sum);
}
Indeed, but it sequesters the carbon in rather tight bonds that can only be freed by burning or decomp.
What Is Next in the Sales Enablement Industry?
Asymmetric encryption can't be reversed by the sender, assuming you use the recipients public key. When I was dealing with PCI and other frameworks, PGP encrypted data was given additional leeway for the sender in terms of how it could be stored or transmitted because in the context of the sender, the cipher text is gibberish.
> Because in a highly distributed system hitting a database to validate authorization is expensive and causes bottlenecks.

Don't you have to do something similar to invalidate tokens anyway?
Your 6 million digits isn't a lower bound though: it's just demonstrating that 6 million digits can suffice, but there could be shorter ways to do it. In particular, none of your million 6 digit strings are overlapping. My estimate was the following. If you take a million digit string, then there are 1 million six digit substrings (actually you need 1 million and 5 digits * ). I.e. a 6 digit substring is specified by choosing where it starts, and there are 1 million places to do that. So if each of these were distinct, you'd get it. But any shorter string just doesn't have enough substrings in it to possibly get them all!

But it's not clear that it's possible to overlap all possible substrings in the right way: that's what De Bruijn sequences do but I don't consider them to be naively obvious at all.

* This is where I overlooked in my last post that De Bruijn sequences (which achieve this lower estimate) are actually for cyclic strings, allowing the subtrings to go past the end and back to the start of million digits. That allows 1 million digits to suffice. We'd actually need that 1000005 digits.
I don't believe I have advocated for technocracy, either. I'm not suggesting that professional scientists should govern; I'm suggesting that good governance is itself a professional specialty, parallel with, say, engineering, but very different in its nature, and should be approached as such, rather than by relying on the supposed wisdom of crowds.

> How would you solve it?

I wouldn't! I'm not remotely competent to do so. I think few people are, just as few people are competent to administer a large datacenter - a comparison to which I keep returning, because that's also a highly technical and rather abstruse specialty whose details and nuances are largely opaque to anyone not herself closely familiar with the task. But one need not be a skilled professional administrator to recognize that critical problems exist.
TweetBot does a reasonable job here IMHO. It allows you to choose which browser opens links by default -- it supports Firefox, Chrome, Safari as well as its own in-app browser which is a WKWebView, which means it's just as fast as native Safari and respects your content blockers. Choosing a non-default browser is possible by long pressing on a link.

EDIT - (thanks saagarjha) newer versions of Tweetbot appear to use SFSafariViewController not WKWebView.
Today i learned aomething, too. But almost half of internet traffic?!!
Fuse Connect – The SMART Way to Control Your Smart Home
Indeed, I live by this one-liner which makes life so smooth:

$ fswatch -0 -event ./main.lua | xargs -0 -n 1 -I {} lua ./main.lua
For my current use-case, one of the appealing things about JWT is there are libraries for just about every language, which makes it easy for 3rd party developers to integrate with my service.

Are there any better alternatives to JWT that have implementations in many languages?

If not, elsewhere in this thread tptacek and others have suggested essentially `base64_encode(crypto_auth(json_encode(object)))` would be sufficient... is there any reason not to just slap a name on that "standard" and publish a bunch of libraries?
Oh my this is majestic!
> Is the browser on Android in Facebook worse than using the default browser?

Yes. As I use Firefox as my default browser on Android. Then I miss all my extensions and features, like ad blockers and reading mode.
Has anybody found an easy way to power a zero via solar? I haven't been able to find any cheap or lightweight solutions. It'd be perfect for a project like this.
Its possible to twist that around and look at a very large scale rather than very small scale observation.

An example of real world responsible sharing by normies (not rich young urbanites, but normal folks) can be seen in how we responsibly, wisely, generously share resources to raise the next generation of children, socialized medicine, and urban zoning laws aka hyper-NIMBY.

Clearly a business model that is a mixture of K12 public schools crossed with the health care system and overseen by the equivalent of the local property zoning commission is not quite the ideal model to run an entire economy. Abstracted away from "tech" and "cars" this is how similar "responsible sharing of universally demanded services" business models work in the wider general population.

Yet it is not all bad news, it is comforting that those cultural beliefs are at least somewhat controversial.
Don't forget the "step-througher". I'm surprised nobody in this thread mentioned using a debugger. I tend to rely heavily on the debugger and stepping through the code. Most common two mistakes beginners make are 1. "printf debugging" and 2. simply trying different inputs and reasoning about what outputs they give. You just wrote the code yourself (or at least have the source)! It's not a black box with just inputs and outputs. Step through the darn thing and see if it's really doing what you think it should be doing.
Ancient Stoic Wisdom for Writing Better Software
Java back-end konsulent i Oslo
Hei, søker 2 konsulenter til prosjekt ut året hos en stor bank/finans kunde.
Oppdraget er i hovedsak back-end utvikling av ny java teknologi.
In Defense of Not Doing a Startup
Bear with me here.

I remember of a time when Microsoft used to force you to use Internet Explorer on a default Windows OS install. They got sued for this which forced them to give user a choice to choose one browser from a selection of browsers (story: https://www.extremetech.com/computing/196170-microsoft-is-fi...)

The more I think of it, the more Facebook becomes the equivalent of an operating system for the average user. You can send/receive messages, do image editing, surf the web, but you have no choice of which software to use to do these tasks Once you're in FB ecosystem you're forced to use their array of services.

I see the same pattern happening again. I wonder if people will rise to the occasion and put a halt to this, just like it was done to Microsoft a decade (or so) ago.

I'd love to hear your thoughts?

On a different note: Apple app store has strict guidelines on any app that is trying to recreate an "app store" or OS system in their store and would reject/remove such an app. FB might be playing with fire here?
iOS also provides a way to have similar UX using Safari View Controller. https://developer.apple.com/videos/play/wwdc2015/504/
cookies have one advantage over localStorage and custom headers though: They can be set by the server in a way that client-side JS code doesn't get to see or change them.

This makes abusing XSS vulnerabilities to get to the token slightly harder.
I love watches in the same way I love classic British sports cars.

I love the designs and the decisions behind them, the stories of the designers and manufacturers, reading about how to dismantle and maintain them. If someone has an interesting one I am asking them all about it, appreciating it as a mechanical object and as an aesthetic piece. I would never ever own one - there's too many things in pieces in my house and garage already.
Reasoning is one of the most powerful tools we have.

I'm a code starer. But I have my limits. If I can't reason about some piece of code and it meets the following criteria:

1. it's sufficiently complex; and

2. I need to understand it so that

3. I can extend it

Then I usually write an interface to it that I can reason about. That interface should add type information and will be peppered with assertions about invariants I expect to hold. As I understand more about the underlying code I add more assertions. If it's a dynamic language I will write many tests against the interface. And I just program against the interface instead of trying to dissect the beast and programming-by-hypothesizing.

For projects where being correct is even more critical or bugs are more costly I'll even reach for higher-level tools like TLA+, Event-B, etc. It's amazing what these tools can do and I wish I'd known about them earlier in my career.
Ignorance != dishonesty
Death of docker?
> And on the right, its the press who is distorting facts for their own narrative.

> The press being discredited is justified.

Its not simple being discredited, its being regarded as unnecessary. Sure you can discredit the press they're not perfect. But you cannot attempt to discard them or regard any criticism as fake.

> And there is no problem with this. Imagine if all the MSM press was like Fox News? What would you say then? Your argument would flip around 180 degrees and you would be fine with news being discredited.

Excuse me? Do you have a point here? Sure if all the food I ever ate started smelling bad, I would say all food in the world smells bad. What is your point?

> The press are just people. Look at how hard it is to have a debate with a liberal these days - do you think newsrooms would enjoy having Trump supporters as co-workers. Nope. They like having people around them with the same opinions, so we get the liberal MSM echo-chamber.

Bullshit. The reason they have Trump supporters is because a lot of American people are Trump supporters. And their willingness to work with people with different beliefs shows that they are willing to debate with them. You are contradicting yourself.

All of this is, again, besides the point that the current WH is authoritarian.
Capturing any communication is a criminal offense in Germany unless you were explicitly allowed to or it was intended as a broadcast. This is a constitutionally guaranteed right of the people communicating. There is no blacklist. Police, ATC, and similar are not even mentioned in the laws that are used to prosecute those cases.

As far as I know there have been investigations into the Google wifi case but I have never heard of anything coming out of it.

The law in its current form is pretty new, it even was clarified just a few months ago to specifically mention non-acoustic communication.
The article was written in 1996, WordStar was still being developed and updated until 1999. I knew a bunch of people who were fond of using WordStar in the 1990s so I don't think it's particularly unusual.
Ask HN: Dumb Machine Learning question – how to get insights, not predictions?
I've been trying to dig into ML and figure out the answer to this question, but so far I'm repeatedly and enthusiastically hitting brick walls. So I thought I'd ask the assembled brains here.

Say I have a large corpus of data on, say, esport teams' makeup and performance, along with whether they won or not. (Or alternatively, visitors to a website and whether or not they converted, or whatever.)

I've got about 10-20 different fields describing each team - what heroes they picked, what they did in the game, etc - and then a binary win/loss.

I know how to train an ML model to predict whether a team will win based on that data.

But how do I use an ML model to extract insights about what makes a team more likely to win? Stuff like "if 3 people picked these 3 heroes and then 1 person went to this location on the map, there's a 75% chance that the team wins"?

I can find data visualisers allowing humans to pick through data and look for trends, but I can't find a way to get a machine to do it. And I'm sure I'm missing something really obvious here.

So - is this doable with ML techniques, and if so, how would you do it?
Anonymous social apps fail because anonymity removes meaning, enables meanness
In principle ideas are 'cheap' and execution is everything. By publishing the MVP to github, are you simply enabling competition?
Similarly, OSE (Open Source Ecology) have an open-source house project:

https://www.kickstarter.com/projects/622508883/open-building...

http://opensourceecology.org/wiki/Main_Page
Ask HN: Do you use your name or a handle online for development?
Ignoring the situations where you intentionally want to remain anonymous, do you use your name (or some derivative) or a handle for online interaction in the dev communities? I'm talking about things such as Github, where you want the work to be attributed to you and might show an employer or share among other developers.

And regardless of which option you pick, do you think it is unprofessional to use anything other than your name? Or do we get a pass because we have stereotyped the development community differently than the business community?

Finally, do you have any thoughts or opinions on the "branding" (I hate that term, ftr) of developers and our community as a whole? I'd be interested to see what those non-devs who read HN think of all this.
Our Thoughts and Experiences After One Year of Using Go
Giving feelings to artificial beings could backfire, study suggests
Ask HN: Is Compliance at odds with Continuous Delivery?
Every DevOps/SRE/microservice article or book I've read makes the assumption that CI/CD and developer-driven deployments is the way to to go. My SaaS startup is preparing for a SOC2 audit, and a more Waterfall-minded manager is insisting (after going through two SOC2 audits at previous organizations) that production deployments for our core product must:

* every corresponding task must be in the "closed" state in JIRA

* be signed-off by the manager

* only DevOps engineers should be able to hit "deploy"

* deployments are only every 2 weeks.

How can this be the case, since we have proper controls like

* Pull Requests must pass tests to be merged

* Code review is performed with references to JIRA tickets on every commit/branch

* QA is performed in a staging environment

* Deployments/Rollbacks are automated and logged.

In short, shouldn't developers (or at least senior developers) be able to push deployment updates on their own?
Alexa, search for airplane propeller.
I deleted my social media apps because they were turning me into an idiot
> Up-front capital costs are the vast majority of the total.

How does de-construction cost and transport/storage cost for nuclear waste (including the remains of decommissioned plants) fare? I can't believe it's negligible.
I thought that too, but the metadata has:

<meta property="article:published_time" content="2017-01-24T13:19:34-06:00"/>

Maybe they made the audio form of the story?
I'm guessing this serves as marketing for their consultancy business? If it is, it's a pretty fun way to go about it.
What is the issue with S/MIME for secure email? It has broad client support (assuming you don't use web based clients). It is a pain to setup for end users, but that could be solved if we started to see increasing adoption.

Yes, it still leaks metadata, but it is a start isn't it?
Technology Industry News and Trends, February 2017
Continuous Versioning Strategy for Internal APIs
How to Start a WordPress Blog
That's because they fall apart in a few months (at least the two I got did).
Not to worry: https://archive.org/search.php?query=subject%3A%22UC+Berkele...

Some folks organized and grabbed it all. Even the manual-download iTunesU stuff. Should be available in the near future.
Their suggestion to use secret_box is dangerous. It neglects to mention you still need to MAC the content, lest you leave open malleability attacks.
“Eurocentric modernist” thinking is exploding
JWT is a subset of signed tokens, but using home baked signed token is still great.
Bummer. We (easyDNS) were pursuing the idea of acquiring Zerigo, I guess that isn't going to happen now....

https://www.easydns.com/blog/2017/03/14/our-efforts-to-acqui...
There should be a room for disruption. Start working right after school, continue education at own paste at MOOC. Get company to allocate 10% time to studying.

Technology (streaming) enables everyone to have MIT grade education for free (theory part). Exams could be paid. The only labour intensive part of education is the practical part. This could be paid or community based co-study.
You can say same thing about anything you dislike or don't know e.g "_ is probably worst" and I would suggest some words e.g democracy , West, Christianity.
If you don't want competition then you have to pay for the execution
One can avoid any browser problems by accessing Facebook using another browser.

The only functionality that appears to be missing is Messenger, which, paradoxically, still works on the desktop-served web page.
Ask HN: Example of a 'non-scalar' programming language?
Greetings! I recently watched a talk by Sophie Wilson (of ARM fame) where she discusses the future of microprocessors. In the talk she mentions that "Scalar" programming languages are limited because the compiler cannot easily translate them into parallel machine instructions [1] among other reasons.

My first reaction was to see if I can find an example of a "non-scalar" programming language. Wikipedia has a page for the paradigm of Array Programming [2] but I'm not sure If that is what Wilson was implying. (The wiki page mentions languages like APL, which was featured recently through arcfide's parallel compiler work [3].)

My intention is to learn more about programming languages that actually fit modern CPU machine architectures. I was beginning to believe that C's machine-model was still relevant for CPU cache dynamics, but now with what Wilson says about it being limited by its "Scalar-ness" I'm beginning to doubt it again. (Maybe someone could convince me that OpenMP or OpenCL extends C's parallel potential, but what I'm really after is something that was conceived from the ground up to work beautifully atop modern CPU's or at least within a Heterogeneous System Architecture (HSA) .)

Many Thanks and Regards!

[1] https://youtu.be/_9mzmvhwMqw?t=27m

[2] https://en.wikipedia.org/wiki/Array_programming

[3] https://news.ycombinator.com/item?id=13797797
Reading code is more like figuring out all the plumbing of a large building.
So I've heard. I've been meaning to install TweetBot for ages, just haven't gotten around to it (and Twitter.ipa is the app in which I most often do the long press to open links).
Development of a Developer
This also explains why dynamic languages can be easier to work with especially for less-than-expert programmers.

You can start experimenting with the program at runtime while the program still is very incorrect. The type checker would require that the program at least makes sense from a typing perspective.