skysight-inc/HackerNews huggingface dataset:
OK, I see where I was wrong now. You are right to emphasize the word "term" because that's precisely the detail I was missing. I can no longer come up with a contradiction.

The next obvious step is getting an answer to "what is the meaning of saying Go doesn't have subtyping?", which is essentially what you asked above:

> What distinction between coercion and subtyping are you making?

But this is a question for pcwalton, not you. :-) However, I have some thoughts on the matter.

While exploring the extent of my wrongness, I found it very interesting that the Go language spec doesn't mention the words "subtype" or "polymorphism" or "structural" at all. The FAQ mentions "subtype" and "covariance," but doesn't lead to anything conclusive. What I think this means is that the language designers of Go probably don't think of interfaces as being tied to the formal notion of subtype, but rather that of assignability or coercions. This just takes us in a circle though, which leads me to guess that this is a simple matter of two groups of people having different names for the same thing.
+1, I use nm-applet with Awesome, works great.
That's fair, but something like Medicare Part D was essentially inevitable. Even if you think a better-structured program could provide more value / $, you're still talking thousands per senior per year for those drugs.
Original paper: http://www.stat.columbia.edu/~gelman/research/published/hans...
111 New Street Photography Discoveries
Throw it on github then, I'd be interested in something that simple.
We detached this subthread from https://news.ycombinator.com/item?id=13256198 and marked it off-topic.
But mostly, it annoys people who actually purchased the disc!
It does make them easy to spot, though.
Several of the features you've described are present in mobile operating systems, like Android and iOS. For example, "the application can never touch os filesystem or know about other apps but themself and what the user allows" and "requests for hardware trigger permission dialog". Android and iOS both have this model. Most of what you've described can be implemented in the application layer, and don't require writing a new kernel, and the few others could be implemented with small patches to existing well-established kernels like Linux or FreeBSD. We've already got the infrastructure for the container-related features you've described, so implementing what you want is a matter of creating an system-level policy that allows applications to only run in containers and enforces the other restrictions you've described.
Okay, Google, you officially beat Siri
> One of the small bumps I had was getting my environment setup. Based on my experiences with Ruby and Node, I knew I'd want to have a tool for managing the language's version and dependencies per-project, so I ended up going with stack [0]. Arriving at that decision required a bit more reading than with other languages.

I don't really write much haskell - but last I checked, the "howistart.org"-article seemed reasonable:

http://howistart.org/posts/haskell/1

I think it's actually harder to figure out how one (should) start with python an venvs than it is to "find" a reasonable approach for haskell.
Ask HN: Ways to secure a mobile app's API back end?
Hi there,

I am implementing an API backend for a mobile app and I want to know how can I secure it. Users won't have usernames and passwords, they will signup on the mobile app using Facebook/Twitter.

Is passing OAuth tokens with the request to the API considered secure? What happens when an OAuth token gets stolen or spoofed from the network?

Thanks for taking the time to answer.
It is not completely arbitrary though. Usually 1.0 for proprietary software means "the first version shipped to customers", while for open source, the very first commit is 0.0, and then it goes from there. Since it is public from the start there is no 1.0 moment. Sometimes, especially for programming languages, the 1.0 version is used to signal that from no on there will be no arbitrary change to syntax or semantics after that, so that it can be relied on.

Traditionally, version numbering has been used to signal the significance of the release. for version x.y.z, you could expect that

* x is incremented: Major new features, possibly incompatibilities
* y incremented but not x: Minor new features and bug fixes.
* z changed only: Bug fixes only.

This was generally observed in both proprietary and open source software alike, and is still used in many projects. Recently many projects has abandoned this pattern, including Chrome and Firefox, the Linux kernel and others.

Of cause there has always been a pressure from the marketing departments to have a new major release, while the engineers has been holding back, so you have always seen major releases that isn't that major, and sometimes incompatible changes sneaked into minor releases. The latter has generally been considered bad form.
As both Russia and the United States advance towards totalitarianism, more and more laws are passed governing every aspect of human existence. Even incorrect thoughts will eventually be considered criminal acts against the state.
> they have developed supply chains that have been left to rot elsewhere, but those can be ressurected relatively quickly if the need arises

how long would it take to recreate a complete electronics manufacturing supply chain outside of China?

perhaps more interesting, how long would it take for one single country to develop the electronics manufacturing supply chain which China currently has?
Why Very Smart People Are Happiest Alone
Haskell does force an organization into your code¹. If you try to write it in a way that the language does not "like", you will suffer. The logic you want to speak is probably not suitable for expression in Haskell, but there is very probably an equivalent logic that is suitable.

Haskell forces you into specializing your code into pure and impure parts. You can go deep on any of those, and use one to interpret the other, but mixing them is bad.

1 - One of the many, many features that I do consider misfeatures on other languages, but in Haskell it interacts well with the rest of the language and becomes empowering.
Dressed what for?
Crytek to receive $500M investment from the Turkey Government
I'm on android, no ad blocker. The gallery was unusable for me because the photographs appeared in a modal that had a banner ad in the top, kicking the description off-screen after reflow, with no way to scroll. Had to switch to desktop view and zoom in on the photographs individually.

If you don't want people to use ad blockers, try taking UX seriously. Ads on sites like these are notoriously abusive to the users. I have no sympathies for their complaints about people blocking this crap.
If I understand, only implementations using "sendmail" (ie. not mail() or SMTP) are affected.
The more lightweight OSes, the better as far as I'm concerned. I've tried all the usual suspects over the years and each has pros and cons. I'm sure this fits the use case for some people out there that others don't.
fyi, the site does not load with 'www'. You may want to fix the A record and CNAME settings.
I know Nokogiri is a (huge) dependency, in my case I’m using it in a Rails app, and Nokogiri is already there ‍️ but would be nice to use plain http requests instead I might do it next
If you stuff the cash in a mattress and sit around for 20 years. But if you do that, inflation isn't your biggest risk.
GPS anti-jamming developer kit
You're right that the discussion is leaning to the fictional side, but to be fair, the article falls into this trap as well. I don't think it's disregard, I think it's practicality…

The fact is the movie is the only shared-context for discussion that's been offered. Everyone works somewhere different, but everyone (apparently!) has seen the movie, so that't the 'moral arena' being discussed.

If you reply to the comments that you find disconcerting in this way, and try to tease the conversation onto a real world example that you offer, I think you'll see the real discussion start.
At first i thought this is intended as a joke. But then they seem to be serious.
What Happened to the Refugees Living in the Jungle?
2016 was the year solar panels finally became cheaper than fossil fuel
Yes, please. Let's hear the story. Who invented Edison's film projector?
Only tangentially related, but this article reminded me of Edward Kmett's presentation from YOW! 2014:

https://yow.eventer.com/yow-2014-1222/stop-treading-water-le... (~40min)

(slides: http://yowconference.com.au/slides/yow2014/Kmett-StopTreadin...)

One of the topics he touched upon is Richard Feynman's approach to "being a genius":

You have to keep a dozen of your favorite problems
constantly present in your mind, although by and large
they will lay in a dormant state. Every time you hear or
read a new trick or a new result, test it against each of
your twelve problems to see whether it helps. Every once
in a while there will be a hit, and people will say,
“How did he do it? He must be a genius!”
Neat thanks! I will check it out. It's really the context switching itself that's the trickiest part, I think. Or all of it. To me, it feels exactly like when I was learning about interrupts: while I was doing it, it was so tough... but as soon as I got something working, it made perfect sense and I wondered why I found it so hard in the first place.
In Star wars there's a very clear sense of good and evil. The bad guys seem to be aware that they are bad guys.

Most engineers, most soldiers, and even most terrorists genuinely believe that they are the good guys. And that makes discussions of ethics a lot more difficult.

And to the best of my knowledge, we don't really have guidelines the way doctors do. Is it okay to write code that tracks users even when your app is closed? Is it okay to build missile guidance systems? Bombs? Ad + tracking networks that tell companies 90% of your browsing habits without your permission?
What are you even talking about? Humans have always looked to fiction to derive morality. The ancient Greek Mythologies, the Bible, the Torah, the Koran . . . literally everything that most people value as presenting foundation for ethics and morality is completely fictional.

And even if you take one or more of those documents to be literally true and a source of historical fact, even Jesus used parables--fiction--to explain moral principles.

This is really one of the strangest appeals to logic I've ever encountered.
"totally choked off from growth" among iPhone users--other smartphones exist.
Drug Abuse Is a Matter of Public Health Not Criminal Law
Good points. I also think we really should not label software "open source" unless it is really open source.

But good to see that at least the project has the intention of becoming open source.
>"Qualcomm"

I think you're thinking of Broadcom.
I guess the author is unfamiliar with Epcot.
How insulting. You must be a clean energy hater and all, too, right??
Yes! This FPTP game is the kernel of many frustrating struggles. It weeds out cooperative leadership, effectively dividing and conquering our government.

Imagine a community meeting where decision-makers were chosen in a game of Monopoly. Anyone who lost the Monopoly game didn't get to make any decisions. The winners, by virtue of their excellent Monopoly skills/luck, got the power to make decisions.

Not only would this process be entirely unfair, it would poison peoples' desire to participate in the first place. Monopoly is a nasty game, as is FPTP. Neither of these have any business being arbiters of power.
Lubuntu is worth mentioning as something that has been breathing life into old PCs while being noobie-friendly and with the access to current ubuntu software repos.
Is there something available for Raspberry?
Living vs. Creating
Very nice work! Can you receive WWVB via a larger, resonant loop antenna; say a 10 cm diameter solenoid and resonating capacitor? If so, you may be able to place the watch at the center of the resonator (i.e. within the solenoid) so it parasitically couples.

The antenna gain will be proportional to area, so much more gain than that of a watch antenna.
> There is no planned path

Yes, there is a planned alignment for the entire system (and not just the LA to SF "Phase I" for which most of the cost estimates and timelines usually discussed apply, but also the Sacramento to San Diego "Phase 2".)

> just patches

No, even if you are referring to the context of the initial construction, that's not true; it's directed with a clear plan of a specific segment for initial operations between Silicon valley and the Central Valley.

> and the project is going to be scaled back to an absurd degree

Pure speculation; it's true that there is uncertainty, largely political in nature, about funding for the portion beyond the part that is supposed to be operational in 2025. But there's also plenty of time to resolve that.

> The project start, Prop 1A, was for almost 10 billion in 10 years

It was a $10 billion conditional bond authorization (one of the funding challenges has been meeting the conditions in that bond authorization) which was very explicitly not expected to cover full construction cost of the system (nor was there ever a 10 year timeline.)
I use i3 wm and I like it a lot, don't ever want to go back to a non-tiling WM. But I do understand complaints about the hassle of configuring wifi, power options, and other stuff, e.g., sound, display brightness. All of this is done automically by desktop environments; none of it is done by a mere window manager.

I wonder whether Awesome is similar to i3 in this regard.
On the i3 help forum a good number of questions are about configuring these things. Many people respond that these aren't part of a window manager, which is of course correct. Nevertheless, it seems to me that these WM projects harm their own popularity by not having clear and easily findable instructions on how to do these configurations in the most popular linux distributions. Newcomers to i3 (or, I assume, Awesome) can find the configuration info on their own, of course, but you have to dig for it. It seems to me this is the only downside of adopting a tiling WM, the need to have some expertise and willingness to poke around and learn how to configure the necessary "desktop environment" options.
Changes: https://awesomewm.org/apidoc/documentation/89-NEWS.md.html
One resource I found myself consulting over and over again was the Intel Architecture Software Development manuals (https://software.intel.com/en-us/articles/intel-sdm). They're huge and obviously a bit dry, but they had about 90% of what I needed to know about x86 memory architecture and interrupts.

I included some other resources I consulted in the README. The OSDev wiki (http://wiki.osdev.org/Main_Page) is also good, although I found some of it to be dated or incorrect.

Good luck on developing your OS. Even though I'm not finished, it's been an extraordinarily valuable and educational process.
HeyWhatsThat
Katsuhiro Otomo on prescoring
It was also nuts in (EP VI I think) when the Super Star Destroyer crashes into the Death Star and nothing really happens to the Death Star.
I have 2 of these, excellent battery life:

AquaAudio Cubo - Portable Waterproof Bluetooth Speaker with Suction Cup for Showers, Car, etc. - Pairs with All Bluetooth Devices + Siri Compatible - 10 hours Playtime/ Built-in Mic (Silver) https://www.amazon.com/dp/B01G7KJV2Y/ref=cm_sw_r_cp_api_.Nuy...
To cut to the chase and save reading though all the unnecessary speculation, this is the relevant part of this article...

>"The 704 family (704, 709, 7090) had "Address" and "Decrement" fields that were 15 bits long in some of the looping instructions. There were also special load and store instructions that moved these 15-bit addresses between memory and the index regiseters ( 3 on the 704, 7 on the others )

We had devised a representation for list structure that took advantage of these instructions.

Because of an unfortunate temporary lapse of inspiration, we couldn't think of any other names for the 2 pointers in a list node than "address" and "decrement", so we called the functions CAR for "Contents of Address of Register" and CDR for "Contents of Decrement of Register".

After several months and giving a few classes in LISP, we realized that "first" and "rest" were better names, and we (John McCarthy, I and some of the rest of the AI Project) tried to get people to use them instead.

Alas, it was too late! We couldn't make it stick at all. So we have CAR and CDR."
Thanks, we've updated the link from http://feederio.com/book/37/the-little-book-about-os-develop....
NEM is free if you are an IEEE member, but I always buy some stuff from their gift shop for the kids. Some of the items are in the travelling exhibit to IEEE IMS conference.
IncrediBuild
As she is a service provider, does she have to provide a GCHQ backdoor into her own internet?
Classic Game Worms (Team 17) Ported to Atari Falcon
Here isn't Nokia anymore. They sold it to Audi, BMW and Daimler in 2015.
Presuming "frozen PC" means "unresponsive and must be forcibly rebooted, there would be no retrying with the program without restarting.

What with Windows Update and the variety of other similar OS- and application-level auto-updaters, is getting the computer into a very similar state likely? I'm not sure but my gut says no.

That said, at first I was imagining a desktop computer with 4 or 8 memory modules, but given a machine with just 2 modules, maybe it follows that one module usually gets filled with "core stuff" and the second, defective module somewhat infrequently sees "big user stuff" after the first module is filled, and I guess that isn't too much of a head-scratcher when it comes to identifying the source of the problem.
You're describing the generic public education experience.
If you think that awesome wm is bloated, try dwm on which awesome wm was historically based. The key bindings look the same.
After I've noticed that I haven't used 90% of awesome wm functionality, I moved to a dwm which is basically 2k lines of readable C code in a single file and never looked back - it's so easy to configure it to do exactly what you need.
Then there was Java, where 1.5 meant 5.0. And Win 7, which is 6.1 internally.

(When engineering and marketing aren't on the same page?)
Hyperpolyglot
Everytime there is a paradigm shift there is always that voice: If you don't understand the paint at a chemical compound level you can't make a beautiful painting. Wait what?
I believe what he meant was that this would be against the TOS of many providers. You are essentially buying a service plan for one location and distributing it. While I would agree that "if I am buying 100mbps than I should be able to use it how I wish" unfortunately just isn't the case and not how u.s telecom works. With that assumption, a city could technically buy 10 packages and distribute free wifi internet to an entire city on the cheap.
From what I understand Siri isn't always-on. In the sense that you have to switch it on. This seems to be listening all the time.

Another comment mentioned that they use some Google speech recognition component, which probably means all of your conversations are delivered to Google. That's a big red flag for me.
The Pi was something people could actually buy cheaply.
HandBrake offers a really nice GUI for many one-off transcoding tasks. If you're looking to automate transcoding tasks with some scripting, handbrake-cli (or ffmpeg directly) are very powerful, albeit overwhelming at times.

For something in the middle - offering both convenience and scriptability - I recommend video_transcoding[1] (uses handbrake-cli and ffmpeg under the covers). It's a really handy set of command-line tools that eliminate a lot of the guesswork and frustration.

[1] https://github.com/donmelton/video_transcoding
Really is it so difficult to ignore one parameter for people reading that one liner?
I could have used the underscore but honestly when I'm writing from the phone I don't usually care for small things that don't change absolutely nothing.
At least my code doesn't have the bug that skips TWO lines after the a, like the original code, and it actually saves the parsed lines in a new collection rather than throwing them away and doing nothing at all apart from burning cpu.
But for some strange reason you still prefer that obscure bug-ridden and useless imperative code rather than the self explaining and declarative functional version.
Enjoy your imperative bugs :)
I agree and I don't think it's a conspiracy any more than I would any other powerful lobbying group. Autonomous vehicles, in my opinion, have the potential, if not high probability to make things worse. Instead of increasing population density in areas like the Great Lakes region, it'll make it easier to commute and build expensive, no poor people allowed, suburban enclaves filled with chain restaurants and a replica of an uptown or downtown where people can pretend they live in a city.

Even when State or local governments have funds available, they opt not to build out other options. I think the USDOT offered many billions to states like Ohio to build out rail connections, but they didn't want the funds. To add to that, the states and local governments know about things like induced demand, but they just keep building out these giant highways any way. They could have taken the funds and poured it into public transportation. There isn't much politics cost to it. Traffic is always bad, and people are going to be angry before, during and even after construction because it never solves the traffic problem.

It makes me so sad and drives me crazy that we're doing this to ourselves.
Air travel is pretty bad for the environment too
I remember those being used back in the late 90s - when point-to-point radio links were prohibitively expensive and/or too noisy. Is this still worthwhile, other than as a quirky historical device?
I think PIXEL is based on LXDE.
"This sounds like a case of the house builder being out of his depth"

Out of his depth in legal knowledge. At some point people decided everybody must study Law to even step outside of home. Things didn't use to be this way, how exactly did it change? And, well, it is certainly a bad thing today, but do we want to revert as it was at some time on the past, or reform in some unprecedented way?

And yes, it's kinda crazy. I am entitled into stamping a house around here, even though I have no idea how to decide if a construction is safe or not. Yet, I do know people with perfectly good history of creating good construction that isn't.
Yes, but it stops easy copying. Don't let good be the enemy of perfect.
That added call to escapeshellarg sanitizes the "From" address before passing it to PHP's mail() function as an additional parameter. That function will invoke a preconfigured executable (sendmail or a compatible wrapper) and pass that parameter to it along with the rest of the email data. It is worth noting that:

1) PHPMailer can be configured to send mail through raw SMTP, by directly invoking sendmail, or by calling PHP's mail() function. The changes in this commit only affect the last mode.

2) The "From" address is typically chosen by the site operator/server administrator, not customizable by a site visitor. I have built sites with "share this page with a friend" functionality that sent email from one given email address to another, but this practice seems to have fallen out of favour when SPF became popular.
I'm surprised they ship with chromium, I have had a much better experience with firefox than Chrome on my low end laptop.

Does chromium have a smaller memory footprint than Chrome?
Being written in Rust is not its main feature (and I think you're being down-voted because people don't like fanboys).

This project is cool because it has a really low overhead, which is really cool if you want to parallelize tasks that are not really CPU intensive (but mostly useless if the CPU usage of each task is high).
Couldn't they update the extension with malicious code at a later point without you noticing?