skysight-inc/HackerNews huggingface dataset:
There are of course completely useless UI but for most of the UI we are talking about here it really just is a matter of learning it and most of the times making something easy to learn might mean that it's not as powerful to use. I.e. there are no right solution just a bunch of solutions each with their various drawbacks and advantages.

That may be true to an extent, but UIs could offer a lot more support to beginners trying to find their way around than many of the current generation of mobile UIs do. I agree there is always a balancing act, but at the moment we seem to be getting the worse end on all of the scales at once, with limited functionality, limited discoverability, and limited aesthetics. And the really sad part is that this has been a step backwards from the state of the art just a few years ago, when the typical mobile UI was both more attractive and easier to use than the flat junk that Apple, Google and Microsoft seem to be obsessed with today.
If your Puppet runs take three hours and range into the thousands of lines, that's a disastrously poorly built Puppet environment. Blame your people, not your tools.

(And I say this as no fan of Puppet; I'm a Chef user. Where I've never seen anything remotely that deranged, even in dysfunctional environments.)
The main differentiating factor is that this phone has a slide-out keyboard in portrait orientation. That's not for everyone, but it is something I miss greatly and could see myself picking based on. The review points out that an on-screen keyboard is bigger, but that's not really the point - with an onscreen keyboard you can't learn to type by feel, you always have to look at it. (On the other hand, the sliding/Swype style for onscreen keyboards is pretty nice, and definitely narrows the gap between physical thumb keyboards and onscreen ones.)
So, thunks should avoid multiple evaluation, too, and handle exceptions in a way that is relatively coherent. I like:

function thunk(f) {
var evaluated = false;
var value = undefined;
var excepting = undefined;
return { force: function () {
if (!evaluated) {
evaluated = true;
try { value = f(); } catch (e) { excepting = e; }
}
if (excepting) throw excepting;
return value;
}}
}
Interestingly enough, the technique was used pretty heavily in a web-based BI software product that I wrote back in 1999. The UI was designed to be responsive and interactive, and I had to 'invent' a lot of the AJAX-type features and techniques that were later well-known. The problem was that most software back then (including this product) were 'enterprise software', limiting diffusion of ideas.
I've always wanted Google to provide a BlackHole option on all their products.
Every person, organization, subject on my black hole list would never appear in any search results, or News articles...
I would BlackHole the Kardashians, Chris Brown and many others.
Amusing Interview with Bryan Cantrill (regarding his background and he also shares some stories) https://www.youtube.com/watch?v=l6XQUciI-Sc#t=06m06s

Also very informative (about what happened at Sun in the 90s, dtrace, ...)

Quite a funny and smart guy ;)
The more interesting result is that cold temperatures apparently are very beneficial!

It should be interesting to try to replicate this to humans.
Ah, I thought you were referring to setjmp with this:

> Some other image libraries are hard because they force you to write many code-paths to handle various different cases, but libpng provides many different helpers that make it pretty simple.

It seemed that you were thinking of error code handling as a "code-path" and setjmp/longjmp being a mechanism to reduce code paths.

Anyway, it sounds like we're in agreement. It's not that big of a deal to use libpng directly, and "worst API ever" is too strong. The author has probably not done enough Windows API programming to find the worst API ever :-).
And here I thought it would be about whether ZSNES or SNES9X was better at emulating Donkey Kong Country.
I recently watched Guy Steele's "Growing a Language" talk. It's very much related to jmoiron's post here, and is worth a watch despite its age:

https://www.youtube.com/watch?v=_ahvzDzKdB0

Steele's commentary on "Worse is Better" seems to me to be a better representation of the original essay than the one expressed here about Go. Steele says:

"The gist of ['Worse is Better'] is that the best way to get a language used by many persons is not to design and build 'The Right Thing,' because that will take too long. In a race, a small language with warts will beat a well designed language because users will not wait for the right thing; they will use the language that is quick and cheap, and put up with the warts. Once a small language fills a niche, it is hard to take its place."

In other words, the lesson of 'Worse is Better' is that getting a 'good enough' thing to market, and benefiting from the network effects of its widespread use, will always beat getting the 'the really good' thing to market in the same category, because the cost of delay is the loss of (community) network effects. The illustrative example here is UNIX and C, but it can be easily cross-applied to more recent projects.

From that vantage point, Go isn't a good example of 'Worse is Better'. It occupies the same niche as C, but was delivered nearly 4 decades later. It seems to be a "second edition of C" designed with very explicit goals of correcting specific deficiencies of C as a systems programming language, but without the scope creep that characterizes many "second systems".

Other languages -- like Python and Scala -- occupy completely different niches and have already achieved similar scale of network effects.

The rest of Guy Steele's talk is worth watching, because his high-level point is that the languages that win aren't the simpler ones, or the ones with the simplest/best design, but instead are the "growable" ones that get to market.

For example, from Steele's vantage point, the success of a programming ecosystem like Python's would be evaluated as follows: it isn't that it has the right level of simplicity/dynamism, or an appropriate programming paradigm. That Python made good decisions there helps, but they aren't the key ingredients. Instead, its success is that it shipped in 1991, evolved over time to keep up with programming trends, that it has an awesome 'import' statement, and that programmers feel they can 'grow' the language through libraries (e.g. Django for web development, Pandas for data analysis) without waiting on the slow core language or stdlib evolutionary process.
I can answer for CF. Service discovery, access control, monitoring, credentials and management are part of the core feature set -- because that's what distinguishes a platform from a single tool.

Version control properly lives outside the runtime environment, in my opinion; though these days CF has Gitlab integration points.
> I loathe the day where such apps isolate people from thought they do not like on a wholesale business. Can you imagine a world of safe spaces and such where you never have to be challenged?

The expression "safe place" doesn't mean what you think it means. I think it has more to do with imposing the absence of debate on others than one isolating oneself from challenging views. The latter is perfectly acceptable, not the former.

People pushing for "safe places" actually want the rest of us to stop debating , having "problematic", potentially "offensive" views, i.e. any view they don't agree with. They don't want a separate physical "safe space", they want the concept of "safe places" everywhere. So it is not about isolation but rather suppressing debate in any free,open or public place.

You know when one hears "safe place" one thinks "good, off course people want to feel safe" , but it's not really about physical safety or even respect, but rather a mental prison where any dissident opinion, even expressed respectfully, is banned because it doesn't fit one specific narrative.

I'm sure that expression was chosen on purpose, it's so misleading and I felt into that trap too , at first.
That's just what's common. General-purpose 4GL's are both very powerful and easier to read than most languages. Similar examples in LISP and REBOL communities. Power != lack of comprehension.
Explain yourself. A hypervisor is not a security layer, so what is your reasoning?
As someone who's spent some time doing pixel-perfect graphics work, I would have never considered a cordless mouse ten years ago. I'm not even sure they were bad ten years ago, but the ten years leading up to 2006 taught me to avoid them.
Why on earth isn't this common practice for any software that can be remotely controlled over the internet? Ie anything rendering parts of web pages, opening untrusted files, etc?

Everyone has known what a massive security risk unsafe languages are for a long time. Nearly every vulnerability is a buffer overflow. What's the value in persisting in writing such dangerous code? Just because it's 10% faster than a safer language? Hopefully the likes of Rust bring and end to this.

Perhaps there's a culture of C++ being the only proper language for libraries?
First thought: will they be using Guile, Chicken, or Racket?
I've been interested in brain training and nootropics for a very long time. The conclusion I've come to is intelligence is pretty much fixed, current psychopharmaceuticals are of very, very, very limited usefulness, and most of the differences in intelligence we see between people are caused by genetic factors not education or rearing. This was immensely disappointing for me - I'd literally give everything I own to be moved up a few standard deviations, but it does seem to be the case. I'll be the first in line for any effective enhancement, but we do not have them now. The most likely approaches for increasing the intelligence of humans are things like embryo selection and genetic engineering of embryos - biotechnology can only do so much after your brain is done growing.

Iterated embryo selection looks like it will lead to humans smarter than any human who has ever lived - perhaps they will be clever enough to figure out how to upgrade an old fogey like me. As an aside, I'm not sure people understand how ridiculously cheap iterated embryo selection will be provided some very conservative advances in biotech, ethical mores will be unlikely to suppress it - even if international treaties are put in place.
I have a MBP from 2008 with the original t-shaped magsafe power cord, and its still in perfect working order. Maybe you're harder on you're harder on your power cables than you're giving yourself credit for.
There is a stable/quarterly ports tree now and it's the default package set. It's not so caustic anymore.
I'd guess they removed it because it was so inaccurate due to people changing their use habit. If I'm just browsing the web my laptop might last for 7 hours, but as soon as I fire up some youtube it drops dramatically.
There's now an idea that that robustness principle was backwards. The classic example being web browsers which were so liberal they encouraged all sorts of weird non-standard web pages which now have to be supported forever.

If a PNG app trusts the spec, and the library doesn't comply, and that causes the app to crash. That's a good thing overall. It would lead to somebody discovering the problem and hopefully fixing it. It's only a bad thing for the specific app that crashes. Or in this case, risks getting exploited. Maybe for security, the principle doesn't apply the same way.
How to Unlock the True Power of Salesforce Using Trailhead
Why do you feel this way? Security?

If I can get a shell on your server I will just download my own compiler.
Belgium’s home affairs minister says ISIL communicates using Playstation 4
The Neuroscience of Despair (2014)
I think Go was google's alternative to buying Java, and/or Sun. As such, and given the recent concerns about Oracle's investments in the jvm (they laid off some java evangelists, and it's not at all clear to me why Oracle will be willing to fund jvm development), I think Go is going to be with us a very long time.
Show HN: Hikket – Real-time index of localized, eclectic data for NYC
This is what I have never understood about Bitcoin and its advocates (who I guess are just fanboys or early adopters holding bitcoins). I mean it's just like shares. Also, it's very skewed. Whoever got in first has got a lot of it with your chance of getting it at later stages not equal, actually extremely unlikely. And no sir, no, it's not the same case with "money" as we use it today. Bitcoin is broken in this sense if we talk of it from a traditional mean of currency point of view. It's just a glorified fad for geeks, fans, and early adopters.
So you have no problem trying to exclude people based on their opinion as long as it is one you don't agree with? That seem quite hypocritical. Similar to how those who supposedly value diversity of opinion have no problem trying to dismiss other peoples opinions by calling them "crybullies".
Can you elaborate? This isn't necessarily true.
Docker is not the same thing as FreeBSD jails. Docker is available on FreeBSD (as of June this year) and uses jails.
And maybe $50M was a pretty fucking nice luiqidation event in 1998 and Yahoo had a brand and user footprint very much larger than what Viaweb could have reasonable been expected to capture on their own.
Go on Android
http://talks.golang.org/2014/gothamgo-android.slide#1
The primary problem with this approach is "suffering accountability". When 85,000 people die of car accidents, there's typically no singular group or individual to blame for all the accidents, in total.

With a terrorist act, there is a singular group or individual who is responsible for the suffering of multiple individuals, plus all the suffering of those who view the news around the attack and become fearful as a result.

If we collectively perceive this group or individual could have reasonably been stopped, might we be likely tend to underestimate the costs of stopping them completely? When we underestimate the costs of "perfect" crime prevention, perhaps our expectations in those who need to stop crimes goes up.

And maybe, just maybe, when law enforcement has high expectations placed on them, and their budget is limited, they might be more susceptible to fall into cognitive dissonance - literally believing they must stop all crime on a tight budget.

I'd say, if these assumptions are true, mass surveillance becomes an option at that point.
Static linking may be bad for security but good for saving hours of frustration. It's a trade-off and it's not clear that security is automatically the most important thing always.

Just look at any forum about some open source software. There'll usually be endless posts from people complaining that they can't compile it because of some weird dependency errors. These are really widespread and time-wasting problems.
check out "rightzoom" to give you a kb shortcut for maximize.

Also, I agree with you that finder is dumb.
OP here, as a father of two (soon to be three) I'm all for the genetic screenings with the informed consent, it's what happens (or doesn't) afterward that worries me. The fact that the state claims ownership of this and sells the data out to whoever is what worries me. There should be a clear opt-in to allow them to preserve it with the default being the general statistics get record and the sample winds up in a dumpster.
Bitcoin and its advocates (who I guess are just [...] early adopters holding bitcoins).

Exactly.
This is the fatal flaw of bitcoin, the distribution model.
Violations of the first part of the law are inevitable once the number of "implementors" of the standard is large, not least because that implies low average competence.

You can perhaps (but my confidence is low) avoid violating the first part of the law if you're a TCP stack implementor, say. There just aren't that many such implementations nowadays and they're generally done by people who know what they're doing. But applying Postel's law to something like programming language implementations, where the "implementors" who would need to obey the first part are all the people writing programs in the language, pretty much guarantees violations of that first part. For any given programming language anyone cares about in practice, the number of people who know the spec for it well enough to only write code that conforms to that spec, even on their first try, is _tiny_ compared to the number of people writing programs in the language.

At that point your only option is to accept that the first part is going to be violated, and badly. Only once you have internalized that understanding can you have a constructive conversation about whether you want to do the second part and to what extent. The answers here will vary, of course.
Seven states offer that data up for research, often with no informed parental consent; four charge a fee for it. There is no requirement to be informed and no assurance that the sample/data can be destroyed. Research without informed consent is not, and should never be allowed.

These samples are increasingly a huge amount of personal data; de-identified genetic data doesn’t exist.
Taking revenge in kind does not work, it only leads to a chain of people who feel entitled to snowball the problem, because when you respond, you're helping ruin the game for eight people because of one. People who cannot keep the peace when someone trolls are are part of the toxicity, as well as victims thereof.

The proper way to deal with it in LOL report and move on, not making the game worse for the eight people who had nothing to do with it.

There's nothing to "defend" yourself from: they're words, you're not being "attacked" that's ridiculous hyperbole.
Good analysis based on what I skimmed earlier.
This will be the last blackberry phone. They were crushed.
Made this open-source, ad-free OS X menubar world clock. Feedback appreciated. :)
Looks like you've been reading Bostrom. I was actually annoyed about the amount of time he spent on the whole notion of genetically engineering smarter humans. I think his intent was to rigorously prove that even if technology for some reason halted and all progress in machine learning ended along with moore's law we'd still reach super intelligence. From that standpoint I get it as a philosopher to create a bulletproof argument. But I think it's very unlikely that it will happen that way. It's already far more practical to teach Watson to read better than genetically engineer a new Einstein. Also I don't think there's an iq 200 set of genes, there's probably trade offs that would prevent this a brain has a given number of neurons and they operate at a slow speed so this is like trying to breed a better horse when cars are obviously on the horizon and will be followed by jets.
Was it not reborn as Delphi? It was always Pascal. But I do agree, a non-visual service lang is probably a thing.
In Mongo, `db.findOne({"username":"$_GET["name"], "password":$_GET["password"]})` won't open your database to the public.

While SQL is a powerful language, the article is right. Mongo query language is useful enough to easily give application developers a place to query and store data without giving them enough rope to hang themselves.
But those regexes are matched on every request, not just on the ones blocked. Over time that surely adds up.
How about Docker and other tools in the container space?

Go is a great systems language. The stdlib is through and handling IO and pipes is safe and fast.

Amazon is using as the mission critical ecs-agent that orchestrates their container service.

Perhaps containers will be forgotten too. But my guess is that we will be seeing some go binaries controlling very important parts of Linux and distributed systems in the far future.
Well seccomp() strict mode (only allows read, write, exit) has been available since linux-2.6.12 (2005). So no need to invent something new, or set up a bunch of cgroups and namespaces, to get processes that can only read stdin and write stdout and use some of their own memory.
Seems like FUD. 549 contributors according to GitHub. Open Source. Fork it. https://github.com/golang/go
When a problem arises, in some cases the samples from that individual can be pulled and tested. What generally happens is:

>Patients with identified issue come in. Blood spots pulled.

>Healthy individuals serving as controls sign-up. Blood spots pulled.

>Both sets are tested (double-blind, anonymized health status) and hopefully something is found.
Sorry for the delay, I've been AFK all day. My assertion (which it, for the most part is) is not based necessarily on body count (which is an important statistic, but not the totality of terrorist goals, which are to assert dominance and terrorize).

Consider the number of mass shootings that have occurred in the US this year (294 as of 10/1)[0]. Not all of them are acts of terror, but a surprising number could be considered as such. High-profile mass killings (like the Umpqua college one) are often carried out by young white men who wish to assert their dominance over a culture they feel doesn't respect them. As a rule, I'm probably better off being wary of young white men than young black or brown men (gets to the prior probability problem in GPs post).

Consider the broad response to the recent college student protests at Mizzou and across the country. I know of threedifferent arrests for making death threats on yikyak - these are also terrorist acts. They are acts carried out by people aiming to inspire terror in their victims. [1], [2]. While we're on that subject, take a look at what happens to anyone targeted by gamergate activists. I haven't compiled the statistics on death threats targeting people like Randi Lee Harper and Anita Sarkeesian, but I'm sure we can call that terrorism as well.

Consider attacks made against abortion clinics. I'll just leave the wikipedia article here. [3] Again: violence enacted with the intent to suppress behavior with which the perpetrators disagree. Terrorism.

Think about the astounding number of racial hate crimes committed in the US. Not all of them are specifically terrorist, but a large percentage of them are committed in order to suppress and terrorize a people. I mean, just google black church bombings, or for that matter look to our not-so-distant history of lynchings.

We do ourselves a disservice as a people if we only consider as terrorism the big-bomb, large-attack events. There's more to terrorism, and our homegrown terrorism which (speaking perhaps over-broadly here) grows out of sense of white, male, christian entitlement and superiority being perpetuated through violence is something to which we (as USians) often turn a blind eye. We should own our past and do better in the future.

0: https://www.washingtonpost.com/news/wonk/wp/2015/10/01/2015-...

1: http://www.michigansthumb.com/news/article_a8145fb0-8af3-11e...

2: http://www.themaneater.com/stories/2015/11/11/suspect-arrest...

3: https://en.wikipedia.org/wiki/Anti-abortion_violence
It's funny that embryo selection occurs when you freeze a collection and embryos and pick the ones that survive the thaw. Chinese scientists have done studies on this effect - the resulting children are considered to be extremely healthy, much more than normal.

It's one of those border cases that gets me all giddy. Whatcha gonna do, ethicists; stop storing the embryos completely or find a way to do it without freezing? Present the damaged ones? Etc.
A Point of View: Why it's time to turn the music off
I've been meaning to give atom a months worth of working with but am not sure if it's worth moving over to from emacs. I do like how simple its packaging system is. Any major complaints from users?
Some equate I.Q. to "mutational load", meaning that the correction of factors interfering with genetic health gets you to a point where your I.Q. is maxed, not really anything else.

I still agree there are tradeoffs but I also doubt that mutational load is ignorable as a major driver of I.Q.; the implication being that if by removing mutation you improve intelligence, the body must be able to support a large I.Q. in the first place.